From 6b6d9b29e9e9e91f79507a8bf193fb30de311dcc Mon Sep 17 00:00:00 2001 From: Maxim Mamontov Date: Wed, 20 Apr 2011 11:15:35 +0300 Subject: [PATCH] DocBook documentation stub added --- doc/help/Makefile | 5 + doc/help/book/images/inetaccess-main.png | Bin 0 -> 143120 bytes doc/help/book/images/sgconfig-main.png | Bin 0 -> 564755 bytes doc/help/ch1.xml | 4 + doc/help/ch10.xml | 5 + doc/help/ch11.xml | 4 + doc/help/ch12.xml | 4 + doc/help/ch2.xml | 9 + doc/help/ch3.xml | 5 + doc/help/ch4.xml | 5 + doc/help/ch5.xml | 12 + doc/help/ch6.xml | 12 + doc/help/ch7.xml | 4 + doc/help/ch8.xml | 4 + doc/help/ch9.xml | 9 + doc/help/docbook.dtd | 4171 ++ doc/help/help.xml | 28 + .../xslt/.CatalogManager.properties.example | 61 + doc/help/xslt/.urilist | 1 + doc/help/xslt/AUTHORS | 4 + doc/help/xslt/BUGS | 21 + doc/help/xslt/COPYING | 47 + doc/help/xslt/INSTALL | 88 + doc/help/xslt/Makefile | 89 + doc/help/xslt/NEWS | 139 + doc/help/xslt/NEWS.html | 25 + doc/help/xslt/NEWS.xml | 145 + doc/help/xslt/README | 157 + doc/help/xslt/RELEASE-NOTES.html | 8353 ++++ doc/help/xslt/RELEASE-NOTES.pdf | 24334 +++++++++++ doc/help/xslt/RELEASE-NOTES.txt | 8575 ++++ doc/help/xslt/RELEASE-NOTES.xml | 10327 +++++ doc/help/xslt/TODO | 23 + doc/help/xslt/VERSION | 115 + doc/help/xslt/catalog.xml | 8 + doc/help/xslt/common/af.xml | 1229 + doc/help/xslt/common/am.xml | 1229 + doc/help/xslt/common/ar.xml | 1229 + doc/help/xslt/common/as.xml | 660 + doc/help/xslt/common/ast.xml | 660 + doc/help/xslt/common/autoidx-kimber.xsl | 44 + doc/help/xslt/common/autoidx-kosek.xsl | 154 + doc/help/xslt/common/az.xml | 672 + doc/help/xslt/common/bg.xml | 724 + doc/help/xslt/common/bn.xml | 1229 + doc/help/xslt/common/bn_in.xml | 660 + doc/help/xslt/common/bs.xml | 662 + doc/help/xslt/common/ca.xml | 660 + doc/help/xslt/common/charmap.xml | 185 + doc/help/xslt/common/charmap.xsl | 221 + doc/help/xslt/common/common.xml | 622 + doc/help/xslt/common/common.xsl | 2039 + doc/help/xslt/common/cs.xml | 700 + doc/help/xslt/common/cy.xml | 1245 + doc/help/xslt/common/da.xml | 664 + doc/help/xslt/common/de.xml | 666 + doc/help/xslt/common/el.xml | 729 + doc/help/xslt/common/en.xml | 1229 + doc/help/xslt/common/entities.ent | 67 + doc/help/xslt/common/eo.xml | 1229 + doc/help/xslt/common/es.xml | 676 + doc/help/xslt/common/et.xml | 1229 + doc/help/xslt/common/eu.xml | 1229 + doc/help/xslt/common/fa.xml | 660 + doc/help/xslt/common/fi.xml | 670 + doc/help/xslt/common/fr.xml | 690 + doc/help/xslt/common/ga.xml | 1229 + doc/help/xslt/common/gentext.xsl | 839 + doc/help/xslt/common/gl.xml | 1229 + doc/help/xslt/common/gu.xml | 660 + doc/help/xslt/common/he.xml | 1229 + doc/help/xslt/common/hi.xml | 660 + doc/help/xslt/common/hr.xml | 662 + doc/help/xslt/common/hu.xml | 678 + doc/help/xslt/common/id.xml | 1229 + doc/help/xslt/common/insertfile.xsl | 111 + doc/help/xslt/common/is.xml | 672 + doc/help/xslt/common/it.xml | 1229 + doc/help/xslt/common/ja.xml | 660 + doc/help/xslt/common/ka.xml | 700 + doc/help/xslt/common/kn.xml | 1229 + doc/help/xslt/common/ko.xml | 1229 + doc/help/xslt/common/ky.xml | 732 + doc/help/xslt/common/l10n.dtd | 64 + doc/help/xslt/common/l10n.xml | 77 + doc/help/xslt/common/l10n.xsl | 593 + doc/help/xslt/common/la.xml | 1229 + doc/help/xslt/common/labels.xsl | 890 + doc/help/xslt/common/lt.xml | 678 + doc/help/xslt/common/lv.xml | 1229 + doc/help/xslt/common/ml.xml | 660 + doc/help/xslt/common/mn.xml | 730 + doc/help/xslt/common/mr.xml | 660 + doc/help/xslt/common/nb.xml | 1229 + doc/help/xslt/common/nds.xml | 666 + doc/help/xslt/common/nl.xml | 660 + doc/help/xslt/common/nn.xml | 1229 + doc/help/xslt/common/olink.xsl | 1225 + doc/help/xslt/common/or.xml | 1229 + doc/help/xslt/common/pa.xml | 660 + doc/help/xslt/common/pi.xml | 168 + doc/help/xslt/common/pi.xsl | 346 + doc/help/xslt/common/pl.xml | 678 + doc/help/xslt/common/pt.xml | 1229 + doc/help/xslt/common/pt_br.xml | 1229 + doc/help/xslt/common/refentry.xml | 781 + doc/help/xslt/common/refentry.xsl | 1352 + doc/help/xslt/common/ro.xml | 1229 + doc/help/xslt/common/ru.xml | 726 + doc/help/xslt/common/sk.xml | 1229 + doc/help/xslt/common/sl.xml | 1229 + doc/help/xslt/common/sq.xml | 1229 + doc/help/xslt/common/sr.xml | 720 + doc/help/xslt/common/sr_Latn.xml | 679 + doc/help/xslt/common/stripns.xsl | 352 + doc/help/xslt/common/subtitles.xsl | 155 + doc/help/xslt/common/sv.xml | 664 + doc/help/xslt/common/ta.xml | 660 + doc/help/xslt/common/table.xsl | 514 + doc/help/xslt/common/targetdatabase.dtd | 49 + doc/help/xslt/common/targets.xsl | 333 + doc/help/xslt/common/te.xml | 660 + doc/help/xslt/common/th.xml | 1229 + doc/help/xslt/common/titles.xsl | 805 + doc/help/xslt/common/tl.xml | 1229 + doc/help/xslt/common/tr.xml | 666 + doc/help/xslt/common/uk.xml | 726 + doc/help/xslt/common/utility.xml | 259 + doc/help/xslt/common/utility.xsl | 290 + doc/help/xslt/common/vi.xml | 1229 + doc/help/xslt/common/xh.xml | 1229 + doc/help/xslt/common/zh.xml | 660 + doc/help/xslt/common/zh_cn.xml | 660 + doc/help/xslt/common/zh_tw.xml | 660 + doc/help/xslt/docsrc/authors.xml | 10 + doc/help/xslt/docsrc/copyright.xml | 18 + doc/help/xslt/docsrc/license.xml | 23 + doc/help/xslt/docsrc/page.png | Bin 0 -> 17578 bytes doc/help/xslt/docsrc/reference.css | 79 + doc/help/xslt/docsrc/reference.xml | 229 + doc/help/xslt/docsrc/reference.xml.included | 33905 ++++++++++++++++ doc/help/xslt/docsrc/warranty.xml | 11 + doc/help/xslt/eclipse/eclipse.xsl | 306 + doc/help/xslt/eclipse/eclipse3.xsl | 111 + doc/help/xslt/eclipse/profile-eclipse.xsl | 269 + doc/help/xslt/epub/README | 88 + doc/help/xslt/epub/bin/dbtoepub | 76 + doc/help/xslt/epub/bin/lib/docbook.rb | 227 + doc/help/xslt/epub/bin/xslt/obfuscate.xsl | 12 + doc/help/xslt/epub/docbook.xsl | 1690 + doc/help/xslt/extensions/LICENSE.txt | 264 + doc/help/xslt/extensions/NOTICE.txt | 12 + doc/help/xslt/extensions/README.LIBXSLT | 52 + doc/help/xslt/extensions/README.txt | 4 + doc/help/xslt/extensions/docbook.py | 239 + .../extensions/lucene-analyzers-3.0.0.jar | Bin 0 -> 200540 bytes .../xslt/extensions/lucene-core-3.0.0.jar | Bin 0 -> 1021623 bytes doc/help/xslt/extensions/saxon65.jar | Bin 0 -> 80946 bytes doc/help/xslt/extensions/webhelpindexer.jar | Bin 0 -> 229165 bytes doc/help/xslt/extensions/xalan27.jar | Bin 0 -> 57513 bytes doc/help/xslt/extensions/xslt.py | 84 + doc/help/xslt/fo/admon.xsl | 130 + doc/help/xslt/fo/annotations.xsl | 18 + doc/help/xslt/fo/autoidx-kimber.xsl | 172 + doc/help/xslt/fo/autoidx-kosek.xsl | 139 + doc/help/xslt/fo/autoidx-ng.xsl | 20 + doc/help/xslt/fo/autoidx.xsl | 1330 + doc/help/xslt/fo/autotoc.xsl | 915 + doc/help/xslt/fo/axf.xsl | 110 + doc/help/xslt/fo/biblio-iso690.xsl | 1300 + doc/help/xslt/fo/biblio.xsl | 1169 + doc/help/xslt/fo/block.xsl | 654 + doc/help/xslt/fo/callout.xsl | 231 + doc/help/xslt/fo/component.xsl | 887 + doc/help/xslt/fo/division.xsl | 612 + doc/help/xslt/fo/docbook.xsl | 335 + doc/help/xslt/fo/ebnf.xsl | 325 + doc/help/xslt/fo/fo-rtf.xsl | 154 + doc/help/xslt/fo/fo.xsl | 117 + doc/help/xslt/fo/footnote.xsl | 220 + doc/help/xslt/fo/fop.xsl | 93 + doc/help/xslt/fo/fop1.xsl | 223 + doc/help/xslt/fo/formal.xsl | 642 + doc/help/xslt/fo/glossary.xsl | 1169 + doc/help/xslt/fo/graphics.xsl | 648 + doc/help/xslt/fo/highlight.xsl | 77 + doc/help/xslt/fo/htmltbl.xsl | 425 + doc/help/xslt/fo/index.xsl | 484 + doc/help/xslt/fo/info.xsl | 34 + doc/help/xslt/fo/inline.xsl | 1288 + doc/help/xslt/fo/keywords.xsl | 21 + doc/help/xslt/fo/lists.xsl | 1393 + doc/help/xslt/fo/math.xsl | 140 + doc/help/xslt/fo/pagesetup.xsl | 2569 ++ doc/help/xslt/fo/param.xml | 12445 ++++++ doc/help/xslt/fo/param.xsl | 946 + doc/help/xslt/fo/passivetex.xsl | 36 + doc/help/xslt/fo/pdf2index | 140 + doc/help/xslt/fo/pi.xml | 1002 + doc/help/xslt/fo/pi.xsl | 1092 + doc/help/xslt/fo/profile-docbook.xsl | 289 + doc/help/xslt/fo/ptc.xsl | 77 + doc/help/xslt/fo/qandaset.xsl | 395 + doc/help/xslt/fo/refentry.xsl | 638 + doc/help/xslt/fo/sections.xsl | 764 + doc/help/xslt/fo/spaces.xsl | 274 + doc/help/xslt/fo/synop.xsl | 1007 + doc/help/xslt/fo/table.xml | 135 + doc/help/xslt/fo/table.xsl | 1681 + doc/help/xslt/fo/task.xsl | 91 + doc/help/xslt/fo/titlepage.templates.xml | 1354 + doc/help/xslt/fo/titlepage.templates.xsl | 5182 +++ doc/help/xslt/fo/titlepage.xsl | 767 + doc/help/xslt/fo/toc.xsl | 332 + doc/help/xslt/fo/verbatim.xsl | 465 + doc/help/xslt/fo/xep.xsl | 180 + doc/help/xslt/fo/xref.xsl | 1538 + doc/help/xslt/highlighting/README | 16 + doc/help/xslt/highlighting/c-hl.xml | 101 + doc/help/xslt/highlighting/common.xsl | 120 + doc/help/xslt/highlighting/cpp-hl.xml | 150 + doc/help/xslt/highlighting/csharp-hl.xml | 187 + doc/help/xslt/highlighting/delphi-hl.xml | 200 + doc/help/xslt/highlighting/ini-hl.xml | 45 + doc/help/xslt/highlighting/java-hl.xml | 117 + doc/help/xslt/highlighting/javascript-hl.xml | 147 + doc/help/xslt/highlighting/m2-hl.xml | 90 + doc/help/xslt/highlighting/myxml-hl.xml | 116 + doc/help/xslt/highlighting/perl-hl.xml | 120 + doc/help/xslt/highlighting/php-hl.xml | 149 + doc/help/xslt/highlighting/python-hl.xml | 100 + doc/help/xslt/highlighting/ruby-hl.xml | 109 + doc/help/xslt/highlighting/tcl-hl.xml | 180 + doc/help/xslt/highlighting/xslthl-config.xml | 46 + doc/help/xslt/html/admon.xsl | 134 + doc/help/xslt/html/annotations.xsl | 169 + doc/help/xslt/html/autoidx-kimber.xsl | 165 + doc/help/xslt/html/autoidx-kosek.xsl | 120 + doc/help/xslt/html/autoidx-ng.xsl | 20 + doc/help/xslt/html/autoidx.xsl | 739 + doc/help/xslt/html/autotoc.xsl | 707 + doc/help/xslt/html/biblio-iso690.xsl | 1300 + doc/help/xslt/html/biblio.xsl | 1253 + doc/help/xslt/html/block.xsl | 538 + doc/help/xslt/html/callout.xsl | 201 + doc/help/xslt/html/changebars.xsl | 121 + doc/help/xslt/html/chunk-changebars.xsl | 99 + doc/help/xslt/html/chunk-code.xsl | 674 + doc/help/xslt/html/chunk-common.xsl | 1920 + doc/help/xslt/html/chunk.xsl | 52 + doc/help/xslt/html/chunker.xsl | 439 + doc/help/xslt/html/chunkfast.xsl | 72 + doc/help/xslt/html/chunktoc.xsl | 543 + doc/help/xslt/html/component.xsl | 425 + doc/help/xslt/html/division.xsl | 217 + doc/help/xslt/html/docbook.css.xml | 109 + doc/help/xslt/html/docbook.xsl | 480 + doc/help/xslt/html/ebnf.xsl | 329 + doc/help/xslt/html/footnote.xsl | 313 + doc/help/xslt/html/formal.xsl | 425 + doc/help/xslt/html/glossary.xsl | 492 + doc/help/xslt/html/graphics.xsl | 1515 + doc/help/xslt/html/highlight.xsl | 86 + doc/help/xslt/html/html-rtf.xsl | 336 + doc/help/xslt/html/html.xsl | 612 + doc/help/xslt/html/htmltbl.xsl | 135 + doc/help/xslt/html/index.xsl | 288 + doc/help/xslt/html/info.xsl | 43 + doc/help/xslt/html/inline.xsl | 1490 + doc/help/xslt/html/keywords.xsl | 35 + doc/help/xslt/html/lists.xsl | 1183 + doc/help/xslt/html/maketoc.xsl | 86 + doc/help/xslt/html/manifest.xsl | 22 + doc/help/xslt/html/math.xsl | 270 + doc/help/xslt/html/oldchunker.xsl | 202 + doc/help/xslt/html/onechunk.xsl | 37 + doc/help/xslt/html/param.xml | 10905 +++++ doc/help/xslt/html/param.xsl | 434 + doc/help/xslt/html/pi.xml | 1113 + doc/help/xslt/html/pi.xsl | 1263 + doc/help/xslt/html/profile-chunk-code.xsl | 615 + doc/help/xslt/html/profile-chunk.xsl | 52 + doc/help/xslt/html/profile-docbook.xsl | 413 + doc/help/xslt/html/profile-onechunk.xsl | 37 + doc/help/xslt/html/qandaset.xsl | 437 + doc/help/xslt/html/refentry.xsl | 299 + doc/help/xslt/html/sections.xsl | 615 + doc/help/xslt/html/synop.xsl | 1554 + doc/help/xslt/html/table.xsl | 1200 + doc/help/xslt/html/task.xsl | 76 + doc/help/xslt/html/titlepage.templates.xml | 708 + doc/help/xslt/html/titlepage.templates.xsl | 3817 ++ doc/help/xslt/html/titlepage.xsl | 1047 + doc/help/xslt/html/toc.xsl | 350 + doc/help/xslt/html/verbatim.xsl | 410 + doc/help/xslt/html/xref.xsl | 1377 + doc/help/xslt/htmlhelp/htmlhelp-common.xsl | 1120 + doc/help/xslt/htmlhelp/htmlhelp.xsl | 22 + .../xslt/htmlhelp/profile-htmlhelp-common.xsl | 1083 + doc/help/xslt/htmlhelp/profile-htmlhelp.xsl | 22 + doc/help/xslt/images/annot-close.png | Bin 0 -> 207 bytes doc/help/xslt/images/annot-open.png | Bin 0 -> 837 bytes doc/help/xslt/images/blank.png | Bin 0 -> 374 bytes doc/help/xslt/images/callouts/1.gif | Bin 0 -> 889 bytes doc/help/xslt/images/callouts/1.png | Bin 0 -> 329 bytes doc/help/xslt/images/callouts/1.svg | 15 + doc/help/xslt/images/callouts/10.gif | Bin 0 -> 929 bytes doc/help/xslt/images/callouts/10.png | Bin 0 -> 361 bytes doc/help/xslt/images/callouts/10.svg | 18 + doc/help/xslt/images/callouts/11.gif | Bin 0 -> 202 bytes doc/help/xslt/images/callouts/11.png | Bin 0 -> 565 bytes doc/help/xslt/images/callouts/11.svg | 16 + doc/help/xslt/images/callouts/12.gif | Bin 0 -> 210 bytes doc/help/xslt/images/callouts/12.png | Bin 0 -> 617 bytes doc/help/xslt/images/callouts/12.svg | 18 + doc/help/xslt/images/callouts/13.gif | Bin 0 -> 209 bytes doc/help/xslt/images/callouts/13.png | Bin 0 -> 623 bytes doc/help/xslt/images/callouts/13.svg | 20 + doc/help/xslt/images/callouts/14.gif | Bin 0 -> 205 bytes doc/help/xslt/images/callouts/14.png | Bin 0 -> 411 bytes doc/help/xslt/images/callouts/14.svg | 17 + doc/help/xslt/images/callouts/15.gif | Bin 0 -> 210 bytes doc/help/xslt/images/callouts/15.png | Bin 0 -> 640 bytes doc/help/xslt/images/callouts/15.svg | 19 + doc/help/xslt/images/callouts/16.svg | 20 + doc/help/xslt/images/callouts/17.svg | 17 + doc/help/xslt/images/callouts/18.svg | 21 + doc/help/xslt/images/callouts/19.svg | 20 + doc/help/xslt/images/callouts/2.gif | Bin 0 -> 907 bytes doc/help/xslt/images/callouts/2.png | Bin 0 -> 353 bytes doc/help/xslt/images/callouts/2.svg | 17 + doc/help/xslt/images/callouts/20.svg | 20 + doc/help/xslt/images/callouts/21.svg | 18 + doc/help/xslt/images/callouts/22.svg | 20 + doc/help/xslt/images/callouts/23.svg | 22 + doc/help/xslt/images/callouts/24.svg | 19 + doc/help/xslt/images/callouts/25.svg | 21 + doc/help/xslt/images/callouts/26.svg | 22 + doc/help/xslt/images/callouts/27.svg | 19 + doc/help/xslt/images/callouts/28.svg | 23 + doc/help/xslt/images/callouts/29.svg | 22 + doc/help/xslt/images/callouts/3.gif | Bin 0 -> 914 bytes doc/help/xslt/images/callouts/3.png | Bin 0 -> 350 bytes doc/help/xslt/images/callouts/3.svg | 19 + doc/help/xslt/images/callouts/30.svg | 22 + doc/help/xslt/images/callouts/4.gif | Bin 0 -> 907 bytes doc/help/xslt/images/callouts/4.png | Bin 0 -> 345 bytes doc/help/xslt/images/callouts/4.svg | 16 + doc/help/xslt/images/callouts/5.gif | Bin 0 -> 916 bytes doc/help/xslt/images/callouts/5.png | Bin 0 -> 348 bytes doc/help/xslt/images/callouts/5.svg | 18 + doc/help/xslt/images/callouts/6.gif | Bin 0 -> 218 bytes doc/help/xslt/images/callouts/6.png | Bin 0 -> 355 bytes doc/help/xslt/images/callouts/6.svg | 19 + doc/help/xslt/images/callouts/7.gif | Bin 0 -> 907 bytes doc/help/xslt/images/callouts/7.png | Bin 0 -> 344 bytes doc/help/xslt/images/callouts/7.svg | 16 + doc/help/xslt/images/callouts/8.gif | Bin 0 -> 918 bytes doc/help/xslt/images/callouts/8.png | Bin 0 -> 357 bytes doc/help/xslt/images/callouts/8.svg | 20 + doc/help/xslt/images/callouts/9.gif | Bin 0 -> 923 bytes doc/help/xslt/images/callouts/9.png | Bin 0 -> 357 bytes doc/help/xslt/images/callouts/9.svg | 19 + doc/help/xslt/images/caution.gif | Bin 0 -> 743 bytes doc/help/xslt/images/caution.png | Bin 0 -> 1250 bytes doc/help/xslt/images/caution.svg | 25 + doc/help/xslt/images/caution.tif | Bin 0 -> 1978 bytes doc/help/xslt/images/colorsvg/caution.svg | 141 + doc/help/xslt/images/colorsvg/home.svg | 498 + doc/help/xslt/images/colorsvg/important.svg | 239 + doc/help/xslt/images/colorsvg/next.svg | 338 + doc/help/xslt/images/colorsvg/note.svg | 200 + doc/help/xslt/images/colorsvg/prev.svg | 338 + doc/help/xslt/images/colorsvg/tip.svg | 367 + doc/help/xslt/images/colorsvg/up.svg | 338 + doc/help/xslt/images/colorsvg/warning.svg | 232 + doc/help/xslt/images/draft.png | Bin 0 -> 16150 bytes doc/help/xslt/images/home.gif | Bin 0 -> 321 bytes doc/help/xslt/images/home.png | Bin 0 -> 1156 bytes doc/help/xslt/images/home.svg | 26 + doc/help/xslt/images/important.gif | Bin 0 -> 1003 bytes doc/help/xslt/images/important.png | Bin 0 -> 722 bytes doc/help/xslt/images/important.svg | 25 + doc/help/xslt/images/important.tif | Bin 0 -> 2020 bytes doc/help/xslt/images/next.gif | Bin 0 -> 1083 bytes doc/help/xslt/images/next.png | Bin 0 -> 1150 bytes doc/help/xslt/images/next.svg | 19 + doc/help/xslt/images/note.gif | Bin 0 -> 580 bytes doc/help/xslt/images/note.png | Bin 0 -> 490 bytes doc/help/xslt/images/note.svg | 33 + doc/help/xslt/images/note.tif | Bin 0 -> 460 bytes doc/help/xslt/images/prev.gif | Bin 0 -> 1118 bytes doc/help/xslt/images/prev.png | Bin 0 -> 1132 bytes doc/help/xslt/images/prev.svg | 19 + doc/help/xslt/images/tip.gif | Bin 0 -> 598 bytes doc/help/xslt/images/tip.png | Bin 0 -> 449 bytes doc/help/xslt/images/tip.svg | 31 + doc/help/xslt/images/tip.tif | Bin 0 -> 420 bytes doc/help/xslt/images/toc-blank.png | Bin 0 -> 318 bytes doc/help/xslt/images/toc-minus.png | Bin 0 -> 259 bytes doc/help/xslt/images/toc-plus.png | Bin 0 -> 264 bytes doc/help/xslt/images/up.gif | Bin 0 -> 1089 bytes doc/help/xslt/images/up.png | Bin 0 -> 1111 bytes doc/help/xslt/images/up.svg | 19 + doc/help/xslt/images/warning.gif | Bin 0 -> 743 bytes doc/help/xslt/images/warning.png | Bin 0 -> 1241 bytes doc/help/xslt/images/warning.svg | 23 + doc/help/xslt/images/warning.tif | Bin 0 -> 1990 bytes doc/help/xslt/install.sh | 977 + doc/help/xslt/javahelp/javahelp.xsl | 625 + doc/help/xslt/javahelp/profile-javahelp.xsl | 549 + doc/help/xslt/lib/lib.xsl | 480 + doc/help/xslt/manpages/ChangeLog.20020917 | 195 + doc/help/xslt/manpages/block.xsl | 411 + doc/help/xslt/manpages/charmap.groff.xsl | 6013 +++ doc/help/xslt/manpages/docbook.xsl | 311 + doc/help/xslt/manpages/endnotes.xsl | 586 + doc/help/xslt/manpages/html-synop.xsl | 1567 + doc/help/xslt/manpages/info.xsl | 800 + doc/help/xslt/manpages/inline.xsl | 219 + doc/help/xslt/manpages/lists.xsl | 604 + doc/help/xslt/manpages/other.xsl | 888 + doc/help/xslt/manpages/param.xml | 3220 ++ doc/help/xslt/manpages/param.xsl | 193 + doc/help/xslt/manpages/pi.xml | 70 + doc/help/xslt/manpages/pi.xsl | 79 + doc/help/xslt/manpages/profile-docbook.xsl | 281 + doc/help/xslt/manpages/refentry.xsl | 319 + doc/help/xslt/manpages/synop.xsl | 432 + doc/help/xslt/manpages/table.xsl | 633 + doc/help/xslt/manpages/utility.xsl | 555 + .../xslt/params/abstract.notitle.enabled.xml | 22 + doc/help/xslt/params/abstract.properties.xml | 32 + .../xslt/params/abstract.title.properties.xml | 39 + doc/help/xslt/params/active.toc.xml | 29 + doc/help/xslt/params/ade.extensions.xml | 32 + .../xslt/params/admon.graphics.extension.xml | 27 + doc/help/xslt/params/admon.graphics.path.xml | 27 + doc/help/xslt/params/admon.graphics.xml | 29 + doc/help/xslt/params/admon.style.xml | 31 + doc/help/xslt/params/admon.textlabel.xml | 32 + .../xslt/params/admonition.properties.xml | 25 + .../params/admonition.title.properties.xml | 32 + doc/help/xslt/params/alignment.xml | 41 + doc/help/xslt/params/annotate.toc.xml | 28 + doc/help/xslt/params/annotation.css.xml | 71 + .../xslt/params/annotation.graphic.close.xml | 31 + .../xslt/params/annotation.graphic.open.xml | 28 + doc/help/xslt/params/annotation.js.xml | 33 + doc/help/xslt/params/annotation.support.xml | 29 + doc/help/xslt/params/appendix.autolabel.xml | 73 + doc/help/xslt/params/arbortext.extensions.xml | 30 + .../article.appendix.title.properties.xml | 33 + .../params/author.othername.in.middle.xml | 31 + doc/help/xslt/params/autolayout-file.xml | 29 + .../params/autotoc.label.in.hyperlink.xml | 29 + .../xslt/params/autotoc.label.separator.xml | 27 + doc/help/xslt/params/axf.extensions.xml | 33 + .../xslt/params/banner.before.navigation.xml | 25 + doc/help/xslt/params/base.dir.xml | 29 + .../params/biblioentry.item.separator.xml | 26 + .../xslt/params/biblioentry.properties.xml | 28 + .../xslt/params/bibliography.collection.xml | 104 + .../xslt/params/bibliography.numbered.xml | 27 + doc/help/xslt/params/bibliography.style.xml | 35 + .../xslt/params/blockquote.properties.xml | 34 + .../params/blurb.on.titlepage.enabled.xml | 31 + doc/help/xslt/params/body.attributes.xml | 31 + doc/help/xslt/params/body.bg.color.xml | 28 + doc/help/xslt/params/body.end.indent.xml | 37 + doc/help/xslt/params/body.font.family.xml | 32 + doc/help/xslt/params/body.font.master.xml | 30 + doc/help/xslt/params/body.font.size.xml | 31 + doc/help/xslt/params/body.margin.bottom.xml | 29 + doc/help/xslt/params/body.margin.top.xml | 28 + doc/help/xslt/params/body.start.indent.xml | 64 + doc/help/xslt/params/bookmarks.collapse.xml | 31 + doc/help/xslt/params/bridgehead.in.toc.xml | 28 + doc/help/xslt/params/bullet.image.xml | 28 + .../xslt/params/callout.defaultcolumn.xml | 30 + .../params/callout.graphics.extension.xml | 33 + .../params/callout.graphics.number.limit.xml | 34 + .../xslt/params/callout.graphics.path.xml | 31 + doc/help/xslt/params/callout.graphics.xml | 30 + doc/help/xslt/params/callout.icon.size.xml | 28 + doc/help/xslt/params/callout.list.table.xml | 32 + doc/help/xslt/params/callout.unicode.font.xml | 29 + .../params/callout.unicode.number.limit.xml | 35 + .../callout.unicode.start.character.xml | 33 + doc/help/xslt/params/callout.unicode.xml | 26 + doc/help/xslt/params/callouts.extension.xml | 30 + doc/help/xslt/params/chapter.autolabel.xml | 71 + doc/help/xslt/params/chunk.append.xml | 30 + doc/help/xslt/params/chunk.first.sections.xml | 31 + doc/help/xslt/params/chunk.quietly.xml | 30 + doc/help/xslt/params/chunk.section.depth.xml | 27 + doc/help/xslt/params/chunk.sections.xml | 30 + doc/help/xslt/params/chunk.separate.lots.xml | 36 + doc/help/xslt/params/chunk.toc.xml | 30 + .../params/chunk.tocs.and.lots.has.title.xml | 28 + doc/help/xslt/params/chunk.tocs.and.lots.xml | 32 + .../chunker.output.cdata-section-elements.xml | 30 + .../params/chunker.output.doctype-public.xml | 31 + .../params/chunker.output.doctype-system.xml | 31 + .../xslt/params/chunker.output.encoding.xml | 31 + .../xslt/params/chunker.output.indent.xml | 30 + .../xslt/params/chunker.output.media-type.xml | 35 + .../xslt/params/chunker.output.method.xml | 32 + .../chunker.output.omit-xml-declaration.xml | 30 + .../xslt/params/chunker.output.standalone.xml | 31 + doc/help/xslt/params/citerefentry.link.xml | 29 + doc/help/xslt/params/collect.xref.targets.xml | 33 + doc/help/xslt/params/column.count.back.xml | 27 + doc/help/xslt/params/column.count.body.xml | 27 + doc/help/xslt/params/column.count.front.xml | 27 + doc/help/xslt/params/column.count.index.xml | 27 + doc/help/xslt/params/column.count.lot.xml | 28 + .../xslt/params/column.count.titlepage.xml | 27 + doc/help/xslt/params/column.gap.back.xml | 28 + doc/help/xslt/params/column.gap.body.xml | 28 + doc/help/xslt/params/column.gap.front.xml | 28 + doc/help/xslt/params/column.gap.index.xml | 28 + doc/help/xslt/params/column.gap.lot.xml | 28 + doc/help/xslt/params/column.gap.titlepage.xml | 29 + .../xslt/params/compact.list.item.spacing.xml | 28 + .../component.label.includes.part.label.xml | 39 + .../params/component.title.properties.xml | 40 + .../params/component.titlepage.properties.xml | 33 + .../xslt/params/contrib.inline.enabled.xml | 26 + doc/help/xslt/params/crop.mark.bleed.xml | 28 + doc/help/xslt/params/crop.mark.offset.xml | 28 + doc/help/xslt/params/crop.mark.width.xml | 28 + doc/help/xslt/params/crop.marks.xml | 28 + doc/help/xslt/params/css.decoration.xml | 33 + doc/help/xslt/params/css.stylesheet.dir.xml | 33 + doc/help/xslt/params/css.stylesheet.xml | 29 + doc/help/xslt/params/current.docid.xml | 27 + doc/help/xslt/params/currentpage.marker.xml | 25 + doc/help/xslt/params/custom.css.source.xml | 119 + doc/help/xslt/params/default.float.class.xml | 34 + doc/help/xslt/params/default.image.width.xml | 30 + doc/help/xslt/params/default.table.frame.xml | 28 + doc/help/xslt/params/default.table.rules.xml | 76 + doc/help/xslt/params/default.table.width.xml | 26 + doc/help/xslt/params/default.units.xml | 37 + doc/help/xslt/params/dingbat.font.family.xml | 33 + doc/help/xslt/params/docbook.css.link.xml | 42 + doc/help/xslt/params/docbook.css.source.xml | 83 + doc/help/xslt/params/double.sided.xml | 31 + doc/help/xslt/params/draft.mode.xml | 36 + .../xslt/params/draft.watermark.image.xml | 27 + doc/help/xslt/params/dry-run.xml | 27 + doc/help/xslt/params/dynamic.toc.xml | 29 + doc/help/xslt/params/ebnf.assignment.xml | 39 + .../xslt/params/ebnf.statement.terminator.xml | 32 + doc/help/xslt/params/ebnf.table.bgcolor.xml | 30 + doc/help/xslt/params/ebnf.table.border.xml | 26 + doc/help/xslt/params/eclipse.autolabel.xml | 28 + doc/help/xslt/params/eclipse.plugin.id.xml | 28 + doc/help/xslt/params/eclipse.plugin.name.xml | 27 + .../xslt/params/eclipse.plugin.provider.xml | 27 + doc/help/xslt/params/editedby.enabled.xml | 27 + .../xslt/params/email.delimiters.enabled.xml | 34 + doc/help/xslt/params/email.mailto.enabled.xml | 29 + .../xslt/params/emphasis.propagates.style.xml | 26 + .../xslt/params/entry.propagates.style.xml | 30 + doc/help/xslt/params/epub.autolabel.xml | 28 + .../params/equation.number.properties.xml | 28 + doc/help/xslt/params/equation.properties.xml | 27 + doc/help/xslt/params/example.properties.xml | 27 + .../xslt/params/exsl.node.set.available.xml | 44 + doc/help/xslt/params/feedback.href.xml | 28 + doc/help/xslt/params/feedback.link.text.xml | 28 + doc/help/xslt/params/feedback.with.ids.xml | 27 + doc/help/xslt/params/figure.properties.xml | 27 + doc/help/xslt/params/filename-prefix.xml | 28 + doc/help/xslt/params/firstterm.only.link.xml | 29 + doc/help/xslt/params/foil.properties.xml | 37 + .../xslt/params/foil.subtitle.properties.xml | 36 + doc/help/xslt/params/foil.title.master.xml | 29 + doc/help/xslt/params/foil.title.size.xml | 32 + doc/help/xslt/params/foilgroup.properties.xml | 31 + doc/help/xslt/params/foilgroup.toc.xml | 29 + doc/help/xslt/params/footer.column.widths.xml | 80 + .../xslt/params/footer.content.properties.xml | 34 + doc/help/xslt/params/footer.hr.xml | 26 + doc/help/xslt/params/footer.rule.xml | 27 + doc/help/xslt/params/footer.table.height.xml | 32 + .../xslt/params/footer.table.properties.xml | 30 + .../xslt/params/footers.on.blank.pages.xml | 27 + doc/help/xslt/params/footnote.font.size.xml | 28 + .../xslt/params/footnote.mark.properties.xml | 41 + .../xslt/params/footnote.number.format.xml | 33 + .../xslt/params/footnote.number.symbols.xml | 39 + doc/help/xslt/params/footnote.properties.xml | 43 + .../params/footnote.sep.leader.properties.xml | 39 + doc/help/xslt/params/fop.extensions.xml | 36 + doc/help/xslt/params/fop1.extensions.xml | 34 + .../xslt/params/formal.object.properties.xml | 36 + doc/help/xslt/params/formal.procedures.xml | 28 + .../xslt/params/formal.title.placement.xml | 41 + .../xslt/params/formal.title.properties.xml | 34 + .../xslt/params/funcsynopsis.decoration.xml | 30 + doc/help/xslt/params/funcsynopsis.style.xml | 31 + doc/help/xslt/params/function.parens.xml | 29 + doc/help/xslt/params/generate.css.header.xml | 40 + .../xslt/params/generate.id.attributes.xml | 59 + doc/help/xslt/params/generate.index.xml | 25 + .../xslt/params/generate.legalnotice.link.xml | 72 + doc/help/xslt/params/generate.manifest.xml | 27 + .../xslt/params/generate.meta.abstract.xml | 29 + .../xslt/params/generate.revhistory.link.xml | 50 + .../params/generate.section.toc.level.xml | 35 + doc/help/xslt/params/generate.toc.xml | 108 + doc/help/xslt/params/glossary.as.blocks.xml | 38 + doc/help/xslt/params/glossary.collection.xml | 252 + doc/help/xslt/params/glossary.sort.xml | 32 + .../xslt/params/glossdef.block.properties.xml | 32 + .../xslt/params/glossdef.list.properties.xml | 30 + .../glossentry.list.item.properties.xml | 32 + .../xslt/params/glossentry.show.acronym.xml | 37 + doc/help/xslt/params/glosslist.as.blocks.xml | 27 + doc/help/xslt/params/glossterm.auto.link.xml | 33 + .../params/glossterm.block.properties.xml | 35 + .../xslt/params/glossterm.list.properties.xml | 30 + doc/help/xslt/params/glossterm.separation.xml | 31 + doc/help/xslt/params/glossterm.width.xml | 28 + .../xslt/params/graphic.default.extension.xml | 29 + .../graphical.admonition.properties.xml | 42 + doc/help/xslt/params/graphics.dir.xml | 33 + .../xslt/params/graphicsize.extension.xml | 30 + .../params/graphicsize.use.img.src.path.xml | 30 + doc/help/xslt/params/header.column.widths.xml | 80 + .../xslt/params/header.content.properties.xml | 34 + doc/help/xslt/params/header.hr.xml | 26 + doc/help/xslt/params/header.rule.xml | 27 + doc/help/xslt/params/header.table.height.xml | 32 + .../xslt/params/header.table.properties.xml | 30 + .../xslt/params/headers.on.blank.pages.xml | 27 + doc/help/xslt/params/hidetoc.image.xml | 29 + .../params/highlight.default.language.xml | 27 + doc/help/xslt/params/highlight.source.xml | 82 + .../xslt/params/highlight.xslthl.config.xml | 33 + doc/help/xslt/params/home.image.xml | 27 + doc/help/xslt/params/html.append.xml | 30 + doc/help/xslt/params/html.base.xml | 30 + doc/help/xslt/params/html.cellpadding.xml | 29 + doc/help/xslt/params/html.cellspacing.xml | 29 + doc/help/xslt/params/html.cleanup.xml | 34 + doc/help/xslt/params/html.ext.xml | 29 + .../xslt/params/html.extra.head.links.xml | 31 + .../html.head.legalnotice.link.multiple.xml | 44 + .../html.head.legalnotice.link.types.xml | 75 + doc/help/xslt/params/html.longdesc.link.xml | 39 + doc/help/xslt/params/html.longdesc.xml | 28 + doc/help/xslt/params/html.stylesheet.type.xml | 26 + doc/help/xslt/params/html.stylesheet.xml | 36 + doc/help/xslt/params/htmlhelp.alias.file.xml | 27 + doc/help/xslt/params/htmlhelp.autolabel.xml | 28 + doc/help/xslt/params/htmlhelp.button.back.xml | 27 + .../xslt/params/htmlhelp.button.forward.xml | 27 + .../xslt/params/htmlhelp.button.hideshow.xml | 27 + .../xslt/params/htmlhelp.button.home.url.xml | 27 + doc/help/xslt/params/htmlhelp.button.home.xml | 27 + .../params/htmlhelp.button.jump1.title.xml | 27 + .../xslt/params/htmlhelp.button.jump1.url.xml | 27 + .../xslt/params/htmlhelp.button.jump1.xml | 23 + .../params/htmlhelp.button.jump2.title.xml | 27 + .../xslt/params/htmlhelp.button.jump2.url.xml | 27 + .../xslt/params/htmlhelp.button.jump2.xml | 27 + .../xslt/params/htmlhelp.button.locate.xml | 28 + doc/help/xslt/params/htmlhelp.button.next.xml | 27 + .../xslt/params/htmlhelp.button.options.xml | 28 + doc/help/xslt/params/htmlhelp.button.prev.xml | 28 + .../xslt/params/htmlhelp.button.print.xml | 28 + .../xslt/params/htmlhelp.button.refresh.xml | 27 + doc/help/xslt/params/htmlhelp.button.stop.xml | 28 + doc/help/xslt/params/htmlhelp.button.zoom.xml | 28 + doc/help/xslt/params/htmlhelp.chm.xml | 27 + .../xslt/params/htmlhelp.default.topic.xml | 37 + .../xslt/params/htmlhelp.display.progress.xml | 28 + doc/help/xslt/params/htmlhelp.encoding.xml | 28 + .../htmlhelp.enhanced.decompilation.xml | 27 + .../xslt/params/htmlhelp.enumerate.images.xml | 28 + .../params/htmlhelp.force.map.and.alias.xml | 26 + doc/help/xslt/params/htmlhelp.hhc.binary.xml | 29 + .../htmlhelp.hhc.folders.instead.books.xml | 31 + .../params/htmlhelp.hhc.section.depth.xml | 27 + .../xslt/params/htmlhelp.hhc.show.root.xml | 29 + doc/help/xslt/params/htmlhelp.hhc.width.xml | 28 + doc/help/xslt/params/htmlhelp.hhc.xml | 27 + doc/help/xslt/params/htmlhelp.hhk.xml | 27 + doc/help/xslt/params/htmlhelp.hhp.tail.xml | 28 + doc/help/xslt/params/htmlhelp.hhp.window.xml | 28 + doc/help/xslt/params/htmlhelp.hhp.windows.xml | 29 + doc/help/xslt/params/htmlhelp.hhp.xml | 28 + doc/help/xslt/params/htmlhelp.map.file.xml | 25 + doc/help/xslt/params/htmlhelp.only.xml | 32 + .../htmlhelp.remember.window.position.xml | 27 + .../params/htmlhelp.show.advanced.search.xml | 28 + .../xslt/params/htmlhelp.show.favorities.xml | 28 + doc/help/xslt/params/htmlhelp.show.menu.xml | 28 + .../params/htmlhelp.show.toolbar.text.xml | 28 + doc/help/xslt/params/htmlhelp.title.xml | 28 + doc/help/xslt/params/htmlhelp.use.hhk.xml | 28 + .../xslt/params/htmlhelp.window.geometry.xml | 30 + .../params/hyphenate.verbatim.characters.xml | 30 + doc/help/xslt/params/hyphenate.verbatim.xml | 45 + doc/help/xslt/params/hyphenate.xml | 29 + doc/help/xslt/params/id.warnings.xml | 25 + doc/help/xslt/params/ignore.image.scaling.xml | 28 + doc/help/xslt/params/img.src.path.xml | 40 + .../params/index.div.title.properties.xml | 39 + .../xslt/params/index.entry.properties.xml | 33 + .../xslt/params/index.links.to.section.xml | 76 + doc/help/xslt/params/index.method.xml | 162 + .../xslt/params/index.number.separator.xml | 54 + doc/help/xslt/params/index.on.role.xml | 48 + doc/help/xslt/params/index.on.type.xml | 52 + .../params/index.page.number.properties.xml | 31 + .../xslt/params/index.prefer.titleabbrev.xml | 29 + .../index.preferred.page.properties.xml | 32 + .../xslt/params/index.range.separator.xml | 57 + doc/help/xslt/params/index.term.separator.xml | 54 + .../params/informal.object.properties.xml | 29 + .../params/informalequation.properties.xml | 27 + .../params/informalexample.properties.xml | 27 + .../xslt/params/informalfigure.properties.xml | 27 + .../xslt/params/informaltable.properties.xml | 32 + doc/help/xslt/params/inherit.keywords.xml | 31 + .../xslt/params/insert.link.page.number.xml | 69 + .../xslt/params/insert.olink.page.number.xml | 83 + .../xslt/params/insert.olink.pdf.frag.xml | 68 + .../xslt/params/insert.xref.page.number.xml | 60 + .../params/itemizedlist.label.properties.xml | 26 + .../xslt/params/itemizedlist.label.width.xml | 28 + .../xslt/params/itemizedlist.properties.xml | 23 + doc/help/xslt/params/javahelp.encoding.xml | 31 + .../xslt/params/keep.relative.image.uris.xml | 34 + doc/help/xslt/params/keyboard.nav.xml | 29 + .../params/l10n.gentext.default.language.xml | 30 + .../xslt/params/l10n.gentext.language.xml | 33 + .../params/l10n.gentext.use.xref.language.xml | 53 + .../params/l10n.lang.value.rfc.compliant.xml | 57 + doc/help/xslt/params/label.from.part.xml | 38 + doc/help/xslt/params/line-height.xml | 27 + .../xslt/params/linenumbering.everyNth.xml | 29 + .../xslt/params/linenumbering.extension.xml | 30 + .../xslt/params/linenumbering.separator.xml | 30 + doc/help/xslt/params/linenumbering.width.xml | 29 + doc/help/xslt/params/link.mailto.url.xml | 29 + .../xslt/params/list.block.properties.xml | 25 + doc/help/xslt/params/list.block.spacing.xml | 29 + doc/help/xslt/params/list.item.spacing.xml | 26 + doc/help/xslt/params/make.clean.html.xml | 51 + .../xslt/params/make.graphic.viewport.xml | 35 + doc/help/xslt/params/make.index.markup.xml | 73 + .../xslt/params/make.single.year.ranges.xml | 28 + doc/help/xslt/params/make.valid.html.xml | 35 + doc/help/xslt/params/make.year.ranges.xml | 32 + .../params/man.authors.section.enabled.xml | 46 + .../man.base.url.for.relative.links.xml | 76 + .../xslt/params/man.break.after.slash.xml | 46 + doc/help/xslt/params/man.charmap.enabled.xml | 55 + .../man.charmap.subset.profile.english.xml | 80 + .../params/man.charmap.subset.profile.xml | 297 + doc/help/xslt/params/man.charmap.uri.xml | 42 + .../xslt/params/man.charmap.use.subset.xml | 80 + .../params/man.copyright.section.enabled.xml | 46 + .../xslt/params/man.endnotes.are.numbered.xml | 106 + .../xslt/params/man.endnotes.list.enabled.xml | 105 + .../xslt/params/man.endnotes.list.heading.xml | 36 + .../xslt/params/man.font.funcprototype.xml | 30 + .../xslt/params/man.font.funcsynopsisinfo.xml | 30 + doc/help/xslt/params/man.font.links.xml | 64 + .../xslt/params/man.font.table.headings.xml | 30 + doc/help/xslt/params/man.font.table.title.xml | 30 + .../xslt/params/man.funcsynopsis.style.xml | 26 + .../params/man.hyphenate.computer.inlines.xml | 53 + .../xslt/params/man.hyphenate.filenames.xml | 47 + doc/help/xslt/params/man.hyphenate.urls.xml | 46 + doc/help/xslt/params/man.hyphenate.xml | 59 + doc/help/xslt/params/man.indent.blurbs.xml | 33 + doc/help/xslt/params/man.indent.lists.xml | 35 + doc/help/xslt/params/man.indent.refsect.xml | 70 + doc/help/xslt/params/man.indent.verbatims.xml | 33 + doc/help/xslt/params/man.indent.width.xml | 39 + doc/help/xslt/params/man.justify.xml | 52 + doc/help/xslt/params/man.output.base.dir.xml | 39 + .../params/man.output.better.ps.enabled.xml | 61 + doc/help/xslt/params/man.output.encoding.xml | 53 + .../params/man.output.in.separate.dir.xml | 32 + .../man.output.lang.in.name.enabled.xml | 50 + .../params/man.output.manifest.enabled.xml | 27 + .../params/man.output.manifest.filename.xml | 29 + doc/help/xslt/params/man.output.quietly.xml | 37 + .../params/man.output.subdirs.enabled.xml | 40 + .../xslt/params/man.segtitle.suppress.xml | 28 + .../man.string.subst.map.local.post.xml | 34 + .../params/man.string.subst.map.local.pre.xml | 34 + doc/help/xslt/params/man.string.subst.map.xml | 162 + .../params/man.subheading.divider.enabled.xml | 37 + .../xslt/params/man.subheading.divider.xml | 37 + .../params/man.table.footnotes.divider.xml | 29 + .../xslt/params/man.th.extra1.suppress.xml | 32 + .../xslt/params/man.th.extra2.max.length.xml | 43 + .../xslt/params/man.th.extra2.suppress.xml | 44 + .../xslt/params/man.th.extra3.max.length.xml | 42 + .../xslt/params/man.th.extra3.suppress.xml | 34 + .../xslt/params/man.th.title.max.length.xml | 63 + doc/help/xslt/params/manifest.in.base.dir.xml | 29 + doc/help/xslt/params/manifest.xml | 29 + doc/help/xslt/params/manual.toc.xml | 29 + .../xslt/params/margin.note.float.type.xml | 77 + .../xslt/params/margin.note.properties.xml | 54 + .../params/margin.note.title.properties.xml | 32 + doc/help/xslt/params/margin.note.width.xml | 35 + doc/help/xslt/params/marker.section.level.xml | 50 + .../xslt/params/menuchoice.menu.separator.xml | 42 + doc/help/xslt/params/menuchoice.separator.xml | 32 + doc/help/xslt/params/minus.image.xml | 29 + .../xslt/params/monospace.font.family.xml | 29 + doc/help/xslt/params/monospace.properties.xml | 38 + .../params/monospace.verbatim.font.width.xml | 40 + .../params/monospace.verbatim.properties.xml | 27 + .../xslt/params/multiframe.bottom.bgcolor.xml | 28 + .../params/multiframe.navigation.height.xml | 28 + .../xslt/params/multiframe.top.bgcolor.xml | 28 + doc/help/xslt/params/multiframe.xml | 31 + doc/help/xslt/params/nav.separator.xml | 28 + doc/help/xslt/params/nav.table.summary.xml | 27 + doc/help/xslt/params/navbgcolor.xml | 26 + doc/help/xslt/params/navbodywidth.xml | 26 + .../xslt/params/navig.graphics.extension.xml | 28 + doc/help/xslt/params/navig.graphics.path.xml | 30 + doc/help/xslt/params/navig.graphics.xml | 31 + doc/help/xslt/params/navig.showtitles.xml | 32 + doc/help/xslt/params/navtocwidth.xml | 26 + doc/help/xslt/params/next.image.xml | 27 + doc/help/xslt/params/no.home.image.xml | 27 + doc/help/xslt/params/no.next.image.xml | 27 + doc/help/xslt/params/no.prev.image.xml | 27 + doc/help/xslt/params/no.toc.image.xml | 27 + doc/help/xslt/params/no.up.image.xml | 27 + doc/help/xslt/params/nominal.image.depth.xml | 27 + doc/help/xslt/params/nominal.image.width.xml | 43 + doc/help/xslt/params/nominal.table.width.xml | 30 + .../nongraphical.admonition.properties.xml | 41 + doc/help/xslt/params/normal.para.spacing.xml | 26 + doc/help/xslt/params/olink.base.uri.xml | 35 + doc/help/xslt/params/olink.debug.xml | 36 + doc/help/xslt/params/olink.doctitle.xml | 146 + doc/help/xslt/params/olink.fragid.xml | 23 + .../params/olink.lang.fallback.sequence.xml | 83 + doc/help/xslt/params/olink.outline.ext.xml | 28 + doc/help/xslt/params/olink.properties.xml | 33 + doc/help/xslt/params/olink.pubid.xml | 27 + doc/help/xslt/params/olink.resolver.xml | 23 + doc/help/xslt/params/olink.sysid.xml | 27 + .../params/orderedlist.label.properties.xml | 26 + .../xslt/params/orderedlist.label.width.xml | 28 + .../xslt/params/orderedlist.properties.xml | 24 + .../othercredit.like.author.enabled.xml | 31 + doc/help/xslt/params/output-root.xml | 28 + doc/help/xslt/params/output.indent.xml | 32 + doc/help/xslt/params/overlay.js.xml | 28 + doc/help/xslt/params/overlay.logo.xml | 28 + doc/help/xslt/params/overlay.xml | 32 + doc/help/xslt/params/page.height.portrait.xml | 69 + doc/help/xslt/params/page.height.xml | 37 + doc/help/xslt/params/page.margin.bottom.xml | 29 + doc/help/xslt/params/page.margin.inner.xml | 56 + doc/help/xslt/params/page.margin.outer.xml | 53 + doc/help/xslt/params/page.margin.top.xml | 28 + doc/help/xslt/params/page.orientation.xml | 32 + doc/help/xslt/params/page.width.portrait.xml | 67 + doc/help/xslt/params/page.width.xml | 36 + doc/help/xslt/params/pages.template.xml | 29 + doc/help/xslt/params/paper.type.xml | 73 + .../xslt/params/para.propagates.style.xml | 29 + doc/help/xslt/params/part.autolabel.xml | 73 + .../xslt/params/passivetex.extensions.xml | 37 + doc/help/xslt/params/pgwide.properties.xml | 52 + .../xslt/params/phrase.propagates.style.xml | 29 + doc/help/xslt/params/pixels.per.inch.xml | 31 + doc/help/xslt/params/plus.image.xml | 29 + doc/help/xslt/params/points.per.em.xml | 29 + doc/help/xslt/params/preface.autolabel.xml | 71 + .../xslt/params/prefer.internal.olink.xml | 78 + .../params/preferred.mediaobject.role.xml | 40 + doc/help/xslt/params/prev.image.xml | 27 + doc/help/xslt/params/procedure.properties.xml | 29 + .../xslt/params/process.empty.source.toc.xml | 39 + doc/help/xslt/params/process.source.toc.xml | 39 + doc/help/xslt/params/profile.arch.xml | 39 + doc/help/xslt/params/profile.attribute.xml | 34 + doc/help/xslt/params/profile.audience.xml | 38 + doc/help/xslt/params/profile.condition.xml | 38 + doc/help/xslt/params/profile.conformance.xml | 38 + doc/help/xslt/params/profile.lang.xml | 38 + doc/help/xslt/params/profile.os.xml | 38 + doc/help/xslt/params/profile.revision.xml | 38 + doc/help/xslt/params/profile.revisionflag.xml | 38 + doc/help/xslt/params/profile.role.xml | 54 + doc/help/xslt/params/profile.security.xml | 38 + doc/help/xslt/params/profile.separator.xml | 27 + doc/help/xslt/params/profile.status.xml | 38 + doc/help/xslt/params/profile.userlevel.xml | 38 + doc/help/xslt/params/profile.value.xml | 41 + doc/help/xslt/params/profile.vendor.xml | 38 + doc/help/xslt/params/profile.wordsize.xml | 38 + doc/help/xslt/params/punct.honorific.xml | 28 + doc/help/xslt/params/qanda.defaultlabel.xml | 86 + doc/help/xslt/params/qanda.in.toc.xml | 34 + .../xslt/params/qanda.inherit.numeration.xml | 30 + doc/help/xslt/params/qanda.nested.in.toc.xml | 29 + .../params/qanda.title.level1.properties.xml | 32 + .../params/qanda.title.level2.properties.xml | 32 + .../params/qanda.title.level3.properties.xml | 32 + .../params/qanda.title.level4.properties.xml | 32 + .../params/qanda.title.level5.properties.xml | 32 + .../params/qanda.title.level6.properties.xml | 34 + .../xslt/params/qanda.title.properties.xml | 37 + doc/help/xslt/params/qandadiv.autolabel.xml | 26 + doc/help/xslt/params/rebuild-all.xml | 33 + doc/help/xslt/params/refclass.suppress.xml | 28 + .../params/refentry.date.profile.enabled.xml | 46 + .../xslt/params/refentry.date.profile.xml | 38 + .../xslt/params/refentry.generate.name.xml | 33 + .../xslt/params/refentry.generate.title.xml | 33 + .../refentry.manual.fallback.profile.xml | 48 + .../refentry.manual.profile.enabled.xml | 47 + .../xslt/params/refentry.manual.profile.xml | 72 + .../xslt/params/refentry.meta.get.quietly.xml | 37 + doc/help/xslt/params/refentry.pagebreak.xml | 33 + doc/help/xslt/params/refentry.separator.xml | 29 + .../refentry.source.fallback.profile.xml | 49 + .../refentry.source.name.profile.enabled.xml | 48 + .../params/refentry.source.name.profile.xml | 89 + .../params/refentry.source.name.suppress.xml | 42 + .../xslt/params/refentry.title.properties.xml | 59 + .../refentry.version.profile.enabled.xml | 47 + .../xslt/params/refentry.version.profile.xml | 41 + .../xslt/params/refentry.version.suppress.xml | 43 + .../xslt/params/refentry.xref.manvolnum.xml | 31 + doc/help/xslt/params/reference.autolabel.xml | 67 + doc/help/xslt/params/region.after.extent.xml | 29 + doc/help/xslt/params/region.before.extent.xml | 29 + .../revhistory.table.cell.properties.xml | 28 + .../params/revhistory.table.properties.xml | 28 + .../params/revhistory.title.properties.xml | 28 + doc/help/xslt/params/root.filename.xml | 29 + doc/help/xslt/params/root.properties.xml | 46 + doc/help/xslt/params/rootid.xml | 33 + .../runinhead.default.title.end.punct.xml | 27 + .../xslt/params/runinhead.title.end.punct.xml | 32 + .../xslt/params/running.foot.properties.xml | 34 + doc/help/xslt/params/sans.font.family.xml | 29 + doc/help/xslt/params/saxon.callouts.xml | 30 + .../params/saxon.character.representation.xml | 38 + doc/help/xslt/params/saxon.linenumbering.xml | 32 + doc/help/xslt/params/saxon.tablecolumns.xml | 30 + doc/help/xslt/params/script.dir.xml | 33 + .../params/section.autolabel.max.depth.xml | 32 + doc/help/xslt/params/section.autolabel.xml | 26 + .../xslt/params/section.container.element.xml | 62 + ...section.label.includes.component.label.xml | 27 + .../xslt/params/section.level1.properties.xml | 43 + .../xslt/params/section.level2.properties.xml | 43 + .../xslt/params/section.level3.properties.xml | 43 + .../xslt/params/section.level4.properties.xml | 43 + .../xslt/params/section.level5.properties.xml | 43 + .../xslt/params/section.level6.properties.xml | 43 + doc/help/xslt/params/section.properties.xml | 35 + .../section.title.level1.properties.xml | 32 + .../section.title.level2.properties.xml | 33 + .../section.title.level3.properties.xml | 32 + .../section.title.level4.properties.xml | 32 + .../section.title.level5.properties.xml | 32 + .../section.title.level6.properties.xml | 33 + .../xslt/params/section.title.properties.xml | 39 + .../xslt/params/segmentedlist.as.table.xml | 28 + doc/help/xslt/params/sequential.links.xml | 25 + doc/help/xslt/params/shade.verbatim.style.xml | 36 + doc/help/xslt/params/shade.verbatim.xml | 30 + doc/help/xslt/params/show.comments.xml | 32 + doc/help/xslt/params/show.foil.number.xml | 28 + doc/help/xslt/params/show.revisionflag.xml | 42 + doc/help/xslt/params/showtoc.image.xml | 29 + .../xslt/params/side.float.properties.xml | 50 + doc/help/xslt/params/sidebar.float.type.xml | 90 + doc/help/xslt/params/sidebar.float.width.xml | 35 + doc/help/xslt/params/sidebar.properties.xml | 42 + .../xslt/params/sidebar.title.properties.xml | 32 + doc/help/xslt/params/simplesect.in.toc.xml | 26 + doc/help/xslt/params/slide.font.family.xml | 31 + .../xslt/params/slide.title.font.family.xml | 31 + doc/help/xslt/params/slides.js.xml | 28 + doc/help/xslt/params/slides.properties.xml | 31 + doc/help/xslt/params/spacing.paras.xml | 30 + .../xslt/params/speakernote.properties.xml | 32 + doc/help/xslt/params/subscript.properties.xml | 29 + .../xslt/params/superscript.properties.xml | 29 + .../params/suppress.footer.navigation.xml | 26 + .../params/suppress.header.navigation.xml | 27 + .../xslt/params/suppress.homepage.title.xml | 25 + doc/help/xslt/params/suppress.navigation.xml | 28 + doc/help/xslt/params/symbol.font.family.xml | 45 + .../xslt/params/table.borders.with.css.xml | 28 + .../xslt/params/table.cell.border.color.xml | 39 + .../xslt/params/table.cell.border.style.xml | 42 + .../params/table.cell.border.thickness.xml | 35 + doc/help/xslt/params/table.cell.padding.xml | 32 + doc/help/xslt/params/table.entry.padding.xml | 27 + .../params/table.footnote.number.format.xml | 33 + .../params/table.footnote.number.symbols.xml | 39 + .../xslt/params/table.footnote.properties.xml | 39 + .../xslt/params/table.frame.border.color.xml | 28 + .../xslt/params/table.frame.border.style.xml | 37 + .../params/table.frame.border.thickness.xml | 27 + doc/help/xslt/params/table.properties.xml | 34 + doc/help/xslt/params/table.spacer.image.xml | 26 + .../xslt/params/table.table.properties.xml | 36 + .../xslt/params/tablecolumns.extension.xml | 30 + .../xslt/params/target.database.document.xml | 37 + doc/help/xslt/params/targets.filename.xml | 32 + doc/help/xslt/params/template.xml | 27 + doc/help/xslt/params/tex.math.delims.xml | 47 + doc/help/xslt/params/tex.math.file.xml | 42 + doc/help/xslt/params/tex.math.in.alt.xml | 76 + doc/help/xslt/params/text.home.xml | 27 + doc/help/xslt/params/text.next.xml | 27 + doc/help/xslt/params/text.prev.xml | 27 + doc/help/xslt/params/text.toc.xml | 27 + doc/help/xslt/params/text.up.xml | 27 + doc/help/xslt/params/textbgcolor.xml | 26 + .../xslt/params/textdata.default.encoding.xml | 32 + doc/help/xslt/params/textinsert.extension.xml | 62 + doc/help/xslt/params/title.font.family.xml | 33 + doc/help/xslt/params/title.margin.left.xml | 65 + doc/help/xslt/params/titlefoil.html.xml | 27 + doc/help/xslt/params/toc.bg.color.xml | 27 + doc/help/xslt/params/toc.blank.graphic.xml | 28 + doc/help/xslt/params/toc.blank.image.xml | 27 + doc/help/xslt/params/toc.blank.text.xml | 27 + doc/help/xslt/params/toc.hide.show.xml | 33 + doc/help/xslt/params/toc.html.xml | 27 + doc/help/xslt/params/toc.image.xml | 27 + doc/help/xslt/params/toc.indent.width.xml | 34 + doc/help/xslt/params/toc.line.properties.xml | 44 + doc/help/xslt/params/toc.list.type.xml | 30 + .../xslt/params/toc.margin.properties.xml | 33 + doc/help/xslt/params/toc.max.depth.xml | 25 + doc/help/xslt/params/toc.pointer.graphic.xml | 28 + doc/help/xslt/params/toc.pointer.image.xml | 27 + doc/help/xslt/params/toc.pointer.text.xml | 27 + doc/help/xslt/params/toc.row.height.xml | 33 + doc/help/xslt/params/toc.section.depth.xml | 28 + doc/help/xslt/params/toc.spacer.graphic.xml | 28 + doc/help/xslt/params/toc.spacer.image.xml | 27 + doc/help/xslt/params/toc.spacer.text.xml | 27 + doc/help/xslt/params/toc.width.xml | 28 + doc/help/xslt/params/ua.js.xml | 28 + doc/help/xslt/params/ulink.footnotes.xml | 34 + .../xslt/params/ulink.hyphenate.chars.xml | 37 + doc/help/xslt/params/ulink.hyphenate.xml | 35 + doc/help/xslt/params/ulink.show.xml | 37 + doc/help/xslt/params/ulink.target.xml | 29 + doc/help/xslt/params/up.image.xml | 27 + doc/help/xslt/params/use.embed.for.svg.xml | 33 + doc/help/xslt/params/use.extensions.xml | 31 + doc/help/xslt/params/use.id.as.filename.xml | 30 + doc/help/xslt/params/use.id.function.xml | 32 + .../xslt/params/use.local.olink.style.xml | 28 + .../xslt/params/use.role.as.xrefstyle.xml | 93 + .../xslt/params/use.role.for.mediaobject.xml | 56 + doc/help/xslt/params/use.svg.xml | 30 + .../xslt/params/variablelist.as.blocks.xml | 62 + .../xslt/params/variablelist.as.table.xml | 54 + .../params/variablelist.max.termlength.xml | 46 + .../params/variablelist.term.break.after.xml | 39 + .../params/variablelist.term.properties.xml | 29 + .../params/variablelist.term.separator.xml | 40 + doc/help/xslt/params/verbatim.properties.xml | 38 + doc/help/xslt/params/wordml.template.xml | 29 + doc/help/xslt/params/writing.mode.xml | 83 + .../xslt/params/xbCollapsibleLists.js.xml | 28 + doc/help/xslt/params/xbDOM.js.xml | 28 + doc/help/xslt/params/xbLibrary.js.xml | 28 + doc/help/xslt/params/xbStyle.js.xml | 28 + doc/help/xslt/params/xep.extensions.xml | 31 + .../xslt/params/xep.index.item.properties.xml | 36 + .../xslt/params/xref.label-page.separator.xml | 38 + .../params/xref.label-title.separator.xml | 36 + doc/help/xslt/params/xref.properties.xml | 29 + .../xslt/params/xref.title-page.separator.xml | 36 + .../params/xref.with.number.and.title.xml | 30 + doc/help/xslt/profiling/profile-mode.xsl | 239 + doc/help/xslt/profiling/profile.xsl | 56 + doc/help/xslt/profiling/strip-attributes.xsl | 27 + doc/help/xslt/profiling/xsl2profile.xsl | 159 + doc/help/xslt/roundtrip/blocks-spec.xml | 11 + doc/help/xslt/roundtrip/blocks2dbk.dtd | 76 + doc/help/xslt/roundtrip/blocks2dbk.xsl | 1732 + doc/help/xslt/roundtrip/dbk2ooo.xsl | 178 + doc/help/xslt/roundtrip/dbk2pages.xsl | 441 + doc/help/xslt/roundtrip/dbk2wordml.xsl | 401 + doc/help/xslt/roundtrip/dbk2wp.xsl | 1375 + doc/help/xslt/roundtrip/normalise-common.xsl | 39 + .../xslt/roundtrip/normalise2sections.xsl | 1270 + doc/help/xslt/roundtrip/pages2normalise.xsl | 351 + doc/help/xslt/roundtrip/param.xml | 105 + doc/help/xslt/roundtrip/param.xsl | 18 + doc/help/xslt/roundtrip/sections-spec.xml | 38 + doc/help/xslt/roundtrip/sections2blocks.xsl | 263 + doc/help/xslt/roundtrip/specifications.xml | 1420 + doc/help/xslt/roundtrip/template-pages.xml | 2 + doc/help/xslt/roundtrip/template.dot | Bin 0 -> 38912 bytes doc/help/xslt/roundtrip/template.xml | 3 + doc/help/xslt/roundtrip/wordml2normalise.xsl | 445 + doc/help/xslt/slides/browser/CTOCWidget.js | 169 + doc/help/xslt/slides/browser/overlay.js | 142 + .../xslt/slides/browser/slides-default.css | 9 + .../xslt/slides/browser/slides-frames.css | 73 + doc/help/xslt/slides/browser/slides-plain.css | 1 + doc/help/xslt/slides/browser/slides-table.css | 41 + doc/help/xslt/slides/browser/slides-w3c.css | 1 + doc/help/xslt/slides/browser/slides.css | 119 + doc/help/xslt/slides/browser/slides.js | 120 + doc/help/xslt/slides/browser/ua.js | 135 + .../xslt/slides/browser/xbCollapsibleLists.js | 537 + doc/help/xslt/slides/browser/xbDOM.js | 374 + doc/help/xslt/slides/browser/xbDebug.js | 311 + doc/help/xslt/slides/browser/xbLibrary.js | 80 + doc/help/xslt/slides/browser/xbStyle-css.js | 791 + doc/help/xslt/slides/browser/xbStyle-nn4.js | 485 + .../slides/browser/xbStyle-not-supported.js | 77 + doc/help/xslt/slides/browser/xbStyle.js | 295 + doc/help/xslt/slides/fo/param.xml | 356 + doc/help/xslt/slides/fo/param.xsl | 74 + doc/help/xslt/slides/fo/plain-titlepage.xml | 79 + doc/help/xslt/slides/fo/plain-titlepage.xsl | 187 + doc/help/xslt/slides/fo/plain.xsl | 528 + .../xslt/slides/graphics/active/arr-next.png | Bin 0 -> 122 bytes .../xslt/slides/graphics/active/arr-prev.png | Bin 0 -> 118 bytes .../slides/graphics/active/but-fforward.png | Bin 0 -> 575 bytes .../xslt/slides/graphics/active/but-info.png | Bin 0 -> 587 bytes .../xslt/slides/graphics/active/but-next.png | Bin 0 -> 557 bytes .../xslt/slides/graphics/active/but-prev.png | Bin 0 -> 563 bytes .../slides/graphics/active/but-rewind.png | Bin 0 -> 595 bytes .../xslt/slides/graphics/active/nav-home.png | Bin 0 -> 372 bytes .../xslt/slides/graphics/active/nav-next.png | Bin 0 -> 406 bytes .../xslt/slides/graphics/active/nav-prev.png | Bin 0 -> 405 bytes .../xslt/slides/graphics/active/nav-toc.png | Bin 0 -> 220 bytes .../xslt/slides/graphics/active/nav-up.png | Bin 0 -> 422 bytes .../xslt/slides/graphics/active/w3c-next.png | Bin 0 -> 163 bytes .../xslt/slides/graphics/active/w3c-prev.png | Bin 0 -> 159 bytes .../xslt/slides/graphics/active/w3c-toc.png | Bin 0 -> 232 bytes doc/help/xslt/slides/graphics/arrow.gif | Bin 0 -> 144 bytes doc/help/xslt/slides/graphics/blank.gif | Bin 0 -> 123 bytes doc/help/xslt/slides/graphics/blank.png | Bin 0 -> 100 bytes doc/help/xslt/slides/graphics/hidetoc.gif | Bin 0 -> 922 bytes .../slides/graphics/inactive/but-fforward.png | Bin 0 -> 573 bytes .../slides/graphics/inactive/but-info.png | Bin 0 -> 301 bytes .../slides/graphics/inactive/but-next.png | Bin 0 -> 560 bytes .../slides/graphics/inactive/but-prev.png | Bin 0 -> 569 bytes .../slides/graphics/inactive/but-rewind.png | Bin 0 -> 594 bytes .../slides/graphics/inactive/nav-home.png | Bin 0 -> 365 bytes .../slides/graphics/inactive/nav-next.png | Bin 0 -> 384 bytes .../slides/graphics/inactive/nav-prev.png | Bin 0 -> 420 bytes .../xslt/slides/graphics/inactive/nav-toc.png | Bin 0 -> 226 bytes .../xslt/slides/graphics/inactive/nav-up.png | Bin 0 -> 232 bytes .../slides/graphics/inactive/w3c-next.png | Bin 0 -> 251 bytes .../slides/graphics/inactive/w3c-prev.png | Bin 0 -> 257 bytes .../xslt/slides/graphics/inactive/w3c-toc.png | Bin 0 -> 246 bytes doc/help/xslt/slides/graphics/plus.gif | Bin 0 -> 137 bytes doc/help/xslt/slides/graphics/pointer.png | Bin 0 -> 172 bytes doc/help/xslt/slides/graphics/showtoc.gif | Bin 0 -> 922 bytes doc/help/xslt/slides/graphics/toc/bullet.png | Bin 0 -> 167 bytes doc/help/xslt/slides/graphics/toc/closed.png | Bin 0 -> 157 bytes doc/help/xslt/slides/graphics/toc/open.png | Bin 0 -> 146 bytes doc/help/xslt/slides/html/css.xsl | 46 + doc/help/xslt/slides/html/default.xsl | 261 + doc/help/xslt/slides/html/flat.xsl | 70 + doc/help/xslt/slides/html/frames.xsl | 2016 + doc/help/xslt/slides/html/graphics.xsl | 151 + doc/help/xslt/slides/html/jscript.xsl | 127 + doc/help/xslt/slides/html/param.xml | 1376 + doc/help/xslt/slides/html/param.xsl | 68 + doc/help/xslt/slides/html/plain.xsl | 472 + doc/help/xslt/slides/html/slides-common.xsl | 1541 + doc/help/xslt/slides/html/tables.xsl | 336 + doc/help/xslt/slides/html/vslides.xsl | 667 + doc/help/xslt/slides/html/w3c.xsl | 376 + doc/help/xslt/slides/htmlhelp/htmlhelp.xsl | 89 + doc/help/xslt/slides/keynote/default.xsl | 600 + doc/help/xslt/slides/keynote/xsltsl/cmp.xsl | 348 + .../xslt/slides/keynote/xsltsl/date-time.xsl | 1524 + .../xslt/slides/keynote/xsltsl/example.xsl | 90 + .../xslt/slides/keynote/xsltsl/markup.xsl | 789 + doc/help/xslt/slides/keynote/xsltsl/math.xsl | 704 + doc/help/xslt/slides/keynote/xsltsl/node.xsl | 229 + .../xslt/slides/keynote/xsltsl/stdlib.xsl | 340 + .../xslt/slides/keynote/xsltsl/string.xsl | 1233 + doc/help/xslt/slides/keynote/xsltsl/svg.xsl | 177 + doc/help/xslt/slides/keynote/xsltsl/uri.xsl | 580 + doc/help/xslt/slides/svg/default.xsl | 686 + doc/help/xslt/slides/xhtml/css.xsl | 47 + doc/help/xslt/slides/xhtml/default.xsl | 246 + doc/help/xslt/slides/xhtml/flat.xsl | 71 + doc/help/xslt/slides/xhtml/frames.xsl | 1982 + doc/help/xslt/slides/xhtml/graphics.xsl | 152 + doc/help/xslt/slides/xhtml/jscript.xsl | 128 + doc/help/xslt/slides/xhtml/param.xsl | 70 + doc/help/xslt/slides/xhtml/plain.xsl | 470 + doc/help/xslt/slides/xhtml/slides-common.xsl | 1534 + doc/help/xslt/slides/xhtml/tables.xsl | 334 + doc/help/xslt/slides/xhtml/vslides.xsl | 652 + doc/help/xslt/slides/xhtml/w3c.xsl | 358 + doc/help/xslt/template/titlepage.xml | 478 + doc/help/xslt/template/titlepage.xsl | 1280 + doc/help/xslt/tests/refentry.007.ns.xml | 325 + doc/help/xslt/tests/refentry.007.xml | 340 + doc/help/xslt/tools/bin/docbook-xsl-update | 53 + doc/help/xslt/tools/make/Makefile.DocBook | 698 + doc/help/xslt/tools/make/Makefile.combine | 182 + doc/help/xslt/tools/make/Makefile.docParam | 59 + doc/help/xslt/webhelp/LICENSE | 1 + doc/help/xslt/webhelp/build.properties | 43 + doc/help/xslt/webhelp/build.xml | 112 + .../webhelp/docs/common/css/positioning.css | 109 + .../webhelp/docs/common/images/header-bg.gif | Bin 0 -> 619 bytes .../docs/common/images/highlight-blue.gif | Bin 0 -> 471 bytes .../docs/common/images/highlight-yellow.gif | Bin 0 -> 331 bytes .../webhelp/docs/common/images/loading.gif | Bin 0 -> 729 bytes .../xslt/webhelp/docs/common/images/logo.png | Bin 0 -> 35061 bytes .../docs/common/images/showHideTreeIcons.png | Bin 0 -> 726 bytes .../docs/common/jquery/jquery-1.4.2.min.js | 154 + .../jquery/jquery-ui-1.8.2.custom.min.js | 321 + .../docs/common/jquery/jquery.cookie.js | 93 + .../images/ui-anim_basic_16x16.gif | Bin 0 -> 1553 bytes .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 0 -> 180 bytes .../images/ui-bg_flat_55_fbec88_40x100.png | Bin 0 -> 182 bytes .../images/ui-bg_glass_75_d0e5f5_1x400.png | Bin 0 -> 162 bytes .../images/ui-bg_glass_85_dfeffc_1x400.png | Bin 0 -> 123 bytes .../images/ui-bg_glass_95_fef1ec_1x400.png | Bin 0 -> 119 bytes .../ui-bg_gloss-wave_55_5c9ccc_500x100.png | Bin 0 -> 3457 bytes .../ui-bg_inset-hard_100_f5f8f9_1x100.png | Bin 0 -> 104 bytes .../ui-bg_inset-hard_100_fcfdfd_1x100.png | Bin 0 -> 88 bytes .../images/ui-icons_217bc0_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_2e83ff_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_469bdd_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_6da8d5_256x240.png | Bin 0 -> 5355 bytes .../images/ui-icons_cd0a0a_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_d8e7f3_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_f9bd01_256x240.png | Bin 0 -> 5355 bytes .../theme-redmond/jquery-ui-1.8.2.custom.css | 398 + .../common/jquery/treeview/images/file.gif | Bin 0 -> 1008 bytes .../jquery/treeview/images/folder-closed.gif | Bin 0 -> 631 bytes .../jquery/treeview/images/folder-closed2.gif | Bin 0 -> 105 bytes .../common/jquery/treeview/images/folder.gif | Bin 0 -> 631 bytes .../common/jquery/treeview/images/folder2.gif | Bin 0 -> 106 bytes .../common/jquery/treeview/images/minus.gif | Bin 0 -> 837 bytes .../common/jquery/treeview/images/plus.gif | Bin 0 -> 841 bytes .../treeview/images/treeview-black-line.gif | Bin 0 -> 1877 bytes .../jquery/treeview/images/treeview-black.gif | Bin 0 -> 1216 bytes .../treeview/images/treeview-default-line.gif | Bin 0 -> 1993 bytes .../treeview/images/treeview-default.gif | Bin 0 -> 1222 bytes .../images/treeview-famfamfam-line.gif | Bin 0 -> 807 bytes .../treeview/images/treeview-famfamfam.gif | Bin 0 -> 1280 bytes .../treeview/images/treeview-gray-line.gif | Bin 0 -> 1877 bytes .../jquery/treeview/images/treeview-gray.gif | Bin 0 -> 1230 bytes .../treeview/images/treeview-red-line.gif | Bin 0 -> 1877 bytes .../jquery/treeview/images/treeview-red.gif | Bin 0 -> 1230 bytes .../jquery/treeview/jquery.treeview.async.js | 72 + .../jquery/treeview/jquery.treeview.css | 85 + .../common/jquery/treeview/jquery.treeview.js | 255 + .../jquery/treeview/jquery.treeview.min.js | 16 + .../jquery/treeview/jquery.treeview.pack.js | 16 + doc/help/xslt/webhelp/docs/common/main.js | 161 + doc/help/xslt/webhelp/docs/content/ch01.html | 61 + doc/help/xslt/webhelp/docs/content/ch02.html | 32 + .../xslt/webhelp/docs/content/ch02s01.html | 117 + .../xslt/webhelp/docs/content/ch02s02.html | 102 + .../xslt/webhelp/docs/content/ch02s03.html | 36 + .../xslt/webhelp/docs/content/ch02s04.html | 42 + doc/help/xslt/webhelp/docs/content/ch03.html | 37 + .../xslt/webhelp/docs/content/ch03s01.html | 62 + .../xslt/webhelp/docs/content/ch03s02.html | 124 + doc/help/xslt/webhelp/docs/content/index.html | 71 + .../docs/content/search/htmlFileInfoList.js | 10 + .../docs/content/search/htmlFileList.js | 11 + .../webhelp/docs/content/search/index-1.js | 224 + .../webhelp/docs/content/search/index-2.js | 223 + .../webhelp/docs/content/search/index-3.js | 221 + .../docs/content/search/nwSearchFnt.js | 513 + .../content/search/stemmers/en_stemmer.js | 187 + doc/help/xslt/webhelp/docs/favicon.ico | Bin 0 -> 5686 bytes doc/help/xslt/webhelp/docs/index.html | 13 + doc/help/xslt/webhelp/docsrc/readme.xml | 928 + .../template/common/css/positioning.css | 109 + .../template/common/images/header-bg.gif | Bin 0 -> 619 bytes .../template/common/images/highlight-blue.gif | Bin 0 -> 471 bytes .../common/images/highlight-yellow.gif | Bin 0 -> 331 bytes .../template/common/images/loading.gif | Bin 0 -> 729 bytes .../webhelp/template/common/images/logo.png | Bin 0 -> 35061 bytes .../common/images/showHideTreeIcons.png | Bin 0 -> 726 bytes .../common/jquery/jquery-1.4.2.min.js | 154 + .../jquery/jquery-ui-1.8.2.custom.min.js | 321 + .../template/common/jquery/jquery.cookie.js | 93 + .../images/ui-anim_basic_16x16.gif | Bin 0 -> 1553 bytes .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 0 -> 180 bytes .../images/ui-bg_flat_55_fbec88_40x100.png | Bin 0 -> 182 bytes .../images/ui-bg_glass_75_d0e5f5_1x400.png | Bin 0 -> 162 bytes .../images/ui-bg_glass_85_dfeffc_1x400.png | Bin 0 -> 123 bytes .../images/ui-bg_glass_95_fef1ec_1x400.png | Bin 0 -> 119 bytes .../ui-bg_gloss-wave_55_5c9ccc_500x100.png | Bin 0 -> 3457 bytes .../ui-bg_inset-hard_100_f5f8f9_1x100.png | Bin 0 -> 104 bytes .../ui-bg_inset-hard_100_fcfdfd_1x100.png | Bin 0 -> 88 bytes .../images/ui-icons_217bc0_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_2e83ff_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_469bdd_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_6da8d5_256x240.png | Bin 0 -> 5355 bytes .../images/ui-icons_cd0a0a_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_d8e7f3_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_f9bd01_256x240.png | Bin 0 -> 5355 bytes .../theme-redmond/jquery-ui-1.8.2.custom.css | 398 + .../common/jquery/treeview/images/file.gif | Bin 0 -> 1008 bytes .../jquery/treeview/images/folder-closed.gif | Bin 0 -> 631 bytes .../jquery/treeview/images/folder-closed2.gif | Bin 0 -> 105 bytes .../common/jquery/treeview/images/folder.gif | Bin 0 -> 631 bytes .../common/jquery/treeview/images/folder2.gif | Bin 0 -> 106 bytes .../common/jquery/treeview/images/minus.gif | Bin 0 -> 837 bytes .../common/jquery/treeview/images/plus.gif | Bin 0 -> 841 bytes .../treeview/images/treeview-black-line.gif | Bin 0 -> 1877 bytes .../jquery/treeview/images/treeview-black.gif | Bin 0 -> 1216 bytes .../treeview/images/treeview-default-line.gif | Bin 0 -> 1993 bytes .../treeview/images/treeview-default.gif | Bin 0 -> 1222 bytes .../images/treeview-famfamfam-line.gif | Bin 0 -> 807 bytes .../treeview/images/treeview-famfamfam.gif | Bin 0 -> 1280 bytes .../treeview/images/treeview-gray-line.gif | Bin 0 -> 1877 bytes .../jquery/treeview/images/treeview-gray.gif | Bin 0 -> 1230 bytes .../treeview/images/treeview-red-line.gif | Bin 0 -> 1877 bytes .../jquery/treeview/images/treeview-red.gif | Bin 0 -> 1230 bytes .../jquery/treeview/jquery.treeview.async.js | 72 + .../jquery/treeview/jquery.treeview.css | 85 + .../common/jquery/treeview/jquery.treeview.js | 255 + .../jquery/treeview/jquery.treeview.min.js | 16 + .../jquery/treeview/jquery.treeview.pack.js | 16 + doc/help/xslt/webhelp/template/common/main.js | 161 + .../template/content/search/default.props | 1 + .../template/content/search/en-us.props | 45 + .../template/content/search/es-es.props | 179 + .../template/content/search/ja-jp.props | 1 + .../template/content/search/nwSearchFnt.js | 513 + .../template/content/search/punctuation.props | 31 + .../content/search/stemmers/de_stemmer.js | 247 + .../content/search/stemmers/en_stemmer.js | 187 + .../content/search/stemmers/fr_stemmer.js | 299 + doc/help/xslt/webhelp/template/favicon.ico | Bin 0 -> 5686 bytes doc/help/xslt/webhelp/xsl/webhelp.xsl | 782 + doc/help/xslt/website/autolayout.xsl | 258 + doc/help/xslt/website/chunk-common.xsl | 227 + doc/help/xslt/website/chunk-tabular.xsl | 12 + doc/help/xslt/website/chunk-website.xsl | 12 + doc/help/xslt/website/head.xsl | 316 + doc/help/xslt/website/makefile-dep.xsl | 143 + doc/help/xslt/website/olink.xsl | 297 + doc/help/xslt/website/param.xml | 788 + doc/help/xslt/website/param.xsl | 53 + doc/help/xslt/website/rss.xsl | 143 + doc/help/xslt/website/tabular.xsl | 213 + doc/help/xslt/website/toc-tabular.xsl | 480 + doc/help/xslt/website/toc.xsl | 286 + doc/help/xslt/website/website-common.xsl | 821 + doc/help/xslt/website/website-targets.xsl | 27 + doc/help/xslt/website/website.xsl | 132 + doc/help/xslt/website/xbel.xsl | 114 + doc/help/xslt/xhtml-1_1/admon.xsl | 133 + doc/help/xslt/xhtml-1_1/annotations.xsl | 158 + doc/help/xslt/xhtml-1_1/autoidx-kimber.xsl | 139 + doc/help/xslt/xhtml-1_1/autoidx-kosek.xsl | 109 + doc/help/xslt/xhtml-1_1/autoidx-ng.xsl | 21 + doc/help/xslt/xhtml-1_1/autoidx.xsl | 681 + doc/help/xslt/xhtml-1_1/autotoc.xsl | 663 + doc/help/xslt/xhtml-1_1/biblio-iso690.xsl | 1300 + doc/help/xslt/xhtml-1_1/biblio.xsl | 1240 + doc/help/xslt/xhtml-1_1/block.xsl | 535 + doc/help/xslt/xhtml-1_1/callout.xsl | 188 + doc/help/xslt/xhtml-1_1/changebars.xsl | 78 + doc/help/xslt/xhtml-1_1/chunk-changebars.xsl | 96 + doc/help/xslt/xhtml-1_1/chunk-code.xsl | 645 + doc/help/xslt/xhtml-1_1/chunk-common.xsl | 1561 + doc/help/xslt/xhtml-1_1/chunk.xsl | 52 + doc/help/xslt/xhtml-1_1/chunker.xsl | 302 + doc/help/xslt/xhtml-1_1/chunkfast.xsl | 69 + doc/help/xslt/xhtml-1_1/chunktoc.xsl | 528 + doc/help/xslt/xhtml-1_1/component.xsl | 395 + doc/help/xslt/xhtml-1_1/division.xsl | 217 + doc/help/xslt/xhtml-1_1/docbook.css.xml | 109 + doc/help/xslt/xhtml-1_1/docbook.xsl | 446 + doc/help/xslt/xhtml-1_1/ebnf.xsl | 328 + doc/help/xslt/xhtml-1_1/footnote.xsl | 305 + doc/help/xslt/xhtml-1_1/formal.xsl | 411 + doc/help/xslt/xhtml-1_1/glossary.xsl | 564 + doc/help/xslt/xhtml-1_1/graphics.xsl | 1436 + doc/help/xslt/xhtml-1_1/highlight.xsl | 88 + doc/help/xslt/xhtml-1_1/html-rtf.xsl | 321 + doc/help/xslt/xhtml-1_1/html.xsl | 598 + doc/help/xslt/xhtml-1_1/htmltbl.xsl | 102 + doc/help/xslt/xhtml-1_1/index.xsl | 264 + doc/help/xslt/xhtml-1_1/info.xsl | 44 + doc/help/xslt/xhtml-1_1/inline.xsl | 1451 + doc/help/xslt/xhtml-1_1/keywords.xsl | 36 + doc/help/xslt/xhtml-1_1/lists.xsl | 1088 + doc/help/xslt/xhtml-1_1/maketoc.xsl | 91 + doc/help/xslt/xhtml-1_1/manifest.xsl | 22 + doc/help/xslt/xhtml-1_1/math.xsl | 284 + doc/help/xslt/xhtml-1_1/oldchunker.xsl | 176 + doc/help/xslt/xhtml-1_1/onechunk.xsl | 36 + doc/help/xslt/xhtml-1_1/param.xsl | 436 + doc/help/xslt/xhtml-1_1/pi.xsl | 1203 + .../xslt/xhtml-1_1/profile-chunk-code.xsl | 617 + doc/help/xslt/xhtml-1_1/profile-chunk.xsl | 52 + doc/help/xslt/xhtml-1_1/profile-docbook.xsl | 408 + doc/help/xslt/xhtml-1_1/profile-onechunk.xsl | 36 + doc/help/xslt/xhtml-1_1/qandaset.xsl | 420 + doc/help/xslt/xhtml-1_1/refentry.xsl | 299 + doc/help/xslt/xhtml-1_1/sections.xsl | 541 + doc/help/xslt/xhtml-1_1/synop.xsl | 1513 + doc/help/xslt/xhtml-1_1/table.xsl | 1168 + doc/help/xslt/xhtml-1_1/task.xsl | 73 + .../xslt/xhtml-1_1/titlepage.templates.xsl | 3817 ++ doc/help/xslt/xhtml-1_1/titlepage.xsl | 1030 + doc/help/xslt/xhtml-1_1/toc.xsl | 330 + doc/help/xslt/xhtml-1_1/verbatim.xsl | 388 + doc/help/xslt/xhtml-1_1/xref.xsl | 1316 + doc/help/xslt/xhtml/admon.xsl | 135 + doc/help/xslt/xhtml/annotations.xsl | 158 + doc/help/xslt/xhtml/autoidx-kimber.xsl | 139 + doc/help/xslt/xhtml/autoidx-kosek.xsl | 109 + doc/help/xslt/xhtml/autoidx-ng.xsl | 21 + doc/help/xslt/xhtml/autoidx.xsl | 681 + doc/help/xslt/xhtml/autotoc.xsl | 663 + doc/help/xslt/xhtml/biblio-iso690.xsl | 1300 + doc/help/xslt/xhtml/biblio.xsl | 1240 + doc/help/xslt/xhtml/block.xsl | 535 + doc/help/xslt/xhtml/callout.xsl | 188 + doc/help/xslt/xhtml/changebars.xsl | 78 + doc/help/xslt/xhtml/chunk-changebars.xsl | 96 + doc/help/xslt/xhtml/chunk-code.xsl | 645 + doc/help/xslt/xhtml/chunk-common.xsl | 1561 + doc/help/xslt/xhtml/chunk.xsl | 52 + doc/help/xslt/xhtml/chunker.xsl | 302 + doc/help/xslt/xhtml/chunkfast.xsl | 69 + doc/help/xslt/xhtml/chunktoc.xsl | 528 + doc/help/xslt/xhtml/component.xsl | 395 + doc/help/xslt/xhtml/division.xsl | 217 + doc/help/xslt/xhtml/docbook.css.xml | 109 + doc/help/xslt/xhtml/docbook.xsl | 446 + doc/help/xslt/xhtml/ebnf.xsl | 328 + doc/help/xslt/xhtml/footnote.xsl | 305 + doc/help/xslt/xhtml/formal.xsl | 411 + doc/help/xslt/xhtml/glossary.xsl | 564 + doc/help/xslt/xhtml/graphics.xsl | 1436 + doc/help/xslt/xhtml/highlight.xsl | 88 + doc/help/xslt/xhtml/html-rtf.xsl | 321 + doc/help/xslt/xhtml/html.xsl | 598 + doc/help/xslt/xhtml/htmltbl.xsl | 102 + doc/help/xslt/xhtml/index.xsl | 264 + doc/help/xslt/xhtml/info.xsl | 44 + doc/help/xslt/xhtml/inline.xsl | 1451 + doc/help/xslt/xhtml/keywords.xsl | 36 + doc/help/xslt/xhtml/lists.xsl | 1121 + doc/help/xslt/xhtml/maketoc.xsl | 91 + doc/help/xslt/xhtml/manifest.xsl | 22 + doc/help/xslt/xhtml/math.xsl | 284 + doc/help/xslt/xhtml/oldchunker.xsl | 176 + doc/help/xslt/xhtml/onechunk.xsl | 36 + doc/help/xslt/xhtml/param.xsl | 436 + doc/help/xslt/xhtml/pi.xsl | 1203 + doc/help/xslt/xhtml/profile-chunk-code.xsl | 617 + doc/help/xslt/xhtml/profile-chunk.xsl | 52 + doc/help/xslt/xhtml/profile-docbook.xsl | 408 + doc/help/xslt/xhtml/profile-onechunk.xsl | 36 + doc/help/xslt/xhtml/qandaset.xsl | 420 + doc/help/xslt/xhtml/refentry.xsl | 299 + doc/help/xslt/xhtml/sections.xsl | 541 + doc/help/xslt/xhtml/synop.xsl | 1513 + doc/help/xslt/xhtml/table.xsl | 1168 + doc/help/xslt/xhtml/task.xsl | 73 + doc/help/xslt/xhtml/titlepage.templates.xsl | 3817 ++ doc/help/xslt/xhtml/titlepage.xsl | 1030 + doc/help/xslt/xhtml/toc.xsl | 330 + doc/help/xslt/xhtml/verbatim.xsl | 388 + doc/help/xslt/xhtml/xref.xsl | 1316 + 1496 files changed, 433076 insertions(+) create mode 100644 doc/help/Makefile create mode 100644 doc/help/book/images/inetaccess-main.png create mode 100644 doc/help/book/images/sgconfig-main.png create mode 100644 doc/help/ch1.xml create mode 100644 doc/help/ch10.xml create mode 100644 doc/help/ch11.xml create mode 100644 doc/help/ch12.xml create mode 100644 doc/help/ch2.xml create mode 100644 doc/help/ch3.xml create mode 100644 doc/help/ch4.xml create mode 100644 doc/help/ch5.xml create mode 100644 doc/help/ch6.xml create mode 100644 doc/help/ch7.xml create mode 100644 doc/help/ch8.xml create mode 100644 doc/help/ch9.xml create mode 100644 doc/help/docbook.dtd create mode 100644 doc/help/help.xml create mode 100644 doc/help/xslt/.CatalogManager.properties.example create mode 100644 doc/help/xslt/.urilist create mode 100644 doc/help/xslt/AUTHORS create mode 100644 doc/help/xslt/BUGS create mode 100644 doc/help/xslt/COPYING create mode 100644 doc/help/xslt/INSTALL create mode 100644 doc/help/xslt/Makefile create mode 100644 doc/help/xslt/NEWS create mode 100644 doc/help/xslt/NEWS.html create mode 100644 doc/help/xslt/NEWS.xml create mode 100644 doc/help/xslt/README create mode 100644 doc/help/xslt/RELEASE-NOTES.html create mode 100644 doc/help/xslt/RELEASE-NOTES.pdf create mode 100644 doc/help/xslt/RELEASE-NOTES.txt create mode 100644 doc/help/xslt/RELEASE-NOTES.xml create mode 100644 doc/help/xslt/TODO create mode 100644 doc/help/xslt/VERSION create mode 100644 doc/help/xslt/catalog.xml create mode 100644 doc/help/xslt/common/af.xml create mode 100644 doc/help/xslt/common/am.xml create mode 100644 doc/help/xslt/common/ar.xml create mode 100644 doc/help/xslt/common/as.xml create mode 100644 doc/help/xslt/common/ast.xml create mode 100644 doc/help/xslt/common/autoidx-kimber.xsl create mode 100644 doc/help/xslt/common/autoidx-kosek.xsl create mode 100644 doc/help/xslt/common/az.xml create mode 100644 doc/help/xslt/common/bg.xml create mode 100644 doc/help/xslt/common/bn.xml create mode 100644 doc/help/xslt/common/bn_in.xml create mode 100644 doc/help/xslt/common/bs.xml create mode 100644 doc/help/xslt/common/ca.xml create mode 100644 doc/help/xslt/common/charmap.xml create mode 100644 doc/help/xslt/common/charmap.xsl create mode 100644 doc/help/xslt/common/common.xml create mode 100644 doc/help/xslt/common/common.xsl create mode 100644 doc/help/xslt/common/cs.xml create mode 100644 doc/help/xslt/common/cy.xml create mode 100644 doc/help/xslt/common/da.xml create mode 100644 doc/help/xslt/common/de.xml create mode 100644 doc/help/xslt/common/el.xml create mode 100644 doc/help/xslt/common/en.xml create mode 100644 doc/help/xslt/common/entities.ent create mode 100644 doc/help/xslt/common/eo.xml create mode 100644 doc/help/xslt/common/es.xml create mode 100644 doc/help/xslt/common/et.xml create mode 100644 doc/help/xslt/common/eu.xml create mode 100644 doc/help/xslt/common/fa.xml create mode 100644 doc/help/xslt/common/fi.xml create mode 100644 doc/help/xslt/common/fr.xml create mode 100644 doc/help/xslt/common/ga.xml create mode 100644 doc/help/xslt/common/gentext.xsl create mode 100644 doc/help/xslt/common/gl.xml create mode 100644 doc/help/xslt/common/gu.xml create mode 100644 doc/help/xslt/common/he.xml create mode 100644 doc/help/xslt/common/hi.xml create mode 100644 doc/help/xslt/common/hr.xml create mode 100644 doc/help/xslt/common/hu.xml create mode 100644 doc/help/xslt/common/id.xml create mode 100644 doc/help/xslt/common/insertfile.xsl create mode 100644 doc/help/xslt/common/is.xml create mode 100644 doc/help/xslt/common/it.xml create mode 100644 doc/help/xslt/common/ja.xml create mode 100644 doc/help/xslt/common/ka.xml create mode 100644 doc/help/xslt/common/kn.xml create mode 100644 doc/help/xslt/common/ko.xml create mode 100644 doc/help/xslt/common/ky.xml create mode 100644 doc/help/xslt/common/l10n.dtd create mode 100644 doc/help/xslt/common/l10n.xml create mode 100644 doc/help/xslt/common/l10n.xsl create mode 100644 doc/help/xslt/common/la.xml create mode 100644 doc/help/xslt/common/labels.xsl create mode 100644 doc/help/xslt/common/lt.xml create mode 100644 doc/help/xslt/common/lv.xml create mode 100644 doc/help/xslt/common/ml.xml create mode 100644 doc/help/xslt/common/mn.xml create mode 100644 doc/help/xslt/common/mr.xml create mode 100644 doc/help/xslt/common/nb.xml create mode 100644 doc/help/xslt/common/nds.xml create mode 100644 doc/help/xslt/common/nl.xml create mode 100644 doc/help/xslt/common/nn.xml create mode 100644 doc/help/xslt/common/olink.xsl create mode 100644 doc/help/xslt/common/or.xml create mode 100644 doc/help/xslt/common/pa.xml create mode 100644 doc/help/xslt/common/pi.xml create mode 100644 doc/help/xslt/common/pi.xsl create mode 100644 doc/help/xslt/common/pl.xml create mode 100644 doc/help/xslt/common/pt.xml create mode 100644 doc/help/xslt/common/pt_br.xml create mode 100644 doc/help/xslt/common/refentry.xml create mode 100644 doc/help/xslt/common/refentry.xsl create mode 100644 doc/help/xslt/common/ro.xml create mode 100644 doc/help/xslt/common/ru.xml create mode 100644 doc/help/xslt/common/sk.xml create mode 100644 doc/help/xslt/common/sl.xml create mode 100644 doc/help/xslt/common/sq.xml create mode 100644 doc/help/xslt/common/sr.xml create mode 100644 doc/help/xslt/common/sr_Latn.xml create mode 100644 doc/help/xslt/common/stripns.xsl create mode 100644 doc/help/xslt/common/subtitles.xsl create mode 100644 doc/help/xslt/common/sv.xml create mode 100644 doc/help/xslt/common/ta.xml create mode 100644 doc/help/xslt/common/table.xsl create mode 100644 doc/help/xslt/common/targetdatabase.dtd create mode 100644 doc/help/xslt/common/targets.xsl create mode 100644 doc/help/xslt/common/te.xml create mode 100644 doc/help/xslt/common/th.xml create mode 100644 doc/help/xslt/common/titles.xsl create mode 100644 doc/help/xslt/common/tl.xml create mode 100644 doc/help/xslt/common/tr.xml create mode 100644 doc/help/xslt/common/uk.xml create mode 100644 doc/help/xslt/common/utility.xml create mode 100644 doc/help/xslt/common/utility.xsl create mode 100644 doc/help/xslt/common/vi.xml create mode 100644 doc/help/xslt/common/xh.xml create mode 100644 doc/help/xslt/common/zh.xml create mode 100644 doc/help/xslt/common/zh_cn.xml create mode 100644 doc/help/xslt/common/zh_tw.xml create mode 100644 doc/help/xslt/docsrc/authors.xml create mode 100644 doc/help/xslt/docsrc/copyright.xml create mode 100644 doc/help/xslt/docsrc/license.xml create mode 100644 doc/help/xslt/docsrc/page.png create mode 100644 doc/help/xslt/docsrc/reference.css create mode 100644 doc/help/xslt/docsrc/reference.xml create mode 100644 doc/help/xslt/docsrc/reference.xml.included create mode 100644 doc/help/xslt/docsrc/warranty.xml create mode 100644 doc/help/xslt/eclipse/eclipse.xsl create mode 100644 doc/help/xslt/eclipse/eclipse3.xsl create mode 100644 doc/help/xslt/eclipse/profile-eclipse.xsl create mode 100644 doc/help/xslt/epub/README create mode 100755 doc/help/xslt/epub/bin/dbtoepub create mode 100755 doc/help/xslt/epub/bin/lib/docbook.rb create mode 100644 doc/help/xslt/epub/bin/xslt/obfuscate.xsl create mode 100644 doc/help/xslt/epub/docbook.xsl create mode 100755 doc/help/xslt/extensions/LICENSE.txt create mode 100755 doc/help/xslt/extensions/NOTICE.txt create mode 100644 doc/help/xslt/extensions/README.LIBXSLT create mode 100644 doc/help/xslt/extensions/README.txt create mode 100644 doc/help/xslt/extensions/docbook.py create mode 100644 doc/help/xslt/extensions/lucene-analyzers-3.0.0.jar create mode 100644 doc/help/xslt/extensions/lucene-core-3.0.0.jar create mode 100644 doc/help/xslt/extensions/saxon65.jar create mode 100644 doc/help/xslt/extensions/webhelpindexer.jar create mode 100644 doc/help/xslt/extensions/xalan27.jar create mode 100644 doc/help/xslt/extensions/xslt.py create mode 100644 doc/help/xslt/fo/admon.xsl create mode 100644 doc/help/xslt/fo/annotations.xsl create mode 100644 doc/help/xslt/fo/autoidx-kimber.xsl create mode 100644 doc/help/xslt/fo/autoidx-kosek.xsl create mode 100644 doc/help/xslt/fo/autoidx-ng.xsl create mode 100644 doc/help/xslt/fo/autoidx.xsl create mode 100644 doc/help/xslt/fo/autotoc.xsl create mode 100644 doc/help/xslt/fo/axf.xsl create mode 100644 doc/help/xslt/fo/biblio-iso690.xsl create mode 100644 doc/help/xslt/fo/biblio.xsl create mode 100644 doc/help/xslt/fo/block.xsl create mode 100644 doc/help/xslt/fo/callout.xsl create mode 100644 doc/help/xslt/fo/component.xsl create mode 100644 doc/help/xslt/fo/division.xsl create mode 100644 doc/help/xslt/fo/docbook.xsl create mode 100644 doc/help/xslt/fo/ebnf.xsl create mode 100644 doc/help/xslt/fo/fo-rtf.xsl create mode 100644 doc/help/xslt/fo/fo.xsl create mode 100644 doc/help/xslt/fo/footnote.xsl create mode 100644 doc/help/xslt/fo/fop.xsl create mode 100644 doc/help/xslt/fo/fop1.xsl create mode 100644 doc/help/xslt/fo/formal.xsl create mode 100644 doc/help/xslt/fo/glossary.xsl create mode 100644 doc/help/xslt/fo/graphics.xsl create mode 100644 doc/help/xslt/fo/highlight.xsl create mode 100644 doc/help/xslt/fo/htmltbl.xsl create mode 100644 doc/help/xslt/fo/index.xsl create mode 100644 doc/help/xslt/fo/info.xsl create mode 100644 doc/help/xslt/fo/inline.xsl create mode 100644 doc/help/xslt/fo/keywords.xsl create mode 100644 doc/help/xslt/fo/lists.xsl create mode 100644 doc/help/xslt/fo/math.xsl create mode 100644 doc/help/xslt/fo/pagesetup.xsl create mode 100644 doc/help/xslt/fo/param.xml create mode 100644 doc/help/xslt/fo/param.xsl create mode 100644 doc/help/xslt/fo/passivetex.xsl create mode 100755 doc/help/xslt/fo/pdf2index create mode 100644 doc/help/xslt/fo/pi.xml create mode 100644 doc/help/xslt/fo/pi.xsl create mode 100644 doc/help/xslt/fo/profile-docbook.xsl create mode 100644 doc/help/xslt/fo/ptc.xsl create mode 100644 doc/help/xslt/fo/qandaset.xsl create mode 100644 doc/help/xslt/fo/refentry.xsl create mode 100644 doc/help/xslt/fo/sections.xsl create mode 100644 doc/help/xslt/fo/spaces.xsl create mode 100644 doc/help/xslt/fo/synop.xsl create mode 100644 doc/help/xslt/fo/table.xml create mode 100644 doc/help/xslt/fo/table.xsl create mode 100644 doc/help/xslt/fo/task.xsl create mode 100644 doc/help/xslt/fo/titlepage.templates.xml create mode 100644 doc/help/xslt/fo/titlepage.templates.xsl create mode 100644 doc/help/xslt/fo/titlepage.xsl create mode 100644 doc/help/xslt/fo/toc.xsl create mode 100644 doc/help/xslt/fo/verbatim.xsl create mode 100644 doc/help/xslt/fo/xep.xsl create mode 100644 doc/help/xslt/fo/xref.xsl create mode 100644 doc/help/xslt/highlighting/README create mode 100644 doc/help/xslt/highlighting/c-hl.xml create mode 100644 doc/help/xslt/highlighting/common.xsl create mode 100644 doc/help/xslt/highlighting/cpp-hl.xml create mode 100644 doc/help/xslt/highlighting/csharp-hl.xml create mode 100644 doc/help/xslt/highlighting/delphi-hl.xml create mode 100644 doc/help/xslt/highlighting/ini-hl.xml create mode 100644 doc/help/xslt/highlighting/java-hl.xml create mode 100644 doc/help/xslt/highlighting/javascript-hl.xml create mode 100644 doc/help/xslt/highlighting/m2-hl.xml create mode 100644 doc/help/xslt/highlighting/myxml-hl.xml create mode 100644 doc/help/xslt/highlighting/perl-hl.xml create mode 100644 doc/help/xslt/highlighting/php-hl.xml create mode 100644 doc/help/xslt/highlighting/python-hl.xml create mode 100644 doc/help/xslt/highlighting/ruby-hl.xml create mode 100644 doc/help/xslt/highlighting/tcl-hl.xml create mode 100644 doc/help/xslt/highlighting/xslthl-config.xml create mode 100644 doc/help/xslt/html/admon.xsl create mode 100644 doc/help/xslt/html/annotations.xsl create mode 100644 doc/help/xslt/html/autoidx-kimber.xsl create mode 100644 doc/help/xslt/html/autoidx-kosek.xsl create mode 100644 doc/help/xslt/html/autoidx-ng.xsl create mode 100644 doc/help/xslt/html/autoidx.xsl create mode 100644 doc/help/xslt/html/autotoc.xsl create mode 100644 doc/help/xslt/html/biblio-iso690.xsl create mode 100644 doc/help/xslt/html/biblio.xsl create mode 100644 doc/help/xslt/html/block.xsl create mode 100644 doc/help/xslt/html/callout.xsl create mode 100644 doc/help/xslt/html/changebars.xsl create mode 100644 doc/help/xslt/html/chunk-changebars.xsl create mode 100644 doc/help/xslt/html/chunk-code.xsl create mode 100644 doc/help/xslt/html/chunk-common.xsl create mode 100644 doc/help/xslt/html/chunk.xsl create mode 100644 doc/help/xslt/html/chunker.xsl create mode 100644 doc/help/xslt/html/chunkfast.xsl create mode 100644 doc/help/xslt/html/chunktoc.xsl create mode 100644 doc/help/xslt/html/component.xsl create mode 100644 doc/help/xslt/html/division.xsl create mode 100644 doc/help/xslt/html/docbook.css.xml create mode 100644 doc/help/xslt/html/docbook.xsl create mode 100644 doc/help/xslt/html/ebnf.xsl create mode 100644 doc/help/xslt/html/footnote.xsl create mode 100644 doc/help/xslt/html/formal.xsl create mode 100644 doc/help/xslt/html/glossary.xsl create mode 100644 doc/help/xslt/html/graphics.xsl create mode 100644 doc/help/xslt/html/highlight.xsl create mode 100644 doc/help/xslt/html/html-rtf.xsl create mode 100644 doc/help/xslt/html/html.xsl create mode 100644 doc/help/xslt/html/htmltbl.xsl create mode 100644 doc/help/xslt/html/index.xsl create mode 100644 doc/help/xslt/html/info.xsl create mode 100644 doc/help/xslt/html/inline.xsl create mode 100644 doc/help/xslt/html/keywords.xsl create mode 100644 doc/help/xslt/html/lists.xsl create mode 100644 doc/help/xslt/html/maketoc.xsl create mode 100644 doc/help/xslt/html/manifest.xsl create mode 100644 doc/help/xslt/html/math.xsl create mode 100644 doc/help/xslt/html/oldchunker.xsl create mode 100644 doc/help/xslt/html/onechunk.xsl create mode 100644 doc/help/xslt/html/param.xml create mode 100644 doc/help/xslt/html/param.xsl create mode 100644 doc/help/xslt/html/pi.xml create mode 100644 doc/help/xslt/html/pi.xsl create mode 100644 doc/help/xslt/html/profile-chunk-code.xsl create mode 100644 doc/help/xslt/html/profile-chunk.xsl create mode 100644 doc/help/xslt/html/profile-docbook.xsl create mode 100644 doc/help/xslt/html/profile-onechunk.xsl create mode 100644 doc/help/xslt/html/qandaset.xsl create mode 100644 doc/help/xslt/html/refentry.xsl create mode 100644 doc/help/xslt/html/sections.xsl create mode 100644 doc/help/xslt/html/synop.xsl create mode 100644 doc/help/xslt/html/table.xsl create mode 100644 doc/help/xslt/html/task.xsl create mode 100644 doc/help/xslt/html/titlepage.templates.xml create mode 100644 doc/help/xslt/html/titlepage.templates.xsl create mode 100644 doc/help/xslt/html/titlepage.xsl create mode 100644 doc/help/xslt/html/toc.xsl create mode 100644 doc/help/xslt/html/verbatim.xsl create mode 100644 doc/help/xslt/html/xref.xsl create mode 100644 doc/help/xslt/htmlhelp/htmlhelp-common.xsl create mode 100644 doc/help/xslt/htmlhelp/htmlhelp.xsl create mode 100644 doc/help/xslt/htmlhelp/profile-htmlhelp-common.xsl create mode 100644 doc/help/xslt/htmlhelp/profile-htmlhelp.xsl create mode 100644 doc/help/xslt/images/annot-close.png create mode 100644 doc/help/xslt/images/annot-open.png create mode 100644 doc/help/xslt/images/blank.png create mode 100644 doc/help/xslt/images/callouts/1.gif create mode 100644 doc/help/xslt/images/callouts/1.png create mode 100644 doc/help/xslt/images/callouts/1.svg create mode 100644 doc/help/xslt/images/callouts/10.gif create mode 100644 doc/help/xslt/images/callouts/10.png create mode 100644 doc/help/xslt/images/callouts/10.svg create mode 100644 doc/help/xslt/images/callouts/11.gif create mode 100644 doc/help/xslt/images/callouts/11.png create mode 100644 doc/help/xslt/images/callouts/11.svg create mode 100644 doc/help/xslt/images/callouts/12.gif create mode 100644 doc/help/xslt/images/callouts/12.png create mode 100644 doc/help/xslt/images/callouts/12.svg create mode 100644 doc/help/xslt/images/callouts/13.gif create mode 100644 doc/help/xslt/images/callouts/13.png create mode 100644 doc/help/xslt/images/callouts/13.svg create mode 100644 doc/help/xslt/images/callouts/14.gif create mode 100644 doc/help/xslt/images/callouts/14.png create mode 100644 doc/help/xslt/images/callouts/14.svg create mode 100644 doc/help/xslt/images/callouts/15.gif create mode 100644 doc/help/xslt/images/callouts/15.png create mode 100644 doc/help/xslt/images/callouts/15.svg create mode 100644 doc/help/xslt/images/callouts/16.svg create mode 100644 doc/help/xslt/images/callouts/17.svg create mode 100644 doc/help/xslt/images/callouts/18.svg create mode 100644 doc/help/xslt/images/callouts/19.svg create mode 100644 doc/help/xslt/images/callouts/2.gif create mode 100644 doc/help/xslt/images/callouts/2.png create mode 100644 doc/help/xslt/images/callouts/2.svg create mode 100644 doc/help/xslt/images/callouts/20.svg create mode 100644 doc/help/xslt/images/callouts/21.svg create mode 100644 doc/help/xslt/images/callouts/22.svg create mode 100644 doc/help/xslt/images/callouts/23.svg create mode 100644 doc/help/xslt/images/callouts/24.svg create mode 100644 doc/help/xslt/images/callouts/25.svg create mode 100644 doc/help/xslt/images/callouts/26.svg create mode 100644 doc/help/xslt/images/callouts/27.svg create mode 100644 doc/help/xslt/images/callouts/28.svg create mode 100644 doc/help/xslt/images/callouts/29.svg create mode 100644 doc/help/xslt/images/callouts/3.gif create mode 100644 doc/help/xslt/images/callouts/3.png create mode 100644 doc/help/xslt/images/callouts/3.svg create mode 100644 doc/help/xslt/images/callouts/30.svg create mode 100644 doc/help/xslt/images/callouts/4.gif create mode 100644 doc/help/xslt/images/callouts/4.png create mode 100644 doc/help/xslt/images/callouts/4.svg create mode 100644 doc/help/xslt/images/callouts/5.gif create mode 100644 doc/help/xslt/images/callouts/5.png create mode 100644 doc/help/xslt/images/callouts/5.svg create mode 100644 doc/help/xslt/images/callouts/6.gif create mode 100644 doc/help/xslt/images/callouts/6.png create mode 100644 doc/help/xslt/images/callouts/6.svg create mode 100644 doc/help/xslt/images/callouts/7.gif create mode 100644 doc/help/xslt/images/callouts/7.png create mode 100644 doc/help/xslt/images/callouts/7.svg create mode 100644 doc/help/xslt/images/callouts/8.gif create mode 100644 doc/help/xslt/images/callouts/8.png create mode 100644 doc/help/xslt/images/callouts/8.svg create mode 100644 doc/help/xslt/images/callouts/9.gif create mode 100644 doc/help/xslt/images/callouts/9.png create mode 100644 doc/help/xslt/images/callouts/9.svg create mode 100644 doc/help/xslt/images/caution.gif create mode 100644 doc/help/xslt/images/caution.png create mode 100644 doc/help/xslt/images/caution.svg create mode 100644 doc/help/xslt/images/caution.tif create mode 100644 doc/help/xslt/images/colorsvg/caution.svg create mode 100644 doc/help/xslt/images/colorsvg/home.svg create mode 100644 doc/help/xslt/images/colorsvg/important.svg create mode 100644 doc/help/xslt/images/colorsvg/next.svg create mode 100644 doc/help/xslt/images/colorsvg/note.svg create mode 100644 doc/help/xslt/images/colorsvg/prev.svg create mode 100644 doc/help/xslt/images/colorsvg/tip.svg create mode 100644 doc/help/xslt/images/colorsvg/up.svg create mode 100644 doc/help/xslt/images/colorsvg/warning.svg create mode 100644 doc/help/xslt/images/draft.png create mode 100644 doc/help/xslt/images/home.gif create mode 100644 doc/help/xslt/images/home.png create mode 100644 doc/help/xslt/images/home.svg create mode 100644 doc/help/xslt/images/important.gif create mode 100644 doc/help/xslt/images/important.png create mode 100644 doc/help/xslt/images/important.svg create mode 100644 doc/help/xslt/images/important.tif create mode 100644 doc/help/xslt/images/next.gif create mode 100644 doc/help/xslt/images/next.png create mode 100644 doc/help/xslt/images/next.svg create mode 100644 doc/help/xslt/images/note.gif create mode 100644 doc/help/xslt/images/note.png create mode 100644 doc/help/xslt/images/note.svg create mode 100644 doc/help/xslt/images/note.tif create mode 100644 doc/help/xslt/images/prev.gif create mode 100644 doc/help/xslt/images/prev.png create mode 100644 doc/help/xslt/images/prev.svg create mode 100644 doc/help/xslt/images/tip.gif create mode 100644 doc/help/xslt/images/tip.png create mode 100644 doc/help/xslt/images/tip.svg create mode 100644 doc/help/xslt/images/tip.tif create mode 100644 doc/help/xslt/images/toc-blank.png create mode 100644 doc/help/xslt/images/toc-minus.png create mode 100644 doc/help/xslt/images/toc-plus.png create mode 100644 doc/help/xslt/images/up.gif create mode 100644 doc/help/xslt/images/up.png create mode 100644 doc/help/xslt/images/up.svg create mode 100644 doc/help/xslt/images/warning.gif create mode 100644 doc/help/xslt/images/warning.png create mode 100644 doc/help/xslt/images/warning.svg create mode 100644 doc/help/xslt/images/warning.tif create mode 100755 doc/help/xslt/install.sh create mode 100644 doc/help/xslt/javahelp/javahelp.xsl create mode 100644 doc/help/xslt/javahelp/profile-javahelp.xsl create mode 100644 doc/help/xslt/lib/lib.xsl create mode 100644 doc/help/xslt/manpages/ChangeLog.20020917 create mode 100644 doc/help/xslt/manpages/block.xsl create mode 100644 doc/help/xslt/manpages/charmap.groff.xsl create mode 100644 doc/help/xslt/manpages/docbook.xsl create mode 100644 doc/help/xslt/manpages/endnotes.xsl create mode 100644 doc/help/xslt/manpages/html-synop.xsl create mode 100644 doc/help/xslt/manpages/info.xsl create mode 100644 doc/help/xslt/manpages/inline.xsl create mode 100644 doc/help/xslt/manpages/lists.xsl create mode 100644 doc/help/xslt/manpages/other.xsl create mode 100644 doc/help/xslt/manpages/param.xml create mode 100644 doc/help/xslt/manpages/param.xsl create mode 100644 doc/help/xslt/manpages/pi.xml create mode 100644 doc/help/xslt/manpages/pi.xsl create mode 100644 doc/help/xslt/manpages/profile-docbook.xsl create mode 100644 doc/help/xslt/manpages/refentry.xsl create mode 100644 doc/help/xslt/manpages/synop.xsl create mode 100644 doc/help/xslt/manpages/table.xsl create mode 100644 doc/help/xslt/manpages/utility.xsl create mode 100644 doc/help/xslt/params/abstract.notitle.enabled.xml create mode 100644 doc/help/xslt/params/abstract.properties.xml create mode 100644 doc/help/xslt/params/abstract.title.properties.xml create mode 100644 doc/help/xslt/params/active.toc.xml create mode 100644 doc/help/xslt/params/ade.extensions.xml create mode 100644 doc/help/xslt/params/admon.graphics.extension.xml create mode 100644 doc/help/xslt/params/admon.graphics.path.xml create mode 100644 doc/help/xslt/params/admon.graphics.xml create mode 100644 doc/help/xslt/params/admon.style.xml create mode 100644 doc/help/xslt/params/admon.textlabel.xml create mode 100644 doc/help/xslt/params/admonition.properties.xml create mode 100644 doc/help/xslt/params/admonition.title.properties.xml create mode 100644 doc/help/xslt/params/alignment.xml create mode 100644 doc/help/xslt/params/annotate.toc.xml create mode 100644 doc/help/xslt/params/annotation.css.xml create mode 100644 doc/help/xslt/params/annotation.graphic.close.xml create mode 100644 doc/help/xslt/params/annotation.graphic.open.xml create mode 100644 doc/help/xslt/params/annotation.js.xml create mode 100644 doc/help/xslt/params/annotation.support.xml create mode 100644 doc/help/xslt/params/appendix.autolabel.xml create mode 100644 doc/help/xslt/params/arbortext.extensions.xml create mode 100644 doc/help/xslt/params/article.appendix.title.properties.xml create mode 100644 doc/help/xslt/params/author.othername.in.middle.xml create mode 100644 doc/help/xslt/params/autolayout-file.xml create mode 100644 doc/help/xslt/params/autotoc.label.in.hyperlink.xml create mode 100644 doc/help/xslt/params/autotoc.label.separator.xml create mode 100644 doc/help/xslt/params/axf.extensions.xml create mode 100644 doc/help/xslt/params/banner.before.navigation.xml create mode 100644 doc/help/xslt/params/base.dir.xml create mode 100644 doc/help/xslt/params/biblioentry.item.separator.xml create mode 100644 doc/help/xslt/params/biblioentry.properties.xml create mode 100644 doc/help/xslt/params/bibliography.collection.xml create mode 100644 doc/help/xslt/params/bibliography.numbered.xml create mode 100644 doc/help/xslt/params/bibliography.style.xml create mode 100644 doc/help/xslt/params/blockquote.properties.xml create mode 100644 doc/help/xslt/params/blurb.on.titlepage.enabled.xml create mode 100644 doc/help/xslt/params/body.attributes.xml create mode 100644 doc/help/xslt/params/body.bg.color.xml create mode 100644 doc/help/xslt/params/body.end.indent.xml create mode 100644 doc/help/xslt/params/body.font.family.xml create mode 100644 doc/help/xslt/params/body.font.master.xml create mode 100644 doc/help/xslt/params/body.font.size.xml create mode 100644 doc/help/xslt/params/body.margin.bottom.xml create mode 100644 doc/help/xslt/params/body.margin.top.xml create mode 100644 doc/help/xslt/params/body.start.indent.xml create mode 100644 doc/help/xslt/params/bookmarks.collapse.xml create mode 100644 doc/help/xslt/params/bridgehead.in.toc.xml create mode 100644 doc/help/xslt/params/bullet.image.xml create mode 100644 doc/help/xslt/params/callout.defaultcolumn.xml create mode 100644 doc/help/xslt/params/callout.graphics.extension.xml create mode 100644 doc/help/xslt/params/callout.graphics.number.limit.xml create mode 100644 doc/help/xslt/params/callout.graphics.path.xml create mode 100644 doc/help/xslt/params/callout.graphics.xml create mode 100644 doc/help/xslt/params/callout.icon.size.xml create mode 100644 doc/help/xslt/params/callout.list.table.xml create mode 100644 doc/help/xslt/params/callout.unicode.font.xml create mode 100644 doc/help/xslt/params/callout.unicode.number.limit.xml create mode 100644 doc/help/xslt/params/callout.unicode.start.character.xml create mode 100644 doc/help/xslt/params/callout.unicode.xml create mode 100644 doc/help/xslt/params/callouts.extension.xml create mode 100644 doc/help/xslt/params/chapter.autolabel.xml create mode 100644 doc/help/xslt/params/chunk.append.xml create mode 100644 doc/help/xslt/params/chunk.first.sections.xml create mode 100644 doc/help/xslt/params/chunk.quietly.xml create mode 100644 doc/help/xslt/params/chunk.section.depth.xml create mode 100644 doc/help/xslt/params/chunk.sections.xml create mode 100644 doc/help/xslt/params/chunk.separate.lots.xml create mode 100644 doc/help/xslt/params/chunk.toc.xml create mode 100644 doc/help/xslt/params/chunk.tocs.and.lots.has.title.xml create mode 100644 doc/help/xslt/params/chunk.tocs.and.lots.xml create mode 100644 doc/help/xslt/params/chunker.output.cdata-section-elements.xml create mode 100644 doc/help/xslt/params/chunker.output.doctype-public.xml create mode 100644 doc/help/xslt/params/chunker.output.doctype-system.xml create mode 100644 doc/help/xslt/params/chunker.output.encoding.xml create mode 100644 doc/help/xslt/params/chunker.output.indent.xml create mode 100644 doc/help/xslt/params/chunker.output.media-type.xml create mode 100644 doc/help/xslt/params/chunker.output.method.xml create mode 100644 doc/help/xslt/params/chunker.output.omit-xml-declaration.xml create mode 100644 doc/help/xslt/params/chunker.output.standalone.xml create mode 100644 doc/help/xslt/params/citerefentry.link.xml create mode 100644 doc/help/xslt/params/collect.xref.targets.xml create mode 100644 doc/help/xslt/params/column.count.back.xml create mode 100644 doc/help/xslt/params/column.count.body.xml create mode 100644 doc/help/xslt/params/column.count.front.xml create mode 100644 doc/help/xslt/params/column.count.index.xml create mode 100644 doc/help/xslt/params/column.count.lot.xml create mode 100644 doc/help/xslt/params/column.count.titlepage.xml create mode 100644 doc/help/xslt/params/column.gap.back.xml create mode 100644 doc/help/xslt/params/column.gap.body.xml create mode 100644 doc/help/xslt/params/column.gap.front.xml create mode 100644 doc/help/xslt/params/column.gap.index.xml create mode 100644 doc/help/xslt/params/column.gap.lot.xml create mode 100644 doc/help/xslt/params/column.gap.titlepage.xml create mode 100644 doc/help/xslt/params/compact.list.item.spacing.xml create mode 100644 doc/help/xslt/params/component.label.includes.part.label.xml create mode 100644 doc/help/xslt/params/component.title.properties.xml create mode 100644 doc/help/xslt/params/component.titlepage.properties.xml create mode 100644 doc/help/xslt/params/contrib.inline.enabled.xml create mode 100644 doc/help/xslt/params/crop.mark.bleed.xml create mode 100644 doc/help/xslt/params/crop.mark.offset.xml create mode 100644 doc/help/xslt/params/crop.mark.width.xml create mode 100644 doc/help/xslt/params/crop.marks.xml create mode 100644 doc/help/xslt/params/css.decoration.xml create mode 100644 doc/help/xslt/params/css.stylesheet.dir.xml create mode 100644 doc/help/xslt/params/css.stylesheet.xml create mode 100644 doc/help/xslt/params/current.docid.xml create mode 100644 doc/help/xslt/params/currentpage.marker.xml create mode 100644 doc/help/xslt/params/custom.css.source.xml create mode 100644 doc/help/xslt/params/default.float.class.xml create mode 100644 doc/help/xslt/params/default.image.width.xml create mode 100644 doc/help/xslt/params/default.table.frame.xml create mode 100644 doc/help/xslt/params/default.table.rules.xml create mode 100644 doc/help/xslt/params/default.table.width.xml create mode 100644 doc/help/xslt/params/default.units.xml create mode 100644 doc/help/xslt/params/dingbat.font.family.xml create mode 100644 doc/help/xslt/params/docbook.css.link.xml create mode 100644 doc/help/xslt/params/docbook.css.source.xml create mode 100644 doc/help/xslt/params/double.sided.xml create mode 100644 doc/help/xslt/params/draft.mode.xml create mode 100644 doc/help/xslt/params/draft.watermark.image.xml create mode 100644 doc/help/xslt/params/dry-run.xml create mode 100644 doc/help/xslt/params/dynamic.toc.xml create mode 100644 doc/help/xslt/params/ebnf.assignment.xml create mode 100644 doc/help/xslt/params/ebnf.statement.terminator.xml create mode 100644 doc/help/xslt/params/ebnf.table.bgcolor.xml create mode 100644 doc/help/xslt/params/ebnf.table.border.xml create mode 100644 doc/help/xslt/params/eclipse.autolabel.xml create mode 100644 doc/help/xslt/params/eclipse.plugin.id.xml create mode 100644 doc/help/xslt/params/eclipse.plugin.name.xml create mode 100644 doc/help/xslt/params/eclipse.plugin.provider.xml create mode 100644 doc/help/xslt/params/editedby.enabled.xml create mode 100644 doc/help/xslt/params/email.delimiters.enabled.xml create mode 100644 doc/help/xslt/params/email.mailto.enabled.xml create mode 100644 doc/help/xslt/params/emphasis.propagates.style.xml create mode 100644 doc/help/xslt/params/entry.propagates.style.xml create mode 100644 doc/help/xslt/params/epub.autolabel.xml create mode 100644 doc/help/xslt/params/equation.number.properties.xml create mode 100644 doc/help/xslt/params/equation.properties.xml create mode 100644 doc/help/xslt/params/example.properties.xml create mode 100644 doc/help/xslt/params/exsl.node.set.available.xml create mode 100644 doc/help/xslt/params/feedback.href.xml create mode 100644 doc/help/xslt/params/feedback.link.text.xml create mode 100644 doc/help/xslt/params/feedback.with.ids.xml create mode 100644 doc/help/xslt/params/figure.properties.xml create mode 100644 doc/help/xslt/params/filename-prefix.xml create mode 100644 doc/help/xslt/params/firstterm.only.link.xml create mode 100644 doc/help/xslt/params/foil.properties.xml create mode 100644 doc/help/xslt/params/foil.subtitle.properties.xml create mode 100644 doc/help/xslt/params/foil.title.master.xml create mode 100644 doc/help/xslt/params/foil.title.size.xml create mode 100644 doc/help/xslt/params/foilgroup.properties.xml create mode 100644 doc/help/xslt/params/foilgroup.toc.xml create mode 100644 doc/help/xslt/params/footer.column.widths.xml create mode 100644 doc/help/xslt/params/footer.content.properties.xml create mode 100644 doc/help/xslt/params/footer.hr.xml create mode 100644 doc/help/xslt/params/footer.rule.xml create mode 100644 doc/help/xslt/params/footer.table.height.xml create mode 100644 doc/help/xslt/params/footer.table.properties.xml create mode 100644 doc/help/xslt/params/footers.on.blank.pages.xml create mode 100644 doc/help/xslt/params/footnote.font.size.xml create mode 100644 doc/help/xslt/params/footnote.mark.properties.xml create mode 100644 doc/help/xslt/params/footnote.number.format.xml create mode 100644 doc/help/xslt/params/footnote.number.symbols.xml create mode 100644 doc/help/xslt/params/footnote.properties.xml create mode 100644 doc/help/xslt/params/footnote.sep.leader.properties.xml create mode 100644 doc/help/xslt/params/fop.extensions.xml create mode 100644 doc/help/xslt/params/fop1.extensions.xml create mode 100644 doc/help/xslt/params/formal.object.properties.xml create mode 100644 doc/help/xslt/params/formal.procedures.xml create mode 100644 doc/help/xslt/params/formal.title.placement.xml create mode 100644 doc/help/xslt/params/formal.title.properties.xml create mode 100644 doc/help/xslt/params/funcsynopsis.decoration.xml create mode 100644 doc/help/xslt/params/funcsynopsis.style.xml create mode 100644 doc/help/xslt/params/function.parens.xml create mode 100644 doc/help/xslt/params/generate.css.header.xml create mode 100644 doc/help/xslt/params/generate.id.attributes.xml create mode 100644 doc/help/xslt/params/generate.index.xml create mode 100644 doc/help/xslt/params/generate.legalnotice.link.xml create mode 100644 doc/help/xslt/params/generate.manifest.xml create mode 100644 doc/help/xslt/params/generate.meta.abstract.xml create mode 100644 doc/help/xslt/params/generate.revhistory.link.xml create mode 100644 doc/help/xslt/params/generate.section.toc.level.xml create mode 100644 doc/help/xslt/params/generate.toc.xml create mode 100644 doc/help/xslt/params/glossary.as.blocks.xml create mode 100644 doc/help/xslt/params/glossary.collection.xml create mode 100644 doc/help/xslt/params/glossary.sort.xml create mode 100644 doc/help/xslt/params/glossdef.block.properties.xml create mode 100644 doc/help/xslt/params/glossdef.list.properties.xml create mode 100644 doc/help/xslt/params/glossentry.list.item.properties.xml create mode 100644 doc/help/xslt/params/glossentry.show.acronym.xml create mode 100644 doc/help/xslt/params/glosslist.as.blocks.xml create mode 100644 doc/help/xslt/params/glossterm.auto.link.xml create mode 100644 doc/help/xslt/params/glossterm.block.properties.xml create mode 100644 doc/help/xslt/params/glossterm.list.properties.xml create mode 100644 doc/help/xslt/params/glossterm.separation.xml create mode 100644 doc/help/xslt/params/glossterm.width.xml create mode 100644 doc/help/xslt/params/graphic.default.extension.xml create mode 100644 doc/help/xslt/params/graphical.admonition.properties.xml create mode 100644 doc/help/xslt/params/graphics.dir.xml create mode 100644 doc/help/xslt/params/graphicsize.extension.xml create mode 100644 doc/help/xslt/params/graphicsize.use.img.src.path.xml create mode 100644 doc/help/xslt/params/header.column.widths.xml create mode 100644 doc/help/xslt/params/header.content.properties.xml create mode 100644 doc/help/xslt/params/header.hr.xml create mode 100644 doc/help/xslt/params/header.rule.xml create mode 100644 doc/help/xslt/params/header.table.height.xml create mode 100644 doc/help/xslt/params/header.table.properties.xml create mode 100644 doc/help/xslt/params/headers.on.blank.pages.xml create mode 100644 doc/help/xslt/params/hidetoc.image.xml create mode 100644 doc/help/xslt/params/highlight.default.language.xml create mode 100644 doc/help/xslt/params/highlight.source.xml create mode 100644 doc/help/xslt/params/highlight.xslthl.config.xml create mode 100644 doc/help/xslt/params/home.image.xml create mode 100644 doc/help/xslt/params/html.append.xml create mode 100644 doc/help/xslt/params/html.base.xml create mode 100644 doc/help/xslt/params/html.cellpadding.xml create mode 100644 doc/help/xslt/params/html.cellspacing.xml create mode 100644 doc/help/xslt/params/html.cleanup.xml create mode 100644 doc/help/xslt/params/html.ext.xml create mode 100644 doc/help/xslt/params/html.extra.head.links.xml create mode 100644 doc/help/xslt/params/html.head.legalnotice.link.multiple.xml create mode 100644 doc/help/xslt/params/html.head.legalnotice.link.types.xml create mode 100644 doc/help/xslt/params/html.longdesc.link.xml create mode 100644 doc/help/xslt/params/html.longdesc.xml create mode 100644 doc/help/xslt/params/html.stylesheet.type.xml create mode 100644 doc/help/xslt/params/html.stylesheet.xml create mode 100644 doc/help/xslt/params/htmlhelp.alias.file.xml create mode 100644 doc/help/xslt/params/htmlhelp.autolabel.xml create mode 100644 doc/help/xslt/params/htmlhelp.button.back.xml create mode 100644 doc/help/xslt/params/htmlhelp.button.forward.xml create mode 100644 doc/help/xslt/params/htmlhelp.button.hideshow.xml create mode 100644 doc/help/xslt/params/htmlhelp.button.home.url.xml create mode 100644 doc/help/xslt/params/htmlhelp.button.home.xml create mode 100644 doc/help/xslt/params/htmlhelp.button.jump1.title.xml create mode 100644 doc/help/xslt/params/htmlhelp.button.jump1.url.xml create mode 100644 doc/help/xslt/params/htmlhelp.button.jump1.xml create mode 100644 doc/help/xslt/params/htmlhelp.button.jump2.title.xml create mode 100644 doc/help/xslt/params/htmlhelp.button.jump2.url.xml create mode 100644 doc/help/xslt/params/htmlhelp.button.jump2.xml create mode 100644 doc/help/xslt/params/htmlhelp.button.locate.xml create mode 100644 doc/help/xslt/params/htmlhelp.button.next.xml create mode 100644 doc/help/xslt/params/htmlhelp.button.options.xml create mode 100644 doc/help/xslt/params/htmlhelp.button.prev.xml create mode 100644 doc/help/xslt/params/htmlhelp.button.print.xml create mode 100644 doc/help/xslt/params/htmlhelp.button.refresh.xml create mode 100644 doc/help/xslt/params/htmlhelp.button.stop.xml create mode 100644 doc/help/xslt/params/htmlhelp.button.zoom.xml create mode 100644 doc/help/xslt/params/htmlhelp.chm.xml create mode 100644 doc/help/xslt/params/htmlhelp.default.topic.xml create mode 100644 doc/help/xslt/params/htmlhelp.display.progress.xml create mode 100644 doc/help/xslt/params/htmlhelp.encoding.xml create mode 100644 doc/help/xslt/params/htmlhelp.enhanced.decompilation.xml create mode 100644 doc/help/xslt/params/htmlhelp.enumerate.images.xml create mode 100644 doc/help/xslt/params/htmlhelp.force.map.and.alias.xml create mode 100644 doc/help/xslt/params/htmlhelp.hhc.binary.xml create mode 100644 doc/help/xslt/params/htmlhelp.hhc.folders.instead.books.xml create mode 100644 doc/help/xslt/params/htmlhelp.hhc.section.depth.xml create mode 100644 doc/help/xslt/params/htmlhelp.hhc.show.root.xml create mode 100644 doc/help/xslt/params/htmlhelp.hhc.width.xml create mode 100644 doc/help/xslt/params/htmlhelp.hhc.xml create mode 100644 doc/help/xslt/params/htmlhelp.hhk.xml create mode 100644 doc/help/xslt/params/htmlhelp.hhp.tail.xml create mode 100644 doc/help/xslt/params/htmlhelp.hhp.window.xml create mode 100644 doc/help/xslt/params/htmlhelp.hhp.windows.xml create mode 100644 doc/help/xslt/params/htmlhelp.hhp.xml create mode 100644 doc/help/xslt/params/htmlhelp.map.file.xml create mode 100644 doc/help/xslt/params/htmlhelp.only.xml create mode 100644 doc/help/xslt/params/htmlhelp.remember.window.position.xml create mode 100644 doc/help/xslt/params/htmlhelp.show.advanced.search.xml create mode 100644 doc/help/xslt/params/htmlhelp.show.favorities.xml create mode 100644 doc/help/xslt/params/htmlhelp.show.menu.xml create mode 100644 doc/help/xslt/params/htmlhelp.show.toolbar.text.xml create mode 100644 doc/help/xslt/params/htmlhelp.title.xml create mode 100644 doc/help/xslt/params/htmlhelp.use.hhk.xml create mode 100644 doc/help/xslt/params/htmlhelp.window.geometry.xml create mode 100644 doc/help/xslt/params/hyphenate.verbatim.characters.xml create mode 100644 doc/help/xslt/params/hyphenate.verbatim.xml create mode 100644 doc/help/xslt/params/hyphenate.xml create mode 100644 doc/help/xslt/params/id.warnings.xml create mode 100644 doc/help/xslt/params/ignore.image.scaling.xml create mode 100644 doc/help/xslt/params/img.src.path.xml create mode 100644 doc/help/xslt/params/index.div.title.properties.xml create mode 100644 doc/help/xslt/params/index.entry.properties.xml create mode 100644 doc/help/xslt/params/index.links.to.section.xml create mode 100644 doc/help/xslt/params/index.method.xml create mode 100644 doc/help/xslt/params/index.number.separator.xml create mode 100644 doc/help/xslt/params/index.on.role.xml create mode 100644 doc/help/xslt/params/index.on.type.xml create mode 100644 doc/help/xslt/params/index.page.number.properties.xml create mode 100644 doc/help/xslt/params/index.prefer.titleabbrev.xml create mode 100644 doc/help/xslt/params/index.preferred.page.properties.xml create mode 100644 doc/help/xslt/params/index.range.separator.xml create mode 100644 doc/help/xslt/params/index.term.separator.xml create mode 100644 doc/help/xslt/params/informal.object.properties.xml create mode 100644 doc/help/xslt/params/informalequation.properties.xml create mode 100644 doc/help/xslt/params/informalexample.properties.xml create mode 100644 doc/help/xslt/params/informalfigure.properties.xml create mode 100644 doc/help/xslt/params/informaltable.properties.xml create mode 100644 doc/help/xslt/params/inherit.keywords.xml create mode 100644 doc/help/xslt/params/insert.link.page.number.xml create mode 100644 doc/help/xslt/params/insert.olink.page.number.xml create mode 100644 doc/help/xslt/params/insert.olink.pdf.frag.xml create mode 100644 doc/help/xslt/params/insert.xref.page.number.xml create mode 100644 doc/help/xslt/params/itemizedlist.label.properties.xml create mode 100644 doc/help/xslt/params/itemizedlist.label.width.xml create mode 100644 doc/help/xslt/params/itemizedlist.properties.xml create mode 100644 doc/help/xslt/params/javahelp.encoding.xml create mode 100644 doc/help/xslt/params/keep.relative.image.uris.xml create mode 100644 doc/help/xslt/params/keyboard.nav.xml create mode 100644 doc/help/xslt/params/l10n.gentext.default.language.xml create mode 100644 doc/help/xslt/params/l10n.gentext.language.xml create mode 100644 doc/help/xslt/params/l10n.gentext.use.xref.language.xml create mode 100644 doc/help/xslt/params/l10n.lang.value.rfc.compliant.xml create mode 100644 doc/help/xslt/params/label.from.part.xml create mode 100644 doc/help/xslt/params/line-height.xml create mode 100644 doc/help/xslt/params/linenumbering.everyNth.xml create mode 100644 doc/help/xslt/params/linenumbering.extension.xml create mode 100644 doc/help/xslt/params/linenumbering.separator.xml create mode 100644 doc/help/xslt/params/linenumbering.width.xml create mode 100644 doc/help/xslt/params/link.mailto.url.xml create mode 100644 doc/help/xslt/params/list.block.properties.xml create mode 100644 doc/help/xslt/params/list.block.spacing.xml create mode 100644 doc/help/xslt/params/list.item.spacing.xml create mode 100644 doc/help/xslt/params/make.clean.html.xml create mode 100644 doc/help/xslt/params/make.graphic.viewport.xml create mode 100644 doc/help/xslt/params/make.index.markup.xml create mode 100644 doc/help/xslt/params/make.single.year.ranges.xml create mode 100644 doc/help/xslt/params/make.valid.html.xml create mode 100644 doc/help/xslt/params/make.year.ranges.xml create mode 100644 doc/help/xslt/params/man.authors.section.enabled.xml create mode 100644 doc/help/xslt/params/man.base.url.for.relative.links.xml create mode 100644 doc/help/xslt/params/man.break.after.slash.xml create mode 100644 doc/help/xslt/params/man.charmap.enabled.xml create mode 100644 doc/help/xslt/params/man.charmap.subset.profile.english.xml create mode 100644 doc/help/xslt/params/man.charmap.subset.profile.xml create mode 100644 doc/help/xslt/params/man.charmap.uri.xml create mode 100644 doc/help/xslt/params/man.charmap.use.subset.xml create mode 100644 doc/help/xslt/params/man.copyright.section.enabled.xml create mode 100644 doc/help/xslt/params/man.endnotes.are.numbered.xml create mode 100644 doc/help/xslt/params/man.endnotes.list.enabled.xml create mode 100644 doc/help/xslt/params/man.endnotes.list.heading.xml create mode 100644 doc/help/xslt/params/man.font.funcprototype.xml create mode 100644 doc/help/xslt/params/man.font.funcsynopsisinfo.xml create mode 100644 doc/help/xslt/params/man.font.links.xml create mode 100644 doc/help/xslt/params/man.font.table.headings.xml create mode 100644 doc/help/xslt/params/man.font.table.title.xml create mode 100644 doc/help/xslt/params/man.funcsynopsis.style.xml create mode 100644 doc/help/xslt/params/man.hyphenate.computer.inlines.xml create mode 100644 doc/help/xslt/params/man.hyphenate.filenames.xml create mode 100644 doc/help/xslt/params/man.hyphenate.urls.xml create mode 100644 doc/help/xslt/params/man.hyphenate.xml create mode 100644 doc/help/xslt/params/man.indent.blurbs.xml create mode 100644 doc/help/xslt/params/man.indent.lists.xml create mode 100644 doc/help/xslt/params/man.indent.refsect.xml create mode 100644 doc/help/xslt/params/man.indent.verbatims.xml create mode 100644 doc/help/xslt/params/man.indent.width.xml create mode 100644 doc/help/xslt/params/man.justify.xml create mode 100644 doc/help/xslt/params/man.output.base.dir.xml create mode 100644 doc/help/xslt/params/man.output.better.ps.enabled.xml create mode 100644 doc/help/xslt/params/man.output.encoding.xml create mode 100644 doc/help/xslt/params/man.output.in.separate.dir.xml create mode 100644 doc/help/xslt/params/man.output.lang.in.name.enabled.xml create mode 100644 doc/help/xslt/params/man.output.manifest.enabled.xml create mode 100644 doc/help/xslt/params/man.output.manifest.filename.xml create mode 100644 doc/help/xslt/params/man.output.quietly.xml create mode 100644 doc/help/xslt/params/man.output.subdirs.enabled.xml create mode 100644 doc/help/xslt/params/man.segtitle.suppress.xml create mode 100644 doc/help/xslt/params/man.string.subst.map.local.post.xml create mode 100644 doc/help/xslt/params/man.string.subst.map.local.pre.xml create mode 100644 doc/help/xslt/params/man.string.subst.map.xml create mode 100644 doc/help/xslt/params/man.subheading.divider.enabled.xml create mode 100644 doc/help/xslt/params/man.subheading.divider.xml create mode 100644 doc/help/xslt/params/man.table.footnotes.divider.xml create mode 100644 doc/help/xslt/params/man.th.extra1.suppress.xml create mode 100644 doc/help/xslt/params/man.th.extra2.max.length.xml create mode 100644 doc/help/xslt/params/man.th.extra2.suppress.xml create mode 100644 doc/help/xslt/params/man.th.extra3.max.length.xml create mode 100644 doc/help/xslt/params/man.th.extra3.suppress.xml create mode 100644 doc/help/xslt/params/man.th.title.max.length.xml create mode 100644 doc/help/xslt/params/manifest.in.base.dir.xml create mode 100644 doc/help/xslt/params/manifest.xml create mode 100644 doc/help/xslt/params/manual.toc.xml create mode 100644 doc/help/xslt/params/margin.note.float.type.xml create mode 100644 doc/help/xslt/params/margin.note.properties.xml create mode 100644 doc/help/xslt/params/margin.note.title.properties.xml create mode 100644 doc/help/xslt/params/margin.note.width.xml create mode 100644 doc/help/xslt/params/marker.section.level.xml create mode 100644 doc/help/xslt/params/menuchoice.menu.separator.xml create mode 100644 doc/help/xslt/params/menuchoice.separator.xml create mode 100644 doc/help/xslt/params/minus.image.xml create mode 100644 doc/help/xslt/params/monospace.font.family.xml create mode 100644 doc/help/xslt/params/monospace.properties.xml create mode 100644 doc/help/xslt/params/monospace.verbatim.font.width.xml create mode 100644 doc/help/xslt/params/monospace.verbatim.properties.xml create mode 100644 doc/help/xslt/params/multiframe.bottom.bgcolor.xml create mode 100644 doc/help/xslt/params/multiframe.navigation.height.xml create mode 100644 doc/help/xslt/params/multiframe.top.bgcolor.xml create mode 100644 doc/help/xslt/params/multiframe.xml create mode 100644 doc/help/xslt/params/nav.separator.xml create mode 100644 doc/help/xslt/params/nav.table.summary.xml create mode 100644 doc/help/xslt/params/navbgcolor.xml create mode 100644 doc/help/xslt/params/navbodywidth.xml create mode 100644 doc/help/xslt/params/navig.graphics.extension.xml create mode 100644 doc/help/xslt/params/navig.graphics.path.xml create mode 100644 doc/help/xslt/params/navig.graphics.xml create mode 100644 doc/help/xslt/params/navig.showtitles.xml create mode 100644 doc/help/xslt/params/navtocwidth.xml create mode 100644 doc/help/xslt/params/next.image.xml create mode 100644 doc/help/xslt/params/no.home.image.xml create mode 100644 doc/help/xslt/params/no.next.image.xml create mode 100644 doc/help/xslt/params/no.prev.image.xml create mode 100644 doc/help/xslt/params/no.toc.image.xml create mode 100644 doc/help/xslt/params/no.up.image.xml create mode 100644 doc/help/xslt/params/nominal.image.depth.xml create mode 100644 doc/help/xslt/params/nominal.image.width.xml create mode 100644 doc/help/xslt/params/nominal.table.width.xml create mode 100644 doc/help/xslt/params/nongraphical.admonition.properties.xml create mode 100644 doc/help/xslt/params/normal.para.spacing.xml create mode 100644 doc/help/xslt/params/olink.base.uri.xml create mode 100644 doc/help/xslt/params/olink.debug.xml create mode 100644 doc/help/xslt/params/olink.doctitle.xml create mode 100644 doc/help/xslt/params/olink.fragid.xml create mode 100644 doc/help/xslt/params/olink.lang.fallback.sequence.xml create mode 100644 doc/help/xslt/params/olink.outline.ext.xml create mode 100644 doc/help/xslt/params/olink.properties.xml create mode 100644 doc/help/xslt/params/olink.pubid.xml create mode 100644 doc/help/xslt/params/olink.resolver.xml create mode 100644 doc/help/xslt/params/olink.sysid.xml create mode 100644 doc/help/xslt/params/orderedlist.label.properties.xml create mode 100644 doc/help/xslt/params/orderedlist.label.width.xml create mode 100644 doc/help/xslt/params/orderedlist.properties.xml create mode 100644 doc/help/xslt/params/othercredit.like.author.enabled.xml create mode 100644 doc/help/xslt/params/output-root.xml create mode 100644 doc/help/xslt/params/output.indent.xml create mode 100644 doc/help/xslt/params/overlay.js.xml create mode 100644 doc/help/xslt/params/overlay.logo.xml create mode 100644 doc/help/xslt/params/overlay.xml create mode 100644 doc/help/xslt/params/page.height.portrait.xml create mode 100644 doc/help/xslt/params/page.height.xml create mode 100644 doc/help/xslt/params/page.margin.bottom.xml create mode 100644 doc/help/xslt/params/page.margin.inner.xml create mode 100644 doc/help/xslt/params/page.margin.outer.xml create mode 100644 doc/help/xslt/params/page.margin.top.xml create mode 100644 doc/help/xslt/params/page.orientation.xml create mode 100644 doc/help/xslt/params/page.width.portrait.xml create mode 100644 doc/help/xslt/params/page.width.xml create mode 100644 doc/help/xslt/params/pages.template.xml create mode 100644 doc/help/xslt/params/paper.type.xml create mode 100644 doc/help/xslt/params/para.propagates.style.xml create mode 100644 doc/help/xslt/params/part.autolabel.xml create mode 100644 doc/help/xslt/params/passivetex.extensions.xml create mode 100644 doc/help/xslt/params/pgwide.properties.xml create mode 100644 doc/help/xslt/params/phrase.propagates.style.xml create mode 100644 doc/help/xslt/params/pixels.per.inch.xml create mode 100644 doc/help/xslt/params/plus.image.xml create mode 100644 doc/help/xslt/params/points.per.em.xml create mode 100644 doc/help/xslt/params/preface.autolabel.xml create mode 100644 doc/help/xslt/params/prefer.internal.olink.xml create mode 100644 doc/help/xslt/params/preferred.mediaobject.role.xml create mode 100644 doc/help/xslt/params/prev.image.xml create mode 100644 doc/help/xslt/params/procedure.properties.xml create mode 100644 doc/help/xslt/params/process.empty.source.toc.xml create mode 100644 doc/help/xslt/params/process.source.toc.xml create mode 100644 doc/help/xslt/params/profile.arch.xml create mode 100644 doc/help/xslt/params/profile.attribute.xml create mode 100644 doc/help/xslt/params/profile.audience.xml create mode 100644 doc/help/xslt/params/profile.condition.xml create mode 100644 doc/help/xslt/params/profile.conformance.xml create mode 100644 doc/help/xslt/params/profile.lang.xml create mode 100644 doc/help/xslt/params/profile.os.xml create mode 100644 doc/help/xslt/params/profile.revision.xml create mode 100644 doc/help/xslt/params/profile.revisionflag.xml create mode 100644 doc/help/xslt/params/profile.role.xml create mode 100644 doc/help/xslt/params/profile.security.xml create mode 100644 doc/help/xslt/params/profile.separator.xml create mode 100644 doc/help/xslt/params/profile.status.xml create mode 100644 doc/help/xslt/params/profile.userlevel.xml create mode 100644 doc/help/xslt/params/profile.value.xml create mode 100644 doc/help/xslt/params/profile.vendor.xml create mode 100644 doc/help/xslt/params/profile.wordsize.xml create mode 100644 doc/help/xslt/params/punct.honorific.xml create mode 100644 doc/help/xslt/params/qanda.defaultlabel.xml create mode 100644 doc/help/xslt/params/qanda.in.toc.xml create mode 100644 doc/help/xslt/params/qanda.inherit.numeration.xml create mode 100644 doc/help/xslt/params/qanda.nested.in.toc.xml create mode 100644 doc/help/xslt/params/qanda.title.level1.properties.xml create mode 100644 doc/help/xslt/params/qanda.title.level2.properties.xml create mode 100644 doc/help/xslt/params/qanda.title.level3.properties.xml create mode 100644 doc/help/xslt/params/qanda.title.level4.properties.xml create mode 100644 doc/help/xslt/params/qanda.title.level5.properties.xml create mode 100644 doc/help/xslt/params/qanda.title.level6.properties.xml create mode 100644 doc/help/xslt/params/qanda.title.properties.xml create mode 100644 doc/help/xslt/params/qandadiv.autolabel.xml create mode 100644 doc/help/xslt/params/rebuild-all.xml create mode 100644 doc/help/xslt/params/refclass.suppress.xml create mode 100644 doc/help/xslt/params/refentry.date.profile.enabled.xml create mode 100644 doc/help/xslt/params/refentry.date.profile.xml create mode 100644 doc/help/xslt/params/refentry.generate.name.xml create mode 100644 doc/help/xslt/params/refentry.generate.title.xml create mode 100644 doc/help/xslt/params/refentry.manual.fallback.profile.xml create mode 100644 doc/help/xslt/params/refentry.manual.profile.enabled.xml create mode 100644 doc/help/xslt/params/refentry.manual.profile.xml create mode 100644 doc/help/xslt/params/refentry.meta.get.quietly.xml create mode 100644 doc/help/xslt/params/refentry.pagebreak.xml create mode 100644 doc/help/xslt/params/refentry.separator.xml create mode 100644 doc/help/xslt/params/refentry.source.fallback.profile.xml create mode 100644 doc/help/xslt/params/refentry.source.name.profile.enabled.xml create mode 100644 doc/help/xslt/params/refentry.source.name.profile.xml create mode 100644 doc/help/xslt/params/refentry.source.name.suppress.xml create mode 100644 doc/help/xslt/params/refentry.title.properties.xml create mode 100644 doc/help/xslt/params/refentry.version.profile.enabled.xml create mode 100644 doc/help/xslt/params/refentry.version.profile.xml create mode 100644 doc/help/xslt/params/refentry.version.suppress.xml create mode 100644 doc/help/xslt/params/refentry.xref.manvolnum.xml create mode 100644 doc/help/xslt/params/reference.autolabel.xml create mode 100644 doc/help/xslt/params/region.after.extent.xml create mode 100644 doc/help/xslt/params/region.before.extent.xml create mode 100644 doc/help/xslt/params/revhistory.table.cell.properties.xml create mode 100644 doc/help/xslt/params/revhistory.table.properties.xml create mode 100644 doc/help/xslt/params/revhistory.title.properties.xml create mode 100644 doc/help/xslt/params/root.filename.xml create mode 100644 doc/help/xslt/params/root.properties.xml create mode 100644 doc/help/xslt/params/rootid.xml create mode 100644 doc/help/xslt/params/runinhead.default.title.end.punct.xml create mode 100644 doc/help/xslt/params/runinhead.title.end.punct.xml create mode 100644 doc/help/xslt/params/running.foot.properties.xml create mode 100644 doc/help/xslt/params/sans.font.family.xml create mode 100644 doc/help/xslt/params/saxon.callouts.xml create mode 100644 doc/help/xslt/params/saxon.character.representation.xml create mode 100644 doc/help/xslt/params/saxon.linenumbering.xml create mode 100644 doc/help/xslt/params/saxon.tablecolumns.xml create mode 100644 doc/help/xslt/params/script.dir.xml create mode 100644 doc/help/xslt/params/section.autolabel.max.depth.xml create mode 100644 doc/help/xslt/params/section.autolabel.xml create mode 100644 doc/help/xslt/params/section.container.element.xml create mode 100644 doc/help/xslt/params/section.label.includes.component.label.xml create mode 100644 doc/help/xslt/params/section.level1.properties.xml create mode 100644 doc/help/xslt/params/section.level2.properties.xml create mode 100644 doc/help/xslt/params/section.level3.properties.xml create mode 100644 doc/help/xslt/params/section.level4.properties.xml create mode 100644 doc/help/xslt/params/section.level5.properties.xml create mode 100644 doc/help/xslt/params/section.level6.properties.xml create mode 100644 doc/help/xslt/params/section.properties.xml create mode 100644 doc/help/xslt/params/section.title.level1.properties.xml create mode 100644 doc/help/xslt/params/section.title.level2.properties.xml create mode 100644 doc/help/xslt/params/section.title.level3.properties.xml create mode 100644 doc/help/xslt/params/section.title.level4.properties.xml create mode 100644 doc/help/xslt/params/section.title.level5.properties.xml create mode 100644 doc/help/xslt/params/section.title.level6.properties.xml create mode 100644 doc/help/xslt/params/section.title.properties.xml create mode 100644 doc/help/xslt/params/segmentedlist.as.table.xml create mode 100644 doc/help/xslt/params/sequential.links.xml create mode 100644 doc/help/xslt/params/shade.verbatim.style.xml create mode 100644 doc/help/xslt/params/shade.verbatim.xml create mode 100644 doc/help/xslt/params/show.comments.xml create mode 100644 doc/help/xslt/params/show.foil.number.xml create mode 100644 doc/help/xslt/params/show.revisionflag.xml create mode 100644 doc/help/xslt/params/showtoc.image.xml create mode 100644 doc/help/xslt/params/side.float.properties.xml create mode 100644 doc/help/xslt/params/sidebar.float.type.xml create mode 100644 doc/help/xslt/params/sidebar.float.width.xml create mode 100644 doc/help/xslt/params/sidebar.properties.xml create mode 100644 doc/help/xslt/params/sidebar.title.properties.xml create mode 100644 doc/help/xslt/params/simplesect.in.toc.xml create mode 100644 doc/help/xslt/params/slide.font.family.xml create mode 100644 doc/help/xslt/params/slide.title.font.family.xml create mode 100644 doc/help/xslt/params/slides.js.xml create mode 100644 doc/help/xslt/params/slides.properties.xml create mode 100644 doc/help/xslt/params/spacing.paras.xml create mode 100644 doc/help/xslt/params/speakernote.properties.xml create mode 100644 doc/help/xslt/params/subscript.properties.xml create mode 100644 doc/help/xslt/params/superscript.properties.xml create mode 100644 doc/help/xslt/params/suppress.footer.navigation.xml create mode 100644 doc/help/xslt/params/suppress.header.navigation.xml create mode 100644 doc/help/xslt/params/suppress.homepage.title.xml create mode 100644 doc/help/xslt/params/suppress.navigation.xml create mode 100644 doc/help/xslt/params/symbol.font.family.xml create mode 100644 doc/help/xslt/params/table.borders.with.css.xml create mode 100644 doc/help/xslt/params/table.cell.border.color.xml create mode 100644 doc/help/xslt/params/table.cell.border.style.xml create mode 100644 doc/help/xslt/params/table.cell.border.thickness.xml create mode 100644 doc/help/xslt/params/table.cell.padding.xml create mode 100644 doc/help/xslt/params/table.entry.padding.xml create mode 100644 doc/help/xslt/params/table.footnote.number.format.xml create mode 100644 doc/help/xslt/params/table.footnote.number.symbols.xml create mode 100644 doc/help/xslt/params/table.footnote.properties.xml create mode 100644 doc/help/xslt/params/table.frame.border.color.xml create mode 100644 doc/help/xslt/params/table.frame.border.style.xml create mode 100644 doc/help/xslt/params/table.frame.border.thickness.xml create mode 100644 doc/help/xslt/params/table.properties.xml create mode 100644 doc/help/xslt/params/table.spacer.image.xml create mode 100644 doc/help/xslt/params/table.table.properties.xml create mode 100644 doc/help/xslt/params/tablecolumns.extension.xml create mode 100644 doc/help/xslt/params/target.database.document.xml create mode 100644 doc/help/xslt/params/targets.filename.xml create mode 100644 doc/help/xslt/params/template.xml create mode 100644 doc/help/xslt/params/tex.math.delims.xml create mode 100644 doc/help/xslt/params/tex.math.file.xml create mode 100644 doc/help/xslt/params/tex.math.in.alt.xml create mode 100644 doc/help/xslt/params/text.home.xml create mode 100644 doc/help/xslt/params/text.next.xml create mode 100644 doc/help/xslt/params/text.prev.xml create mode 100644 doc/help/xslt/params/text.toc.xml create mode 100644 doc/help/xslt/params/text.up.xml create mode 100644 doc/help/xslt/params/textbgcolor.xml create mode 100644 doc/help/xslt/params/textdata.default.encoding.xml create mode 100644 doc/help/xslt/params/textinsert.extension.xml create mode 100644 doc/help/xslt/params/title.font.family.xml create mode 100644 doc/help/xslt/params/title.margin.left.xml create mode 100644 doc/help/xslt/params/titlefoil.html.xml create mode 100644 doc/help/xslt/params/toc.bg.color.xml create mode 100644 doc/help/xslt/params/toc.blank.graphic.xml create mode 100644 doc/help/xslt/params/toc.blank.image.xml create mode 100644 doc/help/xslt/params/toc.blank.text.xml create mode 100644 doc/help/xslt/params/toc.hide.show.xml create mode 100644 doc/help/xslt/params/toc.html.xml create mode 100644 doc/help/xslt/params/toc.image.xml create mode 100644 doc/help/xslt/params/toc.indent.width.xml create mode 100644 doc/help/xslt/params/toc.line.properties.xml create mode 100644 doc/help/xslt/params/toc.list.type.xml create mode 100644 doc/help/xslt/params/toc.margin.properties.xml create mode 100644 doc/help/xslt/params/toc.max.depth.xml create mode 100644 doc/help/xslt/params/toc.pointer.graphic.xml create mode 100644 doc/help/xslt/params/toc.pointer.image.xml create mode 100644 doc/help/xslt/params/toc.pointer.text.xml create mode 100644 doc/help/xslt/params/toc.row.height.xml create mode 100644 doc/help/xslt/params/toc.section.depth.xml create mode 100644 doc/help/xslt/params/toc.spacer.graphic.xml create mode 100644 doc/help/xslt/params/toc.spacer.image.xml create mode 100644 doc/help/xslt/params/toc.spacer.text.xml create mode 100644 doc/help/xslt/params/toc.width.xml create mode 100644 doc/help/xslt/params/ua.js.xml create mode 100644 doc/help/xslt/params/ulink.footnotes.xml create mode 100644 doc/help/xslt/params/ulink.hyphenate.chars.xml create mode 100644 doc/help/xslt/params/ulink.hyphenate.xml create mode 100644 doc/help/xslt/params/ulink.show.xml create mode 100644 doc/help/xslt/params/ulink.target.xml create mode 100644 doc/help/xslt/params/up.image.xml create mode 100644 doc/help/xslt/params/use.embed.for.svg.xml create mode 100644 doc/help/xslt/params/use.extensions.xml create mode 100644 doc/help/xslt/params/use.id.as.filename.xml create mode 100644 doc/help/xslt/params/use.id.function.xml create mode 100644 doc/help/xslt/params/use.local.olink.style.xml create mode 100644 doc/help/xslt/params/use.role.as.xrefstyle.xml create mode 100644 doc/help/xslt/params/use.role.for.mediaobject.xml create mode 100644 doc/help/xslt/params/use.svg.xml create mode 100644 doc/help/xslt/params/variablelist.as.blocks.xml create mode 100644 doc/help/xslt/params/variablelist.as.table.xml create mode 100644 doc/help/xslt/params/variablelist.max.termlength.xml create mode 100644 doc/help/xslt/params/variablelist.term.break.after.xml create mode 100644 doc/help/xslt/params/variablelist.term.properties.xml create mode 100644 doc/help/xslt/params/variablelist.term.separator.xml create mode 100644 doc/help/xslt/params/verbatim.properties.xml create mode 100644 doc/help/xslt/params/wordml.template.xml create mode 100644 doc/help/xslt/params/writing.mode.xml create mode 100644 doc/help/xslt/params/xbCollapsibleLists.js.xml create mode 100644 doc/help/xslt/params/xbDOM.js.xml create mode 100644 doc/help/xslt/params/xbLibrary.js.xml create mode 100644 doc/help/xslt/params/xbStyle.js.xml create mode 100644 doc/help/xslt/params/xep.extensions.xml create mode 100644 doc/help/xslt/params/xep.index.item.properties.xml create mode 100644 doc/help/xslt/params/xref.label-page.separator.xml create mode 100644 doc/help/xslt/params/xref.label-title.separator.xml create mode 100644 doc/help/xslt/params/xref.properties.xml create mode 100644 doc/help/xslt/params/xref.title-page.separator.xml create mode 100644 doc/help/xslt/params/xref.with.number.and.title.xml create mode 100644 doc/help/xslt/profiling/profile-mode.xsl create mode 100644 doc/help/xslt/profiling/profile.xsl create mode 100644 doc/help/xslt/profiling/strip-attributes.xsl create mode 100644 doc/help/xslt/profiling/xsl2profile.xsl create mode 100644 doc/help/xslt/roundtrip/blocks-spec.xml create mode 100644 doc/help/xslt/roundtrip/blocks2dbk.dtd create mode 100644 doc/help/xslt/roundtrip/blocks2dbk.xsl create mode 100644 doc/help/xslt/roundtrip/dbk2ooo.xsl create mode 100644 doc/help/xslt/roundtrip/dbk2pages.xsl create mode 100644 doc/help/xslt/roundtrip/dbk2wordml.xsl create mode 100644 doc/help/xslt/roundtrip/dbk2wp.xsl create mode 100644 doc/help/xslt/roundtrip/normalise-common.xsl create mode 100644 doc/help/xslt/roundtrip/normalise2sections.xsl create mode 100644 doc/help/xslt/roundtrip/pages2normalise.xsl create mode 100644 doc/help/xslt/roundtrip/param.xml create mode 100644 doc/help/xslt/roundtrip/param.xsl create mode 100644 doc/help/xslt/roundtrip/sections-spec.xml create mode 100644 doc/help/xslt/roundtrip/sections2blocks.xsl create mode 100644 doc/help/xslt/roundtrip/specifications.xml create mode 100644 doc/help/xslt/roundtrip/template-pages.xml create mode 100644 doc/help/xslt/roundtrip/template.dot create mode 100644 doc/help/xslt/roundtrip/template.xml create mode 100644 doc/help/xslt/roundtrip/wordml2normalise.xsl create mode 100644 doc/help/xslt/slides/browser/CTOCWidget.js create mode 100644 doc/help/xslt/slides/browser/overlay.js create mode 100644 doc/help/xslt/slides/browser/slides-default.css create mode 100644 doc/help/xslt/slides/browser/slides-frames.css create mode 100644 doc/help/xslt/slides/browser/slides-plain.css create mode 100644 doc/help/xslt/slides/browser/slides-table.css create mode 100644 doc/help/xslt/slides/browser/slides-w3c.css create mode 100644 doc/help/xslt/slides/browser/slides.css create mode 100644 doc/help/xslt/slides/browser/slides.js create mode 100644 doc/help/xslt/slides/browser/ua.js create mode 100644 doc/help/xslt/slides/browser/xbCollapsibleLists.js create mode 100644 doc/help/xslt/slides/browser/xbDOM.js create mode 100644 doc/help/xslt/slides/browser/xbDebug.js create mode 100644 doc/help/xslt/slides/browser/xbLibrary.js create mode 100644 doc/help/xslt/slides/browser/xbStyle-css.js create mode 100644 doc/help/xslt/slides/browser/xbStyle-nn4.js create mode 100644 doc/help/xslt/slides/browser/xbStyle-not-supported.js create mode 100644 doc/help/xslt/slides/browser/xbStyle.js create mode 100644 doc/help/xslt/slides/fo/param.xml create mode 100644 doc/help/xslt/slides/fo/param.xsl create mode 100644 doc/help/xslt/slides/fo/plain-titlepage.xml create mode 100644 doc/help/xslt/slides/fo/plain-titlepage.xsl create mode 100644 doc/help/xslt/slides/fo/plain.xsl create mode 100644 doc/help/xslt/slides/graphics/active/arr-next.png create mode 100644 doc/help/xslt/slides/graphics/active/arr-prev.png create mode 100644 doc/help/xslt/slides/graphics/active/but-fforward.png create mode 100644 doc/help/xslt/slides/graphics/active/but-info.png create mode 100644 doc/help/xslt/slides/graphics/active/but-next.png create mode 100644 doc/help/xslt/slides/graphics/active/but-prev.png create mode 100644 doc/help/xslt/slides/graphics/active/but-rewind.png create mode 100644 doc/help/xslt/slides/graphics/active/nav-home.png create mode 100644 doc/help/xslt/slides/graphics/active/nav-next.png create mode 100644 doc/help/xslt/slides/graphics/active/nav-prev.png create mode 100644 doc/help/xslt/slides/graphics/active/nav-toc.png create mode 100644 doc/help/xslt/slides/graphics/active/nav-up.png create mode 100644 doc/help/xslt/slides/graphics/active/w3c-next.png create mode 100644 doc/help/xslt/slides/graphics/active/w3c-prev.png create mode 100644 doc/help/xslt/slides/graphics/active/w3c-toc.png create mode 100644 doc/help/xslt/slides/graphics/arrow.gif create mode 100644 doc/help/xslt/slides/graphics/blank.gif create mode 100644 doc/help/xslt/slides/graphics/blank.png create mode 100644 doc/help/xslt/slides/graphics/hidetoc.gif create mode 100644 doc/help/xslt/slides/graphics/inactive/but-fforward.png create mode 100644 doc/help/xslt/slides/graphics/inactive/but-info.png create mode 100644 doc/help/xslt/slides/graphics/inactive/but-next.png create mode 100644 doc/help/xslt/slides/graphics/inactive/but-prev.png create mode 100644 doc/help/xslt/slides/graphics/inactive/but-rewind.png create mode 100644 doc/help/xslt/slides/graphics/inactive/nav-home.png create mode 100644 doc/help/xslt/slides/graphics/inactive/nav-next.png create mode 100644 doc/help/xslt/slides/graphics/inactive/nav-prev.png create mode 100644 doc/help/xslt/slides/graphics/inactive/nav-toc.png create mode 100644 doc/help/xslt/slides/graphics/inactive/nav-up.png create mode 100644 doc/help/xslt/slides/graphics/inactive/w3c-next.png create mode 100644 doc/help/xslt/slides/graphics/inactive/w3c-prev.png create mode 100644 doc/help/xslt/slides/graphics/inactive/w3c-toc.png create mode 100644 doc/help/xslt/slides/graphics/plus.gif create mode 100644 doc/help/xslt/slides/graphics/pointer.png create mode 100644 doc/help/xslt/slides/graphics/showtoc.gif create mode 100644 doc/help/xslt/slides/graphics/toc/bullet.png create mode 100644 doc/help/xslt/slides/graphics/toc/closed.png create mode 100644 doc/help/xslt/slides/graphics/toc/open.png create mode 100644 doc/help/xslt/slides/html/css.xsl create mode 100644 doc/help/xslt/slides/html/default.xsl create mode 100644 doc/help/xslt/slides/html/flat.xsl create mode 100644 doc/help/xslt/slides/html/frames.xsl create mode 100644 doc/help/xslt/slides/html/graphics.xsl create mode 100644 doc/help/xslt/slides/html/jscript.xsl create mode 100644 doc/help/xslt/slides/html/param.xml create mode 100644 doc/help/xslt/slides/html/param.xsl create mode 100644 doc/help/xslt/slides/html/plain.xsl create mode 100644 doc/help/xslt/slides/html/slides-common.xsl create mode 100644 doc/help/xslt/slides/html/tables.xsl create mode 100644 doc/help/xslt/slides/html/vslides.xsl create mode 100644 doc/help/xslt/slides/html/w3c.xsl create mode 100644 doc/help/xslt/slides/htmlhelp/htmlhelp.xsl create mode 100644 doc/help/xslt/slides/keynote/default.xsl create mode 100644 doc/help/xslt/slides/keynote/xsltsl/cmp.xsl create mode 100644 doc/help/xslt/slides/keynote/xsltsl/date-time.xsl create mode 100644 doc/help/xslt/slides/keynote/xsltsl/example.xsl create mode 100644 doc/help/xslt/slides/keynote/xsltsl/markup.xsl create mode 100644 doc/help/xslt/slides/keynote/xsltsl/math.xsl create mode 100644 doc/help/xslt/slides/keynote/xsltsl/node.xsl create mode 100644 doc/help/xslt/slides/keynote/xsltsl/stdlib.xsl create mode 100644 doc/help/xslt/slides/keynote/xsltsl/string.xsl create mode 100644 doc/help/xslt/slides/keynote/xsltsl/svg.xsl create mode 100644 doc/help/xslt/slides/keynote/xsltsl/uri.xsl create mode 100644 doc/help/xslt/slides/svg/default.xsl create mode 100644 doc/help/xslt/slides/xhtml/css.xsl create mode 100644 doc/help/xslt/slides/xhtml/default.xsl create mode 100644 doc/help/xslt/slides/xhtml/flat.xsl create mode 100644 doc/help/xslt/slides/xhtml/frames.xsl create mode 100644 doc/help/xslt/slides/xhtml/graphics.xsl create mode 100644 doc/help/xslt/slides/xhtml/jscript.xsl create mode 100644 doc/help/xslt/slides/xhtml/param.xsl create mode 100644 doc/help/xslt/slides/xhtml/plain.xsl create mode 100644 doc/help/xslt/slides/xhtml/slides-common.xsl create mode 100644 doc/help/xslt/slides/xhtml/tables.xsl create mode 100644 doc/help/xslt/slides/xhtml/vslides.xsl create mode 100644 doc/help/xslt/slides/xhtml/w3c.xsl create mode 100644 doc/help/xslt/template/titlepage.xml create mode 100644 doc/help/xslt/template/titlepage.xsl create mode 100644 doc/help/xslt/tests/refentry.007.ns.xml create mode 100644 doc/help/xslt/tests/refentry.007.xml create mode 100755 doc/help/xslt/tools/bin/docbook-xsl-update create mode 100644 doc/help/xslt/tools/make/Makefile.DocBook create mode 100644 doc/help/xslt/tools/make/Makefile.combine create mode 100644 doc/help/xslt/tools/make/Makefile.docParam create mode 100755 doc/help/xslt/webhelp/LICENSE create mode 100755 doc/help/xslt/webhelp/build.properties create mode 100755 doc/help/xslt/webhelp/build.xml create mode 100644 doc/help/xslt/webhelp/docs/common/css/positioning.css create mode 100644 doc/help/xslt/webhelp/docs/common/images/header-bg.gif create mode 100644 doc/help/xslt/webhelp/docs/common/images/highlight-blue.gif create mode 100644 doc/help/xslt/webhelp/docs/common/images/highlight-yellow.gif create mode 100644 doc/help/xslt/webhelp/docs/common/images/loading.gif create mode 100644 doc/help/xslt/webhelp/docs/common/images/logo.png create mode 100644 doc/help/xslt/webhelp/docs/common/images/showHideTreeIcons.png create mode 100644 doc/help/xslt/webhelp/docs/common/jquery/jquery-1.4.2.min.js create mode 100644 doc/help/xslt/webhelp/docs/common/jquery/jquery-ui-1.8.2.custom.min.js create mode 100644 doc/help/xslt/webhelp/docs/common/jquery/jquery.cookie.js create mode 100644 doc/help/xslt/webhelp/docs/common/jquery/theme-redmond/images/ui-anim_basic_16x16.gif create mode 100644 doc/help/xslt/webhelp/docs/common/jquery/theme-redmond/images/ui-bg_flat_0_aaaaaa_40x100.png create mode 100644 doc/help/xslt/webhelp/docs/common/jquery/theme-redmond/images/ui-bg_flat_55_fbec88_40x100.png create mode 100644 doc/help/xslt/webhelp/docs/common/jquery/theme-redmond/images/ui-bg_glass_75_d0e5f5_1x400.png create mode 100644 doc/help/xslt/webhelp/docs/common/jquery/theme-redmond/images/ui-bg_glass_85_dfeffc_1x400.png create mode 100644 doc/help/xslt/webhelp/docs/common/jquery/theme-redmond/images/ui-bg_glass_95_fef1ec_1x400.png create mode 100644 doc/help/xslt/webhelp/docs/common/jquery/theme-redmond/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png create mode 100644 doc/help/xslt/webhelp/docs/common/jquery/theme-redmond/images/ui-bg_inset-hard_100_f5f8f9_1x100.png create mode 100644 doc/help/xslt/webhelp/docs/common/jquery/theme-redmond/images/ui-bg_inset-hard_100_fcfdfd_1x100.png create mode 100644 doc/help/xslt/webhelp/docs/common/jquery/theme-redmond/images/ui-icons_217bc0_256x240.png create mode 100644 doc/help/xslt/webhelp/docs/common/jquery/theme-redmond/images/ui-icons_2e83ff_256x240.png create mode 100644 doc/help/xslt/webhelp/docs/common/jquery/theme-redmond/images/ui-icons_469bdd_256x240.png create mode 100644 doc/help/xslt/webhelp/docs/common/jquery/theme-redmond/images/ui-icons_6da8d5_256x240.png create mode 100644 doc/help/xslt/webhelp/docs/common/jquery/theme-redmond/images/ui-icons_cd0a0a_256x240.png create mode 100644 doc/help/xslt/webhelp/docs/common/jquery/theme-redmond/images/ui-icons_d8e7f3_256x240.png create mode 100644 doc/help/xslt/webhelp/docs/common/jquery/theme-redmond/images/ui-icons_f9bd01_256x240.png create mode 100644 doc/help/xslt/webhelp/docs/common/jquery/theme-redmond/jquery-ui-1.8.2.custom.css create mode 100644 doc/help/xslt/webhelp/docs/common/jquery/treeview/images/file.gif create mode 100644 doc/help/xslt/webhelp/docs/common/jquery/treeview/images/folder-closed.gif create mode 100644 doc/help/xslt/webhelp/docs/common/jquery/treeview/images/folder-closed2.gif create mode 100644 doc/help/xslt/webhelp/docs/common/jquery/treeview/images/folder.gif create mode 100644 doc/help/xslt/webhelp/docs/common/jquery/treeview/images/folder2.gif create mode 100644 doc/help/xslt/webhelp/docs/common/jquery/treeview/images/minus.gif create mode 100644 doc/help/xslt/webhelp/docs/common/jquery/treeview/images/plus.gif create mode 100644 doc/help/xslt/webhelp/docs/common/jquery/treeview/images/treeview-black-line.gif create mode 100644 doc/help/xslt/webhelp/docs/common/jquery/treeview/images/treeview-black.gif create mode 100644 doc/help/xslt/webhelp/docs/common/jquery/treeview/images/treeview-default-line.gif create mode 100644 doc/help/xslt/webhelp/docs/common/jquery/treeview/images/treeview-default.gif create mode 100644 doc/help/xslt/webhelp/docs/common/jquery/treeview/images/treeview-famfamfam-line.gif create mode 100644 doc/help/xslt/webhelp/docs/common/jquery/treeview/images/treeview-famfamfam.gif create mode 100644 doc/help/xslt/webhelp/docs/common/jquery/treeview/images/treeview-gray-line.gif create mode 100644 doc/help/xslt/webhelp/docs/common/jquery/treeview/images/treeview-gray.gif create mode 100644 doc/help/xslt/webhelp/docs/common/jquery/treeview/images/treeview-red-line.gif create mode 100644 doc/help/xslt/webhelp/docs/common/jquery/treeview/images/treeview-red.gif create mode 100644 doc/help/xslt/webhelp/docs/common/jquery/treeview/jquery.treeview.async.js create mode 100644 doc/help/xslt/webhelp/docs/common/jquery/treeview/jquery.treeview.css create mode 100644 doc/help/xslt/webhelp/docs/common/jquery/treeview/jquery.treeview.js create mode 100644 doc/help/xslt/webhelp/docs/common/jquery/treeview/jquery.treeview.min.js create mode 100644 doc/help/xslt/webhelp/docs/common/jquery/treeview/jquery.treeview.pack.js create mode 100644 doc/help/xslt/webhelp/docs/common/main.js create mode 100644 doc/help/xslt/webhelp/docs/content/ch01.html create mode 100644 doc/help/xslt/webhelp/docs/content/ch02.html create mode 100644 doc/help/xslt/webhelp/docs/content/ch02s01.html create mode 100644 doc/help/xslt/webhelp/docs/content/ch02s02.html create mode 100644 doc/help/xslt/webhelp/docs/content/ch02s03.html create mode 100644 doc/help/xslt/webhelp/docs/content/ch02s04.html create mode 100644 doc/help/xslt/webhelp/docs/content/ch03.html create mode 100644 doc/help/xslt/webhelp/docs/content/ch03s01.html create mode 100644 doc/help/xslt/webhelp/docs/content/ch03s02.html create mode 100644 doc/help/xslt/webhelp/docs/content/index.html create mode 100644 doc/help/xslt/webhelp/docs/content/search/htmlFileInfoList.js create mode 100644 doc/help/xslt/webhelp/docs/content/search/htmlFileList.js create mode 100644 doc/help/xslt/webhelp/docs/content/search/index-1.js create mode 100644 doc/help/xslt/webhelp/docs/content/search/index-2.js create mode 100644 doc/help/xslt/webhelp/docs/content/search/index-3.js create mode 100644 doc/help/xslt/webhelp/docs/content/search/nwSearchFnt.js create mode 100644 doc/help/xslt/webhelp/docs/content/search/stemmers/en_stemmer.js create mode 100644 doc/help/xslt/webhelp/docs/favicon.ico create mode 100644 doc/help/xslt/webhelp/docs/index.html create mode 100755 doc/help/xslt/webhelp/docsrc/readme.xml create mode 100755 doc/help/xslt/webhelp/template/common/css/positioning.css create mode 100755 doc/help/xslt/webhelp/template/common/images/header-bg.gif create mode 100644 doc/help/xslt/webhelp/template/common/images/highlight-blue.gif create mode 100644 doc/help/xslt/webhelp/template/common/images/highlight-yellow.gif create mode 100755 doc/help/xslt/webhelp/template/common/images/loading.gif create mode 100755 doc/help/xslt/webhelp/template/common/images/logo.png create mode 100755 doc/help/xslt/webhelp/template/common/images/showHideTreeIcons.png create mode 100755 doc/help/xslt/webhelp/template/common/jquery/jquery-1.4.2.min.js create mode 100755 doc/help/xslt/webhelp/template/common/jquery/jquery-ui-1.8.2.custom.min.js create mode 100755 doc/help/xslt/webhelp/template/common/jquery/jquery.cookie.js create mode 100755 doc/help/xslt/webhelp/template/common/jquery/theme-redmond/images/ui-anim_basic_16x16.gif create mode 100755 doc/help/xslt/webhelp/template/common/jquery/theme-redmond/images/ui-bg_flat_0_aaaaaa_40x100.png create mode 100755 doc/help/xslt/webhelp/template/common/jquery/theme-redmond/images/ui-bg_flat_55_fbec88_40x100.png create mode 100755 doc/help/xslt/webhelp/template/common/jquery/theme-redmond/images/ui-bg_glass_75_d0e5f5_1x400.png create mode 100755 doc/help/xslt/webhelp/template/common/jquery/theme-redmond/images/ui-bg_glass_85_dfeffc_1x400.png create mode 100755 doc/help/xslt/webhelp/template/common/jquery/theme-redmond/images/ui-bg_glass_95_fef1ec_1x400.png create mode 100755 doc/help/xslt/webhelp/template/common/jquery/theme-redmond/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png create mode 100755 doc/help/xslt/webhelp/template/common/jquery/theme-redmond/images/ui-bg_inset-hard_100_f5f8f9_1x100.png create mode 100755 doc/help/xslt/webhelp/template/common/jquery/theme-redmond/images/ui-bg_inset-hard_100_fcfdfd_1x100.png create mode 100755 doc/help/xslt/webhelp/template/common/jquery/theme-redmond/images/ui-icons_217bc0_256x240.png create mode 100755 doc/help/xslt/webhelp/template/common/jquery/theme-redmond/images/ui-icons_2e83ff_256x240.png create mode 100755 doc/help/xslt/webhelp/template/common/jquery/theme-redmond/images/ui-icons_469bdd_256x240.png create mode 100755 doc/help/xslt/webhelp/template/common/jquery/theme-redmond/images/ui-icons_6da8d5_256x240.png create mode 100755 doc/help/xslt/webhelp/template/common/jquery/theme-redmond/images/ui-icons_cd0a0a_256x240.png create mode 100755 doc/help/xslt/webhelp/template/common/jquery/theme-redmond/images/ui-icons_d8e7f3_256x240.png create mode 100755 doc/help/xslt/webhelp/template/common/jquery/theme-redmond/images/ui-icons_f9bd01_256x240.png create mode 100755 doc/help/xslt/webhelp/template/common/jquery/theme-redmond/jquery-ui-1.8.2.custom.css create mode 100755 doc/help/xslt/webhelp/template/common/jquery/treeview/images/file.gif create mode 100755 doc/help/xslt/webhelp/template/common/jquery/treeview/images/folder-closed.gif create mode 100755 doc/help/xslt/webhelp/template/common/jquery/treeview/images/folder-closed2.gif create mode 100755 doc/help/xslt/webhelp/template/common/jquery/treeview/images/folder.gif create mode 100755 doc/help/xslt/webhelp/template/common/jquery/treeview/images/folder2.gif create mode 100755 doc/help/xslt/webhelp/template/common/jquery/treeview/images/minus.gif create mode 100755 doc/help/xslt/webhelp/template/common/jquery/treeview/images/plus.gif create mode 100755 doc/help/xslt/webhelp/template/common/jquery/treeview/images/treeview-black-line.gif create mode 100755 doc/help/xslt/webhelp/template/common/jquery/treeview/images/treeview-black.gif create mode 100755 doc/help/xslt/webhelp/template/common/jquery/treeview/images/treeview-default-line.gif create mode 100755 doc/help/xslt/webhelp/template/common/jquery/treeview/images/treeview-default.gif create mode 100755 doc/help/xslt/webhelp/template/common/jquery/treeview/images/treeview-famfamfam-line.gif create mode 100755 doc/help/xslt/webhelp/template/common/jquery/treeview/images/treeview-famfamfam.gif create mode 100755 doc/help/xslt/webhelp/template/common/jquery/treeview/images/treeview-gray-line.gif create mode 100755 doc/help/xslt/webhelp/template/common/jquery/treeview/images/treeview-gray.gif create mode 100755 doc/help/xslt/webhelp/template/common/jquery/treeview/images/treeview-red-line.gif create mode 100755 doc/help/xslt/webhelp/template/common/jquery/treeview/images/treeview-red.gif create mode 100755 doc/help/xslt/webhelp/template/common/jquery/treeview/jquery.treeview.async.js create mode 100755 doc/help/xslt/webhelp/template/common/jquery/treeview/jquery.treeview.css create mode 100755 doc/help/xslt/webhelp/template/common/jquery/treeview/jquery.treeview.js create mode 100755 doc/help/xslt/webhelp/template/common/jquery/treeview/jquery.treeview.min.js create mode 100755 doc/help/xslt/webhelp/template/common/jquery/treeview/jquery.treeview.pack.js create mode 100755 doc/help/xslt/webhelp/template/common/main.js create mode 100755 doc/help/xslt/webhelp/template/content/search/default.props create mode 100755 doc/help/xslt/webhelp/template/content/search/en-us.props create mode 100755 doc/help/xslt/webhelp/template/content/search/es-es.props create mode 100755 doc/help/xslt/webhelp/template/content/search/ja-jp.props create mode 100755 doc/help/xslt/webhelp/template/content/search/nwSearchFnt.js create mode 100755 doc/help/xslt/webhelp/template/content/search/punctuation.props create mode 100755 doc/help/xslt/webhelp/template/content/search/stemmers/de_stemmer.js create mode 100755 doc/help/xslt/webhelp/template/content/search/stemmers/en_stemmer.js create mode 100644 doc/help/xslt/webhelp/template/content/search/stemmers/fr_stemmer.js create mode 100755 doc/help/xslt/webhelp/template/favicon.ico create mode 100755 doc/help/xslt/webhelp/xsl/webhelp.xsl create mode 100644 doc/help/xslt/website/autolayout.xsl create mode 100644 doc/help/xslt/website/chunk-common.xsl create mode 100644 doc/help/xslt/website/chunk-tabular.xsl create mode 100644 doc/help/xslt/website/chunk-website.xsl create mode 100644 doc/help/xslt/website/head.xsl create mode 100644 doc/help/xslt/website/makefile-dep.xsl create mode 100644 doc/help/xslt/website/olink.xsl create mode 100644 doc/help/xslt/website/param.xml create mode 100644 doc/help/xslt/website/param.xsl create mode 100644 doc/help/xslt/website/rss.xsl create mode 100644 doc/help/xslt/website/tabular.xsl create mode 100644 doc/help/xslt/website/toc-tabular.xsl create mode 100644 doc/help/xslt/website/toc.xsl create mode 100644 doc/help/xslt/website/website-common.xsl create mode 100644 doc/help/xslt/website/website-targets.xsl create mode 100644 doc/help/xslt/website/website.xsl create mode 100644 doc/help/xslt/website/xbel.xsl create mode 100644 doc/help/xslt/xhtml-1_1/admon.xsl create mode 100644 doc/help/xslt/xhtml-1_1/annotations.xsl create mode 100644 doc/help/xslt/xhtml-1_1/autoidx-kimber.xsl create mode 100644 doc/help/xslt/xhtml-1_1/autoidx-kosek.xsl create mode 100644 doc/help/xslt/xhtml-1_1/autoidx-ng.xsl create mode 100644 doc/help/xslt/xhtml-1_1/autoidx.xsl create mode 100644 doc/help/xslt/xhtml-1_1/autotoc.xsl create mode 100644 doc/help/xslt/xhtml-1_1/biblio-iso690.xsl create mode 100644 doc/help/xslt/xhtml-1_1/biblio.xsl create mode 100644 doc/help/xslt/xhtml-1_1/block.xsl create mode 100644 doc/help/xslt/xhtml-1_1/callout.xsl create mode 100644 doc/help/xslt/xhtml-1_1/changebars.xsl create mode 100644 doc/help/xslt/xhtml-1_1/chunk-changebars.xsl create mode 100644 doc/help/xslt/xhtml-1_1/chunk-code.xsl create mode 100644 doc/help/xslt/xhtml-1_1/chunk-common.xsl create mode 100644 doc/help/xslt/xhtml-1_1/chunk.xsl create mode 100644 doc/help/xslt/xhtml-1_1/chunker.xsl create mode 100644 doc/help/xslt/xhtml-1_1/chunkfast.xsl create mode 100644 doc/help/xslt/xhtml-1_1/chunktoc.xsl create mode 100644 doc/help/xslt/xhtml-1_1/component.xsl create mode 100644 doc/help/xslt/xhtml-1_1/division.xsl create mode 100644 doc/help/xslt/xhtml-1_1/docbook.css.xml create mode 100644 doc/help/xslt/xhtml-1_1/docbook.xsl create mode 100644 doc/help/xslt/xhtml-1_1/ebnf.xsl create mode 100644 doc/help/xslt/xhtml-1_1/footnote.xsl create mode 100644 doc/help/xslt/xhtml-1_1/formal.xsl create mode 100644 doc/help/xslt/xhtml-1_1/glossary.xsl create mode 100644 doc/help/xslt/xhtml-1_1/graphics.xsl create mode 100644 doc/help/xslt/xhtml-1_1/highlight.xsl create mode 100644 doc/help/xslt/xhtml-1_1/html-rtf.xsl create mode 100644 doc/help/xslt/xhtml-1_1/html.xsl create mode 100644 doc/help/xslt/xhtml-1_1/htmltbl.xsl create mode 100644 doc/help/xslt/xhtml-1_1/index.xsl create mode 100644 doc/help/xslt/xhtml-1_1/info.xsl create mode 100644 doc/help/xslt/xhtml-1_1/inline.xsl create mode 100644 doc/help/xslt/xhtml-1_1/keywords.xsl create mode 100644 doc/help/xslt/xhtml-1_1/lists.xsl create mode 100644 doc/help/xslt/xhtml-1_1/maketoc.xsl create mode 100644 doc/help/xslt/xhtml-1_1/manifest.xsl create mode 100644 doc/help/xslt/xhtml-1_1/math.xsl create mode 100644 doc/help/xslt/xhtml-1_1/oldchunker.xsl create mode 100644 doc/help/xslt/xhtml-1_1/onechunk.xsl create mode 100644 doc/help/xslt/xhtml-1_1/param.xsl create mode 100644 doc/help/xslt/xhtml-1_1/pi.xsl create mode 100644 doc/help/xslt/xhtml-1_1/profile-chunk-code.xsl create mode 100644 doc/help/xslt/xhtml-1_1/profile-chunk.xsl create mode 100644 doc/help/xslt/xhtml-1_1/profile-docbook.xsl create mode 100644 doc/help/xslt/xhtml-1_1/profile-onechunk.xsl create mode 100644 doc/help/xslt/xhtml-1_1/qandaset.xsl create mode 100644 doc/help/xslt/xhtml-1_1/refentry.xsl create mode 100644 doc/help/xslt/xhtml-1_1/sections.xsl create mode 100644 doc/help/xslt/xhtml-1_1/synop.xsl create mode 100644 doc/help/xslt/xhtml-1_1/table.xsl create mode 100644 doc/help/xslt/xhtml-1_1/task.xsl create mode 100644 doc/help/xslt/xhtml-1_1/titlepage.templates.xsl create mode 100644 doc/help/xslt/xhtml-1_1/titlepage.xsl create mode 100644 doc/help/xslt/xhtml-1_1/toc.xsl create mode 100644 doc/help/xslt/xhtml-1_1/verbatim.xsl create mode 100644 doc/help/xslt/xhtml-1_1/xref.xsl create mode 100644 doc/help/xslt/xhtml/admon.xsl create mode 100644 doc/help/xslt/xhtml/annotations.xsl create mode 100644 doc/help/xslt/xhtml/autoidx-kimber.xsl create mode 100644 doc/help/xslt/xhtml/autoidx-kosek.xsl create mode 100644 doc/help/xslt/xhtml/autoidx-ng.xsl create mode 100644 doc/help/xslt/xhtml/autoidx.xsl create mode 100644 doc/help/xslt/xhtml/autotoc.xsl create mode 100644 doc/help/xslt/xhtml/biblio-iso690.xsl create mode 100644 doc/help/xslt/xhtml/biblio.xsl create mode 100644 doc/help/xslt/xhtml/block.xsl create mode 100644 doc/help/xslt/xhtml/callout.xsl create mode 100644 doc/help/xslt/xhtml/changebars.xsl create mode 100644 doc/help/xslt/xhtml/chunk-changebars.xsl create mode 100644 doc/help/xslt/xhtml/chunk-code.xsl create mode 100644 doc/help/xslt/xhtml/chunk-common.xsl create mode 100644 doc/help/xslt/xhtml/chunk.xsl create mode 100644 doc/help/xslt/xhtml/chunker.xsl create mode 100644 doc/help/xslt/xhtml/chunkfast.xsl create mode 100644 doc/help/xslt/xhtml/chunktoc.xsl create mode 100644 doc/help/xslt/xhtml/component.xsl create mode 100644 doc/help/xslt/xhtml/division.xsl create mode 100644 doc/help/xslt/xhtml/docbook.css.xml create mode 100644 doc/help/xslt/xhtml/docbook.xsl create mode 100644 doc/help/xslt/xhtml/ebnf.xsl create mode 100644 doc/help/xslt/xhtml/footnote.xsl create mode 100644 doc/help/xslt/xhtml/formal.xsl create mode 100644 doc/help/xslt/xhtml/glossary.xsl create mode 100644 doc/help/xslt/xhtml/graphics.xsl create mode 100644 doc/help/xslt/xhtml/highlight.xsl create mode 100644 doc/help/xslt/xhtml/html-rtf.xsl create mode 100644 doc/help/xslt/xhtml/html.xsl create mode 100644 doc/help/xslt/xhtml/htmltbl.xsl create mode 100644 doc/help/xslt/xhtml/index.xsl create mode 100644 doc/help/xslt/xhtml/info.xsl create mode 100644 doc/help/xslt/xhtml/inline.xsl create mode 100644 doc/help/xslt/xhtml/keywords.xsl create mode 100644 doc/help/xslt/xhtml/lists.xsl create mode 100644 doc/help/xslt/xhtml/maketoc.xsl create mode 100644 doc/help/xslt/xhtml/manifest.xsl create mode 100644 doc/help/xslt/xhtml/math.xsl create mode 100644 doc/help/xslt/xhtml/oldchunker.xsl create mode 100644 doc/help/xslt/xhtml/onechunk.xsl create mode 100644 doc/help/xslt/xhtml/param.xsl create mode 100644 doc/help/xslt/xhtml/pi.xsl create mode 100644 doc/help/xslt/xhtml/profile-chunk-code.xsl create mode 100644 doc/help/xslt/xhtml/profile-chunk.xsl create mode 100644 doc/help/xslt/xhtml/profile-docbook.xsl create mode 100644 doc/help/xslt/xhtml/profile-onechunk.xsl create mode 100644 doc/help/xslt/xhtml/qandaset.xsl create mode 100644 doc/help/xslt/xhtml/refentry.xsl create mode 100644 doc/help/xslt/xhtml/sections.xsl create mode 100644 doc/help/xslt/xhtml/synop.xsl create mode 100644 doc/help/xslt/xhtml/table.xsl create mode 100644 doc/help/xslt/xhtml/task.xsl create mode 100644 doc/help/xslt/xhtml/titlepage.templates.xsl create mode 100644 doc/help/xslt/xhtml/titlepage.xsl create mode 100644 doc/help/xslt/xhtml/toc.xsl create mode 100644 doc/help/xslt/xhtml/verbatim.xsl create mode 100644 doc/help/xslt/xhtml/xref.xsl diff --git a/doc/help/Makefile b/doc/help/Makefile new file mode 100644 index 00000000..9302ff7f --- /dev/null +++ b/doc/help/Makefile @@ -0,0 +1,5 @@ +all: + xsltproc -o book/ --xinclude xslt/html/chunk.xsl help.xml + +clean: + rm book/*html diff --git a/doc/help/book/images/inetaccess-main.png b/doc/help/book/images/inetaccess-main.png new file mode 100644 index 0000000000000000000000000000000000000000..aba4667ae4b809ba36956ff3ea39cbb81a47077c GIT binary patch literal 143120 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

*&fw3Xw3sIVNiK9QO@b9m8 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 literal 0 HcmV?d00001 diff --git a/doc/help/book/images/sgconfig-main.png b/doc/help/book/images/sgconfig-main.png new file mode 100644 index 0000000000000000000000000000000000000000..fd0eb116432927ebc7b02abbb7b5ad5126221a18 GIT binary patch literal 564755 zcmV)DK*7I>P)@A#Ysd#RCt`My$75nMYTU(o%{C9ck;~6hS^=xl98w=1`LR(fC-GC zPcY)crw>sS6_p@}f{2O&PeHPvfDurFlH(F~+1<(U=G3|Cf2yjxZ{IMe|Ie>ii=MjG z6;4&1?>VPVRf(s5>Y7}??BVHRd2)Gi#{4`N%CrMTw``|NjcwQ5yrhA1g6vKnUD zMU8>6zR}TP-85c$=>?G&cqD1EA|pkMDICYm&QHCt?b*5I+0A=Sq*58D=_z8&GW79`gk-4j%MeP zOyCcXGB*)OaA1sPgp`XL0|-DrLY9hR-Tig{m64kdP+3*z>lOY^x;J4Q_prC zL68I&BC&%#N@12iNBYt46w(SeLNSgDI}1m{urgt9l8Rwl_G%Juz4X#ccl_?Q_q^wX zQaR59sjw@E&}3H@#CpAMnl{i@5@g7n!xkGP9Z%Ts$Y_B|L(fXMHAwg{ada%wbW4`IYbNTzH4vB{I5w5_xnsF~XC?=`M^ z%uSk4w3cnX)=|SYUfo@P+~VimUv<|9W7eR#X^xZF_MCp%(5YgZ- z4^RUEi-)nu@Q8o~56n;ynzg#B%CaKbw(XdfB#}tNFesq3`ktW)nO?xufz}wtwToR( zQ4~y}k)ROarxJN*92I&5JDjJxw&6G)h?hA)BOs6nRbf0!;3a4Vur>&JfI`v|XcTF% zAQ1F*Dc%Du9LEcY9GzXzJM4uKnj^fx15CpqoZ}AWiy0pQu0c=|>PO$9ngFR#DH_rk zM1h<#c1#DlCouj@g$qa^Z~`XHfccMk!p-3)SCAx+)PQsx0X@#IfkNV$fJ0+AHeoP` z4^XtK34r%N7T2+%v9^ar2?)|uWg9S5mTiu!jgBTHQ5R4}5LD7SUhv>+7z2n+Cl2|O z(Bo-~p?NR_95NIL@{!D4$W3%y$c46$&Wgws|by8DhS&HDQT=B5Tq77@ zJ?A-**NA+A7?bjXvFB3;;SR9mTsknKm1HS-sgtb`>?HD#5T=i^P6lHnroFzrFW?51 z3|=B=;>%b;o^9oZOtV`Y@$@osZAX!p~a>7p+?aHV_jK`F8OF zBgdtJ0q?O9OR$s(K!oyy2Qn3c%{e-Gea_Gd0}8Vkfg%wX#(=OK<`#xTZf=i>l!$2~ z=r~>_&uFF|JYC27K?% zBPOJUh53=OL1@3;aAJ~71QAkuRw)<8sAHMHabyV!vSd}UiQpr>c_VQ?RAOjY2J^dLed@>&UWfSq_MDKt;f5 zkaa*(vmK9V((tDuD|7R6W20+}rG~)EMCafIkdt6EdsG&|bPDqvt&U4_=823z_!Ep% zAhHTXwk<`GP0OUxVhfgn=}K6t<+-?>6>!+s>FK*qeDWt0O`6IFv<=uCX|Klyav(x8 zJ&();Q6d5!5de6?3aKzeL?WNv;1=*x4UkuOl?y7gIvWaWh+zr=W8np~bLR&pHg3@M zYD`m*Yco3pOd6O3w&hByN{uu?{#VjeIwJ|$+<;-BU>vsaiHR?fuW2Ws9*7H5u_K1{ z0uutdD-hKV+j7Hg$yg@QY^gbjS;gptayv3uRgZk-XEkMuGWQ-&OMGdUs6gnC#B|F& zUTf^J&}+d78?g*TCD1>7$ZQ8)+y?&eAVTQf5|IixLMQ0q9K|@ML;k?y%tJ}RoaqV9X508yNQ0c-d`1}{QMqL1n zEF|-u(3>e+?eyL9~Kj3@SaHc2^ka^NdmDyxTc%Xgqg{iv9S?xd1+ROIg%hG zq(r$;6g;WfXkY*y!OGXFwrAC=CATamlId7XE|gYcu0l+=SVCBmB@jj=vuS$RN~RMC zS9QH%*>+M+LKQ2O20)sCB%A7#RB`dBEJk>lDDp5Op<>Wp_zMIeUhi`h|9kHjD(9b{^>i9$HN?i3lY`#-|(&z?L+S zRvTJ?EzE_sJ^=*`F<{?ZX!&RPQ@IF(>W_Jl2W@87fx6dfwWgtiKtM?5;2O`td#PNI z1j+LnAk5L~!mt3G6);oQN!^%W1ISG5EX26)I)v7o1!9cl=^%%2*c5nyET>RBjw;X~ zJ;;jSvc~d6T7uC6AxHIeXenc+R41bIUCSjx2*RSQhGsh4gBi7loWqk&cLKqYXMn=qLs8NXiFE^7$zdvP zQkrlr+Y+<3bjKqv6p5lC(5@pUSb||<8MP?2tXaMg)`Cq+JshY%@b1yxBw*t_M{fwyfzvV7VCt%8{wTifFc>Z9v4n+BFP&@qkZ1` zLy6h0!rTG@fb*?=?PU=Y)+%tb8V>Qk+!7TPaI{Y&BZSTN|A0Pp(Gm5uBGl{6p7fVQ zrDqY0|8$tpgSNHi5y$(wtn1*O){cnQ>#>v+{ykvhEl~*v&=`5#K%r+LC^?K}beZwm zIDh!Q8r_)D;guH)qTlMe-jQJlC>@{^gi(d0_0=lkm*==dxuP?fkHSA-JkK+^-_&jB zJ0b*tR%=+gs>+ZpU>{u*C-s1ohTdqE7+DaB$26dMv)ME)JsnTiDn%`pSX`Ke5Vd2U zM;9S=7srxG-LOE1?C(#l6ekt0AHpH@{44HUh2r8k6E5*IYb}`7ZKZf1&0=@pkLW?HGrIfP^cbq z!5WExJulz@Oh*q~0XRD%5VQs;Gkyku9n^t$EW@O%6WA0*Ok$ppm;&$DklM4Eg@=@j z)pnWGuN?vPmYoVARuHp%a)M`jA~671AodY4O_6yd=!U3R3QS4()pDJr7H?DW&kXCtO-199=3`&A;y5OH0g*cDcBD!JbKZSoF2770e zVDHp`5rO|;?BYNWXouBk4Sm=TQuQ-fRw z{CCj3RY#J>MMBW_wkOJt{fX&MGbWd|Aen_B{CB`J)tNdS8bbci@lZW0Tuf~BDb!Zr z_@4diu41d4U{cDGM=bG8r}uaR(p&ppmQzcKhe;N%&#u6>|q`8Jk(3P=vtm2 z{DJhJ0%CMvHDwD5fid4hQLN?tDuwNB7m2*U)VivdM#s~!{MXUOZhN7ss;^)~L=k2f zghJ1Jm^r=Up^HsyoHM^M-Z#AgzcLL)5`hQOHG530rG#&bG0DX~@Bu`^3!5pL8tax_ z;4y)n3Bb@~;?IOi4Wki{CkdaoYf&R&SXEJ$7S7-0P4=%{6q-25{gkB>_MWObxLW z)qPM>U1G&2er-1V#4v=2^Iib+lo$A3 zJU$396_c39BW(-KM1Z(vYs3(86KDa12#Cg0*!DGV4*-j^0o17;$we6rQHL4iu~m7V zqwfHE7AEU~0ugmR5CR0AI&P39mY{}+u4y3R8~{QdbJ_4Gh!?Qpn4(2A8=pE70gUyXF2O?*%vM{4{D<9}z7^x6KV%?%cR+bnK zVyhDE(}rVGKOg+*_cW1wY>#VW$czOlit0EF{^cqWB{X>Lbg< zXa*AyC=A*;8789F4f8#K-v>Mw$c;EB)Q>~(2v|RfC;2kCMMws1EQpW(3KCpf%J5gd z_gXbGK8N~uz@`xa8ZH80)czBUUIs;O6dZ}!yLh$At(jTprmrz%X!gI6+tHFPVJs^y60`HcNMTgZMV&37ns9k~g zJ&=0S)-@Tz{D1wc!F@4%u1?E@=V4B zaZQpe&-E;e_`30uBFVt$E!XC4)G#eYmVqM~I%vS4V*{4Tm4-oGTzRI>wJO7@94D!g zs_QzyXf`{VuapT)fLeu-?-d)!$HeO2Z0LoR7_k{hjYea5c(_<7q?4L}8d#q%)s<}8;ym4` zkOuRhC~87f?ON5~6f6p$>YF0fzd){mK?v`bWiZjfHqBT( zt~ZUCrU7>*H1#!jUtMNggGf5m^PIW`_||6P5CFg|v`mf^zCIA@T&vL2K5o6kWJnGD9h(0ULbBi6t1b~9~tz-!b8@EdoWW)YIGYm z2|MN`!>|&GM59qjCX=O72||uDfL07a>ln6x6 zrhiij0z^*YT_LN6VL;9>Xh4vnz^p_WL`XwHG|3VSCe}F=C~eG#KeWe$Ul9rk^h3|5 zKWjT(lHj2%Ns)Ev5nCD z7&To2_XBBKQ9#W%lq03Ucpl0GQMMlD*)i+GR)_IqPIsx!Xcgl;9}2z!&BJ;| z7i-#lT(~xYz=wH|(R8QRk^u*-7)R{kVU<=}`^QczS+ofq;zC=mg%%;U=1t#S$7A3g z3IH5)W($>vmZ(BL6I%2SxJ0N{VU|-{(VpQ&1%g(G@|}Gb{VE#o$8;Hjy3-)s){i}h zZj=r75c~c;{s5unShVE=b@?G?KY=5C?%KL6NW`9M8Q8T%BKGp2?*U7%nMeU*o0e(X z$z;Njw5g>PfI_NP;=p&3xt9^YK^?TgQWF|7I5aYyFJ}9P0oUubDq{STx|FefGdyx~ zaiLl(o2He{^lO?nGe4I}rfRz0sFpTNOo$KOe>X4kn#}8_tLu&uOJXF(lUd90_Sk)| z!w*07^PfBOv`>6#`}1@4N_Bj6L&f2t-&EC+wHQzmSf}L_6eVrO$Wn7Em8jO6N-Wke z9ZpGSa(#|v38F=mEe-?shu#t;2_sX)L<7U9nMh_`ua-<@gl1Ege9JlWYk)z*)JGs1 z=yS|4;y6Tu6v;zW%BJD8R`iLIL@ceXe)XlH!1P4MIE>SlCk5MpNcUlMPNyIZ5lE?A zKsKy__)g&sDrC5L#vCQAzT>MRXZo*MK0O?_k_OClD?YO6ruA5-`z-gJTM7HgW1 z&16ppX>!y(T%_Wcz>5~AN{Rv*%7PC4sK(+*G>FUu-v|PeY_Y$g({~u-aKw5+hdXw7 z_G5=a11fz-XOUjv9NnsEahU*oT;P>NEKT-1D4GTWiohA793vVn&`p#*hcF-_GzSLB z9@D;^M-bJTh*~`J5(#`o1jg!GUt_w?M`AocPr3%^vvocUsoMj4=L06px12*;dRf~N z18Qf497j#~E!ZG?JcEs89IG>3gk-r;$%+f(QD7$K>9FCM{iHpla%~S|cvnR_S!%~4 z^|Copd7U{)wQBBHiPn&#)g?gVd)Sin9eN~_09>~vGV**|#c<%^!Z@fO27(phxG-dN zW8zsAsn_wTkcj#C6!ZZEJ~^y@a-l4p{Yqog==rA^0gOr1Y$CdzDso zU5vg*r?%sHJ>n79*548FvE^#U{FjiQ9{afLOGSZ%;UQ6>ySfCn51Pb~Hd(SLt{od# zGa{&=jgyAtH{fQ$IDyIVHCzvGU}FZ~ABs!OYO9+4;fW-sK?+2?%ij5E&IV~;)7 z4AGHKrOlEG+70H=nASVx)w+rIgs8gVuDBjdfG1j z+x>S9jiO6_aOFe)y!Wkde%nv4y5L8b{PeMhpL_K2#|K9DOo;L9@W9JcyMSXziWuW< zqq@l1bsL)ngLHqRY-a|BWL~JPOsaApC^evo>Sl9jXsA>wYH|$8F{1V$-gX?bY>i|` zK>z+tMCFS^Po~|wOUn@IU-UyPNh^-wKy;$P%!|xAzOe-Bmpp*2DN zkY&0Bkt84x?>ofqI8$a!pdpYxm&=vQMPPqKz!%8eRwbGEa|rVC@-igbWAo-+yLROZ z`SJ1brfF1)g`wfWdZTIDI>4`C8p(Ky`n=f8ZI~{Jgp8VPW)L_bvO^)z>&P^S?9Zkl z$6Q1dNp@`_#y~SI!xlIZWEaOG8k8)?KwLr8JC?Ff>UM@b=C&B&8om*wi>)Ba_auS@ z!MYrq|0FSU91ZLrbi)||Tryud-%T^BMPbj6;evP;Qk{|WVV|Y-e80|Mb6K$5z}A>~ zBD4-jLz0O@{q?A>(XM}Nd0jRAkmS<3w-xqA1Fp>$Q6b|x_!W&&#BYT6psf_4q zaWtAq@H~&h_>fR7kn12m7ao<+StZo#yo3;*d9PD4pe{JH?F{C7y3zSgA|w=j)NG9k zRuLhP^TU;IE_hl54{{44+sxz9_He-`oujc=d{jCK3u-Hit~Is_>Z&Iueoi>9C7Shy z8Y2Rf-fScis$rN2nVu+J+-SZlOfE3PMUQaciX;m@~pGJK03B0*Vk9AR6td=9V`O8sY(KI3W#qY5O`Q} zJ?^1@Z2i+;Z@l5=pQq9i$2&W>?>Od|cfIQ!Z~o4AF8lj~+p>M*+n=9Vw_&2uY`UD& zvhj!RUtg_O<1Hs4@k8r}bzN_kmK5UoVhyGH7@Tmno>I8sYl$R{SOeT}fYSFYn(G+A!imTep^z_8U`g)^^Z3jkkUp8l&mgj-W?hf|#=kqIC zOattxmg<1D#bQw-D6N)C1tk^-{mwFtTsl`R8Ht#ts+wh0o0YBGVP5;_`|p62=A65Dc%8p@DL(Y6%9Y zAaONj)4dBz%L_>@Y1+h1ui30aaobr4q?PsYpFnnZLcuR)Bp^a*m0`J}iVGorRGY&Y#rONmHOkIw5M*B|lNconu}( zY#oPiXNL=1M#H-ZkPqUy=&v+A*A|aZXFM0k zJ8bJjkMyBGb;LXnhAnJsz4uPJO2`N7j;(KoVQW>pD`vHLJ`%R2M}ZN=^TC}&`rbf6 z(P90WyJFz&LCtu`mtd%m4W=ima4g>U&LC!4UrCROFi~b7#1L;;I<9!?LlONau#O4- zQDSlo-Xm~?xK}ERE)(L`n4(9@V0Ls#=sp>CCPzRPz9rrWRKn{5@AgO^{z+oYwVyrU zisu!2c?rqh5(Ssk};jSgU9~i3AJErAHR}h>;vqBY@|Mp2K;@P&UbV zx?Wis%q2y{%c7(=Y9cu}4gn_zT{j`%vA#rp=H=JE_O-H&`{LYrU;Ce#*%@-Oo-7!K z%UY|(;@4dJt5+ZS+KDkxt&Qc`mp5#jNM@4tm03+jzqtJ3Eqm_q&ST$JSXl;&KJvs< zFTFhZ8XHTo_{hiz=(o1*HkyV^&K==Iy@BEh3AqYU#|4QOl02Wd<9C1FIkn5FnZ-uw zpZ|P#X2(K)xxl;J!LQn)NVzAU-kDOx($XSmk#@6DU!48fZ*P42+lC*!e+F@GCY!kI zk_&(J{O^Dq34Ski9aorJ8d$T&)XP&ZJf9mKhJsS5#Psqs=$bpXPXSJ7T4H)~r)8SZ zxL6`#>O@zbdFiFW4IAp!@~piGoWRsQ<~X)8`S@=8?h9(@Gf(~{mC5ed_KciJ$75PH z<4sM?B$KH|y`hMG&APX4JX0$s3D>SFGSI}T6z4LDK1(kMqN|EVp+0y1_bywv4qda)z&F2j&hmn_@0Pu< z{Mq^I)<~Z_WA?9qxmT~2S1Ni;OO_YP0GumxOVBz%(v{_crp5Esc~Jd9O`qAe17<@L z>4Uj!zF3YYl$A=MlF#Etg>K*UP%1T;R9B{VBodk@dLTo{A}`vKtvB&<3T z)ACC*APO`Mr_pHGdd)NpNs^LU+^FdZMJ_GR!>>wAbxfm}Usza}gANrWF`md6h9#-V zcs!Xem2KUQr;_!ukxdO+WaAJ!Fw6Dl6VbvzUB|e!#>R!Azv(E5VJoi02H}Z3@w@R& z>l_t-d0)@vg3}n0FSZkQvve}DkO_9MA)0tj9>Js6R zU4m3-pfXq6HZ~R$jrWh^B70KE&Iq0WaPN?QL*A*su%Cl}aMmhiaqQQqQ>QOc>8~#jKW+8m4?Tot46V^~+)|lL+}Ikg!ug zXvq44g#z|np4ouPAS5P}8C8wZv~h<_zN%oezjD&`~KU@1xSzoe(!z1{>}BD|IBCK zaP*s&7Zz>LEfh{e>onW+sMHWZ6R zx@(eCWdS5K(=MelY9YU@#yHn0&(F_p+_2`P55Cp&O5gwfg+Kqrr6VJfD4-oX9$j2| z{?^;>(shv3wA*gG?Uq|_`s`;vd+4DDpL5PReM$F+KRoY-8*aGemRsI`{F^}T*}Q4@ z$;ru2f9~^pZP{mW`i1wr=RL1`-RlbI(2UO>cU~ac{r!$5%Y|*dyni zcb=jsAOHBr-~8scp7FW=zV@15-GBf6Upf1KhX;oMeV=*eX~_AIgI{yZF>eQMvADDX zGRFlMUHsyUPYezZxpw0dAN%lLd+l-BX{U`0t~>SAQy+Qc5l9a&d+xahNKvlqKK=C5 zP$6!VU5qa!!RTKlH$ZS6_Yg+5dZ1Uw;;;`q*QS-E`AU2ON0lSzkUKh8}#I zNcErbg|Eh9iAtr`*Ehgv#NGwNuUM!g5{Up)1>`Tz(peT5=b4Lp7*a!AD~1cyw!mh9 zSjYwM{x;A6SV9{%l??dsCU0g8>x@|~p7K#YY>W3RhQm`gXq#BSv@_g5)N3tqGA|1bGw)qyt)MF${=Qa!12kJl z3D*kzkc))Kw_CF%AD-p*3Sl%&n1jFRVwJKeIeEGu+^T;h#9cAIHJv^}kRa-Rj!~QL z&iVE;9GtL*LKw!8(2In$o7(c_B4Jm2FiyP4NJ0$k>4_k8R8jj&n-59rf0$!iRawzI z6>WIIKRt}e7Q`7QaHXTmTZnh+|fClJuNRUBH|T}pe$bKNOvhAm*}jKAT2ODUc$v%$u+HbB8F`@4#+Ej7+^MPWdELR+cjX4ajje` zBC>S8__F1=*!`gQeMk+{BLudjdf_jlb1Ix0v5%pD#WHEvIcBMBSweNrvSxz9f!}56UX2i;l;erX}lk zP0_?kt^CAOv&kg4Y13H$n~(Y1AO18wwTnk?t+xEoqjw*2#2e)l{_XGn$f@G?sb@7! z)?IY;+xNQZu3M6E@xqI~``0_~gia`y(G53UEy`NMT>jl3ZrZy2iS657y!W0PzW?(} z{`}WJ9sb(Q_uhXq=-Ag>f5r7T{QS^EH=cOn=_h^gcUb?5)>{-@6S=9!N?aL+Bb{p91P zo_5q5C*E@OmzoZ`;>UN~|G+)ERq>DoU1ZwOUK^x@a6i=nAjV3389OOt!+^{^? zh5ivh?kSY298WgZ>kWhMT6B2c$k&#VIW4C0@tQg~Ht@~wUiG!JPW{NoK5*juPFz@+ zf9UoH-*fzNHDl$fYkzdq>oy;A%t>!~%Q08{=rgs-_V=Ffx`~YgJGMWxX3gjk2lv$~ z2O)3iqaQl@s;jR3&TlTi{q}2;+67O{`-CzCM?A6!)`I%?8UVPCRy7QqcuDEh&SbgrP7fyKlA;Uvxao00{`_pyFB)a{^ zr#yY(O-Jst&z9^t-?;K?U;E^y@#LTX{O9o@MXyYK^V{Eg_q+H0`qyXw{=hZ!v--K; z`u>?`o_YQSUwrFZ|NiDTt=TzcuB>d|bI*6b`q0dscV?e_@?IEE-~7g>Yc+JqB|n*; zo&DIy-hJ{(2YvqszXIxg?z8XHl2)l&I{fhAi!c4&JTY9JjAB*GB`1oMMD_DruE(+VIO4xXk7;7Ye{w)3 z$9(rV&ey_di0N7G(HN@1u|tt@DDwM7v@M8-zH3~RoBJDt0&HL^YBb(Qpa?Mk8}Lur za3mRODTOVS5eMdnh@kNAYX8``ZTs};pb|scXv}Ky5x<4Dl;I+3#C$?25PFw|Rq_eN zMPed((nk5zi!K$nH>V@AqwSa+lFp;HJVQGJAB|x|$B}%x=)W30qb+K6blCj%q3gp6 z-Ot=*kf%<&VGPyudA=q61Pf&C>l~3b`IPr968=&|Ygb9n_-N(%Rz3Z)!ZFfO&oIQn z*?+#bJUhIZoaNvjTjcNCLL5Dmifme?yF+{luVV)X+v`IIIu7fJQL9Dadq<0U#`kJF zUX3Qyi=5UoI17-)055R>Wkud0a*T^b*+!ngE1s(~44g}(Ds^Xkc&uJ3G|Kf%HYH$w zVR>b6aEJ%JnU@Whga4_?G!i5%$#okQY7KqIPEq3G@i=I(T570n*vqBLI45KVhNoA` zRnw7^3MZ?n{^8lB;+EYv{q&dr_uX%w`@<`)egFI4dDhpy0Yf8`OxFzyls#EXDoU(S zC@55(6bt!MGMylY?jhpBL_&caYa>bVmHeV8*h!VBk~dxd>*t?+a@+RjUY?zPEsj1 zj%>#`_Sm;Tn}7L>pNTWN#qLg%_SXlp`wUQLj6=Qd)E!bi;41dGhI}zJJjfhaI}#H_x5c6wkBkjY?S_ z$~^wa{c8u&8;<@!DPQo+%4jZbG|^Q*zW6)e_@rIW>$OFrB7gbJPkrF{BgpcS?8!XZ zxFL4=rQeAskO*3uU4xP~uT%bc|6lqCp`VeZm!5dysi|F)=Y8YTjcViW-`|?h;-`P| zBkWY z6nx_|4hp16an%0kwZ8XHob|1uOua#jIWqWYi${T>p`%$Sh>Q{-jPHcW|F@6VPRI@_ zVXljAtHg))n2sl`Jr_CYtJ@mUdYA(r_JIVGI|=AjC`3+igB=c$L!yWr7wXF0+H*&| z>#?PbRkYs@NJI2~k=1kV5z~DKfxooU`&-%ti0Q{n`{W}b$Mj|vLwzFHl7z1-2fF_& z>GaGYgxb2;jR`mmSxkF;^o#^H(7iy!^w<8eZ--z`0z#ydnI%S`<+9y(0-ZVn-Rv(! z1rv`h9)%(D5w{g0)E1B1bf6giIPIC#905e`@96 z=@ksT5Kp9Lwr)WvXY);ND@Q!um&#z6ygzJ8D z`^QfGueB4gTD1%;I+x2eOjD*#+?-1e*cDfn4N*y3mdHac0>~T*$7u?x+CMN-t(8iJ z=H>&oT=t`%%uH=tKRS5W5r;qh(zX|O?7ZdX>kd5dHSd4#$(LPr1?2VHoA0>y?z>C* z*(xUeo%=V^3`yOT^Ui*T3NncinYOd9e(?-t&ih4?A>XpDjo4*sim{cm2s`n_Ce%5-*Zp4fZy?)xaRlrI*JJNA8sh2Hq4 zcj<=l^pk(Al)dF;6Ndi>PdW3^#~&LR9FbL}T5UFrMy1w(0i?x~s)|4oY8vLS8vE!e zr`~+?%`a|$IwrwS{B^&%esXg0%V(Y`1Ac0nXQ3kxIix?=CyHXT+5Gy~z7dy@j5!4q z1skcn7!xE#5CJ~Zi6o5S*S`8S`Q@$u{rNL4y72sZy;>?3Guh!Sd+r571I)aHrk?t- z6JS7``mrzmKXKY8Kl|Aa^e3|Y ziF8?x$9ZHH>$q+u6MYFN-$nz;OdW(O83~3XSmchpbH8-G8+*p`o~P`=-v?>tBT z5-{=&_(Z{QxIk%ZhovsiWSuH5*U>m_uq%kel z$3^t=4rRTkwn`UDqf$cnA&%tGt(E?}+CLv^rM*)2)O35suT~K6A0kOX-S^hVU7vfA z97JYqp=JrnqH!P+1iJ+|6gv5P)Dq1DR@#zUm6w)9-IR^hM6H=z4NyxpYk8%a1HVCkfx+f6xkT^Bu+gpK?#Y;8Ra zcCrPcfXDm7w;y``xtx*sh@S_0?|^^KKR=*jFtkG29e#*{cD5PYsp!vK2ZM4s7Sk?F z1x~-1j~f41^Wede{C)dFB%jVaJ4LhAymmSwG9zdm137Z(@l zkvW!aTkKu{%Q0mc_-`Bu;@Wi^=4Pjrm}c9?LHq1Iv3~r)`|o?t3CACI?Ax!q@s_<0 zI2iD5a&mHHe0{lGmKE8dj)dai2*BKsmXh^y({uoZ$kZd#ef}ROtXucQwwK@V#<#dAcJJ^0`syR!4v4jD=gUVO^}5F%dmue9pv1C@ ziqe@;ARN3T2F6q^F}G9z7M{rTb6U8fMkY4xD~hu12>nCr z1ra3@1G18g#kHrNxkZ-IA%~sv@IQa?=wtPNKKjU~Pk+NlKK7lTT=|uljP}|09nU`V zy9Xbdo1C8h(EAU6$MIkI-L02EK_{H>#anK<=*Al#9bdohRR;_ndDMpN)e);94ctRasyXVm8Cirk@Wb?M2#SQCoYd38XV=2e;7MBW2 zBIgNccCoa_UV9S9HZ>*2nm~#*8#d1@mB@KGrXEkHesI~P#~yRgM?djZQB_vVN@#v@C6P+U;u%3%CKoJmD4yzbc(nKa2k)9)S-W;ax_?+!(cE&8 z6Oj;06v{dl(5F6q?wxo31>$r4qo6_58+QNjcruZUCE^eR@uG!v6GL~v&?yueo+pb^ zl5}69e_&u-jcHR;iw7RK79(Z%-S;CWJ6kxN9)JX?+>jt?Fm)^s21cws05}BmknN?d|YSKkrbHqr8Zjbb}N=$MU@JCWAKpj_=UX z$O-`t7;jYj=RBVQwm5sF4qR|WP-wjM4Ypk9Bi%Yf5P89d1N84||Djc*RiDto0k_Ix z<+cpST&FjGhdvs9i~VD==n7~UvKVr^V@J$t@ifK{!+2juWo=;C&v~K8LeOdL#vkT& z!TBMzb7SB9%d9dj>rP-$!65aokHm0%XFe!0DteZM!1ttJ6BMfFzKBRGNB)W7zsbzb3ae3iY z`|mw6)Mp!(CX?v^9QA8o``=Sf`M6~_M@9!4%?c=WKyNKB4-NOf_~P@t;Pv%o6I#qR zt$aSO0-x0qrDCPOuWxQ{X<>d&q}#SV+s^e3?6!WNWGepDQ%{0^f8Rq79(wSh?>h0s zM;?1dRpS#A6TGO(iU^f)XgkFI@x;J*!bX*vm5*ubv=nNZ#f+9Z;@G1W^0WD3b=}7O z>$>*Evo5;m;x9k(!pkdld-Aboq}3~E-T37lFY6w9@X<$iOio$|O)V@u zwY9!+V?uYx>7kE2@j|&)Ej7{PTw&|Wkcn5QS_a8~$IMD~-~HcMs#{ZwXxFZCRR{eR zRSf-+rx$CkqjP9@)23oEk8pPDuEnF8h||UnJL>pnpS$nxkKHLqNaD~pzJ1N}le@-t z-^Z4es^ir?1mSt#`|kLjyZ`SuPt(oQatZY4Q%kqrc-_&*9F%XMi+=cR$3fes^^I#| z=U;rujW^!(`ZwcpZ(TPF8|s`KmPgS-}|w9{`%+p9=h8F zG?me>fAbduq)iE(chQB=1&=&e`Sch6x2`)mPOf>%<1a2Ao*hm{hv7R(o4_&{XPFj59&cD zpY-*oUPiX<@TuYFCs!&Ck}_k9wH?W!^&rB{6?IR^pjhH7-?}h0blH{HTmm!uZ;#EL z{k$2TuTS(m9V1DVs-nJx@DiI9w|p`wPQ9av0 zM?_knOV2B6JBSWx~<;l7UP z`;@oVayiaxtwi|#a`Y>*e;xat+y1qr!HTDEx~0E{F>RVI!&Ji1$c<6NgBdYn2{m+3 zGoi2>6k;sAxgaLBbwj z($UI?DWhxu(Rk*o)tx67dHmr`A0!CD@>6H}p6|@q*&5Hmobfu&Az*ZFk%{bnh*pdp z586>H6bRW|XrBw>U3S}F;1KEs$2!r&*O^I&ejX0#c8Q`j7kHOV?Wlh%7adfryF+@m z$9If}9`q;2D0(R3kQ*E$%d_GlGC4gM%|oEvgMKb4f?00}B1pWpsBpI92^z1)rR-P+ z#j%j)Mm7%1oZvJqffLrR8>!ceeSLAqsT)SIFE@s*YQ0+6G_mHaFQ3_HI1Xhnk_38E ztkyJ>S|*puEKJWs=WQGxkH@uIt>Q{ZuN0OSr{juTEf;E)vYTJI_u)t9mrBWWx>~6} z_uR9?!y}@A%Y_wkXdZ_|ftTx`&(gb9s@1yQXsVjlsMb=c2@pd#L3`?nZTJ1*3C~>q z&P8YKn%#EK-=FIr-Dp|z&wh42!osGFTek0bZlwQEVuLJKLFdm+?4~5v$cnJcn{ItQs500=Z9p3MyQy-rHSW3ia)qS1X0zVMRkAAR)UPo4hBcfMoK zg@uZm8ae2o*GfvvE?31&&Z#$$68q8R|JPVpK&h0LObBxBp8FnKn|c+B#gOX?nM`iO z9&6Sg2h<;5zellH{;yAdfsSBpj{x34A-_G}Z&{Y>IXC>~x6sQc9RESvXiBQK$Ci`o z^}5?^-g@(0`9kGg@BVOcZf;=h+I8c{d1U8Z;wL}8rd+DO>)oH4o}LEXbl?3xz;VJK z|NQru8sGKYi-)}a^_-|{vi7s9Zn*l|n_*T%4UTxt$@NBAmZf^ND$4S$xj$a;{frL% z%O?&x_`~H&acuK`XMN?{r=4C}yLRpJ^0L6WA3phgfN$SA_ea0^&2Ma*97Z&?^WJ!T z@S1CGx&8LPW;1;;b?Df)pCn20mMw?P&DM{2&Bq&!#?Z)ar~cO$pMCDhp`iiHyR};F z+H0?Exafl)``oU{>EV&_y2(%McEED6v~JVhUpe=C7RX0RYUfPhUGMuJy>6P2Iy*M;9j#6C~)56EfP@{zyuAGa|tgj#A%r24GA0f+K8 zAP6jfdK@9U58vg&k-DL6C;aejHh|JbR;IE20S zcP93R@t9hiS}~k|8UW9RD++eB`$m<3j;!w}2=kopo)<`6G-ZI-j(-ttTjde*&lC@P zmJer^*M1XYaDqVe3Z>AM5c@v-R0{P^Vc^&~SmcfpHn$@oZY>kg`(eD`cx*b*TJDJc zVct{__L$cNJ?x!W>DbMq>`3om2Z6_j3k~GIE}d4OAn_ty+7es`>rJ~ar)__6*X+zp zwOalA1CNZ24z4UOXXCm2(h4LpT=(T2Q)||&$qlcu1esG4z|X(;gUeH?)ZpM?u~^Jy zvV~$*-gMxuoKTmx#H(m+I!RBUT9iYr|F@kh3D*mh0HsH5@G z&9zE;ddJE=_xxk`jfXC+G!pTg5<`aN6&9^rVna-mEX$}%_2J>s<>h>g?@Pwwx!5Qg z;ieYm6g5jq-DB8j7`AN>4-ZdGO|9MSfM&A}>K(>*p=7-2&F?NvnjJR4tGS&ql!iKJ>6P0;tWSbTDFa-ZD}TwEke+7n~D8-}&!fQdq( zFtKKU-5p*oSJl2mUvg;PTV6l9QBh)^i$Fp`w)m>Uk1j5jP2B}vkxL9FlA3LsK!IE? zw`&*R<(N0*0d}pdtcXrxuZcq&#l}EtBCU?XpdU<$>xWUPRN8Irno7AaxxIMzo%0|w zj1Fu8(F{Jh>vzld-+%vpd%c$3DIj>}(3&A=m(_4xNgN+Ppjavq6D9HvKIE;StdvTH zWD4DM^F4@vpCk>9ugxJ&RAmjjIhb6{h6|D?!s6JPky@z=n)TqoP%<+VSG395sV%$j zQ`76V4kOCVB+|udX>f2oI}}K_3hTy4)44ITX=eNTYUPUKa_iRaVYyDFSc++VnPdh; z{;{>Y!_Z8ov)NoazqB0F`Yp@exOso#kzh7~hsTo%*L8Az>tKl2%f|TVMx$&c<+NGX zflnosbiL3VN{?8UgDtXcN#O)lrU!|*oKts2UPkQ?V;Ows#ay9m-dl?A;LZU?5La)p zOSQrnhi9jwPPQfEZr0w#-C8l8(_Kj}g5n)7UT`RBcZS_BM04WWU@!c&bJ?8pkC&fY{_)}U8Nk0Qt7b|#J-s`xMK86JlhjbZ!#I{=b}J+C_= z@Ja8z?6{z)<6D+n^xJ4|en@Xnj9ixH%SSTL_h>0QNG-%8K! z`XEkByn~ps0(23S76=Y))+4JUuf9pk|86KRx)w zudcniUagph4l1Qc;Emuw5K-8!w%0fbwc&CZ1 zrmINA(b{Y@2KxF|3X75~B(*s2*qS2OK!9;vAmaX8_WSF74;$60mdI$bnlBcBxyO}0 znNu{$^ zNG;4StzSP8AB;6Y6p-a)G7bH(w6wBe!#cp)jF!k|vdb&;l8h8lt`+lZM~2EPD@j!) zHUPtjiDGeSA(cpZuG^>=lJI>@(c-bf(!!>7Q$8-|_s* z-~HxyK~|8Eq*t2?r+(w?uY<$~Jq^MHpmn-0*(lc&3OS-!;6)-{tXWfURN0hWSt;cD zGBD(%=PsTrZPz`CF;#)CZ05{dM-N*bF9&5hyqG#+Wh={Hk&n##@OKC z;=(M@78+ZrR0{beH6|1Dvt`Z~@{nfN&X*wsDRpLMCZ@(gL1{Ls&=$GB4}?d^0aWvP zjhODCZq-t$uRqhM)dc}th7MFt$F+Q+5RbulwJp7|X3bi=xd2%>rVV|Ug0jfnkK{ZH z+ml6soH6XtV_HOd8>H)zD;`9-6K*3&Pya+MZ7sAB`oDJZ(_TJqJnrUATpN70F*b)`r$*!2rO>yMK%y?#!@tV_VpSz?m@wtZ1G>#AFi9iXB-KX{b*Y zA6dCpybo-sU2F;}#)~0+!UTcUq8CA2$LxuV-TM~W_5iZS^HwABD`RjAAlpfeP^3E| zM8oXR-}WMU;4y0D8NIwJ`fHCvqnUx&b;C=0yJ6J#Kxv2Q=rvDaeA`#PR!f8zf%+|= zz{Sl!M2McB9q#y#z7y*LZr?>uer4wecwy)t-Ggv)qqJFgOg%S-1 zs{qu3C-B(zEMVh~2e=ut99QNNo(J%I?X9U2Xy=Y=5b7slQjA)I|(rL*L&-Et+FNYxCdVR;7}`Wm35 zByf_zQ|-wmiU)S%ic~19$fD9W&_A($Bf!7N3+Ys*S}p-C#ql*mN{mYk@#SfIt&3Yi^?|Bs8~Dk+NwX zxmKe(HC=!PudM8%6CYK}if!B2v=V*&`9Y}#>k%c!NYS-mcUN)0#!P_5Sy2mvti zjCu;bh0>>=o0Bpbh=J}0sN1nkkVFMEzvq@;hOPqHpi;Evrpc{3vLafRsl`>m*IF_u z3Pj6kHg)nXCoav|#C$z81ON#ykaIqt2e}FW{`qI8j7Bq+PJnDk$FW#kwqvn)xm*^| zaIIS9yi&1Hf=?i3XlMwOY%GXMGCen2hEE#Jnk?|ilr}##!*26in0~&mZ@|%)w$E+T zv_z%W5JWDfi3=V%n{QxX04lIFPc9N%nqP!|1ktkDY{Iac)OC<%pi0G>0e>RSBX*1;@N@0RdU&*$mTY^)rs6Sz`CXxTs73q**h3I z3be!3e(K3SIH6NJ={QlKBR#pNYIW_um#*w}R|BCoF{E3oi#CV7_q=fq5g2}DU2|1E zxFe=J|5w&)SGzXaH&%Bk>&)2OoljeRA_q2v7g%=?BwDK|#`o-$S14<>{(Z%ZaeL$+ zUZvgfQ+GT|FOdt+a43F+z>d1!S;+J3%3@y-2oF4t3I!~N`QC9t=Y4eH9{KKf>U$wZ z&d?OXG|-Rq82`?%qPN>c-?7JqJMp9W1KaGrC6Cme#iyB-z#aj3K^%&;CvKJ07%<>S(%=i-LmgKsZ16CWz*)38`iJm*$so9D`1auHIDaeh1`(kD56qt8VBsXKNK`G zH90&y3@rrCAwKcw1Ds?#&R39IkH_2}UUE(*GYY@hZnap<59Y==Po14y>g!J{q^ExWLC0Fhm@sBzF3+j7}GeJ=KD zwMsIRu9k~(OiibgphFYw7IB$O|I)&uD3YspK;wi5lLO<3ZG;X2a+{8!>ri?wn=Mz# z^|mP?sbwpy!!5}!(^O?s&h2tk%(11E_m(R&9U`lGF~YbK)BIjaYzQ@VYYu@ zYI1Jvy7k0HRI7;+;HbpTOJ?ddz&s2xC(;H) z>kXIQRzj|S!8fPe0oZas};@Bn?LDm8!UC`uhFnWi)GiH z_e>dts3Yf|Vb5~Ab>;3~yXzT^kLJKa$MHJiSxV1$!0)sQtd>uA-6HM%4<2SJ`!_q6 zT10T`v(^)pMWXVeM(h~S8FBsGYN=`T`5Km zrbep7nbm=W)Tpi)uA5dBy`kW+;BH=C7|s_1$d)KCs{vY-y91>oy~T~^$x?3nRb zoKVjrMtTeq00^2uCD8+cLyak>-jo44W#Hs!bYv(V*UF{=)fKmIe=MF>MZwfmdunQD zTua&ZOru;=Vrbtj>n3+i8V&Er*S_kBC!QYp|JZvEI7zB%f4p+%JUML+zyccx3P=(V z1w;{0K*4^=1EQcPf`Cs&{zgOzK2T8+5ZGNdusKZbnVyc-mFxGt_jcFx z%ych1%P#W#b3aQ_Q(blQJ>PTAJ@=gUWHwh){O;)32*+Ch#Z*%g0$MKz`v0m{D)O$v z@mgnltW-eej;#m7{t)k);9qrDj|aHCnb%4hFUvu{KM-+b(TSz_zJX10pv}w<&*-qZ`~n9w;?3v|TL|DKHeqw0GD6cUcMq{cb4C+vZ3z0rX09u8~Z{3@cN}tL<&g zrNZV&gv6A!-JB#Eu~>XGJsgk63{5At%$ybQiQ!-yfXJ&EzSF|ss8?c*Kku{c4U(bjiHBp5koV& zk`Y0$RoN_OH%BDN@AJEEu`_C0xh) zH2K6JSKZg#rS;0!hkvJ@0$HH2#LfjxQaJnM27BiXq&;pTgw(~PsgTc4c~Yy%ubbh7 zmkG1!IQ1x++kmsFwNal?dAf%%Rbb_(w1OpNqPC#sg>jR>+UG)p{;b0PWQ?cdZF~1S z;pe!TzM9I`G-OjI73bL5~fUTo-aK{h0OnBbt>aw$z)%-mzg)C0cQjBXaq{-Tg zinha@kh7PkQ*GB2oyUX`Z!}Dk)6|vN;B&6xx)WmDrt zQL;_qw>TQ|JC2r!i<*|vbi>aJOvJKuBPfLY#0L(<9uvZwU+|lTA-S^8 z)Fb{#*k=^;gQ;YqTpkHGU9djgxH0kVPLkh+*pjulxK~Syj8clIu6D9u4ynXM}@FfB(ioI^wX0lLtOihQYuSv#iCVL^L%`RpQW^LI7FmWs!4CFgRw3SgH{pdA2Bs z#2bUgZOd$m#iNEkg3o-iTvkVeK@x7*H1fP-agL@4s!z7_nNeyz;*+Q$six|f0hWQ) zfn79l>L%35(uz+A{`5n0pRWoav99#!pNA& zOK5dC5RgQ!oKGWvMFOwmU@GJ@z435(QeJCq(J7 zkWbfgY}rktmETX5Ni(N;gCduaN)MN_$jPDQDyzETb(PyUV z6CPBt+^zY1s`Nh&tNi4))?pOfsc>8Ka_t`W6uMaXuqMk&mFz~t!PoLqUOgRa{JBds=)Ts^58SE)v6JVDB==Le9+XR2C@(;Pgh zn)#k*L4az$0^!iA?VA95HOB8#p4*dwmTd}DH{4zC%BFQ~KqHSWpzl_d@Xq*iYESR* z?&K{4dQgS-$;2&yNoxE_Ov(7KLPg2X0x4D9U)GF*J5`RSzuMg7?ErceYwK21Tc_Up z#98o^?S`ov789;c9d-&|3DpT&opsgGt1JsIIsto*R#*@{4a0=^sF{XO445<|ienKg zC%-=!3Q3vtV4^8y=|$uLMAKANkpqThM1sCTJ{=4OnH>Na0Y!2+z!v8Q!b)~*C>#m` zXG{4sMjs+{DW4G)IT;BS@);jxAgH4u7Gl(HJi1#-TbH_IxjB=Wpk$Tu}7A;mI*RU%t%f@4{+P}o$pP%wl%(fK}N z3Sw}!jTiF8Qb1NvpK?hBl0zmoP2zn4jIB@hW5gs`A_jVX%oV~IVYOlW)lx|Yr{X8p zp&@_BA-1Bt#0yw)L4N>^jmKhWrbPF~a%0)Hwzg8CSS+ZqM0{|dKN^m5qBA_uua(Pu zEE@Cyg~f7_Y^Gpp>uM<$i@6dpyTec9G>Ao_RuNbDn0RHKDCb>0pva|?0T#@)Y`-iy zrh(?np3#Fk%k*EWxfxxN&J)fIb57*J`iQovOB}D4RGDIVek>b`hgGAT3dKsrQfn;5 zb~GH<@N?4O$OuL}bdK@F!@)0ikg#>dcI*}8?{TEln^b{a z|HQ5MnwgqQRf|yZndrUmHEg2Vz~!sdSEydO>JzbgQw7D!PeRRg;y>4WUj5dYn)6Ps zo)qZTbO?Lm)TnaC2elHzr;hCI9dxVve9~b!ry2x%(ytZe7b(J?T5jDIHG1x~sHXQE zZsG);G+Fsc&#O)y>Xul)T%LJdm^^Aiqpyf%M4k7ih8+^C!@cvIr+npjOPC*r`3Y%! zA<*`U=y`?nyP7KtvSZk!h8AJX{5~H?#5X${iCBilJ~J#%P<&-jGf7e*_5_2bOP=5- z+?b|`=O#yPlu$^A6m1KfKY^NPs8k?;pLA1jeR0dBO{9h*?Bp(6Sm5e4El+IiWC0R4 zkrIi!U*HFD#FW4k5t~X!B6=F4qLU~Mb(@=#ne>REyKSvq{e45NGg59w5BkEg;E#sm zne0d`oJ2LlL4P)D3=gG$|Jz5FU-|I|AH2J%IkDt`C6LN3-7yS{;IX9(1Yk@w0?dzL z8)Y30;X>hXp;Qb-!c8sBu|)E~WJ2sh-qrF@x0FNmhH znM^8`G7YPw7K7m^05Td$mP$o16s86Uwqo%Jzyt4Su5M^%$REW+FgIA+1~`>q$TBRj zBcTAXt!Qa#ro4q8TnkVZnAFqV-PhO0Y|uJ8+qZAumg-Cm4Gl4o6hM^A<>K*VHZvxR z5*3t-mSO6;AJdWn0i1zk&6ZMIP z$+kLrrfhb1^q?U0GX^N1&xxEI3nkEvg|R{~7)6uAk+`OoHN*D#LWLqJmB*Nf#E<~s z9gU?%GkMIVwvNtRzCgT58zxwaXe=>j?%YkAwiJu`SS*3kkp zS6{36ec?U}?_(y3Or4T`3`7i}+jL9A7#xt^sCRfBnK?v&24 z`8s=o9LM|$2qdf})nIbe(12sNZiTB9#>D~llO++ghDBRK$q}ZA?t`+hz*_c<=Qr1XBTG9if(MTM8j!o48$XpSWvR076ElEBHVy8{~ zl47_%d);S0|M@RM4h}^^FTL~<8hGJ_7ZMYFVkAEVw9BM3@kl%z4g;IbUYCS9}`lNYL09}bTrSBLUJ?|K+cLyZV|dN5*>hTe$G(qmTXNFCX?tqk&iiAX+LFe1Slw zm=A{qUnF919Dbs)cm0OLrH6;fQNVH;b3^j`i3U&<3*a++zLII;YJ!C{&7xsk_32Mz z;0`(DAcI6~kSxmyr&8zy{De7XYGq%*XUL+h$YC08QC3LA9Pl5xTtSw_bb55ooO!q( z9v(UR=;PYjT24Ln{g+*Kso#%5EcW!wOsCVLD7&uZ*sjBzk&qbZe8qdWH}7A^wGu+s zeZ5z{5m9cC>aOs*lZcqxrn^{@h!M6)}|!tzR_N#!13B(^FMP(tCQs*r{mQmQ}w}gO5G-N5vxK;*ERDD?Ag59l-V&WcF$)~^M*>PP@Z{5f`_Yf? zCI=jY(J$Qism9I6mHa+)`=T1BQ?33R8&hsz4kOcfCAps-dSkx~os;)_*gqAW-PvJnASTos9 zK`nK6cZZ^p^x%*`7%t`265#;+vM-3ykHms==j^*-^QNYzHk%xG;X=`nPmg(&9J9jQ*YmCvNMV&4=yu(A<<|IMQ=Yj4J-_dq(9+ILoHMecsv18_}IisWL z+*nrCIB-R&RLUq6lpxU}1VfQ{s%hP(t-t%jAFsLYQ=BNNmi5ZIwU!_>x3>XC4NVsV zJ_yil$+%zfK~mS$GA3wC2e}7~LE;YwL;ZsTZ7r<;-jU&SQ7uWb(%#t?@DWcBgxWZkB)%n2uCC5eB|u;^XEVO@WZlCI_ad7Oxq$(wj}VV4(edLB#JMyHmmv- zZ*b*y`s*8iZ6K{w_V_0*{pn)=czfSO*Xa@Es`A{PLzoe_3=DL( zcmMX+ziVqro_YHF{`%KH+m5?n{+z%4?Qf%_qZeFu=@U;pfwphkw*4Q^{qv+#PU5K9 z)7{_y-uV|@81e@OhX?-l*Jn;X_0;pvJ^Q9xZhre=Z`;u~B#Yd-_3NUESSC9v3W6w$ zKz#sAQ7fX*Xf!%Jl6H8<7XbOOSFe5Ls%x*h>Y9%a4Gw+8i%Ql@Evu6(v488OCV+V)Rj%8kS!G%i?T5`$7{{<*56x4+a=dD_^=9b%ThH(5} z|Mg!T9qo~5=L!nS0 z=qK8aatQ#LFXka_kBp5tqPt+x!q%>~Xe!p)y4ZG1!*XKD*sp*2s|zl;6f@%b8?U|U zisgoFwX}9)dd!{Mb<%rJx$};@OtUg&)^Av|&!T;8oy^?pufO(7U%IJOD#T*V`02o9 z`#k^bKhHet%)<^nZ29u#mT9)MG(Gh2FK)T@)<68=52v2?{y#kOr=ZwoU1fi)a5(so2ixn3`Q>s_jnukU> zn8GXwLXB~0ov&)%=c(LJV-}LAN?=7KP+{A(T#ouNq-MnQ+=is8S|Zu9Y2#K%v@>VV z)(mdmg8569ExzWH5Gc7TmS6Ryo4*!|MR`#k8R>U9qouX!+D~5fy}R$Z???AEwYD3! zZCT}?{Ol*+{Pyi_ZEZyQw=6|e*tvh^F-8_iDGTTBM-C|Pl2!z?m3zr%upij}kAM7a z!GZ-pf9PlLI`M>Op83l+zxChoc(SRrRpOPg%xEkY@9*zd6a^yV!hIK*HVQO>{oA%} zGz={mRG#?L8PdxSfb1!Y)vTptQbw?a=1V$GkhdNDt6%@}sAG?P=%+t@=P^eea`2(($vJapb2LEb{)-oF*|O=o-@OY$ zKNzWl4n0&9_*^b`$RUTMGwGJr*3~OsGEaKXyxFs}*=!+~Rb)T-wpct_C=qXtM;!L{ z6{}XQTeIqg=l&7%M^FL3U$9N0t~m4bvyMFS=#I9|(@uZ?Gk^KV`%gP_Xs~zft7{g_ zTj&q^Zu|0AjyUoix7>8g+?IcJ?$R5RPR?)d#59y#lS zXJeu$lCNCSz+j+=fD$eh)Q^AcvLy#Bx&0frcXW5qDev5V`|bDM`{R#)^b(ACp-^Z_ zrocu7!=Yk6FG!N5mD@Tx)MBxul|@|bh=<9v(XFu)l?H$YI1c496!aO-RBns5W z21ml@5jL9I@74+HIdQ4HDXtt>*@x#QN@k3~uU)a;0{*wx`3=2tlikqLE8+3}{dL>( zSN9E?Z}o!SzVX-HSdX;+&eRx^4X(RcACDb>?JMV9-CcO!tw{D2sk~C!c)@IgW(r78 ztzj*dn3UYA0*N0tHDKEeWOso@KJY9zt7UomN51+eahopDF9nC}gG!tW30bC}3)zeo ziSVId0s@@mkBBlaDWNs%Hk1vL@$##$`u(GS@+kp)o=hcl!}<1|-^iE7PJRDLW5A?h zLGeov^(@O6OJ_?Nl{bWFAOi8%1mwE5U-6rc9gzKH1KEkP%Sn77B!-51hapOa!hXoU zv**mnt2s_|GP#j_DSy!=7ybS3FHje7L{e9E)gK}!!oPFJcMf^`+rYmpJLKSvn_p$t zkAvyKcN}??u9x$9TO@&N^N=PnV|3jNgkpeI@CUlCnWi3%H_QGAI;LyJT!9w>PQU*3 zul>Q8Uw1BFe(fb6TP_MB5U8k{rLq+aCk|MA@T%48Q>nz7b(_X=hGFro9WxYvWb@X( z&hFWMKaiOF&^aG^;!l72^!3+0@W6w=`~7d)yV~*aTX%fxh8wQ`z?mP&mx`OWZ9Vq5 z6J3{6eB4PVy~pO9FMRon*MIH{sH*L9naoH>PuI}M(CFys;$@46hX>H2w$3(Px9889 z`RAvfilY>*TpG)msw&yGB13|<$A$(KfUw{9{ImZEhC+ufTe^7Be*gUYbLd`E)8f&D z%m+U4@&5vM772z6YVp%od?u{;Ff<1)Ts$&7x@p~}#Rn|ewtjm)T@39LncX=z;tTh0 z9RyoY%9NMvyOemo*7=AM4a*UXW+EON=^LFtV}WJaeo2%Jaq}yi_MNlebyt06)7CAa z*%3^vpWXlSm;brqbDz4Qkj>%S=4i88EQ^w_P*TBc>825jB{po@9E(KTI@%xk?eBi} z&@Wc4SozQAU%*^Uq>`3l0`yH5YK<3oL2w-A*_$w_EHbXcO}LIPr(NdmY3x1E2ypkW zVkNN1k3ar6;QWZgmq4T=K3{cRmibUP0+huUudG~k_xFBq*x^SL zM}47yrdhH~{PczV0f`rUl5FXgS}G=!3Cki@_oOOMbUNMC3R$-unELt8fByL6-}Tf}e}?$3$bo!5-__Nze#0i@-`3jtt`pzs_e(2Q zynN8XOTYg0uOD&5VFw+w^nnK+IOdq6WZ5qWD#Dtm<>;%wM=*-%Xo0NW_IU-_g-AHa523e)}a73F`Ka^ZDdCbLJF_MLhTUlviF^ zHDl(?;h~}J+qXab@WYo~cG-V_{i~2^6~&iKrPjatY9QcmZEYzQ3oWfJ=zPaTC-b-6 zeADMX`EDEMULJas5e$zBdYO$xYBa_L#x@Ijv7x@otAAszRf$QC} z{pbJlQ_CRRJMTaBy%=;;x1yo2W!R2swKTPYi3s@ovLO0o|N4#VT$}6Y?$SzXK=Ji% z?~{2^Q}xcac1ZlPAmiJwef4XP|M787w|Jsp@b9x=-$M^N_@WCg{Pbt8BfO~1J@T91 z{_>Z<`p_9?BohgqoLwPd0}a~@hoa!X0O7@=+LUV1H4S~+-92OfMF(n{5sk!yfxu`c z)7sLK&5s$T;nH|t91ZGQSrvjvB6>AW&NQy>G~aJ@YPtK-lG zzYEtr($d$y)^iNQPkBO_6tLIck2P0%vQ4OyKc#on=Gl1@T*o8I*SpsJimTtQJ=ODX z$~2w&J5`93{`lmRPyTWAPhbA>4e?k~*NSSfq)6P|-@8{;ONOQw@?+os-glQS-UsMDI-Jhs zGqz*6oFyw#SPW|hpj`p@@*=NWhNHWMazVGtg2MSiV%aR&j#J1NL&5Ovx8DH}-LYfG z*&qBcK=kRSpT6bGwZ`!JoPGA$UF~h_*RDY?;!WbpMsV)G?}z{U z|c#TPG_JCAg%!|l6Z;kUo}t&>hVDVG^L`-5kF`gqw0%f+%E+(ba3Rvnz|6W(^jAz%9P zjgDQmVMo3#uV%3}GR2XR{P1}fox5_~%DaDX z*DbTUF)<%_@c!J`Xeb;sz+$+zq)7RE78TYtRS}8ejK z|8`B!>spV~F2&i4^_jd_b}0{MTt8GZ+!ec}26JG_JQ;tpo;9(TDaX}pJ#a$hTp#CM zIS76L4)Pi~K3(yuPUKr^q#*eusz`NQ&{-OGMT9gD(Ktw)u=uuZ-~8DduKUdO*WGvD zeHUJQ331h9S;rrDg02}4J@gP>Ir-fuYO4C-v(A2X%{ox__nv(6vL#FIyYEL&Jn_Ve z6)TQ7;z)?st_!(TN4d6bvcvSK1j+*Nqpiu-=5s!BjvVy2b+knykxMVV^yHII28!ph zdC29Eysx-?IWp<%?O(O>71aBbQ%-JeZGHEN$G`aEizB1y<;#~tvcK%Ii`T4L1!?;e zpZLU@HEV9Y^($Zf>Q`5&OZA?xDqEq<+3cx<+5%V207;-ikgl;H1H)CUUc3k zKlw@9v4(~R7cV(*&fM99gM-a2O~@Y~o_F5avu4ly@JG)1$xnVlTr=9{XlA5mM)wt0 zT$(TBnwpxTvB>H*uQ)Do*MH}occQiT-+w<49nijU<3?QH``%O1=``T{_~VbqpO;^L zIqKQh*LUE72Y%ucS3Lgs(;H{R8BbIgfa#qkdb<)Z2iX~$AKk(yIPdycXuHU%+X#MDDG=P%rM!SL|lj2Sa9 zW7e%-J2p1<;d9TKJ$vT2zWvQ}&pmf^G(B(LyiZ;C$(wGvsjH`R+m3CJ`_DS(j8t>- zj1Qh}So)1O-hd*q*~|qOoIN<$ud3={hrNxu^v4*g;cyuJC(uwCWKEKAWyGJI#0$i& zVIYWdhlhuWUr0gh>FF6686k0o`04O|Nd#hX3ikzPI6j+SQqEfxNS8bK#A- zHtx@z)pPHrH$%U?o_4;8>O%&1+MkjS_{w!WOfq4Uo_A0+;m zV~+9p6~F`D|IBAT!vfWub=Fxxkt?sf5(UaMZ0l*KodyhGA+Shos5^I51t>+My*caG zu7zYjch)Qv5s%07xxyWH+>tM+H{5VTdwV;i|9n0VDgR?1`xvVsfEks%>#neXO6#BW(eXhU1f7!BSC!TmBUPA>;>OUALP8`}821@+G7rt=bdFQQKwF>vh z;i;#dLbit;cG$Xg>wsbCIzTcCJ>`^Bkm06Hn*g6^Y$lTdC@xuYAanGHa<9JnYK#qD z1}lR)V-!#pSefSL=4>|0+~FO5_~Cwkki`x`eeeQvpXY@XLx-Le{N~rc{&hCY z=$uC%eH8ut;DZn1H5T#*e9}*U`csSUwxA$fues(La3Sd4mtTH47*M|Qm9LnQ*^G|>J)66j+<_W6Gq74xj&L(ry z?NTO`-8;BF<&;zLig_TI$@B4f@bv1~r@Pw!%be%CGcmk;u z_{ZWdAS>dyrdY%aU}aDTF9h}a_3P1g5^+Ewd=JAjpde7Tt*x!Mx0i$^l!Ys3c@`a1vk|SS0CKEQTC#16BzygYjZ+@iJ$*)80;FEVZ+0y zp+wvPS!^IwI{&=bXe?3-V_dGi_FD7?^1(YOokU~^1crvvqBz|}GEIMcZ@P12({FF( z>g?Ke@78m#OaIeOdwV{-+1SUo(ws8AaOhna(wd1Co77dVL!3jvk2r{HnE)pr3NH`&;zupIOM2m zk)r^^Gz@@eU=Lc0Z&3qW*>QiJ#6KX?IbH*kfy{|bfN3&*f^ZU!C5U`BN8%qxqG7z> z+|mSSA-L;;nIW6~XaGtFn?jBIlBgsLVvEl`l><{MAWysukjv+b#4kNDBX<}Sp_|^Ec6g=xN59kwkd=97mF&3 zj3?2A#-h%6Ef^%s9GcVA)P#ZKtHE<|vuxQi^dWi)6=Pk^(|Eh2W1E|iGoCO*MKC?6 z^I?a-y->_kU;BJ(TMKD5**3z6jG-*bGlgV1UM!N%Cjkybk%SL$T`&je7UtWLjW|bb z1KC5bN-TDZ7q{(w?|UEP9?(oS92hl}LW6=#H}Q07?aK8(AkkJ(1>P=Qr%iFD*Z=%p z=cjgK)ZT#kup6`Vt@Iz6*!tR)`5?Rj!iQxMTxRiOnW)LM^14Qp$3*&P^w*@;@Q~P| z(J+fT56Hwr(Bg0ycwj=HCxPKhWsrMFsK^u;!}PsO!p1e79_s4q0+nacT4}I$BG(oQ zc?LF2Nabi4d*BeD5<(=3!*gWi<-;n9_km3K36P0 zKo@?Z4U<@47$krbYKtZiclyDwNxj=JCIBxZHwNU$88@gEeT^^y5dHBh2|qYG%CL>q ziiBedg-}WMx%VprFcgg^B$$xjk9Qc~fL1VwC2<9_SthvSeU!yu5>;Yx3YaP$pQ8v= zinWUsM~ilu4I`^9%be+KsH&jA0uvZC;UPK@m0=P#dl_|RZAT7tH-zwZxHi+UJ&Ym4 z%cvf!KiL#E_lTnL5#-B=;wE?@rx5?`^E=XT**dlGnW)n;!~w72HNTj|Z5cCr!gC6Cc$ zvu-cy09MXc_i1fu5$NLdgj?n6qaQGCYm92uhW<+3q4S~ATjq-!uVz$9G0j-P`Rb0 z1<%*5>qEa~G9$#FKd~4nA!k$rjY73qg;5y>&&YqvmM!QIU`ybz7YK-GcC zpyUj2B?elNc)XC!u359@@h2WjBx0bykUJreu~_v?MO-XC3pm-dX%o|s03<=%zJsje z1tuWUaPTHx1JE+HKYn62Gz>OGZJBLsGjlcu383#jUx4kPGl`R3fdp)?f#CSjifBn+`2pu2E`>H+OgE`X3?s*lD4j5FH;47n+)ys8a+J8L~H-a7@iLHB=Jp7etYC9;4BLnMGukZzG2bNDLt#skx%~*(k7faaH%atkcl{cn*+8=4?k_k_5&y zuz7;|U~ZulJn@DAUBS?u?Xa+ZW(o=Kp6$_Krs7*RB47kjirp}-{C{fNJ#w@6_Ws{g z@c(ARe(o*!|4&bQ6aKlq&jC2LZj_UWCL+>1HVEudM;&v-5l8&%g%=6@1Br+LMggh4 zy&Yuw%4@DE5#T54=!)uk0hdK06B;$0dE2OeKKuQZ8K`R%x!SmnD@L7PD%~B z1Hz)~R{pWiD|K^qRrS%zxWt`+NN#|s;xx5+jg-ud&h<8U?%1v%(+**JZ)P^gDo?+1 znY@eY(R&haXE4==%Q=e%9 z)-;!^%lI2vHZ`qM8PwV9c8)fjwT{hgddr$XnnULjxvAQp)=Rqx{MAzGx2t|XxVFoS zGUr&Vo-Xy-CDF*`6D#0-&|qdZEVn_M8qObjrkR*BkZ@*fih>0OvrOg#?Io9L6Dv<- zal-Uq13~IPy?$tz>dgP0l6yfQ#FK7ia%`ZnvZ^(tFT0hdu{OSy{+-Ds>UnB5&r?&f z%Hy3(k~%}SQ+9B=^oNR+B7{kgzELTY7wVNlh*cFd38@tR`t;L~%KH2JnN%q;DHCwS zL~w}R0D$e=x101#UB#Bot(a?ZRF0>nXGNw7FmjEtys5DjL28B-lut-X}Z+UvK*P{?8tT)YQofP#Fmy?AG3~S^MRQd zyPU)9N!c8rdPwIbrJVxv zmF}3bR2oEwuB`_9mR(KLnKf(Hz`y{=B{OSha8++v?kqJL&PK4&=zTClJ|8*W*wN93 z2?IJAi9|rEsuW)EDkh2mS0A-QoJ3iw(_(UBGF&6A3D@9x{d!`^&~M=L=FFLc;T{|u zY-(y^dnnBQk*ji1OljXJAD*u-l{W6T`dXPr?-N_gpda%!oleK%(P%8f%s&D11Zsqe z-zy@TioC>&Y<)6DkR2|-!q^RRztc1g#HC!R5eWEVu_#BqR-i4IsEjZ4&OvZhThx}8 z7G@=ig%t=$_)ynP+JZ(kai(#!z2e4X8cRcweZ*yj!xal;M<$hO(hZGn64f8~M)2Q| zT-FVG*br_xbO_szOEo32vWWR@F(2dtice;d%83(U>cX5HR1pM8QkY=Cx|i)ku~|_! z|3)0S(m?wK@ng!f+7?yMWq5y!gv{}VidAoK2zrvo5^+QIX6vqoXj7eUrD7>SOS>vp&;a(MtDJzB#`vs|WUv>12KSCdx&m9xolK4#s9SsS2fVpD6XyNBT4 zGZFVFCQG2CD_5?ZIddix_!xK3?q9nvUq@;LSIk%ei78k>&3EkBv0%XhX8q@#-(%Db znNT)s(u}FgEwbl4h1)tlo*VXO1K4JU6wzoD{9q!H=;NRwsWASRiFe+C2==hn%&=~nF5Aa;zjnR;9t$-zG=#ow zZEZ#M&=B0$%6y)9fuA^P$GQemGvi60(k%rUW(0=8f~S*=0@G@dA>fM)qs6; zB)Qt&@rKv-z-0JGcVciMz+vf)jEvwOwZc79u5c4gV!1cKIP9%NQ=|C?7L8FqHmRIy zYQ&H4g8r4c?`5SnWXBuT2h#%t5MmpE4>XY3*sGLlVlH`@%^6xjt;&S<%GpMcJFhpUmZJsAbkKbx=2Y>jmdmAUIz*R8gu?yvQlU7wtJDvDb8=jiY- z9Xp!DEbT!qag}zqSGosMqv1hUfU<)y_4M>?-n^OV_vmJd>FLrv7LqC|>~ZPM9oL{t zw0QTPGajf;7fn|=kFkR!dcXk(psMV|1ZX<5%=i2vP>0PfL(|67eeWie+tt;zb?a7) z^1ONTR@qdF4&Ga+3}xSE7eWbh9ZA<8VGY3Ga2j@1{y3l#+?BSBXLY| zMTy+2gB7+AJ!8Fi9Fw1UhUf4Y1B(^c{}N+3yC(k^jz zP{1IujlGtZ7PihIwJ;q38xoKtBGpZXf0pXrGr-`d_FJR=Y=l)PefI3x=sgVL%$YMm zi~u(5oE{T88S10X%!|OD)22*MI>dBG(fjPP&-2eeKY#vwumX%hVV(vU9k1A@5MIgx z@5K&KFy54Teq=tT_C$Ty=F9Y~N-@ODBP95A+;7>k1zqZ`z}kronjeXTo_+Q?rpICp zVMk4^lW5Q1}sU;n}%Z3db-tmriluE?Q1qcMH6pzQN9m4I3^xtTG?cCOk^Dzc)e91qZ;6S+S!`wbN`$nh@ouy4-k5 zx5X-*pTHOL4d_Xu`OnV116)$66j$|1hbi4?vrJKBM#mz=5&Kp0N@7(}kO@4lEHs;aR)9oC0{+h8O@nnU4s zPo(K8hdG;Wvz>JEdr)Un(>8A0c+NRzJ^AF5AmCt2yw)+RH1u<8YcogbHPcuSGjDb} zV2{*iT6^srT^fQo@XTLt`{Hdk-E`Bd>-!fkUX0bt%w@s# zXTTV{tih{ZUd6o3V&#La9vvR;@9(cMMcma?E1gV`mw2%XFXaDK%Y-RoU-cPI&5O)r zGRZ9efAgE)pnm|OFTC&qb6<#|f}G7){NGWlx;pSbg?6}=Q;x1M0sd)y8rceXRjo5q zF??-pZTH-BPfJS+`VHcBKA*=!<^z$VyBN&b06KQ-)~$`VOLrsfd}t=rmd!m>gH1Wq z`R=>#1|x+!1ByJIgvX&4i}^B5=ww`}+#duPwOr1FKsJb#-8UM_oAs_!GbKf4>&jGD z)#o(y@J_Mc6()fPssy3`&hLH?6lDJV`Dn=c(KA|2phH>Lfnb73w4m$5r<#`Uh#JpXhSD$|R>1Z^-99oz(qLin|qz3<$ zQYwC{90%;9OT317^SOo`b2|}KYO6QSjtjh18@|Q${3_Ogf0CH&2>P&g?OGPn?C*d7 z`?=?yD^x>vc_ep|n)9vnZ%GX1*p?0E&&bF~K3~M-YGgWEmu+=;ZyYC}8#SmFC%|HL z9*%3ls}qU6K%%?~0%&zlPtRAs`c(*T%iC7l zyx}~&_m%_`vnwGnh(8?WSD(G+sSVg(EYoi@uW*7a*_=(+Bv0(JdBL^OT)JQ23g9;A zS|yP0(p_zIE3<_65!bVz*wh0Lh%P6(j_45EMCu?&cF3k1XC-1u(=j_cJDEifzGuFK zfeqdkpeH%e6(vF>2n9*dnp7%PEaj;sMHrAA4ijTY=Hu2U$);m7%W~5Ze1Tv#oAD_! zF}28zVVwqo#11Q$8;gd*j%(Sb6$k_&)ibSKl-j06!og@bV(Lb7s-=)CDw0nY700p- zO~+5n;jS+jW`~q2lY_5px?2`G(atz9jzSSegBS@bqV3wcsUbI}p%HmO5oP9MhiQ07 z(4AP6xeYc=gYb7Xl*QXzv|J~aOr6X8>o6lN!dp#hF25()5CfPaqe3$P72w!^}#y_o-^d@hG_ z{7N7cilD`qgy;skqKIL*NOpr!BKp!1MH%v&g(eF;CkYN^u^@8sHVH>85mAgcY=fL| z@F|9+JGRA+%@BpWOAl_Dj>jDPWPhQUBU7tb#2mnlj@cLpqYs;!lDTZ5tm=MWP?3rC z8Ok+{O5_DkHD_~fStqsl%U}N5+SH68(A2U&08SArRKPc6tbJJ0gv%uE7Y*Gdo}grK z5d!fgfff;8UV36Fj&s3o?1uqbScolZm*m|e6>q#i2g;9H+Bp!gM9U9w^1xCWWKBBp@kV%@tE z)0Z+$DBhw|O9DZnPN)P?kXgq%uIW12Ku}UuO%TYgszwHsOhQO3v?&%{78Qdf{H<^S z#`9q^v$@K)v3Tlcn}G^5wyjuVy_MdORJ#r5B{qjcLBC*{SO#m?Porm*t+Hb~u1JT$K}TY66yi6MFwmkb`&g_?%OS_%lF8<5p-5zX zUWNoDQ`<$pM#axHI3*}BO)LA!tsK|p2scb)lQM58H1M=Yu$&q_q4U9xSS}M|n8R}9 zLF1hk6a~Bw>JN4k&n+^A1aJ(HOe94PP%=flJfRpvw~#60=s3E;L6v;;>eSo0dn>(( zlLspmA&P9|gAh?gj%zc!dP+PA?Zj+Pj||3RDd1gM#lm(S9jsmxq;B1`nIjX|;juI% zUI_#u#o`DA`*PV=d+t%$fX3Q8E9%^oGD&$7NMs;WET3f40 ziLi}C>?8w9w4H<(b0OkGtjy)dz?~$M$w0s#i^WmH?wRD|)yprx^z_sJ3qD|G&y0Qd z-S6N-4smRE<;s<|ZZx;G4iEIBR``nebK+c$Zi4W1Fegb8M7d3aJu*uuw!uuul{@Z* zhO3x_Hr{xie&VaU6;o1mGmLk<9Sw(U*;gvbs=-c3zc&1j>mjP15+HICcAF`;2wy<^ zo4!DKe3@|alq)ByDsE(C*dM@r@ne>mHddn?i^tQMG(bI-Y*I^QMe%pEccs&WVZ{}7 z>+J08?a(A{e&)=cPkriBG9bw3Te#n%*4EZL@4OT1<-!XuY-wpe`|J;^YO%Gg`Qsn|L~Co? z#TQ*NXU@EH&+m{0IT#6FdG$4+XzZ(B`$k7s_s2eZIWgmK?W?bCZENrT%=I^Rb%h5pR9aBg) zMF`hp>cD%+FUcH>Vr7Y(Tr9c78IercWlF z!ySRQ@sH3J2b`QlJOYyGBl6T_&L-PfZb>z|y5`yzw{1sXC>V{#Qkk(rzNiD*Tas~* zbQW65|p6wIWD3mFx&8{cIMd4c#-_XQ(QqjU zvFK}%T6cmkubCuIGt5;`zvdY0bQA#WAQqF=7zaQWfbGnkJ!foe?4^JH>$&Hi+q7Xb zRze~g4~0S?;sXPH4?q0S#x0wdEL(c%rI#M_&f|-vqU8vX{y|$qN&r-qV-mUPRu_-M zJ7#eCyCQYLB z6G6fM@!UUqZ@$^@Q;t3QNTjzPbyO*rd*+#E=FOiof8LzuUw8pB4bw3YZJt5QC@UMu zRm#Xnd@bE)Mm=r~F`|S?pst_T4>tXgLl?30&0wLnY}scC}((4ZT9BobC6xwWOUuXp&^V~(dPZg3l9d*#qW4@J#q&z=n?^4@!Yv|+=Bv5^d` ztLIvgSr2iOjCa_ycHLr;#DN5SV*M(<0O>{EiGq-qv;FQKSV6B%+E$+R?|U$KeqtqSTq=V`4PjebR)?s{%3Q8@5e z-~_37DS==5Mj!)5YhI`G6Wvl)h*7lF;iu~O#Y-*p%!L3JMH4_ zuO)`W>qTzejXnQ1j7&z9%1l?03KU^~~9`KKt3vzU!oSXNQNu%J>5TDwWbr z6iIZ53{}h zT&7)^unoa<0E~dr**xxCf$c$feAUDQPP?$*Uzc}8A#T+$YQhUupG6bS#!$5>l?a`x zuT8h=%ddW+m2U-iq9;wj1OtA7wnCtKXUYTt1<1=H-4_r^i-`>YI*c5TF?88a+#wS) zQ;r`U9^LPN{R^eypPu|PgmTRGT%p+9+!6|sXisXXylmOB9Xoaa`zV(w0ilP7NBjX| zGf^x3d%ayF!d5&%Nuu7}-A#|H8H*P$KI({fEMLC-gJ+)p^wWRp>h6feV!ge+?d|QQ za&FtUZKxPIt4Ys_L*nm=1i@#oTD^Ym+`0V&Lu=Nq0?HNg23i;Jhc<8SU9@Ns01N^x zi;3k^B%^Fa!r`&ZNH`S3XalOjYQOTz%Ki3VR4Ns3|IY1e*RK84HJ=jb3i2v!W2zgb z6sYS3&yi#?5L5!82r?YY=7&c!pzNootc zu7cB->BC z2QIam+TBQ!r`Kg%FuQN$3uPyX9Vo>51QCI>3UL_-3dFttz6XNAU_26wN8-$78&>#O zE*Ff1qlv`ez;Jpr)7H`D3d*Wi)?R(hr!KkVlC#e~tEIVPz3_k^$|xN3AR8jX)Ueo zW7!<2Ic{*xj*Z5XN#cpc??ZDwdg)~s(6s-e1N#R0>4|iziV=A4v~l%lKIe(oo`5n* z`uF;+Dgugv%!w7DMCkADfBEH=e|+q*j*gC|CWv}kXJ?rB=?kVdZ{Cb~*520LH!zqP z%O#S{OAdlB54#hOo7euzSJR~Tr#l~Z zmZswv&QqLlHCmi$l*Kmu3DZa&1Jk3EmF*3>F$-aiXz5)?f`~@90Z0)dPrSKFM8j4n z76F;DP#BQ^{Ikyuj-)?!*(a!}7s(!M$p_wd>UrmV1jFPKA=PPWBH@+6x?u#V>0gC$ zsfGXAV-$>;_u4o#G=w}A5`uZ?OJDj@Q&Y0Pzi-Bj8N{5P2y&ns(IoTWukpR{Q z9lZ3^_rCktzdtjhyL)K356zh~ch)PftlDRveKu}fpGYK@FTWg2e1!|-#tlfhdh?+w z{gd?tZgnhIKzkyw)a>?d$L8{dvSrEnQgJk+f`mQ$?6ZIV^PfkChh?(AP7XV8uC&iS z`;ypB#9l{C#KK3s9ju&qu32$x^P=MH zymEqApuU%6kQfMB#gc|!1K|*swWgJMP6`CWBO|3iC>Du^T@DZRqG}16BuW8?lMUU> z=d-0^exQGwrsn3(?V35Gd2B2riIyTe3h}Kb2{Z-)*0^r(!4ouZrM;V6rlaJ&9Z{Yg zH|MB<7ccSxITuEpOpBr{fn=4;q$LN?l`Q4SRxLN zmbwwL6~6*XR4S{1P;mR!ZL3zk{Od=4_xbBS|E~9)e8uw1I=eb_L$!(iNeYDgF4$2W ztE#9-kYb3RIIc#bcs<(L@pJ#RY5d79Q)(bRgnp1q@aYQ|E*u#d0TKN5uYVhh#oOCD z+dEnT;ihSTE)esmNK};cOfDOW#cfd@9vW?KX%B|tD_5@k*0;V50&&Kfr!84}@T!$B z6-(JUvwDyxWDdHFsap(o1cK4)8lk@y)x5I}Z2j}p2OO~|^!p&9CE}?k{`AzE)$3$g zX=-Wq`+})tD=?n8Q)q5&ZSN%B#CXx?50~;|fmi|+=;)b+5AXf){g&gNciwqTwlgw1 z%rpL~E&t0OUr~b*Qi*jb?|IZcAKl9hW&zw0M#4!{K16?+4 z-keG_4GoU8wsaIqdZDOxb*kdD1_P)5f?cPn}cC z|-^y5{EQ?c29Qq9vY* zWg%ZID00w)C~xnX^M=0a?cZxrQ>w*BHo=K|-A5mN^n??RYi>%367Q4z0|WgXU7h%( zP*O1;M$(zK)*eX;KK=AlD^{$)bK(S-Itv1aeaOLwm$Who*lpX9@atbaS}Lf=AAhV`%*NtPB{jEk()s3ukQW)oe^GA+ln zG6KnCW(Zi`z|NkYo(CRyz_Ofu_c;)xc4RaMijz#nS>Sod0fuFx_4$0!v>ZVaiPv7; z=$<)a>&6ZD-g_@-NP9D`j8`qmEB@y05~rFPn8ZUgGLX7F%x2DVZ^+H z6-P&!n_3~S@WD^KjoZHyPqmzJ#s|Rb7@|s#HQIv68K%kG6Wq(!N~@mq?5&ZZ$sY`7G9%PBaK^UHo4@k4 zuQfNt-*NcizyJuKT!YPfZ~MPSFr{Yi-1xBtu7NUOx0Ar^>N#h8c1et`t|D)DHVlV5dt365oFEi(!T_%T z@E??=SgNWUmP?ZLRH~&~tv~X}1M_pmL_8Tw#IL&QCirNcXU8TdW@e^6qCPV_+t%71 zOQbEEl%-TG8jnRYEKMttFg8B4ci(eYU3C@alZqlB^*I{Lw5HCSIT-?FiiX#vFyk_u zZ*Qqx#mku+cpX5$rs_&8o=mn)Of5XQbI;sDF&0m+-*^T55^O8Do$TDaZDFv>suhjp z`Sy-fYa2k57(=5fINx;yks3NPxOX4Yc@%gy5l;i>;h3NUg}s!+k1bx(^4~8VUI-M> z`dtc>F7bijw;T`X6>4q4;{=d+&ou2=qBWgP!7|J))XU`>AWu!#O2z!_Tw!*uI59q# zFVsAsEG$P7EEpp}?x?BGiIdaSs@2|}QbZz=OcFFBh;i4(QK6{m1gXkCg5hYxzgEll z|D)mgq=Qn1eG0{gTq;oMad328>mng(4}OBe2p0E9)1m;^{>7(1ee%@kU*la!B2X8adRLzf-jtGhi4@u48Q5vft(_+o=#*CVL2 zvt$EL5F+R>j_NPA5?)H5#tcm-QArLu8jQ%wbIk_vH9xc|@2fLK1j4*$7a)s~2-z`Fh9CqJ!JYW;nyZOdm_s$SD*)by5R zNE+h=)38daYMbctblagtWONNf4u0>4_jhyx80gLy%et;p=)irs zes8gLBg)bUj(e9gN2stW38k?j5P+(>Q9Bk?w0)Ka%UO0d)Ikb5{wan0gXLy1RLd?gHAK$ulOCZ!}*BaG8iZ#e#p@^WGMMpYLhAl@U)oK|&Bh3E~ zVcdDa^W_m<15kP|i08W~H`Hec!Zr=?01RA)X2R_yS~By+!rC=!e*Ckaed;rxCPgH2 zECUk9h-Y{2uH*`)uGcFSfu@1~IkrpSWIC1kmw);uT;Jx+Tgv%TzEqx?n#NH3zC7F- zI6PHtY}vN;pZ@6|0rGM@4bOt(n7|YB%hMhvFot^m%h`Y7w-yingOoZ4Jrp$Urm2JX zrIA!uP*3atp9UXBz?IT0r8f0-Yr4Mk#C?^rIxw&iRtPVOf|!_JsKgU(-Q6@VC?`)I z@9tW0dT4~8gj}|`b?X(QBjbuB`6B6g`lgNBjvqVtk6-`BAAjWiwT3!1F*-6jc-P%; z4AY6>N`TbXgIHZ~wPnEqvUiYTHom;_Q>G^PnM0Nk)5+uq+21E`S?`)$Y2MZ3KCI z2zj?=+OxTGM|(%54oig2maqc{4$sZ!jvqUdFIHqF=~yICe~OkpS7D_Hfzx2hd=F@! zM=~z%=>Xoxr;7E4sW$St+=8NTmuzaCnJPGzEepI_t;4iixL$l>-Cg|;KYHkMpZ$B& z_TKWg-?`@MYk|d`JUvcQtZrhW#OJc*`5ZDA;ITGt+(~<*|Kr4OOnWDa~0Fl z)~+77{SEi1x_$7#zAt_0YhVA`7c#9~)!aBK_zX)2XH=+7Ot=LWRW5#w#S^msv$Fk{ z^Lc;8%>QuXfgb`sbm^s+e*EJf2jYVIaJvr80JtVJU{@YWf?+t8;dq>+T-UIyW+|VW znwqNDo2adbkFhAfQ5zo}+57aKO&ix|GOe|G1?Bf)%MBLKK{~&ZhACVjko#0B_1*7& zf91-RfFU@JLiHLr!P1t0-M!Ir6Y{ z>irv|AZNc@2y4Qx!xrqoR>KO(@Cuu1onzRCe)eFoSiJh0%fQ_$5#GZs40pk|RqL8j zuSKKaAzZk}P!7*_ogl$;F?b$!@4ZO7E!Z33p*|kU&QQqU0^f(rh$X~Au?p;-S7MT& zY}kJ7|Mw)-9XH+dgYW(yMiS@d<^ZP2aS7h^!1K=^J$m&1`+n#X z_~4n-faQbqU4XR~P}u3|Nr0ym$)wYntFONL{vZ7iE-$QY3H7f+?|vRIU3UK=U|KG) z)M4u*H7ul}@yH{ONV3@3-e#Chpv9JHaRTi+m|<9J*KXLq|M{o)?CbBpM3kc_H{K=Z zW{WH%*XlZ;gwBp`B-U#i>nJ9lFRxp-;n2aut*vb&K_N`ZvE^zl8cQ`BrEh)f+a%=; zpE=pumdxi0z-cs1O(bJOLqq$YeXh4>)p-mfjQ@u*7-FeZa=Ev?_ifs=sU_W7DCS`PQAq$rhSU4<4INM>PPi}@Hvm#i0~q6T zBpWCh_%u(JEA^+IewM)aOnblXvWJhI+Q0vxBrB2_6%_>_jRhoz2F|9i93TL~Fl_{$ z5s?Sfs$)J2D}iF8x&d!5PfX-qc;Pg|I5ZGP$AcA|D->yx0SpYx=jh<^Rci(S?}jpK z_)-@4ue%Rl8~-K4UyRIRZkW>*S|FbQB8F*(Mfn75BKYgEU%c?;fA}|yR_?jyt~DFh z=PPQZ)&NXyx_Gfxk0d%4@)P4zNRAfVUwc)L#Umch=>`ya+qRIc3;I;E*+N<1`5SM( z11#2&BhUWz=l|E|Kli7a;bxLbRV&%_Z}{-&qHXaI0`M2Vz4k*{9{lO+ zZ@p#nC6_RPUXmA9=my*prC8zq#WBwX6B^(F0^|pBRw|X&uU`+Zz}Ic9Ql(Tjbt4js z@+=3}X_`i*TFPd#m1_0q;E8M@k8nf1VKkeuL=r4}y;j@1ckd0?U(?>2X*6ofoH)?T z!OuJ5z3644#=CHX7-~eOyS8f+c6K^DKRv&qtKZPfCap!{F;PZRhPq(|u>;b_fgx$l zW@8~cS1D$VM%i&KxLTAo9i&9%vh%xk?Yi>HE7L8lbCct65h1L5DVkf1;=H19KJO35 z**AE0tOy7(+!{e3aYI<(usq<&;?c;yy-zjOvaGP*{?0dA+uN?a_L{ZpRs#MjSE~^v zCd;Cale(n?qUBLbTtDnswOm#T>_2Q+dGTuvFJdwO9|be;`COK!c_|VXBJsY~wll?I zu2D~SbQZNnQ&VYz$WBfD&3C@@)MJmm>jNM7-(US|?~4AR!Bdq|6?46Ep$PjknNA%a z9F!x<%*+hKQd*%2NEa@zfkq7;{k7L#d;k6ScduAsI%cie0Q45bDlWXm&RZBE4nUy- z!lzIcB8qT)=}TV%_76D2^DS9M4K`I(!!cSAMB8#7eBj~E&K@}uGm!)hiTQ{M%W@=8 zY$TdZ4S*#0mz!_g@y8$eQ=Z|#*P(mS>aJ@Cnl^YO5_3JXSSm>}3r}>*)~y{K9lFuP zsdTkkzV+5yw{5+wTv3+~1{cp?g5pRLUkqTNFu>A72awvRHQU=#`CR$2$9J}N^u-hD zWntJi|{Mz{M8cWeT6zxZutziwP zPn)*Ja*|JTLZs!ngX919{RhvC7vA-*_iefSs#>j5ELMReSSI)b5|CpJIGpWO8(_Lj z#`24$2F(iSEWomG7sZ53+XF92kkmr9Oane>Z@u)2>qaKWANu+3tFGSqrq^Ae*Jdma zkMjJ>tGKRBMnvQfM@5uyVrd4Ey7S!Z`3& zVFB312g>kAp#UU6OJYPK-4cx@U@NwEcb9D&>Bam0NFkrE)L_PDW~NfHh#QUE`FrpE zyU%|1&p!9rPk!*j?X7Jx%fqHzn4Sf6<)C@==4YnB*MJd+Yk+Gj7K?p-ef#%61C%s~ z%V7)i^W{=C8dFO7Tr!z-U4OYxXn0}Ey#Kr`%Vlp0ZrU`^xaXdG{`jLGx$*k#;BCQh zpe!StQj{3WOFMTyefsps9e3PAb5YH7Sc>*sJm~-3WLc8%++sO9Jw18nU2nMI#`Pcj z(+_?6fBetw*Y5Cq@HeQHFnpqJ7&ztvCTqZrr?X-3C?F%ayX_8luSm?|=H| zJ$v?i=Chw)uDU!sfE3DmxPkWyzZdqeL)$zO-Tm+r3k$jK73(-bF;JNy7UCq!G~nW7 zK^YzzO1H$;uIaz(sRtwhO`H8qN!^>i8`cME&v*m6)?=eXo6x{j->^TW&y7=v;rKisahBg z#z0|k5(p1YP`O;*)T~0O7$UM49e9u@99BfbvVr9SBm_lj4c(LD zal@l$=Nmu$+0H{pM{a%NJy%|LW3HSl77CW_$}(%1uncHeVNKnlXdc!P%@V*|%hiS; zMOaiJOnI)w!|L+greOkRa~gdg$BV{qY-ayP;`%IK|pvfP&M) z-_-40l>K92m81Vk(g1<#AuZxaBy2xCG&HoZu&`#``gk(sI^ey*4m&`@9LuiP>p0wP zv+7uSvr=4`pP8SXY&J~C!VCwKV;IHL5ruYK58Q2~QiE%-Y#aDiF#BFuco8W6y&9nd z4|s%Yjt-v|dCqt2Os1_?Da0aiBtN3nJ(Ol>fXis2u*7_=R$9o;7E5_m^$DaEk7))* zSSA3$Mx``AH`{2e3UnMFRU44BkWhEMlK!>MXVYNE^jR0D`ez9v< zO8P^hflG~i8oFiyj)V!a9RSb=Mn}11Dz902%|@xca%`kj%FoVA1Qze1PifAJq-j_YwNBT?U|4XJ_~1WcAGO#QZ{8HLID7XW2NScNh|0wHz;$aQ1vhV1-ON zE=sVj!QvUYd_A0jW>bSDR<6`l)g2w1J3TbIWplTtmJ`WTsZ=x^cXVQWVtOi`Oe~9R z0+tO!7q3pU<+br&KG1@pk=`sifOG&U`gqg97{|wfyE`r*NNm^MBS(%+rdoTi+P))S zt!7c?hh#OiQmsZa0!DasT^E6P;3(q_EC(=Qq~z;(uzp?G${vCeD9ONaD4UidQHG>6 z-DGSc)4i&tYbZA}c;Am7e%(!5a9nTbI!Cg7j{LYx+f5iYjriVkALZ!I>`N*;<3bJcJSblbSlx_+7Xo%)Hld7kc6^l zvn&n!+%ye=#-p6q*4HiwQaq6|O!wG{Q%%)ODV)r679!#V>fO$9fZbf*H7o!v*eg%P z0H@1vl-)Gs2>2bWUIB|7ed8N${a;`C+hfNoCkK!B^{-SCDEKc&B8SyOLHZQ~2*%VJ zJVV%em8ZP*D?8fTGDz1*GftcyGCi9nu&5*!3pusXWKaRScV620f6>`Ls;7HV*bebs znno#3M~@voe*8Gl<-URb{@#qHR||!L=UXmj>IRCJ_5k`o1;4LaQ7%_aTi^fuvxg2I zz3#djqKUY`%K*4SQR~o3h87i4x_f$+NMdjyH&?5Z zqTF!(*+R+mC@vzO8XqGFk4Yv9`RtlYFa7T4zxd66`%ae>@oJ5aeC)&NR7=w_pW3|} zuE#L6W?cop9xixroN$})HGsvbsi~W8x)JU)WV*2!%6)O2mp%JGdkz=B2y!Pm4p*B^ zfIgr9{O7?3qkJC%&445+m1?t6&ckBNJT0oh6{Mg-hy=8IP;4fZ0j8N}#IdF}LtQ#odlUS)z9iJGx{HpB~O`8t7cZMW2 zT@^)Mkyx!+o}3z%M6#njWf;{)!|v_rzV_;E_uc=1YiqE;Z3`7chihqidb-|hy!~x& zUb}vMxsZhq4f{MT%Y22B9xuC|QCh;X)K5Sh0u>OF@D0ZbN+K1*A}bZ07vnRt^Ct(# zNCGUCKoCI7OwaYBkr>MhfwnhNd-WVdKv<-zNjVmhTW~A`;Xw<`hEJgOQ6$gHwQ6~6 zbf&L2Y3e#S0$r_FN@dG+fab4XzaBP1c=2ImE6n zgIZ*g;}zc*t5tRHGbd>#zG2%nKE>t=vov0mD_@4%gR-%>ToJcoPEZ?baa zH@576@q|T6K;~$k|JcVq_VB|GKk?+#L#Ic9egSn)BoZ{mfcFAl8&M=pttX;lM@wqu ziniXamiD$(S6hqe`~Q011J4{f_QJs#QMQ-FXepR}+p)2r+3nKVe}Lv+{(A72R6~YG zIJ&MSQi(r&|L;Hk_!Hx!6Zw3pUM_>xO2r}^iyGX?B7kxR3^C8MnS^}vRj=>qXlw86 zZppMy&txC^`4f*mzH4-r3Ck@o2YOcTpz>pLGGI#66|xLjxRfWfH)YcId?qQ zBPqgjolRRdfB1tR*thT5XAd4bH8cXh%&>U8B?aESC6$&%ks)x*HDhA5ySIHsN2aYM z(c9g=@scgiA2{^D!;d}oi@jN(x4umgge(bat# zb78eOwjcD@62kx~nA%WU>Xn@RpMBaAG)(syj@2CtqZz|>4G+sz$_uJaN)b!7PYs?C zqp^kjylK>NT@Qpl@SYX@e|Y!3Z+-o(6N95ad-Bn*e&e6M^0lwr@rF0BIH}cCNfKbe z&(F`o2LW(_8-&FGp#ITE9|fyEHZ~TI#|^_m^=8=1#-*2eGrm}jfu=5KdF2DZ0Ss~b z?Y9Fxg}18J(FDe0NrUrfN>C!njT<)SvIW(!dRGs4m@P>>Oss*@Y>Bzq`LVH~n{K+g zr6oqn>ltx(6wlu=KIxhvpZi0I%2%>TL)U(*Saxj5HcrwYqTim0RHr zbNQ@mYJL5^bJNp;$O)o|NO_PB^6C^%VOHlC7IL{9PD;Gcl1x%6u>NYDi^d`m8C70b z2FwrY?L;vINr10sDGu(=(ps59sqAf<7wM2&&}tire}Fx zFBKWHang7471GRSzcB+QL{LoPz*BTde|Ka)i%dW_m z9JeFuAc`^=WpFtRMNFJNdE3o5tXk1==j}J|-T%z!#CWY-19$^&K@r7{woEb}>+Wdn z?q~rnxN=21jWU4>0z+t)^S-y;<{IkB12dRq3k;39o@r}1;bORr4zGQWMBa-GP9%tz zUd9C)oG%U>HB`fW*EEI)kAC#Se|YUxmkyp7Jc0h4unmXANRDM=N+i>g$h0I|Qn7(m zD>km_iz}GOkwBw8uioFrz5A{mRxLj>wO8bPK_o?mDK%UmVL(t>QnXNF#yNHW=g!y# zntjoz)J>>Y%N)a|>1Er)^+G>&o7COs}iWs#}{{-xF{Boj1=;jup$(u8BG>0%8DI5s2O|%>wSD7O2Fz zXa9H*N5QdkD)L`$;AeM+M8!}3qOe|of^ZL|uaW-2L(c{Ru1rTq*QQOI67kgh{KDAK zxY{T+nq^?dV7(ze{{Q$)WdDJc7d-oaX=+G7X{oxZf*o*!s?kQH5sgLx8=96E zkEK1IiYO^gkSS7l{|7#_d-uMRBpM!-q0UA+O7Ycg29Q8M(JBrya1JrPNqo*94O zr~mo<^9M&qrdrcom1^FrHB&8Z`TRU86(I37s|Rj*{cVMEeRgJyWr)?QR|3o~6pCxs z4&?LMW}`+?y^B}wh3)IG;3*LB{OO?UH@IyNea!=22^4fluypVJ-QRm+=f26Qh0)Q` zOlxN*(+Y@HQyVfLsa5mIl(KQd8kQoD4-Y;1*yBUPqo)Q(dwK`dW~pAU%2Eurc(d+Q zs-+FfYh7F0MzGseU1;Wfh;O9ltgam!DpvO0{ z*mlngI{dkI&|p|o4dmBRMUrYcby-Qk8}{|}CEC}PtJXp;FA5TlQ97&_&7k3?1c5^x z2ZFZ>gp-l;M$r!n?$XhO|K;4C3MADRPxeARR4nYJ7t}n2 zIkO~kx1nYn`p*l$8=U%~vp-Z`zE6R-PxJE7SIokG1SKWBS*4u8o)(-NoaA3Et zPa@t9Z|8x3MVT|6ikU^nD6(eNsW(UuTOqgKbKT~Hzt}xp@KKP3@`3xBjzM4sfuqa^ z)Ri3wB(g;m{BgrRI|OCg4s20pQKB^Hy1S&Y6*g2uQcWsHZY zY#JAA6}Ow1K#K-pAj%b5c|0f%Lfr{GR6P<#EKor5MIVc_TroQ$NxtPY%VmLL0REY_ zb;GsWFWRl8g=y^sYH)1=`xH=EUgB!?(lgKO8Xh^Nf}bx{GMP5V(xZ`-z=~aME22`e zSeggw^}-9I^+sjm#`S$GyCg|s*+jkG1n;_c&$B>;RMjmM8v?I5HVJPYXl#+o@ltQ8 z!Q%x6>bPi9zKz$L37Sz2mvk^#7>cBDF6pTnCa}7r)ypLc_Zw<`Hk(b*LSc4Jh;btm z`4se&r>it;MZgAnHuSS<};s5r!&v*+5f{I{%C4ys->kRo6U!vKW@3@ z7D*6$dU{@X;f0{^^|E)o;~n?j`{vfxwo0k!2I3&NAE;Fzf{04rmO|EkC}oRO|BO9>fMP?7#~LF1hs5=MEfv>ZzwY0WEj+rCT~UUe+}euC1vVYu9h4$42W-?eL)k zot^FdeZ9qE?$pTx@B4%Iw4@Wc?EHb}4nDK@+1c57S(HlEyeP&@yP@gzP*!2(%9We9 zZp#(x4?gl}d!~gX0mzzHUU4Z*BizN<$k5cp*owYYj&0-qVsL^8nnc*9X#{1R$z=LR z_kZv3(Nk;JZES5rkCGQC%d$l&5s9Ybb}v3u_R06}89 zZVsIpKe+#hZUOpN^SN1yViU=9AyJ6Ht7*a%e-zZC$Mj{>Xjvj02NHL?? zC}%PP;REa&BT3!GG2Jw7xb)g;d2a8X=fP!c-nhxJ%)!AE+qZAWmZXZp#x1X%{r|TQ z54(VtsE^Jtk-c+08uw+)1@Kt6X)u3|?Hd-R&sPf3Obe$(49B)yRg7?k<6ADp&=QLK zkt$fOC>J-tH;Gb9Yr0t}P^gk}r1!=E4+fXd*Av(n+iK<<*t%gc|m0Yb0@&k=Yz=Xdc% z(b&b)RdllIz39fmMm`9V`{0I|+{_H=wpgWFdpe3Cm5dZr5`JGO}>z zHNvhEPL05HKoXVg(50(ZeB^!a{=(OP(9xDoCgb_BoFwyxrUk%*#KQxCKz{ipS!^$Q zg{9Q{u;U*Y8Uwfj+Q&tL%$M_iX9AuX%eb*rBoX5XT1MAt`Crr%Ec|!sq5P|_P^uaEeFQty1Lt0a3_TdiIPEiaE}Obyo5Y^%V}sxbN-xt9`wJV z;fW%lIV3EBege3F@2HklU`VqyEd!>=Bo&MkFb4-3=-Z}aHXOa8H&w=KQcja_G|Xzi zyO@ONfjfWx`TeI(A6M17>*=w$vU<%%!!V|%<{tg|10*4A+Hl#* z{&nCE>uOW2l=@e$)phOEsiEna?AEPYz?J^^rw@({kHaGX)I2;q_UtnUy1V+oyP!bX zOQcdScAf$k#?jzi8nwD%SPILwwzQg-lWNPn`-6W3lXSynTfchWf2P_xpF8wiS9@n; zY7SS`iTP1E!qwDzeqp|G;ON!2-Ld`J>rjJ8!xTl-(=R4SnB~0dEpPkyAAR&gAN(-S zqh5Al_u+E62!D5Vbk5GsUVZh|u~-Z?!b1-|)ZgC^E;$`f5a$kmN$%G_xAQ_cWH}PH zjfe5cPkyqay=!c2{LJam-MgM|$#l}RL{LG^UNjC*WNd6~&DvG(dC$AE3v%5l`T*3_-9zh%oMo9eYD#|f70N>ZfJFeyghd8t&czHsEko;~|Win{X3 zD_8V(9(?|pxrL&S0Tw}*^wzh&_2|)~wzJqT1N8w3t~^9wZS5IAA<=k@6O_X*96NAm zFqLeJB@%|&K)JmH5C3#*Y|WarS6p%V*!a-1&+InMa-}%8{kp5#+tTp#8Irl_rke&< zt_?b88mUZ6HlMRhhaeeQj;Xq}Z|}2@Jo58_fq~1mZt3mqj+{KYbJx?`uer8+g#5{ZQD|Lj`X*T!$(@W9RE7)=l~N$>=?2M;{I zX}Ow`NS~g}m+Dn9+8s@%cu{h-CSV1ELL?V+C>J%3vVGr%myqHEVK6*La+GG82t6{K zYBeld1;meHP`uy~zJd6#h0rVR)1*p!O_{|bEFcfsRGS=Q^HI)M?Z9vcVcHiBACMFX`_2frJnVW9&K&qdJ` z+VDKnw{+xaT@%O_0S*Qaq(2z@`Wr95@8O*r)~^weu8sy<-3Kxr$hE`62(ov*fXklk z82p!XqVusJZh^Xaq0Nl?c@qHSz{%MrO*p#MM2BuJcniN?s!#+vV^tFT8Oi6y6f)AfB$LUinUQG1-qU`xnH!8syb~XQ1r_N{-UWO7>svZ z%<&zE3KYa}-Sf+iU3QU}n1$D9#|G5J60A;3lINKm=i;@SoIK7Z`r)tjwt( zPUHs8Av}-Qb+x0lZP!zeojiGRWMsHruU>QQ6yBNsJW zmNL&TQbh?1tLj(=fjJE6F(k(d0GVpl+5^A%#b^KG|9Qh7f8;M8`MF22AARfZe(LMr zXjRhr(HT8kfVWRkifw!OsX~HeH(hzdzx>q~Qyk9&$YD9VTxJ}nsj0K&LQ7lgoI3Xp z|L_kKMSSs#e+$$NfJ;0c1&22^HML^JiVYh!BoYZtZ+`Jhe=|Hhe9J92l>)V>mzwx< zUwN@n1xy7)lR&f!g~C1e-u?G~_my|P^W708b@1ScqeljLAp-8!vV9Kq5?5BPURB7= zJoo(GPyOGYn3)~__iz6Tu;h3D&RZFVoERGc=K?$<5s#-*@j!zJ9v!vi(*9CK9Uq(C zyZ7mlv8n5?zX_aEpi>li{p)Z0$FF_aca3+x^Ud>f#{c#4Pr_sRlRy1rDEfQeEx;}3 zbH&!S&bPn)?Y%v#ANlz&&YT{Hk0R+b!*CSIi$Y|6E_dYcv7Vlu&wlp9PwhJR^T!{+ zTzSUK`RM}>UUkJb)I3j9!PEc*2%4?1VR_PvD+BjmN?@?X2*J|cL$M6kax9t_ z0Nb{-q?^qerqi6#LQ?1)pJi#(z>wf+fLyLklVHFlmJuD#XBZ3R`Vj=ff$6doSuPb9 zBC@2aCSbDH-E!6Mz3=W=410Fp!RxQvCSS1u7V$Gr??F|&B)#0dVmS%)wZgyO-ht|+ zf`F*E)X4?4aRkFj<_jg=Fp}*uSbqnl^HG+i0j2b8a2F2dq88PJPkIFEAE^^2D~UoZ zY0s1~PGm(<(~FK{6Eu&pB1TG@WoVW~5g7P;g~d5vx3xTN8tqZM*|0Kk$@8pIu@L8_ zfJve_xF5!rQ83^f+KGqq9N2kV;sWE>PW@XvGlso{8pgmaTb6EG9xt$tp;Ck|BqEq= zW0nD%#6o+`a$UesuE;PLW@D(D!b68?u7mn+VlF4prQ)1L;ay$rEiEan*`z7P&>e99 z;U}R0z#^zQ>(5I{02bXF`uRZf28Bl`-**|BvQ0ygdB@NQ-}GFoSww1s5~slY;(;VF zh1(u(Pz2xt0@o~=WN_C&ZI>*AS7Q0Oxrma9M3eDYi)H#0j)Yk$%y&(VAkMc!zia?p zBmoZDK&=3n_$Hu5-_wB7_;!uwIm`vPA!06tLI-L?Gx9i==NR~R*lslx=f#6#O&8-? zr`9aaj>V!}dnO?(!a}Zw?g%yhK}R$}YkL=YQxqfhmr@dz9RCFw)bfR*1S==3_6jhP z8)Ur||L#kFJvTpd)m2yBb@%Ou4jnjs=A;r~FWIuOY^jpWrP5K?!Q0ytx7>0Kz~^$M zu>0wmXeABSSoq@AHE+WP#5joLOx&1 zm!H~MGW1Eu`M8aL^M8I(^&PEJZ9|EXSUnp8oj9KVGZVzWL2> zBHbpMe&74v2b}o%=bt}(_%I0z$hMcub#{|7$wjcTiK_m-+)d^HLQ=aE4o%LP0r zevWZC$3&o$EMk#QFbw5k@IHP=XIr*lpqs;723BKK22)C+gi0JB0D+OF?iOce9oJ(8 zz?LkK_je-$3{-wvg10fUY?&vwIQq5 zt_~$J0?k1uTnw+J{{7Yt3J+^c{KaEO97rM#|AU1erZa=FDpyM+(u=p6D6!u~@*t#* zev$M^nxp_r5;!l5F0d{!;<9{0H^5QGcq#@|$F;&)NBcx@)U`z6UftdOdXw{FrWiw^eDn~DG@JEAIzE@3OT}b; zGE0#d4U>aN0rJJb8-dyydV_Rr!ZirjB5(v90*!XJu4+=G{rJdaGOl=zkGX+*zJGJUA4Krb(Pzm@jFnMeweVQtB*Gl2zS!g|mt} z&|rWH9n>cXMbl}*Ma{t|kLFoftJDO=H)>T*Ot`v5N+N(HnYJ*72GVag4a~-Alz0&s z4%fn1!fuwqCo3`j=#iOpOI)v)RLxk@_`jgnTxyQD2$cwIspH-v^?$K@9z?puPd)X_Q@bAd+Sjmj8Y`Evn2cHa?|kL!wNkz` zH+|^H;f}rzOynOs@XYJ3-Cn6wbkEs$@Hx0Hnio)GJ(AqNe?PFpPkri>;KL3bI;3gZ z(9n=!qP%c;8sHa^W`3Yg@Y1V2`*HY7x*Chs^GFHK(>1MBDt+cNpSktc+jiXa`cyJ9 zKfl1x;L`bgu>z1ko=im|DM8>9v6$y-zj*wyHLF(05_jtKN#CFnrz^pVH@;1AyOz3=|} zfdkL~{vZ6oQoX2qHc~+~s5DzHSK&Qd(p__NbMOx7bcVzwFo22@fqTytO39WqfZF}f z?c21eA8>7UVJaS%;&H|IJX13xN~~O}Sgr>i5vC4z>}s_NGjQ|GH`9z#DpyH@o1V!6 z{F3EFzEJJ%9cUjNJaKaH^2@f-EXQ)Ft)3kyTP>~UV0ssOk(`}fd9G$99)wRll=Tuc z^g{=m#bWmI%PzhD$B+9Y`dmTcDT=AoYA%ojA4d&aFw)X7+j3BACZI7W1IhuU3Z@zN z@MdjZYdH7Z`=-0@UiH+@@xTB3FXjsin>Mad)uL}0ueTRU(h_=3iw2}0*Jm*m@HjT5Bn5kWp6x80X89DS6fzh9RB{USl1;4#nviW6nX^k?t-Ir zN!r8o#l!wrbdfmV8h}Fthx-7HD3}eK5SfU=%hTg0C5M{U0ofON_lknbRvYkAjiyhS#__qF$cWol_xY;5?an(^UU%i;lP8hqt5!sUdgjQH zSVUrC$`x=Az75r{9@P{oe zEnvzUwK}*i%eK%_bf9SsfB?VnxIm%WqH*!DK-Lfzz9W! zbKaSYA9T!vHv}kLE|)o8TCt*k@Z{+yp7@2Kqm+6JRx{2zHqqYR>7g7!4JPg6$)ksl z9Jp-T2Do*YwEX-W7|n>JEM#Y7DaK$FFLBjcLl%UVmb4nS1*?S#`%YbOhb>t^4^8e_PL>FpngWp{aUcK$C6vmg z%^O$W|C2{t+j0X?VLJxQo+#14T?|bJZb0Fz5{;lpoZhf)3;cLbI*q%UYk53F-Ez|n zJ8oRH^T{)R`?r5PJ3AkXMW&|~T3RB94jsPt&36o)E^2x`szkzRT+Rh~P4?%vc7UgG zTo;{L2Q?n(=o-mPp%8W|6^kkjME+TVVCjYh3&v-8o(emPG6a|(+@nz+FPsco!P*oU zxCj!saY{|fsmN}{QpereoYN>{jvbZgcFDpe!t!(nUx+AJU2A%#uH~oR^0qg{Sih04 zcukw)>BSURpIprNdy)DFtH@tI@4rBy*?Hqtxc`?Pry;v#*(OaQ4iEc^0`o0L4AVvu zX5gG)d!R5EY&Zh!IsQMK;zfnX z_~Hb;5V5y9d@$a@@{o49X!#3FiR-aD#4sD9zQw$qNKdP%;Ox zc*b(>(pgOWCI}0)e@B8Rz|w8ooSKLeLe7S2Z!b=brW9KHS@`xyNg9N8WG{r7zX(~aQ@L?q|?bvOG=g{+tioUihk*Q z0v?t~jQJ9cU zNwP$t$xsA`xeV5kNnP3fhUU=37e4!!@Bi>04V^f_M8w%r9`Mcd^rVF9@)1k{5P+f} znl?Og1}+lL(2{1gs0jX4KR-Jn3buPQo^IrFZ-Z{Do00IXLt?LH(?5@t9pFjEw zAn3jQ@oYXHiK3JQ@KDI$xPB~}AW0|F(thOdi4E)4uU#{coreuVi@X9*xluJ-mjECv zOYv$&Wf-cft22>|)M~RGovm=e^}0%#CM(0$8h*)_B|4Rk1E9@jbM+=tHv({T-dYY* z7h$qRQNjt-%Hap!`$?@<8(6tc*DZ$iqcIuj+*xWS6BjrhXi$rp+`Di0HCJ!y>Fp>M zvhV{aandj%K%7aeUT?t06hxk7Nl6yEdpaj)@^HbGO2tKj4ZId~VQ#3}%KnaII-?pU z%Lz?QRW(DD1u)8JeTRv`=bQ2sHazi~(?D=WZy8?m_9)t;msy-}(XSo59ly6c*2dmerCzN zz2lBIHELDQ(*}A|&1O@H@C1A!g`24NAa(ZH|1SfzuZ{nVIb;XZ zYM6*)a0LeNY%-SWdGzViqSDgV(M#|=P$35xpJx!BL&H4=O}(*K=KHZA{?8H=m>L&8 z6fkChA$WKbkDZ^d$_htP1Vj3aB$#Rgkcrtec{U2OWtk1k(<##Q3Db5B@DzX!Tt?D7 z>DbUjYwy}fy32)MWl(B#(61V`D5Jvs5OmDqEd`0ZMPd{vDPb27byyr>ZxV!og9V3@ zRS`oKfC?MBQ7g}Ym27M407iK1*hz*V)2Y}A{p8BN6{$oVK0MTXoSdD{<#N+=#aym1 zGd&lyzD2o&U;u%DB2_gPlV!Q1qpi2Mr@g%meyeKg%Q4c$hrYx|FEF1NX4Ey-rxZbS zw5FytkqWNSFq$R+s*2%yN^D9u(i}~uVvo;^CgTc@SsQQNu~LYA|EvEP1=idWYw2vU ztmcU`gN4(lTWwfcj%JxIfz4$XL~uoF9X%Ca zRi2@1_41J;$5yWzfSIgTYv2t7xn)n1WZkehjw=?+iA0;@T326rWiI~vxk0~hzb4u{iCC!1a7vqwP8zP|8P}=#k4Qq!Sc27-#UEQXjGuG?**k# z===*dA&U`>T0NpD5s9stb(&KIB?j&vCB+c5>suHF^oju7O#>#N83v>p<0^d;6;|^OE6Cexa()=Ti&3@z9iDv}~;)Y}jb8bbk8bg?BJTtCPi zMaS!YfZ4+QdkjcB?P3(ms-{Yaf{LR$eaBQcU3OVDHzLqZwNYdR_yD4*H5dvOP@NEE zLa$q9#iuP+;nb>Tc|J=;SXPzJXO+Hg8TP65zjsFaug(%gJ;XX;uUVT4s0$pcFybo=b9!i)50i2rpyx679np zq8NprnwswK?$oUEb8}M>UQBqDnXUfGM?Z4>xx@8R_Vn<`?DUvfEyi#%w~)g;!fNVP zt;u>gU_e7vMP5J(R}=+4bzxzl(Wr%X0WNiBW(H=dR;z$>2PyzgF_bC_7w2*^U>Nd+ zzr%bY)I#*d26QN?(|4S7I{l_My)hPxQ#4>N%QSU#L>;6z{e%NG#F@ zSJ;|qDVD475%Arf?l!nJ02V;{FS+EBuI@H~?0`BDwm&yJ9ey4|jh)zfO${}00H6?* z2%Hwsb4N$ARxhGT1KPj-hO4KhM{URakN>#;^2;_Ox5{yIb2F_iDNQv{#a&BgYAV~3 zX;XDOo1Ndf_0r9o4-XBa^uTCTvTP$7i39(xREx<}q*9uP8HTlIn7*m0p>SRx%8M|r zzm(~M<4eU+i{@`By8>yB;C|@(ebfR8eh;=4faG{gu2iewp-09m6vj2O>aV}F2FB_Qu~=JYci((| z_RP@WrcEmy-{A$mS}uyB;(3cPp0hFEMOqfUHvYdE7i1L3^aXJ^5~Z$DP2FuY8tt8} zrTK+aw1pw5u1s=hs)TzgO-Qi*1YQO#3Y3uHSkE^_pz{oCYdY{G!UL;_B?KGy49+SN zwTZq6wQ*%f&-ysHD!q1wS5gG+XJ^L*&Q$~+b7`yIWCU)<>#jSz=g5&~9=h^!PL#WJ z&!h;~Hce7O0(iiy9cMYzzmx&vV=s4xd*1k!*+0M`Bm?8PsBtGv2l=a>Zt1aT0-Q=i z(}E%ypx6Q?CM}np%Qd>viBu-usLs(OZmC7uHE_?yXbPj4Ce!~VrhZq7|+H{%V24w03S$t5X*V~*rM`0cr4_i zkeDtK>&8&O7?fg%()qz+q~cxao^<8e`ed<`NwRvq8j~p+W>sxOWY)JEsTk92mciP> zPdgYTM3Ww$ay9-Z4?bJhxpkYajj=9&jcc2pLJ6s&6|ug>Z?BznIF6FSU%k z(3nUJN7=gOStx^wlEI@` zB0ji9*pT9e-O^fPVkTkd?*?~+thS39J_!cG5IuS`N%b z&@*XKDFVJGFIun=bfR-mem;%LC!1=6AW94kc9R(yo`k2LO15cDT{jG{ZN)-4qKLqm zUCTXsE(ZN(I5ocHtH|$d)JJ|dV0DRvhyS* zwYGIus?CY4C<$Vd`yi zD@8?g*akqjas1X>Z$EWva(rs?$}4Xe9vklH_RfpDa`ryG-rgl$bz7Ef zs~WjsV;dV|j7>2C921fUB)msL#>*SYOCzKg5>f!eBM_<^#UOWe$?DQoyS<#=cklmP zd*3U`xCHaR|2_UOynM&i^)2V@wbop7esiulzu9YBc07@+)v6wb{P_9V*{}VtM^79( z`q|(8?I31xW%Pw0k;Mv!qaLQW+s&Of-thQSKSV8_c>oF;%L~QgLNv}z&s==R9XGxE z-aD(c!jYGk&CN_kBgtx|U^`wsp7d}!5)U;SQn6G?rL*x=+Nm{IPAF9?@BhGqfB1)g z{^O^A__iBw^=bNDzpb|ISWL57@9ysO91Bzs&5#1>3XNHofiJ}%-{_L)iqMu1zfgrW zDr52M{w<5v4J8~FY`X&MMo}WX8qe^O)@Zloc$klhVMT7!G~Uq>Z`BL7)n2x&`@#3$ zg*)Cq{NuO3@P&V(Fs6`KbYnc0h&7}$;1G59z3#V*^xN?9GVMo&bnjdQ?oUT-H;pHpCdGx#09tno5e1G>-AC00$7zsN>;? zxz2Mnp28xG*PEa!l{u$=WL2lNV_jD?i?=FMI7jkq!qs$HYUKJ7nASk=s?v(X&Nb;#Yd%yFJ`#-{Sw2D~VOfY}oU%HlyLPvqI$FJbw@rcXe`PV1#{RM*mi#LCW z`Wya3^?q=y;N*ZG&lo0Qn3%|c-HA3z+T=_#fBy8g>(}=8f|Jd1A&{jyqhJR3vy9RBks>mPeR zh=%)jGOvgU!=71)cLBBPB5~SpvIJI{6@@H#nUz+_n5n&Z{31)p*Rlh>sSdAEVhNko zO-yO4a)pm@xTz6rs4kgeq*KAe^#(RskPe?ME?>Q4?S>m*p=mavYZb&I=-LiNgv1!~ zpuNldo&WiDHST0`k#arHM?0DgQ#M^TgsiqH@Wr}z@Z5sv={v|(*=U+DTez(;u8y-# zr7@MD1k{p5$675po$D5bRJBB%nP?q-xiYZgDk0u$$&P2@#o75t67@1bH;tYpw;KRB zU_mVVQasnaLP{=;OK|e?dU9+?Q6+5g7Jy}F1TMC1+p+Gdbx%M2^vf?FiNzA>WU8)6 zrmpt%bmbRj2oe_so}>{WAWiedVzXFooI5{RsWx33kTL^47OWRdvwov`A(>1L^!2S6 zS=QCn6;!}0io&vQqQe!acMG=(o-$S3VhGJL8QzTxLL4C4@&h3e1dQdma9nH@@>agIb#P?QGrKiOG8N5s5XpO^Ru6PHJml2W zM7dlX8XDTWcW*e1T0hUsOf?#{@$qpmyC97-Gc)Y#X!cjr0ANd@H57~@L7c=Vo_GRe zxKLQwzGKU?&%N}6AMIMX@@mi$Gy^Eyo|-(jcFpp&>qcwM5@6`=zRpzomX6MJty0k~ z6^?vMZlEM{)Ob0Xk3Re>%a)D&kN^IAg73KrBBXgjcKO>#p0hYSn15P|J3N9Y@Y& z;}etTS}lBZ#o*2xws9QO-Q7Jh^#19|@pvpFw^h^^3-fftYPB@L5Q=8>4U9bf)1U0$ zf8c=!KbX#jQ>obPx8MHdFMZXqz;gnl+vw`ZWwNQWV<*m^J9Ev(wGmM?4Yk#3g?QRB zOi>Vmh}s*Rw52bCGT@~=RunKm!F&%OyJr!&*W1%|>P%iol0&rHZJ0WWY7nSDg22<6 z6yh~vXyWvlv3K5c^T&VfmhrQduYBpz=YFzZ2zA_g^E)qGm{c@Ha6+}FtedrLPIO$Q zt+dm9eNs!M$Ywy7id|6=`c~@SFY`e6lBg)gLVd$20BVG785~X7hGwhHl|$VZC#J?{ z#-q8uuI|CAq@!DSiewmsSux9_SqeZZ={Y3sh@_q92!$(#-mb0fi$ud3)~bbhj}UpM z-P*rr|LId_ANj41V4h|g;8DlLxCq{0Q!YfK@eMaDd*+8n4jui$@~tRobVGskY{)6zU5eciO(xFMxQE3g)5T_+q0J8gw_IZp#fBA6Bz zO$|A8;=**HsyLHHlZy`>I5BU%hDMWs4#J4PX2lwFxenV&(DhZH{hK7eGrkezvh=d~1WQJj=fBWYz96j*TH7f=;EMGM?EqT2$Ox44j z5suN8Z7`9D4v+_6p-YC7>9!Us)$GZH5yI80bw!mYajc>kt4^x_r34U zOy@J1G!suLip=q0Lzi1^1&4{n7)@0c=EuSI7xEQOjEJ!?Y!kpUaLe0X?p z`SOuWCI$K!U=2uc5D9-%!*om>U@^!i%L3ptU4+3|+)FriOx1>?k&~^uqA;k+6enFn zW0FayToc83Ghg<2LEw1THmWDjb1}qYJbB?Fc;es-B8pkR?H;(BrBW$qX$_7q>@47b z_3PLFBoAQHFUvUAU#eJ%=kHzLtEI3zRE7e4*zzg)L&4Sa$4>j(_2?EJz4h7cYi zs0X_x2x5@F2cQ4-U%&M1b1!5v{r!WhYSqf%@bYV~yMEWMT_1V)5x+fwQLCE=54@Dk z#5yu*O_l%R&;RViiDRGq%}-qtSO4>3xCoShZm1YenU(>M_wM`d{pT-!S=Z&Tn6w=& zEHauYz32XWmn|PYb?OA{uc0Bz(us)zP4N^-7`6gJP*6)O7vn{8exdyM6F)k5@L=!2 z=(X1|7cR`+a?6&32VOpW_~6#9TRqIG*9-al=cfz@tfipC;9U5I7hQqjsMj`$Gfa0+M?4{vYpAfL*{p}7F;Ntg@f<q`@4zp*<9D~@W5JCXIL&L#z+U(DTZj)^V)Pf zEZ|3upBm~Pl4L_xY*p2R7?0(TKmgt{|G%`u-z*wHpdT(mh7WvB5IoD$)K)c|=(uWS z|LoiX>Bz3uibrBH_=1Q#l?-u=OCspNfVoETYS)&UA+MU^+OYw0Ss#ws6-;gtOdK=F z`HQprUOc;Z5B9zXN@8b{q3Kg6XAT^BeBGwrbyts6D;IOAu9d6eXD83*8lysD2)sMT zGARP(sDkf_Ksn~PKS!$n&x|*1{&C{6pAE*?v>ePcDU7A45FZN5s`>rLcRjOfS7)~K zz6TzrF*inGl3HQ7NGKO-6!i*|-1YcfITO4}AD-x}KY!J?lD{WtxaTfaMGm;0EfG8#u4{6*;{=i#>`+kOa># ztYs34&b0H?d}{UG>+wqC2vo+p?tF%xT-CiSMwlNo}r9M{z( zO*V;ew)^~S>&&FmGRZ>I8(gy`r}MRn{P+_uoEf`#)6NZBx2>mWLWo2Ok_Euw1eA68jsH}h%CzjC3Z8&*ty+qsJOM24+5r7++*36LOf38l z%hE8jN~QGTi!W~2umRx9;lqc)@Pp+BQ_?A^Z!f*-Rq55EC$xp z&~=#p@BGg1EL*k=059N-O`A5}a?8%=Uf7fC==MD0;)V0;*R60Jh0-h)T<|tpHMZ!GI3SbDKcEj*FzzWL{+Oc;PRn?)wM>mH`n|3 zfB&~<&rQb@o#9A)`LdPGCUU#)yz|aSzw(vy=f+U+l;>Qya1Ks=Jl4<9xTZ*sZGzha zt`E3kEaFM@nf`;PTWqd@Qfn47pD!0jT@rZ5uSG&J1D_@UHFu*3LJ;Y2ge%t@6z%D@ z#q%sLGPzue!tH`(R0?^=Qr~mWy?5U+^y2R6-~XS#XFE);V>HAjstprBQMPkHR+Xu_ z3)zkc&1Bl`JZ$*HWYKa6Nzvx>3zDk90>I`P=sptV)4Y}U_scv`W2vQP@rWgY!X48J z@tortgrm7;Yjm*7y6O6(W7A_N4i2o^NJVoVNq|XaISyxOR6z=&PLhdeoRCzrSTGwC zsdPKcJD%d=Tm&7=1q2hfE^rx4~ zrpq?MaEL4w2gZ0sJ6j!d`F0SCB09O zKk^z(5y1_m?GN~Z=Y(K(0F=P|w_CMFqeYR314~skRgSHyAaO#qq#BdQ$@o0jh_^36#_bbEJ@h zU%z^Ebsj*D*G=rUnd1q_5?93$`|t;kBf%;MUe&iz`saC7=^YgMSgY5_4 z4`3(~3cc|i&?Q$j5EThE(?R_P`49`vH$Z_kYt~iD#qOSg+i$xCbxCfPQ#4?&=BiaA zdw0LoZp(m&{W3L+LwV`==~ENBs(^WB*^8@Juimz8+o==h9{b+Yi9{DkFpZizJyU>p z)GRDtEM0r;wFeFy024klTTtbuVMrrGt1VMi6?0~4Vrpt?^VS`g1mMyG`+ysL$9B+7 z5S+wNIR3VsH=I6uu9%+-uE18V*m~^cBdVcWrXwqQHr-{JsNDq22(|rYNl9wldDlDo z`UlUQpV{^7o_H){Id-+u$}f~9Noh7zKtk7CbIqw!r<(OjI-P7ZtD4%*ZrPwnEf!pL zlr`iiiex*lY?t?H0?;K&v?RxQKx1s`4 z8IDI%rd~nKPzVkt-)vR=EXB)I7FR6kTjQ5;0QPkq->!ndSt#QTd;!!g)3a^Eps}#$ zsmljD8%xk|P9(`RUwM1)fEgNm5El!PTsqY~e&NEm zzxm{Y58mB3*kPvdxx%z*IG|f~6DDq;1bV-O_tO0RXgeHljG}l=H$*{*MRPM##X|>= z&(GFYZd~VhE=zD$%cL;MwrED|)`f)5V#UtUW1;bSILC@z>DB8Kxo%9szxOYXms;U? z_ke~IwnZ$=H8?h%&LwKqMk>+kIn`rF$3VZ`_uyS4BLf$wE-=Jm)jam9Q+;LdKll;h z&>SAmWm0n&%U}88m%4jLuDyC4Dw~vanx%T8xf)@$46~wJTy8|A!eeI(8JFo0Vwq*D za$UX6h02`VDru$=>*8WjU3S`v)ilkBAcSI>n84!<`@Qc!1$yT_?|$c+_3LKG#~bys zp*u~f9TLM!)sg{&1cfa=x3k0-;ay22Z5WnsnDJ0Z^f_cK5CcWgXok&ZW2&l4ZJD4* z5P8i2)rlzpP7yi<#NbgBCx}s&Z-;~k7m6T42-rBB@`=f``-QcZusyA-4I1n2rt585wyVK zlrl3bdQNXFtOPT3)M~YGIPCdJ-Iomfnlv6%VIJSFCqk#JG`6#=`=y%90ogktC|+ zJ9g}-)W&6rcOtDv|cnO1}d09_kAo! z+osW|S1m&y8t8xT{rAfli7<}RND`KYE{t7|Fibg`;6owSUtR=Rf;_Uf(*A#$2ksMbBIk#q zf-exmx@)5@QjX;qvZ)&e#;;yJlR2p-xgl4w8qw|~zEE^jtUHmI z&@ri94{;HerX9=j%jQtE?NTSc%VR0-^+vOMmHEGX@B8XzK|vcql<$M`zrlepOv7?P ziSxYh!tVVC4;{Z|rRMu%;5kE4BWJ}5KZY##0La8IhjZ{>fw_oFF4M3KKWa}-rd(#Yt~HNKPbU4?|bPTmHY}Yfp&o4+_9Ya)zm1}i4+_88H_M~2_gAe1^ z&$F3K|DgjXOvn7)|MA&ngUhETFS-OOMYyCoks5MdkxUn~{dJJZ#gmcTh4XWde*0Ua zYp-@akP`|VblU>k$+@mBOU-0&#uNBi7dudD)Wuvfk{G;dLoCT_Cid+g98@F^qjLn4 z&@8fCFD6r2n7^thvZ~QIA%qg0xsk`e{}Wxce&g3Zl+JcHn{{}Gcsy=cNa^@-lEnrQ zC=Gh49aXp)& zQ&_qB^>2Lh{de6J+(gLWXlpX*5@6#&;0uLPZ*PAtmwV?s-wEGoHBlY_*ld()N|JyN z>h=1_$Z(}pdV^=Z(nV#3i#eAA{)y}jMA;MH15X$bfgzwF($EiiaoOfAHm(kDf}Vx($NvcCP>cpbQb$X)G4E zRNVu!M>x@B^zFCZxNq;CdcASO&KnjM3LUv_L5P6Uuc#)X(d9!eNw!TZk&NIV>AWB* z#*4cTyzs)F8*bRH$a*%@34#Rc1}+84791Xi$->!A#j>tvhIszQx4kW$h)-QS7YcE@ zuDUh|3A#K=r;|bS#E<*Gieh=`8$oc;Z;|d(6nKRH;ivzhyDbl+U@A^DCNMOPdSxNn zLWiPRK#SFSaoNxyoY;J^@Z=MZ;kcPh5BGMD8ahYOoT{}1QM4W1ab3`fy*-0~b>vo4 z*AxopNX$X~7d(C0@_}e93{n?x6)YBc`kAC}Qpn#L|3`-B7jGluiU-BISisHYABa#m z+-gbTM1~{iR5HZ~)`m5s2geIxo+Vrd@V93h1cp2fuxcv?b52PrnoW^1F+w*D*~20@ z?Gm(P;d0+H=BjJ4t=l^2P#rbQrSp{(3ix55SuLH5N1H7v#7En$X8-WOOM8#} z_(#uOz2SN=UWR7#42uZ)5laSdh9ae!B9W9$V1NJJC%4_W!_+LUa}bQHRQ2}kKPs}q zRhu?fTCMqd&BiH?K(lEpb%762IKEJtO?Bq7MCQcUsc(Gi`yc=K11uxRsveJt;OO9C z7PD#G<9xPJi{&Viaw*ygaYU;w3#x^AQ@%Yn)@bdaDV3 zuR)q@6wDB2VCqYUp6TiDHzX~SOo67jaDMXW%ZHYaUW0o~Q;~3-0_8xtwj$R>kuVh< zQ4x4_LsFNIZrc6gOJDo9?|=B=du@j>btN8+VTkvELIHN$LVXSqL%0KK$964L@WYUX zY>|{Fsf~R{_SFq5Y&s#9FG)?pEN9Y!#$btTN}sJsDg%4lz_A}3+W)p4H}E!Qgm@Xl z&Yhh&X z#n8Y9CJAtNR2(xX0^o|{EmG^CT4>zAt?;gB^a8$-OeeVu|z7}kd#ILOstZ`bxM zTleoi0C=uZllTo{wNwVQKnQ??y$cuTNRnDuXoLiSWfowwixU@~d2S|_hyzNHBqJoI zq9HM6yMRsrz;$(IL73C&wCgA*PaL`Snl-=r(GM=nO|uNe)6|huCm(zAssHk+|9Yj0 z2nuanze^X-i-v)Kk>gp8?Wn4|e6;_nP3yn+-6thQZMGGbk2aes7*@_ULHN0ls2U1G z5#?$T5P)InlG6VEcc19&=%#75R4M@$oS&Z^9v&{1^0(Z4^Skf4XZM~Lzw)IogN;9W z&Z<%qRITATVF9ys$1+jS0DNlG zRz1SNC`-}X=)v4e_oQ~vfG;rr?k{xr|9XGpg7yXd*OJ$BQB zh(XUGqftS(^-LyLkpNiCJn`Z;3EY4cYE+0_KiDTrt)ZUfIL*ehxtZ2%&B6|!ISoE- zEZ)=5YnnpxBKGfJef+8wYr*z|9l=rOCI_q}@@EMb<|Qkr5gZs7Ny2F+oKE!bdExN( zt((`a-EeW@H2A&&?;9$Q#8K0^pxAej84X7?zYfZuAUdMLZ+zgrD~_Eyd2y;dH}Sc@ z`ZVk#!C*gp`pLG^TDE%a?h~ga4140~y*qZkLln9E#fi1cu<4TZt?xd$W9KcEnW8Rx zEX}c$E19~Xqrf{wpeO=@X}YO`n@fcmO4zga@a8QWy88O(rqAhyN}+m98}(T5oS?m) zZ~pyFzQiQ;ngZ~OAGv-U2*rU#Q5+c=NhA{Uh5Y>dJWX+6{EDRtSVvXUWEm0o0M7Ck zfB+pWhC{G`;P&_T_rvEPo`m`c`=kjN(u#hN?akz}dOq{(D+?FgU{)NPXxu>x~{|QQi)`}T7Jz(y%hcpXd!|s zaEfMH%{GBJtPslh_P4(cUazid5m5xOwoOF-v-#Rh_uO+2Lx;|tyJ+fWOOq1Gjvy3| zc_e|;yudcwl|(93td!54I|DDC%l2HHoLDt_b-f`kl;^>B2a_)~8*qqV&r_T*J3H6i zk-Pr-Yfqgxp2;L;rzU%PyKlMa=AAolnwZN6Rp~(q%i=`0^iDj5(~^z*erxoR}U#-m|GUtk(8ZXr0q zupuT=Zq(YUUL@^sVuKaUhd|2kf~)?;k&~>tTjv^C1y6k-;2Q zQhNIa8twMUV~1C7z71nU$7VG}K7R0}T6v*6Bks8KX0xHhT~P<3*C%qtexbX6B)gX5_ynJ}7!em17S5bGvt`T8-sJ{X z7^;=DP=dGv_K)EwrWyw>oJ_A6Xf`Fa*$Uglp@Xvv3;7NGqb$MjtZS%>g6j0Z(PI4i z3JxV)fEFZK9HZcjq|>=mClBxX>GSKa`IS_rqfnY=7#4ntw#B1Jk0V^3M9wQb72tU@ zmdsq7C|N{HcAe{Q-Mn|~C*S$WKg6Pm-~Y(Jj9ir|Oh^Wyfv**gcjwPdluFpei)u&z z)y)b|W4)C;_1%3F>BJh-h(ttAu_Rx0Am0DLgoD$=^PzTIN<<O`dBOYd2lD@y1m-yrT!3$$#sM zUwq)>kGy01?LU3#fJ}wjPFQiU@`BnwAeyS~>O_9Fb?~{p(MZCvz3!gAxv2%enKI%e zrWww#4GUgfM{5Bp+H_2Yp?Z3HPMlF6ofySpx?)3dX)TxbH(;M5$`1TaK`-%OLJVF76QSR@K=TrQK%rZXX) z_e(dtpdbSG8*L$6vZ%p-0U`C(Jb^Hlv#4fmA;i@R1u7k<6Dd&k$xOU5KDAI)%Z&?)Y zo^GjB{MfI46ukdiZ@#5kt$@6Nu94*SvgIQWzVH5aOLI}r-`RoTQCOdPwG@k{X-d#l zMHFbnZU_@MjaVcCz-wV{X4Q&S0LpNZNhM-D_^2YUwrj3q#-l>DR-T!ex%HNzpzA!z0@ZjOio39fi0^k7< zylS<&M6QLf>=H~tQ5F}Kc%rV~z8i!9Kp+O zoADU4VZ)}CEBnSyA5bL8vK*Qu0?vQzwQ3aK8oyK{P>K(3>|Ty5Yuj}t67y5I@ewofE_ zne+crlMC#PdjY>W^Y7yzM0yztiKb?P7e`>^;loFw(I`M#!!$*K3JkyDmpd~80jB!! z#q-9*3>ON|&lYms9iHhe%;(E>b=lxD&w@oXB0{(+DWr{<=O}{ly*~<-7Z5nAxkRMG z9!-&AB)Vtcf%i?A)2# zuHP~}S;tedN^6te%S@Uz=Nk)6LtuJ4m`+tE_w5_=oQS4?Z^~4Qjk#*8J~?~y#!dOj z^JJ9vv)#eG+J>P!ZUEZ}j-yT8f)xRirpT>aF3xk|g9l#TynU@0g{=&O3*hrZA&QoE zONK8{fv)>9ZG45A?6T_aVyW!4;|2 zoM)abilOYx*@aA8a5e9_T`%F9y>|8bcA!S7fXOC-RG zWOCVwiHZ4z1=J1CG<~9Gc>4^Tk3O z$8@RLn@!JQ9{81D#x9<}@b;T-?(XhR#FDK>JscLs#>T*mftZ71O3}pB)ZBB=J;N{z z{66^WrD73O1AIL>Ihl^fUh`1{@Bi{$I!OlJzp+#(2;21e&woCfOTx0idcxFclrg8Y zTD88u9*z|xN&4>h9`79-GE4(q%3&s;Zdqy2ELbSD-cT8q9vT`rd-iO*C25*MQHUn1 zl%I>lqWO6>5{d920t9%d`D?CTf7hMwn46h(Y_;94_xAKG%+A1k|KJb)z;v%jP+wAj zOB?|HkC6M1FdBlnt`3&3w8GE3_dR!l3OY45Ml;w=JGa71zW4nPzW03(eCoe`($Zvji*4JtkR<+vzx}(>(d7im zEgu?Mn3{H6ec$c_Cr+GNfAu;PR}ey=ZD<;GS6lQz79Y~N@&@x~M)2eaar*7EC`1TK zhB%(5^}a5)yCXFy0bBwaP7907Ba3(E?j&8&M8idWZ2&R z_UL!N*LvZ{&);y{dW^R*%%EM6FVAsROtPtPyfRh);nNE{ZwhBS(-_6h&zM3uC5S1a zZa64&42%oyxG3@84KVs;x?guOd(Tg@dcAqQS?{0lS*ws$Hgp?DJQ)lamC=<~BldFJ zL+vwg_}30fw!m%Ibek8V`FttVkx&ek>Y@Sr7boU6^$n*J9r9d>!iZ|Qf;(O+7OyrN zrr{Uwx+Ds#pjAiLE#P=-nwiUXo;h=5|DnTu!?$8MX#p~KEs|7ls)3Ph&yzr1;XG>FfzFO+)>(dQa)-+mBRLQW~ zirs3iSl(|L?MRe2P2F~^%lXefGaF1+(>0Vphg!>Fq8PO;^!eP`@n*A~>FBO{p5@<0 zvi`6f#Osa{Nsz~cGNV2Jo)UBH?v6xl`n+@CC9ES}IC4avp3O!xQlo~!>NZtW)t88ph)Znk*cG<_4W7~u|D(TghyYD2 zb~ff{%2DJ5MHlOJ%X7o=m{e-<9E;cqIoeaLh1n?q4hl`HatnY|ywilXpF1 z`?h;isbsB|_k2Q45TQ&*=kAyGop{cDf>>UG<$ zJAM2lJO)6_Cw}l`DwSGVza`2FJkW!$wEf=Y?x={&74;7F3ttgqibs(ILn5zS|=!Q!SNFojN%=j^Q-Mg;OM-YP2j1k5hbH*5E)gs$l^fr5WV< zlML$darqGg0POvL(eM{t`Z2n0f@;@IILX}n?97@~*MPeP&Woli3=I&PM=k-0^f>7K z-p;;-v&S2SdaN^9n=h88^8;Od@kmOMWMpw%4>4?Wyevy_u7Zj((EBuMvOt4Hu?*C9 z4ZhEC6gXbhYE@Sd^(@PChN*d^i4mHIsThuO{{6yr)R~zN5p0q^Ikm5bEgUM&7W4}i z*ETHmVrfqd>vdWkadJ)1@Wx7gfe$g`b9qu^98D{iYaPjSED}kG0;U^aK@?r}Q?b0D zcZ+G-wq>|B0ynm8>bi<<-Qf$*0STB{I1dhAcV8;V6TuL7n+{eeJo0C8~0MaC`MwSvQZZn_$3$C0f3PmVp!H?nytDR4#B&L0@$iXsZ`2l zB7S1Cs0>u>eqHxQ5tzM{a{DeXMi;JVMzn=%-Q`C802q#30s9hNE-Fn@) zB$ww4jF>PQdRIDGo}FPS(&2cg)nGl>(zOst#6scOrW6(h%E9W@n$nWqdFP!E+<*Vq zzW(p|eE!e>{4WK8fByMrv)SxTH{JB14?P4k)eW^$sle95q=L#lB-pQWb%D&l6~X`D zh6u2;s#v;#s6%0W{DuMstW5CB@M>ULEz^@_bcNj6(S7$l?|A0f7b>;t%(N}5Modh= zlsSg7z)&$nyWL2{!kez!d|>as@yS_{7gbp;77!O9ym)b8yxneP(#c!jzH`OspsKV? zQ^Q=7W=O=|&xMkyc(R_tmc#>lW&HDJF0B`1q@J5hMJtusw5F{X9sb}4-uwN>o_c22 zk8iu}M%=r(R&Bug{N-Q&1qGS`h0@Gsy#mK}`Le;u$#d|5VP>mUm!#I@_yx=|EBV6d zlP4I8eE#|8NP_s@OAN|Qce(?*fRs$63rTEigY1XAjdQ~;l zl~M$PhjJ$1k5DTmgz5o>DpI>tv<3&V*Iv6OJKH#Za=g*1T4u|^2{`PAhC61+Lt4s8 zr(^xy-F?{v`1b^9$tujnh$ce<&sdfYsGFgkbS~ME&0Rd3<~hnVbP8nx5zZCytt)Fm z-x|NPV=>(Isv|%Ufc)56t#a+P8<#I%ZkQlS1n6XRe#H==$x3yhZZ;SO@&7E;YHVju zwrg~J>_|GDp`x0pFKpO0tYPC5Q`p#r=J>>O@puxDe_K*56DyXmu5Rr1cU{eiVbkHN zZCSSxJ;`nr&;m`{$oR8x-VMaO_bN001{eNUj9;MOWYIqhs@Ort4Gs<#iVK+(5f)R9 zW1)Is0t~YPo(iVpsc5=guct#1EX-6&DCue$xZCNhRcTo*m2)slGgyuRGp|T3mmn!P zH-K`${l{IB@SRiK@ku@iSq3lPb39u$RM77@13D`VZ2<=j ziYql4%)I5H#9+{MezQAd)ll&p=AtS^O(t-cWev^OD%RQMs|(xz}jTn&!Z)YrT9Mxzq3>VhWmXMn}uT7!_Gdx zn+l8lYgh9^*!J9dvsuaK;{w+%SM^FcBZOSbOoSut!otZjXJIjt@x;W~7zF}=W3miT zwte%>H-YVeHHR5=c6KHbi7i{UEac|^i8dMymSq9+w^~i`;Q_rO^H08Z&w_x>@KWku z5W9x+tZNRu0{jSGaCmsQtE)>@RfeU4hKD%n3P_?n56n^2)~Z#*EJq(XdOSa0q);`c z(Wuv)kYLyvCUT=I2BMJ=&*2X~@a|81^0!tl8##CGTsD^k_2jcNsiUL)*Im1D+qUaz z22iFhKLOJvgVScEs)4UX1bPi0Ak;k-nY5P1ST!*Doi88(e>DXa@6crF$YEn<${Rahg_mSQST2XX z`+c!Qx?3|nj1!a=-;miv_G&TF*-}7;JeDLFp7VJ@2-`*NDz13wK;nr-s;mEsIn}6hRZZp_z)QG^6oYjAHG! zL^$9wYc4^Xj*jZV96Obcm#cL!=&Ea2;MOC)PS)r1v5;-R@OH7*XqHV&h1Une2F_I? znQ}a^%`|E|j4_ypyiZi5W)rbk1Q9mr#MJruaCb~=0b-)&CK^MD8 zqQSX#Ri#<0CF3#1(jy^O1k0f*TCDRD2pZ5e0xm(CmxRV87c(5ch+n15-f@QLM6X`1rY+jgJ*8o#Ak; zsU7;;f7$d~|GlrTFE7uk&6-^>J41vvH`z9f&P-OsNy>5LRx=q6*UL3i(>XT8BAW^} zShozrHdTfoEL7(NyPzauAbhZ%YPnKi84vsvj$z9sITAq+1|w)Zk6n)FzB$(Dz@i60 zC!oj(z5u7+&;P)JC`fSCjkw!SA$Q&!P^0Sb5h&ENdZ$AA4}JGO1BR8f}!c=rHJ!kvCXMAQ273E)?UrijPB7N@=#L*cSL;1Yzc2g81FYSI|a$@!aA9(1>)W0izR(y&7 z=hBX#!b{6=(LJEksMQ#P%BIuHw~T)5V;_I?(XZ~>wJVcJ_YDqw<};tpWwNl@eZAcm zFI)(5EZF{bqYf`8aQv74?OzaBL=C!-y5(3pE=CxPjPPNeXX~{ZDw@ZrV!33Rb|@_B zh5;fRB(h*Zzwf0STR$7i(MMw^WCQxj*O zdFH2|{hi+iyknYrP~>qb^ZzwNTyKqEl7YWU)dZ3cD&0rzlq@UBWEy@Cga@No250iK zGn!r(M6iCisVO)BaB#zPmE!59+GZ1C-|%&Z504Xkc;)CyUA<6~TKy|Va=oBSVgNub zx0+0XCxxl9=2Da@(|oM!%=tOYTh`rkt%WhN);3L-^NV7To6QoJ@B8tf_0J-^>g7yCh^3MwfwgN@8mUE7Q)L?k!5z&qb*Ta_EQ${kxDY~)BRE*9Cdutq zu_UQl8*KlI(ZTIIu1}_;=PtA(kuY+hT$Ugs6qWK^0_gz)mEHnqP#TsT<-h;v34_vG zSn=pCuHSsky49;>S-!;M?KdbwWxk-e zkt0RYuH!K@0}cx)bhjaY<~_f{SIRui-gNt&bggxA-;s+??hEzq8olSer=0P4l%-iL z($_Otm`@FlXqFB3(^L$?G+U}hf(L^;tyUSCB7)H5rl#uxhnna(4ymge;hFhD)wXm* z!%kT{wr*bwj&Eo&>CZ9|d%t6Y;Obz&T5=1equbu4_M^c?%o|IHUk73MqJr`OFuxW6 z{gvrbD5nbLpZkoNAeesNAlvqvw=ULY`OyLjtY+{&i#pMPkHz=B)Gf(dDx17Az#D*u z;75UsdVX?d5DkV&F$5_qEshUo<8d%)Yg1SCe(Sq=%lznFcVf}-+IPPv&agwg&>9=> zWN59~kPaSRy>-i9|F3@^=;~lFyf`-tvsjp)?Z{-~(J;X6R=Wigsn*J{#jtMRL!;Yz zjtPf_#Utm>BH;f)T>3QQcaNols}}ev{GkkvMN!wTUH{Mr zANX(o?YC1YamDf;wDO+8bC}$&PFyU|41qYETpRUZq%qJb>1?jumLGoPky5EPH$4{! zGs^EkmtUrVjv2XRJ6|ClFe6pf!XY7*NVphL$`>TX7+tlxUaNSRv*T^s9{smRmn~Zc z!jMg+eU=FViJFUj{!jiCULU?585l%jV+RTh_cRx02urhAf(0P;#E%{yJ3schzx;C- za{&x7sPLbKE%0Hbu?V63$P$upRIC-q4`S8_(KC@KV!=fofz%5Y#9e|LD@0{Yv20Z2 zqv5a^%NM&SlHI&@OQUYtmdB9H(WA%DojBIpon5nRg<~r;Wyce_pa+a$f`3y-t(MUh zA%nOqqj3+Fg;@f}&dyB{xZBy4;X`PXVef+L9>VWk79i$8hJ$YgQV}fj8=tsdL!N4H?)8d7_{hRkLAG(pRXRsg z%Q72|VEfvWWzS3&3YI5Vr^hBv9Gtav8dN78Vmf*<=ptMO#3d7ki!T1bF+~OXu*bTh zNN~bcS%LvdANK(}&oZduuYzXRwbSV;beF9(8wGGcU8dX$kuW1UBW(@bMsAKQAZimIDQfa{;FmQK2I<@w>s*VgA!1{IMcKX zxGf$D7Yhsdal|nk0g+I(;dO%R zk1L?Hw^+E3JMcST3*c{OrsqEN!S{daQ=ho&&O2MJh7S*DMN>T&u^|EMfeixKWEdJj zda~Sv#VJ=b#7QjIk$+61t#>^;90}Fyl^bu`aqV?i!ETOEoaH$#5=A|E5h-sjh2W&2 zheDjJv{hA3rBd}eyaM(YfALpf@IL#Q&!QlwpAQJa+}+(RilX1#DD)b_0N@7gBcUp& z@B!z=NH~VsE__X3grOLlHf`d04&d*J6DL0Q$jA5Z-N&M?6BvyVJ9pkdV&wbZ|6r|D z``9NwPGg8xV0wJ|H$VBw#~*)cW@38zs%7U+jeYRfekB=+Z{4!(U%&R1gM0VVEF#qa zaSGyC0RjjHB2PfK6Qt!Jnxk|&t?LxF)VhLPtO&R)nW#=0cV_1%`Ecau(L*%NkB^^! z?zyLLzwMo?R<0@KX9jx1BLmCBJk7Ci@CYQ2TB)wc1dT`7F1+-821F%%9JKTr_RWlnOT4J%^h9W7phGXvpCX4z4mOK zL5yUmQzd-%848ya@FJT#f#?bd_YERT|B3hiGw>5BYug4b5Q{}xEfs}u9lctr^z@}~ z4sG9l!?spi&gTo~$1hAyjyGC$!p4flNwuXamH~>v0yJ-^sF!(&L)o_8V$KaJbjB7# z4SeYTVeicYMHUeUam7IqWm7=}1;2#7#r}wVC>h9lj-gB$Ey3?)6Y~Md~WooJ`RrkKjdCz&y zPC66xAb^GTY+rXz=hCH%`}%qhUc1us?OZOoW$Oz;;AYwqq$Lu}*VAoTV6R+97HY2J zRCDbqQ>SiozFX_A35*PQBbJI) zYId#aDZXMsEX$fHvIuLsWCN)vc#xvXq3CvFB;xUyU}L7$v1-NA4I9@UcG$sVV|x|F z85H{JW2U#vd)71DyNWEbMWdFo?pdJcMJ?rDIzIISP2Vb1p90xYT{QUVm$|g#D~Mf z!;o9$a+wOS3k_*b3h`P0n_*>Y75vkmM?ra9Y*=QCvCLu*H^=a2+_muwwk2T5w3J}U zu^3n1oE5RyLb0-CkxQ5g(?YpY^p4Kl$ez6b1VkXTZI%U_+ z&wl2LU)*ww6omO=zBn;C`100?k>P4bt}~MjJQt6|#wAiI$lX-BO*f69p~1)t=!q~F zSvIvu@XWnFE_pO?WH55P@?uIY@JMb{TM9(k8qw=Wf@E2;WXTOT+=zn)RuYRPbTN`l zI*a#}Iyq4G?Ag=ao{c9=z|C|fMM|(`;3?Hg4O*p;F}Smj-5ePiIpT;-?|JVz0MpA4 zS_*xoUbnluMGAnSff5P-Rm-{d_Qgw=PEAc^Q^`WU_<;{xJU%vAEmZ&)h*V=S%`isB z#@ahOfr}dXm|=5gIpLzcy>onY3~Pml=CYljpX;vu(U-sQ#mUi09OhhS2b6G2v+lj; zo@=hT=KJ6K-q9O3LQ^_=<12P<+qG%arq6%=^SDE4Jilb&;;G5W_rCYN-~aA+ue|*7 zuYT#vdk6QdU%$Q@);4Z9;-;H!`sL4mamXQS7cO4#$RmHr7mK9m%Sw}S2w$>&0@%@U z0i%I;iDiRvdS0XGPLnWTXjv3N%=n}}Op zeIj3}XsRCu4j4u{m&FbP9Af=t38&K_&yQ|kZ8NDhvBJht#~is}Vei=3ut@qh6+>h2 z*9do2o2eoVF8F`B0RP)ps~3jNpCZo2u(VjMT)}bUz*214=;$aQGK>F4z4=B2RjAgg zHgQAMm1LVfBpuE0$%J5lLR~2Jx>BrC$>*Nlqq^HyJpRy~FKr#v5`{%eQ%jc}o=Pg^ z(!_AFHoDgt-t8$trg!0SD|?q1R`19J24Xu>EuMe~2ra{e^o8Q<)@zb5d5Rvb(_A#1 zN!xQ?^NN2@91=CkCL}Z@iAWlmBmr@>R4RcbTe5WFv(G&l-c`KDHkdjd>zQx6Xm%g?MKw=$8wt{I9D96P#(Z&x;r{Mx;x^g z1u#v?_%Sn?ioN*a^X1C8=h=y*2}V|{*+9*T8rby$mb+T3y0)XJ9ff?UqdiHC*>~%e zNmUPHq1Bh}JLTxNrc#+oK{{&v@$WeK!m&N2;&?TcNc9hFtJ>8HRae7G;#8|fNDxj5 z9mu7c5&*9lCS*Ao)#EV}s!TEw>&WKP=_HxALobw_N@-$zY_~F@c!2_FkW5i*1WTz> zsYHETOq10PGW-UiVp`Bhb`9?8%Op-b?~K9Hgk7#A>-EH|k9o`bjZ!wDjHsXg!WCd@ z{kwLBP%*v0t~pe283f={zW~~95!)>6#%kQeW6d~ur(@vwklYaNEMtIgVy4=^W3OXZ zT-QlvQkt*$UWkD)L1QJ!Ad$^rNS01^R9v_T#}#7mY?++<*hGA4HpFc3*V)b|s>(qA zQD$%g$((1|odhGf!)Z)Rs!ub)70xC1Mmp z3b`(%h~se+VLI@M1T{8f)s4X%I|AlhpJY76q)zqh1WAyrEtS}S!Ca#$i-hC9OaT+R z4smtkjW=TYU;4rquf68_^Upv3&VT!lwTG+&3GEsjJnHC8|N6^cpZA_~ZvWTc9Inm2Qxb3#vdV9M8i8gFF?CGbU!kv41 zdLMu6$urJ4^XjX=`;K><{>-yaEn2!5fbZF7pMCS2-+KLZ*Iabb2S4%;A6vO{<#Dfk z6%TJ>VuB4Al=WJxrP7J!9yP^3uKeT_CJ34Ve97mjGUjQgz2(k3@4WG6H)J~73G~ZS z-J`Y+4?g(dPk#KPtFF50_>)ieAW)OZ!LgAC|8yS!?C*Z}yBBwCmFm!)l;8d0UoX7y zg1hhj_iujl>&p&XUCtMhZK<8Rb{=}@Iw0RdVQTl#AgGbf{_;YYXNUj~mr;oq97i#7UHW&@fueNkad3 z{V!Zh5>1VQ4RScwpk#(;x5A z3DViLQ+9Xm8t=%qb@lYU=C$ql!p@P&Eu&*Qw`?7*LlL!%bRw5cF6wCS=xATt(X~jm z6g%|E_~w=jOLg6#Uh}%U;lqL^FO;<7}g5Y&c@*GIAD(MPs zQxkar-$e_%UC5I1WZkVnN`XtJvuz6(_H_27>YZ)QWZhIL572fU3KiC=4p+^o$&D1R zfMgj7GgE^mN{SssnyEvxHlU2>r^ZW#B0vKKfaBVvPwNyG7IybK8Mj=TI_l`v ziYAvKU41zSDTNV(K)mSplW&&*Ez`zd8)IHzDFRK)I)q(rCQm{QgQruIPWHpt@j1_9>vO8Lw zIngIfoh%ZM1TjrZkxz?8N^F;*BMqRK=?tsUQfXPoR!WY8U`ZI#{lX6_H zVT?q_Vx9Z{F-b^87*C-);}X|;F$^2u9Se?M#jb=r7X%ubMup9G0Tiw z28Z^z)Ll9utC|&0+8}P(7N%y|0UU5WA_Rrr13z*5mVGa*Ck8KxKnfQ8R5rXN>#z01 z;U$y7sC7VhEa2C__KnLfyR1^F4h-yszCJoS)-^VPuWjD^!tuu+j}Hyq8Wlm|NikmDzS9roY&NrXOTTuS`N+dhy!lO|%a^UW@`^9~<^DfW38RDs-ZwO| z7wcavmlCO@o3Hja*ha}JejRUzu+T&}IJ zucx!K-FMuro1dkcTC`Acfd0;0dorDR=J6*?o!0H3RVy6N-gNXPNXi$Ucp6Bqu%!sf z1gM=VOky#CQO3u|IirN~J*ePCC`JSvpkVzuuoSdG;i#1g*SWIYsFhU6pN>J2S>`Ks)>rKYn%eAR|VV7)@J4x03_V%8s@hP|Fm}(qfgI)}(gHRA&e(uuO zYVQ9Vkz4bMe+~$bydc8*O8wJJL(;Tbt+H@YAEcToz)><4cWkdMn~@ZfjF_iw*Y*qz zD7vhxT3n44ood76OOi;@R5L~uH(7rr^&jgKQ1fnRZWLbRdew?2_CtzUYAV?oi6v8G zA%yR=Dd|K!RjU`P#VG)S_G~I&tV2hyIW`1!XLoO{Qp&bvV~HG=zUsJ>!{t;KLeZC9 zHEt!lJG=Jo-c_v>dwO%F$^=9yb%B+2NrfOZLIrCLU||FC*tLQzn_#ujmdS_NiXQ`AKMl4RLxbgIx(#A(s)}>CawpCiBU^Wkk}-Df+%nrcwXp|_f$0~ ze*$agyGm8nOcIc7*?4zn)^#Dd0NT`$3NwY+3*b0Rp)HdY8S2z!4!4AEjX~DDDo2r}7ZNC;F%dVCud+LJ)unxTWyx8*2h3)@F+Vf}zH6Q@pa=+=BIQma(C5~Ao6 z7~@riPKi59)6TW#l7-Q&WckrYADtMTc-z}ffANK_AGq-1smaoDuRZ}s3=sM3v(J70 z`OW8_|NiaU`%ik!>#&LGRBqL(H6tTq?|tw2{r$U6JMHf={V-70tUh#XZ1Vi`FL?gB z7fw0lR3Mdg>kh-yu^y+M`i9-R_MZOt@2u6F4To>)>gr5qk|&jp;E^zpnqV#?YZ{B!9lLH!{T3U3||q69w16EiiwG-z6CvDAY-Oj01BR{ zIm>#MVDECd4zLI+&Jhzp)2_;r+LMfpk4>5}b9`#NyRVzTs3Ls%eh|0B&#Tq;u6E5b zGH#l(Y3wQx0O2;v;#5XF+7H}jPN^cALs1+lxg^?m@7_%nxDpBQkgl#SEMsd{05~Ss zi!7F=7Ib&%y5)EhRtevMT=ytDDKxDZ$d;;G1yKG?$*0Hlb#_XDD?*_t5}E^3sLzl> z$WJ#YBL?izjK>6IbU|g65}DJeypu^?H2L(+%BuK3OTho~CH%-ytYs9uECQ9N1DVi; zRZ(E78_KKtU9&BbDY3SQ_s1(18btU&a- zIL1cY!q@9=)$wVW;#wR+2g_kX@st#Lk2U@Rr*LHTTiv-#N)|Qr2>wFxsB}IlS(ImOF%T>JCoz%Pd)Y2mghDP z3=Awb^TRI-X5-gl-r&Oi2%iN+XH3WI{3XgOdx}`c%UlvZwr*>jzVYss)Y( z2o)-_qN~)93i?hcvYed&1Yl4J)6n-q$B#M;`Hl!M7V*iZD9Z!<1!xOR3%Vl|N~w{9 z&ISN*d5Bvm{Rba>@aD~%twiGa=bwM@!3XCP|NEv^HN^kiIVZBB&Pp2#r6~HZLAW!n zxD~@9vjqZUc;t~s0IeKxah6~+b)IhmEjhHEhyU^jm1wcusfo#D%a-h&8n2s@7Y0d9 zvwXR*XQa2cr%K_I6eHu>bRP(Qpd6@oeSLkSqoX+9x@EeKU<#ro4~2YEEN!4l(}QoV z-8Sc}V`TD;b6|Nh-kVJett>ub`jRXH`n*qEcG(M5Z-BbO_Vx5W_uO;6y$b@-bRrfv zN5{t@S$FT+19cXX51W-pLZ^h98y^}P0^zBumd_V^dlrn1O$gfqq*}hGr;|{raHEup zB1o`El`HX29UZydyLVDplPv%GSGPM((Am)=OpCszd2HLqnDON$%a#?2g?sP47m{0= zDgGlDfM{>X1*OEq1I{tgs2E{nYJxcQdSHZc$M%0)@CPdM8oEoEpaV3*!aDQsj8mD4VVD7$4)XSNiQ7G~M>H7bF zUrjrr9L2duUb&q+2Ny41ym#+j(8jiH+a7-S;U&us0{pciYag408+TD;Pa*TQ;%UMX zWfR5>Qc|ePn(X*hNfA`%S)m6SvaPsTb=82H+_(~?g_;sc{1vxWN&styGW22Bt0{)9 zkU`LpL#tl&4K2}@$vyelX1ju?X=DS?!*D{;?MH5s_FR|N5-c!-b4Ag! zlB$dI6nGH*M71lHub!9~OQtNS3$AD9^OKNv!1a`p6hsBuMPZPTbsDM~0`cqnp5wA| z;7i~Rj%mdis*~nN=tvPcb(FG88gm##T>}Wz8`N;t^~oB*rWP;6TItk_OBvg{8P^VxjECGHTTst5gdyJ*7#2EKbbOu|;4*sxH?Z zm%5S$x-XeB{-z>5kcegK1?I5TTzHykd4;VV+vN~`r$9Rj*rp&z0zLJ*j)^7HkRO() z3n7xQM<7?Qba&l#*OixFPN8J6`10k;C&$LYkD#sRa$S>Sg^sptadJYn6weGi*$?Vo zF5aeAWw1OiF3a(-?h^KlsaelesF#`&iXy_It_fGib$wNg4|o&R(%qOJw3ge2usvdBbCVjo$MYPTeWfxzPV+~mctJ}{EE+f=DO>yV@LIz zbkfx0n^#nEveD(J1&T)c7DfAO`4g>({TxC)H{lJIiqo z9O@;?Du!*j+~uFU@<%uPq*ARe=Wro_eoJSM};<~Yk9j0`jCPs23u29 zHsIsV5K*8v%6f3A1_k~}R-+M;!1L+MGbV20+v4SH^>7w z4;vbvLILV5|CRp!e#Z&F`OT|%F`#Awb;nGzZaZP4l|3+C)Y`7`k!4XKPP|DZj7r66 zK3;_aO$`tvGp5@$m)hJ>ecLEZkLok&CUB{ust`+cyG}u&ffVHqNwPsduj}OMmdce9 zxZXn#Km75Je;l;kC^HhYI{xYMg{E6`s1X?$gzLvG%O+zIZC|Zc7h#?zCzaTC9jn+Z zB+O=T;JW7GK#o(eq==C7U9v-xVxW*FP_5O-z+Ngrl?RflmdbXu23|p>LPc1GsA@@x z#DEm!-ZJ#=O#0*#Pu%j-R*~-~QVyG43>xAe1c%kG*`BV&uue6{HY~$-s{r@5M|p#~ zfw{*VS0mW306$h0N)HOTn2$t#OF~g2DWIIdzz3CDW`bH{JLF6D96Q&R1x<3#Ck_TW z<&;w!YaTX8h`JSoQB1T5>Dr&y|J?Oo`R#mn`|rKy|NO#>6%X#nM*)%PDvH^qQJCaxCfRJKgEg;0x0p#e%zHGts2c50@UjG20^ zHWreXAY=QI8&m{yp>ptw>`(y-+m2b55>Pm{qPo;%D>O9)pXd+|7zRja+2SR@`nFx0 z&3wY96?R&|m|^P@l#l;3A)YmIQb~y(YF-13CuBKk2RI!-w*EGx_vd6w>;GWr3EapSi!kbrXLv)Gc1Rh}};=qhcmo9zj zrI+vt^t0oRKlZ){?vq7HlSX+vRU?rT?TpA&28Sc-2sJIBct4SOuMmP#sG*@kKvL!g ztWfYh0at|)g&kKS1eE$D39AW38Ves)Q+V?_ht%v(g@A+{#USzhO2t;F*^<8UpcP@@ zjg3#{$P@g+*=N1$?6c2KQo~tc8{MacloEANo$s0<{^dj zG#@I8xe&><8mogimh4PXR4vn%1>ORF!i>10KFMVc1Xl9U zL)WccyXIA|_%qg1^sQ)NF3rNgg1UtIO-eWwxAcQxp5$XH>nP7nKMfu-i!zt>H z!wt1T7{DcXE>1nj!?npnL5NBvfSl{>C{>CQ<;aFX&HvsHzKf}GRq`3T6dC^|5I=2q z<5}D=LePomM=3E8DI%J99jZ#`FI(m*9;D z)T(r!JUFH_ypkzb*!d(1mrjD)fc}SvM@37?$#=ZtooAhO4o)TWqWQctQ7Rw{TiI_E z;SpA2a?uNDLRyjnMq;OMPEdR-!`3egNGN}1U=1B<3@8LUoLNJxspEOmZvr3w{9t5U+oY}qC? zl0fFz=6UMjxB;2maYD?JiGw{bFo2!Gc(@Ay$E-ylh-xFq(7dGxngx+^EM99$Ef5iY zAR3K~BOupKGT*Gm1m5q)71GC(aAURCbCl4yjpPpC9#Z+STU2V z$B6_+ixJ{|G9JS?sf(kaovA!s@pw{_nryMTiQ(T8|1%d&mV|Z7ZwA^3y9L>V4b_+q z;BT11iL+=?ksR{=Qdf0{m}cNjPE9mvAfO~~N>foat?pK3Pp;J}3WZ1LDp7J+D&$4| z;BZ!;mw2+Pii#P+M~v;}Gz2Lc8?6Ahv5sPbnhg^7^OC2H9TK-S@`RUBVttq3Zbb1E zP%7))-Q7EP?tJmZ&0sp8^0taED`61*3RI*Un$W*hte#4u(E`WgvP)98vM01?|ClL)aMfaq?gT(Czl1?vi-&|bS`PNkMpjj>0Brs zn0P+GODyF9TuOw)8fdk_4>1d{Vw^tkI!q1RZ+v{bv$GS7v3b_mB)~Qs>RmbC6Q-}} z)nL7WtwfDSlSFsxh2~G1(oGTtQfE#xGPa58oL~rLjAVQqr_wD~@`6K(c!enAKZ?A@ zJI8Z5K1uLW(QuM+hWJk-Sd25HP?!TrebQEdL~8^A6l#hk9?G?}C{aJt)>*e*XwPmD z%5z(K7uX^eIi6tF(19Y`gU$uVG6*bQ3h-)pJ`k?B);Upze|v zjYzWT1 zkoOVr&~xg6W0~=($tjNW!h4!XD3jw;up$1wDcZZS;BT?d1P-@ZBL#o}6*h?|ouV+Q z#u#gLm^X-3sAzVxj10lM$RSN33qd$XR2m;w?0BtKN+ddp#cC?m?l@J0>ZrBhCQhYR zfx=j`F&SMq@d(G8ZJZa}i7H~xxejw)q6(Ww9x|6;jSj{Ugrb7I zzU+Eb79v#eMG&5dsWz$FrEOD*4RJCByLUsPDIf#Ni3b{RaYpRA77!Ssa)k4kOtD`S z_Q`rP>HUPX1M)owLN%v&)~Gm4$p0N!f(>+EvO_rJ^LCwDEM|q0!yJ=FE=>n~v6t<^ z2mjL5)z#C}hczD?8>=jzp3y;EBsY(?~XLpTM8wFQ=x`*4XF-cv-bl z(RHJcFS)`L(J*qfM4Txz+@H-?!S(83g1X2>#48k_sM`6=i$AH=ijDirtUN#pQi$q& z4@z zv+=&gswb>RGh`dJ*v7Z#cB}>>03zVZ79=oSqJ4o0>P&m0Q-LHbFH|aq&a4~=Fiig{ zc9A1m)W6cOb>B~J7cU$!8UP*RKX19sQA;S7=Fh(5T5GQ|;B>b4b&V;5vq2k8?xP-HPeim_uIz^!{! zlvIjx894X2nWjXgX+*iS=wMK#Lx+5ycD+J=3l7dFbA+%eDq0O1m>06IfE0Z2XP=OP zq3T>~kj)p7nO=(egf!_GUN zd?H0aZAAwf&t$TA41^ircOsF(D+Dw_R5^yJ>!3?lWIF|-nkJy`v2)Gc`F5biZWD z64Q!fSm{ho9DzUxA&zf^DADV#7Pp|brO0CnFi34$=vf9O=~7q@9X1LG0=0;`i7j!F ztyh!jwC;q&`cQP>|5}g>qhm6?i8CgP+TBVAeMrR@0Z?R2=0rHhbhr#YaFQ-K zA~SS43>3a?GHEo^a+;LgN;b{+)OEU6!@)?U(x6Gsg9s&mzEG)_6=P4P%%_pbsnx0} zH0uNFHY5pcL##6<=wN=X=TP5=kYYFKZY|K3#aYb4%IirV`bW{QV)#`&nW6&rWZaOO zD;b&j0}=N?emb!$40Oc4i_ge=oJgf9msND=1GaD|el6hmhQ_+7;vk5KA3}bftXP7< z(N937?DxS1^@!<*9YeDYGQWW;&f#p0=$0n7n44WH5q<72`{sLUngO6sxwRs7o@y$@ zQ>{eapovB^i0ST1Ge))VHR}#70!`==GladMlQ~sSISd;0rvbbmCQVZZj3YHncz;`& z9{)MZ8amAnLnh1p4gG7}rcx?yB?%>Y z#!+g0ZC2&?rRHVh8-=2uZ5Na3oEB!($^Srf?wsw*lt%ohI*qs0DS z0af}_*r36znHi-cFCI36-kYS(rC_*+ z4L636gjJ?#yPj_fQbWYDTFQ0hIA5_XlYs0^l)0Q5w97(OpoR|672Dg}3q|T}&86`gUkmp6)&Jn- z9~c^!L?5#0_=!)qasJ$ zDI50Ds3NK_?h~|r-r(3FaYf2b_c>C83!pVsrlvoXiC&;J{)I>2 zubyyTh^YLVBt;1@`>AG8zW|Ov6$wrby;y1I594#}Lf0}IJ;7}mpo)O;%^zu|g^K2U^E^uu{*L{cw?0Rzw z(@Uq!>p0w3v*Ps#9WKS({9+hH5?Y#z{T<-)GyqCtn*=pSYPYx@@6_y{g=B}&_;to+ zO-F&q4d=YpYP|G?lTuRW8KyYMjXy*pUBIn71YaRldgcr%cJ~1JO>22c{^= zcO?-;OaG=Q3@;(uY5Ebh%pICXMh;yQc`@wnVV{nG8guDz@_|v%^y1UbQZ>F-5(=Z4 zOs`TP$_zLD+#jeh9p2x(lzHCs6Xt}KBAAY;loEsG>G$AEa$~f-Yx~ke>u96Qi2XMH zAE0%r_1i6HUYT#LKpsLh2LGvn{}AT^MG4B8<7f~`X!E3f{C8Y5#siAQ3FhTk(2SvD zSQfFDFcb&DRa$g2x`;nCIN03k-~9Y`-%D!S1|QKxoJNG_E2Nc(C1XFkd@w3oMoI)#gCCw9ho7_Y#+>38M z?dO2ek!aM!7Ag)nU~O2}qt=45XrjZ9rbKUF;%>RkK{ovqvot5ZpzSyDFImPKeL3gR z&LKHGM%Ez(L%5_dtJK^QYUREwb|aN0d#1yLo!FvxzuAVtno3q-X4-tfaa1LdDIi$Zv_Vv?PM}k&n{URb#Z29C zIy*bx_~th;D^NwkTb)wFMGZSVY;bV!+G~Hfc=6JyLSA(CYjf&0xG=L|)6@gWtvfZ# z1XuM%?J7%^Rq~xHI=&|4u8$|m3h0E)r~ zp6lG#0T#PZqQSSA(`RT?voFgsCMG7Rk$|Xm`q*QSZQQt#`7E}hR4U*@Swunz5J1sz zj_qM0*nZJWmZlRnBA=;}tJn@m8Y*Y)GlRF6CJ8nV5e*?KHS6#(T%6#9IZ z-0+#njph-=?Hn6?5Vr!QEm^({|2j4{krf-%+uMsNbaizN?HT5pXhh|@#Uo@hK8GnZ z#R-PTo5hn7Pl=*F`O8f+JNN6v3SfWnCw6~wa?&txI$Ul*jN8WJlxSBhP?JLp@}-wv zI`q&(vDzRr{9GoF8lO4}v=p5$stgp^^2QQ{Yx{E~j;Q|{^>mpAxB^$<6=T@DcQ3}z zp$~y*F)|)6;YR{r8`A(n**O-gCtvjuL9PAtIYOPl}h0bq8H;)xwAmUeOuVpD2r*@hcXGcc|UO`~_{3Hcoh-TJY3ETCYD6yzo$Eqh2>7dcpsL3=q z>WD!k2TAZQ$c;+#tU=)o5XRKh6mH9hm#2^KknBiUw$S~WX|c_S_xWIuD9I}`kYz1` zb%R_k_uO;O9enV?n2{uE`}2`xI%i#ik{yJ^WiHA-4Jx)xm$;+S0MOdFQ|1o=i}@ z4_An3l11IFo0dU-K}BXGCD3flN>s`fO*2dg3^GK7cD-g=nlQ_d@yDxsnrX6)g6y|s zTy3$8DT)KFE*2wPbP+m`JDj zOTJTwhUnC47=Xt31i$XjvEIO)N(4VfAbsHUd< z`TqOGbd~4}QY7AKon@Kra&Em&b}jL~IlE~6Tg+VKP_PW2Dh3i(Q)k9QR4bLZDE%vZ zD~ell^q3_b$R&0}tg5PB`2P35=H%C&e){REW_Vx(K!kuAu~;FW&rsN@M7B7?AR8l8 zJ>SO&d7Pn;I&>h#EFy{mr>2sNrdYow#Wq&Y7e;kiva5Adc(tN8<6wd7J-8x zXfbh`?|yrnBqB7ha5}1&fuoW(k zK00XC>SvyLier(QuZ@2vzQ3>9?N9-4lXqVd)*-BL^G~~8Z!i|N6NJSAVO)IYV;}w4 z1s7bfYSk*TH!w{)9%zPd$h;_YX;Z4DQaqKCgcRcKqw$C&C_Wct^eMO*DNaEd1PlQr zPoJ+E@NqIZ;|?tg#mpfRTe4Ixm6EBOki^c(wggt;%ZV^*OQcRYA zamy`t-E|kkaS?vvllTY9!Tg}ojZco?n|p_MB@_DH_x{0*nF4GY5by!nVWCr+)tX0j z!t+x>=<2wwp{WvAOH~T_A|Ma8!=u=3XL4$+x2JFK;7C_j51Uh)UYvtw3mjj6d!ifeBl+_vu97PjoK;w6$8L5?Z2skadaEl;+x*|rm^9X-9vk-RGp@S z!8L{iJ(XNhqobOr4+%($hXR#@eyICgD#cZ3D2ydXi4WK*=!jGbP*GB;3}%XFEm*K% zWMrga6AL*~40qVJZ5!r`_f#>E(hXEr??5j?FV%z@F#XU&4_T(+IrdXeJ;6PYuxRNt z9Z^kJv0Rd92!tQ7;e>;{D%4O;Nr=8OY=JM7%4}j`fKL^ctQek--$Jc{UW;v7wsa|H z<3QxtjZBdJykPBGs5h4@7^;pKDu}BUMvL{)u6y*MvX1;iEIYI53zU9BRN7I`^AlL zu)N$8kCk8^4;v$ghW0F4yr5olo_OMkRjXF6UbA}J%P(WcV`5%x62n|T444$gLsPdR zu*<45tJ=8u=G@MTjW?uG$ue6Pu%{RXnV>49j^lNiT|0-18S11dX%_SOEuFJFH7 zW!fN3+w$zQc<#W!!20!vKrM-X+Q59v)p{e78+h1F zr&GluPPf77(EEn|9dK33xi3XjnQaNm=6dHERaySd_rLeikABqgJ>Wc9EEgX=v2haz z9dr=1USaoAMn?B$GKoSlk1cL?yJ*psRkn8EAYcXXA-;w!>+bF@2mz*uVqa_qz!u;= z&M$uxEQrcz*6dU~TdR_pnL8(8Px<|P=g1eK$3ZY{kj7K6=GR?!T|kL!?h}tbfr(&7 zSbTgZl}O-CelQP`P79@x&pU_IuvrVooQqHI+BG06en&@py>4TEl}dHdA~4diL?SNA zU6b)&*EI}p=*c0z3C6?SG{(or@j2)X`_3i5@CHl_)5NlHL4x5YM&fZwXsT9g*p`lt zP8{;e`t>z&ar@Q;c#*Iz=`yW(Op&o}Kl#Z|AR}}wsvbthcvFwnDs@StwU`{A zkaa3pT&b0N`ns@`*cjId;_>9z=%j7CsdSpW6~3CuwEMnYtCp}wl}gEVjo<$Ewu>(M zAXZ_~qDAj{&$&Oi_6Nyi9D50D4vqkEg4Mwsus4_?rrOun$5jZpm}_K&Q6xUAa=8Eh z+s8;Q{>D>ui&%d%@E*G;N*ihHRsHEtfBJR0zWTxoFJPIlg?RLrzw{MVQykl^)vG^|C^<|DWTk=vC_qHzb)cFXm8I#U~mCJoB?bKrw%S&ycmS?qaXc9 zl*M&-?AUS6Ip@6T&9C1z@N%XtwRdh6R%>FlD7E|rRS1Jc6maEkP@luE_Qm8p)-OlN1u;NT!=yH*RhsvUs< zlYRT(bR_0GI&zRxu505~bkENA2OfCf?tA`&>we&qtFF3=jrOF8HY|i}f~L%564qay+5E{?rpn<;g_Su$?ki8(%=cu;>yZws0V+C=o%d# zZ|00JKmi{B>jX7cs^v<#0u2;DPbJf#==U)l1Jx3ffvcydufM-v6BX9DMcHA89d_%j zw>Q2UfXzYHFPPS%JN9Q4eN{ha^*JN@PvPHPxuq zE6HR6^bY_uXCj;&CAJ?JzuGs1lU9JjCOA<}SRF+8IQ|I-7E8wlaBLaQ!f$@_n=7xp z5@+fauXx497hinddFNpz!CO|ZURf&V4O6aEiXsFG-#3M8CWaphfd>(2PEC!0GON`P zjG?Ee11o@ID;i_~KHAHdFUI6FFl+3$WgzJPyyN^}TN^%yxCJ)@ontyHRxH;IX>5E%)5G@m44}Za?OPymL2OtA%Ss4em|U*p4?BDv zXcaU}TA&it>*c<_F07>Qs|y$Q;O5wROdOKCqoZwLVA~>!$FG6o8G3>XhnNa*ej-Kry(00?aqAf)AraT}+B>q|3qC?Pi2)Sb8E! zhz|(h+H0@>%x6Bickj@vj(tVlt^%3inBgRVdf2B0Vg+qM)`D>H3ep6}0j=X}plrxj zuo&vZQn5sp zJoFKyczOIYm9g075>!#M$E;|3;CT>>Kq z@!)KL6h)&~ty+bWZ50Yr7$%VA(9j?zB~C(l!Gd1=5F6@K(-NTph<$C3~a@}flx00--KZNrAc{`sG;IPbi7gRjL!Ga;eHY6W4Awr!yJ z%)|tRBM6m+TGHhUlOc6?HNmp&x*LQZr1G+5OQ2it*|R$XWiCG@vhaP;8Ho7Z0a04? zDn$^CPQAiVfRJLfS^=8?)7A~BTy_w;CM1#?^9pTQF8Cri+D~< zj2+vzUHiiyfFbtvbmNnEoc{Os-+wjhnEHY2P84;n8d)KU4C7J@q zfOZWLsgO>_0X{TE270Pi%2MdZEK}t~P~mW;xodjM@#M&DdN)2ks#0gBfJ5aWDnQS_ z{q1i7iB5U_$s8^5-S1xe#V>vVD7sQ98-@;+h#v#=u>J~}XIZgaHifmSmdfL!`QF|I z6Qd&?9bMH@QS|cQ^rhCHQa;Un&;>F)@XFfw+A<4v?3DP9oY-Dk8+H3bEbU85au49k!u_Z!`1?}bpi81?*bCF zMKL}OEs{j@ReTdjlmib%OEZ1t%9U&%!mK5~>NLx1bxvOmlL4 zyizLVvhCDjK9|L>fO-kswC5gu^ikZI>-}*+G~Q^w@VQX)_MhcaB?{;MCWyU3|k&e>gHcXlQ{`FK{R^Ks27dc*&B9@yWaY{XYPC zcMc3fucCUl#XN`MV7AaIu!Y!cygBZ~6RV=xB`_n0P?3q%c0{GEK$OGYpVx@Y2VT$F9ibh%YaKVB;tXMow)-5hj1y))X7sNmQ z{NM*K1}S5MAp)t0FU39iu~>XT-;(E^d)_ou?BgNp4o@bb1{L<~8Ctz+o$KQJ`hq?K zlr%arNz7E3Nw8CR58ek_!ObCb3sX}@GRd{EKq?d(Y1_fPs}WV@6Bq!yK!qZ7)nwws z@Uc69gO5J`1n2}R1*GP8uD<%EmtKNO1U6AA*Oo3_+Lg=5t5%JTj#eu5_VzA}N_cHL zgy9{VX7%(f7#-eg7!`5b0IUHJ;gCbtLxW$wVm08Ys#}A*c2p`gAcM9x9NIB34mO;y z2ZZZm^RPw12)|jihK_NqA_?^Hj(41ngY?t&2azK~ra8bA%oHohC7ch4-u8VB zqx$wBk9smg!FQNny#dA+Thtsj3Z!uR{#&3@}Vgmr$@SZ(X$q{NY zMQgTnoNIZFn#3F+ziPO|8=sTOE~-Yyb?L;^sEr}!#lf4H6c9NZy>(rJRKuCN>#n;r zjRHPE>ew=D*1>BI0W8J>;-DS-s>Pw`96=7pO#3104in8tQ|xlW@xcwT9Y-Dc3No;# zvSb_g{H03{l7uI_w`U>SX>e!U5QopLJEdZ=RICWZDJ-}mQ-*_5=a{cR0>O0JeWN`@ z7&c>~L3?o#%7b+VFM9aFhkym~$pa5O0P^5ieSQSSz{)f}7g}x{TJ8XBL6g4XCChTT ztY(}X9cNLeGjK^HBj(LLw8DgYUxzIN{a!Wifxpq|#PH=H5)!**| zr^of!?t!W9Ectmd{E?6R;|D)<>DqONKDYV#jT?^` z9NfA2xo1R*od%kioE*RN&O6`!_OqC~e)qdyd*d752r9AZs!@wW!BrXs1pelKk*ch= zguU=lsFo{2cafl9>Z*eOa%~yQ(4lcc{jv%5J2IKIrNa+jk8kcB9Ne&JBjhPQo0^&c z2BccOiU?Fb5O$qGH-y6R#ADB# z^7=R80U!J5KYs3WS8Un@Nw(v;XP(7vPdxrO=uc<7{q6VNcVDd@?C9U3wq=O()yUb_ z)768JC<$9R0eBcA``S!QJ zeZmPR-1@6q!P=oQeB~=&!7`qG_St{9{f=5qYH#lbv2We7rK`IGe1Bqcj2n#v?%WBe z^IiLPc!|=3RnC5Np*LfPXcpBHz@%y5@Yg^gWRvzdr2?3k;^BhORaBYl)lj<{MFW>( zGL)jyt<$e^WOWdK(muP6OK!5x&Nk>U&`TgUvTaaw%9iQN3hu0k-VHuc0R{hhq(y6HoIQXH5uEUZZal{enG&x_7I%?A$cii#mPk-vxTW_~4;20>@M8>OD ztvKbBQ*OHHCZG*`?Vy7e-g3*$6;HQy zpZo5!)0xyie&nOem#yh&?|k~1r`~@0yZ-p^ciHve^wZyY&)s(|S-hHWy=l|I*Is)q zfgZayUrf?GJqZ5#CAa>HDT?Hr&jv_|3+1TPLraEI4vr65rjuP&6ALKZwMux&B_BHB z#N!@#@F56th@8U?J91)tWXFzyZ++|AH{bkokO-EYC4Hq@J?q`?zWL@`@WXrWy&F($ z`Lfl}&H&s$``OQ)fByMP7O#Ez<*lY+-f+VWkh^!@b=NURAB}y<=ZgFBV?OYDM=BXM}pQE6utzhXq*lJC?gR9p!_e~ znLWs04ZC;mKKS6nC2}sS(9v(XgaCod+)i>pw2t*JivwZ>ko&t{_~$7yynM0`t5IjyLi!Rkp0ho_Ww>g z>EvQDkGZR=wS4KyRjbzg`Okj}1FO4pNxkl!dFJU~{QTt@XHRdJa9At^F=Lxv^O|G- z@P|7A3ZYGLLij!R+=El_fe(BDJa*l>b&ovq2)+;K224{bm(t|K7vf(`3_I+nQptRw z02x0%k%zc^;_+wCd(W|wluQ}DCC6FRzCzcMit29P_CzYNvf>mhUB2$R?;Upd+H70r zi!Z*^p6ixuZ(?-Z(yV&T-a9nBb70TN@Wd&nochxn{{YPBzQ<#rsko&goxmCw* z@9eCW%UGjS%JOXLfp*qe?>qbK_wn5Z242LW1^JRF1!j;%ANK=`reO>oaOu^*`O1ea zO8yI{@jE{=XgKnMMwbY~)Q0yAVT2S`R>)&?V4dURqr$32mBz_>A4<7g;+bcjIcRAn z43z%!m`36og=W3Iud~UEV)#A%Uj-Z z>o0zF*=3hK|J-Jri92q;{nXdL>7auSdgUu#ea}6A)^OBAwOFW3P3FOwJG#0Y$NR${ ze)rnHd%Y$bUg+%Fv0cQq1<=579lxU!qP{6h+uu z5Dn#q$TdqHhpCHhHVZhre*OCIfB*ZYWtj%RH6XlHcWPj#uRZbjU;XMg+Xwc5PaSpi z(LcHVdSH$(fBCDb=;3P^nLT@UfJLrcx$1=%sJS12JnmVomJL;#Z$0OHohkl>Uf!sh zMYcZ6!em8|zDn+idPM{qg)RNZxa5FN!PL~hTXr2^i^avE(y%__n{yrjS=deiRz%vB zX6c&mxDK=k@K7uc341AoIvY@LCp`k|A_qgXJ0=rLNXaE_jtC~LhznaRJiEBsJg)>8 z@vU!t<5QpdbpOtQU;p~&8;{(S&Scxt9l!g{&2KyHT|c|=y4U^Pn|5s3Rwz!5?io4$ zRmcA9XFt5MsvjD(`;x zyCF+XJMAuAzH`X(Xy97gclPPF+eom7#inNQnP{#XnPivy&%B!0@2} zYXyTkV&jqc(@I!V#VIU9xmvdpsS{3m&F}C0^@%4Q|K~qHuwl~?Z+Y`+`NHI@Pk7b8 z{`O|FUi;xY-hSrmPkrm+#Y>JjeB-huYyR$(lMg!_igfLJ-}_$w_8pjJu~2`-F)IuC zT3cI(WhHazuBA&?jtmV>OiZ14+=-?Us}`M9vNQB;z+dPEU}#GhFRj+n0@^_bg?DF;NH>A>5GLx)U9FM-$QLW{l zdhXdzfA-TGjyeJiOS9S~C0VZepZetGM{YR!?e9AKtaHz)*PKHRJuI2ZzVG}C-}}Dz z?-&^P)o*Uwuwhdyoy&G*ANBwF+bc*FdDi+6K28`9HeopzStG@EV z4}K8*v0N+yB~)uwoB$x*X2#=xqJ<{M^zYAWYatz9ZtzuUhSxuADUBxkULtPUbqZS6 zL=z)Tr_RgeatUCZv@o{@RqnRm{N|V=j{!A2@%Yo&kV3vxx9h@2Ni2Bx;Ld<7OX}Kn zYrgf3uV40w%M9IcUFV#0&oWKx)Hl9K1mXL~9JK-Knr_P^)2UQC@$|EgRPB1*ty`9X zwbx8doSBCALZ0y|a&Kf&bzTHx2*JcTy^=_*$mnh09)zi}_QKF05-qnc{_~bKBUv<@0zr6J}m3(KC5d%{uRqCa!FH!3` zh&EL|Z2iU?Z@B4_i~sTP!`DrYO|DqBLLslM)Sk=j)F3dWWXzfh{Lx`50032^!Mp`Q zx4g>I>=owMR?`ccaAlU(s$93Ln4m6NmXHg&R+WX-SXVSv(tQVPE)6o+^72khe!+qT z$z)olo>J-C@3`Y_Z#x@{f9AXX?q@gsi|tiS&8j(dlag{3PcT+Pjn$lT%t$(Z9g07; zf?S5Gp>Se%7=V7Tw#it=_39$6K++ULR0G4llV2caC1lyGf?3DfUfA0Inv-95E+BHq>o4*LgwJ_sZjYcP?FYP&q%9NTm;6bLdNtJhix^7b3`!f=p*S)@RG( zPoMR!vo&hMVvkQuk_lZDTv&U=dg{3m7z3NPO7R$upX~%zoZ46mnou-f(M6keTj&zh z1w~X~3Zpuq0rf4Eec?l#k)bDwGGfd|!(R|J9A_mYXfPqsS4tEgqZaXsr6#~RJ~}<&iAx>%j=Dm|2*}d$voidEZ^Pc4fUrHqX=F{wAj`{lldny7ZC{0Y6xl z6*DYg^@08ur}9ICyLak}n$9G^KI?WxRs!A7Jl~D%F|*DQmHARAaa|+(mMEAj3kVyC zTw7%U7)U&?T3C_xqpg=uYN3 zbCs(5m9Kr{+gE?zC1O(QPM8sGG9=Z(P>bcUWIT5M1sCXw;Reog&pgr9(SH8}f7TQ^ z9+RlEtQvZbvtZ#O?A^&Hz3P|0`UU8zJ)4v%0m0%V!OJeY#L&!4TJP)Yqk_9utW>QP zietHK$JoTwsx=4ScE|7EbIyAuQ2-5C0q5&oXPpH&4nPwnIt2m1?yg-OxhlhtpM@J{eCphtm8!bZ%z|J|?joZfe0Dqo_=ZEK+Bo{7Js& zfU$@`Yl+L_UHaheF ziN)hM7+k3vJBc4&c;SUlJ@pg-uh7P%Vlgk0O6F2wsa|YI?2S^pSq~OQ8Ih?-r9nja z2$$&yMR8e?Gw<)&vj_LT_10VS`Fs%AY`1rvNFiIaXi+Rixd|BFcfRwz+i$=9p$Gr` z;SYcK*kg~qwlXk>;`JrXRyugha8OT4}%1|kr8BDG2)HJH31oUhqtT>aorp9olbg{xh0oV$qivZKH`YOKK}8KfByfY?LENls;af&)$8u<^qllY3J^j^L$4-8n)G5Q z0YQ2ZDG5kXxPZzd6TdtJSLW6rhDNhscn_xb<*@NCZ6 z*=O&yW*Oss#~kAwcir{aV?Vq0yH}$n0h4aKVB-LdMNp@*@Vo`{!SO^R34jl(p~5yW zfB};zUAxq1aFU!%MS;a|G?fU20FFHW{BI6F>}x^g4onkF-5F<`@%rnp&!4|nLsbB3 z5V-s}mQ29smryNI=EzSB z0C0qb-6Kjbrh*I|Oqr9>xTTu#D}WwYToHkfh_b-(u!QpE5+Hckk3cctBZ{?B@3tMU z{r=^TKK_V}g}_A4oIUgX57&wzdETPEMsuSm{lcRHmY;*U`1Xnm zfBMr$;bPW2w+76wDDWQ6bOS_>s(D?)uq%WsJpJ_3Z@l?8Ky1JI)vthR3t{Gk->v~1 z4;v6*gy)(pDk<_O#1nV7ZV6f?O$0-lH;FQP0=AD2t?-QDM_|V+tm?zEoPiUkVRUM$ z0$`NFkq_5_w=oh-j2N9dWwx$4jk7q?cZ5BW5@P^M<0C*_19pi!$ONE_0F5`9&q6P^;)C5EA#ZP{?GBp9{=KtFOaMmjYMI^!(_mog1=g^ z;+&^``9wM`p>jN2$4-#OK=00>!7S2(a6H`P9YytG@nl2MVBk1`2RI9MX4b6fXbf$; z-e^4f=%b4dIAHqp=|SQGSZ}bUwMsP@BviEz3m2;=pa?A*AJRbBxiDPbZ{L01EAIr?vv~iRj$3k76h`pe z>eyJHz!9><%%43CRbEk^quI4$_8+gje9QG$-getNDc(!pFGl6L*k^!N8)G&wg0pQt`X9MhE2>{T1P;bU@WMjO7ZlVQ3 zkdPb{#0Nin|Dxs3|7Q=pKKw5{Q&>CW^O+9F_&R>@FX-lWZ*EwW`CI{hzV+5y!Tnb% zm2ZCYoA7+`B`Y3!@PV$*Nq~r9O&1Eev9Xb(k3JGU$+DelwY>l0eZP0p4KOBud-bo& zmM;ZB054jW0e_nv9R)7FX3cL`u3QP@1|E0Cx4#{zm4Q!WXf`CXO|fLm?)Q8SFaS-DTN&Rn%>)enF8LwMi)_uR8}>(=&` z*6z-(Q%*j4<;9l-LdCF4U-`>lXUv!ZmKeVCz8~Ck%rVEn4+k7@zzN@2HoEi-a20)h z1Mn>pU`*`4caQlVGzg`qdH9$UwPyDb%EH8|nSvMS!?x@-~RTuu_7B11_0x8{dLy`S_lglE(G`gyEV_PTel93*Up_gPy5!lcJ12r)*Ela zXgu@GGjQ>bJn|DjpFshAb}R>8FJD-32nZoqt^Ur%$oClEr9IV1JIH(4I#%JGX zInk&+jbE)a!r^GG+DK(Gk3915+O_Z7CU|<{A8-ES)?2>+&_fR`U3&6etAIA#l}TnU zyW-N9{`ma#8B=G@oGFX(JMO&wjyqOu+uHl=v(Li!UU0z$b7s%I;l^uWE^4*PQAZuM zZ0XYfeEdJpIp-XbCjo{2@sEF=HEY%%{_v74p|&?PL#?{~j@7I0xntF88wfb^R6!3t zl#A5a*?HX2$GBL58^-$dQH&X~TJI-(Wqa=bOR@BBH}Uve?ehs$d9osZu<%|g;_zEEnYDwxHW{`5yMN^9SH@08`s&pqSJ=bm}?%~$_ksgz*S z&p-2Q6Ddl0mZ{SLSwfo+sbkSDMY{~;arp2UV5QA63`t=o5Sl2ELdwr}h)49!I$cgqHr zZJRWUD1#`au0MBN_ zGy0U~@uD9rAxtk&227xGhzlD0@gqpeRCLEg^&6_9p!*_;Wy`)XFwobT>4xtsm$I33 zvJ7)q$P1i=ED0=f;L%8TOUvc52OfCfub=(Z<(IDnB=PP$@4f!|Te_jce$VHM@mM$- z0dzrb-L$#Ab;_m`5mqzwW9Vilvc;Qdx4?l8*LnFmA9Bc#gXN zz8`+L?xUlRK6Gx*3)?|tc|mrgzTw3AO@|u$)9Fa{0w8 zZOvMC!m@oA>_hl0KxESb25ND&Vv$v=Z`-hO{mRQPJLHgq zdV6~=y69}c!cRQ;*y`1HXELc%PdjDK+}YP(e;rurK$jPQUw(P+>^U#I z@B)l)y-~#{`motp7|B4<<%^*WjK%%&pE0t;=ZSz07@EP17xhO7MA`u_gZ01o;)`MA z2L}g%8GrA4-$NQKn70A3KJ2i=z*+v{7r%hb1D6LsXEGUZLSV|l4S(;J8v!m{dF7S& z-n;s^<4zbG9)93~AHZM1ez@e4^HCHID;MoCQRFdmIO`|NX1{qny$yV~D-`@PQ2cKCdpj?k*AI=zQh;8%Ml zKMRRJyR>jKUouD?CF${S2gSoiqv&g{yTkKTc$e+kOTK=@)!)5dRdfxFI&2dUJnqz~ zlYjf$7nUzyHh189J3EIDfKta(e0Kk9?`H)gZ_j_u!m`#q-GabdgPAV?`F9WF+S9e zW9M?YefHTWEXkvzqt{=5J&ZE|kt?pa0vP1cM;>{>g%>{c)Kg(uHZ(OIiLU;^s;X5y z>-=-q{O-@;OiZ!s4()(xKJbtOwMymf*WM<8Kbgj#U;4e$sP40P@5{fll0?~m_BGdC z_1I&NZQHgbnT+3k_pRk}>CCgvn2xHdN?`6gCv`se+;5+I_Sb)U>5r$MdP+V!md%aE zLh@tJzfdX{MclH%wltps){eUfqTyv>4Wq~-HZIKu-AKNR1iQ=2GRg}8QY-KPQEkdU z^Sra%2oI*US}ZD>^8Gt+Q1#;14m;q~6ONtK)e2nbq;DL%VBwr=u3I_S-y=ul@85nM zT);&aebWU_=xd}WkR*6qRTg<9oKs8)z?{?24oDt znqyJ*Y^`3o`kJfKnfS5C9+!xxVDE!{UVOlULk>QykkfW-?~TXfk3atSSa$gMiGZ!;d}s@D119NPEOyvu0ko^0HT7`%|$rRvaz- z;>o8Ty!VNn+qXRav!6ck^Ct_n%6aFVHEZ^?KfSyLtl9SMI}bVJkbU=EOuFLp&;NmD z2vboXeCVO|>(`xi*0OHvs$H`PPe$ES1yd5d-fTft>Lflf53U?e*4trrx#dijJ$6}F)D1@s8ebp`Z z(5`sFS(lI|SIR2OPx=-w2-#dN8cnex3)n{#LzK5i$KU_y0dr^54oWg(NE%NuI(b8> z`aa&GzJnVo!eF=zMEU;g~~{od9z7XUezdbCqfW+I-Ef9F9;eW|QdU#~8t+fkmgdmVAlC%p^IMW5* zjtYwj;yYJd1%~5qfBoy@PyQ^OPM&w}ikoh{9XzqX)3vHLI#RgvPxqiNAX(rvKtUdP z_)(YzfM|>MJ!sa!*o4p_7=z>a~zT^C<+VKJ9aC6a|) z9#$7h%OFt3E5%YaYIklTFUz8UFz#jOq9b?GK?$U|jbSV%Rz1Un*$^2=X3I*=^tl6% zI@t0JnQ^(eAh6C^r!LL*?KtVkuQ9flAL)fH@Y4tH-MR7Ot1rK#Rx1;F{p{sS%|`tP zt8W|4^^>g03!bZ)@vvm0#6}EFgHlh_KpPe6(|%CnhFw040>XND2NEtiwL+!|zki%F z!1AF9Z@kA^;Qq&zM?9~2mVq+>aGaT>nk~W^8sLFP>J7zrh-5l-;ff3UhX(3Og(j)h zt8TB2l{LM(a^=M^i8R43UAhz|6jsQsx89o1XJHc!_SFwL@Su~9KM7zou&;OCe%G>{ zdw+P}KyN<~`BJHP=bfwJdtsXP*>_>juFYVDPCxy0h89e_2G#(!Crs9yxl>E!9Lx(% zfkl#GsZelPv=3Luk}SAL+=~uA#%Tsl;n!vZRUemAQ{w?tpF((xLdbwYiVyQ;Q<3CG(1lsm^+}T^1v(SB>6FT1RjXhDFfKaFYo3k-QJ%p2f?cbW zssJ7sipdX-9kl46`|h~!Ylj^%G+aOxsM<78L|!2d7M)+}pD=91>#T5X*@MQa3PC znO5Df0nUY^5sGF;vSXQK3chD(XsBGSf;aNeDYXfnP6|g%&owlQ5krCKE%}ute^7)A zt#Ha4rxJluPC))W+_9bt5?p+mav4~x=*mM9_{E?DN}y&FD7FUO$%yeDbm&l^*&gb@ zllA`p>4Ccy5Y6D!#4}11ARQcA#+C-12z!3BhaOn8d^U$NW5>qevcV}*IM)GJsJppb z9Un6%JrC91z&;H6<>;0vfn6bqkSMV%%xpH$+6<~O0WHEO1U*-}x+mAGHB~p_(HK}j ziDK$?C4fr!Aco%a8Mj@-HQq#!UyJfGT!hMiv!I$Ycy=An#$D#%6JTM$Eei;*BDrE< z7@Qyg-G|rVBH~-lCr@rvYo=}S z4BJc#Z61OBch6Y$iWpa%X;$b5>ty`?Fb2RK@39UeU8;VbFkQ6RrpAlVT9SQ8@1_$eyNf8{L5S(-;ZS<9h_jy(2NGS`F@kWe`ygf_$-f2n>tBu}B9!2VU9S zvSkdefA*~T8$R9InrW++ZPRq)@o=pM4l|cXCkBRwl8IIrEZsojE1@u7t(OClE8B9j zS)}P}*jgqX1?yKUm*S~(Av+dL#Nq1-B*t-Qxg(lPGzCo=9^cf_zuPCOnk)N6z_?R5Eav??5diAnVgF>)*L+E41C2n? z7hgw_9t3gG#-y8>-bl5IjVBXQD>=u9YuWI*ft?zaf(O!^*A@uS&Mm=WF5)2->SByZff5kNpDlNlHonlWPr z*cbRTKtZxBOq)If?kEBTArwaamUd&=-Om&r%rE4Ee4hG`YtIE|c|OuJqk@An3U|XJ zNX`#ML*-gIlW75S2~%9HmIOh(?FXxmKIX_oB8CJ2JR5FUH&j3aAAkJunP;9cXU=TX zv>exqM8cvd@B;2sgt3OMg9jpDU$?in4Gi`H`d+{Oy}7gJ?A*C67DLK(rBdGYY(PTr zGi*B))ne&bGOp<=U{KdGcu9ikhLM4}fN2G*0t0pMVTZo+&O0-vO#>jcdGls0EEcs5 zOI6eU76ZlHlcYpPYHp&7tmCeNC_aoeVr)()CS zRV@-9u2vnw5hZ~`0b9!UNGB-1A$^X*d~Q6p?@y$=;dSqVsV8xXlt(!j1O$3wLBNUn z+}0Sc_X`dUkVys-~)N1lksRoirQm|@rSh?ZEQ;rex@0von#YByLO zSRksQmMRq#04NsZNXRrb*Yy#cay(dv@4f%t5l1Y6-BDNT$xPDFm<<~~0f?sIeoLD- zZ%QO1s;aYeBrb~aI6@eWMm3#I!W+Ob=L$Ij>ta%p;2kBASz+ z1rUd-PiW6~QN|^}2(U^XBEP8jm4Ix%E24@@r&K{r3Xr#UfCU+-{MT^Jv0;jGMNy8% zVB>gOw~e&6Ptg?AFhZ2Vz+4#C7D!-3^=Z>54Gm@mUQ)H%jG0ri`RuHjvp@Riqt=f0 zNH}UbrW_Rr-LhOOo6Ct@6fUi;v#V4t3!F4<#s9TP+llM9;rY-1d=yMmwOkIQu@INTxsU+agN6l1AAPie z+b#sNjNLzp7fO&6g4{6a65in_9D%;VfM0mqS6$C*?QAbrssbM=s#RDi*-|#qlE7I` zFt%>Z(&R)0Cam6QXsX#cty|Y@(>5Zp*idHX&loOKU zxqt&0nr$9~k1yM=@JyiDMLDk+%Xz_lpp^|Q)5d2#XvQ6u5dlH+EX@I;9~>UC40HO- z8Eet>}^?VQv#Ffaf(z%$LZNu5C^ zJnSOM{g>AtSP*KDR`jIn(ku`Ez`*8^!?3(*iVcLcz>9-B&t}JhmN{)5?e5?ZEQ}VU z>1{}YSguyUD2JmFKqOPAPixfb;FwFrQfqq~;PgZ)87RGj->NoH4+f z7Ayb|(5&PCLThjwqVO1Sjet(D!jtFtEQ(Gw=iLDQ;!<)rsO? zNh1;WU9X`k@o22Kzi;xSZul8i7fb})MKl@)BV`yGP|1DvTLhaBNG;%)VyOiCqFk*; z;;22rXf8Wx%4AeT0P9xx@=B9`*}#UQm(IuCi|C68m1Yo#hD=-5rODtZz4>;fzD=um@YPJn@pM$;5u-;8K zUqex-SmX77{Fxvepl%dy(tXiIXWn?z)jxXhUO=a?E&y?nC@SYBlhH&n916pGO!#wP zFbsbGBahs3@+r&UdQB{eT33;BB@EZhnKM;Q13UyY#Z)jWu8lgB65f#=t8m9F=y&vHV>0q!L6I3ac~bv z!XFj;!MMVZ`a#Eeoausxp2REOqFs{1isTHHY)Kh}Jv=(v(bB1yTHo-<)aldnrTVOW z_pYd@pg+;pin?Gr_&W&*4y_x3?c$9f|ujmMX<` zx=mFZlc!Au4DDDv2BSKxCJ$wQ2m1)KLNcfhgQ-A^haeq%dO@SQ29)@KumM0ou=%c! zYB@AR@95}&U61wWn0UMs7Bh@NL#Ytxh>)z+^^hD-rC@#83@_2VkRK~{b#B{M*8JeR0cmDZN-ZQBRBC(j0!n=h18>9#^KhkBDzTx(mmB*|l=Ii8iGu_Wx+ z{=tEnGbS~(DiCQ=3h9cU&5w0;OwtV1wi~z`3qX`G#zu(H!v?8TD%W0n?dsL5kpg2& zrjXC45{V$BjammqB7wSEI1>5Y3opF%(o0}z$<6tatssfgTX-1j6W)3DcXH7!M=bNGj$F;5KwsgK6flJ`~&x68wqAYK=M%mygwq(Mbu5 z`UV7T3Bgha-Qr=bfI*MNVnLIxpbNExNlY{v3&ay~gJ&eV0vHW!8T^dLN(uCIVM=gZ znyfXdK+1z6v4BSgjrD?3H`qn+97Mkfw3``>08sB|;NJm=`^&3;ec(SHWKmN}RQMrq zaObFFI@}j(xvc{iA}88}Bgrk)*34&VmZZ@{06mS!5yyA5h8991=csyZ&vSgDDI*hD zi#@$ffYkntlab)lz!QUI2d@17haddcuby^YJJ7gBapPzhHNFE%icao%geL3Npz{Jg zkMx5h9~3Kcy)QN^!90xq{1<-SKko6*L82B$1*oGL3WZ`taEi<%Q}8|Sz5mZUSFaX0 zrc|xO!Xe9bP-+QKJJ$u{7YT)Q6V?w?gN>I;fjbBI2p){Zj=@8n?vRW*P3^X!LAFuQ zDF9!>9^)BU;V%G`|Nikg%RSKs2zDG8IoEb3P42cmf5XO&7q3{+(bZP1ICKSD&~H3l;J)mR$xc4nyL2))P-Y2FuYfb-?C^nI%a3%rj3rdHIQgAmK9# z+qB9QNn5tbvAkvL8$VsAqEZ68tvyvLW-X_|G5iM~yn{op2B0j%D(ya-@GM}|yo64m zR<2x$MARu%bJ0)~NsuRQYGRDQPJyjQ?an<8JV9P5zwz-KkN@$}jXO3ZGnob|DQ9># zW|>4Po+xBTq!4KlRZgPnm3n7;SG74RkKpvb!iw?`v6p(v|wBbeY zTmU&83tb61O9MayeA6^wlfcj#s2UMk{0R%ZEfi0S-E^%nzmHffR(B_^^cingQx_91>B~lx9Y@IY?8u(*@XTk1B0>CW8 z@c=_ha3^3-48uxAQB)6nGshyX2#a5x^W6+{LNp(g=7L3undgcOVb z>{$VrE*5uknvKZNT{c4--CdJloxSnqn|H2S1uGW7Jy-;AS&|egR*I60I%PPP&hrAS zF4J(LktFK1Q$y!^;LB`u#)MQgBpEf!&>BhzUB4ypfTa0)Lltnsd z6pbo|48;|sh*AeWAhV1$oE_+FYu8NMGud!7UMZDmj^tQG`y7i!(TgBIo+M#%VPsA@ z<&|Q?(j84}e{#nx$Av zY@|AN+0B2fTZ zpa@n~HFZ>v#3OWwR_iLfH5!h9xgjjaLy})E3~_TCjTf(tTX4MLzgll9fcGY8dD!6L zZVm_oV?N|Lngs~Ub_mW9;(m&sBz@GkUR$Sf1eNp>b*16wC<81t&u44dbUK~Qqvo)q z*)iaez$}Bk5uA>Dh8Cm(fX6}w747YP1O4c@$gu+*B_t6~_+||`&cUIfa4d@Q&rBoY zx`t!#>g}aiM$`3%rY54Xe7V$;O2g|)E|+f2I3BUHzgIwe#?Fnu#3=~a;o2@pg4C7#ZD^}I@5^A2o!pCa1?z^8Co%Ng5MHA-lGj{N+=V=BH(?-oY z2S$dc&7QvI_rHrqLP7gS6sKaD`tY#rx(Gb^;CtMv(lBu2r3r=3=9iM>zt9>cY$TGh zhrbwqG_zg4=v;#p*zBE6H4iyS)Yx>tgZ8`e=37dY62L)LU@G+nTzp6jo4N-4J{pe= z4iAg61i(u-jlO|_WI8o6HU?l(5=2dDzB>u3froYLxSAXi9oK>l0?P@A6UDGWzs;Z-H`o)NlM2OAmKUPo zaJ5#7M8XV9nzo7xVp-9!bWso$tr~PjNXApD-T=a?8Azbs@=S#A2_#Byd%D01E};ia zH+-Ci78D~8cs79^@nY1o?OF}&f(wh&MS_wd_@r{9wtKvS(`z49_fUdR7|mv4Z9CSz zHTTH*cRX{Cl~zq4Zo>o-r3uwzZNaYVM2-ch05k+#22mymfq1`nBdV;EiS=8z!3@Yz zUL7;JFliNiqCyY}d=@;hUdVBZVUG*O?@o^!eaMhk)^B7?O1cbuq~RvfyRDn$?N; z__v4%bqFGF^qWGQHft^=P)Lj@&LdIz65{`%6r*GvMEi#bDn)qXc`waR*z+#_722f7 z-!mR;#iy$bSrX_L=ABR8+2BZ|>XsE%ibRG+vzVfQb@grV*|s6#Cb6)OU_GRgEn9c? zfdvDoi1c$Pr04-CZD4Q|K>^O^M3kFSEZZS5RHh`U)4R12VYx` zMKi@R;Kz}Wgo&kB(-!!_!;e!z3l zNVTNkDIMDBRP#3svN6hH1F66wxfD(WoagG1D|yxPC>iH;h)6>ZCw9n+@F)d~eb)hu9V2UTtp4r(6;H-UDa<1iGW zskvNE!NuM?w{H)+*yC39D1*(goZ##~Abvrr)`X(|CEL0$fM5n)x!0uG1u^oVl3 z8jHkStQ5fjSjS(h8JZ+W9#XIYDq{$o0M9Vu;I?U;B>)T&U?9pr#coB{HA$4Qt_zAo z*}kJTlxQU8xHg4LvSAG2tEq7!XZt`AV7mQ=)`&=v;6=-`IEwQKCwLo@`XxM;V2d@> z923b_P`v3FJR>3%ARO+4O(LQ~N(PvLz@q9{)a;c)c*VmC-Y^RSQdyu~fc1F0+rG(? z^kS$Sw|u%)GyAxU6bj_;tD5J?9rM*t;ZYgtHx7FDH^ zUnV;1f7y%Z44?QSEcl{@+w&D%NJ%uaM|bC55acIYHY}Js59SL65YgEoQdvRepcLog zD+H`*5e|#f9O{j#91a6TRxFKYS(;=m$3U`CDCgia-tTCNHoMjEapL`s!B!*Gsg!KSFzE1`(2s$iuw9GdbB8;yo( z>m1MGWLA`g-t;?2nTR%Zg%`tz9J2Rse)BBK)uL$2vxBUKi4mJ9aKw>4#v@1_3rdX< zeb4Ot)n;LHAJH#&L<&QrbH&ayDba9!w3Q1vd9&)-h9vMJBWQ{q7GQ!n7mG}Q_16qN z5{nqFPK)p|kuMiex)1Jf7ifO46bI%pm_*OPA{MxkzA2l7;D~RcfB}J|M_^AO*X_6@ zW06AD;8SGu#LR+XZSbGP4Md7XwLF^HEhiku(?qURQzVCJizGZ40MiouGUg3cNUP8PupIF#ea;3!aN!~+f|Z9Y z4-?^#a2qHWjz-lASdAE`cQ@~?_LUYM zH{-}wKapmVa9tKbH;`Tp!-LBqiCVQ3jYVBx`VNI9oe0wbUw|R6;|q*y+6{q~JdY15 zw>3v$8Cbwzg=BC^EGlb4WfY38ghVisgsuTgA!%O45oUm@42>nZnjh|=G7OPt@fYbl z!`8JL%ps2CoarKu{|@F-97x@DreDw@+Q$M+afK;@CD*$DA5 zAAL(zL^@rtjJZGvi$M0-a9tIEuRuzc>sYoH5+u{LQGO{Qz>TBg7J`870Hzo$n`zkK zCE?o}MxN(njtWm)mhO~ABqs&eEuz{Iv|)6X^c+HU(a6X&0UOW+H_GCpKUHnO_lXj( z8=NTevMdHU?6_Suz->EVN=P9MKZx;TS={WHKcys>-)e#gZRpL%Cw1v$GSpa;=!PaKqWb!NHj`XZkb+fB*;|aFIByVsO%g zn=2K3$7OghQ_DB-Y9m zhHn5J;zWTVDb>(B(rv@}QTR;QrC?H~c1 zHkcdYd9EM(~Uzp*$y@ zNDqw-HB<$NGCrZu6VX_?R-M*01-`qkD!{6HdU{$~TNSlFp5{sJdHzj)DeG+(Uha9R z6ZQT6=U&<4bEsyP6RxdnmdR7FR7%-W0mU0d9=A~91VO6TP{Kc4v~C!vMxG=Ru{bRL z&h`#K_{%{-^2&{|2+=z?)*?5sL4m6PDXUFz`Kc2w{kpAcE{)0y5xECtD zdB?W-^XG&As8))oF#*R~mZOp?YK;o`fDY=xNJVXg)190sm`{q@&h za>*qN7t9Ch5W3wNsG1=QB5Y@qGbomJ zIH#&tfsRL0;6dvl7WfH@=YgrEzzX}QOB?JC3iY)P+*IiDx>Kw)>t{aUuNM*VKgbGRmU*}cS!96 zz#>s$GEBk5WvxO{tJs9e#(1q-CF7hwzR<836iEis0Io?jQ?18+KZXJfZr|(&V!uQn z<3T2v)D*$xi`=5_g}@CLh}HAiNz8huK#fEoOukxilVGE%8H^*pE^r52qclm)PX3EOruNw^nXmg&uXTY-}%Qn7LsK&oULCXEizU6x|O zpqEhxINQXj>);3g$6yU(6r1;PRL?;&+9<+@n#B6!4NcH2lY|9e9kn{5OQixhu23p$ zdb&!eI-?b|Y9tZPE7@pBhS7>8T8pUhrNnXJv3l*khaSH2swv0LafvJiy6#GEpj4W^_+qyKe36-@onEzr1$Cjo1D7!5<@( z&CsdVRDVzZn%}Rv;DQSX+k5WC=fAe(Fgc8jFO6aYuH)D=M^9+=5T8BhC%@qSQALeE zp>yz6pE;EIAXbzrm@2TUiAY~2k@z3}{Kwhn%>tYB%cuWq$q|RonmK1{&$ehh z(v&6nYRuU8KKHI>%%3Db7rkh10IFFvHSUl7@l!E|6(sOtTnTyfs2mCfMWLOOx?o=o z4Gg9-=}07EId-jD2}dFTWjZtM`D%Xc2k$@r*v}sR@gplQz3liCkAtbSZPM|*-T9AL zUU<)p$#EnTxVnFDJcDuh>|db=$_qse3mn_GVGO~GZ`-j|K#3<5SRB)K;?X!z700(Y zCeE^iYZ1>q_wxrIe(1#)e;5kqv22C_9LMPAyB%h zi9(p6SltA3Ly3Io@+($8{mgGv6(I^;A4PF8nL`vuLzsyOgr5V;8|0?>BuXQ4QPrPE zc#75lXo3V7Q5e)w2*Y9@A0=Zg3p5ul*j`gB#N+MoL0#>w8>@o^$HOH! z4SgEh{kP{nZ9ic0f%_l4@vZkidSVw5BM5~cGDP=^b++quxlwGZm{s;0iBX8I9!9QJN>|60|pd+BXg*@&C|4?PqeV(WCBFdX-%r zvG$Uk?~Zk#y#~vNm&>_Aa#Hf~pFEq6N*Ap-x!AA|UUKNrV0r1u-+c0k`vsO*zU-#8 z@4hF=?!dr%io)uY&9eMeSKqPX;&bNhGvD@W6vOEn_t+E9+`Z~<*J^z5$vZ%Ssug8Q zcj*88Vr{LF{qA+kC=u2(Ju)zM?bWyb{`bFb>1?mpJdPz6En4=s*Ph?Bx$ns*etG}> zKiIl$ptUUuABao8QMo@lv%nSYsMgrQfB>g702CmD7GDU%d15%!FtnCTt7;g0NCJnV znZ&N`#NBt_|LhAlaSU~>EK0p2LFO8dr2~g0T8%Rl`qMHZCE{_0 zqLnd}VHjp))3-vDq#KQJNMg`_*Le>@h0RAGp(_#nX` z;iEYhAy_8JcJ*l&@i>;yY+cjLC`HAX7>raXCZ$6uPbD^O*<7hqPB`v3!tyS?@^S$N zh-5^LYgk%uZ}0D3c;Wh+ZrrkE%d&4S2R{Vk)z#Hi%ocn4dt$NJwCU5bqob&mIpM3S z`qQ8O6h10fEe;F}ESkTMVcW+Zf85r-9qnyxXP$Ky{NV{Fo(M#I%hs)5Kj2V;r;a)1 zn3Y#tA%*18v9bLYF8aS~{_jQSTmT#F##?U=g+iM*Z$5C*{_v|52?5oFuU@oh(aufV z8JP>P8_lBFq$mquC=I}diA*nv>{NCF47R;YNb;i_R|K`_Ir%rWUJ5YLZJR3*&c8i7+dmgm}eVChO zf*M!T3_68Rgwg)zXG7C@9(h&^Wy^T|L;XNNyE;05^Sj^v;upUdDUI2Vv+ur(0C;`) z$+`u5FUXhj9?q%pgT|vl&PSl?@MVWVfsEj1dnh2Ri>3X?U%@qNfvd!oo$kaR1}eGu zHD}BAZHpEymLsZW8t_+l-Gh__PyWWTY15{KqY;=^*hM^U31ApTS8LbHfBzeJ+tW`! z9Tvl#ciuT;*39Lno?@E1iNLpmY8ie3Rs3uLNf5H93ts0KaS$4z? zPig7swR#e%I8vu|ojI9Fqn{4cK5`Gaa(|EDw5svZgC8C7y(4!P>TQX3-||?EmpPf! zdEy^L`s9pwm@KlgL)!3SJzE!Jl4Cfm&BlcU7&IFkq^E&RCnUH=6z1R4?BKBmZ;xNZ zg0js7^6?W2R2LwLm0XEy>C8kE?VLSi=R&eH{MYL6Z>xksB)`@%(p%B<9uX&wJM$o4 zbgQyaCh9yTvax7?|DZcS%=%X6jP#U0t$usn9q!0KOwl;Qflz;ZwmmYoW2OaI*KI7R=&4r~DwD$8@9C^}Ei903v z<9R4#plOJk0o6)H@E4JI#G}cvd`^<1o$Xz;PaJd1*#Jaf6wbTg>aQPq(xZ?3nB|G- zQy0JT>YtA~@wynRF4tVy|CO*8x{(}kg7BgrtP zA@=MjfV0+AJ{~7GZOecVg+e0FxKSw5vVs_k@D5tzt1BMLAf}&)5pDAu`ht_$oZ@zgvA)0 zrY+fY6un_FagN})mUb!AhAQA6eCWZR?K{9^Gg$2e#%ad1nW=R8Z?C-a#%pgF4oa9o zB1Yv}!&DNfB)s#}jT?ZDivp}CA{vjuh>zv65ji@4?t+G`4~z{GrZ=f$lI0maeLX;r zfKP`aaw3xivhtJve6+Wxr>53m#P(UZ&$^8towW2s!?dov`aAJxOsO~a-fLkUwWmY1 zPhb;w_Uzd7@kY1?p5-J)3`w%0)ugysX;fe$<#2e{=&qKw3`{?ZBU8mSn|2I4qFj2?0s`Uyl@c_Ep+FBGvgSpSNrZ;Wbn203dP33I9 zx36#U-itrj@L_vbo8LTj4OIAWGaKwTzSR9U<61ruI2!zng`klh3%&xZrW`zDXW2Y| z!k~f*77zRyi$oSIT)1i5X25*4dShDGv|PR*hr;vcFNF6DkBxSBcMlH_cc+p%s%7_8 zSKt4j1N-}XYvn3S^8JH@(`QVTMcKj76fu4VRRGYK_y&^F{vP9rO_7IFVEzr?k8QR8 zIrEM0%ZsPts7noOyin*be|vfP^5w8vJll(fBc=(YkU>L9OTMeQu0zvEoRt@4U4uP4 z6YTHs@Q(J5nfKmvYe))}OAU^bWGUtVr`7aGI4p3XT2)~g!S#q4Gv;utAn>qLERL0D z&sxCJVo-nv{|dMP$hz%%NFSFBU?kkR7w|9GbJbcU9Ezcg3W5$rBQRIG?btxMIrei$ zP(fm5gb$fTB}vPbY{emTwN%Ya4(IDd*ueUTO@s(FDfX5td(E3k41d%{#5}6IkSm9H zxtOnnLeiA3Y3nQNW_Z(gj_pbl$+1c<9ZiP(P>hHxM1yolwW6cM@_0BIP3Nt=p=xB9 zG+Y%Q!j8+MVbORRmY9~P0EmR>bh7*SX-R+vzD%e@n2Zt|i2ZLm zSTzfLk{?UuEWv^i5*Qh-=+OCx_vH$%Sz>MQ21Kk?wmD_y;>q7Pue|2k9;@hPJkdFC9#Je4@M|i`_YdfsxAY29GM?&)CK4{G zhd5R>h(cKfHXe@>PF>FxES}+j-xDa>FFP*T*3mIMQZ`M|_r+t6yY4q@9*l*F1#_xRwb0B8LGM5J&o=YVHX^1v7mLXa)lWG+^7KITb)M{bx1(~st4}bQP4@%`iID}w(r8E|c z6V*BqiOczlj#AqVCmiEoHMg`APe1)?RVn@FlhOtes=#uPiiWm*UA1qqN^+8p#vk`ByCz?1djJiq(TLI0;tHe znbSNUrLTeGN3KCa-I!3DO&ds-P2$6>Ao~xu(&ljiA=-dUlt{f5|s4Ci)3NLdmpuJ+j(0sO``6{$szl_C0vtSTbHQ%HVH&mUNNKTJy{)XlRSK zkvCCq{ly1n9-sMV1~!}R;kAm;9WpKWGr=NSNbr|;XtHG1%&OHEPIKra&C}FIJc{HB zOxq|F@+f>|St2XaGXM9t{+>#uKH2bTTU#4^P9WB{b?er)DP18xR5Xf~VXC?oog5*M zwg%eh;Fw`oe6a5QQmJ(4p@*iEsbojylZ~G+EH!ib^kgy#UR9kW)Lm>K5vX4FEr%&$qU>eX{ve7oYuTHaJ>Rb+kgE(AnJq zIwHiM2;b0{2nHh1IBL7rRdnt9tEzo`_70HyGaijKqDv zcr|{rZaxS~kDmgd2MjMv%3gczh0pBKzl*%|(B1bPxZmP$9RH2|7Az!ef4@TyeEapc zFF5!7cmMw8*1jEcrp_!hitvfI+;&r2OZtITKiYfm1z$gWNpqbyJ5u`1a_T)&UB?p+ zFg^aV5&mzU_soIVU7O(}p$`rR{Thu1+=Zzl2|ul&1nsPlX&_MG6y@#Our_F(6Hy61 z>b-$9_{!BXLnCpb^%y zV(5bpKAb;)ez{cW>PpcR%b~8!@Li}^IEC+TVg!QY{}4DrnuANwEz>~(C=^kqXxi~6 z9MAY5;mNghCmv2aC6|k^9W7mCfvnXka!jC9qN`orwNBMMJJyxTR`LW#r0Dea%{`l+ z*}@#dIv?4+lZfN4K8hG4VxytW4{gXCmChFmD0yo$As!|k^tA&&-MFdrasfqu4k2b8 zwjjbsQSBHoD%S$H)O7yi2mgVg!Lp%D4O z{I*@6#%6~pm+60EC-HS+L255z7jeg>w-F{0S<-p(1;-L)qBdBu1(OVsLPn^&bxl_+ z-(@($*<+DVL6#Jj!}Ef!(Yp_iC~7>4);#*h2nVPB!5@hv!9=4;_=pf0a|qHgnV6XT z-EZIe$7}C?=Zb3_mj?f5(nK`E3=9yiX|<(Vr+375Y~ArkZ*J!#IhpKm9OBo{{-L#N z#^M8)SQg{Dgl5{DN5`V+kR02#O_u~V-7%vp&As|+_Q41hE)|`~6^EwJ?i?CL4Vzms5uPJn z{L`BU9=f=uHX_lui+eYBPMNx62N6b{|6rIy0Jeha*OQi=-PgBu?wnaqJ^R!2Bv~`7 zKFaF!W%y^u2i}++8H>%`3x&K{TGI@;Eik9(q)*@+j|i&Pkx~$TAOQxP*^1o1Z#qa1 zhyoU9;9N=v_({c50CyIZd^94n1bg;rD<)q&)gLkMK5NxOFaCJ_hoAmG(%u73uCnSM ze{L_++xC`CuaE*pKmh>-U%^)dv4pA!qBK!KI!F~1kw{VL5)c6eM5+h^3IPM@A$>R7 zcc;(XUVi61_s%B4_`baV|9ti{+04$|dG1rr`JVPYf8YFu>sW^`Jt7lty5ZDY@A=Ce z6UB+;ci;8&L(hV}`>R)f)z;pgFBVQe<$F8@9{l-Zjw{>aqxnH!bwq(Nd<%sk zCcaBF355yl9$X2KB0&={$ATpiY3i~ITafH#!JDjK;gQ75r5$lu8uv$nC(cFwKn8R_ zVQdi6z9+|H_K3l;oWx27Yok$)xkYe&PeKxJZlpL0)-c#}=~SwJ>&_FtdZKRBo11b^ z{_&|RuDD|Jhnp%|sah$+o=GQDb)&}0Sbq=5miM{mo_c2Osx<(tPCDtNYp%ZLJ7=DA z#%X8N>QxZ^3-?Fb_^4!#X}P zS1Y`_bm4)U`?n|K*};)PQBdDq`Totf-hBUk4^QctUM%H#K@bH6?iV?C1#}lXE^3Hi z0|l-mCvcAklTP+}F#q<-|L_1gB4Ah*{nf7J#3FHkVn*FiM1{xdYV_s?s@{6XFONIsSl73I|NF<`{JiwyE6Yw^HgoFCuYCE0p7w5#FmW*| zal$P>x$*RGpZe3=u0Q_s$Muc%qpyPYSEfO22Dzwh3wfxSJ?-0&wbJ(+wA&x^v6ruA z_o670q}P!*4aQk5S4f-ZF}8q!z~XsU(`u;{CLal$fV&0BE_D%UE}6mpf%dL0%dlmU zz2dT~2rYjN;@yB#w`|#R)RCW?J8$-e_5GJ!dO1zoGzSKTSQhs!NYAUUyy{O+J+GIskUq$v;SCLlpNRRWYMrde(_-fCN(;P1YwE* z7_b5j;>ap*NBq29ArVQ4sb#;KkfM3B3hzkpvRx@8xfm%C){aS|QPB5^mgLgw4tVZI zf7$%<`(&InkEB6mb||f5AB@la_L3t`{Nyjca>wkYQ(wL5Z=b#5n2M{t{rv0IuBzON zC6Rv62ENf!EbJc_dTYXZ5eD}(Cdmb=6RZ!0wcHva1BT-*zs5(oadRXS&DKo|45#he zS7y31B|utdlB16}9yI!2ZhE{tbz;WZ3#!;-Hs79WAAWzJ@cQ8VZ_PGh28oi#?!6C@ z#x^qlPShVSmA0_ zTMw;&pJ#%m#MGRp<`m7S+#Nh(8*vUV+({&$H1Y$zDcCXDk4b(+!w^i9Q{Y=Wn4u4g zU-`l}wrt+4TV5m%xQk4Tkrlsv5O&}VH-6_|?-p+R*~3pi`A3hf-FnL}3HIQ24*ksM z-dnTNbohD|%;h*Mkh!zx|LdKN=b!&QVi*^nb&+b4_3vyt@z}4$Bgt)jI?l4ixGd~q zudRFPXAeL2mYe^uZvC3;ul&hVf4ECkNLNQ|OSW^}n%{us^ofIx|IFbB%-_Gmaz;JJ z;e2HBS7I^Ku22qmLg`#lQ6mn=&4ygJGM)v~&_Enz0dcK-V_@kgz5p{|xOu=&S6%(> zi!ONhyXT)XYfdLjBTShbg$q=DhA&k~Gk{1j?qTaS;<@!$R7xb|ty>2>JK9Z~yz%B+ zkNp0(Yd-kL*jTNpB@XYo6MkEkkn=-&5#eBlkh`{T{3Pz5sxPN;6%QAv@J0kY&HL4=b~qad-X z^$HlSaJH~#J>hj7ixsJv$4L@)WQM~I(h`6OA6T&s*^Zs7QT!t5gMuKX?C3~#eCCs%eeB^UovLS>q*^gy zBW5!#t2eGKmr7N;oX*5eRx4X2N#q>>)EIW6tV|w50wQW^%z$_Wp)7$ufZrXLRsm7Q z7bdg_8gerrl*hKAG;Zq#p536`AI}QZFNdhtb!>-aDZ#w0s;ce5yy&r51m>$=uSy~o zBdCHpI5_CJ?w|ks=O-TjLsX95|M30GmoHzxemxk1V5edW0LKF<27kf`Bv_>$HdZ?M zw3F}q%>$r*WnR4U$}6wC@@n0&U;syb{xeVf;rFMUb}Gy}9G{>GET-8L$1t^2HihgQ zH02(ENLo#@*nPYN3LBISU^S7&q_cD~gX*8U=a9hJ)I}`tFkpcMP6S{pi;8Qxk|4yR zQBe@T^k2uFeeO9wzVs5kR(s)v7mhyWn0p_-?^8z|4#-cpkO^R5c<`Y|es{(h-KhkeF2B0>uJ|$MfA`cAoVy98`dHj2$ zq>ouJy89WaZKyfKc)Rlf(AGiLlybSFwGDuVrt8h==2$$^*VhN<<+3ZUeDn1;T07b| zuHE?Q!w&#BT;w;md@`9`a?B^5^88j3(qC3>$Gz$sq zl0WYFX;5a;jS%`j!rFnb?=Sv{7+Vj-KNk25zqe)E2`H=|#*Jqvntz1{;rL`}wd}`G}S1sOY)GgbQqEgr#5WC<| zml*3I2XJt5_sW&=cK_ZmwwVFg}bL`)oK{`uzEPj9;ACs+Pt)v8q^ zh0!m4^~hwJ{N(Cen&PROZ~RW(AUEB7-I=FeeAp4qa)Kn1pM2!82k*J}{^r*G*RI)k z+t2T~_kqg|2P5m%$6C0c^|iPCsne%-c7q!BZI_Hs3}`igwWyUxherff^<9oKlQN=*C2|5Qdb~{2 z-8h;=Ip~x_p&oD_~DP9aJ|~AudSamXU?rZJNd>N zPv&@%l78o4xj2zyY^AIv(lj@O6D*6$w9zqSsANel+dMH*O{Qb7z5eQVzjv1HlT0QG zQ-1kn%XjSPd*aDEs&x#!Dv=aSc)40gCdna(9`gM2&!2w!>FeI_6GcXil4^AbjIu%= z?P8WuA_AY!yQbqr)kHk1Rtlw3O_wA^uNz>f4D|0x#S>uS1KeRKL0=-3s@3W+4<=3T z!`xq*3IOL38ST7~5}Nvh{Gclo5wKzt0}K&GdFYX!pMKJX2hTZVNp#Mf$Df769u*U% ziCR-8$0qnvzD8=~#_MhY_4dL`&uhhcI+kHvAuhzXSNgX?d5H8Ax8CCLvulcNN;DG2are2odp0I0BF*-0yBcaJlM^Gp^q$P8>10B>~= zw@@hVz*%F71*QV_<(6%j3*NMO8vqTKnDcCuR}h5&PVpUpPlp_K@Efna!SUkeO&@}$ zf8ciye7JG_TW`G~Akm}O)6rehN?^h7?CXopjsU&|eIHSy6|FK+%zHssY|5)1$aFY6 zp-_G$fwZN;(bLr20c;+eLc&E*WeZez`oqIl(v*OUMfb-lND8oC)G5g&OcJ%N=m&>sHyo?LAf@%B{4gUe4KCmU!E!WM;1P~1&$`B(c}^Mw^S*qQPp%TSfg|< zJzN~F8}%8fX|UEmzvXA9VO7oA+SP0Cy8CY1a?;sMkVOEySWe0|?birr$nZ=NDI(~U z(q`j9{sg8Xc+MVnyGQkjM;ac0k9`*;3@Ys54)FYd6~V`vUk}9_jZ?F*VS*B%fSMC< zz%ze(=InFMUbt{UQ&ZE}$jCkS-1F<-+5OSl58V&3OXIbj6Eu zaEjR&CknjGJFHRg;H+dEHkWAi3mC26v~F#oR3Qd2HCIwZQU%c_lOjkg7mjc&mDM(G zWHFo;Kwwp!lL*P!l3yZQr+Pq6-(MmavT|B`1JR#iD=g zF6L1*hB%a9umfG?gcnQ`fIjM9xJMt1!2*d!QrNk>R@%0C>)ZooXT>ZGvQ24o86!V1 zVppu%s^THD59#UX(YdPO>wr#TiVETzgi)XdLUU#YhPP;>=FOfoXo`42m(ir z!}`K@WDIG%4wr#-w4qIuaxBmf47Rlc@rcFGK0S9V zr2<5@e~d+8^K_au2BHoOZrdV~+ypY`&WG>bw4sllYD*BwtABe@U|LQ*VShZL5dkbQ zMN;Zo3AAaDQAxBCwybeTZ_hL^aH<+n6h57bZP-+N=&t+5YCHM|CSpqR;fMav+0lFR zP2WS6M{zkagCU0WCi3Kt<-hpEfr|zQ-hb(ZH{07f5r;`UXvjp0@DiixRX`~q?UV61 zh?s$0Ly9OhWt&0kH#fD8j1IN5w1GHHMq(h!;7p}cQP3-3$)N9znlwRAFH8ssGH?CR zbIyi=AD6?Jh|gE^m2`UwbjhhFpZvQAAGl}d?OYiXTB9xMf`jIL`P46i4NHdHf<5v5 zyT8BSpap`!Wt(!p{M8-f)sgR>eWu(RGfeZ_=bbfo$=nrxdE}9o9$j+K{)t>>qBidG zY%WV8Kee}`a{`R+XX3xTN?+}RSh1 zy!;1cy?oK-KT773AU97t{p7=sIJ|du@7pU^779f-lL1Qwq$E;eMdXgowt<0NhGih9 zimCuUn4ok5x@B(Kw8=%rDlE_FALyGuYrjxKfMk>v&8!898*s=2{u!|8$Hzyb(M-8g zJn#JPfr#0$W7}`;{Pl5P{DMntIU_g;Gw;0nHtY<&TL1Hlf1W>Y zzrmqhfE(Z<0XsxP#WJ9$gJ&$034_xCLC9XUX93mjp0E7R&#?0_E0r+iTD7gYZDL}g zy$$KydwP0~KKkfPYsRS6zJ1o&plJY?fOx6sRiF0q_An^qVao%IS_#yf@_((7+eg(L zr8fyLg#`v-@(HUblCIZbSHpqn@82~Me87;1PBJ9*L!NL&l__1QW%$h9ci#2nlTTJ_m6#gs>FHjuU_nPm z`v)JaZfR-$>tCOtwT|A36%Wmr(Hl`!$Az`?n{sK*DBpYEJ&PAFP9>6+Dt5+$i^rnL zpa1+;I6lGtx$gR(yz|aKVQ5t1FbE@=px!U6v<_xpMPe%!gCoR)XDK3qxeQ1fd~Cn;AUgqy zuqce%hDLH^E3*^+wA%ZSw2}|XYnWN;xHPJPZKV>o%S(POe)ZYcU{=$o$&^K%Bic|~ zYi`UR$HOPk2u+x;=}|XhgTn}kfIx(W5p>#glqE=q%Gn@l0rCn6;uTq89WL4(h4JjF z4eesIxe)zL%mY@H_4e7SX@`rxm_~g6`PwPrC zFFrTpi^m@xjgr|j=Iq?Q@yO2}ynfxP8M6+T73Q1goo4am8>b(g$dPR$J2*Mp)7@Gq z>@>~V*w{dEqR;op_s;(M$ixVuL>IkQrSizC)o(5O#ObBd&M%#CWF{Nu!4?EX&r(Da zn2}t-7)}jJESzVk;fb?={kLo@l};4$6_NK!<@%B(vzC2*$(AkTH}~JXaM4`QNXu`3 z@ak)>9G@8a#qwLD56>JNJbud_#RMk zb#0n?R|6Krx9z?|!4(rF8{tZw8onb%%_4UR3ckJxr` zA|JF>#D*g_(j&%VF@OaDK`o(9=&`Xecm-=B0}niEQZN-9Kwq5X3Y^UX0#GICllw2} zZk=W3&1NnR>STf)I_#7~W*y$!+175>j8b&G`%|sgExdB`#!ZV3Si&?rq=|gxj1vz2 z)WN$32d2!N33~hc*I%ke#Tui70p~|zRi6@Qv5Fu1|4_dKNl}E*mP{@UUJ43=0-Ax! z)5ZiI30+bous5lO=NPKq8J>EzOx|-P7eS05L@b}^K2JPXA(G(n96=-j3k<_HO*@@T ze&^d~Ikqiu?1$SnoO#9>2QFD$E*4X%R9j2aBM(0~G&DrJANisp&!2;pa;(6$LRXPrmxkS2RnrJ-fBF zxme4;`1cp;P7TYECiqfkjO$Oh~>lP#ICE_DPgItn; zp@V$AM)kNa9xL!cVjDJwS-SMVrAwE>m=`Tx=p!Gdam?qALYmb|9@|nxVyIvdHmFfuS^6#S>8&ZMjmBRf)p8AVZK^2Gn^1)*DX?w!I*Ui`EMu_z=ZBYelooQ$E*So)}|Q zlb0h(wDVQ_ZN0ZHoSWF7u9ZbU`UCDg?)}++S~Qj`#GA5mi&)i*n=)&gGwJMIO)q;d z&pc(umc`qe+M9;zLuL$X;)d*TYQTqHi=fhi1pdgNhc5M~WA@kX)nw^=I51$U5xwfb zU?dkaSh+DPUv>UPE+Vy-QkAQS`-^Uutt=HJi|x&|ZyS7HIg=qhew8t1JkVk9Di`Zj z(i`0%?MNQc#P1(zZfhQ@4ccAEA8fUFMX%oRxn6sJr#e!dF>U%5V`ri#-8Bm{Fx;r? zq?j5efL5e9n1~S<_gg?)M7>WW0P^haVehen$nJdJ;829Wu&$7jS}P-Vq&=OEG!2c8 z%Sl&j*M*Gv1q@!FTe6f$0V&ee!+fo1(y8z^=Ip5zNIbp+>4JV;!TD=*3+9~SchTt zz_Sgzl%Whiv>CilgJc2iM8j80QL`e8)pAKz#7a3IkBY6Wss4UFkx-ug(<3pNELu4G zg7eR;R?KPBdzxBQ(<=drKJVObf+gj9wOEur;rP$an>`2A1;_g{W;UO8>eqAGwp??3 zXt417i+`3xrcx<3=TeV9{;FtiI4-XcT$po0Wsv6N9MgVJo__pS7qKKgv&*vH-AgGCwc&T1P%HmiYvmW7Q zKoBUANDw>UQ}Bg#-mc?g&Ky8nkN41%B0CrWWmy?^22Z)3<3xq+CO87;aE^_fjY zLxcTC9r+m;C9F!lR+%?A_mUs)9iA9fQ zYe!Z1i-$$uNnQX-w(qHmrIw5oNg!P^Ivv(cyu3JicJwTu@hVceBKq zSY{2V!S(`1h*GHpxYDO_7-WoMIZ*sygaxh_FYJs<$fT+aB*On8^DhuB3`l04HXZ9| zYc1vr-Cdo43th*C;q5lJ~+mY;>Z-qM`iwQC0;Ygj(mnU!*l=lu4z7R(MQ<`>ML z3ug>aOGK4(nKa0SpnVb5b^_%UV8U`MY%aDt;U+9n43qx;PkDdz^LtY=HA(@31OxOX zz&*l*18ibxN^oG)gWxEZORVv3E8d_=gEB!^9Y!TfR@ zD-z)y+VH}*u&-6Ii2Q(RM27FCG{e4wq@)~JCz??Ux{UB(KI0v_e!%)i8I(aBiy&^1 zaIg}U?3>utHN9(08*b@nuauA=Q;CRxU9n`q4{qAK_m)=LOPPn##+~H+z5imsnk2# zn&)Nb{A+ZFQ?e8`+SbxKJUk@C_)4*)#uL27ioT?nNk#sv*gQY7%>r6X64T@6POm*X)z^5VNPAP4Ds!cBn&T`?5_NTk1UwpO{g@b+ z<7nZ3P&mWU$foOBo^3@{1rA6oCR8h2ok(B&ql>?J#uXJ(z(7JJGy&&>*X2}7b_x-_&FmZBOM(b z>(;GHrPCYMuU8ZWj24QrS821Y1J4a~-uz+!c_$)L<|^x5pz$MMJkCQ9-tPG?>Ht zHr%V=fD{J>1_nRt&~APSR`IHYcLdPonpGDhuxLG20jXzO2FNP(f!U@FM*qavcz%40 zazMsGycY@+u_WRH7ff%N5PGBgf50|8fQVq9baIVA@B`(kkw)Pw7g8v1EP0~^KKF-!_#K#Px! zj=(jML#c|%=b#jAOQ(eZyz5{CFyG;-x{*t#v}y&D8x0Fq6yOMK-|p`2TD3g53zr|m z1g=A?1e4`L-lSbsOkE2IBC^>mD1%*t1B~xR6scCz1XjYLbo3GVu4VEtx9~f+H{tG{ z0KnfPhwWqNE8BA|-3NUXkIG{sL(R>tzH7sHWKjbAx2u0U=z7z{c8K+QO{-(;Ud$K= zJwqGJP$FxN_O1PBYoh;858p5y&C>o+--_Fg7 zf>2tP*;=iDwbO!7t0GwzV6aR&S;&t|k^siU_{gxVDyY(FgG;{=#sIx3$&|u8KvcWS zu0H-u($5j<$NdOo2;Az_!{$%{$8-2&!Zx-M3Y3d^Mc_GX3ji|GvJ3+>x&S7qg_WgN z)u2A11RO>eJKf)p@*KDB{_v= zOonNw4?wb&ENRbJZ6q)AvTA|ZTPVt$1d9cm3QUPuOsZ7JGEJ#%gYQHMK9Y(?d?&{EwQ5O;Nu@%~wA5@emfyL9<%Gd{Un<=a2k2NR$ysrHVkjX>qK)LW zo-ReB{P@IhESD_Si>$zdAvsd(&*d_*FI7sT)v6wkWoq?Z)sh%b2&M8k%`VqD!2rbp zDwF5IF0wse4;mPdfEpb4q2ps100X-5h*~Ma#uh*>B@;Q{ErOjT3GrefpNxr$!jBB? za2*Cz!{Ff7M4HRRVq?38TuZRMJnZUZOmTR-UK{2(!?oN}1tfzQjin+AJ3hRDFeb(p zc{>_O?by0Cm&*aJR%FkE=kENgstNCcx*H-{$%h)c8g z8Otzh4E6te1dbKpr|O1Hqurf7ef>M8Pn)@R&FbmB)5k|fR3!>i*Wcft$)vV#-#%x~ zoW8!k88c>#j*O&IsXFF2Vrv0pgAZ68U}p#(C%Zz_R#nU~Puh;DO3`xNO9=6(=S3sx zuu+B?Z}D?ramuV<)eYYzt&wIx5td;kxdb~(R7+}#=Pc~?!<2`Lt!h*d<>FAeM{W^( zK_ABg#CRkVSOK6}ICMjKl;{g2BdbJI3}6(Cut!s=CXlU|(7F4u2RQXP&tdQxd;OsL z7Xauxa71~JkpUA}1eV{GeZE%H9TTRpu6wl_F{wHPtW@{WD32julH(5#4#D@fx3`av zkM7*LU6cg)eaE(~mSw^I2I0PD)hc*HpN&YWxj6^l5A)l%W7~`w)3$8d2nu6lWUQmT z8|34Lp{te9kARXn%nja?Up{1HWB>qB+CkIu7yD*Y+ffxRodATc1z%5fk!bv)*w`2 z8HQ_gP<0E~kt|UEepvY*^c(!xBM+Vl39_}>V0Ct%jG&(xV0xY}jExkNaXe6jv@~U( zdFD@l`|GRNSW?Hv1*)WA7HLpzYgs{`Kuxd3lSwQF;U!oR*bj+h%m{&k5Tp>o-NBZY zX~S|a zX}T?VVqD=ocigdbfs5)E$4ME>^F`U#^rGK<1l+!FvbF(g6BgQ##3-nPieBX;tOyeX zzNXb!f;Gcv`tNSajHRKdM``OaYW;@~^tXVf1+bWRvgKx}QyvlqVlA<;`nbwUP1BO~ zs^h4!if+ZHMr^Ib+T~~z+rZciTX(<$lVpyo7RGWJ#nQo=Pz6RY>lS8mNbm;DBswn( zp5dkCG^v8@L*m-HUp1r}oK|8gU>&ev;c&i9EbJW`iNQLHtW2qjf;I5y;2p|DArk-J zyJYQC{e$fcx+r3f>Bf*Y>J1jfD)ze)-WpIZns*!rBUNv3NG5w|ygXNGSOqA>2x+w>;8cfU)GnSHzWz9C6 zSZ2!hO{1n%wjHP1uVqs$qxoT8W)f+oZ`(T75kNsoiZ?PiAPX(T7skgOF!xbZ0&0*k z(&kzffd{l&vppTwG_W`EJbJVj4hFt4M{IbokGKYi!D_L{0_gRa{6smO%E1-NMHAp} zI@Me%R={NP8RNtCTQ+Z4+mf3xK2mc@5fJkZy)T()^0CjHZo8FKDxn*mV^+5A*xAw1 z5>HC`{FtT1-+lY(t6hza|aDOh_x_#T0uC6X!$IgDkBZHtF;0#Vo zOw5`!YhYjiEWp*PS5KWf)u0axSr^c`8Ybn!=8(W{u9$P1XH09(Rmnt>L`}?_OTgQB zVyHy22oK0pBw|G=M>$m_0(OTNEB~j0wJ<*5pnKfxGCD<3j6!jje10mXhwD6thuFXAr_+)PS`QZr(YpZ zrevOW|Knf&>q`e8^eNYOI7(h^nC8r$Udy$xdWwcu1Fj^{aIgtlnvl+jvXXH$?Uk{n zSu*mypz9gnn!pRL=TfIJ0I`680g$NWVZCq|Gz>HT8{FVQF&ndI=}?%V!F=SE;F-l$ zhGWNX?c1K5k;d)#<_{J;hKS*}49B>IFL*d)EvNEjsE^AQfAF_M3O-pBX; zhw+ff>wM$^8V1) zdt>u>%4}&`7ENLZ9LNsc0C?^iBWHt{@;=A^pPp&VAiNi5uQ{Tra(FJ-*Z%&u`7@`{ zR*I;Gue;`2=9-@{lc9%6HjTX}pz#a;Z?EjR3VR(!cn=7m-l@~*f1SpAygi1-{o4_4 zz(_)Rx;nzlNL>BNucM9(dMV6}1XC3dKMP8lS-bULhfVK@sJuormcUsSgcL_}fLs@p zAbe5*(-+$d2BrV0NFB0|kX-(S7qkV8LR=L%&~WFiCvT8t=uN;C-AeK_r0%mUqw zeOHL(5YCZgS`6(oS&M?A=9wrP~k)Ph#(MAN{V>8iER;0Cv`lhQiKDb z64rkZOk;#Sfb+n!H0dpf7X^c)Q!Vb(=fqJt6J$CB2M}w$QLpj?ZhtBzcIG-jU4USb zEN1bnsSL7%m^{nc#4RGDD`_S%#&!r`vT|8SW_>Vfv7@I>M8>f#UP!ox<;tS%S`ijw z!VZz)zInre5m{W#AqJKa-+1wwobd4HXF912q5|EmRplRQKO1c7SEll*)?9UXY{ndVCK%8 zq406jHe~@ew&fCo5{)bLpaqNKP%0t1k(m}+FpL!4bW^gF_C2t48d#2SrE;ZK)m+bv z#Z|+oV~ou;;_)bG0kAEwGjgE-uqN>8A-{_(2X0ipQM!uMt;m_<6VYKMyfoKLGO#u= z4iEsVz$tQh#&>a{coqEwZbIP{%Q00x3EL9v0M2D48Q>sim+WK=Ag3-WBEy2ligFB? zl4eRu!!1>{YEliFS9@Bul8B`V991}d9+>aGz_B}^t`9ie>OPq*-9u%T7GP45E56A~K z6YL=jb6S?oi6kP)wqsd3K&@Clk1at(Rlu?smX;O}PPgh&DOS@fQ3X(}8&jgR#tSKl zkkho1uhnX8ZEYrIT*qLixpOI%Y_3C(hhiL#YyIUY;7=m2q}lD+_rmXDUacVhwxlD$Bmqah?YGw@$M4op{iw*mYHCS;1@x%oU zJ;_I(8E>DjPtxOk^m!kti?qa><+gmdv8SV*2om6PDmlHNQ@w$8Zl3Abfz7Rm5zEmD z&8$*HSvTvR?bUU?Dc5QmHA$8#<%wuC!E%y}&42M>nN@7N2s;HJsf0y03jb z`@7fTqxZs6);3yS&oi!tqMKo{64>@A%>fs(odvxUNWgy{melUiH3{s+Jp&875dafb z?)$r6ro0P7LxU}?Im$7D5DFv=wvxi&QE*X*1OUnl!%0E3#S7A}LrMU&%^E}n;jIP5 zj41FO(RtUm;sh^KyIO8!<=C_ zL%i3>fur4T8J}&$V}kYsG|$j)6lLrdJE7BsP?vg0V(8HnCQ46&Rf3>DeNL)#q|Qea z5NskkJwV*hVb%(!Fr}lx;m+kVfMFM<8@SmfP4HjdT*5@fCsP zDu$`md^PFG7C}xeQlEScq5-=?=kjWN%w7D{x=U_J0Xb+ar>GE!fH z8j@mQm4OWqRil_FBgj!f8846LKnD_{yEXW)<>`tL(Y2zYioxL$(U^qe?NE*ZSV++V zB+84fYbgSV0x%YIo}-mkv`t-5^%IuHgfYBHZV3uKeHM&W4tBH)N*&Qac#v675INJ- zz|O4ItJrf^5HWE_jA%61r&6hiq8NCN;TJFkgGd}7fLU5t;{{AmbZ_wh;6zmvIn~h} zz(I-6RMBe#Xze@X9&o zooid(>#x5xr7H_Y>XOBaV2I~_@9ZD^;QMMU`-NlwYxBlU3l}b2@w*kABt3lZT~}Ut zc`T}~Ui$&a6Rql`T60FZKof{KvU{^OHaI;8^fkcr7M-tPrf35j4$!?rV~CbT3=g}B z8nO_P1Th+muYC8tRqwAo``h1vV-M(Lzy0?It-S1%Z`^dl4RE~+&OiV8=bwuz>iUiA zg;+wb*Rq*h&>rTXPb^*e-usrJ$%6XWir-&*)wO~wyz`HDQkl%IzMY31b{Nd>q?1krHLNO9ty+mCGB3UG;KXl0PO@9`RY73nn-#!hzyW{;-QCp z>h(9@0+j>zeZ^&${{Hum8k*KWFdz#uXj4g!x|ZqNo+K)Z_uGHvd+*AU^6b-3|MHf%WY#4kr(kFIcPVQM<_`! zZ$kw`6wVm@^`Z;E|I0gWgX1vRKQL#`qTVSz`Fy@ot*&3cs=ck1>cZeBe0-!4@c;Ti zY3;clGpYF9#>+5I0hu|40WL@|2TPkhH;9>FvQ4OeX%GR)_^7eF4?A!&&g1Rz3U(=& z)CxgnIIVj3>spoO5b!id)1~>EZs19t(OVFIpmw&vnpdp-m`hFy7%j4GjV?2hp@>MCZ|e;D*j4kD&y9)ct}A zBPc7uJxMh!V(0*JP@?ZlNmw922H4_>;~ll$O9?(HO3$unDuaSZA2Vk zit#q%ngrwVB9cO30)fqAwk^8xVZb(0(V$2dU59cv@D6qCQPN{C1bZN)9X9+O#Q^{w z7=R3SO$#f%MlDHDzK84M26YSJ$oF0LHrVGLZRrV%WiT{@m!M0ZYwQ~@Q1BF>Au?k~13L#a z;fzD41QyTrEgO>~F&%)5Na`tPd}GzBHK(2W&F`G`eU1|%stoUl$jaxAIijZJmn~a% z)|nS*TJ5f1-~PLYS9G+^e(u?q6*Xb#6;9x<_{p_jJ?Z2rJyT^lstWNxzw~5Z-;VE| zdG19&y71i~djk|dSg@H)W_)~{P=`b418n4jgvVRq zC7d1IW^G=QRpRjF@k*ktY0HMKufF(K0=Ba2l*`prHcc?>=Nt8^5{*l0)YJ?qsw88n za(VoNb!&hA^X1Px`x4`EM;-BnZCkg+)%{T6J|<-fY^Z-0CJ*T25|d*_}9C?2kH z;#W^O>7!G={*tRF%pRR1p3Oo3E% zY4HkX{$u$b>>A&2d^;YEm1`4~N-Z_ZPc(A?bI+T1)mQRF?hJU*UCXF;SLbJXY7 ztl7>9%DN9exa-b)Ry^{U=Q};!vvn)~e4KKpFP_bkH_Whs+s zHZiYXPo}emhRN-)fnkA0hX%j+#V@`2=0C2u{K}u*`Wv{;ZNIn`cKhh?a3&c6j0GS0 z@WYMmUEKt9fFJaSZIo0@=Kp{E2i@U8@OiISgZrZGOh{Pd6hLH;XE-m=|6vD5Ch&aj z;Ts7m2?B>URiJx09fEHSduxQt5&C9u-Xe-BV<{ktDlDTw=18BqUcHbW62s0&c|dvc zk!vBS_B7y+k)qZ(KS&4ff@d-UK8mlkJ| zmK|Ww8k^NpW=V_*upxI65|FvG?}A5d)Re1UYkgy-dXwnRaaee)6KUO%cFwCFPJy;rB_}qm&V?B z>&@G5zde>vL6@(1>`{?T&znDg?b@{r2m4=G`Od$NJMOEhoGex=$yi*HBWu@fgmK>g zz>4$Fy(E*3h!R(>j3?COM?5d#xx|Y1Jx*K*SUlU%DTgfVI{~*FQfA=!0|{R&mYZ8z zHh;LKy}jFXOt4ZSk;vFY9y8c>?C9v|036WM(-V)!ckbL7cKoAmAvWM6ahagu9)hX5 zuEoU|kyUi!ijq;)5^ZgMt$ffX&pmZ6{21ty-TqXRhNKo@?+OB9ZqPQ zGCiKly|(f#A}JNU2*5d>NFw>&-om{>ZxT>fdJPutAToz%E0Aje**diwX^RTSQbfsD zeN&&fz%U4KJy zA`fV(QmLq_B#B(9R9drU-2qFHgKzcf&2T$#ta_$QWq9`P-~Ogl9Fx^3A%<<~u4l6X zN3AHj4+3%+^j`)TCtyeQ-+Av}Eo~i{bQ&eDDBZq%IfhYCnD`R~^yz~+mdG}_jtzG0 zYp?&4LuL$b!^RI`gbNlfc3mr97=Uee=x2_C>p%1KQ}JZtva7BRU7L-q7<#Cw(&FTO zTmR%gWafhm@o2*d5g#(v5`!fq@msfU9~+yPz28FOS|4s2@jTYG(I{aheoy$g$$(@sx;=3Q=bTv}Lm_Th3 zKkTk3Ndirzrba))Q_jWfIh3zr59LKY9SGa$)e+DJ9VHvzwI{Cw^;h5}UDo1wWN`Bt z!y}R_c%H;NqR2Uv1`>V09Jc!QBOW@IWEM?DYPfUgB(!K!254N&=Lkap=!l?X(l90H zstpupqYGJMr?b>qv3qHl-E3EZ(gEX}p=5ukavhFwD6|tDRs@C4GAg10!qHv_Cd`YC z#vW}yi{%XXZ59&f@`B63YEiQuRIPyNd#vdbE1VMiHp)`TdO;A43AnBs895AEg#tr@ z6valgf^u8?Oc%vAnC*O$h+tC22;_)JTqKE_@NeaubJOG4CCJ<%hwMLX`gDn8H*V^OEmka7 zVo52P$sT;@G5Lv6S&gmVvgNZ!opQlN%QWAeF=tjPn{(*`C*oNU%6?D^%y=O*VaQ$u zLH?wB61@}xN*k7UJ&aM{1D<&>KX&#F^z`&@-MVf5f(5(!htlbEDPJ;l6JSAqfB)Qh z^9FY9g5OuJTnR>9P>YK-L6c!EkLrFGds~1x?19F$tg6VVL{ewYoUwgJ9~@!R(KvyR zC6XY;KYi#S|NQ3~UL?cAeU(~m|NT48KmWoTZusd9*WYl_ML#q>($zcl4^KU*D5_&S zk^l-+;pmyN3==a@J=ZX5OAgq7`;N_-bavgkHBC)fSyd!Ofxktg@p<#+fuMqq`=Ekd zji)+{3D=UPnYRp`5Zafj4$_b*=i>8c;~C zW!W}{8y(XOS|ysg1|!ky6~i#fRZvML%X6?}L`5b+ivfh3V1f#k?aFdwWOOW-%W+63 zK&sVBEEa8UYYq8iIKEyfMs7CK7ju7&m4xcdRP#DyU)(#R)ndX%7`V{4hNDr=`8iahzfq_B1vQuq;df zK^BWd3aMFmzE&>9aMTjZMm?|2vJsBs+d8^7ZbI-;uj`m+fc_Fp0{?L9))+=`z(lu$ zj&yXI1LoQ=+uXOzeWs-eNHn{TL_3%bDqjVGlKIfSPXZAnSyuDK3Oy7u#cEir4!3C< zRZyTjWqM%{s(G|Np8>7=9}@q(eZNlQnER*{U?$%a_>d<5Ptw_p?btlhM4;_>;z`H< z*Rfwb|9d~$_~H8Ap1CMdysBlJ|9$N7ul((8Kv_ehTT^j38syl|ANR*+o<>d^SWkrK zqGp&Y-`yxkX-Oi#_{FVfp7kx_SwT)4%@kom@x(L?@_pRbzMrXTXZLuG4NbdH$D$#K zL4VXuoKGVH^eemu4NoJQvzPO~;c{fW5IB%Maml14Wg6gV5_Pc-Y+}H393D0#`~f7p zM~lDU78{8i6#SqUC-B$>F6+Sgyxa5%%yJSW)KDwd!JU9EJxbVy<--n#s(=Y+kfSAd zNVMS5R?k$%^HeP~)Bs)^vv;Wq^uyH;K_%B1!)|H`pAt3ghCbL9j|-{*0=I(~_AR4- z3Oxs*)(K)QJoT)ivl2RQ7oqbkm)57Nv(cxg;A+|?uaADMn~H@&d|(n9k6sqIe)~L zK7Z-0HwvkAB|jEVH90js0ph7zBRs2(59gv0yuQyBM#j%r^a;%ukNn1$zjE;zYATCk zl?4+Mx-ox<#efOoXu4!hsNI8IMCEe`jVGzJm`1`Y%QOyxAJjqkKBz2TiNtl?O(Zg! zRUa!5-E{=?+VI7y1_ld_cM#nmk{Br&WzazB=H`j~Fqp!Qk0}ZPsdYS^5-<-=fW;da z8J^lTtyrxvGT{}0XQaWg;dr7IhAb(hTI}a&D^eOcqNb|vHBPU;JJ)T`bLY`4X4`=w z+m7cDKw@IKQfX>x>F*nuIdj&^ci)>cYwpPKST>b`xA*n+f%X6H%9Wr`!RTMIWCdxk03yIV3H_tc|;F=_;t5*HP7ug$bxpDsk z7r*|Gx5|1o6>l4z*jcRE$(GDSE#KbW`JMC6B{I8puz%g^HKu8bAgMjyvUJn1WC3Oo zgsGR!#I#!ZnP;Co@W2DttR0&&CA(?UmIohrWckm3wfweU!MLA!cEuO|>zG0*&-iXC zm2^ElAON9{0Lfy)zlYvBF4XjRMgxLJ*gXQAPwcV>S`s-;cu+|^yi<%63!|xY4vfyx z;jxGkK@BAEfNf%GR5vi9eD>L=O4xk(ChX?58uD+8_Vvz>z?M;7DFSKT=w0seSH~R)-<(9JYkzop;%NSnARsn zV>`Eh*wfp)aPa|0e)ed<8LmriyX{s^lwb*3TAB-m@~1w1z@v{otVYtYSiDdikr+W1 zX`@>V^@qZerQ18m#{>Hl6IRh0#e!+wuv8^N6Ed8w+qZw}Q%7n>v99TfL>h!hwO&2= zQ;X4kLEGII%jL202^gEM+sl7-%XhzXcD|V3xM}^p_dT#-{aVYhMP9Z&lb)J}aZEze zQ%($m^W-DX*e#&(p2=r?qI5AVCihu_VI^G8!62?JDN#)~gDX2O(F`Ze$v!MPVmCMz z^jkPjAc4GNk)y^BW4L=iGy8r$%qt^%Ju@^w9yXE=TM`93%&~Nbc9b%0z>89)Ud=VP zwzhX9)9Icmb3M-*8z1TH?7s2ln=-jJ%hX)g5#_jR8@5B9{mYAR1=~V)%kg}%xhY#H zRgOR5*cB`O0N;~H#11*+;90Y$`P2vRO={}NQ2M^_Yv0d!1Q>RY3WrJY7LsCfXkH?G z@o4ZH8I&3%$IN8W14EeIUiVN|1`~l&)c=U$4}NtBnM}n9RrI7wp^+F!|HcNMsmANX zpJX}20zcmh^AFJO2)xu(nzQ_#%7|eDaDxgIt|z*fFe_L-M~Rei6pT&ZVbE@SKH?Cz z#1Mn`We^2!Xa@VVbv7ju^-yyJn^K?|{A?gu$>iv~hVz(4_o;6*_yb3EW&nLS>Stua zU61Tk42*=B^aqvz#$%%2fw6p~7C@^RUKKIQ9)c>Gc>o55%LYCOJ`AyW_=-={3TOuu zDJ`x=T3TER1zMnmLV*fJ3RJM-0phZ|SskCbF7G-2duOwO zO`AMlpZEQ4m+547cIN)=oZqqEY3*n@`;2p8W7(D~@S`eed}K zjrC4gZo{!$&8VSOj6FywMUIrpB{2Q}{Fm3Rzw!D~wPd-jszitKL+MoZfCJ}Do-_%z zf+#XyeDQf>W8>a??(@nke?&pdvhxm~+uqXt@++?#al{drg2aiYYjP-#htp641%v3? z8-+A9kk_MR{)Z+63d$fG8AP~%ejS>r*;=YG9lQzDX0=*$tc*`#M=aQvl7Oi!m^gst zh-l7+Ue_(QlIzCVH*P6ZTHm~Tp8=I`8a9uv2*TD7OTsobb&KOTT}Kv*!NHuWM&X^$ zKKuMdt0v+pkg|zH3P!o>uDk8A``!U;wJZk^02TI8_3G*K zBdX)JW?V=pOi}fwf=qo-nEb*JCpJym)Uc#-2%WW|N<)js-DnX8F7hCF7P@JeAiLAA zmv+?KY}UOD!Hl|f53?W0E*?|xiDgV03^8CAxi+>`CCUCIO@#?s;}Y)?vCjjaIUQv4 z1nIpj6?D%HW7xr{P<~?rU7vLK#xOl{xRKXEmpgRekYG&GB>;4=L6U-XEh# z0m$(P(-RY@x!_wFg7S&@bA#AF8CQU@{krgB=zz2^Y)2M6kj!nIMRGuV5=20T1BXQ% zK&k?U^DEJb;Rav{6Vb`Uv!U7N5{>MV-GKLi1$%W3MSkjz78H42m=6_rE=Up>E;mdC z&5Uq^1>ppb9u5+vw?#tXk-ZAVA8to=mg|hD#w95%75|c zGtWPJ&#Qj|*nan!=S4QLPezUw0_8rswHm2`q6-qD9NDQV}&q zW3e{|KtQO$%rnGrW?VWfQt-nyB4xStP3zaw!ZxiPBRie=Y*?eFTZSo1ah{^FR1ZIi zF=-ccoaY;|#JNr5cW>WVE4z6Gf$#K}3*IT?D1IIv*>E0U}Q z7a34snApKfmP>_VHkWW5U*rHaFL6{c`1y#jXrSW(?m&>)awPDv;tQRBBe^3{` z=g_Xh;@Z0mz-iavF_l!b!9EkQEQN7(5f6}b*@c&!c;bo3J+HfW-FEkBXPgB_&)s+5 zZB^WIf0@U^O`kSs2D4HTBZJKfzzMB6BJx3)2WugSpm}4SEg+Gd3!kmz`+5XQ&`KK2 z8gW;0WJ>s2HIKRBqT;(|T>yEZFc0EjK@(t<44j9#FfPbz4=n&2S%8th6}bjrsE${m z{2Gkf(lnCv;DH`jq9WpYo;vI7Q|`O>ez?WH{%%m-|9t1|-@owU*UML6HVS+?$05}s zFPTWl;Lw36VW@Jc(AV38f|T<0stE>qkb(rjtdPq``J3Oq@YY}7wZh%cW>O6mO}p^Ii=Th)nMWUa01)8& z@4gp{B@N9c3J6a{A|5rY+O4|uf-%S9B5V{J}gJ=2RR5=wUL%;Pc}3jn>kZ9;A7<3^%_ zO&@7u2?d!`b(BEn!H+4bZR#|pAKeUW1#sw{G>W$HIwf6XPAUk-1$ z_S$PiQNU~x*Giy*$0@Z9OBCegUoCy_z4uN%{WPL^0RdELI*Datw7bzFsr$6(5ol!# z#uWr^eLwtrh9P>1hZAI2v?x%v&D#!RJCwjPjzfC_CGxauSg^6N3xUm7KhWqll{q| z%-pzpvA^r^5)XH`5BCEBP7GBSwqZ>M*>vNK>rXWAWJl+5Xuylib$!< zim$(>cGaK$+?(1;b8uaX_}Ep1fB=4a}MF=1DVUipOLzk;Hv~y(rl1jwF@ph=hsjE z`X{&lSQQf|pK?Zb&*}}mYtK0Sq%+Ps^Wlf?i^gI*&z`-ZdyQuqo(&@b^V2c4(p5_? zS$y<@M<07+d}sUad+aQU{8{IoLb2|J7oWcO9f|_*RWC9qA2O9G@!0y5R zng|8}6JTaB{u?ubVFUXdt}G)|%f)r;*Y^$#RBNS(8g1)noji47CY9Z0n{BSR;`?Wv zapuaEEBE-$u8w0&pE-Tekw?D$&O29LxrE~cUQ$T$tpl=tw_SJs=z|Xrn|lbLtt&3S z0IYJ0~7=&;h<}-E`g6dwpkTN#a^t8qYrO3|JRI5D29YT`gB5(Kt*q*3@Cj zE=D?#oF8lDHBn&8MqUtNrCJ^{)-jKWz4NYH{_yInU$0tbIdm!>zw@?hAH4s8yY9O8 zz=QTZX3;#DsQd1H?0Y94TQ2D@z3{s|cHI@`=fZPOrhFUrmxvX_Y^hR6Mx&ac!44aZ z^>3p&u_YbqvCiE^(sl`swybcv37XIoc$OBX&6vK^PCFiQ&>^)-`GgY}j+-#fwGEIA z3ReCR93GU65uX)R4bW>l8f}q^1NZDopG>JF=@&edyolX)@y4^8K*6QrLgo2?flJ8%pBopV|d?RHuU4_Er zDO0FSgVLD&(Ya@XKx=AgUby%;GIoyAYFs7_lXSp>1udU{L2*J?rGx=?MIEe^Z@u(l z&Cr|MT06&0phU&e3!v_3UnbN@zV2%1J;B9xX#bnkAfsIj3;H|ol!b{A49N;YJfX-D z3^{owh@eDT`1wzNzHs4@Y67e+>GDf2eC@SYJexl7zyqIn{KqGsdcshCux(8H8E2i& z^Zbq1-+XiaW|0*iedsP-2O~k%EIZdfP|24Kt8)8om%-BXuHUe3ef!}UNaE~fQm1*+HixjW0RmzXK=Pu%gB_B|Hs_0_Y__>vse#2` z(+nEjz}U>Cp`oE%MvB$7lQRvv)%#zG~&# zTG?K_c)np*pM2)tbfdWB>T|o+cCB8w_M-DIwp{bKFFwNXH4th~{pLP7W-qzs+_&C% zOH`bD9=Pr8zyIAat+|ICN-@Td@3`rAzk3!&x&5}=jvYI8@;059IOljxja2f}6E+(Qk!Q78x|%u2i6Hgydofwcq&Mz zpgB@ujJak8x^SsTEU{$Cl2Ww_y1#2f*ODuiz#autrK7!l%G7NDxO8`;8=${`Lt{(h zetYj1O(xVxw12R_QIei|`hKDX{n@+ha#b?9YSk*svgXY@+%RfaEcyQ5|FH{AvlAvy zh$j`rt3rB_@$ zY3c+xkP|vPrfoNqqO4-2m~Cj*^=c#*GtC+U0@d|IWF>?1S@FFp>>k~y$P(`((F7x@ z>eJ6WXc;BYcQ@U5)$u1U0I5(addWm|(&X%Jdv0UGR z*Z%x!CY}1u&a)#}yJ7w2se2r)6oYBE4TT3lWroBPfkU+3a*6m|7|I_Gw*9+D>>T7e z3M*TdULDMjYiI!^{~_piL7eax6i+e~R`Y0(XBx7~Jo z`H!ziigd%xH!l71OGy;>-ETihlyA7{hOfT-Qj|s5eZPF_!E9sJw6vzSrkiiO@%?w_ z4i$0>k2qYy;$6FLoeX=G!vnrm<0AL!if9f8{6T0rpj8ZF5fB>~*_>#j#^qhsrDYi= zoWlH8&vR(QcLB~u=qSQz8~bVta2JTjNJx$Kk+P7Nm~Y-;IG;q$GC>a}5+3GY+v~1t zxSqgpwq>%c#PA?bEyK_xMKp}6M0hP>>(;a?&pSLXlDpniUen)J!y`5T=Jpd#H%yA- z9T!vm(KN+8QIcvGR0#x86_oeGp$u;e9=G};m?{8aRDGic`71UKog$@GnA?wm7X~99 z{HUM9asLzW@&ElAN%b(YjaCrvCpwi1=oaw}m@ml5QdHqpL5xwfZj{SXDt-K^r>|VT z0(3`9TPvj|7A!heNj6X%OXO9A@ zp(BhQ;h>_vxv7T7>-!zmfZcq|vB$^L3B%J8iP+w|?EBt_ z@3u6x@vMC8F~>JFHk0Nx>eNXyIEuUUk}Evh8|)oC=%9l*hAmcdiD>%4`yZMzd8#7F z7hiA*eC^@$=I^`DKCp40`Sr6s-Mz41l8N+;nbQdNV(QHY{oz0*vzh(i5C%5bb37-I z_FACM%%PziScU@w0}V~h%a$!`ZR-G)FNq4rbA>`7lgWUF>gedm<#L^!oyZg4(-Ri{ zF~m6rKY-Z@kYYti1pwJVCci{nrdzdaZRU&}XU>>y8aC)uS&qz{IkQwPf|b1e ztnJ}$3*~$~7C>K{&Szz2}~L!Z1W$+;#U|J<3(0(ZlA=2iU6_l}fE52>kpbjtne! z%R#34gAOxH$in#xu|b6r)va3F zn2vNqHin(85t=!kyW{Mg3`>tCVx>y)h=ucQ+XRCf4*BHC6DLoeOd-Xz1C~i5m6&_z zJdz?H+MYRg?xCRZ%6cUxN5_vHXV?Y_|9hvNcABAAKuM%ii6a)wCse+eV9)XV;R}y& zZ5_6kZP!f4%rrFSibHS=Ok|sa|8cfmB`L#b@WE;U!t({cznT-|m_-5Tvko}qFp3r7 z6DCZaJbubVH1w!cRm-zf^~fWRvV6%f&5D;-RQ8x-P6GQcUoNIIjmIwju1nbfn7TG} zXVU3;M;xP@nr^!wS20DO7KoMOjkK5Qr8P_#$Nf)_E(5A1mNP4HF{#G0rIOLmL?`2^ zN>!spHxY@?ojX^EMk%&xQD!`q!pbC6GaIvzh8>=!yXCeHUOX1*jdBe;mjh){H#reL zii*MrJWe_K)4b;PHUO7<@4vT4*__B3Zf)AkX+Gn?>UT~WYncuw(p969&7{(M?rz#T zD5ph>7U>r5`CMrro`5rQa3F##&#K!f!^|F|Iw$_aMHAL*LXeDQ;30e=co*Oi%kVzR zM#g5jqM>mTvP?3B`BIP~96HNfJQ@z=)eKIMP#l9Mt(5>i&;nA?d9cfeISDt_${ZsS z0gAaoB)bp4lSSS-!Q%jl@~l8>x)zZ|pAjVmohXtVv0VdTc)3!FM^g?V@AX3e$M7P2 zTL*9Q3MrF8RZk)E{d7CT43`JNTa-xBh~065nyqr7(yakkmX0 zV+;J`7&#s_{9p>a!h8*gUaGAV^CVc`Js#dkkn%3Uv z;T{kaT*hc(!Va^|Qb7c@?Yf;)rcu09tJc7-i>4CI<0nv&h;QgLFYJ22914rSG)hux zl@b`Kpy>8JbUwU-!5~@D^7%=-?q-)N9LrDNb3dnC=-6&23dA*bo}?Ku!m)yhd8Z($ z0QCB{8}x_Y=%1j573pXftQR553?n>b_@vataU@yMP2I7*Xe0(oLAQ-L2hI(GAeLwE zvf~~hu(PcL_dS@nkGwL-QP19C+D@R_wwtbSj4+h%R}{r|o$a>WiI^&Et}v8HBpNc! z(P$jrFm}v@N#n7_YgMZdXY~lkMXdkOzdhQ1K*|h^>xrP2DA)qw8fkSP({I z2v8`N^msh!Bb_8KvN6NfK$(eB0>*EeRZ(mbBjF9Xz6*8_gOtS#*zU1NhF1|e8m19b z6E5NbAIrQs9?or4g+KFZS`8+MI7L&oZF`IWcNveh!KalgrV*{%f(FYyhW9EhRtVF%db^2vbsW3|Wx~F2Fme88#!s8b@#) z*o;P8+yWhCg(%BK;gj;dEz=P-#uYt7W>|yLk^iD)qD@IfPgBK&j~UD!GSmcQnPHN8 z_(&!>;LYA5_diT{*>eOj1$UycX*FuX^i&O9j7p>)&=De%YgR46=r0YnrCSW&3z*W8-SssLqVED!OD zMhThaC2Z>;NFw1W^#xwU9#g)p+cil@rpRe38>OfO8_bXd$={5g^S6eyAgn(nw61Iz zmM0`Y$a?QM9&$SaN{Tf$ffWyjRL6=b%Eiv!SZ&F=9?yzs(NE9n8-Ue z00J!Z;#tMr#Hb1{3llVh+&p9#Af9awY?5fY+2_?Et(sIKyez83lH35@11gPhoa#}64QB^Fr(VwyG-0I5?_f>EhHl~#!uQJ6(V`-KX1J&wyB(H}SM^#L9FU9}Wiw^I3WPU?E z4UHPE-3T7T)*kSNbgI#iG?;mKNsh_3W$=XKOKfPd4b1M6;wc+VR2Y8DH$6s*xH>>k ziAZeDHgrLXyN)F*arpjHz8FuYXgFc2>YJvLYV=HvPh<$4KL==%F&qX!2E+M|#d8W8 z>ZDZ)s8XcvXFYnfg&TD(X6Qo@4 zKra~O@OmH^N8V6q7O-JH@W_jF@d(=)@JvLIu*$S%=+$zqxvjOgzkl4gai4th$(W9D z#e6|gRJZ}q`fY7(@Z$LKw?~!9M%8?c?MYj22x3|ZLY7s_K$yj ziG2;YEVG4ypA`vf?icJlT*qzVybkj)26QxQSCPS2^N~t190%|js<`|A- zyvJc1nTCP-uTo8Al9f_f!MrKSw5@Wn)ZE&({Oe`SEv<&G!#m;qnq)cyx>k)wY}10#!H}cat)Qle63mREN|8upAU9C0BC}gejg+btk>iI7`9w5< zv;>&Mi2VrxA}nLsl`B_{8#e|%MAI~eM>d9HxwK;0@;Qeb3=k}r%fa#(ng$Eg+ua?B zL}47M#w@%(G+2-XIg@D!LdAtbE}e;MS`CIaFwoaAW*jDP#^RMqMG!^Da*$a~j7y2O z&(>Ey==z9}lNG(xHm1E&tQs{t5lh*6ji(J>@T+!(@sBem8b~KFa7v zsiC1|{kmn@R0GVWnC`AG%^GGKxVUwk{ z%$*xPBD=t-uWu$Oz;WE#wQIY2`(UPFE?`Yf(_~40Od=I87b}LPx3#o)^{j7cYV9BF z^BljqwW(`eH^>F-qJ+LFR#oBTd&OcA`$Y)?7K{Sof>hHX;wXPP@59;{voP zc=WKU^y;L!EQMcZlkQEdD6H;YKcH2?`p@U{A{-TrbTV$uVyd>tiLS_3eLJ2_=PN}K z>1gX>`#27vd`ajS?r$qFkf@QXLU5{osgF`)VWc&NOnz9Y5 ztSWM>Qux$$>DHFErC)xLZb({oO;p%QrG)r{3iW09NOp_weOrJt!MeagfGq(B6V4Pi zP8B6g$8{VkbX5}q)8X>Py5o8)uPxnIJU9H|q!(~~u3X29#v)&S{-x<+zLja}uImdD zZ&*R>|C^r^BqMM6_x@KNX~Nz?QQpS0Twh;ou1&fa2HAfh`ymOCIpoN!U)KfVi09Z^ zt(Hv2K|+GUmL(O|rCh5H4Gm42G^JcF`nH1^>5UDjb=I#3kq82|r>7?ti-F{%kv6*) zi$p<$!j7uxny4yYef8D!=`$-8IF{KomN~?;E-;_asj5aG_-&Q%`{{g zjvmYpMPe#gZm_hDZf7$MzU_hBZtG}SzT)e6EZNwU%?%Z*wQ?$%F)cl4DGp-+?E~t$ zrd9NhKesF^$VozuiV?d4^%vO>9yKgE!{3^YhJ-0B2k_pt8~`V&SSlV(a9jn%(dyM} zCr_R{&_9H+|5^<`xv8lM5WvitGY1C;!TSI5%P+zD50U`zG*OISr{KVe@UR1xV(5HR z!?gbXL5Yu8p4r@%Ef+w+OC2o{FcF%Ye50lT+6P6bnFc({Sq2oLZkY`U$)((Z-htNE z)>6LI(Iz;S&WT)&s8zN}f(38q z3xmmI67<1@iQBNefQ=z7vsSL`wfjC@ed|-HlwlZJwbs(o1RElfh>x2%Daf1zKmtGk z6fca~V!(}W2VcwW?uS_GDEaB%N^$6C7Ox!AN9o9#-|;GSW5b<5bh;eb5R9~=*`lsMl> z=S|%aYiz8vntk%+uMEDS;<<%N4==_jhR>w=-k$a8nBe<5j4$86t}Wh~%Pm(Myo#o) z{tA{?DqIz2$fLRySv8Fug9iZYzcSc+8ctr@ zLZRa@zOAyZVixzDmOb_0?b1n?speazwRm)?Ihrm{sx)QVK3lasmPrBN+iv@v@`Z{Q zM6~IRkAWX(%j~)E(FwSTHJ5MAVI1RFMlqxkyAo%;d70gjDP5A!yqZCpkV;5< zYF4?or~AYAK2+sMxm2sv`i?qsQBlJNB%gft@h&^>HdH85BXxh^z!+Wq<12ys$3ESv z8qZ|X>9i=wu4fZTK3w-j1?r!00{l;+DqFsGH^|11@PAm1F z$4k4kO9Ew~lZhyPs;+<;c9-4u=pE>rD2T8>!4i{Xu~w^q{nOOYjOCbyGtrm~rX$Eh z$9G|8X$JOpm3g_pe_(tEssO{*I;T!9t~=-9CG4#10OOoiuzL;VpI3#kNN z5&^-GBz#Q2B~q>43CnlTz6p6uhATL+eV+g`Y{N{GqE!~2x~Aorb~>2?BOKK3`t|Fx zsVvNMR8@jre*lp|LuE3Vpztpqk7IcqxiBG))B*!`aWP$<;sib-aPfS_j>S4SY&C3D zOMswL#X>b26}q}g?d@4H9_i~V39(o_k|-3=GOm~|$Hj^@Lz3iFYOJZjXkw-g5Cznh z0^d?D+O{LKwltSYnyM;;gF{UXtuRJ7%#xgdO#}Ke9#63f+tx;{T{je${jgN9)wu^nT<8ivUSm0zpr7Ug8p*vye%vj$^>CN8m8MLcwze0g z80-x=a_vp+Hib==4bufMiF%Y33dJfb@Bp0?sSIqqk=kNp+I!?v@r$^qU`zBsp^EuY ztl;uWsiH|ii#e)ZmN0_D(Iv`*ge%bt#{rz@T!!^*M^jV**6oWGpWOfRpOlM3`P=|{ zkxU!*|C@h(ewSVMo_E+$lg3Z2lr0_jBtE3 ziY-l1CX(`fj}94v!@hjJ`@d&FQvoY-xC&kv0w5~_x1^a?p zf7{0Y_xoq#(QMuf6lhjA>!cau>CLbiGu2wzlDEQ6>wNR%O9t;c)w{cnu!+ppBu3ww@)PA2@1wb2=XIu!(J z|InZf8cU)}n3~EFloz3KCDdHlS(%pv~1z;xKs(|!x3_Gl5uJbSW8=ZL@C4(29 zb)T{^0?8l+F-Pb%XdVL=a?q(X&C!Ty7eBE~2&AQ~0^GYTC-h1!= z*T4SN+S-2OjW;Gz@%P_<|K5A<2g7K|k|hnWS2*Fsldw=^-+lL+cj!DAcp+cr;3V-J zNKaW*Y_M<`2^Bx8{~-6@37P}ZoIqNR^6<#8-un=C z>VEs}2b+A%*v`Y|ALiKh?AbfsaPb$`qHnLo^#H5urI%N>Zu1DxSu4;x?#7r zws92q&v*Y&EanfMGsiF;+Ck(h$uoOXbZ3`w_;7wVu*L?J* z*woVA+#(o#%in&BQc_e~XGgk05fzh-7(t?|ELvC{CKCGt3u7$P2MCDt3_NTD*mOL{ z@T12?{h$hEOVz(iGcFf%ZB6Dt9>{}5rz0+ceOA;eo!LpR{P{QM-*<^`^OyeUx@~66 z?ChM>-PE-Jv9on^ zQv>K3LTrwH?@Z~=|@x$Bg6}>Urfg>Wbksi1D=`+7R=kA*m`|KEr zigekQ8AYI@g#X_S1MzIojokMGmlt;2VTjw<55sZjoAIi(oad#}@x+={D{i{}>ZWYu zk_%7XVY?~!-go<%XPv=P@`aaP`NHphSt}c-eDC7*Jp+sgkO2wx9pqg11Hldd7C4TG zY;OeMV1nN=9Iu<2&r#Upmo&GwJv%u3Ay;s{nL!X3@k830EqdIleT8`lK54rZ#utc( zocP9FB#RV4FcO+@8V)k)r{*~%*!t~HBk7Z)yzY9V-~ZO`|IIyys~PM)dgM+Fu7Ddj zd=Y6GJ=-U|>L6t+W$f59wxjcdFFyR)JwG2D?7!xkYof`R0DDJZE2Z+v)vF%+)swkm z?)vMmpU~cEIL3MBou^f62OV_K@rxIOD$#UpT=Td^$1i&JiDxyf3JNLC%D3El!$~Kd zG=1E(%Wl5riYu;&MdPrCWwPN|%Z_tGC0~w3kxT`X;IRQjc%ny+iy3Wxf}DEd7oviE zqIwTm^sVZ)!$~q2n!0I#K9dyX+)FO#?q0jsUVEK?)_JfeHBDCpzA@c=$_1yFs-+pT zrk{8IIWT8GzUTIL-h3yW%s%+wgK)ILb}~Hgo`)WqKYxBQne-e742E|<`e@avRo^@5 zdpF&3({aZg2NHv0Sov`E^sSrH*8+}$I`>LfMB3*@jP9k}R(8 z>ND)>OD{hM%Lz-OMtE!>sED9|;Gdana&R!0FH|#GB#K|NX2s)=KX&6y*TTBOw~ief z-+%vw#~pVJXzul0>z?}6v;F=3rl}uw)RDct{U@Gy{MA=q{osT5FFf)HxUCB>I{y!^ zJa@tg-#zifli^-J{OBXlfpg{@1hXbcoaa&s6%j>B@CC;iF-f?81sXePdH`QYum@M2 zbh@!!lJ^8wWJ_Dy@BZ}Sr59biVRiq>XPtD+(Z{)-yTcAUTzcuHur-%{`T5=V{d~oW zWiVs=?SCLB{y7I9^2$pugQ{(7Z9n$7#Y?~Va`mbe#cH*+Va#JsKKA-+Z+`E4r>|JC zVvjxc85kHi{IG?WU3NK~`IlaLrG3oU2@@x3y8Yh2{xxULAx=d<{HXay9(fd4gq3Qg zp|N@Cm&>ld@up*sInJ`Y3og9)S5H1YY0{JvPB@{twdu3ZKK;exPaSp4BGdLnnUBOI z07Ir{QEnCFyCO+o3Ck)-2gApHLOktp5k&$+i}7qQIF%@)71mR4{mJ~!UTjnBix(f8 zvfrU!_t{jnw7%HWF@7>F^6)WUSh9?gm#A094T+{l?z#~fDc{IX3Ov=LRBDZWdD!t3 zb}eg}lxJaX6nvj+_%+vD@#Pl}-1GS2!x!iBwX@H@_%Cn1@%7pj<0p(YE#U=HtKfiwKspoal z%Iwzm7M+a>g2p;U+WcbW>hI5Abjv?pYMeBw%sDJ4_jV0}9A_1_?o7OqD?AAMPJNoFO0gc`9le;dv?6TIT=9;P1%-Veq+`Hh& zBL{Osw_JbYU3cAe>i50}!VR?e+i$=9((hhexM1P>a+RmpH~#QCe6=h}AnJ8jfBWsf zo_5+PWw-ReT@Qj%AhnfVV>a8np$~yLMJcivaQe}n%kf(?pSWJ6voppu=#e1+-L$cV z3nx@{tn^DKGiRTFHdtaq#R-DIU325LS1tJ=D`A_mgXSK5);VXEtECmIS3LaKqi9$= z=CLOn7g6GK4?paM-@jNL8fa>0dHt<7cim&ROj83aU?$SAdi~lr-+AlglTLZ$@n66v zjPIEE#i}n_n_Fz%Am2;87@*9M@eb=+hAW(@Og&@Ro1@igal)iD-1N{;xv44E z(`&u@+KZ1qb|Xz^Fk8o`zWVy}(@uY`SahFx=9$0${T=wm0}q^Y#1V&r2>$8aKi+oR zNtax5(X3h9!tr17gUj*-{krR~nLT?4PM|Kj=tn(0UA#yQ3|46kjuc=usix7EWpNxK zfD9McBh=q6Nu}ZafKSu6e9EL469oy)4CPBrO-+03wdeg0J@}j7JO{(CRBOpda`{)w zk2>lYiIwjB+3o-M=X+OQ{ljcFn~bGPwb}(2ULp$-0>hc_UvZ@*$UDxM6^|r!$LQ

oz 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

Z(V0H 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�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 Hqu~Dlq$1ou literal 0 HcmV?d00001 diff --git a/doc/help/ch1.xml b/doc/help/ch1.xml new file mode 100644 index 00000000..dbb80484 --- /dev/null +++ b/doc/help/ch1.xml @@ -0,0 +1,4 @@ + + Назначение и возможности системы + Система Stargazer (далее просто «система») предназначена для авторизации и учета трафика в локальных сетях. При написании данной системы была поставлена задача создать продукт, который отвечал бы требованиям большинства локальных сетей для учета в них трафика и средств клиентов, а также безопасной авторизации клиентов. + diff --git a/doc/help/ch10.xml b/doc/help/ch10.xml new file mode 100644 index 00000000..ab5c7027 --- /dev/null +++ b/doc/help/ch10.xml @@ -0,0 +1,5 @@ + + Приложение А: конвертация БД + Для преобразования базы между любыми двумя модулями хранилища используется утилита convertor (исходный код утилиты находится в каталоге projects/convertor стандартной поставки системы). Утилита работает из каталога сборки без установки в ОС. Для сборки утилиты необходимо запустить скрипт ./build. + При запуске утилиты в качестве параметра можно передать путь к конфигурационному файлу. По умолчанию будет использован файл convertor.conf из каталога сборки. Конфигурационный файл имеет такой-же формат, что и конфигурационный файл stargazer. Глобальный параметр ModulesPath указывает местонахождение модулей хранилища. Далее следуют две секции: <SourceStoreModule> и <DestStoreModule>. Они описывают, соответственно, источник данных и их приемник. Так, например, для переноса всей информации из БД на основе файлов в БД Firebird необходимо в первой секции прописать параметры файлового хранилища, а во второй — хранилища Firebird. + diff --git a/doc/help/ch11.xml b/doc/help/ch11.xml new file mode 100644 index 00000000..fa36c322 --- /dev/null +++ b/doc/help/ch11.xml @@ -0,0 +1,4 @@ + + Приложение В: описание процесса ручной установки БД для СУБД Firebird + Для работы модуля необходимо завести учетную запись пользователя СУБД Firebird. Для этого используется утилита управления учетными записями gsec. Пример создания пользователя (подробности: Server configuration and management): + diff --git a/doc/help/ch12.xml b/doc/help/ch12.xml new file mode 100644 index 00000000..31b30250 --- /dev/null +++ b/doc/help/ch12.xml @@ -0,0 +1,4 @@ + + Приложение В: описание процесса установки БД для СУБД MySQL + Для работы модуля необходимо завести учетную запись пользователя СУБД MySQL. Для этого можно использовать командный интерпретатор mysql: + diff --git a/doc/help/ch2.xml b/doc/help/ch2.xml new file mode 100644 index 00000000..778b93cd --- /dev/null +++ b/doc/help/ch2.xml @@ -0,0 +1,9 @@ + + Описание компонентов системы + Составными компонентами системы являются: + + Сервер + Конфигуратор + Авторизатор + + diff --git a/doc/help/ch3.xml b/doc/help/ch3.xml new file mode 100644 index 00000000..a8f66e12 --- /dev/null +++ b/doc/help/ch3.xml @@ -0,0 +1,5 @@ + + Установка системы + Система обычно поставляется в виде 3 файлов: исходных кодов сервера, бинарной сборки конфигуратора и авторизатора. + Стабильная версия сервера маркируется так: stg-A.B.src.tgz. A и B – старшая и младшая версия сервера. Промежуточные версии сервера имеют маркировку: stg-A.B-YYYY.MM.DD-HH.MM.SS.tgz. A и B – старшая и младшая версия сервера. YYYY.MM.DD-HH.MM.SS – дата и время сборки. + diff --git a/doc/help/ch4.xml b/doc/help/ch4.xml new file mode 100644 index 00000000..538dda2f --- /dev/null +++ b/doc/help/ch4.xml @@ -0,0 +1,5 @@ + + Настройка системы + После инсталляции система должна быть подвергнута процедуре настройки. Обычно следует начинать с настройки сервера. + Основные конфигурационные файлы сервера по умолчанию находятся в каталоге /etc/stargazer. Они включают в себя: основной конфигурационный файл stargazer.conf, файл описания направлений тарификации rules, набор скриптов On* и два каталога — conf-available.d и conf-enabled.d, содержащих конфигурационные файлы отдельных модулей. Для включения какого-либо модуля нужно сделать символическую ссылку на его конфигурационный файл в каталоге conf-enabled.d или прописать его конфигурационную секцию в разделе <Modules> файла stargazer.conf. + diff --git a/doc/help/ch5.xml b/doc/help/ch5.xml new file mode 100644 index 00000000..2c4afb8e --- /dev/null +++ b/doc/help/ch5.xml @@ -0,0 +1,12 @@ + + Описание работы с конфигуратором + Как и говорилось выше, конфигуратор предназначен для выполнения различных административных действий над клиентами и над некоторыми параметрами сервера. + + Общий вид окна конфигуратора при работе показан ниже: + + + + + + + diff --git a/doc/help/ch6.xml b/doc/help/ch6.xml new file mode 100644 index 00000000..208d7f77 --- /dev/null +++ b/doc/help/ch6.xml @@ -0,0 +1,12 @@ + + Описание работы с GUI-авторизатором + Клиентский авторизатор предназначен для выдачи клиентам сети. С помощью него возможно узнать состояние счета, а так же состояние перекачанного трафика по направлениям. Сервер системы может работать со старыми версиями авторизаторов, т. е. сохраняется обратная совместимость, однако по мере возможности необходимо обновлять клиентские авторизаторы до последних версий. + + Основное окно авторизатора показано ниже: + + + + + + + diff --git a/doc/help/ch7.xml b/doc/help/ch7.xml new file mode 100644 index 00000000..9ba4d937 --- /dev/null +++ b/doc/help/ch7.xml @@ -0,0 +1,4 @@ + + Описание работы с консольным авторизатором + Надо-бы написать + diff --git a/doc/help/ch8.xml b/doc/help/ch8.xml new file mode 100644 index 00000000..bb608a0d --- /dev/null +++ b/doc/help/ch8.xml @@ -0,0 +1,4 @@ + + Описание работы с консольным конфигуратором + Консольный конфигуратор позволяет добавлять, удалять пользователей, получать и устанавливать некоторые параметры пользователя и отправлять ему текстовые сообщения. Общий формат вызова для получения значения параметра: + diff --git a/doc/help/ch9.xml b/doc/help/ch9.xml new file mode 100644 index 00000000..d4377f8f --- /dev/null +++ b/doc/help/ch9.xml @@ -0,0 +1,9 @@ + + Лицензия, авторы, копирайты, благодарности + Система распространяется по лицензии GPL v2. + Авторами системы являются Борис Михайленко aka stg-34 stg34@stargazer.dp.ua, Максим Мороз, Максим Мамонтов aka madf faust@stargazer.dp.ua, Игорь Лысейко и другие. + Авторами файлов справки являются Георгий Филонов aka egor2fsys egor2fsys@gmail.com и Максим Мамонтов aka madf faust@stargazer.dp.ua. + В системе использована библиотека LibExpat (http://expat.sourceforge.net/). + Модуль БД на основе СУБД Firebird использует библиотеки fbclient (http://www.firebirdsql.org) и IBPP (http://www.ibpp.org). Модуль БД на основе СУБД MySQL использует библиотеку mysqlclient_r (http://dev.mysql.com). Модуль БД на основе СУБД PostgreSQL использует библиотеку pq (http://www.postgresql.org). + Авторы выражают благодарность всем администраторам и пользователям Stargazer за сообщения об ошибках и предложения новых возможностей системы. Также выражаем благодарность форумам «Локальные сети Украины» и «Домашние сети России». + diff --git a/doc/help/docbook.dtd b/doc/help/docbook.dtd new file mode 100644 index 00000000..c90ac4ef --- /dev/null +++ b/doc/help/docbook.dtd @@ -0,0 +1,4171 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/help.xml b/doc/help/help.xml new file mode 100644 index 00000000..cfea6159 --- /dev/null +++ b/doc/help/help.xml @@ -0,0 +1,28 @@ + + +]> + + + Stargazer - руководство пользователя + + MaximMamontov + + 2011Maxim Mamontov + + + + + + + + + + + + + + diff --git a/doc/help/xslt/.CatalogManager.properties.example b/doc/help/xslt/.CatalogManager.properties.example new file mode 100644 index 00000000..23434e19 --- /dev/null +++ b/doc/help/xslt/.CatalogManager.properties.example @@ -0,0 +1,61 @@ +######################################################################## +# CatalogManager provides an interface to the catalog properties. +# Properties can come from two places: from system properties or +# from a CatalogManager.properties file. This class provides a +# transparent interface to both, with system properties preferred +# over property file values. + +####################################################################### +# Catalog Files: +# The semicolon-delimited list of catalog files. +# Example: catalogs=/etc/xml/catalog;~/catalog.xml + +catalogs= + +####################################################################### +# Relative Catalogs: +# If false, relative catalog URIs are made absolute with respect to the +# base URI of the CatalogManager.properties file. This setting only +# applies to catalog URIs obtained from the catalogs property in the +# CatalogManager.properties file +# Example: relative-catalogs = [yes|no] + +relative-catalogs=yes + +####################################################################### +# Verbosity: +# If non-zero, the Catalog classes will print informative and debugging +# messages. The higher the number, the more messages. +# Example: verbosity = [0..99] + +verbosity=0 + +####################################################################### +# Prefer: +# Which identifier is preferred, "public" or "system"? +# Example: xml.catalog.prefer = [public|system] + +prefer=system + +####################################################################### +# Static-catalog: +# Should a single catalog be constructed for all parsing, or should a +# different catalog be created for each parser? +# Example: static-catalog = [yes|no] + +static-catalog=yes + +####################################################################### +# Allow-oasis-xml-catalog-pi +# If the source document contains "oasis-xml-catalog" processing +# instructions, should they be used? +# Example: allow-oasis-xml-catalog-pi = [yes|no] + +allow-oasis-xml-catalog-pi=yes + +####################################################################### +# catalog-class-name +# If you're using the convenience classes +# org.apache.xml.resolver.tools.*, this setting allows you to specify +# an alternate class name to use for the underlying catalog. +# Example: catalog-class-name=org.apache.xml.resolver.Resolver diff --git a/doc/help/xslt/.urilist b/doc/help/xslt/.urilist new file mode 100644 index 00000000..2751d8da --- /dev/null +++ b/doc/help/xslt/.urilist @@ -0,0 +1 @@ +. http://docbook.sourceforge.net/release/xsl/current/ diff --git a/doc/help/xslt/AUTHORS b/doc/help/xslt/AUTHORS new file mode 100644 index 00000000..9c3dcdc4 --- /dev/null +++ b/doc/help/xslt/AUTHORS @@ -0,0 +1,4 @@ +The DocBook XSL stylesheets are maintained by Norman Walsh, +, and members of the DocBook Project, + + diff --git a/doc/help/xslt/BUGS b/doc/help/xslt/BUGS new file mode 100644 index 00000000..b3c78679 --- /dev/null +++ b/doc/help/xslt/BUGS @@ -0,0 +1,21 @@ +To view a list of all open DocBook Project XSL stylesheet bugs: + + http://docbook.sf.net/tracker/xsl/bugs + +To submit a bug report against the stylesheets: + + http://docbook.sf.net/tracker/submit/bug + +To do a full-text search of all DocBook Project issues: + + http://docbook.sf.net/tracker/search + +Discussion about the DocBook Project XSL stylesheets takes place +on the docbook-apps mailing list: + + http://wiki.docbook.org/topic/DocBookAppsMailingList + +Real-time discussion takes place on IRC: + + http://wiki.docbook.org/topic/DocBookIrcChannel + irc://irc.freenode.net/docbook diff --git a/doc/help/xslt/COPYING b/doc/help/xslt/COPYING new file mode 100644 index 00000000..46bc1209 --- /dev/null +++ b/doc/help/xslt/COPYING @@ -0,0 +1,47 @@ +Copyright +--------- +Copyright (C) 1999-2007 Norman Walsh +Copyright (C) 2003 Jiří Kosek +Copyright (C) 2004-2007 Steve Ball +Copyright (C) 2005-2008 The DocBook Project + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the ``Software''), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +Except as contained in this notice, the names of individuals +credited with contribution to this software shall not be used in +advertising or otherwise to promote the sale, use or other +dealings in this Software without prior written authorization +from the individuals in question. + +Any stylesheet derived from this Software that is publically +distributed will be identified with a different name and the +version strings in any derived Software will be changed so that +no possibility of confusion between the derived package and this +Software will exist. + +Warranty +-------- +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL NORMAN WALSH OR ANY OTHER +CONTRIBUTOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +Contacting the Author +--------------------- +The DocBook XSL stylesheets are maintained by Norman Walsh, +, and members of the DocBook Project, + diff --git a/doc/help/xslt/INSTALL b/doc/help/xslt/INSTALL new file mode 100644 index 00000000..72cb82b6 --- /dev/null +++ b/doc/help/xslt/INSTALL @@ -0,0 +1,88 @@ +$Id: INSTALL 6145 2006-08-06 13:13:03Z xmldoc $ + +INSTALL file for the DocBook XSL stylesheets distribution + +---------------------------------------------------------------------- +Case #1: Installation using a package management system +---------------------------------------------------------------------- +If you have installed the DocBook XSL distribution using "apt-get", +"yum", "urpmi", or some similar package-management front-end, +then, as part of the package installation, the stylesheets have +already been automatically installed in the appropriate location +for your system, and your XML catalog environment has probably +been updated to use that location. + +---------------------------------------------------------------------- +Case #2: Installing manually +---------------------------------------------------------------------- +If you have downloaded a docbook-xsl zip, tar.gz, or tar.bz2 +file, use the following steps to install it. + + 1. Move the zip, tar.gz, or tar.bz2 file to the directory where + you'd like to install it (not to a temporary directory). + + 2. unzip or untar/uncompress the file + + That will create a docbook-xsl-$VERSION directory (where + $VERSION is the version number for the release). + +The remaining steps are all OPTIONAL. They are intended to +automatically update your user environment with XML Catalog +information about the DocBook XSL distribution. You are NOT +REQUIRED to complete these remaining steps. However, if you do +not, and you want to use XML catalogs with the DocBook XSL +stylesheets, you will need to manually update your XML catalog +environment + + 3. Change to the docbook-xsl-$VERSION directory and execute the + install.sh script: + + ./install.sh + + That will launch an interactive installer, which will emit a + series of prompts for you to respond to. + + To instead run it non-interactively without being prompted + for confirmation of the changes it makes, invoke it with the + "--batch" switch, like this: + + ./install.sh --batch + + After the process is complete, the installer will emit a + message with a command you need to run in order to source + your environment for use with the stylesheets. + + 4. To test that he installation has updated your environment + correctly, execute the test.sh script: + + ./test.sh + + That will test your XML catalog environment, using both the + xmlcatalog application and the Apache XML Commons Resolver. + + NOTE: The test.sh file is not created until the install.sh + file is run for the first time. + + 5. (UNINSTALLING) If/when you want to uninstall the release, + execute the uninstall.sh script. + + ./uninstall.sh + + To instead run it non-interactively without being prompted + for confirmation of the changes it makes, invoke it with the + "--batch" switch, like this: + + ./uninstall.sh --batch + + NOTE: The uninstall.sh file is not created until the install.sh + file is run for the first time. + + +---------------------------------------------------------------------- +Note to packagers +---------------------------------------------------------------------- +The install.sh, .CatalogManager.properties.example, and .urilist +files should not be packaged. They are useful only to users who +are installing the stylesheets manually. + +The catalog.xml file should be packaged. diff --git a/doc/help/xslt/Makefile b/doc/help/xslt/Makefile new file mode 100644 index 00000000..a87d60b6 --- /dev/null +++ b/doc/help/xslt/Makefile @@ -0,0 +1,89 @@ +# $Id: Makefile.tests 8481 2009-07-13 20:18:41Z abdelazer $ +# +# This makefile does a "smoketest" of stylesheets for various +# output formats in the DocBook XSL Stylesheets release package. +# It doesn't actually check the output -- it's just useful for +# confirming whether each XSLT transformation actually executes +# successfully without any errors. +# +# To use it, run "make check" or just "make" + +XSLTPROC=xsltproc +XSLTPROC_FLAGS= + +TESTFILE=tests/refentry.007.xml +TESTFILE_NS=tests/refentry.007.ns.xml + +NORMAL_STYLES=fo/docbook.xsl html/docbook.xsl xhtml/docbook.xsl +NORMAL_PROFILE_STYLES=fo/profile-docbook.xsl html/profile-docbook.xsl xhtml/profile-docbook.xsl +CHUNK_STYLES=html/chunk.xsl html/onechunk.xsl xhtml/chunk.xsl xhtml/onechunk.xsl +HELP_STYLES=htmlhelp/htmlhelp.xsl javahelp/javahelp.xsl eclipse/eclipse.xsl +MULTIFILE_STYLES=$(CHUNK_STYLES) $(HELP_STYLES) +CHUNK_PROFILE_STYLES=html/profile-chunk.xsl html/profile-onechunk.xsl xhtml/profile-chunk.xsl xhtml/profile-onechunk.xsl +HELP_PROFILE_STYLES=htmlhelp/profile-htmlhelp.xsl eclipse/profile-eclipse.xsl javahelp/profile-javahelp.xsl +MULTIFILE_PROFILE_STYLES=$(CHUNK_PROFILE_STYLES) $(HELP_PROFILE_STYLES) + +MAN_STYLE=manpages/docbook.xsl +MAN_PROFILE_STYLE=manpages/profile-docbook.xsl + +TWO_PROFILE_STYLE=profiling/profile.xsl + +ROUNDTRIP_STYLES=roundtrip/dbk2ooo.xsl roundtrip/dbk2pages.xsl roundtrip/dbk2wordml.xsl +SLIDES_STYLES=slides/html/default.xsl slides/xhtml/default.xsl slides/fo/plain.xsl +WEBSITE_STYLES=website/website.xsl +WEBSITE_CHUNK_STYLES=website/chunk-website.xsl + +# chunked output gets written to TMP_OUTPUT_DIR +TMP_OUTPUT_DIR=/tmp/smoketest-output/ +# if you don't want TMP_OUTPUT_DIR and its contents deleted, unset +# SMOKETEST_CLEAN_TARGET; e.g. "make check SMOKETEST_CLEAN_TARGET=''" +SMOKETEST_CLEAN_TARGET=smoketest-clean + +check: smoketest-make-tmp-dir smoketest-normal smoketest-normal-profile smoketest-chunk smoketest-chunk-profile smoketest-man smoketest-man-profile smoketest-two-profile $(SMOKETEST_CLEAN_TARGET) + +smoketest-make-tmp-dir: + $(RM) -r $(TMP_OUTPUT_DIR) + mkdir '$(TMP_OUTPUT_DIR)' + +smoketest-normal: + for stylesheet in $(NORMAL_STYLES); do \ + echo "$(XSLT) $(TESTFILE) $$stylesheet > /dev/null"; \ + $(XSLT) $(TESTFILE) $$stylesheet > /dev/null; \ + echo "$(XSLT) $(TESTFILE_NS) $$stylesheet > /dev/null"; \ + $(XSLT) $(TESTFILE_NS) $$stylesheet > /dev/null; \ + done + +smoketest-normal-profile: + for stylesheet in $(NORMAL_PROFILE_STYLES); do \ + echo "$(XSLT) $(TESTFILE) $$stylesheet > /dev/null"; \ + $(XSLT) $(TESTFILE) $$stylesheet > /dev/null; \ + echo "$(XSLT) $(TESTFILE_NS) $$stylesheet > /dev/null"; \ + $(XSLT) $(TESTFILE_NS) $$stylesheet > /dev/null; \ + done + +smoketest-chunk: + for stylesheet in $(MULTIFILE_STYLES) ; do \ + $(XSLT) $(TESTFILE) $$stylesheet manifest.in.base.dir=1 base.dir=$(TMP_OUTPUT_DIR) ; \ + $(XSLT) $(TESTFILE_NS) $$stylesheet manifest.in.base.dir=1 base.dir=$(TMP_OUTPUT_DIR) ; \ + done; + +smoketest-chunk-profile: + for stylesheet in $(MULTIFILE_PROFILE_STYLES) ; do \ + $(XSLT) $(TESTFILE) $$stylesheet manifest.in.base.dir=1 base.dir=$(TMP_OUTPUT_DIR) ; \ + $(XSLT) $(TESTFILE_NS) $$stylesheet manifest.in.base.dir=1 base.dir=$(TMP_OUTPUT_DIR) ; \ + done; + +smoketest-man: + $(XSLT) $(TESTFILE) $(MAN_STYLE) man.output.in.separate.dir=1 man.output.base.dir=$(TMP_OUTPUT_DIR) ; \ + $(XSLT) $(TESTFILE_NS) $(MAN_STYLE) man.output.in.separate.dir=1 man.output.base.dir=$(TMP_OUTPUT_DIR) ; + +smoketest-man-profile: + $(XSLT) $(TESTFILE) $(MAN_PROFILE_STYLE) man.output.in.separate.dir=1 man.output.base.dir=$(TMP_OUTPUT_DIR) ; \ + $(XSLT) $(TESTFILE_NS) $(MAN_PROFILE_STYLE) man.output.in.separate.dir=1 man.output.base.dir=$(TMP_OUTPUT_DIR) ; + +smoketest-two-profile: + $(XSLT) $(TESTFILE_NS) $(TWO_PROFILE_STYLE) > /dev/null ; + +smoketest-clean: + $(RM) -r $(TMP_OUTPUT_DIR) + diff --git a/doc/help/xslt/NEWS b/doc/help/xslt/NEWS new file mode 100644 index 00000000..ed3dc546 --- /dev/null +++ b/doc/help/xslt/NEWS @@ -0,0 +1,139 @@ +Changes since the 1.76.0 release + +Note: This document lists changes only since the 1.76.0 release. If you instead +want a record of the complete list of changes for the codebase over its entire +history, you can obtain one by running the following commands: + + svn checkout https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/xsl + svn log --xml --verbose xsl > ChangeHistory.xml + +━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + +Table of Contents + +Release Notes: 1.76.1 + + Common + FO + HTML + Epub + Webhelp + Params + Extensions + +Release Notes: 1.76.1 + +The following is a list of changes that have been made since the 1.76.0 +release. + +Common + +The following changes have been made to the common code since the 1.76.0 +release. + + ● Mauritz Jeanson: Makefile + + Added eu.xml and gl.xml to SOURCES. + + ● Jirka Kosek: l10n.xsl + + Fixed bug when context was lost due to usage of xsl:key + +FO + +The following changes have been made to the fo code since the 1.76.0 release. + + ● Robert Stayton: docbook.xsl; xref.xsl; fop1.xsl + + Apply patch to support named destination in fop1.xsl, per Sourceforge + bug report #3029845. + + ● dleidert: pagesetup.xsl + + Remove the namespace mistakingly added with the last upload. + +HTML + +The following changes have been made to the html code since the 1.76.0 release. + + ● Keith Fahlgren: highlight.xsl + + Implementing handling for and : transform to and for XHTML outputs and do not use in the highliting output (per Mauritz Jeanson) + +Epub + +The following changes have been made to the epub code since the 1.76.0 release. + + ● Keith Fahlgren: docbook.xsl + + Bugfix for [#3071521] to ensure that NCX navPoints are generated for d:book root nodes with the -NS version of the stylesheets + + ● Keith Fahlgren: docbook.xsl + + Remove unused NCX metadata elements + + ● Keith Fahlgren: bin/spec/epub_regressions_spec.rb; docbook.xsl; bin/spec/ + files/test_cust.x⋯ + + Normalizing identifier lookup between NCX and OPF + + ● Keith Fahlgren: bin/dbtoepub + + Reduce logging verbosity + + ● Keith Fahlgren: bin/dbtoepub; bin/lib/docbook.rb + + Only copy images once for the DocBook to EPUB tool to correct Windows bug reported in [#3065489] + +Webhelp + +The following changes have been made to the webhelp code since the 1.76.0 +release. + + ● David Cramer: indexer + + More webhelp indexer refactoring + + ● David Cramer: build.xml + + Removed cruft from before webhelp indexer refactoring + + ● David Cramer: indexer/src + + Refactoring webhelp to separate more cleanly the xsl and java code. + + ● David Cramer: indexer/lib + + Refactoring webhelp to separate more cleanly the xsl and java code. + + ● David Cramer: Makefile; build.xml + + Refactoring webhelp to separate more cleanly the xsl and java code. + + ● David Cramer: indexer/src/com/nexwave/nquindexer/IndexerTask.java; + build.xml; indexer/src/⋯ + + Merged in changes from webhelp branch to address issue #3058244 regarding the xx.html temp file that was being created + +Params + +The following changes have been made to the params code since the 1.76.0 +release. + + ● Robert Stayton: draft.mode.xml + + Change default for draft.mode to 'no'. + +Extensions + +The following changes have been made to the extensions code since the 1.76.0 +release. + + ● David Cramer: Makefile + + More webhelp refactoring + + ● David Cramer: Makefile + + Refactoring webhelp to separate more cleanly the xsl and java code. + diff --git a/doc/help/xslt/NEWS.html b/doc/help/xslt/NEWS.html new file mode 100644 index 00000000..979e2a2e --- /dev/null +++ b/doc/help/xslt/NEWS.html @@ -0,0 +1,25 @@ +Changes since the 1.76.0 release

Changes since the 1.76.0 release

Note: This + document lists changes only since the 1.76.0 release. + If you instead want a record of the complete list of + changes for the codebase over its entire history, you + can obtain one by running the following commands: + +

  svn checkout https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/xsl
+  svn log --xml --verbose xsl > ChangeHistory.xml

Release Notes: 1.76.1

The following is a list of changes that have been made + since the 1.76.0 release.

Common

The following changes have been made to the + common code + since the 1.76.0 release.

  • Mauritz Jeanson: Makefile

    Added eu.xml and gl.xml to SOURCES.
  • Jirka Kosek: l10n.xsl

    Fixed bug when context was lost due to usage of xsl:key

FO

The following changes have been made to the + fo code + since the 1.76.0 release.

  • Robert Stayton: docbook.xsl; xref.xsl; fop1.xsl

    Apply patch to support named destination in fop1.xsl, per Sourceforge
    +bug report #3029845.
  • dleidert: pagesetup.xsl

    Remove the namespace mistakingly added with the last upload.

HTML

The following changes have been made to the + html code + since the 1.76.0 release.

  • Keith Fahlgren: highlight.xsl

    Implementing handling for <b> and <i>: transform to <strong> and <em> for XHTML outputs and do not use in the highliting output (per Mauritz Jeanson)

Epub

The following changes have been made to the + epub code + since the 1.76.0 release.

  • Keith Fahlgren: docbook.xsl

    Bugfix for [#3071521] to ensure that NCX navPoints are generated for d:book root nodes with the -NS version of the stylesheets
  • Keith Fahlgren: docbook.xsl

    Remove unused NCX metadata elements
  • Keith Fahlgren: bin/spec/epub_regressions_spec.rb; docbook.xsl; bin/spec/files/test_cust.x⋯

    Normalizing identifier lookup between NCX and OPF
  • Keith Fahlgren: bin/dbtoepub

    Reduce logging verbosity
  • Keith Fahlgren: bin/dbtoepub; bin/lib/docbook.rb

    Only copy images once for the DocBook to EPUB tool to correct Windows bug reported in [#3065489]

Webhelp

The following changes have been made to the + webhelp code + since the 1.76.0 release.

  • David Cramer: indexer

    More webhelp indexer refactoring
  • David Cramer: build.xml

    Removed cruft from before webhelp indexer refactoring
  • David Cramer: indexer/src

    Refactoring webhelp to separate more cleanly the xsl and java code.
  • David Cramer: indexer/lib

    Refactoring webhelp to separate more cleanly the xsl and java code.
  • David Cramer: Makefile; build.xml

    Refactoring webhelp to separate more cleanly the xsl and java code.
  • David Cramer: indexer/src/com/nexwave/nquindexer/IndexerTask.java; build.xml; indexer/src/⋯

    Merged in changes from webhelp branch to address issue #3058244 regarding the xx.html temp file that was being created

Params

The following changes have been made to the + params code + since the 1.76.0 release.

  • Robert Stayton: draft.mode.xml

    Change default for draft.mode to 'no'.

Extensions

The following changes have been made to the + extensions code + since the 1.76.0 release.

  • David Cramer: Makefile

    More webhelp refactoring
  • David Cramer: Makefile

    Refactoring webhelp to separate more cleanly the xsl and java code.
+ diff --git a/doc/help/xslt/NEWS.xml b/doc/help/xslt/NEWS.xml new file mode 100644 index 00000000..8cc04e6d --- /dev/null +++ b/doc/help/xslt/NEWS.xml @@ -0,0 +1,145 @@ + + +
+ + +Note: This + document lists changes only since the 1.76.0 release. + If you instead want a record of the complete list of + changes for the codebase over its entire history, you + can obtain one by running the following commands: + + svn checkout https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/xsl + svn log --xml --verbose xsl > ChangeHistory.xml + +Changes since the 1.76.0 release + + +Release Notes: 1.76.1 +The following is a list of changes that have been made + since the 1.76.0 release. + + +Common +The following changes have been made to the + common code + since the 1.76.0 release. + + +Mauritz Jeanson: MakefileAdded eu.xml and gl.xml to SOURCES. + + +Jirka Kosek: l10n.xslFixed bug when context was lost due to usage of xsl:key + + + + + +FO +The following changes have been made to the + fo code + since the 1.76.0 release. + + +Robert Stayton: docbook.xsl; xref.xsl; fop1.xslApply patch to support named destination in fop1.xsl, per Sourceforge +bug report #3029845. + + +dleidert: pagesetup.xslRemove the namespace mistakingly added with the last upload. + + + + + +HTML +The following changes have been made to the + html code + since the 1.76.0 release. + + +Keith Fahlgren: highlight.xslImplementing handling for <b> and <i>: transform to <strong> and <em> for XHTML outputs and do not use in the highliting output (per Mauritz Jeanson) + + + + + +Epub +The following changes have been made to the + epub code + since the 1.76.0 release. + + +Keith Fahlgren: docbook.xslBugfix for [#3071521] to ensure that NCX navPoints are generated for d:book root nodes with the -NS version of the stylesheets + + +Keith Fahlgren: docbook.xslRemove unused NCX metadata elements + + +Keith Fahlgren: bin/spec/epub_regressions_spec.rb; docbook.xsl; bin/spec/files/test_cust.x⋯Normalizing identifier lookup between NCX and OPF + + +Keith Fahlgren: bin/dbtoepubReduce logging verbosity + + +Keith Fahlgren: bin/dbtoepub; bin/lib/docbook.rbOnly copy images once for the DocBook to EPUB tool to correct Windows bug reported in [#3065489] + + + + + +Webhelp +The following changes have been made to the + webhelp code + since the 1.76.0 release. + + +David Cramer: indexerMore webhelp indexer refactoring + + +David Cramer: build.xmlRemoved cruft from before webhelp indexer refactoring + + +David Cramer: indexer/srcRefactoring webhelp to separate more cleanly the xsl and java code. + + +David Cramer: indexer/libRefactoring webhelp to separate more cleanly the xsl and java code. + + +David Cramer: Makefile; build.xmlRefactoring webhelp to separate more cleanly the xsl and java code. + + +David Cramer: indexer/src/com/nexwave/nquindexer/IndexerTask.java; build.xml; indexer/src/⋯Merged in changes from webhelp branch to address issue #3058244 regarding the xx.html temp file that was being created + + + + + +Params +The following changes have been made to the + params code + since the 1.76.0 release. + + +Robert Stayton: draft.mode.xmlChange default for draft.mode to 'no'. + + + + + +Extensions +The following changes have been made to the + extensions code + since the 1.76.0 release. + + +David Cramer: MakefileMore webhelp refactoring + + +David Cramer: MakefileRefactoring webhelp to separate more cleanly the xsl and java code. + + + + + +
+ diff --git a/doc/help/xslt/README b/doc/help/xslt/README new file mode 100644 index 00000000..3a5558ab --- /dev/null +++ b/doc/help/xslt/README @@ -0,0 +1,157 @@ +---------------------------------------------------------------------- + README file for the DocBook XSL Stylesheets +---------------------------------------------------------------------- +$Id: README 8484 2009-07-13 20:35:34Z mzjn $ + +These are XSL stylesheets for transforming DocBook XML document +instances into various output formats. + +This README file provides only very minimal documentation on using +the stylesheets. For more complete information, see Bob Stayton's +book "DocBook XSL: The Complete Guide", available online at: + + http://www.sagehill.net/docbookxsl/ + +---------------------------------------------------------------------- +Installation +---------------------------------------------------------------------- +See the INSTALL file for information about installing this release. + +---------------------------------------------------------------------- +How to use the stylesheets +---------------------------------------------------------------------- +The base canonical URI for these stylesheets is: + + http://docbook.sourceforge.net/release/xsl/current/ + +You call any of the stylesheets in this distribution by doing one +of the following: + + - Use the base canonical URI in combination with one of the + pathnames below. For example, for "chunked" HTML, output: + + http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl + + If your system has a working XML Catalog or SGML Catalog setup + (most Linux systems do), then that URI will automatically be + resolved and replaced with a local pathname on your system. + + - Use a "real" local system base path in combination with one of + the pathnames below. For example, for "chunked" HTML, output: + + /usr/share/xml/docbook/stylesheet/nwalsh/html/chunk.xsl + +To transform documents created with the standard DocBook +schema/DTD, use one of the following stylesheets: + + fo/docbook.xsl - for XSL-FO + + html/docbook.xsl - for HTML (as a single file) + html/chunk.xsl - for HTML (chunked into multiple files) + html/onechunk.xsl - for HTML (chunked output in single file) + + xhtml/*.xsl - for XHTML versions of the above + + xhtml-1_1/*.xsl - for XHTML 1.1 versions of the above + + epub/docbook.xsl - for .epub + + htmlhelp/htmlhelp.xsl - for HTML Help + javahelp/javahelp.xsl - for JavaHelp + eclipse/eclipse.xsl - for Eclipse Help + + manpages/docbook.xsl - for groff/nroff man pages + + */profile-* - single-pass-profiling versions of all above + + roundtrip/*.xsl - for DocBook to WordML, etc., to DocBook + +To transform documents created with the DocBook Slides schema/DTD, +use one of the following stylesheets: + + slides/html/*.xsl - for HTML slides of various kinds + slides/xhtml/*.xsl - for XHTML slides of various kinds + slides/fo/plain.xsl - for XSL-FO slides + slides/htmlhelp/... - for HTML Help slides + +To transform documents created with the DocBook Website +schema/DTD, use one of the following stylesheets: + + website/website.xsl - for non-tabular, non-chunked output + website/tabular.xsl - for tabular, non-chunked output + website/chunk-* - for chunked output + +To generate a titlepage customization layer from a titlepage spec: + + template/titlepage.xsl + +For details about creating titlepage spec files and generating and +using titlepage customization layers, see "DocBook XSL: The +Complete Guide" + +---------------------------------------------------------------------- +Manifest +---------------------------------------------------------------------- +AUTHORS contact information +BUGS about known problems +COPYING copyright information +INSTALL installation instructions +README this file +RELEASE.* per-release cumulative summaries of user-visible changes +TODO about planned features not yet implemented +VERSION release metadata, including the current version + number (note that the VERSION file is an XSL stylesheet) +NEWS changes since the last public release (for a cumulative list of + changes, see the ChangeHistory.xml file) + +common/ code used among several output formats (HTML, FO, manpages,...) +docsrc/ documentation sources +eclipse/ for producing Eclipse Help +epub/ for producing .epub +extensions/ DocBook XSL Java extensions +fo/ for producing XSL-FO +highlighting files used for adding source-code syntax highlighting in output +html/ for producing HTML +htmlhelp/ for producing HTML Help +images/ images used in callouts and graphical admonitions +javahelp/ for producing Java Help +lib/ utility stylesheets with schema-independent functions +manpages/ for producing groff/troff man pages +profiling/ for profiling (omitting/including conditional text) +roundtrip/ for "round trip" conversion among DocBook and + various word-processor formats (WordML, etc.) +slides/ for producing slides output (from Slides source) +template/ templates for building stylesheet customization layers +tools/ assorted supplementary tools +website/ for producing website output (from Website source) +xhtml/ for producing XHTML +xhtml-1_1/ for producing (stricter) XHTML 1.1 + +---------------------------------------------------------------------- +Changes +---------------------------------------------------------------------- +See the NEWS file for changes made since the previous release. + +See the RELEASE-NOTES.html or RELEASE-NOTES.txt or RELEASE-NOTES.pdf +files for per-release cumulative summaries of significant +user-visible changes. + +For online access to a hyperlinked view of all changes made over +the entire history of the codebase, see the following: + + http://docbook.svn.sourceforge.net/viewvc/docbook/trunk/xsl/?view=log + +WARNING: That above change history is a very long list and may +take a long time to load/download. + +You can also create an XML-formatted "ChangeHistory.xml" copy of +the complete change history for the codebase by running the +following commands: + + svn checkout https://docbook.svn.sf.net/svnroot/docbook/trunk/xsl + svn log --xml --verbose xsl > ChangeHistory.xml + +---------------------------------------------------------------------- +Copyright information +---------------------------------------------------------------------- +See the accompanying file named COPYING. diff --git a/doc/help/xslt/RELEASE-NOTES.html b/doc/help/xslt/RELEASE-NOTES.html new file mode 100644 index 00000000..556bd67a --- /dev/null +++ b/doc/help/xslt/RELEASE-NOTES.html @@ -0,0 +1,8353 @@ +Release Notes for the DocBook XSL Stylesheets

Release Notes for the DocBook XSL Stylesheets

$Revision: 8934 $ $Date: 2010-11-01 13:03:14 -0700 (Mon, 01 Nov 2010) $

2010-11-01

+

This release-notes + document is available in the following formats: + HTML, + PDF, + plain text; it provides a per-release list +of enhancements and changes to the stylesheets’ public APIs +(user-configurable parameters) and excludes descriptions of most +bug fixes. For a complete list of all changes (including all bug +fixes) that have been made since the previous release, see the +separate NEWS (plain text) or NEWS.html files. Also available: +An online hyperlinked change history (warning: big file) of all +changes made over the entire history of the codebase.

+ +

As with all DocBook Project “dot + one plus” releases, this release aspires to be stable (in + contrast to dot-zero releases, which + are experimental).

+ + +

+ + + + +

Release Notes: 1.76.1

+ +

The following is a list of changes that have been made + since the 1.76.0 release.

+ +

FO

+ +

The following changes have been made to the + fo code + since the 1.76.0 release.

+
  • +

    Robert Stayton: docbook.xsl; xref.xsl; fop1.xsl

    Apply patch to support named destination in fop1.xsl, per Sourceforge
    +bug report #3029845.
    +
+
+ +

HTML

+ +

The following changes have been made to the html code since the 1.76.0 release.

+
  • +

    Keith Fahlgren: highlight.xsl

    Implementing handling for <b> and <i>: transform to <strong> and <em> for XHTML outputs and do not use in the highliting output (per Mauritz Jeanson)
    +
+
+ +

Params

+ +

The following changes have been made to the + params code + since the 1.76.0 release.

+
  • +

    Robert Stayton: draft.mode.xml

    Change default for draft.mode to 'no'.
    +
+
+ + +
+

Release Notes: 1.76.0

+ +

This release includes important bug fixes and adds the following +significant feature changes:

+
Webhelp

A new browser-based, cross-platform help format with full-text search and other features typically found in help systems. See webhelp/docs/content/ch01.html for more information and a demo.

Gentext

Many updates and additions to translation/locales thanks to Red Hat, the Fedora Project, and other contributors.

Common

Faster localization support, as language files are loaded on demand.

FO

Support for SVG content in imagedata added.

HTML

Output improved when using 'make.clean.html' and a stock CSS file is now provided.

EPUB

A number of improvements to NCX, cover and image selection, and XHTML 1.1 element choices

+ +

The following is a list of changes that have been made since the 1.75.2 release.

+

Gentext

+ +

The following changes have been made to the gentext code since the 1.75.2 release.

+
  • +

    + rlandmann: locale/fa.xml +

    +
    +            Update to Persian translation from the Fedora Project
    +          
    +
  • +

    + rlandmann: locale/nds.xml +

    +
    +            Locale for Low German
    +          
    +
  • +

    + Mauritz Jeanson: locale/ka.xml; Makefile +

    +
    +            Added support for Georgian based on patch #2917147.
    +          
    +
  • +

    + rlandmann: locale/nl.xml; locale/ja.xml +

    +
    +            Updated translations from Red Hat and the Fedora Project
    +          
    +
  • +

    + rlandmann: locale/bs.xml; locale/ru.xml; locale/hr.xml +

    +
    +            Updated locales from Red Hat and the Fedora Project
    +          
    +
  • +

    + rlandmann: locale/pt.xml; locale/cs.xml; locale/es.xml; locale/bg.xml; locale/nl.xml; loca⋯ +

    +
    +            Updated translations from Red Hat and the Fedora Project
    +          
    +
  • +

    + rlandmann: locale/as.xml; locale/bn_IN.xml; locale/ast.xml; locale/ml.xml; locale/te.xml; ⋯ +

    +
    +            New translations from Red Hat and the Fedora Project
    +          
    +
  • +

    + rlandmann: locale/pt.xml; locale/ca.xml; locale/da.xml; locale/sr.xml; locale/ru.xml; loca⋯ +

    +
    +            Updated translations from Red Hat and the Fedora Project
    +          
    +
+
+ +

Common

+ +

The following changes have been made to the common code since the 1.75.2 release.

+
  • +

    + Mauritz Jeanson: common.xsl +

    +
    +            Fixed bug in output-orderedlist-starting-number template (@startingnumber did not work for FO).
    +          
    +
  • +

    + Mauritz Jeanson: gentext.xsl +

    +
    +            Added fix to catch ID also of descendants of listitem. Closes bug #2955077.
    +          
    +
  • +

    + Jirka Kosek: l10n.xsl +

    +
    +            Stripped down, faster version of gentext.template is used when there is no localization customization.
    +          
    +
  • +

    + Mauritz Jeanson: stripns.xsl +

    +
    +            Added fix that preserves link/@role (makes links in the reference documentation
    +with @role="tcg" work).
    +          
    +
  • +

    + Mauritz Jeanson: l10n.xsl +

    +
    +            Fixed bugs related to manpages and L10n.
    +          
    +
  • +

    + Jirka Kosek: entities.ent; autoidx-kosek.xsl +

    +
    +            Upgraded to use common entities. Fixed bug when some code used @sortas and some not for grouping/sorting of indexterms.
    +          
    +
  • +

    + Jirka Kosek: l10n.xsl; l10n.dtd; l10n.xml; autoidx-kosek.xsl +

    +
    +            Refactored localization support. Language files are loaded on demand. Speedup is about 30%.
    +          
    +
  • +

    + Jirka Kosek: l10n.xsl +

    +
    +            Added xsl:keys for improved performance of localization texts look up. Performance gain around 15%.
    +          
    +
  • +

    + Mauritz Jeanson: titles.xsl +

    +
    +            Fixed bug #2912677 (error with xref in title).
    +          
    +
  • +

    + Robert Stayton: olink.xsl +

    +
    +            Fix bug in xrefstyle "title" handling introduced with 
    +the 'insert.targetdb.data' template.
    +          
    +
  • +

    + Robert Stayton: gentext.xsl +

    +
    +            Fix bug in xref to equation without title to use context="xref-number" instead
    +of "xref-number-and-title".
    +          
    +
  • +

    + Robert Stayton: labels.xsl +

    +
    +            Number all equations in one sequence, with or without title.
    +          
    +
  • +

    + Robert Stayton: entities.ent +

    +
    +            Fix bug #2896909 where duplicate @sortas on indexterms caused 
    +some indexterms to drop out of index.
    +          
    +
  • +

    + Robert Stayton: stripns.xsl +

    +
    +            Expand the "Stripping namespace ..." message to advise users to
    +use the namespaced stylesheets.
    +          
    +
  • +

    + Robert Stayton: stripns.xsl +

    +
    +            need a local version of $exsl.node.set.available variable because
    +this module imported many places.
    +          
    +
  • +

    + Mauritz Jeanson: olink.xsl +

    +
    +            Added /node() to the select expression that is used to compute the title text
    +so that no <ttl> elements end up in the output. Closes bug #2830119.
    +          
    +
+
+ +

FO

+ +

The following changes have been made to the + fo code + since the 1.75.2 release.

+
  • +

    + Robert Stayton: table.xsl +

    +
    +            Fix bug 2979166 able - Attribute @rowheader not working
    +          
    +
  • +

    + Mauritz Jeanson: inline.xsl +

    +
    +            Improved glossterm auto-linking by using keys. The old code was inefficient when processing documents
    +with many inline glossterms.
    +          
    +
  • +

    + Robert Stayton: titlepage.xsl +

    +
    +            Fix bug 2805530 author/orgname not appearing on title page.
    +          
    +
  • +

    + Mauritz Jeanson: graphics.xsl +

    +
    +            Added support for SVG content in imagedata (inspired by patch #2909154).
    +          
    +
  • +

    + Mauritz Jeanson: table.xsl +

    +
    +            Removed superfluous test used when computing column-width. Closes bug #3000898.
    +          
    +
  • +

    + Mauritz Jeanson: inline.xsl +

    +
    +            Added missing <xsl:call-template name="anchor"/>. Closes bug #2998567.
    +          
    +
  • +

    + Mauritz Jeanson: lists.xsl +

    +
    +            Added table-layout="fixed" on segmentedlist table (required by XSL spec when  proportional-column-width() is used).
    +          
    +
  • +

    + Jirka Kosek: autoidx-kosek.xsl +

    +
    +            Upgraded to use common entities. Fixed bug when some code used @sortas and some not for grouping/sorting of indexterms.
    +          
    +
  • +

    + Jirka Kosek: index.xsl +

    +
    +            Upgraded to use common entities. Fixed bug when some code used @sortas and some not for grouping/sorting of indexterms.
    +          
    +
  • +

    + Robert Stayton: xref.xsl +

    +
    +            Fix bug in olink template when an olink has an id.
    +Add warning message with id value when trying to link
    +to an element that has no generated text.
    +          
    +
  • +

    + Mauritz Jeanson: refentry.xsl +

    +
    +            Fixed bug #2930968 (indexterm in refmeta not handled correctly).
    +          
    +
  • +

    + Robert Stayton: block.xsl +

    +
    +            fix bug 2949567 title in revhistory breaks FO transform.
    +          
    +
  • +

    + Robert Stayton: glossary.xsl +

    +
    +            Output id attributes on glossdiv blocks so they can be added to
    +xrefs or TOC.
    +          
    +
  • +

    + Jirka Kosek: xref.xsl +

    +
    +            Enabled hyphenation of URLs when ulink content is the same as link target
    +          
    +
  • +

    + Robert Stayton: table.xsl +

    +
    +            Apply patch to turn off row recursion if no @morerows attributes present.
    +This will enable very large tables without row spanning to 
    +process without running into recursion limits.
    +          
    +
  • +

    + Robert Stayton: formal.xsl +

    +
    +            Format equation without title using table layout with equation number
    +next to the equation.
    +          
    +
  • +

    + Robert Stayton: param.xweb; param.ent +

    +
    +            Add equation.number.properties.
    +          
    +
+
+ +

HTML

+ +

The following changes have been made to the + html code + since the 1.75.2 release.

+
  • +

    + Mauritz Jeanson: block.xsl +

    +
    +            Modified acknowledgements template to avoid invalid output (<p> in <p>).
    +          
    +
  • +

    + Mauritz Jeanson: titlepage.xsl +

    +
    +            Added default sidebar attribute-sets.
    +          
    +
  • +

    + Robert Stayton: table.xsl +

    +
    +            Fix bug 2979166 able - Attribute @rowheader not working
    +          
    +
  • +

    + Robert Stayton: footnote.xsl +

    +
    +            Fix bug 3033191 footnotes in html tables.
    +          
    +
  • +

    + Mauritz Jeanson: inline.xsl +

    +
    +            Improved glossterm auto-linking by using keys. The old code was inefficient when processing documents
    +with many inline glossterms.
    +          
    +
  • +

    + Robert Stayton: docbook.css.xml; verbatim.xsl +

    +
    +            Fix bug 2844927 Validity error for callout bugs.
    +          
    +
  • +

    + Robert Stayton: formal.xsl +

    +
    +            Convert formal.object.heading to respect make.clean.html param.
    +          
    +
  • +

    + Robert Stayton: titlepage.templates.xml; block.xsl +

    +
    +            Fix bug 2840768 sidebar without title inserts empty b tag.
    +          
    +
  • +

    + Mauritz Jeanson: docbook.xsl +

    +
    +            Moved the template that outputs <base> so that the base URI also applies to relative CSS paths that come later.
    +See patch #2896121.
    +          
    +
  • +

    + Jirka Kosek: autoidx-kosek.xsl +

    +
    +            Upgraded to use common entities. Fixed bug when some code used @sortas and some not for grouping/sorting of indexterms.
    +          
    +
  • +

    + Robert Stayton: chunk-code.xsl +

    +
    +            fix bug 2948363 generated filename for refentry not unique, when
    +used in a set.
    +          
    +
  • +

    + Robert Stayton: component.xsl +

    +
    +            Fix missing "Chapter n" label when use chapter/info/title.
    +          
    +
  • +

    + Robert Stayton: table.xsl +

    +
    +            Row recursion turned off if no @morerows attributes in the table.
    +This will prevent failure on long table (with no @morerows) due
    +to excessive depth of recursion.
    +          
    +
  • +

    + Robert Stayton: autotoc.xsl; docbook.css.xml +

    +
    +            Support make.clean.html in autotoc.xsl.
    +          
    +
  • +

    + Robert Stayton: docbook.css.xml; block.xsl +

    +
    +            Add support for make.clean.html setting in block elements.
    +          
    +
  • +

    + Robert Stayton: docbook.css.xml +

    +
    +            Stock CSS styles for DocBook HTML output when 'make.clean.html' is non-zero.
    +          
    +
  • +

    + Robert Stayton: html.xsl +

    +
    +            Add templates for generating CSS files and links to them.
    +          
    +
  • +

    + Robert Stayton: param.xweb +

    +
    +            Fix bugs in new entity references.
    +          
    +
  • +

    + Robert Stayton: chunk-common.xsl +

    +
    +            List of Equations now includes on equations with titles.
    +          
    +
  • +

    + Robert Stayton: table.xsl +

    +
    +            If a colspec has a colname attribute, add it to the HTML col
    +element as a class attribute so it can be styled.
    +          
    +
  • +

    + Robert Stayton: formal.xsl +

    +
    +            Fix bug 2825842 where table footnotes not appearing in HTML-coded table.
    +          
    +
  • +

    + Robert Stayton: chunktoc.xsl +

    +
    +            Fix bug #2834826 where appendix inside part was not chunked as it should be.
    +          
    +
  • +

    + Mauritz Jeanson: chunktoc.xsl +

    +
    +            Added missing namespace declarations. Closes bug #2890069.
    +          
    +
  • +

    + Mauritz Jeanson: footnote.xsl +

    +
    +            Updated the template for footnote paras to use the 'paragraph' template. Closes bug #2803739.
    +          
    +
  • +

    + Keith Fahlgren: inline.xsl; lists.xsl +

    +
    +            Remove <b> and <i> elements "discouraged in favor of style sheets" from
    +XHTML, XHTML 1.1 (and therefore EPUB) outputs by changing html2xhtml.xsl.
    +
    +Fixes bug #2873153: No <b> and <i> tags in XHTML/EPUB
    +
    +Added regression to EPUB specs:
    +          
    +
  • +

    + Mauritz Jeanson: inline.xsl +

    +
    +            Fixed bug #2844916 (don't output @target if ulink.target is empty).
    +          
    +
  • +

    + Keith Fahlgren: autoidx.xsl +

    +
    +            Fix a bug when using index.on.type: an 'index symbols' section was created 
    +even if that typed index didn't include any symbols (they were in the other types).
    +          
    +
+
+ +

Manpages

+ +

The following changes have been made to the + manpages code + since the 1.75.2 release.

+
  • +

    + Mauritz Jeanson: other.xsl +

    +
    +            Modified the write.stubs template so that the section directory name is not output twice. Should fix bug #2831602.
    +Also ensured that $lang is added to the .so path (when man.output.lang.in.name.enabled=1).
    +          
    +
  • +

    + Mauritz Jeanson: docbook.xsl; other.xsl +

    +
    +            Fixed bug #2412738 (apostrophe escaping) by applying the submitted patch.
    +          
    +
  • +

    + Norman Walsh: block.xsl; endnotes.xsl +

    +
    +            Fix bug where simpara in footnote didn't work. Patch by Jonathan Nieder, jrnieder@gmail.com
    +          
    +
  • +

    + dleidert: lists.xsl +

    +
    +            Fix two indentation issues: In the first case there is no corresponding .RS
    +macro (Debian #519438, sf.net 2793873). In the second case an .RS instead of
    +the probably intended .sp leads to an indentation bug (Debian #527309,
    +sf.net #2642139).
    +          
    +
+
+ +

Epub

+ +

The following changes have been made to the + epub code + since the 1.75.2 release.

+
  • +

    + Keith Fahlgren: bin/spec/examples/AMasqueOfDays.epub; docbook.xsl; bin/spec/epub_spec.rb +

    +
    +            Resolve some actual regressions in date output spotted by more recent versions of epubcheck
    +          
    +
  • +

    + Keith Fahlgren: docbook.xsl +

    +
    +            Updated mediaobject selection code that better uses roles (when available); based on contributons by  Glenn McDonald
    +          
    +
  • +

    + Keith Fahlgren: bin/spec/epub_regressions_spec.rb; docbook.xsl +

    +
    +            Ensure that NCX documents are always outputted with a default namespace
    +to prevent problems with the kindlegen machinery
    +          
    +
  • +

    + Keith Fahlgren: bin/spec/epub_regressions_spec.rb; bin/spec/files/partintro.xml; docbook.x⋯ +

    +
    +            Adding support for partintros with sect2s, 3s, etc
    +          
    +
  • +

    + Keith Fahlgren: docbook.xsl +

    +
    +            Adding param to workaround horrific ADE bug with the inability to process <br>
    +          
    +
  • +

    + Keith Fahlgren: docbook.xsl +

    +
    +            Add support for authorgroup/author in OPF metadata (via Michael Wiedmann)
    +          
    +
  • +

    + Keith Fahlgren: bin/spec/epub_regressions_spec.rb +

    +
    +            Remove <b> and <i> elements "discouraged in favor of style sheets" from
    +XHTML, XHTML 1.1 (and therefore EPUB) outputs by changing html2xhtml.xsl.
    +
    +Fixes bug #2873153: No <b> and <i> tags in XHTML/EPUB
    +
    +Added regression to EPUB specs:
    +          
    +
  • +

    + Keith Fahlgren: bin/lib/docbook.rb; bin/spec/files/DejaVuSerif-Italic.otf; docbook.xsl; bi⋯ +

    +
    +            This resolves bug #2873142, Please add support for multiple embedded fonts
    +
    +
    +If you navigate to a checkout of DocBook-XSL and go to:
    +xsl/epub/bin/spec/files
    +You can now run the following command:
    +
    +../../dbtoepub -f DejaVuSerif.otf -f DejaVuSerif-Italic.otf -c test.css
    +-s test_cust.xsl orm.book.001.xml
    +
    +In dbtoepub, the following option can be used more than once:
    +-f, --font [OTF FILE] Embed OTF FILE in .epub.
    +
    +The underlying stylesheet now accepts a comma-separated list of font file
    +names rather than just one as the RENAMED epub.embedded.fonts ('s' added).
    +
    +The runnable EPUB spec now includes:
    +- should be valid .epub after including more than one embedded font
    +          
    +
  • +

    + Keith Fahlgren: docbook.xsl +

    +
    +            Improve the selection of cover images when working in DocBook 4.x land (work in progress)
    +          
    +
  • +

    + Keith Fahlgren: bin/spec/epub_regressions_spec.rb; docbook.xsl +

    +
    +            Improve the quality of the OPF spine regression by ensuring that the spine
    +elements for deeply nested refentries are in order and adjacent to their
    +opening wrapper XHTML chunk.
    +          
    +
  • +

    + Keith Fahlgren: bin/spec/epub_regressions_spec.rb; docbook.xsl; bin/spec/files/orm.book.00⋯ +

    +
    +            Add more careful handling of refentries to ensure that they always appear in the opf:spine.
    +This was only a problem when refentries were pushed deep into the hierarchy (like inside
    +a sect2), but presented navigational problems for many reading systems (despite the
    +correct NCX references). This may *not* be the best solution, but attacking a better
    +chunking strategy for refentries was too big a nut to crack at this time.
    +          
    +
+
+ +

Eclipse

+ +

The following changes have been made to the + eclipse code + since the 1.75.2 release.

+
  • +

    + Mauritz Jeanson: eclipse3.xsl +

    +
    +            Added a stylesheet module that generates plug-ins conforming to the standard (OSGi-based) Eclipse 3.x 
    +architecture. The main difference to the older format is that metadata is stored in a separate 
    +manifest file. The module imports and extends the existing eclipse.xsl module. Based on code 
    +contributed in patch #2624668.
    +          
    +
+
+ +

Params

+ +

The following changes have been made to the + params code + since the 1.75.2 release.

+
  • +

    + Robert Stayton: draft.watermark.image.xml +

    +
    +            Fix bug 2922488 draft.watermark.image pointing to web resource.
    +Now the value is images/draft.png, and may require customization
    +for local resolution.
    +          
    +
  • +

    + Mauritz Jeanson: equation.number.properties.xml +

    +
    +            Corrected refpurpose.
    +          
    +
  • +

    + Norman Walsh: paper.type.xml +

    +
    +            Added USlegal and USlegallandscape paper types.
    +          
    +
  • +

    + Jirka Kosek: highlight.xslthl.config.xml +

    +
    +            Added note about specifying location as URL
    +          
    +
  • +

    + Robert Stayton: docbook.css.source.xml; generate.css.header.xml; custom.css.source.xml; ma⋯ +

    +
    +            Params to support generated CSS files.
    +          
    +
  • +

    + Robert Stayton: equation.number.properties.xml +

    +
    +            New attribute set for numbers appearing next to equations.
    +          
    +
+
+ +

XSL-Xalan

+ +

The following changes have been made to the + xsl-xalan code + since the 1.75.2 release.

+
  • +

    + dleidert: nbproject/genfiles.properties; nbproject/build-impl.xml +

    +
    +            Rebuild netbeans build files after adding missing Netbeans configuration to allow easier packaging for Debian.
    +          
    +
+
+ +
+

Release Notes: 1.75.2

+ +

The following is a list of changes that have been made + since the 1.75.1 release.

+ +

Gentext

+ +

The following changes have been made to the + gentext code + since the 1.75.1 release.

+
  • +

    dleidert: locale/ja.xml

    Improved Japanese translation for Note(s). Closes bug #2823965.
    +
  • +

    dleidert: locale/pl.xml

    Polish alphabet contains O with acute accent, not with grave accent. Closes bug #2823964.
    +
  • +

    Robert Stayton: locale/ja.xml

    Fix translation of "index", per bug report 2796064.
    +
  • +

    Robert Stayton: locale/is.xml

    New Icelandic locale file.
    +
+
+ +

Common

+ +

The following changes have been made to the + common code + since the 1.75.1 release.

+
  • +

    Norman Walsh: stripns.xsl

    Support more downconvert cases
    +
  • +

    Robert Stayton: titles.xsl

    Make sure title inside info is used if no other title.
    +
+
+ +

FO

+ +

The following changes have been made to the + fo code + since the 1.75.1 release.

+
  • +

    Robert Stayton: pi.xsl

    Turn off dbfo-need for fop1.extensions also, per bug #2816141.
    +
+
+ +

HTML

+ +

The following changes have been made to the + html code + since the 1.75.1 release.

+
  • +

    Mauritz Jeanson: titlepage.xsl

    Output "Copyright" heading in XHTML too.
    +
  • +

    Mauritz Jeanson: titlepage.xsl

    Added stylesheet.result.type test for copyright. Closes bug #2813289.
    +
  • +

    Norman Walsh: htmltbl.xsl

    Remove ambiguity wrt @span, @rowspan, and @colspan
    +
+
+ +

Manpages

+ +

The following changes have been made to the + manpages code + since the 1.75.1 release.

+
  • +

    Mauritz Jeanson: endnotes.xsl

    Added normalize-space() for ulink content. Closes bug #2793877.
    +
  • +

    Mauritz Jeanson: docbook.xsl

    Added stylesheet.result.type test for copyright. Closes bug #2813289.
    +
+
+ +

Epub

+ +

The following changes have been made to the + epub code + since the 1.75.1 release.

+
  • +

    Keith Fahlgren: bin/dbtoepub; bin/lib/docbook.rb

    Corrected bugs caused by path and file assumptions were not met
    +
  • +

    Keith Fahlgren: bin/lib/docbook.rb; docbook.xsl

    Cleaning up hardcoded values into parameters and fixing Ruby library to pass them properly; all thanks to patch from Liza Daly
    +
+
+ +

Profiling

+ +

The following changes have been made to the + profiling code + since the 1.75.1 release.

+
+
+ +

XSL-Saxon

+ +

The following changes have been made to the + xsl-saxon code + since the 1.75.1 release.

+
  • +

    Mauritz Jeanson: src/com/nwalsh/saxon/ColumnUpdateEmitter.java; src/com/nwalsh/saxon/Colum⋯

    Added fixes so that colgroups in the XHTML namespace are processed properly.
    +
+
+ +

XSL-Xalan

+ +

The following changes have been made to the + xsl-xalan code + since the 1.75.1 release.

+
  • +

    Mauritz Jeanson: nbproject/project.xml

    Added missing NetBeans configuration.
    +
+
+ +
+ + +

Release Notes: 1.75.1

+ +

This release includes bug fixes.

+ +

The following is a list of changes that have been made since the 1.75.0 release.

+ + +

FO

+ +

The following changes have been made to the fo code since the 1.75.0 release.

+
  • +

    Keith Fahlgren: block.xsl

    Switching to em dash for character before attribution in epigraph; resolves Bug #2793878
    +
  • +

    Robert Stayton: lists.xsl

    Fixed bug 2789947, id attribute missing on simplelist fo output.
    +
+
+ +

HTML

+ +

The following changes have been made to the + html code + since the 1.75.0 release.

+
  • +

    Keith Fahlgren: block.xsl

    Switching to em dash for character before attribution in epigraph; resolves Bug #2793878
    +
  • +

    Robert Stayton: lists.xsl

    Fixed bug 2789678: apply-templates line accidentally deleted.
    +
+
+ +

Epub

+ +

The following changes have been made to the + epub code + since the 1.75.0 release.

+
  • +

    Keith Fahlgren: bin/spec/epub_regressions_spec.rb; docbook.xsl

    Added regression and fix to correct "bug" with namespace-prefixed container elements in META-INF/container.xml ; resolves Issue #2790017
    +
  • +

    Keith Fahlgren: bin/spec/epub_regressions_spec.rb; bin/spec/files/onegraphic.xinclude.xml;⋯

    Another attempt at flexible named entity and XInclude processing
    +
  • +

    Keith Fahlgren: bin/lib/docbook.rb

    Tweaking solution to Bug #2750442 following regression reported by Michael Wiedmann.
    +
+
+ +

Params

+ +

The following changes have been made to the + params code + since the 1.75.0 release.

+
  • +

    Mauritz Jeanson: highlight.source.xml

    Updated documentation to reflect changes made in r8419.
    +
+
+ +
+ + +

Release Notes: 1.75.0

+ +

This release includes important bug fixes and adds the following +significant feature changes: +

Gentext

Modifications to translations have been made.

Common
+

Added support for some format properties on tables using +HTML table markup.

+

Added two new qanda.defaultlabel values so that numbered sections +and numbered questions can be distinguished. Satisfies +Feature Request #1539045.

+

Added code to handle acknowledgements in book and part. The element is processed +similarly to dedication. All acknowledgements will appear as front matter, after +any dedications.

+
FO
+

The inclusion of highlighting code has been simplified.

+

Add support for pgwide on informal objects.

+

Added a new parameter, bookmarks.collapse, that controls the initial state of the bookmark tree. Closes FR #1792326.

+

Add support for more dbfo processing instructions.

+

Add new variablelist.term.properties to format terms, per request # 1968513.

+

Add support for @width on screen and programlisting, fixes bug #2012736.

+

Add support for writing-mode="rl-tb" (right-to-left) in FO outputs.

+

Add writing.mode param for FO output.

+
HTML
+

Convert all calls to class.attribute to calls to common.html.attributes to support dir, lang, and title attributes in html output for all elements. Fulfills feature request #1993833.

+

Inclusion of highlighting code was simplified. Only one import is now necessary.

+

Add new param index.links.to.section.

+

Add support for the new index.links.to.section param which permits precise links to indexterms in HTML output rather than to the section title.

+
ePub
+

Slightly more nuanced handling of imageobject alternatives and better support in dbtoepub for XIncludes and ENTITYs to resolve Issue #2750442 reported by Raphael Hertzog.

+

Added a colon after an abstract/title when mapping into the dc:description for OPF metadata in ePub output to help the flat text have more pseudo-semantics (sugestions from Michael Wiedmann)

+

Added DocBook subjectset -> OPF dc:subject mapping and tests

+

Added DocBook date -> OPF dc:date mapping and tests

+

Added DocBook abstract -> OPF dc:description mapping and tests

+

Added --output option to dbtoepub based on user request

+
HTMLHelp
+

Add support for generating olink target database for htmlhelp files.

Params
+

Add default setting for @rules attribute on HTML markup tables.

+

Added a new parameter, bookmarks.collapse, that controls the initial state of the bookmark tree. When the parameter has a non-zero value (the default), only the top-level bookmarks are displayed initially. Otherwise, the whole tree of bookmarks is displayed. This is implemented for FOP 0.9X. Closes FR #1792326.

+

Add new variablelist.term.properties to format terms, per request # 1968513.

+

Add two new qanda.defaultlabel values so that numbered sections and numbered questions can be distinguished. Satisfies Feature Request #1539045.

+

Add param to control whether an index entry links to a section title or to the precise location of the indexterm.

+

New attribute list for glossentry in glossary.

+

New parameter to support @width on programlisting and screen.

+

Add attribute-sets for formatting glossary terms and defs.

+
Highlighting
+

Inclusion of highlighting code was simplified. Only one import is now necessary.

+

+ + +

+

The following is a list of changes that have been made + since the 1.74.3 release.

+ +

Gentext

+ +

The following changes have been made to the + gentext code + since the 1.74.3 release.

+
  • +

    Robert Stayton: locale/sv.xml; locale/ja.xml; locale/pl.xml

    Check in translations of Legalnotice submitted on mailing list.
    +
  • +

    Robert Stayton: locale/es.xml

    Fix spelling errors in Acknowledgements entries.
    +
  • +

    Robert Stayton: locale/es.xml

    Check in translations for 4 elements submitted through docbook-apps
    +message of 14 April 2009.
    +
  • +

    David Cramer: locale/zh.xml; locale/ca.xml; locale/ru.xml; locale/ga.xml; locale/gl.xml; l⋯

    Internationalized punctuation in glosssee and glossseealso
    +
  • +

    Robert Stayton: Makefile

    Check in fixes for DSSSL gentext targets from submitted patch #1689633.
    +
  • +

    Robert Stayton: locale/uk.xml

    Check in major update submitted with bug report #2008524.
    +
  • +

    Robert Stayton: locale/zh_tw.xml

    Check in fix to Note string submitted in bug #2441051.
    +
  • +

    Robert Stayton: locale/ru.xml

    Checkin typo fix submitted in bug #2453406.
    +
+
+ +

Common

+ +

The following changes have been made to the + common code + since the 1.74.3 release.

+
  • +

    Robert Stayton: gentext.xsl

    Fix extra generated space when xrefstyle includes 'nopage'.
    +
  • +

    Robert Stayton: table.xsl

    Add support for some format properties on tables using
    +HTML table markup.  These include:
    +  - frame attribute on table (or uses $default.table.frame parameter).
    +  - rules attribute on table (or uses $default.table.rules parameter).
    +  - align attribute on td and th
    +  - valign attribute on td and th
    +  - colspan on td and th
    +  - rowspan on td and th
    +  - bgcolor on td and th
    +
  • +

    Robert Stayton: olink.xsl

    Add placeholder template to massage olink hot text to make
    +customization easier, per Feature Request 1828608.
    +
  • +

    Robert Stayton: targets.xsl

    Add support for collecting olink targets from a glossary
    +generated from a glossary.collection.
    +
  • +

    Robert Stayton: titles.xsl

    Handle firstterm like glossterm in mode="title.markup".
    +
  • +

    Robert Stayton: titles.xsl

    Add match on info/title in title.markup templates where missing.
    +
  • +

    Mauritz Jeanson: titles.xsl

    Changed "ancestor::title" to "(ancestor::title and (@id or @xml:id))".
    +This enables proper formatting of inline elements in titles in TOCs, 
    +as long as these inlines don't have id or xml:id attributes.
    +
  • +

    Robert Stayton: labels.xsl

    Add two new qanda.defaultlabel values so that numbered sections
    +and numbered questions can be distinguished.  Satisfies
    +Feature Request #1539045.
    +
  • +

    Robert Stayton: stripns.xsl; pi.xsl

    Convert function-available(exsl:node-set) to use the new param
    +so Xalan bug is isolated.
    +
  • +

    Mauritz Jeanson: titles.xsl

    Added fixes for bugs #2112656 and #1759205:
    +1. Reverted mistaken commits r7485 and r7523. 
    +2. Updated the template with match="link" and mode="no.anchor.mode" so that 
    +@endterm is used if it exists and if the link has no content.
    +
  • +

    Mauritz Jeanson: titles.xsl

    Added code to handle acknowledgements in book and part. The element is processed
    +similarly to dedication. All acknowledgements will appear as front matter, after
    +any dedications.
    +
  • +

    Robert Stayton: olink.xsl

    Fix bug #2018717 use.local.olink.style uses wrong gentext context.
    +
  • +

    Robert Stayton: olink.xsl

    Fix bug #1787167 incorrect hot text for some olinks.
    +
  • +

    Robert Stayton: common.xsl

    Fix bug #1669654 Broken output if copyright <year> contains a range.
    +
  • +

    Robert Stayton: labels.xsl

    Fix bug in labelling figure inside appendix inside article inside book.
    +
+
+ +

FO

+ +

The following changes have been made to the + fo code + since the 1.74.3 release.

+
  • +

    Jirka Kosek: highlight.xsl

    Inclusion of highlighting code was simplified. Only one import is now necessary.
    +
  • +

    Robert Stayton: fop1.xsl

    Add the new fop extensions namespace declaration, in case FOP
    +extension functions are used.
    +
  • +

    Robert Stayton: formal.xsl

    Add support for pgwide on informal objects.
    +
  • +

    Robert Stayton: docbook.xsl

    Fixed spurious closing quote on line 134.
    +
  • +

    Robert Stayton: docbook.xsl; autoidx-kosek.xsl; autoidx.xsl

    Convert function-available for node-set() to use
    +new $exsl.node.set.available param in test.
    +
  • +

    David Cramer: xref.xsl

    Suppress extra space after xref when xrefstyle='select: label nopage' (#2740472)
    +
  • +

    Mauritz Jeanson: pi.xsl

    Fixed doc bug for row-height.
    +
  • +

    David Cramer: glossary.xsl

    Internationalized punctuation in glosssee and glossseealso
    +
  • +

    Robert Stayton: param.xweb; param.ent; htmltbl.xsl; table.xsl

    Add support for some format properties on tables using
    +HTML table markup.  These include:
    +  - frame attribute on table (or uses $default.table.frame parameter).
    +  - rules attribute on table (or uses $default.table.rules parameter).
    +  - align attribute on td and th
    +  - valign attribute on td and th
    +  - colspan on td and th
    +  - rowspan on td and th
    +  - bgcolor on td and th
    +
  • +

    Robert Stayton: table.xsl

    Add support bgcolor in td and th
    +elements in HTML table markup.
    +
  • +

    Robert Stayton: htmltbl.xsl

    Add support for colspan and rowspan and bgcolor in td and th
    +elements in HTML table markup.
    +
  • +

    Robert Stayton: param.xweb

    Fix working of page-master left and right margins.
    +
  • +

    Mauritz Jeanson: param.xweb; param.ent; fop1.xsl

    Added a new parameter, bookmarks.collapse, that controls the initial state of the bookmark tree. When the parameter has a non-zero value (the default), only the top-level bookmarks are displayed initially. Otherwise, the whole tree of bookmarks is displayed.  This is implemented for FOP 0.9X. Closes FR #1792326.
    +
  • +

    Robert Stayton: table.xsl; pi.xsl

    Add support for dbfo row-height processing instruction, like that in dbhtml.
    +
  • +

    Robert Stayton: lists.xsl

    Add support for dbfo keep-together processing instruction for
    +entire list instances.
    +
  • +

    Robert Stayton: lists.xsl; block.xsl

    Add support fo dbfo keep-together processing instruction to
    +more blocks like list items and paras.
    +
  • +

    Robert Stayton: lists.xsl; param.xweb; param.ent

    Add new variablelist.term.properties to format terms, per request # 1968513.
    +
  • +

    Robert Stayton: inline.xsl

    In simple.xlink, rearrange order of processing.
    +
  • +

    Robert Stayton: xref.xsl

    Handle firstterm like glossterm in mode="xref-to".
    +
  • +

    Robert Stayton: glossary.xsl; xref.xsl; pi.xsl; footnote.xsl

    Implement simple.xlink for glosssee and glossseealso so they can use
    +other types of linking besides otherterm.
    +
  • +

    Robert Stayton: qandaset.xsl

    Add two new qanda.defaultlabel values so that numbered sections and numbered questions can be distinguished.  Satisfies Feature Request #1539045.
    +
  • +

    Robert Stayton: titlepage.xsl

    For the book title templates, I changed info/title to book/info/title
    +so other element's titles will not be affected.
    +
  • +

    Robert Stayton: xref.xsl; verbatim.xsl

    Use param exsl.node.set.available to test for function.
    +
  • +

    Robert Stayton: param.xweb; param.ent; footnote.xsl

    Start using new param exsl.node.set.available to work around Xalan bug.
    +
  • +

    Robert Stayton: titlepage.templates.xml

    Add comment on use of t:predicate for editor to prevent
    +extra processing of multiple editors. Fixes bug 2687842.
    +
  • +

    Robert Stayton: xref.xsl; autoidx.xsl

    An indexterm primary, secondary, or tertiary element with an id or xml:id
    +now outputs that ID, so that index entries can be cross referenced to.
    +
  • +

    Mauritz Jeanson: synop.xsl

    Added modeless template for ooclass|oointerface|ooexception.
    +Closes bug #1623468.
    +
  • +

    Robert Stayton: xref.xsl

    Add template with match on indexterm in mode="xref-to" to fix bug 2102592.
    +
  • +

    Robert Stayton: xref.xsl

    Now xref to qandaentry will use the label element in a question for
    +the link text if it has one.
    +
  • +

    Robert Stayton: inline.xsl

    Add id if specified from @id to output for quote and phrase so
    +they can be xref'ed to.
    +
  • +

    Robert Stayton: xref.xsl

    Add support for xref to phrase, simpara, anchor, and quote.
    +This assumes the author specifies something using xrefstyle since
    +the elements don't have ordinary link text.
    +
  • +

    Robert Stayton: toc.xsl

    Fix bug in new toc templates.
    +
  • +

    Mauritz Jeanson: titlepage.xsl; component.xsl; division.xsl; xref.xsl; titlepage.templates⋯

    Added code to handle acknowledgements in book and part. The element is processed
    +similarly to dedication. All acknowledgements will appear as front matter, after
    +any dedications.
    +
  • +

    Robert Stayton: toc.xsl

    Rewrite toc templates to support an empty toc or populated toc
    +in all permitted contexts.  Same for lot elements.
    +This fixes bug #1595969 for FO outputs.
    +
  • +

    Robert Stayton: index.xsl

    Fix indents for seealsoie so they are consistent.
    +
  • +

    Mauritz Jeanson: param.xweb

    Removed duplicate (monospace.font.family).
    +
  • +

    Robert Stayton: param.xweb; param.ent

    Add glossentry.list.item.properties.
    +
  • +

    Robert Stayton: param.xweb; param.ent

    Add monospace.verbatim.font.width param to support @width on programlisting.
    +
  • +

    Robert Stayton: verbatim.xsl

    Put programlisting in fo:block-container with writing-mode="lr-tb"
    +when text direction is right to left because all program languages
    +are left-to-right.
    +
  • +

    Robert Stayton: verbatim.xsl

    Add support for @width on screen and programlisting, fixes bug #2012736.
    +
  • +

    Robert Stayton: xref.xsl

    Fix bug #1973585 xref to para with xrefstyle not handled correctly.
    +
  • +

    Mauritz Jeanson: block.xsl

    Added support for acknowledgements in article.
    +Support in book/part remains to be added.
    +
  • +

    Robert Stayton: xref.xsl

    Fix bug #1787167 incorrect hot text for some olinks.
    +
  • +

    Robert Stayton: fo.xsl

    Add writing-mode="tb-rl" as well since some XSL-FO processors support it.
    +
  • +

    Robert Stayton: autotoc.xsl; lists.xsl; glossary.xsl; fo.xsl; table.xsl; pagesetup.xsl

    Add support for writing-mode="rl-tb" (right-to-left) in FO outputs.
    +Changed instances of margin-left to margin-{$direction.align.start}
    +and margin-right to margin-{$direction.align.end}. Those direction.align
    +params are computed from the writing mode value in each locale's
    +gentext key named 'writing-mode', introduced in 1.74.3 to add
    +right-to-left support to HTML outputs.
    +
  • +

    Robert Stayton: param.xweb; param.ent

    Add attribute-sets for formatting glossary terms and defs.
    +
  • +

    Robert Stayton: param.xweb; param.ent

    Add writing.mode param for FO output.
    +
  • +

    Robert Stayton: autotoc.xsl

    Fix bug 1546008: in qandaentry in a TOC, use its blockinfo/titleabbrev or blockinfo/title
    +instead of question, if available. For DocBook 5, use the info versions.
    +
  • +

    Keith Fahlgren: verbatim.xsl

    Add better pointer to README for XSLTHL
    +
  • +

    Keith Fahlgren: verbatim.xsl

    More tweaking the way that XSLTHL does or does not get called
    +
  • +

    Keith Fahlgren: verbatim.xsl

    Alternate attempt at sanely including/excluding XSLTHT code
    +
+
+ +

HTML

+ +

The following changes have been made to the + html code + since the 1.74.3 release.

+
  • +

    Robert Stayton: lists.xsl

    Removed redundant lang and title attributes on list element inside
    +div element for lists.
    +
  • +

    Robert Stayton: inline.xsl; titlepage.xsl; division.xsl; toc.xsl; sections.xsl; table.xsl;⋯

    Convert all calls to class.attribute to calls to common.html.attributes
    +to support dir, lang, and title attributes in html output for all elements.
    +Fulfills feature request #1993833.
    +
  • +

    Robert Stayton: chunk-common.xsl

    Fix bug #2750253 wrong links in list of figures in chunk.html
    +when target html is in a subdirectory and dbhtml filename used.
    +
  • +

    Jirka Kosek: highlight.xsl

    Inclusion of highlighting code was simplified. Only one import is now necessary.
    +
  • +

    Robert Stayton: chunk-common.xsl; chunktoc.xsl; docbook.xsl; chunk-changebars.xsl; autoidx⋯

    Convert function-available for node-set() to use
    +new $exsl.node.set.available param in test.
    +
  • +

    Mauritz Jeanson: pi.xsl

    Fixed doc bug for row-height.
    +
  • +

    David Cramer: glossary.xsl

    Internationalized punctuation in glosssee and glossseealso
    +
  • +

    Robert Stayton: lists.xsl; html.xsl; block.xsl

    More elements get common.html.attributes.
    +Added locale.html.attributes template which does the lang,
    +dir, and title attributes, but not the class attribute
    +(used on para, for example).
    +
  • +

    Robert Stayton: lists.xsl

    Replace more literal class atts with mode="class.attribute" to support
    +easier customization.
    +
  • +

    Robert Stayton: glossary.xsl

    Support olinking in glosssee and glossseealso.
    +
  • +

    Robert Stayton: inline.xsl

    In simple.xlink, rearrange order of processing.
    +
  • +

    Robert Stayton: xref.xsl

    Handle firstterm like glossterm in mode="xref-to".
    +
  • +

    Robert Stayton: lists.xsl; html.xsl; block.xsl

    Added template named common.html.attributes to output
    +class, title, lang, and dir for most elements.
    +Started adding it to some list and block elements.
    +
  • +

    Robert Stayton: qandaset.xsl

    Add two new qanda.defaultlabel values so that numbered sections
    +and numbered questions can be distinguished.  Satisfies
    +Feature Request #1539045.
    +
  • +

    Robert Stayton: param.xweb; chunk-code.xsl; param.ent; xref.xsl; chunkfast.xsl; verbatim.x⋯

    Use new param exsl.node.set.available to test, handles Xalan bug.
    +
  • +

    Robert Stayton: autoidx.xsl

    Use named anchors for primary, secondary, and tertiary ids so
    +duplicate entries with different ids can still have an id output.
    +
  • +

    Robert Stayton: param.xweb; param.ent

    Add new param index.links.to.section.
    +
  • +

    Robert Stayton: xref.xsl; autoidx.xsl

    Pass through an id on primary, secondary, or tertiary to 
    +the index entry, so that one could link to an index entry.
    +You can't link to the id on an indexterm because that is
    +used to place the main anchor in the text flow.
    +
  • +

    Robert Stayton: autoidx.xsl

    Add support for the new index.links.to.section param which permits
    +precise links to indexterms in HTML output rather than to
    +the section title.
    +
  • +

    Mauritz Jeanson: synop.xsl

    Added modeless template for ooclass|oointerface|ooexception.
    +Closes bug #1623468.
    +
  • +

    Robert Stayton: qandaset.xsl

    Make sure a qandaset has an anchor, even when it has no title, 
    +because it may be referenced in a TOC or xref.
    +Before, the anchor was output by the title, but there was no
    +anchor if there was no title.
    +
  • +

    Robert Stayton: xref.xsl

    Add a template for indexterm with mode="xref-to" to fix bug 2102592.
    +
  • +

    Robert Stayton: xref.xsl

    Now xref to qandaentry will use the label element in a question for
    +the link text if it has one.
    +
  • +

    Robert Stayton: qandaset.xsl; html.xsl

    Create separate templates for computing label of question and answer
    +in a qandaentry, so such can be used for the alt text of an xref
    +to a qandaentry.
    +
  • +

    Robert Stayton: inline.xsl; xref.xsl

    Now support xref to phrase, simpara, anchor, and quote,
    +most useful when an xrefstyle is used.
    +
  • +

    Robert Stayton: toc.xsl

    Rewrite toc templates to support an empty toc or populated toc
    +in all permitted contexts.  Same for lot elements.
    +This fixes bug #1595969 for HTML outputs.
    +
  • +

    Mauritz Jeanson: titlepage.xsl; component.xsl; division.xsl; xref.xsl; titlepage.templates⋯

    Added code to handle acknowledgements in book and part. The element is processed
    +similarly to dedication. All acknowledgements will appear as front matter, after
    +any dedications.
    +
  • +

    Robert Stayton: index.xsl

    Rewrote primaryie, secondaryie and tertiaryie templates to handle
    +nesting of elements and seeie and seealsoie, as reported in
    +bug # 1168912.
    +
  • +

    Robert Stayton: autotoc.xsl

    Fix simplesect in toc problem.
    +
  • +

    Robert Stayton: verbatim.xsl

    Add support for @width per bug report #2012736.
    +
  • +

    Robert Stayton: formal.xsl; htmltbl.xsl

    Fix bug #1787140 HTML tables not handling attributes correctly.
    +
  • +

    Robert Stayton: param.xweb

    Move writing-mode param.
    +
  • +

    Keith Fahlgren: refentry.xsl

    Remove a nesting of <p> inside <p> for refclass (made XHTML* invalid, made HTML silly)
    +
  • +

    Robert Stayton: table.xsl

    Fix bug #1945872 to allow passthrough of colwidth values to
    +HTML table when no tablecolumns.extension is available and
    +when no instance of * appears in the table's colspecs.
    +
  • +

    Mauritz Jeanson: block.xsl

    Added support for acknowledgements in article.
    +Support in book/part remains to be added.
    +
  • +

    Robert Stayton: chunk-common.xsl

    Fix bug #1787167 incorrect hot text for some olinks.
    +
  • +

    Robert Stayton: qandaset.xsl

    Fix bug 1546008: in qandaentry in a TOC, use its blockinfo/titleabbrev or blockinfo/title
    +instead of question, if available. For DocBook 5, use the info versions.
    +
  • +

    Robert Stayton: chunktoc.xsl

    Add support for generating olink database when using chunktoc.xsl.
    +
  • +

    Keith Fahlgren: verbatim.xsl

    Add better pointer to README for XSLTHL
    +
  • +

    Keith Fahlgren: verbatim.xsl

    Another stab at fixing the stupid XSLTHT includes across processors (Saxon regression reported by Sorin Ristache)
    +
  • +

    Keith Fahlgren: verbatim.xsl

    More tweaking the way that XSLTHL does or does not get called
    +
  • +

    Keith Fahlgren: verbatim.xsl

    Alternate attempt at sanely including/excluding XSLTHT code
    +
+
+ +

Manpages

+ +

The following changes have been made to the + manpages code + since the 1.74.3 release.

+
  • +

    Robert Stayton: table.xsl

    Convert function-available test for node-set() function to
    +test of $exsl.node.set.available param.
    +
  • +

    Mauritz Jeanson: lists.xsl

    Added a template for bibliolist. Closes bug #1815916.
    +
+
+ +

ePub

+ +

The following changes have been made to the + epub code + since the 1.74.3 release.

+
  • +

    Keith Fahlgren: bin/spec/epub_regressions_spec.rb; bin/spec/files/onegraphic.xinclude.xml;⋯

    Slightly more nuanced handling of imageobject alternatives and better support in dbtoepub for XIncludes and ENTITYs to resolve Issue #2750442 reported by Raphael Hertzog.
    +
  • +

    Keith Fahlgren: docbook.xsl

    Add a colon after an abstract/title when mapping into the dc:description for OPF metadata in ePub output to help the flat text have more pseudo-semantics (sugestions from Michael Wiedmann)
    +
  • +

    Keith Fahlgren: bin/spec/epub_regressions_spec.rb; docbook.xsl; bin/spec/files/de.xml

    Correctly set dc:language in OPF metadata when i18nizing. Closes Bug #2755150
    +
  • +

    Keith Fahlgren: bin/spec/epub_regressions_spec.rb; docbook.xsl

    Corrected namespace declarations for literal XHTML elements to make them serialize "normally"
    +
  • +

    Keith Fahlgren: docbook.xsl

    Be a little bit more nuanced about dates
    +
  • +

    Keith Fahlgren: docbook.xsl; bin/spec/epub_realbook_spec.rb; bin/spec/files/orm.book.001.x⋯

    Add DocBook subjectset -> OPF dc:subject mapping and tests
    +
  • +

    Keith Fahlgren: docbook.xsl; bin/spec/epub_realbook_spec.rb; bin/spec/files/orm.book.001.x⋯

    Add DocBook date -> OPF dc:date mapping and tests
    +
  • +

    Keith Fahlgren: docbook.xsl; bin/spec/epub_realbook_spec.rb; bin/spec/files/orm.book.001.x⋯

    Add DocBook abstract -> OPF dc:description mapping and tests
    +
  • +

    Robert Stayton: docbook.xsl

    Check in patch submitted by user to add opf:file-as attribute
    +to dc:creator element.
    +
  • +

    Keith Fahlgren: bin/dbtoepub

    Adding --output option to dbtoepub based on user request
    +
  • +

    Keith Fahlgren: docbook.xsl; bin/spec/epub_spec.rb

    Cleaning and regularizing the generation of namespaced nodes for OPF, NCX, XHTML and other outputted filetypes (hat tip to bobstayton for pointing out the silly, incorrect code)
    +
  • +

    Keith Fahlgren: bin/spec/epub_regressions_spec.rb; bin/spec/files/refclass.xml

    Remove a nesting of <p> inside <p> for refclass (made XHTML* invalid, made HTML silly)
    +
  • +

    Keith Fahlgren: bin/spec/epub_regressions_spec.rb; bin/spec/files/blockquotepre.xml

    Added regression test and fix for XHTML validation problem with <a>s added inside <blockquote>; This potentially causes another problem (where something is referenced by has no anchor, but someone reporting that should cause the whole <a id='thing'/> thing to be reconsidered with modern browsers in mind.
    +
+
+ +

HTMLHelp

+ +

The following changes have been made to the + htmlhelp code + since the 1.74.3 release.

+
  • +

    Robert Stayton: htmlhelp-common.xsl

    Add support for generating olink target database for htmlhelp files.
    +
+
+ + +

Params

+ +

The following changes have been made to the + params code + since the 1.74.3 release.

+
  • +

    Robert Stayton: default.table.rules.xml

    Add default setting for @rules attribute on HTML markup tables.
    +
  • +

    Mauritz Jeanson: bookmarks.collapse.xml

    Added a new parameter, bookmarks.collapse, that controls the initial state 
    +of the bookmark tree. When the parameter has a non-zero value (the default), 
    +only the top-level bookmarks are displayed initially. Otherwise, the whole 
    +tree of bookmarks is displayed. 
    +
    +This is implemented for FOP 0.9X. Closes FR #1792326.
    +
  • +

    Robert Stayton: variablelist.term.properties.xml

    Add new variablelist.term.properties to format terms, per 
    +request # 1968513.
    +
  • +

    Robert Stayton: qanda.defaultlabel.xml

    Add two new qanda.defaultlabel values so that numbered sections
    +and numbered questions can be distinguished.  Satisfies
    +Feature Request #1539045.
    +
  • +

    Robert Stayton: index.links.to.section.xml

    Change default to 1 to match past behavior.
    +
  • +

    Robert Stayton: exsl.node.set.available.xml

    Isolate this text for Xalan bug regarding exsl:node-set available.
    +If it is ever fixed in Xalan, just fix it here.
    +
  • +

    Robert Stayton: index.links.to.section.xml

    Add param to control whether an index entry links to
    +a section title or to the precise location of the
    +indexterm.
    +
  • +

    Robert Stayton: glossentry.list.item.properties.xml

    New attribute list for glossentry in glossary.
    +
  • +

    Robert Stayton: monospace.verbatim.font.width.xml

    New parameter to support @width on programlisting and screen.
    +
  • +

    Mauritz Jeanson: highlight.source.xml

    Updated and reorganized the description.
    +
  • +

    Robert Stayton: page.margin.outer.xml; page.margin.inner.xml

    Add caveat about XEP bug when writing-mode is right-to-left.
    +
  • +

    Robert Stayton: article.appendix.title.properties.xml; writing.mode.xml; body.start.indent⋯

    Change 'left' to 'start' and 'right' to 'end' to support right-to-left
    +writing mode.
    +
  • +

    Robert Stayton: glossdef.block.properties.xml; glossdef.list.properties.xml; glossterm.blo⋯

    Add attribute-sets for formatting glossary terms and defs.
    +
  • +

    Robert Stayton: glossterm.separation.xml

    Clarify the description.
    +
  • +

    Robert Stayton: make.year.ranges.xml

    Now handles year element containing a comma or dash without error.
    +
+
+ +

Highlighting

+ +

The following changes have been made to the + highlighting code + since the 1.74.3 release.

+
  • +

    Jirka Kosek: README

    Inclusion of highlighting code was simplified. Only one import is now necessary.
    +
  • +

    Keith Fahlgren: README

    Adding XSLTHL readme
    +
  • +

    Keith Fahlgren: common.xsl

    Alternate attempt at sanely including/excluding XSLTHT code
    +
+
+ +

XSL-Saxon

+ +

The following changes have been made to the + xsl-saxon code + since the 1.74.3 release.

+
  • +

    Mauritz Jeanson: src/com/nwalsh/saxon/Text.java

    Added a fix that prevents output of extra blank line.
    +Hopefully this closes bug #894805.
    +
+
+ +

XSL-Xalan

+ +

The following changes have been made to the + xsl-xalan code + since the 1.74.3 release.

+
  • +

    Mauritz Jeanson: src/com/nwalsh/xalan/Text.java

    Added a fix that prevents output of extra blank line.
    +Hopefully this closes bug #894805.
    +
+
+ + +
+ +

Release Notes: 1.74.3

+ +

This release fixes some bugs in the 1.74.2 release.

+

See highlighting/README for XSLTHL usage instructions.

+
+

Release Notes: 1.74.2

+ +

This release fixes some bugs in the 1.74.1 release.

+
+ +

Release Notes: 1.74.1

+ +

This release includes important bug fixes and adds the following +significant feature changes: +

Gentext

Kirghiz locale added and Chinese translations have been simplified.

Somme support for gentext and right-to-left languages has been added.

FO

Various bugs have been resolved.

Support for a new processing instruction: dbfo funcsynopsis-style has been added.

Added new param email.mailto.enabled for FO output. Patch from Paolo Borelli.

+

Support for documented metadata in fop1 mode has been added.

+
Highlighting

Support for the latest version of XSLTHL 2.0 and some new language syntaxes have been added to a variety of outputs.

Manpages

Added man.output.better.ps.enabled param (zero default). It non-zero, no such +markup is embedded in generated man pages, and no enhancements are +included in the PostScript output generated from those man pages +by the man -Tps command.

HTML

Support for writing.mode to set text direction and alignment based on document locale has been added.

+

Added a new top-level stylesheet module, chunk-changebars.xsl, to be +used for generating chunked output with highlighting based on change +(@revisionflag) markup. The module imports/includes the standard chunking +and changebars templates and contains additional logic for chunked output. +See FRs #1015180 and #1819915.

+
ePub
+

Covers now look better in Adobe Digital Editions thanks to a patch from Paul Norton of Adobe

+

Cover handling now more generic (including limited DocBook 5.0 cover support thanks to patch contributed by Liza Daly.

Cover markup now carries more reliably into files destined for .mobi and the Kindle.

dc:identifiers are now generated from more types of numbering schemes.

Both SEO and semantic structure of chunked ePub output by ensuring that we always send out one and only one h1 in each XHTML chunk.

+

Primitive support for embedding a single font added.

+ +

Support for embedding a CSS customizations added.

+
Roundtrip
+

Support for imagedata-metadata and table as images added.

+ +

Support for imagedata-metadata and legalnotice as images added.

+
Params

man.output.better.ps.enabled added for Manpages output

+

writing.mode.xml added to set text direction.

+ +

Added new param email.mailto.enabled for FO output. +Patch from Paolo Borelli. Closes #2086321.

+ +

highlight.source upgraded to support the latest version of XSLTHL 2.0.

+

+

+

The following is a list of changes that have been made since the 1.74.0 release.

+ + +

Gentext

+ +

The following changes have been made to the gentext code since the 1.74.0 release.

+
  • +

    Michael(tm) Smith: locale/ky.xml; Makefile

    new Kirghiz locale from Ilyas Bakirov
    +
  • +

    Mauritz Jeanson: locale/en.xml

    Added "Acknowledgements".
    +
  • +

    Dongsheng Song: locale/zh_cn.xml

    Simplified Chinese translation.
    +
  • +

    Robert Stayton: locale/lv.xml; locale/ca.xml; locale/pt.xml; locale/tr.xml; locale/af.xml;⋯

    Add writing-mode gentext string to support right-to-left languages.
    +
+
+ +

FO

+ +

The following changes have been made to the fo code since the 1.74.0 release.

+
  • +

    David Cramer: footnote.xsl

    Added a check to confirm that a footnoteref's linkend points to a footnote. Stylesheets stop processing if not and provide a useful error message.
    +
  • +

    Mauritz Jeanson: spaces.xsl

    Convert spaces to fo:leader also in elements in the DB 5 namespace.
    +
  • +

    Mauritz Jeanson: pi.xsl; synop.xsl

    Added support for a new processing instruction: dbfo funcsynopsis-style. 
    +Closes bug #1838213.
    +
  • +

    Michael(tm) Smith: inline.xsl; param.xweb; param.ent

    Added new param email.mailto.enabled for FO output.
    +Patch from Paolo Borelli. Closes #2086321.
    +
  • +

    Mauritz Jeanson: docbook.xsl

    Added support for document metadata for fop1 (patch #2067318).
    +
  • +

    Jirka Kosek: param.ent; param.xweb; highlight.xsl

    Upgraded to support the latest version of XSLTHL 2.0
    + -- nested markup in highlited code is now processed
    + -- it is no longer needed to specify path XSLTHL configuration file using Java property
    + -- support for new languages, including Perl, Python and Ruby was added
    +
+
+ +

HTML

+ +

The following changes have been made to the html code since the 1.74.0 release.

+
  • +

    Robert Stayton: param.xweb; docbook.xsl; param.ent; html.xsl

    Add support for writing.mode to set text direction and alignment based on document locale.
    +
  • +

    Mauritz Jeanson: chunk-changebars.xsl

    Added a new top-level stylesheet module, chunk-changebars.xsl, to be 
    +used for generating chunked output with highlighting based on change 
    +(@revisionflag) markup. The module imports/includes the standard chunking 
    +and changebars templates and contains additional logic for chunked output.
    +See FRs #1015180 and #1819915.
    +
+
+ +

Manpages

+ +

The following changes have been made to the manpages code since the 1.74.0 release.

+
  • +

    Michael(tm) Smith: docbook.xsl

    Put the following at the top of generated roff for each page:
    +  \" t
    +purpose is to explicitly tell AT&T troff that the page needs to be
    +pre-processed through tbl(1); groff can figure it out
    +automatically, but apparently AT&T troff needs to be explicitly told
    +
+
+ +

ePub

+ +

The following changes have been made to the epub code since the 1.74.0 release.

+
  • +

    Keith Fahlgren: docbook.xsl

    Patch from Paul Norton of Adobe to get covers to look better in Adobe Digital Editions
    +
  • +

    Keith Fahlgren: bin/spec/epub_regressions_spec.rb; bin/spec/files/v5cover.xml; bin/spec/sp⋯

    Patch contributed by Liza Daly to make ePub cover handling more generic. Additionally
    +DocBook 5.0's <cover> now has some limited support:
    +
    +- should reference a cover in the OPF guide for a DocBook 5.0 test document
    +
  • +

    Keith Fahlgren: bin/spec/files/isbn.xml; bin/spec/files/issn.xml; bin/spec/files/biblioid.⋯

    Liza Daly reported that the dc:identifer-generation code was garbage (she was right).
    +
    +Added new tests:
    +- should include at least one dc:identifier
    +- should include an ISBN as URN for dc:identifier if an ISBN was in the metadata
    +- should include an ISSN as URN for dc:identifier if an ISSN was in the metadata
    +- should include an biblioid as a dc:identifier if an biblioid was in the metadata
    +- should include a URN for a biblioid with @class attribute as a dc:identifier if an biblioid was in the metadata
    +
  • +

    Keith Fahlgren: docbook.xsl; bin/spec/epub_spec.rb

    Improve both SEO and  semantic structure of chunked ePub output by ensuring that
    +we always send out one and only one h1 in each XHTML chunk.
    +
    +DocBook::Epub
    +- should include one and only one <h1> in each HTML file in rendered ePub files
    +for <book>s
    +- should include one and only one <h1> in each HTML file in rendered ePub files
    +for <book>s even if they do not have section markup
    +
  • +

    Keith Fahlgren: docbook.xsl; bin/spec/epub_realbook_spec.rb; bin/spec/files/orm.book.001.x⋯

    Adding better support for covers in epub files destined for .mobi and the Kindle
    +
  • +

    Keith Fahlgren: bin/dbtoepub; bin/lib/docbook.rb; bin/spec/files/DejaVuSerif.otf; docbook.⋯

    Adding primitive support for embedding a single font
    +
  • +

    Keith Fahlgren: bin/dbtoepub; bin/lib/docbook.rb; bin/spec/files/test_cust.xsl; bin/spec/e⋯

    Adding support for user-specified customization layers in dbtoepub
    +
  • +

    Keith Fahlgren: bin/dbtoepub; bin/spec/epub_regressions_spec.rb; bin/lib/docbook.rb; bin/s⋯

    Adding CSS support to .epub target & dbtoepub:
    +    -c, --css [FILE]                 Use FILE for CSS on generated XHTML.
    +
    +
    +DocBook::Epub
    +...
    +- should include a CSS link in HTML files when a CSS file has been provided
    +- should include CSS file in .epub when a CSS file has been provided
    +- should include a CSS link in OPF file when a CSS file has been provided
    +
+
+ +

Roundtrip

+ +

The following changes have been made to the + roundtrip code + since the 1.74.0 release.

+
  • +

    Steve Ball: blocks2dbk.xsl; template.xml; template.dot

    added support for imagedata-metadata
    +added support for table as images
    +
  • +

    Steve Ball: blocks2dbk.xsl; normalise2sections.xsl; sections2blocks.xsl

    Improved support for personname inlines.
    +
  • +

    Steve Ball: blocks2dbk.xsl; blocks2dbk.dtd; template.xml

    Added support for legalnotice.
    +
  • +

    Steve Ball: blocks2dbk.xsl; wordml2normalise.xsl

    added support for orgname in author
    +
  • +

    Steve Ball: specifications.xml; supported.xml; blocks2dbk.xsl; wordml2normalise.xsl; dbk2w⋯

    Updated specification.
    +to-DocBook: add cols attribute to tgroup
    +from-DocBook: fix for blockquote title
    +
+
+ +

Params

+ +

The following changes have been made to the params since the 1.74.0 release.

+
  • +

    The change was to add man.output.better.ps.enabled parameter, with +its default value set to zero. + +If the value of the man.output.better.ps.enabled parameter is +non-zero, certain markup is embedded in each generated man page +such that PostScript output from the man -Tps command for that +page will include a number of enhancements designed to improve the +quality of that output. + +If man.output.better.ps.enabled is zero (the default), no such +markup is embedded in generated man pages, and no enhancements are +included in the PostScript output generated from those man pages +by the man -Tps command. + +WARNING: The enhancements provided by this parameter rely on +features that are specific to groff (GNU troff) and that are not +part of "classic" AT&T troff or any of its derivatives. Therefore, +any man pages you generate with this parameter enabled will be +readable only on systems on which the groff (GNU troff) program is +installed, such as GNU/Linux systems. The pages will not not be +readable on systems on with the classic troff (AT&T troff) command +is installed. + +NOTE: The value of this parameter only affects PostScript output +generated from the man command. It has no effect on output +generated using the FO backend. + +TIP: You can generate PostScript output for any man page by +running the following command: + +man FOO -Tps > FOO.ps + +You can then generate PDF output by running the following command: + +ps2pdf FOO.ps

    +
  • +

    Robert Stayton: writing.mode.xml

    writing mode param used to set text direction.
    +
  • +

    Michael(tm) Smith: email.mailto.enabled.xml

    Added new param email.mailto.enabled for FO output.
    +Patch from Paolo Borelli. Closes #2086321.
    +
  • +

    Jirka Kosek: highlight.source.xml; highlight.xslthl.config.xml

    Upgraded to support the latest version of XSLTHL 2.0
    + -- nested markup in highlited code is now processed
    + -- it is no longer needed to specify path XSLTHL configuration file using Java property
    + -- support for new languages, including Perl, Python and Ruby was added
    +
+
+ +

Highlighting

+ +

The following changes have been made to the + highlighting code + since the 1.74.0 release.

+
  • +

    Jirka Kosek: cpp-hl.xml; c-hl.xml; tcl-hl.xml; php-hl.xml; common.xsl; perl-hl.xml; delphi⋯

    Upgraded to support the latest version of XSLTHL 2.0
    + -- nested markup in highlited code is now processed
    + -- it is no longer needed to specify path XSLTHL configuration file using Java property
    + -- support for new languages, including Perl, Python and Ruby was added
    +
+
+ +
+ + +

Release Notes: 1.74.0

+ +

This release includes important bug fixes and adds the following +significant feature changes: +

.epub target

Paul Norton (Adobe) and Keith Fahlgren(O'Reilly Media) have donated code that generates .epub documents from +DocBook input. An alpha-reference implementation in Ruby has also been provided.

+

.epub is an open standard of the The International Digital Publishing Forum (IDPF), +a the trade and standards association for the digital publishing industry.

+

Read more about this target in epub/README +

XHTML 1.1 target

To support .epub output, a strict XHTML 1.1 target has been added. The stylesheets for this output are +generated and are quite similar to the XHTML target.

Gentext updates

A number of locales have been updated.

Roundtrip improvements

Table, figure, template syncronization, and character style improvements have been made for WordML & Pages. Support added for OpenOffice.org.

First implementation of a libxslt extension
+

A stylesheet extension for libxslt, written in Python, has been added. + The extension is a function for adjusting column widths in CALS tables. See + extensions/README.LIBXSLT for more information.

+

+

+

The following is a list of changes that have been made + since the 1.73.2 release.

+ +

Gentext

+ +

The following changes have been made to the + gentext code + since the 1.73.2 release.

+
  • +

    Michael(tm) Smith: locale/id.xml

    Checked in changes to Indonesion locale submitted by Euis Luhuanam a long time ago.
    +
  • +

    Michael(tm) Smith: locale/lt.xml

    Added changes to Lithuanian locate submitted a long time back by Nikolajus Krauklis.
    +
  • +

    Michael(tm) Smith: locale/hu.xml

    fixed error in lowercase.alpha definition in Hungarian locale
    +
  • +

    Michael(tm) Smith: locale/nb.xml

    Corrected language code for nb locale, and restored missing "startquote" key.
    +
  • +

    Michael(tm) Smith: locale/ja.xml

    Committed changes to ja locale file, from Akagi Kobayashi. Adds bracket quotes around many xref instances that did not have them
    +before.
    +
  • +

    Michael(tm) Smith: Makefile

    "no" locale is now "nb"
    +
  • +

    Michael(tm) Smith: locale/nb.xml

    Update Norwegian Bokmål translation. Thanks to Hans F. Nordhaug.
    +
  • +

    Michael(tm) Smith: locale/no.xml; locale/nb.xml

    per message from Hans F. Nordhaug, correct identifier for
    +Norwegian Bokmål is "nb" (not "no") and has been for quite some
    +time now...
    +
  • +

    Michael(tm) Smith: locale/ja.xml

    Converted ja.xml source file to use real unicode characters so
    +that the actual glyphs so up when you edit it in a text editor
    +(instead of the character references).
    +
  • +

    Michael(tm) Smith: locale/ja.xml

    Checked in changes to ja.xml locale file. Thanks to Akagi Kobayashi.
    +
  • +

    Michael(tm) Smith: locale/it.xml

    Changes from Federico Zenith
    +
  • +

    Dongsheng Song: locale/zh_cn.xml

    Added missing translations.
    +
+
+ +

Common

+ +

The following changes have been made to the + common code + since the 1.73.2 release.

+
  • +

    Michael(tm) Smith: l10n.xsl

    Added new template "l10.language.name" for retrieving the
    +English-language name of the lang setting of the current document.
    +Closes #1916837. Thanks to Simon Kennedy.
    +
  • +

    Michael(tm) Smith: refentry.xsl

    fixed syntax error
    +
  • +

    Michael(tm) Smith: refentry.xsl

    fixed a couple of typos
    +
  • +

    Michael(tm) Smith: refentry.xsl

    refined handling of cases where refentry "source" or "manual"
    +metadata is missing or when we use fallback content instead. We
    +now report a Warning if we use fallback content.
    +
  • +

    Michael(tm) Smith: refentry.xsl

    don't use refmiscinfo@class=date value as fallback for refentry
    +"source" or "manual" metadata fields
    +
  • +

    Michael(tm) Smith: refentry.xsl

    Made reporting of missing refentry metadata more quiet:
    +
    +  - we no longer report anything if usable-but-not-preferred
    +    metadata is found; we just quietly use whatever we manage to
    +    find
    +
    +  - we now only report missing "source" metadata if the refentry
    +    is missing BOTH "source name" and "version" metadata; if it
    +    has one but not the other, we use whichever one it has and
    +    don't report anything as missing
    +
    +The above changes were made because testing with some "real world"
    +source reveals that some authors are intentionally choosing to use
    +"non preferred" markup for some metadata, and also choosing to
    +omit "source name" or "version" metadata in there DocBook XML. So
    +it does no good to give them pedantic reminders about what they
    +already know...
    +
    +Also, changed code to cause "fixme" text to be inserted in output
    +in particular cases:
    +
    +  - if we can't manage to find any "source" metadata at all, we
    +    now put fixme text into the output
    +
    +  - if we can't manage to find any "manual" metadata a all, we 
    +    now put fixme text into the output
    +
    +The "source" and "manual" metadata is necessary information, so
    +buy putting the fixme stuff in the output, we alert users to the
    +need problem of it being missing.
    +
  • +

    Michael(tm) Smith: refentry.xsl

    When generating manpages output, we no longer report anything if
    +the refentry source is missing date or pubdate content. In
    +practice, many users intentionally omit the date from the source
    +because they explicitly want it to be generated.
    +
  • +

    Michael(tm) Smith: l10n.xml

    further change needed for switch from no locale to nb.
    +
  • +

    Michael(tm) Smith: common.xsl

    Added support for orgname in authorgroup. Thanks to Camille
    +Bégnis.
    +
  • +

    Michael(tm) Smith: Makefile

    "no" locale is now "nb"
    +
  • +

    Mauritz Jeanson: stripns.xsl

    Removed the template matching "ng:link|db:link" (in order to make @xlink:show 
    +work with <link> elements). As far as I can tell, this template is no longer needed.
    +
  • +

    Mauritz Jeanson: entities.ent

    Moved declaration of comment.block.parents entity to common/entities.ent.
    +
  • +

    Mauritz Jeanson: titles.xsl

    Added an update the fix made in revision 7528 (handling of xref/link in no.anchor.mode mode).
    +Having xref in title is not a problem as long as the target is not an ancestor element. 
    +Closes bug #1838136.
    +
    +Note that an xref that is in a title and whose target is an ancestor element is still not 
    +rendered in the TOC. This could be considered a bug, but on the other hand I cannot really
    +see the point in having such an xref in a document.
    +
  • +

    Mauritz Jeanson: titles.xsl

    Added a "not(ancestor::title)" test to work around "too many nested 
    +apply-templates" problems when processing xrefs or links in no.anchor.mode mode.
    +Hopefully, this closes bug #1811721.
    +
  • +

    Mauritz Jeanson: titles.xsl

    Removed old template matching "link" in no.anchor.mode mode.
    +
  • +

    Mauritz Jeanson: titles.xsl

    Process <link> in no.anchor.mode mode with the same template as <xref>. 
    +Closes bug #1759205 (Empty link in no.anchor.mode mode).
    +
  • +

    Mauritz Jeanson: titles.xsl

    In no.anchor.mode mode, do not output anchors for elements that are descendants 
    +of <title>. Previously, having inline elements with @id/@xml:id in <title>s 
    +resulted in anchors both in the TOC and in the main flow. Closes bug #1797492.
    +
+
+ +

FO

+ +

The following changes have been made to the + fo code + since the 1.73.2 release.

+
  • Mauritz Jeanson: pi.xsl

    Updated documentation for keep-together.
  • Mauritz Jeanson: task.xsl

    Enabled use of the keep-together PI on task elements.
  • +

    Robert Stayton: index.xsl

    FOP1 requires fo:wrapper for inline index entries, not fo:inline.
    +
  • +

    Robert Stayton: index.xsl

    Fixed non-working inline.or.block template for indexterm wrappers.
    +Add fop1 to list of processors using inline.or.block.
    +
  • +

    Mauritz Jeanson: table.xsl

    Fixed bug #1891965 (colsep in entytbl not working).
    +
  • +

    Mauritz Jeanson: titlepage.xsl

    Added support for title in revhistory. Closes bug #1842847.
    +
  • +

    Mauritz Jeanson: pi.xsl

    Small doc cleanup (dbfo float-type).
    +
  • +

    Mauritz Jeanson: titlepage.xsl

    Insert commas between multiple copyright holders.
    +
  • +

    Mauritz Jeanson: autotoc.xsl; division.xsl

    Added modifications to support nested set elements. See bug #1853172.
    +
  • +

    David Cramer: glossary.xsl

    Added normalize-space to xsl:sorts to avoid missorting of glossterms due to stray leading spaces.
    +
  • +

    David Cramer: glossary.xsl

    Fixed bug #1854199: glossary.xsl should use the sortas attribute on glossentry
    +
  • +

    Mauritz Jeanson: inline.xsl

    Added a template for citebiblioid. The hyperlink target is the parent of the referenced biblioid,
    +and the "hot text" is the biblioid itself enclosed in brackets.
    +
  • +

    Mauritz Jeanson: inline.xsl

    Moved declaration of comment.block.parents entity to common/entities.ent.
    +
  • +

    Mauritz Jeanson: docbook.xsl

    Updated message about unmatched element.
    +
  • +

    Mauritz Jeanson: param.xweb

    Added link to profiling chapter of TCG.
    +
  • +

    Mauritz Jeanson: refentry.xsl

    Fixed typo (refsynopsysdiv -> refsynopsisdiv).
    +
  • +

    David Cramer: fop.xsl; fop1.xsl; ptc.xsl; xep.xsl

    Added test to check generate.index param when generating pdf bookmarks
    +
  • +

    Mauritz Jeanson: graphics.xsl

    Added support for MathML in imagedata.
    +
  • +

    Michael(tm) Smith: math.xsl

    Removed unnecessary extra test condition in test express that
    +checks for passivetex.
    +
  • +

    Michael(tm) Smith: math.xsl

    Don't use fo:instream-foreign-object if we are processing with
    +passivetex. Closes #1806899. Thanks to Justus Piater.
    +
  • +

    Mauritz Jeanson: component.xsl

    Added code to output a TOC for an appendix in an article when 
    +generate.toc='article/appendix toc'. Closes bug #1669658.
    +
  • +

    Dongsheng Song: biblio-iso690.xsl

    Change encoding from "windows-1250" to "UTF-8".
    +
  • +

    Mauritz Jeanson: pi.xsl

    Updated documentation for dbfo_label-width.
    +
  • +

    Mauritz Jeanson: lists.xsl

    Added support for the dbfo_label-width PI in calloutlists.
    +
  • +

    Robert Stayton: biblio.xsl

    Support finding glossary database entries inside bibliodivs.
    +
  • +

    Robert Stayton: formal.xsl

    Complete support for <?dbfo pgwide="1"?> for informal
    +elements too.
    +
  • +

    Mauritz Jeanson: table.xsl

    In the table.block template, added a check for the dbfo_keep-together PI, so that 
    +a table may break (depending on the PI value) at a page break. This was needed 
    +since the outer fo:block that surrounds fo:table has keep-together.within-column="always" 
    +by default, which prevents the table from breaking. Closes bug #1740964 (Titled 
    +table does not respect dbfo PI).
    +
  • +

    Mauritz Jeanson: pi.xsl

    Added a few missing @role="tcg".
    +
  • +

    Mauritz Jeanson: inline.xsl

    Use normalize-space() in glossterm comparisons (as in html/inline.xsl).
    +
  • +

    Mauritz Jeanson: autoidx.xsl

    Removed the [&scope;] predicate from the target variable in the template with name="reference".
    +This filter was the cause of missing index backlinks when @zone and @type were used on indexterms,
    +with index.on.type=1. Closes bug #1680836.
    +
  • +

    Michael(tm) Smith: inline.xsl; xref.xsl; footnote.xsl

    Added capability in FO output for displaying URLs for all
    +hyperlinks (elements marked up with xlink:href attributes) in the
    +same way as URLs for ulinks are already handled (which is to say,
    +either inline or as numbered footnotes).
    +
    +Background on this change:
    +DocBook 5 allows "ubiquitous" linking, which means you can make
    +any element a hyperlink just by adding an xlink:href attribute to
    +it, with the value set to an external URL. That's in contrast to
    +DocBook 4, which only allows you to use specific elements (e.g.,
    +the link and ulink elements) to mark up hyperlinks.
    +
    +The existing FO stylesheets have a mechanism for handling display
    +of URLs for hyperlinks that are marked up with ulink, but they did
    +not handle display of URLs for elements that were marked up with
    +xlink:href attributes. This change adds handling for those other
    +elements, enabling the URLs they link to be displayed either
    +inline or as numbered footnotes (depending on what values the user
    +has the ulink.show and ulink.footnotes params set to).
    +
    +Note that this change only adds URL display support for elements
    +that call the simple.xlink template -- which currently is most
    +(but not all) inline elements.
    +
    +This change also moves the URL display handling out of the ulink
    +template and into a new "hyperlink.url.display" named template;
    +the ulink template and the simple.xlink named template now both
    +call the hyperlink.url.display template.
    +
    +Warning: In the stylesheet code that determines what footnote
    +number to assign to each footnote or external hyperlink, there is
    +an XPath expression for determining whether a particular
    +xlink:href instance is an external hyperlink; that expression is
    +necessarily a bit complicated and further testing may reveal that
    +it doesn't handle all cases as expected -- so some refinements to
    +it may need to be done later.
    +
    +Closes #1785519. Thanks to Ken Morse for reporting and
    +troubleshooting the problem.
    +
+
+ +

HTML

+ +

The following changes have been made to the + html code + since the 1.73.2 release.

+
  • Keith Fahlgren: inline.xsl; synop.xsl

    Work to make HTML and XHTML targets more valid
  • Keith Fahlgren: table.xsl

    Add better handling for tables that have footnotes in the titles
  • Keith Fahlgren: biblio.xsl

    Add anchors to bibliodivs
  • +

    Keith Fahlgren: formal.xsl; Makefile; htmltbl.xsl

    Initial checkin/merge of epub target from work provided by Paul Norton of Adobe
    +and Keith Fahlgren of O'Reilly.
    +

    This change includes new code for generating the XHTML 1.1 target sanely.

    +
  • +

    Mauritz Jeanson: biblio.xsl

    Added code for creating URLs from biblioids with @class="doi" (representing Digital 
    +Object Identifiers). See FR #1934434 and http://doi.org.
    +
    +To do: 1) Add support for FO output. 2) Figure out how @class="doi" should be handled 
    +for bibliorelation, bibliosource and citebiblioid.
    +
  • +

    Norman Walsh: formal.xsl

    Don't use xsl:copy because it forces the resulting element to be in the same namespace as the source element; in the XHTML stylesheets, that's wrong. But the HTML-to-XHTML converter does the right thing with literal result elements, so use one of them.
    +
  • +

    Michael(tm) Smith: Makefile

    Added checks and hacks to various makefiles to enable building
    +under Cygwin. This stuff is ugly and maybe not worth the mess and
    +trouble, but does seem to work as expected and not break anything
    +else.
    +
  • +

    Michael(tm) Smith: docbook.xsl

    added "exslt" namespace binding to html/docbook.xsl file (in
    +addition to existing "exsl" binding. reason is because lack of it
    +seems to cause processing problems when using the profiled
    +version of the stylsheet
    +
  • +

    Norman Walsh: chunk-common.xsl

    Rename link
    +
  • +

    Mauritz Jeanson: table.xsl

    Added a fix to make rowsep apply to the last row of thead in entrytbl.
    +
  • +

    Michael(tm) Smith: synop.xsl

    Simplified and streamlined handling of output for ANSI-style
    +funcprototype output, to correct a problem that was causing type
    +data to be lost in the output parameter definitions. For example,
    +for an instance like this:
    +  <paramdef>void *<parameter>dataptr</parameter>[]</paramdef>
    +... the brackets (indicating an array type) were being dropped.
    +
  • +

    Michael(tm) Smith: synop.xsl

    Changed HTML handling of K&R-style paramdef output. The parameter
    +definitions are no longer output in a table (though the prototype
    +still is). The reason for the change is that the
    +kr-tabular-funcsynopsis-mode template was causing type data to be
    +lost in the output parameter definitions. For example, for an
    +instance like this:
    +  <paramdef>void *<parameter>dataptr</parameter>[]</paramdef>
    +... the brackets (indicating an array type) were being dropped.
    +The easiest way to deal with the problem is to not try to chop up
    +the parameter definitions and display them in table format, but to
    +instead just output them as-is. May not look quite as pretty, but
    +at least we can be sure no information is being lost...
    +
  • +

    Michael(tm) Smith: pi.xsl

    updated wording of doc for funcsynopsis-style PI
    +
  • +

    Michael(tm) Smith: param.xweb; param.ent; synop.xsl

    Removed the funcsynopsis.tabular.threshold param. It's no longer
    +being used in the code and hasn't been since mid 2006.
    +
  • +

    Mauritz Jeanson: graphics.xsl

    Added support for the img.src.path parameter for SVG graphics. Closes bug #1888169.
    +
  • +

    Mauritz Jeanson: chunk-common.xsl

    Added missing space.
    +
  • +

    Norman Walsh: component.xsl

    Fix bug where component titles inside info elements were not handled properly
    +
  • +

    Michael(tm) Smith: pi.xsl

    Moved dbhtml_stop-chunking embedded doc into alphabetical order,
    +fixed text of TCG section it see-also'ed.
    +
  • +

    David Cramer: pi.xsl

    Added support for <?dbhtml stop-chunking?> processing instruction
    +
  • +

    David Cramer: chunk-common.xsl; pi.xsl

    Added support for <?dbhtml stop-chunking?> processing instruction
    +
  • +

    David Cramer: glossary.xsl

    Fixed bug #1854199: glossary.xsl should use the sortas attribute on glossentry. Also added normalize-space to avoid missorting due to stray leading spaces.
    +
  • +

    Mauritz Jeanson: inline.xsl

    Added a template for citebiblioid. The hyperlink target is the parent of the referenced biblioid,
    +and the "hot text" is the biblioid itself enclosed in brackets.
    +
  • +

    Mauritz Jeanson: inline.xsl

    Added support for @xlink:show in the simple.xlink template. The "new" and "replace" 
    +values are supported (corresponding to values of "_blank" and "_top" for the 
    +ulink.target parameter). I have assumed that @xlink:show should override ulink.target
    +for external URI links. This closes bugs #1762023 and #1727498.
    +
  • +

    Mauritz Jeanson: inline.xsl

    Moved declaration of comment.block.parents entity to common/entities.ent.
    +
  • +

    Mauritz Jeanson: param.xweb

    Added link to profiling chapter of TCG.
    +
  • +

    Dongsheng Song: biblio-iso690.xsl

    Change encoding from "windows-1250" to "UTF-8".
    +
  • +

    Robert Stayton: biblio.xsl

    Add support in biblio collection to entries in bibliodivs.
    +
  • +

    Mauritz Jeanson: pi.xsl

    Added missing @role="tcg".
    +
  • +

    Mauritz Jeanson: chunk-common.xsl; titlepage.xsl

    Refactored legalnotice/revhistory chunking, so that the use.id.as.filename 
    +parameter as well as the dbhtml_filename PI are taken into account. A new named
    +template in titlepage.xsl is used to compute the filename.
    +
  • +

    Mauritz Jeanson: chunk-common.xsl; titlepage.xsl

    An update to the fix for bug #1790495 (r7433):
    +The "ln-" prefix is output only when the legalnotice doesn't have an
    +@id/@xml:id, in which case the stylesheets generate an ID value, 
    +resulting in a filename like "ln-7e0fwgj.html". This is useful because 
    +without the prefix, you wouldn't know that the file contained a legalnotice. 
    +The same logic is also applied to revhistory, using an "rh-" prefix.
    +
  • +

    Mauritz Jeanson: autoidx.xsl

    Removed the [&scope;] predicate from the target variable in the template with name="reference".
    +This filter was the cause of missing index backlinks when @zone and @type were used on indexterms,
    +with index.on.type=1. Closes bug #1680836.
    +
  • +

    Mauritz Jeanson: titlepage.xsl

    Added 'ln-' prefix to the name of the legalnotice chunk, in order to match the 
    +<link href"..."> that is output by make.legalnotice.head.links (chunk-common.xsl).
    +Modified the href attribute on the legalnotice link.
    +Closes bug #1790495.
    +
+
+ +

Manpages

+ +

The following changes have been made to the + manpages code + since the 1.73.2 release.

+
  • +

    Michael(tm) Smith: other.xsl

    slightly adjusted spacing around admonition markers
    +
  • +

    Michael(tm) Smith: refentry.xsl; utility.xsl

    make sure refsect3 titles are preceded by a line of space, and
    +make the indenting of their child content less severe
    +
  • +

    Michael(tm) Smith: block.xsl

    only indent verbatim environments in TTY output, not in non-TTY/PS
    +
  • +

    Michael(tm) Smith: block.xsl

    made another adjustment to correct vertical alignment of admonition marker
    +
  • +

    Michael(tm) Smith: block.xsl; other.xsl

    Adjusted/corrected alignment of adominition marker in PS/non-TTY output.
    +
  • +

    Michael(tm) Smith: endnotes.xsl

    For PS/non-TTY output, display footnote/endnote numbers in
    +superscript.
    +
  • +

    Michael(tm) Smith: table.xsl; synop.xsl; utility.xsl

    Changed handling of hanging indents for cmdsynopsis, funcsynopsis,
    +and synopfragment such that they now look correct in non-TTY/PS
    +output. We now use the groff \w escape to hang by the actual width
    +-- in the current font -- of the command, funcdef, or
    +synopfragment references number (as opposed to hanging by the
    +number of characters). This rendering in TTY output remains the
    +same, since the width in monospaced TTY output is the same as the
    +number of characters.
    +
    +Also, created new synopsis-block-start and synopsis-block-end
    +templates to use for cmdsynopsis and funcsynopsis instead of the
    +corresponding verbatim-* templates.
    +
    +Along with those changes, also corrected a problem that caused the
    +content of synopfragment to be dropped, and made a
    +vertical-spacing change to adjust spacing around table titles and
    +among sibling synopfragment instances.
    +
  • +

    Michael(tm) Smith: other.xsl

    use common l10.language.name template to retrieve English-language name
    +
  • +

    Michael(tm) Smith: synop.xsl; inline.xsl

    added comment in code explaining why we don't put filename output
    +in italic (despite the fact that man guidelines say we should)
    +
  • +

    Michael(tm) Smith: inline.xsl

    put filename output in monospace instead of italic
    +
  • +

    Michael(tm) Smith: synop.xsl

    put cmdsynopsis in monospace
    +
  • +

    Michael(tm) Smith: inline.xsl

    removed template match for literal. template matches for monospace
    +inlines are all imported from the HTML stylesheet
    +
  • +

    Michael(tm) Smith: block.xsl

    don't indent verbatim environments that are descendants of
    +refsynopsisdiv, not put backgrounds behind them
    +
  • +

    Michael(tm) Smith: inline.xsl

    set output of the literal element in monospace. this causes all
    +inline monospace instances in the git man pages to be set in
    +monospace (since DocBook XML source for git docs is generated with
    +asciidoc and asciidoc consistently outputs only <literal> for
    +inline monospace (not <command> or <code> or anything else).
    +Of course this only affects non-TTY output...
    +
  • +

    Michael(tm) Smith: utility.xsl

    Added inline.monoseq named template.
    +
  • +

    Michael(tm) Smith: utility.xsl

    don't bother using a custom register to store the previous
    +font-family value when setting blocks of text in code font; just
    +use \F[] .fam with no arg to switch back
    +
  • +

    Michael(tm) Smith: endnotes.xsl

    put links in blue in PS output (note that this matches how groff
    +renders content marked up with the .URL macro)
    +
  • +

    Michael(tm) Smith: endnotes.xsl; param.xweb; param.ent

    removed man.links.are.underlined and added man.font.links. Also,
    +changed the default font formatting for links to bold.
    +
  • +

    Michael(tm) Smith: endnotes.xsl; param.xweb; param.ent

    Added new param man.base.url.for.relative.links .. specifies a
    +base URL for relative links (for ulink, @xlink:href, imagedata,
    +audiodata, videodata) shown in the generated NOTES section of
    +man-page output. The value of man.base.url.for.relative.links is
    +prepended to any relative URI that is a value of ulink url,
    +xlink:href, or fileref attribute.
    +
    +If you use relative URIs in link sources in your DocBook refentry
    +source, and you leave man.base.url.for.relative.links unset, the
    +relative links will appear "as is" in the NOTES section of any
    +man-page output generated from your source. That's probably not
    +what you want, because such relative links are only usable in the
    +context of HTML output. So, to make the links meaningful and
    +usable in the context of man-page output, set a value for
    +man.base.url.for.relative.links that points
    +to the online version of HTML output generated from your DocBook
    +refentry source. For example:
    +
    +  <xsl:param name="man.base.url.for.relative.links"
    +  >http://www.kernel.org/pub/software/scm/git/docs/</xsl:param>
    +
  • +

    Michael(tm) Smith: info.xsl

    If a source refentry contains a Documentation or DOCUMENTATION
    +section, don't report it as having missing AUTHOR information.
    +Also, if missing a contrib/personblurb for a person or org, report
    +pointers to http://docbook.sf.net/el/personblurb and to
    +http://docbook.sf.net/el/contrib
    +
  • +

    Michael(tm) Smith: info.xsl

    If we encounter an author|editor|othercredit instance that lacks a
    +personblurb or contrib, report it to the user (because that means
    +we have no information about that author|editor|othercredit to
    +display in the generated AUTHOR|AUTHORS section...)
    +
  • +

    Michael(tm) Smith: info.xsl; docbook.xsl; other.xsl

    if we can't find any usable author data, emit a warning and insert
    +a fixme in the output
    +
  • +

    Michael(tm) Smith: info.xsl

    fixed bug in indenting of output for contrib instances in AUTHORS
    +section. Thanks to Daniel Leidert and the fglrx docs for exposing
    +the bug.
    +
  • +

    Michael(tm) Smith: block.xsl

    for a para or simpara that is the first child of a callout,
    +suppress the .sp or .PP that would normally be output (because in
    +those cases, the output goes into a table cell, and the .sp or .PP
    +markup causes a spurious linebreak before it when displayed
    +
  • +

    Michael(tm) Smith: lists.xsl

    Added support for rendering co callouts and calloutlist instances.
    +So you can now use simple callouts -- marking up programlisting
    +and such with co instances -- and have the callouts displayed in
    +man-page output. ("simple callouts" means using co@id and
    +callout@arearefs pointing to co@id instances; in man/roff output,
    +we can't/don't support markup that uses areaset and area)
    +
  • +

    Michael(tm) Smith: block.xsl

    only put a line of space after a verbatim if it's followed by a
    +text node or a paragraph
    +
  • +

    Michael(tm) Smith: utility.xsl

    put verbatim environments in slightly smaller font in non-TTY
    +output
    +
  • +

    Michael(tm) Smith: lists.xsl

    minor whitespace-only reformatting of lists.xsl source
    +
  • +

    Michael(tm) Smith: lists.xsl

    Made refinements/fixes to output of orderedlist and itemizedlist
    +-- in part, to get mysql man pages to display correctly. This
    +change causes a "\c" continuation marker to be added between
    +listitem markers and contents (to ensure that the content remains
    +on the same line as the marker when displayed)
    +
  • +

    Michael(tm) Smith: block.xsl

    put a line of vertical space after all verbatim output that has
    +sibling content following it (not just if that sibling content is
    +a text node)
    +
  • +

    Michael(tm) Smith: block.xsl

    refined spacing around titles for admonitions
    +
  • +

    Michael(tm) Smith: block.xsl; other.xsl

    Deal with case of verbatim environments that have a linebreak
    +after the opening tag. Assumption is that users generally don't
    +want that linebreak to appear in output, so we do some groff
    +hackery to mess with vertical spacing and close the space.
    +
  • +

    Michael(tm) Smith: inline.xsl

    indexterm instances now produce groff comments like this:
    +
    +  .\" primary: secondary: tertiary
    +
    +remark instances, if non-empty, now produce groff comments
    +
  • +

    Michael(tm) Smith: charmap.groff.xsl; other.xsl

    convert no-break space character to groff "\ \&" (instead of just
    +"\ "). the reason is that if a space occurs at the end of a line,
    +our processing causes it to be eaten. a real-world case of this is
    +the mysql(1) man page. appending the "\&" prevents that
    +
  • +

    Michael(tm) Smith: block.xsl

    output "sp" before simpara output, not after it (outputting it
    +after results in undesirable whitespace in particular cases; for
    +example, in the hg/mercurial docs
    +
  • +

    Michael(tm) Smith: table.xsl; synop.xsl; utility.xsl

    renamed from title-preamble to pinch.together and replaced "sp -1"
    +between synopsis fragments with call to pinch.together instead
    +
  • +

    Michael(tm) Smith: table.xsl

    use title-preamble template for table titles (instead of "sp -1"
    +hack), and "sp 1" after all tables (instead of just "sp"
    +
  • +

    Michael(tm) Smith: utility.xsl

    created title-preamble template for suppressing line spacing after
    +headings
    +
  • +

    Michael(tm) Smith: info.xsl

    further refinement of indenting in AUTHORS section
    +
  • +

    Michael(tm) Smith: block.xsl; other.xsl

    refined handling of admonitions
    +
  • +

    Michael(tm) Smith: lists.xsl

    Use RS/RE in another place where we had IP ""
    +
  • +

    Michael(tm) Smith: info.xsl

    Replace (ab)use of IP with "sp -1" in AUTHORS section with RS/RE
    +instead.
    +
  • +

    Michael(tm) Smith: table.xsl; synop.xsl; info.xsl

    changed all instances of ".sp -1n" to ".sp -1"
    +
  • +

    Michael(tm) Smith: other.xsl

    add extra line before SH heads only in non-TTY output
    +
  • +

    Michael(tm) Smith: block.xsl

    Reworked output for admonitions (caution, important, note, tip,
    +warning). In TTY output, admonitions now get indented. In non-TTY
    +output, a colored marker (yellow) is displayed next to them.
    +
  • +

    Michael(tm) Smith: other.xsl

    Added BM/EM macros for putting a colored marker in margin next to
    +a block of text.
    +
  • +

    Michael(tm) Smith: utility.xsl

    created make.bold.title template by moving title-bolding part out
    +from nested-section-title template. This allows the bolding to
    +also be used by the template for formatting admonitions
    +
  • +

    Michael(tm) Smith: info.xsl

    put .br before copyright contents to prevent them from getting run in
    +
  • +

    Michael(tm) Smith: refentry.xsl; other.xsl; utility.xsl

    made point size of output for Refsect2 and Refsect3 heads bigger
    +
  • +

    Michael(tm) Smith: other.xsl

    put slightly more space between SH head and underline in non-TTY
    +output
    +
  • +

    Michael(tm) Smith: param.xweb; param.ent; other.xsl

    Added the man.charmap.subset.profile.english parameter and refined
    +the handling of charmap subsets to differentiate between English
    +and non-English source.
    +
    +This way charmap subsets are now handled is this:
    +
    +If the value of the man.charmap.use.subset parameter is non-zero,
    +and your DocBook source is not written in English (that is, if its
    +lang or xml:lang attribute has a value other than en), then the
    +character-map subset specified by the man.charmap.subset.profile
    +parameter is used instead of the full roff character map.
    +
    +Otherwise, if the lang or xml:lang attribute on the root element
    +in your DocBook source or on the first refentry element in your
    +source has the value en or if it has no lang or xml:lang
    +attribute, then the character-map subset specified by the
    +man.charmap.subset.profile.english parameter is used instead of
    +man.charmap.subset.profile.
    +
    +The difference between the two subsets is that
    +man.charmap.subset.profile provides mappings for characters in
    +Western European languages that are not part of the Roman
    +(English) alphabet (ASCII character set).
    +
  • +

    Michael(tm) Smith: other.xsl

    Various updates, mainly related to uppercasing SH titles:
    +
    +  - added a "Language: " metadata line to the top comment area of
    +    output man pages, to indicate the language the page is in
    +
    +  - added a "toupper" macro of doing locale-aware uppercasing of
    +    SH titles and cross-references to SH titles; the mechanism
    +    relies on the uppercase.alpha and lowercase.alpha DocBook
    +    gentext keys to do locale-aware uppercasing based on the
    +    language the page is written in
    +
    +  - added a "string.shuffle" template, which provides a library
    +    function for "shuffling" two strings together into a single
    +    string; it takes the first character for the first string, the
    +    first character from second string, etc. The only current use
    +    for it is to generate the argument for the groff tr request
    +    that does string uppercasing.
    +
    +  - added make.tr.uppercase.arg and make.tr.normalcase.arg named
    +    templates for use in generating groff code for uppercasing and
    +    "normal"-casing SH titles
    +
    +  - made the BB/BE "background drawing" macros have effect only in
    +    non-TTY output
    +
    +  - output a few comments in the top part of source
    +
  • +

    Michael(tm) Smith: utility.xsl

    removed some leftover kruft
    +
  • +

    Michael(tm) Smith: refentry.xsl

    To create the name(s) for each man page, we now replace any spaces
    +in the refname(s) with underscores. This ensures that tools like
    +lexgrog(1) will be able to parse the name (lexgrog won't parse
    +names that contain spaces).
    +
  • +

    Michael(tm) Smith: docbook.xsl

    Put a comment into source of man page to indicate where the main
    +content starts. (We now have a few of macro definitions at the
    +start of the source, so putting this comment in helps those that
    +might be viewing the source.)
    +
  • +

    Michael(tm) Smith: refentry.xsl

    refined mechanism for generating SH titles
    +
  • +

    Michael(tm) Smith: charmap.groff.xsl

    Added zcaron, Zcaron, scaron, and Scaron to the groff character map.
    +This means that generated Finnish man pages will no longer contain
    +any raw accented characters -- they'll instead by marked up with
    +groff escapes.
    +
  • +

    Michael(tm) Smith: other.xsl; utility.xsl

    corrected a regression I introduced about a year ago that caused
    +dots to be output just as "\." -- instead needs to be "\&." (which
    +is what it will be now, after this change)
    +
  • +

    Michael(tm) Smith: refentry.xsl

    Changed backend handling for generating titles for SH sections and
    +for cross-references to those sections. This should have no effect
    +on TTY output (behavior should remain the same hopefully) but
    +results in titles in normal case (instead of uppercase) in PS
    +output.
    +
  • +

    Michael(tm) Smith: info.xsl

    use make.subheading template to make subheadings for AUTHORS and
    +COPYRIGHT sections (instead of harcoding roff markup)
    +
  • +

    Michael(tm) Smith: block.xsl

    put code font around programlisting etc.
    +
  • +

    Michael(tm) Smith: synop.xsl; docbook.xsl

    embed custom macro definitions in man pages, plus wrap synopsis in
    +code font
    +
  • +

    Michael(tm) Smith: endnotes.xsl

    use the make.subheading template to generated SH subheading for
    +endnotes section.
    +
  • +

    Michael(tm) Smith: lists.xsl

    Added some templates for generating if-then-else conditional
    +markup in groff, so let's use those instead of hard-coding it in
    +multiple places...
    +
  • +

    Michael(tm) Smith: other.xsl; utility.xsl

    Initial checkin of some changes related to making PS/PDF output
    +from "man -l -Tps" look better. The current changes:
    +
    +  - render synopsis and verbatim sections in a monospace/code font
    +
    +  - put a light-grey background behind all programlisting, screen,
    +    and literallayout instances
    +
    +  - prevent SH heads in PS output from being rendered in uppercase
    +    (as they are in console output)
    +
    +  - also display xrefs to SH heads in PS output in normal case
    +    (instead of uppercase)
    +
    +  - draw a line under SH heads in PS output
    +
    +The changes made to the code to support the above features were:
    +
    +  - added some embedded/custom macros: one for conditionally
    +    upper-casing SH x-refs, one for redefining the SH macro
    +    itself, with some conditional handling for PS output, and
    +    finally a macro for putting a background/screen (filled box)
    +    around a block of text (e.g., a program listing) in PS output
    +
    +  - added utility templates for wrapping blocks of text in code
    +    font; also templates for inline code font
    +
  • +

    Robert Stayton: refentry.xsl

    refpurpose nodes now get apply-templates instead of just normalize-space().
    +
  • +

    Michael(tm) Smith: lists.xsl

    Fixed alignment of first lined of text for each listitem in
    +orderedlist output for TTY. Existing code seemed to have been
    +causing an extra undesirable space to appear.
    +
  • +

    Michael(tm) Smith: lists.xsl

    Wrapped some roff conditionals around roff markup for orderedlist
    +and itemizedlist output, so that the lists look acceptable in PS
    +output as well as TTY.
    +
  • +

    Michael(tm) Smith: pi.xsl; synop.xsl; param.xweb; param.ent

    Added the man.funcsynopsis.style parameter. Has the same effect in
    +manpages output as the funcsynopsis.style parameter has in HTML
    +output -- except that its default value is 'ansi' instead of 'kr'.
    +
  • +

    Michael(tm) Smith: synop.xsl

    Reworked handling of K&R funcprototype output. It no longer relies
    +on the HTML kr-tabular templates, but instead just does direct
    +transformation to roff. For K&R output, it displays the paramdef
    +output in an indented list following the prototype.
    +
  • +

    Michael(tm) Smith: synop.xsl

    Properly integrated handling for K&R output into manpages
    +stylesheet. The choice between K&R output and ANSI output is
    +currently controlled through use of the (HTML) funcsynopsis.style
    +parameter. Note that because the mechanism does currently rely on
    +funcsynopsis.style, the default in manpages output is now K&R
    +(because that's the default of that param). But I suppose I ought
    +to create a man.funcsynopsis.style and make the default for that
    +ANSI (to preserve the existing default behavior).
    +
  • +

    Michael(tm) Smith: docbook.xsl

    added manpages/pi.xsl file
    +
  • +

    Michael(tm) Smith: .cvsignore; pi.xsl

    Added "dbman funcsynopsis-style" PI and incorporated it into the
    +doc build.
    +
  • +

    Michael(tm) Smith: refentry.xsl

    Fixed regression that caused an unescaped dash to be output
    +between refname and refpurpose content. Closes bug #1894244.
    +Thanks to Daniel Leidert.
    +
  • +

    Michael(tm) Smith: other.xsl

    Fixed problem with dots being escaped in filenames of generated
    +man files. Closes #1827195. Thanks to Daniel Leidert.
    +
  • +

    Michael(tm) Smith: inline.xsl

    Added support for processing structfield (was appearing in roff
    +output surrounded by HTML <em> tags; fixed so that it gets roff
    +ital markup). Closes bug #1858329.  Thanks to Sam Varshavchik.
    +
+
+ +

Epub

+ +

The following changes have been made to the + epub code + since the 1.73.2 release.

+
  • Keith Fahlgren: bin/spec/README; bin/spec/epub_realbook_spec.rb

    'Realbook' spec now passes
  • Keith Fahlgren: bin/dbtoepub; README; bin/spec/README; bin/lib/docbook.rb; bin/spec/epub_r⋯

    Very primitive Windows support for dbtoepub reference implementation; README for running tests and for the .epub target in general; shorter realbook test document (still fails for now)
  • Keith Fahlgren: bin/dbtoepub; bin/spec/epub_regressions_spec.rb; bin/lib/docbook.rb; bin/s⋯

    Changes to OPF spine to not duplicate idrefs for documents with parts not at the root; regression specs for same
  • Keith Fahlgren: docbook.xsl

    Fixing linking to cover @id, distinct from other needs of cover-image-id (again, thanks to Martin Goerner)
  • Keith Fahlgren: docbook.xsl

    Updating the title of the toc element in the guide to be more explicit (thanks to Martin Goerner)
  • +

    Keith Fahlgren: bin/spec/examples/amasque_exploded/content.opf; bin/spec/examples/amasque_⋯

    Initial checkin/merge of epub target from work provided by Paul Norton of Adobe
    +and Keith Fahlgren of O'Reilly.
    +
  • +

    Keith Fahlgren: docbook.xsl

    == General epub test support
    +
    +$ spec -O ~/.spec.opts spec/epub_spec.rb 
    +
    +DocBook::Epub
    +- should be able to be created
    +- should fail on a nonexistent file
    +- should be able to render to a file
    +- should create a file after rendering
    +- should have the correct mimetype after rendering
    +- should be valid .epub after rendering an article
    +- should be valid .epub after rendering an article without sections
    +- should be valid .epub after rendering a book
    +- should be valid .epub after rendering a book even if it has one graphic
    +- should be valid .epub after rendering a book even if it has many graphics
    +- should be valid .epub after rendering a book even if it has many duplicated graphics
    +- should report an empty file as invalid
    +- should confirm that a valid .epub file is valid
    +- should not include PDFs in rendered epub files as valid image inclusions
    +- should include a TOC link in rendered epub files for <book>s
    +
    +Finished in 20.608395 seconds
    +
    +15 examples, 0 failures
    +
    +
    +== Verbose epub test coverage against _all_ of the testdocs 
    +
    +Fails on only (errors truncated):
    +1)
    +'DocBook::Epub should be able to render a valid .epub for the test document /Users/keith/work/docbook-dev/trunk/xsl/epub/bin/spec/testdocs/calloutlist.003.xml [30]' FAILED
    +'DocBook::Epub should be able to render a valid .epub for the test document /Users/keith/work/docbook-dev/trunk/xsl/epub/bin/spec/testdocs/cmdsynopsis.001.xml [35]' FAILED
    +....
    +
    +Finished in 629.89194 seconds
    +
    +224 examples, 15 failures
    +
    +224 examples, 15 failures yields 6% failure rate
    +
+
+ +

HTMLHelp

+ +

The following changes have been made to the + htmlhelp code + since the 1.73.2 release.

+
  • +

    Mauritz Jeanson: htmlhelp-common.xsl

    Added <xsl:with-param name="quiet" select="$chunk.quietly"/> to calls to
    +the write.chunk, write.chunk.with.doctype, and write.text.chunk templates.
    +This makes chunk.quietly=1 suppress chunk filename messages also for help 
    +support files (which seems to be what one would expect). See bug #1648360.
    +
+
+ +

Eclipse

+ +

The following changes have been made to the + eclipse code + since the 1.73.2 release.

+
  • +

    David Cramer: eclipse.xsl

    Use sortas attributes (if they exist) when sorting indexterms
    +
  • +

    David Cramer: eclipse.xsl

    Added support for indexterm/see in eclipse index.xml
    +
  • +

    Mauritz Jeanson: eclipse.xsl

    Added <xsl:with-param name="quiet" select="$chunk.quietly"/>
    +to helpidx template.
    +
  • +

    David Cramer: eclipse.xsl

    Generate index.xml file and add related goo to plugin.xml file. Does not yet support see and seealso.
    +
  • +

    Mauritz Jeanson: eclipse.xsl

    Added <xsl:with-param name="quiet" select="$chunk.quietly"/> to calls to
    +the write.chunk, write.chunk.with.doctype, and write.text.chunk templates.
    +This makes chunk.quietly=1 suppress chunk filename messages also for help 
    +support files (which seems to be what one would expect). See bug #1648360.
    +
+
+ +

JavaHelp

+ +

The following changes have been made to the + javahelp code + since the 1.73.2 release.

+
  • +

    Mauritz Jeanson: javahelp.xsl

    Added <xsl:with-param name="quiet" select="$chunk.quietly"/> to calls to
    +the write.chunk, write.chunk.with.doctype, and write.text.chunk templates.
    +This makes chunk.quietly=1 suppress chunk filename messages also for help 
    +support files (which seems to be what one would expect). See bug #1648360.
    +
+
+ +

Roundtrip

+ +

The following changes have been made to the + roundtrip code + since the 1.73.2 release.

+
  • +

    Steve Ball: blocks2dbk.xsl; wordml2normalise.xsl

    fix table/cell borders for wordml, fix formal figure, add emphasis-strong
    +
  • +

    Mauritz Jeanson: supported.xml

    Changed @cols to 5.
    +
  • +

    Steve Ball: blocks2dbk.xsl; blocks2dbk.dtd; template.xml

    added pubdate, fixed metadata handling in biblioentry
    +
  • +

    Steve Ball: supported.xml

    Added support for edition.
    +
  • +

    Steve Ball: docbook-pages.xsl; wordml-blocks.xsl; docbook.xsl; wordml.xsl; pages-normalise⋯

    Removed stylesheets for old, deprecated conversion method.
    +
  • +

    Steve Ball: specifications.xml; dbk2ooo.xsl; blocks2dbk.xsl; dbk2pages.xsl; blocks2dbk.dtd⋯

    Added support for Open Office, added edition element, improved list and table support in Word and Pages
    +
  • +

    Steve Ball: normalise-common.xsl; blocks2dbk.xsl; dbk2pages.xsl; template-pages.xml; templ⋯

    Fixed bug in WordML table handling, improved table handling for Pages 08, synchronised WordML and Pages templates.
    +
  • +

    Steve Ball: normalise-common.xsl; blocks2dbk.xsl; wordml2normalise.xsl; dbk2wp.xsl

    fix caption, attributes
    +
  • +

    Steve Ball: specifications.xml; blocks2dbk.xsl; wordml2normalise.xsl; blocks2dbk.dtd; temp⋯

    Fixes to table and list handling
    +
  • +

    Steve Ball: blocks2dbk.xsl

    added support for explicit emphasis character styles
    +
  • +

    Steve Ball: wordml2normalise.xsl

    added support for customisation in image handling
    +
  • +

    Steve Ball: blocks2dbk.xsl

    Added inlinemediaobject support for metadata.
    +
  • +

    Steve Ball: normalise-common.xsl; blocks2dbk.xsl; template.xml; dbk2wordml.xsl; dbk2wp.xsl

    Added support file. Added style locking. Conversion bug fixes.
    +
+
+ +

Slides

+ +

The following changes have been made to the + slides code + since the 1.73.2 release.

+
  • +

    Michael(tm) Smith: fo/Makefile; html/Makefile

    Added checks and hacks to various makefiles to enable building
    +under Cygwin. This stuff is ugly and maybe not worth the mess and
    +trouble, but does seem to work as expected and not break anything
    +else.
    +
  • +

    Jirka Kosek: html/plain.xsl

    Added support for showing foil number
    +
+
+ +

Website

+ +

The following changes have been made to the + website code + since the 1.73.2 release.

+
  • +

    Michael(tm) Smith: extensions/saxon64/.classes/.gitignore; extensions/xalan2/.classes/com/⋯

    renamed a bunch more .cvsignore files to .gitignore (to facilitate use of git-svn)
    +
+
+ +

Params

+ +

The following changes have been made to the + params code + since the 1.73.2 release.

+
  • Keith Fahlgren: epub.autolabel.xml

    New parameter for epub, epub.autolabel
  • +

    Mauritz Jeanson: table.frame.border.color.xml; table.cell.padding.xml; table.cell.border.t⋯

    Added missing refpurposes and descriptions.
    +
  • +

    Keith Fahlgren: ade.extensions.xml

    Extensions to support Adobe Digital Editions extensions in .epub output.
    +
  • +

    Mauritz Jeanson: fop.extensions.xml; fop1.extensions.xml

    Clarified that fop1.extensions is for FOP 0.90 and later. Version 1 is not here yet...
    +
  • +

    Michael(tm) Smith: man.links.are.underlined.xml; man.endnotes.list.enabled.xml; man.font.l⋯

    removed man.links.are.underlined and added man.font.links. Also,
    +changed the default font formatting for links to bold.
    +
  • +

    Michael(tm) Smith: man.base.url.for.relative.links.xml

    Added new param man.base.url.for.relative.links .. specifies a
    +base URL for relative links (for ulink, @xlink:href, imagedata,
    +audiodata, videodata) shown in the generated NOTES section of
    +man-page output. The value of man.base.url.for.relative.links is
    +prepended to any relative URI that is a value of ulink url,
    +xlink:href, or fileref attribute.
    +
    +If you use relative URIs in link sources in your DocBook refentry
    +source, and you leave man.base.url.for.relative.links unset, the
    +relative links will appear "as is" in the NOTES section of any
    +man-page output generated from your source. That's probably not
    +what you want, because such relative links are only usable in the
    +context of HTML output. So, to make the links meaningful and
    +usable in the context of man-page output, set a value for
    +man.base.url.for.relative.links that points
    +to the online version of HTML output generated from your DocBook
    +refentry source. For example:
    +
    +  <xsl:param name="man.base.url.for.relative.links"
    +  >http://www.kernel.org/pub/software/scm/git/docs/</xsl:param>
    +
  • +

    Michael(tm) Smith: man.string.subst.map.xml

    squeeze .sp\n.sp into a single .sp (to prevent a extra, spurious
    +line of whitespace from being inserted after programlisting etc.
    +in certain cases)
    +
  • +

    Michael(tm) Smith: refentry.manual.fallback.profile.xml; refentry.source.fallback.profile.⋯

    don't use refmiscinfo@class=date value as fallback for refentry
    +"source" or "manual" metadata fields
    +
  • +

    Michael(tm) Smith: man.charmap.subset.profile.xml; man.charmap.enabled.xml; man.charmap.su⋯

    made some further doc tweaks related to the
    +man.charmap.subset.profile.english param
    +
  • +

    Michael(tm) Smith: man.charmap.subset.profile.xml; man.charmap.enabled.xml; man.charmap.su⋯

    Added the man.charmap.subset.profile.english parameter and refined
    +the handling of charmap subsets to differentiate between English
    +and non-English source.
    +
    +This way charmap subsets are now handled is this:
    +
    +If the value of the man.charmap.use.subset parameter is non-zero,
    +and your DocBook source is not written in English (that is, if its
    +lang or xml:lang attribute has a value other than en), then the
    +character-map subset specified by the man.charmap.subset.profile
    +parameter is used instead of the full roff character map.
    +
    +Otherwise, if the lang or xml:lang attribute on the root element
    +in your DocBook source or on the first refentry element in your
    +source has the value en or if it has no lang or xml:lang
    +attribute, then the character-map subset specified by the
    +man.charmap.subset.profile.english parameter is used instead of
    +man.charmap.subset.profile.
    +
    +The difference between the two subsets is that
    +man.charmap.subset.profile provides mappings for characters in
    +Western European languages that are not part of the Roman
    +(English) alphabet (ASCII character set).
    +
  • +

    Michael(tm) Smith: man.charmap.subset.profile.xml

    Added to default charmap used by manpages:
    +
    +  - the "letters" part of the 'C1 Controls And Latin-1 Supplement
    +    (Latin-1 Supplement)' Unicode block
    +  - Latin Extended-A block (but not all of the characters from
    +    that block have mappings in groff, so some of them are still
    +    passed through as-is)
    +
    +The effects of this change are that in man pages generated for
    +most Western European languages and for Finnish, all characters
    +not part of the Roman alphabet are (e.g., "accented" characters)
    +are converted to groff escapes.
    +
    +Previously, by default we passed through those characters as is
    +(and users needed to use the full charmap if they wanted to have
    +those characters converted).
    +
    +As a result of this change, man pages generated for Western
    +European languages will be viewable in some environments in which
    +they are not viewable if the "raw" non-Roman characters are in them.
    +
  • +

    Mauritz Jeanson: generate.legalnotice.link.xml; generate.revhistory.link.xml

    Added information on how the filename is computed.
    +
  • +

    Mauritz Jeanson: default.table.width.xml

    Clarified PI usage.
    +
  • +

    Michael(tm) Smith: man.funcsynopsis.style.xml

    Added the man.funcsynopsis.style parameter. Has the same effect in
    +manpages output as the funcsynopsis.style parameter has in HTML
    +output -- except that its default value is 'ansi' instead of 'kr'.
    +
  • +

    Michael(tm) Smith: funcsynopsis.tabular.threshold.xml

    Removed the funcsynopsis.tabular.threshold param. It's no longer
    +being used in the code and hasn't been since mid 2006.
    +
  • +

    Mauritz Jeanson: table.properties.xml

    Set keep-together.within-column to "auto". This seems to be the most sensible
    +default value for tables.
    +
  • +

    Mauritz Jeanson: informal.object.properties.xml; admon.graphics.extension.xml; informalequ⋯

    Several small documentation fixes.
    +
  • +

    Mauritz Jeanson: manifest.in.base.dir.xml

    Wording fixes.
    +
  • +

    Mauritz Jeanson: header.content.properties.xml; footer.content.properties.xml

    Added refpurpose.
    +
  • +

    Mauritz Jeanson: ulink.footnotes.xml; ulink.show.xml

    Updated for DocBook 5.
    +
  • +

    Mauritz Jeanson: index.method.xml; glossterm.auto.link.xml

    Spelling and wording fixes.
    +
  • +

    Mauritz Jeanson: callout.graphics.extension.xml

    Clarifed available graphics formats and extensions.
    +
  • +

    Mauritz Jeanson: footnote.sep.leader.properties.xml

    Corrected refpurpose.
    +
  • +

    Jirka Kosek: footnote.properties.xml

    Added more properties which make it possible to render correctly footnotes placed inside verbatim elements.
    +
  • +

    Mauritz Jeanson: img.src.path.xml

    img.src.path works with inlinegraphic too.
    +
  • +

    Mauritz Jeanson: saxon.character.representation.xml

    Added TCG link.
    +
  • +

    Mauritz Jeanson: img.src.path.xml

    Updated description of img.src.path. Bug #1785224 revealed that 
    +there was a risk of misunderstanding how it works.
    +
+
+ +

Profiling

+ +

The following changes have been made to the + profiling code + since the 1.73.2 release.

+
  • +

    Jirka Kosek: xsl2profile.xsl

    Added new rules to profile all content generated by HTML Help (including alias files)
    +
  • +

    Robert Stayton: profile-mode.xsl

    use mode="profile" instead of xsl:copy-of for attributes so
    +they can be more easily customized.
    +
+
+ + +

Tools

+ +

The following changes have been made to the + tools code + since the 1.73.2 release.

+
  • +

    Michael(tm) Smith: make/Makefile.DocBook

    various changes and additions to support making with asciidoc as
    +an input format
    +
  • +

    Michael(tm) Smith: make/Makefile.DocBook

    make dblatex the default PDF maker for the example makefile
    +
  • +

    Michael(tm) Smith: xsl/build/html2roff.xsl

    Reworked handling of K&R funcprototype output. It no longer relies
    +on the HTML kr-tabular templates, but instead just does direct
    +transformation to roff. For K&R output, it displays the paramdef
    +output in an indented list following the prototype.
    +
  • +

    Mauritz Jeanson: xsl/build/make-xsl-params.xsl

    Made attribute-sets members of the param list. This enables links to attribute-sets in the
    +reference documentation.
    +
  • +

    Michael(tm) Smith: xsl/build/html2roff.xsl

    use .BI handling in K&R funsynopsis output for manpages, just as
    +we do already of ANSI output
    +
  • +

    Michael(tm) Smith: xsl/build/html2roff.xsl

    Implemented initial support for handling tabular K&R output of
    +funcprototype in manpages output. Accomplished by adding more
    +templates to the intermediate HTML-to-roff stylesheet that the
    +build uses to create the manpages/html-synop.xsl stylesheet.
    +
  • +

    Michael(tm) Smith: xsl/build/doc-link-docbook.xsl

    Made the xsl/tools/xsl/build/doc-link-docbook.xsl stylesheet
    +import profile-docbook.xsl, so that we can do profiling of release
    +notes. Corrected some problems in the target for the release-notes
    +HTML build.
    +
+
+ +

Extensions

+ +

The following changes have been made to the + extensions code + since the 1.73.2 release.

+
  • Keith Fahlgren: Makefile

    Use DOCBOOK_SVN variable everywhere, please; build with PDF_MAKER
  • +

    Michael(tm) Smith: Makefile

    moved extensions build targets from master xsl/Makefile to
    +xsl/extensions/Makefile
    +
  • +

    Michael(tm) Smith: .cvsignore

    re-adding empty extensions subdir
    +
+
+ +

XSL-Saxon

+ +

The following changes have been made to the + xsl-saxon code + since the 1.73.2 release.

+
  • +

    Michael(tm) Smith: VERSION

    bring xsl2, xsl-saxon, and xsl-xalan VERSION files up-to-date with
    +recent change to snapshot build infrastructure
    +
  • +

    Michael(tm) Smith: nbproject/build-impl.xml; nbproject/project.properties

    Changed hard-coded file references in "clean" target to variable
    +references. Closes #1792043. Thanks to Daniel Leidert.
    +
  • +

    Michael(tm) Smith: VERSION; Makefile

    Did post-release wrap-up of xsl-saxon and xsl-xalan dirs
    +
  • +

    Michael(tm) Smith: nbproject/build-impl.xml; VERSION; Makefile; test

    More tweaks to get release-ready
    +
+
+ +

XSL-Xalan

+ +

The following changes have been made to the + xsl-xalan code + since the 1.73.2 release.

+
  • +

    Michael(tm) Smith: VERSION

    bring xsl2, xsl-saxon, and xsl-xalan VERSION files up-to-date with
    +recent change to snapshot build infrastructure
    +
  • +

    Michael(tm) Smith: nbproject/build-impl.xml

    Changed hard-coded file references in "clean" target to variable
    +references. Closes #1792043. Thanks to Daniel Leidert.
    +
  • +

    Michael(tm) Smith: Makefile; VERSION

    Did post-release wrap-up of xsl-saxon and xsl-xalan dirs
    +
  • +

    Michael(tm) Smith: Makefile; nbproject/build-impl.xml; VERSION

    More tweaks to get release-ready
    +
+
+ +

XSL-libxslt

+ +

The following changes have been made to the + xsl-libxslt code + since the 1.73.2 release.

+
  • +

    Mauritz Jeanson: python/xslt.py

    Print the result to stdout if no outfile has been given.
    +Some unnecessary semicolons removed.
    +
  • +

    Mauritz Jeanson: python/xslt.py

    Added a function that quotes parameter values (to ensure that they are interpreted as strings).
    +Replaced deprecated functions from the string module with string methods.
    +
  • +

    Michael(tm) Smith: python/README; python/README.LIBXSLT

    renamed xsl-libxslt/python/README to xsl-libxslt/python/README.LIBXSLT
    +
  • +

    Mauritz Jeanson: python/README

    Tweaked the text a little.
    +
+
+ +
+ +

Release Notes: 1.73.2

+ +

This is solely a minor bug-fix update to the 1.73.1 release. + It fixes a packaging error in the 1.73.1 package, as well as a + bug in footnote handling in FO output.

+
+ +

Release: 1.73.1

+ +

This is mostly a bug-fix update to the 1.73.0 release.

+ +

Gentext

+ +

The following changes have been made to the + gentext code + since the 1.73.0 release.

+
  • +

    Mauritz Jeanson: locale/de.xml

    Applied patch #1766009.
    +
  • +

    Michael(tm) Smith: locale/lv.xml

    Added localization for ProductionSet.
    +
+
+ +

FO

+ +

The following changes have been made to the + fo code + since the 1.73.0 release.

+
  • +

    Mauritz Jeanson: table.xsl

    Modified the tgroup template so that, for tables with multiple tgroups, 
    +a width attribute is output on all corresponding fo:tables. Previously, 
    +there was a test prohibiting this (and a comment saying that outputting more
    +than one width attribute will cause an error). But this seems to be no longer 
    +relevant; it is not a problem with FOP 0.93 or XEP 4.10. Closes bug #1760559.
    +
  • +

    Mauritz Jeanson: graphics.xsl

    Replaced useless <a> elements with warning messages (textinsert extension).
    +
  • +

    Mauritz Jeanson: admon.xsl

    Enabled generation of ids (on fo:wrapper) for indexterms in admonition titles, so that page
    +references in the index can be created. Closes bug #1775086.
    +
+
+ +

HTML

+ +

The following changes have been made to the + html code + since the 1.73.0 release.

+
  • +

    Mauritz Jeanson: titlepage.xsl

    Added <xsl:call-template name="process.footnotes"/> to abstract template
    +so that footnotes in info/abstract are processed. Closes bug #1760907.
    +
  • +

    Michael(tm) Smith: pi.xsl; synop.xsl

    Changed handling of HTML output for the cmdsynopsis and
    +funcsynopsis elements, such that a@id instances are generated for
    +them if they are descendants of any element containing a dbcmdlist
    +or dbfunclist PI. Also, update the embedded reference docs for the
    +dbcmdlist and dbfunclist PIs to make it clear that they can be
    +used within any element for which cmdsynopsis or funcsynopsis are
    +valid children.
    +
  • +

    Michael(tm) Smith: formal.xsl

    Reverted the part of revision 6952 that caused a@id anchors to be
    +generated for output of informal objects. Thanks to Sam Steingold
    +for reporting.
    +
  • +

    Robert Stayton: glossary.xsl

    Account for a glossary with no glossdiv or glossentry children.
    +
  • +

    Mauritz Jeanson: titlepage.xsl

    Modified legalnotice template so that the base.name parameter is calculated 
    +in the same way as for revhistory chunks. Using <xsl:apply-templates 
    +mode="chunk-filename" select="."/> did not work for single-page output since
    +the template with that mode is in chunk-code.xsl.
    +
  • +

    Mauritz Jeanson: graphics.xsl

    Updated support for SVG (must be a child of imagedata in DB 5).
    +Added support for MathML in imagedata.
    +
  • +

    Mauritz Jeanson: pi.xsl

    Added documentation for the dbhh PI (used for context-sensitive HTML Help).
    +(The two templates matching 'dbhh' are still in htmlhelp-common.xsl).
    +
+
+ +

Manpages

+ +

The following changes have been made to the + manpages code + since the 1.73.0 release.

+
  • +

    Michael(tm) Smith: endnotes.xsl

    In manpages output, generate warnings about notesources with
    +non-para children only if the notesource is a footnote or
    +annotation. Thanks to Sam Steingold for reporting problems with
    +the existing handling.
    +
+
+ +

HTMLHelp

+ +

The following changes have been made to the + htmlhelp code + since the 1.73.0 release.

+
  • +

    Michael(tm) Smith: htmlhelp-common.xsl

    Added single-pass namespace-stripping support to the htmlhelp,
    +eclipse, and javahelp stylesheets.
    +
+
+ +

Eclipse

+ +

The following changes have been made to the + eclipse code + since the 1.73.0 release.

+
  • +

    Michael(tm) Smith: eclipse.xsl

    Added single-pass namespace-stripping support to the htmlhelp,
    +eclipse, and javahelp stylesheets.
    +
+
+ +

JavaHelp

+ +

The following changes have been made to the + javahelp code + since the 1.73.0 release.

+
  • +

    Michael(tm) Smith: javahelp.xsl

    Added single-pass namespace-stripping support to the htmlhelp,
    +eclipse, and javahelp stylesheets.
    +
+
+ +

Roundtrip

+ +

The following changes have been made to the + roundtrip code + since the 1.73.0 release.

+
  • +

    Steve Ball: blocks2dbk.xsl; blocks2dbk.dtd; pages2normalise.xsl

    Modularised blocks2dbk to allow customisation,
    +Added support for tables to pages2normalise
    +
+
+ +

Params

+ +

The following changes have been made to the + params code + since the 1.73.0 release.

+
  • +

    Robert Stayton: procedure.properties.xml

    procedure was inheriting keep-together from formal.object.properties, but
    +a procedure does not need to be kept together by default.
    +
  • +

    Dave Pawson: title.font.family.xml; component.label.includes.part.label.xml; table.frame.b⋯

    Regular formatting re-org.
    +
+
+
+ +

Release: 1.73.0

+ +

This release includes important bug fixes and adds the following +significant feature changes: +

New localizations and localization updates
+

We added two new localizations: Latvian and + Esperanto, and made updates to the Czech, Chinese + Simplified, Mongolian, Serbian, Italian, and Ukrainian + localizations.

+
ISO690 citation style for bibliography output.
+

Set the + bibliography.style parameter to + iso690 to use ISO690 style.

+
New documentation for processing instructions (PI)
+

The reference documentation that ships with the + release now includes documentation on all PIs that you can use to + control output from the stylesheets.

+
New profiling parameters for audience and wordsize
+

You can now do profiling based on the values of the + audience and + wordsize attributes.

+
Changes to man-page output
+

The manpages stylesheet now supports single-pass + profiling and single-pass DocBook 5 namespace stripping + (just as the HTML and FO stylesheets also do). Also, added + handling for mediaobject & + inlinemediaobject. (Each imagedata, + audiodata, or videodata element + within a mediaobject or inline + mediaobject is now treated as a "notesource" + and so handled in much the same way as links and + annotation/alt/footnote + are in manpages output.) And added the + man.authors.section.enabled and + man.copyright.section.enabled + parameters to enable control over whether output includes + auto-generated AUTHORS and + COPYRIGHT sections.

+
Highlighting support for C
+

The highlighting mechanism for generating + syntax-highlighted code snippets in output now supports C + code listings (along with Java, PHP, XSLT, and others).

+
Experimental docbook-xsl-update script
+

We added an experimental docbook-xsl-update + script, the purpose of which is to facilitate + easy sync-up to the latest docbook-xsl snapshot (by means + of rsync).

+

+

+ +

Gentext

+ +

The following changes have been made to the +gentext code +since the 1.72.0 release.

+
  • +

    Michael(tm) Smith: locale/lv.xml; Makefile

    Added Latvian localization file, from Girts Ziemelis.
    +
  • +

    Dongsheng Song: locale/zh_cn.xml

    Brought up to date with en.xml in terms of items. A few strings marked for translation.
    +
  • +

    Jirka Kosek: locale/cs.xml

    Added missing translations
    +
  • +

    Robert Stayton: locale/eo.xml

    New locale for Esperanto.
    +
  • +

    Robert Stayton: locale/mn.xml

    Update from Ganbold Tsagaankhuu.
    +
  • +

    Jirka Kosek: locale/en.xml; locale/cs.xml

    Rules for normalizing glossary entries before they are sorted can be now different for each language.
    +
  • +

    Michael(tm) Smith: locale/sr_Latn.xml; locale/sr.xml

    Committed changes from Miloš Komarčević to Serbian files.
    +
  • +

    Robert Stayton: locale/ja.xml

    Fix chapter in context xref-number-and-title
    +
  • +

    Robert Stayton: locale/it.xml

    Improved version from contributor.
    +
  • +

    Mauritz Jeanson: locale/uk.xml

    Applied patch 1592083.
    +
+
+

Common

+ +

The following changes have been made to the +common code +since the 1.72.0 release.

+
  • +

    Michael(tm) Smith: labels.xsl

    Changed handling of reference auto-labeling such that reference
    +(when it appears at the component level) is now affected by the
    +label.from.part param, just as preface, chapter, and appendix.
    +
  • +

    Michael(tm) Smith: common.xsl

    Added support to the HTML stylesheets for proper processing of
    +orgname as a child of author.
    +
  • +

    Michael(tm) Smith: refentry.xsl

    Refined logging output of refentry metadata-gathering template;
    +for some cases of "missing" elements (refmiscinfo stuff, etc.),
    +the log messages now include URL to corresponding page in the
    +Definitive Guide (TDG).
    +
  • +

    Robert Stayton: titles.xsl

    Add refsection/info/title support.
    +
  • +

    Michael(tm) Smith: titles.xsl

    Added support for correct handling of xref to elements that
    +contain info/title descendants but no title children.
    +
    +This should be further refined so that it handles any *info
    +elements. And there are probably some other places where similar
    +handling for *info/title should be added.
    +
  • +

    Mauritz Jeanson: pi.xsl

    Modified <xsl:when> in datetime.format template to work
    +around Xalan bug.
    +
+
+

FO

+ +

The following changes have been made to the +fo code +since the 1.72.0 release.

+
  • +

    Robert Stayton: component.xsl

    Add parameters to the page.sequence utility template.
    +
  • +

    Mauritz Jeanson: xref.xsl

    Added template for xref to area/areaset.
    +Part of fix for bug #1675513 (xref to area broken).
    +
  • +

    Michael(tm) Smith: inline.xsl

    Added template match for person element to fo stylesheet.
    +
  • +

    Robert Stayton: lists.xsl

    Added support for spacing="compact" in variablelist, per bug report #1722540.
    +
  • +

    Robert Stayton: table.xsl

    table pgwide="1" should also use pgwide.properties attribute-set.
    +
  • +

    Mauritz Jeanson: inline.xsl

    Make citations numbered if bibliography.numbered != 0.
    +
  • +

    Robert Stayton: param.xweb; param.ent

    Add new profiling parameters for audience and wordsize.
    +
  • +

    Robert Stayton: param.xweb; param.ent

    Added callout.icon.size parameter.
    +
  • +

    Robert Stayton: inline.xsl; xref.xsl

    Add support for xlink as olink.
    +
  • +

    Robert Stayton: autotoc.xsl; param.xweb; param.ent

    Add support for qanda.in.toc to fo TOC.
    +
  • +

    Robert Stayton: component.xsl

    Improved the page.sequence utility template for use with book.
    +
  • +

    Robert Stayton: division.xsl

    Refactored the big book template into smaller pieces.
    +Used the "page.sequence" utility template in
    +component.xsl to shorten the toc piece.
    +Added placeholder templates for front.cover and back.cover.
    +
  • +

    Robert Stayton: param.xweb; param.ent; sections.xsl

    Add section.container.element parameter to enable
    +pgwide spans inside sections.
    +
  • +

    Robert Stayton: param.xweb; param.ent; component.xsl

    Add component.titlepage.properties attribute-set to
    +support span="all" and other properties.
    +
  • +

    Robert Stayton: htmltbl.xsl; table.xsl

    Apply table.row.properties template to html tr rows too.
    +Add keep-with-next to table.row.properties when row is in thead.
    +
  • +

    Robert Stayton: table.xsl

    Add support for default.table.frame parameter.
    +Fix bug 1575446 rowsep last check for @morerows.
    +
  • +

    Robert Stayton: refentry.xsl

    Add support for info/title in refsections.
    +
  • +

    David Cramer: qandaset.xsl

    Make fo questions and answers behave the same way as html
    +
  • +

    Jirka Kosek: lists.xsl

    Added missing attribute set for procedure
    +
  • +

    Jirka Kosek: param.xweb; biblio.xsl; docbook.xsl; param.ent; biblio-iso690.xsl

    Added support for formatting biblioentries according to ISO690 citation style.
    +New bibliography style can be turned on by setting parameter bibliography.style to "iso690"
    +The code was provided by Jana Dvorakova
    +
  • +

    Robert Stayton: param.xweb; param.ent; pagesetup.xsl

    Add header.table.properties and footer.table.properties attribute-sets.
    +
  • +

    Robert Stayton: inline.xsl

    Add fop1.extensions for menuchoice arrow handling exception.
    +
+
+

HTML

+ +

The following changes have been made to the + html code + since the 1.72.0 release.

+
  • +

    Mauritz Jeanson: param.xweb; param.ent

    Moved declaration and documentation of javahelp.encoding from javahelp.xsl to the
    +regular "parameter machinery".
    +
  • +

    Michael(tm) Smith: admon.xsl

    Changed handling of titles for note, warning, caution, important,
    +tip admonitions: We now output and HTML h3 head only if
    +admon.textlabel is non-zero or if the admonition actually contains
    +a title; otherwise, we don't output an h3 head at all.
    +(Previously, we were outputting an empty h3 if the admon.textlabel
    +was zero and if the admonition had no title.)
    +
  • +

    Mauritz Jeanson: xref.xsl

    Added template for xref to area/areaset.
    +Part of fix for bug #1675513 (xref to area broken).
    +
  • +

    Mauritz Jeanson: titlepage.xsl; component.xsl; division.xsl; sections.xsl

    Added fixes to avoid duplicate ids when generate.id.attributes = 1.
    +This (hopefully) closes bug #1671052.
    +
  • +

    Michael(tm) Smith: formal.xsl; pi.xsl

    Made the dbfunclist PI work as intended. Also added doc for
    +dbfunclist and dbcmdlist PIs.
    +
  • +

    Michael(tm) Smith: pi.xsl; synop.xsl

    Made the dbcmdlist work the way it appears to have been intended
    +to work. Restored dbhtml-dir template back to pi.xsl.
    +
  • +

    Michael(tm) Smith: titlepage.xsl; param.xweb; param.ent

    Added new param abstract.notitle.enabled.
    +If non-zero, in output of the abstract element on titlepages,
    +display of the abstract title is suppressed.
    +Because sometimes you really don't want or need that title
    +there...
    +
  • +

    Michael(tm) Smith: chunk-code.xsl; graphics.xsl

    When we are chunking long descriptions for mediaobject instances
    +into separate HTML output files, and use.id.as.filename is
    +non-zero, if a mediaobject has an ID, use that ID as the basename
    +for the long-description file (otherwise, we generate an ID for it
    +and use that ID as the basename for the file).
    +The parallels the recent change made to cause IDs for legalnotice
    +instances to be used as basenames for legalnotice chunks.
    +Also, made some minor refinements to the recent changes for
    +legalnotice chunk handling.
    +
  • +

    Michael(tm) Smith: titlepage.xsl

    Added support to the HTML stylesheets for proper processing of
    +orgname as a child of author.
    +
  • +

    Michael(tm) Smith: chunk-code.xsl

    When $generate.legalnotice.link is non-zero and
    +$use.id.as.filename is also non-zero, if a legalnotice has an ID,
    +then instead of assigning the "ln-<generatedID>" basename to the
    +output file for that legalnotice, just use its real ID as the
    +basename for the file -- as we do when chunking other elements
    +that have IDs.
    +
  • +

    David Cramer: xref.xsl

    Handle alt text on xrefs to steps when the step doesn't have a title.
    +
  • +

    David Cramer: lists.xsl

    Added <p> element around term in variablelist when formatted as table to avoid misalignment of term and listitem in xhtml (non-quirks mode) output
    +
  • +

    David Cramer: qandaset.xsl

    Added <p> element around question and answer labels to avoid misalignment of label and listitem in xhtml (non-quirks mode) output
    +
  • +

    David Cramer: lists.xsl

    Added <p> element around callouts to avoid misalignment of callout and listitem in xhtml (non-quirks mode) output
    +
  • +

    Mauritz Jeanson: inline.xsl

    Make citations numbered if bibliography.numbered != 0.
    +
  • +

    Robert Stayton: param.xweb; param.ent

    Add support for new profiling attributes audience and wordsize.
    +
  • +

    Robert Stayton: inline.xsl; xref.xsl

    Add support for xlink olinks.
    +
  • +

    Jirka Kosek: glossary.xsl

    Rules for normalizing glossary entries before they are sorted can be now different for each language.
    +
  • +

    Robert Stayton: chunk-common.xsl; chunk-code.xsl; manifest.xsl; chunk.xsl

    Refactored the chunking modules to move all named templates to
    +chunk-common.xsl and all match templates to chunk-code.xsl, in
    +order to enable better chunk customization.
    +See the comments in chunk.xsl for more details.
    +
  • +

    Robert Stayton: lists.xsl

    Add anchor for xml:id for listitem in varlistentry.
    +
  • +

    Robert Stayton: refentry.xsl

    Add support for info/title in refsections for db5.
    +
  • +

    Jirka Kosek: param.xweb; biblio.xsl; docbook.xsl; param.ent; biblio-iso690.xsl

    Added support for formatting biblioentries according to ISO690 citation style.
    +New bibliography style can be turned on by setting parameter bibliography.style to "iso690"
    +The code was provided by Jana Dvorakova
    +
  • +

    Robert Stayton: inline.xsl; xref.xsl

    Add call to class.attribute to <a> output elements so they can
    +have a class value too.
    +
  • +

    Mauritz Jeanson: glossary.xsl

    Fixed bug #1644881:
    +* Added curly braces around all $language attribute values. 
    +* Moved declaration of language variable to top level of stylesheet.
    +Tested with Xalan, Saxon, and xsltproc.
    +
+
+

Manpages

+ +

The following changes have been made to the + manpages code + since the 1.72.0 release.

+
  • +

    Michael(tm) Smith: param.xweb; docbook.xsl; param.ent

    Added the man.authors.section.enabled and
    +man.copyright.section.enabled parameters. Set those to zero when
    +you want to suppress display of the auto-generated AUTHORS and
    +COPYRIGHT sections. Closes request #1467806. Thanks to Daniel
    +Leidert.
    +
  • +

    Michael(tm) Smith: docbook.xsl

    Took the test that the manpages stylesheet does to see if there
    +are any Refentry chilren in current doc, and made it
    +namespace-agnostic. Reason for that is because the test otherwise
    +won't work when it is copied over into the generated
    +profile-docbook.xsl stylesheet.
    +
  • +

    Michael(tm) Smith: Makefile

    Added a manpages/profile-docbook.xsl file to enable single-pass
    +profiling for manpages output.
    +
  • +

    Michael(tm) Smith: info.xsl

    Output copyright and legalnotice in man-page output in whatever
    +place they are in in document order. Closes #1690539. Thanks to
    +Daniel Leidert for reporting.
    +
  • +

    Michael(tm) Smith: docbook.xsl

    Restored support for single-pass namespace stripping to manpages
    +stylesheet.
    +
  • +

    Michael(tm) Smith: synop.xsl; block.xsl; info.xsl; inline.xsl; lists.xsl; endnotes.xsl; ut⋯

    Changed handling of bold and italic/underline output in manpages
    +output. Should be transparent to users, but...
    +
    +This touches handling of all bold and italic/underline output. The
    +exact change is that the mode="bold" and mode="italic" utility
    +templates were changed to named templates. (I think maybe I've
    +changed it back and forth from mode to named before, so this is
    +maybe re-reverting it yet again).
    +
    +Anyway, the reason for the change is that the templates are
    +sometimes call on dynamically node-sets, and using modes to format
    +those doesn't allow passing info about the current/real context
    +node from the source (not the node-set created by the stylesheet)
    +to that formatting stage.
    +
    +The named templates allow the context to be passed in as a
    +parameter, so that the bold/ital formatting template can use
    +context-aware condition checking.
    +
    +This was basically necessary in order to suppress bold formatting
    +in titles, which otherwise gets screwed up because of the numbnut
    +way that roff handles nested bold/ital.
    +
    +Closes #1674534). Much thanks to Daniel Leidert, whose in his
    +docbook-xsl bug-finding kung-fu has achieved Grand Master status.
    +
  • +

    Michael(tm) Smith: block.xsl

    Fixed handling of example instances by adding the example element
    +to the same template we use for processing figure. Closes
    +#1674538. Thanks to Daniel Leidert.
    +
  • +

    Michael(tm) Smith: utility.xsl

    Don't include lang in manpages filename/pathname if lang=en (that
    +is, only generate lang-qualified file-/pathnames for non-English).
    +
  • +

    Michael(tm) Smith: endnotes.xsl

    In manpages output, emit warnings for notesources (footnote, etc.)
    +that have something other than para as a child.
    +
    +The numbered-with-hanging-indent formatting that's used for
    +rendering endnotes in the NOTES section of man pages places some
    +limits/assumptions on how the DocBook source is marked up; namely,
    +for notesources (footnote, annotation, etc.) that can contain
    +block-level children, if the they have a block-level child such as
    +a table or itemizedlist or orderedlist that is the first child of
    +a footnote, we have no way of rendering/indenting its content
    +properly in the endnotes list.
    +
    +Thus, the manpages stylesheet not emits a warning message for that
    +case, and suggests the "fix" (which is to wrap the table or
    +itemizedlist or whatever in a para that has some preferatory text.
    +
  • +

    Michael(tm) Smith: utility.xsl

    Added support to mixed-block template for handling tables in
    +mixed-blocks (e.g., as child of para) correctly.
    +
  • +

    Michael(tm) Smith: table.xsl; synop.xsl; block.xsl; info.xsl; lists.xsl; refentry.xsl; end⋯

    Reverted necessary escaping of backslash, dot, and dash
    +out of the well-intentioned (but it now appears,
    +misguided) "marker" mechanism (introduced in the 1.72.0
    +release) -- which made use of alternative "marker"
    +characters as internal representations of those
    +characters, and then replaced them just prior to
    +serialization -- and back into what's basically the
    +system that was used prior to the 1.69.0 release; that
    +is, into a part of stylesheet code that gets executed
    +at the beginning of processing -- before any other roff
    +markup up is. This change obviates the need for the
    +marker system. It also requires a lot less RAM during
    +processing (for large files, the marker mechanism
    +ending up requiring gigabytes of memory).
    +
    +Closes bug #1661177. Thanks to Scott Smedley for
    +providing a test case (the fvwm man page) that exposed
    +the problem with the marker mechanism.
    +
    +Also moved the mechanism for converting non-breaking
    +spaces back into the same area of the stylesheet code.
    +
  • +

    Michael(tm) Smith: lists.xsl

    Fixed problem with incorrect formatting of nested variablelist.
    +Closes bug #1650931. Thanks to Daniel "Eagle Eye" Leidert.
    +
  • +

    Michael(tm) Smith: lists.xsl

    Make sure that all listitems in itemizedlist and orderedlist are
    +preceded by a blank line. This fixes a regression that occurred
    +when instances of the TP macro that were use in a previous
    +versions of the list-handling code were switched to RS/RE (because
    +TP doesn't support nesting). TP automatically generates a blank
    +line, but RS doesn't. So I added a .sp before each .RS
    +
  • +

    Michael(tm) Smith: block.xsl; inline.xsl; param.xweb; docbook.xsl; links.xsl; param.ent

    Made a number of changes related to elements with
    +out-of-line content:
    +
    +- Added handling for mediaobject & inlinemediaobject.
    +  Each imagedata, audiodata, or videodata element
    +  within a mediaobject or inline mediaobject is now
    +  treated as a "notesource" and so handled in much the
    +  same way as links and annotation/alt/footnotes.
    +
    +  That means a numbered marker is generated inline to
    +  mark the place in the main flow where the imagedata,
    +  audiodata, or videodata element occurs, and a
    +  corresponding numbered endnote for it is generated in
    +  the endnotes list at the end of the man page; the
    +  endnote contains the URL from the fileref attribute
    +  of the imagedata, audiodata, or videodata element.
    +
    +  For mediobject and inlinemediaobject instances that
    +  have a textobject child, the textobject is displayed
    +  within the main text flow.
    +
    +- Renamed several man.link.* params to man.endnotes.*,
    +  to reflect that fact that the endnotes list now
    +  contains more than just links. Also did similar
    +  renaming for a number of stylesheet-internal vars.
    +
    +- Added support for xlink:href (along with existing
    +  support for the legacy ulink element).
    +
    +- Cleaned up and streamlined the endnotes-handling
    +  code. It's still messy and klunky and the basic
    +  mechanism it uses is very inefficent for documents
    +  that contain a lot of notesources, but at least it's
    +  a bit better than it was.
    +
+
+

Eclipse

+ +

The following changes have been made to the + eclipse code + since the 1.72.0 release.

+
  • +

    Mauritz Jeanson: Makefile

    Fixed bug #1715093: Makefile for creating profiled version of eclipse.xsl added.
    +
  • +

    David Cramer: eclipse.xsl

    Added normalize-space around  to avoid leading whitespace from appearing in the output if there's extra leading whitespace (e.g. <title> Foo</title>) in the source
    +
+
+

JavaHelp

+ +

The following changes have been made to the + javahelp code + since the 1.72.0 release.

+
  • +

    Mauritz Jeanson: javahelp.xsl

    Implemented FR #1230233 (sorted index in javahelp).
    +
  • +

    Mauritz Jeanson: javahelp.xsl

    Added normalize-space() around titles and index entries to work around whitespace problems.
    +Added support for glossary and bibliography in toc and map files.
    +
+
+

Roundtrip

+ +

The following changes have been made to the + roundtrip code + since the 1.72.0 release.

+
  • +

    Steve Ball: blocks2dbk.xsl; wordml2normalise.xsl; normalise2sections.xsl; sections2blocks.⋯

    new stylesheets for better word processor support and easier maintenance
    +
  • +

    Steve Ball: template-pages.xml; dbk2wp.xsl; sections-spec.xml

    fixed bugs
    +
+
+

Params

+ +

The following changes have been made to the + params code + since the 1.72.0 release.

+
  • +

    Mauritz Jeanson: htmlhelp.button.back.xml; htmlhelp.button.forward.xml; htmlhelp.button.zo⋯

    Modified refpurpose text.
    +
  • +

    Mauritz Jeanson: htmlhelp.map.file.xml; htmlhelp.force.map.and.alias.xml; htmlhelp.alias.f⋯

    Fixed typos, made some small changes.
    +
  • +

    Mauritz Jeanson: javahelp.encoding.xml

    Moved declaration and documentation of javahelp.encoding from javahelp.xsl to the
    +regular "parameter machinery".
    +
  • +

    Mauritz Jeanson: generate.id.attributes.xml

    Added refpurpose text.
    +
  • +

    Mauritz Jeanson: annotation.js.xml; annotation.graphic.open.xml; annotation.graphic.close.⋯

    Added better refpurpose texts.
    +
  • +

    Michael(tm) Smith: chunker.output.cdata-section-elements.xml; chunker.output.standalone.xm⋯

    Fixed some broken formatting in source files for chunker.* params,
    +as pointed out by Dave Pawson.
    +
  • +

    Michael(tm) Smith: label.from.part.xml

    Changed handling of reference auto-labeling such that reference
    +(when it appears at the component level) is now affected by the
    +label.from.part param, just as preface, chapter, and appendix.
    +
  • +

    Mauritz Jeanson: callout.graphics.extension.xml

    Clarified that 'extension' refers to file names.
    +
  • +

    Michael(tm) Smith: abstract.notitle.enabled.xml

    Added new param abstract.notitle.enabled.
    +If non-zero, in output of the abstract element on titlepages,
    +display of the abstract title is suppressed.
    +Because sometimes you really don't want or need that title
    +there...
    +
  • +

    Michael(tm) Smith: man.string.subst.map.xml

    Updated manpages string-substitute map to reflect fact that
    +because of another recent change to suppress bold markup in .SH
    +output, we no longer need to add a workaround for the accidental
    +uppercasing of roff escapes that occurred previously.
    +
  • +

    Jirka Kosek: margin.note.float.type.xml; title.font.family.xml; table.frame.border.color.x⋯

    Improved parameter metadata
    +
  • +

    Robert Stayton: profile.wordsize.xml; profile.audience.xml

    Add support for profiling on new attributes audience and wordsize.
    +
  • +

    Robert Stayton: callout.graphics.number.limit.xml; callout.graphics.extension.xml

    Added SVG graphics for fo output.
    +
  • +

    Robert Stayton: callout.icon.size.xml

    Set size of callout graphics.
    +
  • +

    Jirka Kosek: default.units.xml; chunker.output.method.xml; toc.list.type.xml; output.inden⋯

    Updated parameter metadata to the new format.
    +
  • +

    Jirka Kosek: man.output.quietly.xml; title.font.family.xml; footnote.sep.leader.properties⋯

    Added type annotations into parameter definition files.
    +
  • +

    Robert Stayton: section.container.element.xml

    Support spans in sections for certain processors.
    +
  • +

    Robert Stayton: component.titlepage.properties.xml

    Empty attribute set for top level component titlepage block.
    +Allows setting a span on title info.
    +
  • +

    Jirka Kosek: bibliography.style.xml

    Added link to WiKi page with description of special markup needed for ISO690 biblioentries
    +
  • +

    Robert Stayton: make.year.ranges.xml

    Clarify that multiple year elements are required.
    +
  • +

    Robert Stayton: id.warnings.xml

    Turn off id.warnings by default.
    +
  • +

    Jirka Kosek: bibliography.style.xml

    Added support for formatting biblioentries according to ISO690 citation style.
    +New bibliography style can be turned on by setting parameter bibliography.style to "iso690"
    +The code was provided by Jana Dvorakova
    +
  • +

    Robert Stayton: header.table.properties.xml; footer.table.properties.xml

    Support adding table properties to header and footer tables.
    +
+
+

Highlighting

+ +

The following changes have been made to the + highlighting code + since the 1.72.0 release.

+
  • +

    Jirka Kosek: c-hl.xml; xslthl-config.xml

    Added support for C language. Provided by Bruno Guegan.
    +
+
+

Profiling

+ +

The following changes have been made to the + profiling code + since the 1.72.0 release.

+
  • +

    Robert Stayton: profile-mode.xsl

    Add support for new profiling attributes audience and wordsize.
    +
+
+

Lib

+ +

The following changes have been made to the + lib code + since the 1.72.0 release.

+
  • +

    Michael(tm) Smith: lib.xweb

    Changed name of prepend-pad template to pad-string and twheeked so
    +it can do both right/left padding.
    +
+
+

Tools

+ +

The following changes have been made to the + tools code + since the 1.72.0 release.

+
  • +

    Michael(tm) Smith: bin; bin/docbook-xsl-update

    Did some cleanup to the install.sh source and added a
    +docbook-xsl-update script to the docbook-xsl distro, the purpose
    +of which is to facilitate easy sync-up to the latest docbook-xsl
    +snapshot (by means of rsync).
    +
+
+

XSL-Saxon

+ +

The following changes have been made to the + xsl-saxon code + since the 1.72.0 release.

+
  • +

    Mauritz Jeanson: xalan27/src/com/nwalsh/xalan/Verbatim.java; xalan27/src/com/nwalsh/xalan/⋯

    Added modifications so that the new callout.icon.size parameter is taken into account. This 
    +parameter is used for FO output (where SVG now is the default graphics format for callouts).
    +
  • +

    Mauritz Jeanson: saxon65/src/com/nwalsh/saxon/FormatCallout.java; xalan27/src/com/nwalsh/x⋯

    Added code for generating id attributes on callouts in HTML and FO output.
    +These patches enable cross-references to callouts placed by area coordinates.
    +It works for graphic, unicode and text callouts. 
    +Part of fix for bug #1675513 (xref to area broken).
    +
  • +

    Michael(tm) Smith: saxon65/src/com/nwalsh/saxon/Website.java; xalan27/src/com/nwalsh/xalan⋯

    Copied over Website XSL Java extensions.
    +
+
+

XSL-Xalan

+ +

The following changes have been made to the + xsl-xalan code + since the 1.72.0 release.

+
  • +

    Michael(tm) Smith: Makefile; xalan2

    Turned off xalan2.jar build. This removes DocBook XSL
    +Java extensions support for versions of Xalan prior to
    +Xalan 2.7. If you are currently using the extensions
    +with an earlier version of Xalan, you need to upgrade
    +to Xalan 2.7.
    +
  • +

    Mauritz Jeanson: xalan27/src/com/nwalsh/xalan/Verbatim.java; xalan27/src/com/nwalsh/xalan/⋯

    Added modifications so that the new callout.icon.size parameter is taken into account. This 
    +parameter is used for FO output (where SVG now is the default graphics format for callouts).
    +
  • +

    Mauritz Jeanson: saxon65/src/com/nwalsh/saxon/FormatCallout.java; xalan27/src/com/nwalsh/x⋯

    Added code for generating id attributes on callouts in HTML and FO output.
    +These patches enable cross-references to callouts placed by area coordinates.
    +It works for graphic, unicode and text callouts. 
    +Part of fix for bug #1675513 (xref to area broken).
    +
  • +

    Michael(tm) Smith: saxon65/src/com/nwalsh/saxon/Website.java; xalan27/src/com/nwalsh/xalan⋯

    Copied over Website XSL Java extensions.
    +
+
+
+ +

Release: 1.72.0

+ +

This release includes important bug fixes and adds the following +significant feature changes: +

Automatic sorting of glossary entries
+

The HTML and FO stylesheets now support automatic sorting + of glossary entries. To enable glossary sorting, set + the value of the glossary.sort parameter + to 1 (by default, it’s value is + 0). When you enable glossary sorting, + glossentry elements within a glossary, + glossdiv, or glosslist are sorted on the + glossterm, using the current language setting. If you + don’t enable glossary sorting, then the order of + glossentry elements is left “as is” — that is, they + are not sorted but are instead just displayed in document + order.

+
WordML renamed to Roundtrip, OpenOffice support added
+

Stylesheets for “roundtrip” conversion between documents in + OpenOffice format (ODF) and DocBook XML have been added to the set + of stylesheets that formerly had the collective title + WordML, and that set of stylesheets has + been renamed to Roundtrip to better + reflect the actual scope and purpose of its contents.

+

So the DocBook XSL Stylesheets now support roundtrip + conversion (with certain limitations) of WordML, OpenOffice, and + Apple Pages documents to and from DocBook XML.

+
Including QandASet questions in TOCs
+

The HTML stylesheet now provides support for including + QandASet questions in the document TOC. To + enable display of questions in the document TOC, set + the value of the qanda.in.toc to + 1 (by default, it’s 0). When you + enable qanda.in.toc, then the generated + table of contents for a document will include + qandaset titles, qandadiv titles, and + question elements. The default value of zero + excludes them from the TOC. +

Note

+

The qanda.in.toc parameter does + not affect any tables of contents that may be generated + within a qandaset or + qandadiv (only in the document TOC).

+

+

+
Language identifier in man-page filenames and pathnames
+

Added new parameter man.output.lang.in.name.enabled, which controls whether + a language identifier is included in man-page filenames and + pathnames. It works like this:

+ +

If the value of man.output.lang.in.name.enabled is non-zero, + man-page files are output with a language identifier included in + their filenames or pathnames as follows:

+ +
+ +
index.page.number.properties property set
+

For FO output, use the + index.page.number.properties to control + formatting of page numbers in index output — to (for + example) to display page numbers in index output in a + different color (to indicate that they are links).

+
Crop marks in output from Antenna House XSL Formatter
+

Support has been added for generating crop marks in + print/PDF output generated using Antenna House XSL Formatter

+
More string-substitution hooks in manpages output
+

The man.string.subst.map.local.pre + and man.string.subst.map.local.post + parameters have been added to enable easier control over + custom string substitutions.

+
Moved verbatim properties to attribute-set
+

The hardcoded properties used in verbatim elements (literallayout, + programlisting, screen) were moved to the verbatim.properties + attribute-set so they can be more easily customized.

+
enhanced simple.xlink template
+

Now the simple.xlink template in inline.xsl works with + cross reference elements xref and link as well. Also, more elements + call simple.xlink, which enables DB5 xlink functionality. +

+
DocBook 5 compatibility
+

Stylesheets now consistently support DocBook 5 attributes + (such as xml:id). Also, DocBook 5 info elements are now checked + along with other *info elements, and the use of name() function + was replaced by local-name() so it also matches on DocBook 5 elements. + These changes enable reusing the stylesheets with DocBook 5 + documents with minimal fixup. +

+
HTML class attributes now handled in class.attribute mode
+

The HTML class attributes were formerly hardcoded to the + element name. Now the class attribute is generated by applying + templates in class.attribute mode so class attribute names + can be customized. The default is still the element name.

+
arabic-indic numbering enabled in autolabels
+

Numbering of chapter, sections, and pages can now use + arabic-indic numbering when number format is set to 'arabicindic' or + to ١.

+

+The following is a detailed list of changes (not +including bug fixes) that have been made since the 1.71.1 +release.

+ +

Common

+ +

The following changes have been made to the + common code + since the 1.71.1 release.

+
  • +

    Add support for arabicindic numbering to autolabel.format template.

    +
  • +

    Finish support for @xml:id everywhere @id is used.

    +
  • +

    replace name() with local-name() in most cases.

    +
  • +

    Add support for info.

    +
  • +

    Add utility template tabstyle to return the tabstyle from
    +any table element.

    +
+
+ +

FO

+ +

The following changes have been made to the + fo code + since the 1.71.1 release.

+
  • +

    Add support for sorting glossary entries

    +
  • +

    Add table.row.properties template to customize table rows.

    +
  • +

    Moved all properties to attribute-sets so can be customized more easily.

    +
  • +

    Add index.page.number.properties attribute-set to format page numbers.

    +
  • +

    xref now supports xlink:href, using simple.xlink template.

    +
  • +

    Rewrote simple.xlink, and call it with all charseq templates.

    +
  • +

    Add simple.xlink processing to term and member elements.

    +
  • +

    Add support for crop marks in Antenna House.

    +
+
+ +

HTML

+ +

The following changes have been made to the + html code + since the 1.71.1 release.

+
  • +

    Add support for sorting glossary entries

    +
  • +

    Add support for qanda.in.toc to add qandaentry questions to document TOC.

    +
  • +

    add simple.xlink support to variablelist term and simplelist member.

    +
  • +

    *.propagates.style now handled in class.attribute mode.

    +
  • +

    add class parameter to class.attribute mode to set default class.

    +
  • +

    Convert all class attributes to use the class.attribute mode
    +so class names can be customized more easily.

    +
  • +

    Add class.attribute mode to generate class attributes.

    +
  • +

    Added simple.xlink to most remaining inlines.
    +Changed class attributes to applying class.attributes mode.

    +
  • +

    Changed xref template to use simple.xlink tempalte.

    +
  • +

    Improve generate.html.title to work with link targets too.

    +
  • +

    Improved simple.xlink to support link and xref.

    +
  • +

    Use new link.title.attribute now.

    +
  • +

    Rewrote simple.xlink to handle linkend also.
    +Better computation of title attribute on link too.

    +
  • +

    Handle Xalan quirk as special case.

    +
  • +

    Add support for info.

    +
  • +

    Fixed imagemaps so they work properly going from calspair coords
    +to HTML area coords.

    +
+
+ +

Manpages

+ +

The following changes have been made to the + manpages code + since the 1.71.1 release.

+
  • +

    Added doc for man.output.lang.in.name.enabled parameter. This
    +checkin completes support for writing file/pathnames for man-pages
    +with $lang include in the names. Closes #1585967. knightly
    +accolades to Daniel Leidert for providing the feature request.

    +
  • +

    Added new param man.output.lang.in.name.enabled, which
    +controls whether $LANG value is included in manpages
    +filenames and pathnames. It works like this:
    +
    +If the value of man.output.lang.in.name.enabled is non-zero,
    +man-page files are output with the $lang value included in
    +their filenames or pathnames as follows;
    +
    +- if man.output.subdirs.enabled is non-zero, each file is
    +  output to, e.g., a /$lang/man8/foo.8 pathname
    +
    +- if man.output.subdirs.enabled is zero, each file is output
    +  with a foo.$lang.8 filename

    +
  • +

    Use "\e" instead of "\\" for backslash output, because the
    +groff docs say that's the correct thing to do; also because
    +testing (thanks, Paul Dubois) shows that "\\" doesn't always
    +work as expected; for example, "\\" within a table seems to
    +mess things up.

    +
  • +

    Added the man.string.subst.map.local.pre and
    +man.string.subst.map.local.post parameters. Those parameters
    +enable local additions and changes to string-substitution mappings
    +without the need to change the value of man.string.subst.map
    +parameter (which is for standard system mappings). Closes
    +#1456738. Thanks to Sam Steingold for constructing a true
    +stylesheet torture test (the clisp docs) that exposed the need for
    +these params.

    +
  • +

    Added the Markup element to the list of elements that get output
    +in bold. Thanks to Eric S. Raymond.

    +
  • +

    Replaced all dots in roff requests with U+2302 ("house"
    +character), and added escaping in output for all instances of dot
    +that are not in roff requests. This fixes the problem case where a
    +string beginning with a dot (for example, the string ".bashrc")
    +might occur at the beginning of a line in output, in which case 
    +would mistakenly get interpreted as a roff request. Thanks to Eric
    +S. Raymond for pushing to fix this.

    +
  • +

    Made change to ensure that list content nested in
    +itemizedlist and orderedlist instances is properly indented. This
    +is a switch from using .TP to format those lists to using .RS/.RE
    +to format them instead (because .TP does not allow nesting). Closes bug #1602616.
    +Thanks to Daniel Leidert.

    +
+
+ +

Params

+ +

The following changes have been made to the + params code + since the 1.71.1 release.

+
  • +

    Added doc for man.output.lang.in.name.enabled parameter. This
    +checkin completes support for writing file/pathnames for man-pages
    +with $lang include in the names. Closes #1585967. knightly
    +accolades to Daniel Leidert for providing the feature request.

    +
  • +

    Added new param man.output.lang.in.name.enabled, which
    +controls whether $LANG value is included in manpages
    +filenames and pathnames. It works like this:
    +
    +If the value of man.output.lang.in.name.enabled is non-zero,
    +man-page files are output with the $lang value included in
    +their filenames or pathnames as follows;
    +
    +- if man.output.subdirs.enabled is non-zero, each file is
    +  output to, e.g., a /$lang/man8/foo.8 pathname
    +
    +- if man.output.subdirs.enabled is zero, each file is output
    +  with a foo.$lang.8 filename

    +
  • +

    Added the man.string.subst.map.local.pre and
    +man.string.subst.map.local.post parameters. Those parameters
    +enable local additions and changes to string-substitution mappings
    +without the need to change the value of man.string.subst.map
    +parameter (which is for standard system mappings). Closes
    +#1456738. Thanks to Sam Steingold for constructing a true
    +stylesheet torture test (the clisp docs) that exposed the need for
    +these params.

    +
  • +

    Add index.page.number.properties by default.

    +
  • +

    Added index.page.number.properties to allow customizations of page numbers in indexes.

    +
  • +

    Move show-destination="replace" property from template to attribute-set
    +so it can be customized.

    +
  • +

    Add support for sorting glossary entries

    +
  • +

    Add option to include qanda in tables of contents.

    +
  • +

    Moved all properties to attribute-sets so can be customized more easily.

    +
+
+ +

Template

+ +

The following changes have been made to the + template code + since the 1.71.1 release.

+
  • +

    Added workaround for Xalan bug: use for-each and copy instead of copy-of (#1604770).

    +
+
+ +

Roundtrip

+ +

The following changes have been made to the + roundtrip code + since the 1.71.1 release.

+
  • +

    rename to roundtrip, add OpenOffice support

    +
+
+
+ +

Release: 1.71.1

+ +

This is a minor update to the 1.71.0 release. Along with a +number of bug fixes, it includes two feature changes: + +

  • +

    Added support for profiling based on xml:lang and status attributes.

    +
  • +

    Added initial support in manpages output for + footnote, annotation, and alt + instances. Basically, they all now get handled the same way + ulink instances are. They are treated as a class as + "note sources": A numbered marker is generated at the place in the + main text flow where they occur, then their contents are displayed + in an endnotes section at the end of the man page.

    +

+

+ +

Common

+ +

The following changes have been made to the + common code + since the 1.71.1 release.

+
  • +

    For backward compatability autoidx-ng.xsl is invoking "kosek" indexing method again.

    +
  • +

    Add support for Xalan generating a root xml:base like saxon.

    +
+
+ +

FO

+ +

The following changes have been made to the + fo code + since the 1.71.1 release.

+
  • +

    For backward compatability autoidx-ng.xsl is invoking "kosek" indexing method again.

    +
  • +

    Add support for Xalan to add root node xml:base for db5 docs.

    +
  • +

    Added support for profiling based on xml:lang and status attributes.

    +
+
+ +

HTML

+ +

The following changes have been made to the + html code + since the 1.71.1 release.

+
  • +

    For backward compatability autoidx-ng.xsl is invoking "kosek" indexing method again.

    +
  • +

    Add support for Xalan to add root node xml:base for db5 docs.

    +
  • +

    Added support for profiling based on xml:lang and status attributes.

    +
  • +

    Made changes in namespace declarations to prevent xmllint's
    +canonicalizer from treating them as relative namespace URIs.
    +
    +  - Changed xmlns:k="java:com.isogen.saxoni18n.Saxoni18nService"
    +    to xmlns:k="http://www.isogen.com/functions/com.isogen.saxoni18n.Saxoni18nService";
    +    Saxon accepts either form
    +    (see http://www.saxonica.com/documentation/extensibility/functions.html);
    +    to Saxon, "the part of the URI before the final '/' is immaterial".
    +
    +  - Changed, e.g. xmlns:xverb="com.nwalsh.xalan.Verbatim" to
    +    xmlns:xverb="xalan://com.nwalsh.xalan.Verbatim"; Xalan accepts
    +    either form
    +    (see http://xml.apache.org/xalan-j/extensions.html#java-namespace-declare);
    +    just as Saxon does, it will "simply use the string to the
    +    right of the rightmost forward slash as the Java class name".
    +
    +  - Changed xmlns:xalanredirect="org.apache.xalan.xslt.extensions.Redirect"
    +    to xmlns:redirect="http://xml.apache.org/xalan/redirect", and
    +    adjusted associated code to make the current Xalan redirect spec.
    +    (see http://xml.apache.org/xalan-j/apidocs/org/apache/xalan/lib/Redirect.html)

    +
  • +

    Added the html.append and chunk.append parameters. By default, the
    +value of both is empty; but the internal DocBook XSL stylesheets
    +build sets their value to "<xsl:text>&#x0a;</xsl:text>", in order
    +to ensure that all files in the docbook-xsl-doc package end in a
    +newline character. (Because diff and some other tools may emit
    +error messages and/or not behave as expected when processing
    +files that are not newline-terminated.)

    +
+
+ +

Highlighting

+ +

The following changes have been made to the + highlighting code + since the 1.71.1 release.

+
  • +

    Added license information

    +
+
+ +

Manpages

+ +

The following changes have been made to the + manpages code + since the 1.71.1 release.

+
  • +

    Added initial support in manpages output for footnoteannotation,
    +and alt instances. Basically, they all now get handled the same
    +way ulink instances are. They are treated as a class as "note
    +sources": A numbered marker is generated at the place in the main
    +text flow where they occur, then their contents are displayed in
    +an endnotes section at the end of the man page (currently titled
    +REFERENCES, for English output, but will be changed to NOTES).
    +
    +This support is not yet complete. It works for most "normal"
    +cases, but probably mishandles a good number of cases. More
    +testing will be needed to expose the problems. It may well also
    +introduce some bugs and regressions in other areas, including
    +basic paragraph handling, handling of "mixed block" content,
    +handling of other indented content, and handling of authorblurb
    +and personblurb in the AUTHORS section.

    +
+
+ +

Params

+ +

The following changes have been made to the + params code + since the 1.71.1 release.

+
  • +

    Added support for profiling based on xml:lang and status attributes.

    +
  • +

    Added the html.append and chunk.append parameters. By default, the
    +value of both is empty; but the internal DocBook XSL stylesheets
    +build sets their value to "<xsl:text>&#x0a;</xsl:text>", in order
    +to ensure that all files in the docbook-xsl-doc package end in a
    +newline character. (Because diff and some other tools may emit
    +error messages and/or not behave as expected when processing
    +files that are not newline-terminated.)

    +
+
+ +

Profiling

+ +

The following changes have been made to the + profiling code + since the 1.71.1 release.

+
  • +

    Added support for profiling based on xml:lang and status attributes.

    +
+
+ +
+ +

Release: 1.71.0

+ +

This is mainly a bug fix release, but it also includes two +significant feature changes: +

Highlighting support added
+

The stylesheets now include support for source-code + highlighting in output of programlisting instances (controlled + through the highlight.source + parameter). The Java-based implementation requires Saxon and + makes use of Michal Molhanec’s XSLTHL. More details are available at Jirka Kosek’s + website:

The support is currently limited to highlighting + of XML, Java, PHP, Delphi, Modula-2 sources, and INI + files.

+
Changes to autoindexing
+

The templates that handle alternative indexing methods + were reworked to avoid errors produced by certain processors not + being able to tolerate the presence of unused functions. With + this release, none of the code for the 'kimber' or 'kosek' + methods is included in the default stylesheets. In order to use + one of those methods, your customization layer must import one + of the optional stylesheet modules:

+

+

  • + html/autoidx-kosek.xsl +
  • + html/autoidx-kimber.xsl +
  • + fo/autoidx-kosek.xsl +
  • + fo/autoidx-kimber.xsl +

+ See the index.method parameter + reference page for more information. +

+

Two other changes to note: +

  • + The default indexing method now can handle accented + characters in latin-based alphabets, not just English. This + means accented latin letters will group and sort with their + unaccented counterpart. +
  • + The default value for the + index.method parameter was changed + from 'english' to 'basic' because now the default method can + handle latin-based alphabets, not just English. +

+

+

+The following is a list of changes that have +been made since the 1.70.1 release.

+ +

Common

+ +

The following changes have been made to the + common code + since the 1.70.1 release.

+
  • +

    Added reference.autolabel parameter for controlling labels on
    +reference output.

    +
  • +

    Support rows that are *completely* overlapped by the preceding row

    +
  • +

    New modules for supporting indexing extensions.

    +
  • +

    Support startinglinenumber on orderedlist

    +
+
+ +

Extensions

+ +

The following changes have been made to the + extensions code + since the 1.70.1 release.

+
  • +

    Completely reworked extensions build system; now uses NetBeans and ant

    +
+
+ +

FO

+ +

The following changes have been made to the + fo code + since the 1.70.1 release.

+
  • +

    xsl:sort lang attribute now uses two-char substring of lang attribute.

    +
  • +

    Support titlecase "Java", "Perl", and "IDL" as values for the
    +language attribute on classsynopsis, etc. (instead of just
    +lowercase "java", "perl", and "idl"). Also support "c++" and "C++"
    +(instead of just "cpp").
    +
    +Affects HTML, FO, and manpages output. Closes bug 1552332. Thanks
    +to "Brian A. Vanderburg II".

    +
  • +

    Added support for the reference.autolabel param in (X)HTML and FO
    +output.

    +
  • +

    Support rows that are *completely* overlapped by the preceding row

    +
  • +

    Rearranged templates for the 3 indexing methods
    +and changed method named 'english' to 'basic'.

    +
  • +

    New modules for supporting indexing extensions.

    +
  • +

    Turn off blank-body for fop1.extensions too since fop 0.92
    +does not support it either.

    +
  • +

    Add Xalan variant to test for exslt:node-set function.
    +Xalan can use function named node-set(), but doesn't
    +recognize it using function-available().

    +
  • +

    Added support to FO stylesheets for handling instances of Org
    +where it occurs outside of *info content. In HTML stylesheets,
    +moved handling of Org out of info.xsl and into inline.xsl. In both
    +FO and HTML stylesheets, added support for correctly processing
    +Affiliation and Jobtitle.

    +
  • +

    Don't output punctuation between Refname and Refpurpose if
    +Refpurpose is empty. Also corrected handling of Refsect2/title
    +instances, and removed some debugging stuff that was generated in
    +manpages output to mark the ends of sections.

    +
  • +

    Added new email.delimiters.enabled param. If non-zero (the
    +default), delimiters are generated around e-mail addresses (output
    +of the email element). If zero, the delimiters are suppressed.

    +
  • +

    Initial support of syntax highlighting of programlistings.

    +
  • +

    Chapter after preface should restart numbering of pages.

    +
+
+ +

HTML

+ +

The following changes have been made to the + html code + since the 1.70.1 release.

+
  • +

    xsl:sort lang attribute now uses two-char substring of lang attribute.

    +
  • +

    Support titlecase "Java", "Perl", and "IDL" as values for the
    +language attribute on classsynopsis, etc. (instead of just
    +lowercase "java", "perl", and "idl"). Also support "c++" and "C++"
    +(instead of just "cpp").
    +
    +Affects HTML, FO, and manpages output. Closes bug 1552332. Thanks
    +to "Brian A. Vanderburg II".

    +
  • +

    Added support for the reference.autolabel param in (X)HTML and FO
    +output.

    +
  • +

    Support rows that are *completely* overlapped by the preceding row

    +
  • +

    Rearranged templates for the 3 indexing methods
    +and changed method named 'english' to 'basic'.

    +
  • +

    New modules for supporting indexing extensions.

    +
  • +

    Added several new HTML parameters for controlling appearance of
    +content on HTML title pages:
    +
    +contrib.inline.enabled:
    +  If non-zero (the default), output of the contrib element is
    +  displayed as inline content rather than as block content.
    +
    +othercredit.like.author.enabled:
    +  If non-zero, output of the othercredit element on titlepages is
    +  displayed in the same style as author and editor output. If zero
    +  (the default), othercredit output is displayed using a style
    +  different than that of author and editor.
    +
    +blurb.on.titlepage.enabled:
    +  If non-zero, output from authorblurb and personblurb elements is
    +  displayed on title pages. If zero (the default), output from
    +  those elements is suppressed on title pages (unless you are
    +  using a titlepage customization that causes them to be included).
    +
    +editedby.enabled
    +  If non-zero (the default), a localized Edited by heading is
    +  displayed above editor names in output of the editor element.

    +
  • +

    Add Xalan variant to test for exslt:node-set function.
    +Xalan can use function named node-set(), but doesn't
    +recognize it using function-available().

    +
  • +

    Added support to FO stylesheets for handling instances of Org
    +where it occurs outside of *info content. In HTML stylesheets,
    +moved handling of Org out of info.xsl and into inline.xsl. In both
    +FO and HTML stylesheets, added support for correctly processing
    +Affiliation and Jobtitle.

    +
  • +

    Don't output punctuation between Refname and Refpurpose if
    +Refpurpose is empty. Also corrected handling of Refsect2/title
    +instances, and removed some debugging stuff that was generated in
    +manpages output to mark the ends of sections.

    +
  • +

    Added new email.delimiters.enabled param. If non-zero (the
    +default), delimiters are generated around e-mail addresses (output
    +of the email element). If zero, the delimiters are suppressed.

    +
  • +

    Added qanda.nested.in.toc param. Default value is zero. If
    +non-zero, instances of "nested" Qandaentry (ones that are children
    +of Answer elements) are displayed in the TOC. Closes patch 1509018
    +(from Daniel Leidert). Currently on affects HTML output (no patch
    +for FO output provided).

    +
  • +

    Improved handling of relative locations generated files

    +
  • +

    Initial support of syntax highlighting of programlistings.

    +
  • +

    Support org

    +
  • +

    Support person

    +
  • +

    Support $keep.relative.image.uris also when chunking

    +
+
+ +

Highlighting

+ +

The following changes have been made to the + highlighting code + since the 1.70.1 release.

+
  • +

    Initial support of syntax highlighting of programlistings.

    +
+
+ +

Manpages

+ +

The following changes have been made to the + manpages code + since the 1.70.1 release.

+
  • +

    Suppress footnote markers and output warning that footnotes are
    +not yet supported.

    +
  • +

    Handle instances of address/otheraddr/ulink in author et al in the
    +same way as email instances; that is, display them on the same
    +linke as the authoreditor, etc., name.

    +
  • +

    Don't number or link-list any Ulink instance whose string value is
    +identical to the value of its url attribute. Just display it inline.

    +
  • +

    Don't output punctuation between Refname and Refpurpose if
    +Refpurpose is empty. Also corrected handling of Refsect2/title
    +instances, and removed some debugging stuff that was generated in
    +manpages output to mark the ends of sections.

    +
  • +

    Added new email.delimiters.enabled param. If non-zero (the
    +default), delimiters are generated around e-mail addresses (output
    +of the email element). If zero, the delimiters are suppressed.

    +
  • +

    In manpages output, if the last/nearest *info element for
    +particular Refentry has multiple Copyright and/or Legalnotice
    +children, process them all (not just the first ones). Closes bug
    +1524576. Thanks to Sam Steingold for the report and to Daniel
    +Leidert for providing a patch.

    +
+
+ +

Params

+ +

The following changes have been made to the + params code + since the 1.70.1 release.

+
  • +

    Added reference.autolabel parameter for controlling labels on
    +reference output.

    +
  • +

    Added namespace declarations to document elements for all param files.

    +
  • +

    Updated index.method doc to describe revised setup for importing index extensions.

    +
  • +

    Added several new HTML parameters for controlling appearance of
    +content on HTML title pages:
    +
    +contrib.inline.enabled:
    +  If non-zero (the default), output of the contrib element is
    +  displayed as inline content rather than as block content.
    +
    +othercredit.like.author.enabled:
    +  If non-zero, output of the othercredit element on titlepages is
    +  displayed in the same style as author and editor output. If zero
    +  (the default), othercredit output is displayed using a style
    +  different than that of author and editor.
    +
    +blurb.on.titlepage.enabled:
    +  If non-zero, output from authorblurb and personblurb elements is
    +  displayed on title pages. If zero (the default), output from
    +  those elements is suppressed on title pages (unless you are
    +  using a titlepage customization that causes them to be included).
    +
    +editedby.enabled
    +  If non-zero (the default), a localized Edited by heading is
    +  displayed above editor names in output of the editor element.

    +
  • +

    Added new email.delimiters.enabled param. If non-zero (the
    +default), delimiters are generated around e-mail addresses (output
    +of the email element). If zero, the delimiters are suppressed.

    +
  • +

    Added qanda.nested.in.toc param. Default value is zero. If
    +non-zero, instances of "nested" Qandaentry (ones that are children
    +of Answer elements) are displayed in the TOC. Closes patch 1509018
    +(from Daniel Leidert). Currently on affects HTML output (no patch
    +for FO output provided).

    +
  • +

    Initial support of syntax highlighting of programlistings.

    +
+
+ +

Tools

+ +

The following changes have been made to the + tools code + since the 1.70.1 release.

+
  • +

    Racheted down font sizes of headings in example makefile FO output.

    +
  • +

    Added param and attribute set to example makefile, for getting
    +wrapping in verbatims in FO output.

    +
  • +

    Renamed Makefile.paramDoc to Makefile.docParam.

    +
  • +

    Added Makefile.paramDoc file, for creating versions of param.xsl
    +files with doc embedded.

    +
  • +

    Added variable to example makefile for controlling whether HTML or
    +XHTML is generated.

    +
+
+
+ +

Release: 1.70.1

+ + +

This is a stable release of the 1.70 stylesheets. It includes only a +few small changes from 1.70.0.

+ +

The following is a list of changes that have been made + since the 1.70.0 release.

+ +

FO

+ +

The following changes have been made to the + fo code + since the 1.70.0 release.

+
  • +

    Added three new attribute sets (revhistory.title.properties, revhistory.table.properties and revhistory.table.cell.properties) for controlling appearance of revhistory in FO output.

    +

    Modified: fo/block.xsl,1.34; fo/param.ent,1.101; fo/param.xweb,1.114; fo/titlepage.xsl,1.41; params/revhistory.table.cell.properties.xml,1.1; params/revhistory.table.properties.xml,1.1; params/revhistory.title.properties.xml,1.1 - Jirka Kosek

    +
  • +

    Support DBv5 revisions with full author name (not only authorinitials)

    +

    Modified: fo/block.xsl,1.33; fo/titlepage.xsl,1.40 - Jirka Kosek

    +
+
+ +

HTML

+ +

The following changes have been made to the + html code + since the 1.70.0 release.

+
  • +

    Support DBv5 revisions with full author name (not only authorinitials)

    +

    Modified: html/block.xsl,1.23; html/titlepage.xsl,1.34 - Jirka Kosek

    +
+
+ +

HTMLHelp

+ +

The following changes have been made to the + htmlhelp code + since the 1.70.0 release.

+
  • +

    htmlhelp.generate.index is now param, not variable. This means that you can override its setting from outside. This is useful when you generate indexterms on the fly (see http://www.xml.com/pub/a/2004/07/14/dbndx.html?page=3).

    +

    Modified: htmlhelp/htmlhelp-common.xsl,1.38 - Jirka Kosek

    +
  • +

    Support chunk.tocs.and.lots in HTML Help

    +

    Modified: htmlhelp/htmlhelp-common.xsl,1.37 - Jirka Kosek

    +
+
+ +

Params

+ +

The following changes have been made to the + params code + since the 1.70.0 release.

+
  • +

    Added three new attribute sets (revhistory.title.properties, revhistory.table.properties and revhistory.table.cell.properties) for controlling appearance of revhistory in FO output.

    +

    Modified: fo/block.xsl,1.34; fo/param.ent,1.101; fo/param.xweb,1.114; fo/titlepage.xsl,1.41; params/revhistory.table.cell.properties.xml,1.1; params/revhistory.table.properties.xml,1.1; params/revhistory.title.properties.xml,1.1 - Jirka Kosek

    +
+
+ +
+ +

Release: 1.70.0

+ +

As with all DocBook Project dot-zero +releases, this is an experimental release. It will be followed shortly +by a stable release.

+ +

This release adds a number of new features, +including:

+ +
  • +

    support for selecting alternative index-collation methods + (in particular, support for using a collation library developed by + Eliot Kimber)

    +
  • +

    improved handling of DocBook 5 document instances (through a + namespace-stripping mechanism)

    +
  • +

    full support for CALS and HTML tables in manpages + output

    +
  • +

    a mechanism for preserving relative URIs in documents that + make use of XInclude

    +
  • +

    support for the "new" .90 version of + FOP

    +
  • +

    enhanced capabilities for controlling formatting of lists in HTML + and FO output

    +
  • +

    autogeneration of AUTHOR and COPYRIGHT sections in manpages + output

    +
  • +

    support for generating crop marks in FO/PDF output

    +
  • +

    support for qandaset as a root element in FO output

    +
  • +

    support for floatstyle and orient on all table types

    +
  • +

    support for floatstyle in figure, and example

    +
  • +

    pgwide.properties attribute-set supports extending figure, + example and table into the left indent area instead of spanning + multiple columns.

    +
+

The following is a detailed list of enhancements and API + changes that have been made since the 1.69.1 release.

+ +

Common

+ +

The following changes have been made to the + common code + since the 1.69.1 release.

+
  • +

    Add the xsl:key for the kimber +indexing method.

    +

    Modified: common/autoidx-ng.xsl,1.2 - Robert +Stayton

    +
  • +

    Add support for +qandaset.

    +

    Modified: common/labels.xsl,1.37; +common/subtitles.xsl,1.7; common/titles.xsl,1.35 - Robert +Stayton

    +
  • +

    Support dbhtml/dbfo start PI for +orderedlist numbering in both HTML and +FO

    +

    Modified: common/common.xsl,1.61; html/lists.xsl,1.50 - Norman +Walsh

    +
  • +

    Added CVS +header.

    +

    Modified: common/stripns.xsl,1.12 - Robert +Stayton

    +
  • +

    Changed content model of text +element to ANY rather than #PCDATA because they could contain +markup.

    +

    Modified: common/targetdatabase.dtd,1.7 - Robert +Stayton

    +
  • +

    Added +refentry.meta.get.quietly param.

    +

    If zero (the +default), notes and warnings about "missing" markup are generated +during gathering of refentry metadata. If +non-zero, the metadata is gathered "quietly" -- that is, the +notes and warnings are suppressed.

    +

    NOTE: If you are +processing a large amount of refentry content, you +may be able to speed up processing significantly by setting a +non-zero value for +refentry.meta.get.quietly.

    +

    Modified: common/refentry.xsl,1.17; +manpages/param.ent,1.15; manpages/param.xweb,1.17; +params/refentry.meta.get.quietly.xml,1.1 - Michael(tm) +Smith

    +
  • +

    After namespace stripping, the +source document is the temporary tree created by the stripping +process and it has the wrong base URI for relative +references. Earlier versions of this code used to try to fix that +by patching the elements with relative @fileref attributes. That +was inadequate because it calculated an absolute base URI +without considering that there might be xml:base attributes +already in effect. It seems obvious now that the right thing to +do is simply to put the xml:base on the root of the document. And +that seems to work.

    +

    Modified: common/stripns.xsl,1.7 - Norman +Walsh

    +
  • +

    Added support for "software" and +"sectdesc" class values on refmiscinfo; "software" is +treated identically to "source", and "setdesc" is treated +identically to "manual".

    +

    Modified: common/refentry.xsl,1.10; +params/man.th.extra2.max.length.xml,1.3; +params/refentry.source.name.profile.xml,1.4 - Michael(tm) +Smith

    +
  • +

    Added support for DocBook 5 +namespace-stripping in manpages stylesheet. Closes request +#1210692.

    +

    Modified: common/common.xsl,1.56; manpages/docbook.xsl,1.57 - +Michael(tm) Smith

    +
  • +

    Added <xsl:template +match="/"> to make stripns.xsl usable as a standalone +stylesheet for stripping out DocBook 5/NG to DocBook 4. Note that +DocBook XSLT drivers that include this stylesheet all override +the match="/" template.

    +

    Modified: common/stripns.xsl,1.4 - Michael(tm) +Smith

    +
  • +

    Number figures, examples, and +tables from book if there is no prefix (i.e. if +chapter.autolabel is set to 0). This avoids +having the list of figures where the figures mysteriously restart +their numeration periodically when +chapter.autolabel is set to +0.

    +

    Modified: common/labels.xsl,1.36 - David Cramer

    +
  • +

    Add task template in +title.markup mode.

    +

    Modified: common/titles.xsl,1.34 - Robert +Stayton

    +
  • +

    Add children (with ids) of formal +objects to target data.

    +

    Modified: common/targets.xsl,1.10 - Robert +Stayton

    +
  • +

    Added support for case when +personname doesn't contain specific name markup (as allowed +in DocBook 5.0)

    +

    Modified: common/common.xsl,1.54 - Jirka +Kosek

    +
+
+ +

Extensions

+ +

The following changes have been made to the + extensions code + since the 1.69.1 release.

+
  • +

    Support Xalan +2.7

    +

    Modified: extensions/xalan27/.cvsignore,1.1; +extensions/xalan27/build.xml,1.1; +extensions/xalan27/nbproject/.cvsignore,1.1; +extensions/xalan27/nbproject/build-impl.xml,1.1; +extensions/xalan27/nbproject/genfiles.properties,1.1; +extensions/xalan27/nbproject/project.properties,1.1; +extensions/xalan27/nbproject/project.xml,1.1; +extensions/xalan27/src/com/nwalsh/xalan/CVS.java,1.1; +extensions/xalan27/src/com/nwalsh/xalan/Callout.java,1.1; +extensions/xalan27/src/com/nwalsh/xalan/FormatCallout.java,1.1; +extensions/xalan27/src/com/nwalsh/xalan/FormatDingbatCallout.java,1.1; +extensions/xalan27/src/com/nwalsh/xalan/FormatGraphicCallout.java,1.1; +extensions/xalan27/src/com/nwalsh/xalan/FormatTextCallout.java,1.1; +extensions/xalan27/src/com/nwalsh/xalan/FormatUnicodeCallout.java,1.1; +extensions/xalan27/src/com/nwalsh/xalan/Func.java,1.1; +extensions/xalan27/src/com/nwalsh/xalan/ImageIntrinsics.java,1.1; +extensions/xalan27/src/com/nwalsh/xalan/Params.java,1.1; +extensions/xalan27/src/com/nwalsh/xalan/Table.java,1.1; +extensions/xalan27/src/com/nwalsh/xalan/Text.java,1.1; +extensions/xalan27/src/com/nwalsh/xalan/Verbatim.java,1.1 - Norman +Walsh

    +
  • +

    Handle the case where the imageFn +is actually a URI. This still needs +work.

    +

    Modified: extensions/saxon643/com/nwalsh/saxon/ImageIntrinsics.java,1.4 +- Norman Walsh

    +
+
+ +

FO

+ +

The following changes have been made to the + fo code + since the 1.69.1 release.

+
  • +

    Adapted to the new indexing +code. Now works just like a wrapper that calls kosek indexing method, +originally implemented here.

    +

    Modified: fo/autoidx-ng.xsl,1.5 - Jirka +Kosek

    +
  • +

    Added parameters for header/footer +table minimum height.

    +

    Modified: fo/pagesetup.xsl,1.60; +fo/param.ent,1.100; fo/param.xweb,1.113 - Robert +Stayton

    +
  • +

    Add the index.method +parameter.

    +

    Modified: fo/param.ent,1.99; fo/param.xweb,1.112 - Robert +Stayton

    +
  • +

    Integrate support for three +indexing methods: - the original English-only method. - +Jirka Kosek's method using EXSLT extensions. - Eliot Kimber's +method using Saxon extensions. Use the 'index.method' +parameter to select.

    +

    Modified: fo/autoidx.xsl,1.38 - Robert +Stayton

    +
  • +

    Add support for TOC for +qandaset in fo output.

    +

    Modified: fo/autotoc.xsl,1.30; +fo/qandaset.xsl,1.20 - Robert Stayton

    +
  • +

    Added parameter +ulink.hyphenate.chars. Added parameter +insert.link.page.number.

    +

    Modified: fo/param.ent,1.98; +fo/param.xweb,1.111 - Robert Stayton

    +
  • +

    Implemented feature request +#942524 to add insert.link.page.number to allow link +element cross references to have a page number.

    +

    Modified: fo/xref.xsl,1.67 - +Robert Stayton

    +
  • +

    Add support for +ulink.hyphenate.chars so more characters +can be break points in urls.

    +

    Modified: fo/xref.xsl,1.66 - Robert +Stayton

    +
  • +

    Implemented patch #1075144 to make +the url text in a ulink in FO output an active link as +well.

    +

    Modified: fo/xref.xsl,1.65 - Robert Stayton

    +
  • +

    table footnotes now +have their own table.footnote.properties +attribute set.

    +

    Modified: fo/footnote.xsl,1.23 - Robert +Stayton

    +
  • +

    Add qandaset to +root.elements.

    +

    Modified: fo/docbook.xsl,1.41 - Robert +Stayton

    +
  • +

    Added mode="page.sequence" to make +it easier to put content into a page sequence. First used for +qandaset.

    +

    Modified: fo/component.xsl,1.37 - Robert +Stayton

    +
  • +

    Implemented feature request +#1434408 to support formatting +of biblioentry.

    +

    Modified: fo/biblio.xsl,1.35 - Robert +Stayton

    +
  • +

    Added +biblioentry.properties.

    +

    Modified: fo/param.ent,1.97; +fo/param.xweb,1.110 - Robert Stayton

    +
  • +

    Support PTC/Arbortext +bookmarks

    +

    Modified: fo/docbook.xsl,1.40; fo/ptc.xsl,1.1 - Norman +Walsh

    +
  • +

    Added +table.footnote.properties to permit +table footnotes to format differently from regular +footnotes.

    +

    Modified: fo/param.ent,1.96; fo/param.xweb,1.109 - Robert +Stayton

    +
  • +

    Refactored table +templates to unify their processing and support all options in +all types. Now table and informaltable, in +both Cals and Html markup, use the same templates where possible, +and all support pgwide, rotation, and floats. There is also a +placeholder table.container template to +support wrapping a table in a layout table, +so the XEP table title "continued" +extension can be more easily implemented.

    +

    Modified: fo/formal.xsl,1.52; +fo/htmltbl.xsl,1.9; fo/table.xsl,1.48 - Robert +Stayton

    +
  • +

    Added new attribute set +toc.line.properties for controlling appearance of lines in +ToC/LoT

    +

    Modified: fo/autotoc.xsl,1.29; fo/param.ent,1.95; +fo/param.xweb,1.108 - Jirka Kosek

    +
  • +

    Added support for float to example +and equation. Added support for pgwide to +figure, example, and equation (the latter +two via a dbfo pgwide="1" processing +instruction).

    +

    Modified: fo/formal.xsl,1.51 - Robert +Stayton

    +
  • +

    Add pgwide.properties +attribute-set.

    +

    Modified: fo/param.ent,1.94; fo/param.xweb,1.107 - Robert +Stayton

    +
  • +

    Added refclass.suppress +param.

    +

    If the value of refclass.suppress is +non-zero, then display refclass contents is suppressed +in output. Affects HTML and FO output +only.

    +

    Modified: fo/param.ent,1.93; fo/param.xweb,1.106; html/param.ent,1.90; +html/param.xweb,1.99; params/refclass.suppress.xml,1.1 - Michael(tm) +Smith

    +
  • +

    Improved support for +task subelements

    +

    Modified: fo/task.xsl,1.3; html/task.xsl,1.3 - +Jirka Kosek

    +
  • +

    Adjusted spacing around +K&R-formatted Funcdef and Paramdef +output such that it can more easily be discerned where one ends +and the other begins. Closes #1213264.

    +

    Modified: fo/synop.xsl,1.18 - +Michael(tm) Smith

    +
  • +

    Made handling of +paramdef/parameter in FO output consistent with that in HTML and +manpages output. Closes #1213259.

    +

    Modified: fo/synop.xsl,1.17 - Michael(tm) +Smith

    +
  • +

    Made handling of +Refnamediv consistent with formatting in HTML +and manpages output; specifically, changed so that +Refname (comma-separated list of multiple instances +found) is used (instead of Refentrytitle as +previously), then em-dash, then the Refpurpose. Closes +#1212562.

    +

    Modified: fo/refentry.xsl,1.30 - Michael(tm) +Smith

    +
  • +

    Added output of +Releaseinfo to recto titlepage ("copyright" +page) for Book in FO output. This makes it consistent +with HTML output. Closes #1327034. Thanks to Paul DuBois for +reporting.

    +

    Modified: fo/titlepage.templates.xml,1.28 - Michael(tm) +Smith

    +
  • +

    Added condition for setting +block-progression-dimension.minimum on table-row, instead of +height, when fop1.extensions is +non-zero. For an explanation of the reason for the change, +see: http://wiki.apache.org/xmlgraphics-fop/Troubleshooting/CommonLogMessages

    +

    Modified: fo/pagesetup.xsl,1.59 +- Michael(tm) Smith

    +
  • +

    Added new +refclass.suppress param for suppressing display +of Refclass in HTML and FO output. Did not add it to +manpages because manpages stylesheet is currently just silently +ignoring Refclass anyway. Closes request +#1461065. Thanks to Davor Ocelic (docelic) for +reporting.

    +

    Modified: fo/refentry.xsl,1.29; html/refentry.xsl,1.23 - +Michael(tm) Smith

    +
  • +

    Add support for keep-together PI +to informal objects.

    +

    Modified: fo/formal.xsl,1.50 - Robert +Stayton

    +
  • +

    Add support for +fop1.extensions.

    +

    Modified: fo/formal.xsl,1.49; +fo/graphics.xsl,1.44; fo/table.xsl,1.47 - Robert +Stayton

    +
  • +

    Add support for fop1 +bookmarks.

    +

    Modified: fo/docbook.xsl,1.39 - Robert +Stayton

    +
  • +

    Add fop1.extentions parameter to +add support for fop development version.

    +

    Modified: fo/param.ent,1.92; +fo/param.xweb,1.105 - Robert Stayton

    +
  • +

    Start supporting fop development +version, which will become fop version 1.

    +

    Modified: fo/fop1.xsl,1.1 - +Robert Stayton

    +
  • +

    Add template for task +in mode="xref-to".

    +

    Modified: fo/xref.xsl,1.63; html/xref.xsl,1.57 - Robert +Stayton

    +
  • +

    table footnotes now +also get footnote.properties +attribute-set.

    +

    Modified: fo/footnote.xsl,1.22 - Robert +Stayton

    +
  • +

    Added index.separator +named template to compute the separator punctuation based on +locale.

    +

    Modified: fo/autoidx.xsl,1.36 - Robert Stayton

    +
  • +

    Added support for link, +olink, and xref within OO +Classsynopsis and children. (Because DocBook NG/5 +allows it).

    +

    Modified: fo/synop.xsl,1.15; html/synop.xsl,1.19 - Michael(tm) +Smith

    +
  • +

    Support date as an +inline

    +

    Modified: fo/inline.xsl,1.43; html/inline.xsl,1.46 - Norman +Walsh

    +
  • +

    Added new parameter +keep.relative.image.uris

    +

    Modified: fo/param.ent,1.91; +fo/param.xweb,1.104; html/param.ent,1.87; html/param.xweb,1.96; +params/keep.relative.image.uris.xml,1.1 - Norman +Walsh

    +
  • +

    Map Unicode space characters +U+2000-U+200A to fo:leaders.

    +

    Modified: fo/docbook.xsl,1.38; +fo/passivetex.xsl,1.4; fo/spaces.xsl,1.1 - Jirka +Kosek

    +
  • +

    Output a real em dash for em-dash +dingbat (instead of two hypens).

    +

    Modified: fo/fo.xsl,1.7 - Michael(tm) +Smith

    +
  • +

    Support default label +width parameters for itemized and ordered lists

    +

    Modified: fo/lists.xsl,1.64; +fo/param.ent,1.90; fo/param.xweb,1.103; +params/itemizedlist.label.width.xml,1.1; +params/orderedlist.label.width.xml,1.1 - Norman +Walsh

    +
  • +

    Generate localized +title for Refsynopsisdiv if no +appropriate Title descendant found in source. Closes +#1212398. This change makes behavior for the Synopsis +title consistent with the behavior of HTML and +manpages output.

    +

    Also, added +xsl:use-attribute-sets="normal.para.spacing" to +block generated for Cmdsynopsis output. Previously, +that block had no spacing at all specified, which resulted it +being crammed up to closely to the Synopsis +head.

    +

    Modified: fo/refentry.xsl,1.28; fo/synop.xsl,1.13 - Michael(tm) +Smith

    +
  • +

    Added parameters to support +localization of index +item punctuation.

    +

    Modified: fo/autoidx.xsl,1.35 - Robert +Stayton

    +
  • +

    Added +index.number.separator, +index.range.separator, +and index.term.separator parameters to +support localization of punctuation in index +entries.

    +

    Modified: fo/param.ent,1.89; fo/param.xweb,1.102 - Robert +Stayton

    +
  • +

    Added "Cross References" +section in HTML doc (for consistency with the FO +doc). Also, moved the existing FO "Cross +References" section to follow the "Linking" +section.

    +

    Modified: fo/param.xweb,1.101; html/param.xweb,1.95 - +Michael(tm) Smith

    +
  • +

    Added ID attribues to all +Reference elements (e.g., id="tables" for the doc for +section on Table params). So pages for +all subsections of ref docs now have stable filenames instead +of arbitrary generated filenames.

    +

    Modified: fo/param.xweb,1.100; +html/param.xweb,1.94 - Michael(tm) Smith

    +
  • +

    Added two new parameters for +handling of multi-term +varlistentry elements:

    +

    variablelist.term.break.after: +When the variablelist.term.break.after is +non-zero, it will generate a line break after each +term multi-term +varlistentry.

    +

    variablelist.term.separator: +When a varlistentry contains multiple term +elements, the string specified in the value of the +variablelist.term.separator parameter is +placed after each term except the last. The default +is ", " (a comma followed by a space). To suppress rendering of +the separator, set the value of +variablelist.term.separator to the empty +string ("").

    +

    These parameters are primarily intended to be +useful if you have multi-term varlistentries that have long +terms.

    +

    Closes #1306676. Thanks to Sam Steingold for +providing an example "lots of long terms" doc that demonstrated +the value of having these options.

    +

    Also, added +normalize-space() call to processing of each +term.

    +

    This change affects all output formats +(HTML, PDF, manpages). The default behavior should pretty much +remain the same as before, but it is possible (as always) that +the change may introduce some +new bugginess.

    +

    Modified: fo/lists.xsl,1.62; fo/param.ent,1.88; +fo/param.xweb,1.99; html/lists.xsl,1.48; html/param.ent,1.86; +html/param.xweb,1.93; manpages/lists.xsl,1.22; +manpages/param.ent,1.14; manpages/param.xweb,1.16; +params/variablelist.term.break.after.xml,1.1; +params/variablelist.term.separator.xml,1.1 - Michael(tm) +Smith

    +
  • +

    Add sidebar titlepage +placeholder attset for styles.

    +

    Modified: fo/titlepage.xsl,1.37 - Robert +Stayton

    +
  • +

    Add titlepage for +sidebar.

    +

    Modified: fo/titlepage.templates.xml,1.27 - Robert +Stayton

    +
  • +

    Implemented RFE +#1292615.

    +

    Added bunch of new parameters (attribute sets) +that affect list presentation: list.block.properties, +itemizedlist.properties, orderedlist.properties, +itemizedlist.label.properties and +orderedlist.label.properties. Default behaviour +of stylesheets has not been changed but further customizations will be +much more easier.

    +

    Modified: fo/lists.xsl,1.61; fo/param.ent,1.87; +fo/param.xweb,1.98; params/itemizedlist.label.properties.xml,1.1; +params/itemizedlist.properties.xml,1.1; +params/list.block.properties.xml,1.1; +params/orderedlist.label.properties.xml,1.1; +params/orderedlist.properties.xml,1.1 - Jirka +Kosek

    +
  • +

    Implemented RFE +#1242092.

    +

    You can enable crop marks in your document by +setting crop.marks=1 and xep.extensions=1. Appearance of crop +marks can be controlled by parameters +crop.mark.bleed (6pt), +crop.mark.offset (24pt) and +crop.mark.width (0.5pt).

    +

    Also there +is new named template called user-xep-pis. You can overwrite it in +order to produce some PIs that can control XEP as described in +http://www.renderx.com/reference.html#Output_Formats

    +

    Modified: fo/docbook.xsl,1.36; +fo/param.ent,1.86; fo/param.xweb,1.97; fo/xep.xsl,1.23; +params/crop.mark.bleed.xml,1.1; params/crop.mark.offset.xml,1.1; +params/crop.mark.width.xml,1.1; params/crop.marks.xml,1.1 - Jirka +Kosek

    +
+
+ +

HTML

+ +

The following changes have been made to the + html code + since the 1.69.1 release.

+
  • +

    implemented +index.method parameter and three +methods.

    +

    Modified: html/autoidx.xsl,1.28 - Robert +Stayton

    +
  • +

    added index.method +parameter to support 3 indexing methods.

    +

    Modified: html/param.ent,1.94; +html/param.xweb,1.103 - Robert Stayton

    +
  • +

    Implemented feature request +#1072510 as a processing instruction to permit including external +HTML content into HTML output.

    +

    Modified: html/pi.xsl,1.9 - Robert +Stayton

    +
  • +

    Added new parameter +chunk.tocs.and.lots.has.title which +controls presence of title in a separate chunk with +ToC/LoT. Disabling title can be very useful if you are +generating frameset output (well, yes those frames, but some customers +really want them ;-).

    +

    Modified: html/chunk-code.xsl,1.15; +html/param.ent,1.93; html/param.xweb,1.102; +params/chunk.tocs.and.lots.has.title.xml,1.1 - Jirka +Kosek

    +
  • +

    Support dbhtml/dbfo start PI for +orderedlist numbering in both HTML and +FO

    +

    Modified: common/common.xsl,1.61; html/lists.xsl,1.50 - Norman +Walsh

    +
  • +

    Allow ToC without +title also for set and +book.

    +

    Modified: html/autotoc.xsl,1.37; html/division.xsl,1.12 - +Jirka Kosek

    +
  • +

    Implemented floats uniformly for +figure, example, equation +and informalfigure, informalexample, and +informalequation.

    +

    Modified: html/formal.xsl,1.22 - Robert +Stayton

    +
  • +

    Added the +autotoc.label.in.hyperlink param.

    +

    If the value +of autotoc.label.in.hyperlink is non-zero, labels +are included in hyperlinked titles in the TOC. If it +is instead zero, labels are still displayed prior to the +hyperlinked titles, but are not hyperlinked along with the +titles.

    +

    Closes patch #1065868. Thanks to anatoly techtonik +for the patch.

    +

    Modified: html/autotoc.xsl,1.36; html/param.ent,1.92; +html/param.xweb,1.101; params/autotoc.label.in.hyperlink.xml,1.1 - +Michael(tm) Smith

    +
  • +

    Added two new params: +html.head.legalnotice.link.types +and html.head.legalnotice.link.multiple.

    +

    If +the value of the generate.legalnotice.link is +non-zero, then the stylesheet generates (in the head +section of the HTML source) either a single HTML +link element or, if the value of +the html.head.legalnotice.link.multiple is +non-zero, one link element for each link +type specified. Each link has the +following attributes:

    +

    - a rel attribute whose value +is derived from the value of +html.head.legalnotice.link.types

    +

    - +an href attribute whose value is set to the URL of the file +containing the legalnotice

    +

    - a title +attribute whose value is set to the title of the +corresponding legalnotice (or a title +programatically determined by the stylesheet)

    +

    For +example:

    +

    <link rel="copyright" +href="ln-id2524073.html" title="Legal Notice">

    +

    Closes +#1476450. Thanks to Sam Steingold.

    +

    Modified: html/chunk-common.xsl,1.45; +html/param.ent,1.91; html/param.xweb,1.100; +params/generate.legalnotice.link.xml,1.4; +params/html.head.legalnotice.link.multiple.xml,1.1; +params/html.head.legalnotice.link.types.xml,1.1 - Michael(tm) +Smith

    +
  • +

    Added refclass.suppress +param.

    +

    If the value of refclass.suppress is +non-zero, then display refclass contents is suppressed +in output. Affects HTML and FO output +only.

    +

    Modified: fo/param.ent,1.93; fo/param.xweb,1.106; html/param.ent,1.90; +html/param.xweb,1.99; params/refclass.suppress.xml,1.1 - Michael(tm) +Smith

    +
  • +

    Improved support for +task subelements

    +

    Modified: fo/task.xsl,1.3; html/task.xsl,1.3 - +Jirka Kosek

    +
  • +

    Added new +refclass.suppress param for suppressing display +of Refclass in HTML and FO output. Did not add it to +manpages because manpages stylesheet is currently just silently +ignoring Refclass anyway. Closes request +#1461065. Thanks to Davor Ocelic (docelic) for +reporting.

    +

    Modified: fo/refentry.xsl,1.29; html/refentry.xsl,1.23 - +Michael(tm) Smith

    +
  • +

    Process alt text with +normalize-space(). Replace tab indents with +spaces.

    +

    Modified: html/graphics.xsl,1.57 - Robert +Stayton

    +
  • +

    Content of citation +element is automatically linked to the bibliographic entry +with the corresponding abbrev.

    +

    Modified: html/biblio.xsl,1.26; +html/inline.xsl,1.47; html/xref.xsl,1.58 - Jirka +Kosek

    +
  • +

    Add template for task +in mode="xref-to".

    +

    Modified: fo/xref.xsl,1.63; html/xref.xsl,1.57 - Robert +Stayton

    +
  • +

    Suppress ID warnings if the +.warnings parameter is 0

    +

    Modified: html/html.xsl,1.17 - Norman +Walsh

    +
  • +

    Add support for floatstyle to +figure.

    +

    Modified: html/formal.xsl,1.21 - Robert +Stayton

    +
  • +

    Handling of xref to +area/areaset need support in extensions code also. I currently have no +time to touch extensions code, so code is here to be enabled when +extension is fixed also.

    +

    Modified: html/xref.xsl,1.56 - Jirka +Kosek

    +
  • +

    Added 3 parameters for overriding +gentext for index +punctuation.

    +

    Modified: html/param.ent,1.89; html/param.xweb,1.98 - Robert +Stayton

    +
  • +

    Added parameters to support +localization of index item punctuation. Added +index.separator named template to compute +the separator punctuation based on +locale.

    +

    Modified: html/autoidx.xsl,1.27 - Robert +Stayton

    +
  • +

    Added a <div +class="{$class}-contents"> wrapper around output of contents +of all formal objects. Also, added an optional <br +class="{class}-break"/> linebreak after all formal +objects.

    +

    WARNING: Because this change places an additional +DIV between the DIV wrapper for the equation and the +equation contents, it may break some existing CSS +stylesheets that have been created with the assumption that there +would never be an intervening DIV there.

    +

    The following is +an example of what Equation output looks like as a +result of the changes described above.

    +

    <div +class="equation"> <a name="three" +id="three"></a>

    +

    <p +class="title"><b>(1.3)</b></p>

    +

    +<div class="equation-contents"> <span +class="mathphrase">1+1=3</span> +</div> </div><br +class="equation-break">

    +

    Rationale: These changes allow +CSS control of the placement of the formal-object +title relative to the formal-object +contents. For example, using the CSS "float" property +enables the title and contents to be rendered on the +same line. Example stylesheet:

    +

    .equation +{ margin-top: 20px; margin-bottom: 20px; } +.equation-contents { float: left; }

    +

    +.equation .title { margin-top: 0; +float: right; margin-right: 200px; }

    +

    +.equation .title b { font-weight: +normal; }

    +

    .equation-break { clear: both; +}

    +

    Note that the purpose of the ".equation-break" class is +to provide a way to clear off the floats.

    +

    If you want +to instead have the equation title rendered to +the left of the equation contents, you can do +something like this:

    +

    .equation { +margin-top: 20px; width: 300px; margin-bottom: 20px; +} .equation-contents { float: right; }

    +

    +.equation .title { margin-top: 0; +float: left; margin-right: 200px; }

    +

    +.equation .title b { font-weight: +normal; }

    +

    .equation-break { clear: both; +}

    +

    Modified: html/formal.xsl,1.20 - Michael(tm) Smith

    +
  • +

    Added a chunker.output.quiet +top-level parameter so that the chunker can be made quiet by +default

    +

    Modified: html/chunker.xsl,1.26 - Norman Walsh

    +
  • +

    Added support for link, +olink, and xref within OO +Classsynopsis and children. (Because DocBook NG/5 +allows it).

    +

    Modified: fo/synop.xsl,1.15; html/synop.xsl,1.19 - Michael(tm) +Smith

    +
  • +

    New parameter: +id.warnings. If non-zero, warnings are +generated for titled objects that don't have titles. True by default; +I wonder if this will be too aggressive?

    +

    Modified: html/biblio.xsl,1.25; +html/component.xsl,1.27; html/division.xsl,1.11; html/formal.xsl,1.19; +html/glossary.xsl,1.20; html/html.xsl,1.13; html/index.xsl,1.16; +html/param.ent,1.88; html/param.xweb,1.97; html/refentry.xsl,1.22; +html/sections.xsl,1.30; params/id.warnings.xml,1.1 - Norman +Walsh

    +
  • +

    If the +keep.relative.image.uris parameter is true, +don't use the absolute URI (as calculated from xml:base) in +the img src attribute, us the value the author +specified. Note that we still have to calculate the absolute +filename for use in the image intrinsics +extension.

    +

    Modified: html/graphics.xsl,1.56 - Norman +Walsh

    +
  • +

    Support date as an +inline

    +

    Modified: fo/inline.xsl,1.43; html/inline.xsl,1.46 - Norman +Walsh

    +
  • +

    Added new parameter +keep.relative.image.uris

    +

    Modified: fo/param.ent,1.91; +fo/param.xweb,1.104; html/param.ent,1.87; html/param.xweb,1.96; +params/keep.relative.image.uris.xml,1.1 - Norman +Walsh

    +
  • +

    Added two new parameters for +handling of multi-term +varlistentry elements:

    +

    variablelist.term.break.after: +When the variablelist.term.break.after is +non-zero, it will generate a line break after each +term multi-term +varlistentry.

    +

    variablelist.term.separator: +When a varlistentry contains multiple term +elements, the string specified in the value of the +variablelist.term.separator parameter is +placed after each term except the last. The default +is ", " (a comma followed by a space). To suppress rendering of +the separator, set the value of +variablelist.term.separator to the empty +string ("").

    +

    These parameters are primarily intended to be +useful if you have multi-term varlistentries that have long +terms.

    +

    Closes #1306676. Thanks to Sam Steingold for +providing an example "lots of long terms" doc that demonstrated +the value of having these options.

    +

    Also, added +normalize-space() call to processing of each +term.

    +

    This change affects all output formats +(HTML, PDF, manpages). The default behavior should pretty much +remain the same as before, but it is possible (as always) that +the change may introduce some +new bugginess.

    +

    Modified: fo/lists.xsl,1.62; fo/param.ent,1.88; +fo/param.xweb,1.99; html/lists.xsl,1.48; html/param.ent,1.86; +html/param.xweb,1.93; manpages/lists.xsl,1.22; +manpages/param.ent,1.14; manpages/param.xweb,1.16; +params/variablelist.term.break.after.xml,1.1; +params/variablelist.term.separator.xml,1.1 - Michael(tm) +Smith

    +
  • +

    Added "wrapper-name" param to +inline.charseq named template, enabling it to output inlines +other than just "span". Acronym and Abbrev +templates now use inline.charseq to output HTML +"acronym" and "abbr" elements (instead of +"span"). Closes #1305468. Thanks to Sam Steingold for suggesting +the change.

    +

    Modified: html/inline.xsl,1.45 - Michael(tm) +Smith

    +
+
+ +

Manpages

+ +

The following changes have been made to the + manpages code + since the 1.69.1 release.

+
  • +

    Added the following +params:

    +

    - man.indent.width (string-valued) - +man.indent.refsect (boolean) - man.indent.blurbs (boolean) +- man.indent.lists (boolean) - man.indent.verbatims +(boolean)

    +

    Note that in earlier snapshots, man.indent.width +was named man.indentation.default.value and the boolean params +had names like man.indentation.*.adjust. Also the +man.indent.blurbs param was called man.indentation.authors.adjust +(or something).

    +

    The behavior now is: If the value of a +particular man.indent.* boolean param is non-zero, the +corresponding contents (refsect*, list items, +authorblurb/personblurb, vervatims) are displayed with a left +margin indented by a width equal to the value +of man.indent.width.

    +

    Modified: params/man.indent.blurbs.xml,1.1; +manpages/docbook.xsl,1.74; manpages/info.xsl,1.20; +manpages/lists.xsl,1.30; manpages/other.xsl,1.20; +manpages/param.ent,1.22; manpages/param.xweb,1.24; +manpages/refentry.xsl,1.14; params/man.indent.lists.xml,1.1; +params/man.indent.refsect.xml,1.1; +params/man.indent.verbatims.xml,1.1; params/man.indent.width.xml,1.1 - +Michael(tm) Smith

    +
  • +

    Added +man.table.footnotes.divider param.

    +

    In each +table that contains footenotes, the string specified +by the man.table.footnotes.divider parameter is output +before the list of footnotes for the +table.

    +

    Modified: manpages/docbook.xsl,1.73; +manpages/links.xsl,1.6; manpages/param.ent,1.21; +manpages/param.xweb,1.23; params/man.table.footnotes.divider.xml,1.1 - +Michael(tm) Smith

    +
  • +

    Added the +man.output.in.separate.dir, +man.output.base.dir, +and man.output.subdirs.enabled parameters.

    +

    The +man.output.base.dir parameter specifies the +base directory into which man-page files are +output. The man.output.subdirs.enabled parameter controls whether +the files are output in subdirectories within the base +directory.

    +

    The values of the +man.output.base.dir +and man.output.subdirs.enabled parameters are used only if the +value of man.output.in.separate.dir parameter is non-zero. If the +value of man.output.in.separate.dir is zero, man-page files are +not output in a separate +directory.

    +

    Modified: manpages/docbook.xsl,1.72; manpages/param.ent,1.20; +manpages/param.xweb,1.22; params/man.output.base.dir.xml,1.1; +params/man.output.in.separate.dir.xml,1.1; +params/man.output.subdirs.enabled.xml,1.1 - Michael(tm) +Smith

    +
  • +

    Added +man.font.table.headings and +man.font.table.title params, for +controlling font in table headings and +titles.

    +

    Modified: manpages/docbook.xsl,1.71; manpages/param.ent,1.19; +manpages/param.xweb,1.21; params/man.font.table.headings.xml,1.1; +params/man.font.table.title.xml,1.1 - Michael(tm) +Smith

    +
  • +

    Added +man.font.funcsynopsisinfo and +man.font.funcprototype params, for specifying the roff +font (for example, BI, B, I) for funcsynopsisinfo and +funcprototype output.

    +

    Modified: manpages/block.xsl,1.19; +manpages/docbook.xsl,1.69; manpages/param.ent,1.18; +manpages/param.xweb,1.20; manpages/synop.xsl,1.29; +manpages/table.xsl,1.21; params/man.font.funcprototype.xml,1.1; +params/man.font.funcsynopsisinfo.xml,1.1 - Michael(tm) +Smith

    +
  • +

    Added +man.segtitle.suppress param.

    +

    If the value of +man.segtitle.suppress is non-zero, then display +of segtitle contents is suppressed in +output.

    +

    Modified: manpages/docbook.xsl,1.68; manpages/param.ent,1.17; +manpages/param.xweb,1.19; params/man.segtitle.suppress.xml,1.1 - +Michael(tm) Smith

    +
  • +

    Added +man.output.manifest.enabled and +man.output.manifest.filename params.

    +

    If +man.output.manifest.enabled is non-zero, a list +of filenames for man pages generated by the stylesheet +transformation is written to the file named by +man.output.manifest.filename

    +

    Modified: manpages/docbook.xsl,1.67; +manpages/other.xsl,1.19; manpages/param.ent,1.16; +manpages/param.xweb,1.18; params/man.output.manifest.enabled.xml,1.1; +params/man.output.manifest.filename.xml,1.1; +tools/make/Makefile.DocBook,1.4 - Michael(tm) +Smith

    +
  • +

    Added +refentry.meta.get.quietly param.

    +

    If zero (the +default), notes and warnings about "missing" markup are generated +during gathering of refentry metadata. If +non-zero, the metadata is gathered "quietly" -- that is, the +notes and warnings are suppressed.

    +

    NOTE: If you are +processing a large amount of refentry content, you +may be able to speed up processing significantly by setting a +non-zero value for +refentry.meta.get.quietly.

    +

    Modified: common/refentry.xsl,1.17; +manpages/param.ent,1.15; manpages/param.xweb,1.17; +params/refentry.meta.get.quietly.xml,1.1 - Michael(tm) +Smith

    +
  • +

    Changed names of all boolean +indentation params to man.indent.* Also discarded individual +man.indent.*.value params and switched to just using a common +man.indent.width param (3n by default).

    +

    Modified: manpages/docbook.xsl,1.66; +manpages/info.xsl,1.19; manpages/lists.xsl,1.29; +manpages/other.xsl,1.18; manpages/refentry.xsl,1.13 - Michael(tm) +Smith

    +
  • +

    Added boolean +man.output.in.separate.dir param, to control whether or not man +files are output in separate directory.

    +

    Modified: manpages/docbook.xsl,1.65; +manpages/utility.xsl,1.14 - Michael(tm) Smith

    +
  • +

    Added options for controlling +indentation of verbatim output. Controlled through the +man.indentation.verbatims.adjust +and man.indentation.verbatims.value params. Closes +#1242997

    +

    Modified: manpages/block.xsl,1.15; manpages/docbook.xsl,1.64 - +Michael(tm) Smith

    +
  • +

    Added options for controlling +indentation in lists and in *blurb output in the AUTHORS +section. Controlled through +the man.indentation.lists.adjust, +man.indentation.lists.value, man.indentation.authors.adjust, and +man.indentation.authors.value parameters. Default is 3 characters +(instead of the roff default of 8 characters). Closes +#1449369.

    +

    Also, removed the indent that was being set on +informalexample outuput. I will instead add an option +for indenting verbatims, which I think is what the +informalexample indent was intended +for originally.

    +

    Modified: manpages/block.xsl,1.14; +manpages/docbook.xsl,1.63; manpages/info.xsl,1.18; +manpages/lists.xsl,1.28 - Michael(tm) Smith

    +
  • +

    Changed line-spacing call before +synopfragment to use ".sp -1n" ("n" units specified) +instead of plain ".sp -1"

    +

    Modified: manpages/synop.xsl,1.28 - Michael(tm) +Smith

    +
  • +

    Added support for writing man +files into a specific output directory and into appropriate +subdirectories within that output directory. Controlled through +the man.base.dir parameter (similar to the +base.dir support in the HTML stylesheet) and +the man.subdirs.enabled parameter, which automatically determines +the name of an appropriate subdir (for example, man/man7, +man/man1, etc.) based on the section number/manvolnum +of the source Refentry.

    +

    Closes #1255036 and +#1170317. Thanks to Denis Bradford for the original feature +request, and to Costin Stroie for submitting a patch that was +very helpful in implementing the +support.

    +

    Modified: manpages/docbook.xsl,1.62; manpages/utility.xsl,1.13 - +Michael(tm) Smith

    +
  • +

    Refined XPath statements and +notification messages for refentry metadata +handling.

    +

    Modified: common/common.xsl,1.59; common/refentry.xsl,1.14; +manpages/docbook.xsl,1.61; manpages/other.xsl,1.17 - Michael(tm) +Smith

    +
  • +

    Added support for +copyright and legalnotice. The manpages +stylesheets now output a COPYRIGHT section, +after the AUTHORS section, if a copyright +or legalnotice is found in the source. The +section contains the copyright contents followed +by the legalnotice contents. Closes +#1450209.

    +

    Modified: manpages/docbook.xsl,1.59; manpages/info.xsl,1.17 - +Michael(tm) Smith

    +
  • +

    Drastically reworked all of the +XPath expressions used in refentry metadata gathering +-- completely removed $parentinfo and turned $info into a set of +nodes that includes the *info contents of the Refentry +plus the *info contents all all of its ancestor elements. The +basic XPath expression now used throughout is (using the example +of checking for a date):

    +

    +(($info[//date])[last()]/date)[1].

    +

    That selects the "last" +*info/date date in document order -- that is, the one +eitther on the Refentry itself or on the +closest ancestor to the Refentry.

    +

    It's +likely this change may break some things; may need to pick up +some pieces later.

    +

    Also, changed the default value for the +man.th.extra2.max.length from 40 to +30.

    +

    Modified: common/common.xsl,1.58; common/refentry.xsl,1.7; +params/man.th.extra2.max.length.xml,1.2; +params/refentry.date.profile.xml,1.2; +params/refentry.manual.profile.xml,1.2; +params/refentry.source.name.profile.xml,1.2; +params/refentry.version.profile.xml,1.2; manpages/docbook.xsl,1.58; +manpages/other.xsl,1.15 - Michael(tm) Smith

    +
  • +

    Added support for DocBook 5 +namespace-stripping in manpages stylesheet. Closes request +#1210692.

    +

    Modified: common/common.xsl,1.56; manpages/docbook.xsl,1.57 - +Michael(tm) Smith

    +
  • +

    Fixed handling of table +footnotes. With this checkin, the table support in the +manpages stylesheet is now basically feature complete. So this +change closes request #619532, "No support for tables" -- the +oldest currently open manpages feature request, submitted by Ben +Secrest (blsecres) on 2002-10-07. Congratulations to me [patting +myself on the back].

    +

    Modified: manpages/block.xsl,1.11; +manpages/docbook.xsl,1.55; manpages/table.xsl,1.15 - Michael(tm) +Smith

    +
  • +

    Added handling for +table titles. Also fixed handling of nested tables; +nest tables are now "extracted" and displayed just after their +parent tables.

    +

    Modified: manpages/docbook.xsl,1.54; manpages/table.xsl,1.14 +- Michael(tm) Smith

    +
  • +

    Added option for turning off bold +formatting in Funcsynopsis. Boldface formatting in +function synopsis is mandated in the +man(7) man page and is used almost universally in existing man +pages. Despite that, it really does look like crap to have an +entire Funcsynopsis output in bold, so I added params +for turning off the bold formatting and/or replacing it with a +different roff special font (e.g., "RI" for alternating +roman/italic instead of the default "BI" for alternating +bold/italic). The new params +are "man.funcprototype.font" and +"man.funcsynopsisinfo.font". To be documented +later.

    +

    Closes #1452247. Thanks to Joe Orton for the feature +request.

    +

    Modified: params/man.string.subst.map.xml,1.16; +manpages/block.xsl,1.10; manpages/docbook.xsl,1.51; +manpages/inline.xsl,1.16; manpages/synop.xsl,1.27 - Michael(tm) +Smith

    +
  • +

    Use AUTHORS instead of +AUTHOR if we have multiple people to attribute. Also, +fixed checking such that we generate +author section even if we don't have an +author (as long as there is at least one other +person/entity we can put in the +section). Also adjusted assembly of content for +Author metainfo field such that we now not only use +author, but try to find a "best match" if we can't +find an author name to put there.

    +

    Closes +#1233592. Thanks to Sam Steingold for the +request.

    +

    Modified: manpages/info.xsl,1.12 - Michael(tm) +Smith

    +
  • +

    Changes for request #1243027, +"Impove handling of AUTHOR section." This +adds support for Collab, Corpauthor, Corpcredt, +Orgname, Publishername, and +Publisher. Also adds support for output +of Affiliation and its children, and support for using +gentext strings for auto-attributing roles (Author, +Editor, Publisher, Translator, etc.). Also +did a lot of code cleanup and modularization of all the +AUTHOR handling code. And fixed a bug that was causing +Author info to not be picked up correctly +for metainfo comment we embed in man-page +source.

    +

    Modified: manpages/info.xsl,1.11 - Michael(tm) +Smith

    +
  • +

    Support bold output for +"emphasis remap='B'". (because Eric Raymond's +doclifter(1) tool converts groff source marked up with ".B" +request or "\fB" escapes to DocBook "emphasis +remap='B'".)

    +

    Modified: manpages/inline.xsl,1.14 - Michael(tm) +Smith

    +
  • +

    Added support for +Segmentedlist. Details: Output is tabular, with no +option for "list" type output. Output for Segtitle +elements can be supressed by +setting man.segtitle.suppress. If Segtitle +content is output, it is rendered in italic type (not bold +because not all terminals support bold and so italic ensures the +stand out on those terminals). Extra space (.sp line) at end of +table code ensures that it gets handled correctly in +the case where its source is the child of a Para. +Closes feature-request #1400097. Thanks to Daniel Leidert for the +patch and push, and to Alastair Rankine for filing the original +feature request.

    +

    Modified: manpages/lists.xsl,1.23; +manpages/utility.xsl,1.10 - Michael(tm) Smith

    +
  • +

    Improved handling or +Author/Editor/Othercredit.

    +

    Reworked content of +(non-visible) comment added at top of each page (metadata +stuff).

    +

    Added support for generating a +manifest file (useful for cleaning up +after builds, etc.)

    +

    Modified: manpages/docbook.xsl,1.46; +manpages/info.xsl,1.9; manpages/other.xsl,1.12; +manpages/utility.xsl,1.6 - Michael(tm) Smith

    +
  • +

    Added two new parameters for +handling of multi-term +varlistentry elements:

    +

    variablelist.term.break.after: +When the variablelist.term.break.after is +non-zero, it will generate a line break after each +term multi-term +varlistentry.

    +

    variablelist.term.separator: +When a varlistentry contains multiple term +elements, the string specified in the value of the +variablelist.term.separator parameter is +placed after each term except the last. The default +is ", " (a comma followed by a space). To suppress rendering of +the separator, set the value of +variablelist.term.separator to the empty +string ("").

    +

    These parameters are primarily intended to be +useful if you have multi-term varlistentries that have long +terms.

    +

    Closes #1306676. Thanks to Sam Steingold for +providing an example "lots of long terms" doc that demonstrated +the value of having these options.

    +

    Also, added +normalize-space() call to processing of each +term.

    +

    This change affects all output formats +(HTML, PDF, manpages). The default behavior should pretty much +remain the same as before, but it is possible (as always) that +the change may introduce some +new bugginess.

    +

    Modified: fo/lists.xsl,1.62; fo/param.ent,1.88; +fo/param.xweb,1.99; html/lists.xsl,1.48; html/param.ent,1.86; +html/param.xweb,1.93; manpages/lists.xsl,1.22; +manpages/param.ent,1.14; manpages/param.xweb,1.16; +params/variablelist.term.break.after.xml,1.1; +params/variablelist.term.separator.xml,1.1 - Michael(tm) +Smith

    +
+
+ +

Params

+ +

The following changes have been made to the + params code + since the 1.69.1 release.

+
  • +

    New parameters to set +header/footer table minimum +height.

    +

    Modified: params/footer.table.height.xml,1.1; +params/header.table.height.xml,1.1 - Robert +Stayton

    +
  • +

    Support multiple indexing methods +for different languages.

    +

    Modified: params/index.method.xml,1.1 - Robert +Stayton

    +
  • +

    Remove qandaset and +qandadiv from generate.toc for fo +output because formerly it wasn't working, but now it is and +the default behavior should stay the +same.

    +

    Modified: params/generate.toc.xml,1.8 - Robert +Stayton

    +
  • +

    add support for page number +references to link element +too.

    +

    Modified: params/insert.link.page.number.xml,1.1 - Robert +Stayton

    +
  • +

    Add support for more characters to +hyphen on when ulink.hyphenate is turned +on.

    +

    Modified: params/ulink.hyphenate.chars.xml,1.1; +params/ulink.hyphenate.xml,1.3 - Robert Stayton

    +
  • +

    New attribute-set to format +biblioentry and +bibliomixed.

    +

    Modified: params/biblioentry.properties.xml,1.1 - +Robert Stayton

    +
  • +

    Added new parameter +chunk.tocs.and.lots.has.title which +controls presence of title in a separate chunk with +ToC/LoT. Disabling title can be very useful if you are +generating frameset output (well, yes those frames, but some customers +really want them ;-).

    +

    Modified: html/chunk-code.xsl,1.15; +html/param.ent,1.93; html/param.xweb,1.102; +params/chunk.tocs.and.lots.has.title.xml,1.1 - Jirka +Kosek

    +
  • +

    Added new attribute set +toc.line.properties for controlling appearance of lines in +ToC/LoT

    +

    Modified: params/toc.line.properties.xml,1.1 - Jirka +Kosek

    +
  • +

    Allow table footnotes +to have different properties from regular +footnotes.

    +

    Modified: params/table.footnote.properties.xml,1.1 - Robert +Stayton

    +
  • +

    Set properties for pgwide="1" +objects.

    +

    Modified: params/pgwide.properties.xml,1.1 - Robert +Stayton

    +
  • +

    Added the +autotoc.label.in.hyperlink param.

    +

    If the value +of autotoc.label.in.hyperlink is non-zero, labels +are included in hyperlinked titles in the TOC. If it +is instead zero, labels are still displayed prior to the +hyperlinked titles, but are not hyperlinked along with the +titles.

    +

    Closes patch #1065868. Thanks to anatoly techtonik +for the patch.

    +

    Modified: html/autotoc.xsl,1.36; html/param.ent,1.92; +html/param.xweb,1.101; params/autotoc.label.in.hyperlink.xml,1.1 - +Michael(tm) Smith

    +
  • +

    Added two new params: +html.head.legalnotice.link.types +and html.head.legalnotice.link.multiple.

    +

    If +the value of the generate.legalnotice.link is +non-zero, then the stylesheet generates (in the head +section of the HTML source) either a single HTML +link element or, if the value of +the html.head.legalnotice.link.multiple is +non-zero, one link element for each link +type specified. Each link has the +following attributes:

    +

    - a rel attribute whose value +is derived from the value of +html.head.legalnotice.link.types

    +

    - +an href attribute whose value is set to the URL of the file +containing the legalnotice

    +

    - a title +attribute whose value is set to the title of the +corresponding legalnotice (or a title +programatically determined by the stylesheet)

    +

    For +example:

    +

    <link rel="copyright" +href="ln-id2524073.html" title="Legal Notice">

    +

    Closes +#1476450. Thanks to Sam Steingold.

    +

    Modified: html/chunk-common.xsl,1.45; +html/param.ent,1.91; html/param.xweb,1.100; +params/generate.legalnotice.link.xml,1.4; +params/html.head.legalnotice.link.multiple.xml,1.1; +params/html.head.legalnotice.link.types.xml,1.1 - Michael(tm) +Smith

    +
  • +

    Added the following +params:

    +

    - man.indent.width (string-valued) - +man.indent.refsect (boolean) - man.indent.blurbs (boolean) +- man.indent.lists (boolean) - man.indent.verbatims +(boolean)

    +

    Note that in earlier snapshots, man.indent.width +was named man.indentation.default.value and the boolean params +had names like man.indentation.*.adjust. Also the +man.indent.blurbs param was called man.indentation.authors.adjust +(or something).

    +

    The behavior now is: If the value of a +particular man.indent.* boolean param is non-zero, the +corresponding contents (refsect*, list items, +authorblurb/personblurb, vervatims) are displayed with a left +margin indented by a width equal to the value +of man.indent.width.

    +

    Modified: params/man.indent.blurbs.xml,1.1; +manpages/docbook.xsl,1.74; manpages/info.xsl,1.20; +manpages/lists.xsl,1.30; manpages/other.xsl,1.20; +manpages/param.ent,1.22; manpages/param.xweb,1.24; +manpages/refentry.xsl,1.14; params/man.indent.lists.xml,1.1; +params/man.indent.refsect.xml,1.1; +params/man.indent.verbatims.xml,1.1; params/man.indent.width.xml,1.1 - +Michael(tm) Smith

    +
  • +

    Added +man.table.footnotes.divider param.

    +

    In each +table that contains footenotes, the string specified +by the man.table.footnotes.divider parameter is output +before the list of footnotes for the +table.

    +

    Modified: manpages/docbook.xsl,1.73; +manpages/links.xsl,1.6; manpages/param.ent,1.21; +manpages/param.xweb,1.23; params/man.table.footnotes.divider.xml,1.1 - +Michael(tm) Smith

    +
  • +

    Added the +man.output.in.separate.dir, +man.output.base.dir, +and man.output.subdirs.enabled parameters.

    +

    The +man.output.base.dir parameter specifies the +base directory into which man-page files are +output. The man.output.subdirs.enabled parameter controls whether +the files are output in subdirectories within the base +directory.

    +

    The values of the +man.output.base.dir +and man.output.subdirs.enabled parameters are used only if the +value of man.output.in.separate.dir parameter is non-zero. If the +value of man.output.in.separate.dir is zero, man-page files are +not output in a separate +directory.

    +

    Modified: manpages/docbook.xsl,1.72; manpages/param.ent,1.20; +manpages/param.xweb,1.22; params/man.output.base.dir.xml,1.1; +params/man.output.in.separate.dir.xml,1.1; +params/man.output.subdirs.enabled.xml,1.1 - Michael(tm) +Smith

    +
  • +

    Added +man.font.table.headings and +man.font.table.title params, for +controlling font in table headings and +titles.

    +

    Modified: manpages/docbook.xsl,1.71; manpages/param.ent,1.19; +manpages/param.xweb,1.21; params/man.font.table.headings.xml,1.1; +params/man.font.table.title.xml,1.1 - Michael(tm) +Smith

    +
  • +

    Added +man.font.funcsynopsisinfo and +man.font.funcprototype params, for specifying the roff +font (for example, BI, B, I) for funcsynopsisinfo and +funcprototype output.

    +

    Modified: manpages/block.xsl,1.19; +manpages/docbook.xsl,1.69; manpages/param.ent,1.18; +manpages/param.xweb,1.20; manpages/synop.xsl,1.29; +manpages/table.xsl,1.21; params/man.font.funcprototype.xml,1.1; +params/man.font.funcsynopsisinfo.xml,1.1 - Michael(tm) +Smith

    +
  • +

    Changed to select="0" in +refclass.suppress (instead of +..>0</..)

    +

    Modified: params/refclass.suppress.xml,1.3 - Michael(tm) +Smith

    +
  • +

    Added +man.segtitle.suppress param.

    +

    If the value of +man.segtitle.suppress is non-zero, then display +of segtitle contents is suppressed in +output.

    +

    Modified: manpages/docbook.xsl,1.68; manpages/param.ent,1.17; +manpages/param.xweb,1.19; params/man.segtitle.suppress.xml,1.1 - +Michael(tm) Smith

    +
  • +

    Added +man.output.manifest.enabled and +man.output.manifest.filename params.

    +

    If +man.output.manifest.enabled is non-zero, a list +of filenames for man pages generated by the stylesheet +transformation is written to the file named by +man.output.manifest.filename

    +

    Modified: manpages/docbook.xsl,1.67; +manpages/other.xsl,1.19; manpages/param.ent,1.16; +manpages/param.xweb,1.18; params/man.output.manifest.enabled.xml,1.1; +params/man.output.manifest.filename.xml,1.1; +tools/make/Makefile.DocBook,1.4 - Michael(tm) +Smith

    +
  • +

    Added refclass.suppress +param.

    +

    If the value of refclass.suppress is +non-zero, then display refclass contents is suppressed +in output. Affects HTML and FO output +only.

    +

    Modified: fo/param.ent,1.93; fo/param.xweb,1.106; html/param.ent,1.90; +html/param.xweb,1.99; params/refclass.suppress.xml,1.1 - Michael(tm) +Smith

    +
  • +

    Added +refentry.meta.get.quietly param.

    +

    If zero (the +default), notes and warnings about "missing" markup are generated +during gathering of refentry metadata. If +non-zero, the metadata is gathered "quietly" -- that is, the +notes and warnings are suppressed.

    +

    NOTE: If you are +processing a large amount of refentry content, you +may be able to speed up processing significantly by setting a +non-zero value for +refentry.meta.get.quietly.

    +

    Modified: common/refentry.xsl,1.17; +manpages/param.ent,1.15; manpages/param.xweb,1.17; +params/refentry.meta.get.quietly.xml,1.1 - Michael(tm) +Smith

    +
  • +

    Added support for "software" and +"sectdesc" class values on refmiscinfo; "software" is +treated identically to "source", and "setdesc" is treated +identically to "manual".

    +

    Modified: common/refentry.xsl,1.10; +params/man.th.extra2.max.length.xml,1.3; +params/refentry.source.name.profile.xml,1.4 - Michael(tm) +Smith

    +
  • +

    Drastically reworked all of the +XPath expressions used in refentry metadata gathering +-- completely removed $parentinfo and turned $info into a set of +nodes that includes the *info contents of the Refentry +plus the *info contents all all of its ancestor elements. The +basic XPath expression now used throughout is (using the example +of checking for a date):

    +

    +(($info[//date])[last()]/date)[1].

    +

    That selects the "last" +*info/date date in document order -- that is, the one +eitther on the Refentry itself or on the +closest ancestor to the Refentry.

    +

    It's +likely this change may break some things; may need to pick up +some pieces later.

    +

    Also, changed the default value for the +man.th.extra2.max.length from 40 to +30.

    +

    Modified: common/common.xsl,1.58; common/refentry.xsl,1.7; +params/man.th.extra2.max.length.xml,1.2; +params/refentry.date.profile.xml,1.2; +params/refentry.manual.profile.xml,1.2; +params/refentry.source.name.profile.xml,1.2; +params/refentry.version.profile.xml,1.2; manpages/docbook.xsl,1.58; +manpages/other.xsl,1.15 - Michael(tm) Smith

    +
  • +

    Added option for turning off bold +formatting in Funcsynopsis. Boldface formatting in +function synopsis is mandated in the +man(7) man page and is used almost universally in existing man +pages. Despite that, it really does look like crap to have an +entire Funcsynopsis output in bold, so I added params +for turning off the bold formatting and/or replacing it with a +different roff special font (e.g., "RI" for alternating +roman/italic instead of the default "BI" for alternating +bold/italic). The new params +are "man.funcprototype.font" and +"man.funcsynopsisinfo.font". To be documented +later.

    +

    Closes #1452247. Thanks to Joe Orton for the feature +request.

    +

    Modified: params/man.string.subst.map.xml,1.16; +manpages/block.xsl,1.10; manpages/docbook.xsl,1.51; +manpages/inline.xsl,1.16; manpages/synop.xsl,1.27 - Michael(tm) +Smith

    +
  • +

    fop.extensions now only +for FOP version 0.20.5 and earlier.

    +

    Modified: params/fop.extensions.xml,1.4 +- Robert Stayton

    +
  • +

    Support for fop1 different from +fop 0.20.5 and earlier.

    +

    Modified: params/fop1.extensions.xml,1.1 - Robert +Stayton

    +
  • +

    Reset default value to empty +string so template uses gentext first, then the parameter value +if not empty.

    +

    Modified: params/index.number.separator.xml,1.2; +params/index.range.separator.xml,1.2; +params/index.term.separator.xml,1.2 - Robert +Stayton

    +
  • +

    New parameter: +id.warnings. If non-zero, warnings are +generated for titled objects that don't have titles. True by default; +I wonder if this will be too aggressive?

    +

    Modified: html/biblio.xsl,1.25; +html/component.xsl,1.27; html/division.xsl,1.11; html/formal.xsl,1.19; +html/glossary.xsl,1.20; html/html.xsl,1.13; html/index.xsl,1.16; +html/param.ent,1.88; html/param.xweb,1.97; html/refentry.xsl,1.22; +html/sections.xsl,1.30; params/id.warnings.xml,1.1 - Norman +Walsh

    +
  • +

    Added new parameter +keep.relative.image.uris

    +

    Modified: fo/param.ent,1.91; +fo/param.xweb,1.104; html/param.ent,1.87; html/param.xweb,1.96; +params/keep.relative.image.uris.xml,1.1 - Norman +Walsh

    +
  • +

    Support default label +width parameters for itemized and ordered lists

    +

    Modified: fo/lists.xsl,1.64; +fo/param.ent,1.90; fo/param.xweb,1.103; +params/itemizedlist.label.width.xml,1.1; +params/orderedlist.label.width.xml,1.1 - Norman +Walsh

    +
  • +

    Added parameters to localize +punctuation in indexes.

    +

    Modified: params/index.number.separator.xml,1.1; +params/index.range.separator.xml,1.1; +params/index.term.separator.xml,1.1 - Robert +Stayton

    +
  • +

    Added two new parameters for +handling of multi-term +varlistentry elements:

    +

    variablelist.term.break.after: +When the variablelist.term.break.after is +non-zero, it will generate a line break after each +term multi-term +varlistentry.

    +

    variablelist.term.separator: +When a varlistentry contains multiple term +elements, the string specified in the value of the +variablelist.term.separator parameter is +placed after each term except the last. The default +is ", " (a comma followed by a space). To suppress rendering of +the separator, set the value of +variablelist.term.separator to the empty +string ("").

    +

    These parameters are primarily intended to be +useful if you have multi-term varlistentries that have long +terms.

    +

    Closes #1306676. Thanks to Sam Steingold for +providing an example "lots of long terms" doc that demonstrated +the value of having these options.

    +

    Also, added +normalize-space() call to processing of each +term.

    +

    This change affects all output formats +(HTML, PDF, manpages). The default behavior should pretty much +remain the same as before, but it is possible (as always) that +the change may introduce some +new bugginess.

    +

    Modified: fo/lists.xsl,1.62; fo/param.ent,1.88; +fo/param.xweb,1.99; html/lists.xsl,1.48; html/param.ent,1.86; +html/param.xweb,1.93; manpages/lists.xsl,1.22; +manpages/param.ent,1.14; manpages/param.xweb,1.16; +params/variablelist.term.break.after.xml,1.1; +params/variablelist.term.separator.xml,1.1 - Michael(tm) +Smith

    +
  • +

    Convert 'no' to string in default +value.

    +

    Modified: params/olink.doctitle.xml,1.4 - Robert +Stayton

    +
  • +

    Implemented RFE +#1292615.

    +

    Added bunch of new parameters (attribute sets) +that affect list presentation: list.block.properties, +itemizedlist.properties, orderedlist.properties, +itemizedlist.label.properties and +orderedlist.label.properties. Default behaviour +of stylesheets has not been changed but further customizations will be +much more easier.

    +

    Modified: fo/lists.xsl,1.61; fo/param.ent,1.87; +fo/param.xweb,1.98; params/itemizedlist.label.properties.xml,1.1; +params/itemizedlist.properties.xml,1.1; +params/list.block.properties.xml,1.1; +params/orderedlist.label.properties.xml,1.1; +params/orderedlist.properties.xml,1.1 - Jirka +Kosek

    +
  • +

    Implemented RFE +#1242092.

    +

    You can enable crop marks in your document by +setting crop.marks=1 and xep.extensions=1. Appearance of crop +marks can be controlled by parameters +crop.mark.bleed (6pt), +crop.mark.offset (24pt) and +crop.mark.width (0.5pt).

    +

    Also there +is new named template called user-xep-pis. You can overwrite it in +order to produce some PIs that can control XEP as described in +http://www.renderx.com/reference.html#Output_Formats

    +

    Modified: fo/docbook.xsl,1.36; +fo/param.ent,1.86; fo/param.xweb,1.97; fo/xep.xsl,1.23; +params/crop.mark.bleed.xml,1.1; params/crop.mark.offset.xml,1.1; +params/crop.mark.width.xml,1.1; params/crop.marks.xml,1.1 - Jirka +Kosek

    +
  • +

    Changed short descriptions in doc +for *autolabel* params to match new autolabel +behavior.

    +

    Modified: params/appendix.autolabel.xml,1.5; +params/chapter.autolabel.xml,1.4; params/part.autolabel.xml,1.5; +params/preface.autolabel.xml,1.4 - Michael(tm) +Smith

    +
+
+ +

Profiling

+ +

The following changes have been made to the + profiling code + since the 1.69.1 release.

+
  • +

    Profiling now works together with +namespace stripping (V5 documents). Namespace striping should work +with all stylesheets named profile-, even if they are not supporting +namespace stripping in a non-profiling +variant.

    +

    Modified: profiling/profile-mode.xsl,1.4; +profiling/xsl2profile.xsl,1.7 - Jirka Kosek

    +
  • +

    Moved profiling stage out of +templates. This make possible to reuse profiled content by several +templates and still maintaing node indentity (needed for example for +HTML Help where content is processed multiple times).

    +

    I +don't know why this was not on the top level before. Maybe some XSLT +processors choked on it. I hope this will be OK +now.

    +

    Modified: profiling/xsl2profile.xsl,1.5 - Jirka +Kosek

    +
+
+ +

Tools

+ +

The following changes have been made to the + tools code + since the 1.69.1 release.

+
  • +

    Moved Makefile.DocBook from +contrib module to xsl +module.

    +

    Modified: tools/make/Makefile.DocBook,1.1 - Michael(tm) +Smith

    +
+
+ +

WordML

+ +

The following changes have been made to the + wordml code + since the 1.69.1 release.

+
  • +

    added contrib element, +better handling of default paragraph +style

    +

    Modified: wordml/pages-normalise.xsl,1.6; wordml/supported.xml,1.2; +wordml/wordml-final.xsl,1.14 - Steve Ball

    +
  • +

    added +bridgehead

    +

    Modified: wordml/docbook-pages.xsl,1.6; +wordml/docbook.xsl,1.17; wordml/pages-normalise.xsl,1.5; +wordml/template-pages.xml,1.7; wordml/template.dot,1.4; +wordml/template.xml,1.14; wordml/wordml-final.xsl,1.13 - Steve +Ball

    +
  • +

    added blocks stylesheet to support +bibliographies, glossaries and qandasets

    +

    Modified: wordml/Makefile,1.4; +wordml/README,1.3; wordml/blocks-spec.xml,1.1; +wordml/docbook-pages.xsl,1.5; wordml/docbook.xsl,1.16; +wordml/pages-normalise.xsl,1.4; wordml/sections-spec.xml,1.3; +wordml/specifications.xml,1.13; wordml/template-pages.xml,1.6; +wordml/template.dot,1.3; wordml/template.xml,1.13; +wordml/wordml-blocks.xsl,1.1; wordml/wordml-final.xsl,1.12; +wordml/wordml-sections.xsl,1.3 - Steve Ball

    +
  • +

    added mediaobject +caption

    +

    Modified: wordml/docbook-pages.xsl,1.4; +wordml/docbook.xsl,1.15; wordml/specifications.xml,1.12; +wordml/template-pages.xml,1.5; wordml/template.dot,1.2; +wordml/template.xml,1.12; wordml/wordml-final.xsl,1.11 - Steve +Ball

    +
  • +

    added +callouts

    +

    Modified: wordml/docbook-pages.xsl,1.3; wordml/docbook.xsl,1.14; +wordml/pages-normalise.xsl,1.3; wordml/specifications.xml,1.11; +wordml/template-pages.xml,1.4; wordml/wordml-final.xsl,1.10 - Steve +Ball

    +
  • +

    added Word template +file

    +

    Modified: wordml/template.dot,1.1 - Steve Ball

    +
  • +

    added abstract, fixed +itemizedlist, ulink

    +

    Modified: wordml/specifications.xml,1.10; +wordml/wordml-final.xsl,1.9 - Steve Ball

    +
  • +

    fixed Makefile added many +features to Pages support added revhistory, inlines, +highlights, abstract

    +

    Modified: wordml/Makefile,1.2; +wordml/docbook-pages.xsl,1.2; wordml/pages-normalise.xsl,1.2; +wordml/sections-spec.xml,1.2; wordml/specifications.xml,1.9; +wordml/template-pages.xml,1.3; wordml/template.xml,1.11; +wordml/wordml-final.xsl,1.8; wordml/wordml-sections.xsl,1.2 - Steve +Ball

    +
  • +

    fixed handling linebreaks when +generating WordML added Apple Pages +support

    +

    Modified: wordml/docbook.xsl,1.13; wordml/template-pages.xml,1.2 - +Steve Ball

    +
+
+
+ +

Release 1.69.1

+ +

This release is a minor bug-fix update to the 1.69.0 + release. Along with bug fixes, it includes one + configuration-parameter change: The default value of the + annotation.support parameter is now + 0 (off). The reason for that change is that + there have been reports that annotation handling is + causing a significant performance degradation in processing of + large documents with xsltproc.

+
+ + +

Release 1.69.0

+ +

The release includes major feature changes, + particularly in the manpages + stylesheets, as well as a large number of bug fixes.

+ +

As with all DocBook Project dot zero releases, this is an + experimental release .

+ +

Common

+ +
  • +

    This release adds localizations for the following + languages: + Albanian, Amharic, Azerbaijani, Hindi, Irish (Gaelic), Gujarati, Kannada, Mongolian, Oriya, Punjabi, Tagalog, Tamil, and Welsh.

    +
  • +

    Added support for specifying number format for auto + labels for chapter, appendix, + part, and preface. Contolled with the + appendix.autolabel, + chapter.autolabel, + part.autolabel, and + preface.autolabel parameters.

    +
  • +

    Added basic support for biblioref cross + referencing.

    +
  • +

    Added support for align + on caption in mediaobject.

    +
  • +

    Added support for processing documents that use the + DocBook V5 namespace.

    +
  • +

    Added support for termdef and + mathphrase.

    +
  • +

    EXPERIMENTAL: Incorporated the Slides and Website + stylesheets into the DocBook XSL stylesheets package. So, + for example, Website documents can now be processed using + the following URI for the driver Website + tabular.xsl file:

    http://docbook.sourceforge.net/release/xsl/current/website/tabular.xsl
    +
  • +

    A procedure without a title is + now treated as an informal procedure (meaning + that it is not added to any generated list of + procedures and has no affect on numbering of + generated labels for other procedures).

    +
  • +

    docname is no longer added to + olink when pointing to a root element.

    +
  • +

    Added support for generation of choice separator in + inline simplelist. This enables auto-generation of an + appropriate localized choice separator (for + example, and or or) before the + final item in an inline simplelist.

    +

    To indicate that you want a choice separator + generated for a particular list, you need to put a processing + instruction (PI) of the form + <?dbchoice choice="foo"?> as a + child of the list. For example: +

      <para>Choose from
    +  ONE and ONLY ONE of the following: 
    +  <simplelist type="inline">
    +  <?dbchoice choice="or" ?>
    +  <member>A</member>
    +  <member>B</member>
    +  <member>C</member>.</simplelist></para>

    + + Output (for English): +

    +

    Choose from ONE and only ONE of the + following choices: A, B, or C.

    +

    + As a temporary workaround for the fact that most of the + DocBook non-English locale files don't have a localization for + the word or, you can put in a literal string to + be used; example for French: <?dbchoice choice="ou">. That is, use + ou instead of or.

    +
+
+

FO

+ +
  • +

    Added content-type property to + external-graphic element, based on + imagedata format + attribute.

    +
  • +

    Added support for generating + <rx:meta-field creator="$VERSION"/> + field for XEP output. This makes the DocBook XSL + stylesheet version information available through the + Document Properties menu in Acrobat + Reader and other PDF viewers.

    +
  • +

    Trademark symbol handling made consistent with + handling of same in HTML stylesheets. Prior to this change, + if you processed a document that contained no value for the + class attribute on the + trademark element, the HTML stylesheets would + default to rendering a superscript TM + symbol after the trademark contents, + but the FO stylesheets would render nothing.

    +
  • +

    Added support for generating XEP bookmarks for + refentry.

    +
  • +

    Added support for HTML markup table border attribute, applied to each + table cell.

    +
  • +

    The table.width template can now + sum column specs if none use % or + *.

    +
  • +

    Added fox:destination extension + inside fox:outline to support linking to + internal destinations.

    +
  • +

    Added support for customizing + abstract with property sets. Controlled + with the abstract.properties and + abstract.title.properties + parameters.

    +
  • +

    Add footnotes in table title to + table footnote set, and add support for table footnotes to + HTML table markup.

    +
  • +

    Added support for title in + glosslist.

    +
  • +

    Added support for itemizedlist symbol + none.

    +
  • +

    Implemented the new + graphical.admonition.properties and + nongraphical.admonition.properties + attribute sets.

    +
  • +

    Added id to + formalpara and some other blocks that were + missing it.

    +
  • +

    Changed the anchor template to output + fo:inline instead of + fo:wrapper.

    +
  • +

    Added support for toc.max.depth + parameter.

    +
+
+ +

Help

+ +
  • +

    Eclipse Help: Added support for generating olink + database.

    +
+
+ +

HTML

+ +
+
+

man

+ +

This release closes out 44 manpages stylesheet bug reports + and feature requests. It adds more than 35 new configuration + parameters for controlling aspects of man-page output -- + including hyphenation and justification, handling of links, + conversion of Unicode characters, and contents of man-page + headers and footers.

+
  • +

    New options for globally disabling/enabling + hyphenation and justification: + man.justify and + man.hyphenate.

    +

    Note that the default + for the both of those is zero (off), because justified text + looks good only when it is also hyphenated; to quote the + Hyphenation node from the groff info page: +

    +

    Since the odds are not great for finding a + set of words, for every output line, which fit nicely on a + line without inserting excessive amounts of space between + words, `gtroff' hyphenates words so that it can justify + lines without inserting too much space between + words.

    +

    + The problem is that groff can end up hyphenating a lot of + things that you don't want hyphenated (variable names and + command names, for example). Keeping both justification and + hyphenation disabled ensures that hyphens won't get inserted + where you don't want to them, and you don't end up with + lines containing excessive amounts of space between + words. These default settings run counter to how most + existing man pages are formatted. But there are some notable + exceptions, such as the perl man pages.

    +
  • +

    Added parameters for controlling hyphenation of + computer inlines, filenames, and URLs. By default, even when + hyphenation is enabled (globally), hyphenation is now + suppressed for "computer inlines" (currently, just + classname, constant, envar, + errorcode, option, + replaceable, userinput, + type, and varname, and for + filenames, and for URLs from link. It + can be (re)enabled using the + man.hyphenate.computer.inlines, + man.hyphenate.filenames, and + man.hyphenate.urls parameters.

    +
  • +

    Implemented a new system for replacing Unicode + characters. There are two parts to the new system: a + string substitution map for doing + essential replacements, and a + character map that can optionally be disabled + and enabled.

    +

    The new system fixes all open bugs that had to do with + literal Unicode numbered entities such as &#8220; and + &#8221; showing up in output, and greatly expands the + ability of the stylesheets to generate good roff + equivalents for Unicode symbols and special + characters.

    +

    Here are some details...

    +

    The previous manpages mechanism for replacing Unicode + symbols and special characters with roff equivalents (the + replace-entities template) was not + scalable and not complete. The mechanism handled a somewhat + arbitrary selection of less than 20 or so Unicode + characters. But there are potentially more than + 800 Unicode special characters that + have some groff equivalent they can be mapped to. And there + are about 34 symbols in the Latin-1 (ISO-8859-1) block + alone. Users might reasonably expect that if they include + any of those Latin-1 characters in their DocBook source + documents, they will get correctly converted to known roff + equivalents in output.

    +

    In addition to those common symbols, certain users may + have a need to use symbols from other Unicode blocks. Say, + somebody who is documenting an application related to math + might need to use a bunch of symbols from the + Mathematical Operators Unicode block (there + are about 65 characters in that block that have reasonable + roff equivalents). Or somebody else might really like + Dingbats -- such as the checkmark character -- and so might + use a bunch of things from the Dingbat block + (141 characters in that that have roff equivalents or that + can at least be degraded somewhat gracefully + into roff).

    +

    So, the old replace-entities + mechanism was replaced with a completely different mechanism + that is based on use of two maps: a + substitution map and a character + map (the latter in a format compliant with the XSLT + 2.0 spec and therefore completely forward + compatible with XSLT 2.0).

    +

    The substitution map is controlled through the + man.string.subst.map parameter, and + is used to replace things like the backslash character + (which needs special handling to prevent it from being + interpreted as a roff escape). The substitution map cannot + be disabled, because disabling it will cause the output to + be broken. However, you can add to it and change it if + needed.

    + +

    The character map mechanism, on the + other hand, can be completely disabled. It is enabled by + default, and, by default, does replacement of all Latin-1 + symbols, along with most special spaces, dashes, and quotes + (about 75 characters by default). Also, you can optionally + enable a full character map that provides + support for converting all 800 or so of the characters that + have some reasonable groff equivalent.

    + +

    The character-map mechanism is controlled through the + following parameters: +

    man.charmap.enabled

    turns character-map support + on/off

    man.charmap.use.subset

    specifies that a subset of the character + map is used instead of the full map

    man.charmap.subset.profile

    specifies profile of character-map + subset

    man.charmap.uri

    specifies an alternate character map to + use instead of the standard character map + provided in the distribution

    +

    +
  • +

    Implemented out-of-line handling of display of URLs + for links (currently, only for ulink). This gives + you three choices for handling of links: +

    1. +

      Number and list links. Each link is numbered + inline, with a number in square brackets preceding the + link contents, and a numbered list of all links is added + to the end of the document.

      +
    2. +

      Only list links. Links are not numbered, but an + (unnumbered) list of links is added to the end of the + document.

      +
    3. +

      Suppress links. Don't number links and don't add + any list of links to the end of the document.

      +

    + You can also choose whether links should be underlined. The + default is the works -- list, number, and + underline links. You can use the + man.links.list.enabled, + man.links.are.numbered, and + man.links.are.underlined parameters + to change the defaults. The default heading for the link + list is REFERENCES. You can be change that using the + man.links.list.heading + parameter.

    +
  • +

    Changed default output encoding to UTF-8. This does not mean that man pages are output in + raw UTF-8, because the character map is applied + before final output, causing all UTF-8 characters covered in + the map to be converted to roff equivalents.

    +
  • +

    Added support for processing refsect3 and + formalpara and nested refsection + elements, down to any arbitrary level of nesting.

    +
  • +

    Output of the NAME and + SYNOPSIS and AUTHOR + headings and the headings for admonitions (note, + caution, etc.) are no longer hard-coded for + English. Instead, headings are generated for those in the + correct locale (just as the FO and HTML stylesheets + do).

    +
  • +

    Re-worked mechanism for assembling page + headers/footers (the contents of the .TH + macro title line).

    + +

    Here are some details...

    + +

    All man pages contain a .TH roff + macro whose contents are used for rendering the title + line displayed in the header and footer of each + page. Here are a couple of examples of real-world man pages + that have useful page headers/footers:

    +  gtk-options(7)    GTK+ User's Manual   gtk-options(7) <-- header
    +  GTK+ 1.2              2003-10-20       gtk-options(7) <-- footer
    +
    +  svgalib(7)       Svgalib User Manual       svgalib(7) <-- header
    +  Svgalib 1.4.1      16 December 1999        svgalib(7) <-- footer
    + +

    And here are the terms with which the + groff_man(7) man page refers to the + various parts of the header/footer:

    +  title(section)  extra3  title(section)  <- header
    +  extra2          extra1  title(section)  <- footer
    +

    Or, using the names with which the man(7) + man page refers to those same fields:

    +  title(section)  manual  title(section)  <- page header
    +  source          date    title(section)  <- page footer
    + +

    The easiest way to control the contents of those + fields is to mark up your refentry content like + the following (note that this is a minimal + example).

    +  <refentry>
    +    <info>
    +      <date>2003-10-20</date> 1
    +    </info>
    +    <refmeta>
    +      <refentrytitle>gtk-options</refentrytitle> 2
    +      <manvolnum>7</manvolnum> 3
    +      <refmiscinfo class="source-name">GTK+</refmiscinfo> 4
    +      <refmiscinfo class="version">1.2</refmiscinfo> 5
    +      <refmiscinfo class="manual">GTK+ User's Manual</refmiscinfo> 6
    +    </refmeta>
    +    <refnamediv>
    +      <refname>gtk-options</refname>
    +      <refpurpose>Standard Command Line Options for GTK+ Programs</refpurpose>
    +    </refnamediv>
    +    <refsect1>
    +      <title>Description</title>
    +      <para>This manual page describes the command line options, which
    +      are common to all GTK+ based applications.</para>
    +    </refsect1>
    +  </refentry>

    +

    1

    +

    Sets the date part of the header/footer.

    +

    2

    +

    Sets the title part.

    +

    3

    +

    Sets the section part.

    +

    4

    +

    Sets the source name part.

    +

    5

    +

    Sets the version part.

    +

    6

    +

    Sets the manual part.

    +

    +

    +

    Below are explanations of the steps the stylesheets + take to attempt to assemble and display + good headers and footer. [In the + descriptions, note that *info + is the refentry info child + (whatever its name), and + parentinfo is the + info child of its parent (again, whatever + its name).] +

    extra1 field (date)
    +

    Content of the extra1 field is + what shows up in the center + footer position of each page. The + man(7) man page describes it as + the date of the last revision.

    +

    To provide this content, if the + refentry.date.profile.enabled + is non-zero, the stylesheets check the value of + refentry.date.profile.

    +

    Otherwise, by default, they check for a + date or pubdate not only in the + *info contents, but also in + the parentinfo + contents.

    +

    If a date cannot be found, the stylesheets now + automatically generate a localized long + format date, ensuring that this field always + has content in output.

    +

    However, if for some reason you want to suppress + this field, you can do so by setting a non-zero value + for man.th.extra1.suppress.

    +
    extra2 field (source)
    +

    On Linux systems and on systems with a modern + groff, the content of the extra2 field + are what shows up in the left + footer position of each page.

    + +

    The man(7) man page describes + this as the source of the command, and + provides the following examples: +

    • +

      For binaries, use somwething like: GNU, + NET-2, SLS Distribution, MCC Distribution.

      +
    • +

      For system calls, use the version of the + kernel that you are currently looking at: Linux + 0.99.11.

      +
    • +

      For library calls, use the source of the + function: GNU, BSD 4.3, Linux DLL 4.4.1.

      +

    +

    + +

    In practice, there are many pages that simply + have a version number in the source + field. So, it looks like what we have is a two-part + field, + Name Version, + where: +

    Name
    +

    product name (e.g., BSD) or org. name + (e.g., GNU)

    +
    Version
    +

    version name

    +

    + Each part is optional. If the + Name is a product name, + then the Version is + probably the version of the product. Or there may be + no Name, in which case, if + there is a Version, it is + probably the version of the item itself, not the + product it is part of. Or, if the + Name is an organization + name, then there probably will be no + Version. +

    +

    To provide this content, if the + refentry.source.name.profile.enabled + and + refentry.version.profile.enabled + parameter are non-zero, the stylesheets check the + value of refentry.source.name.profile + refentry.version.profile.

    + +

    Otherwise, by default, they check the following + places, in the following order: +

    1. +
      *info/productnumber
      +
    2. +
      *info/productnumber
      +
    3. +
      refmeta/refmiscinfo[@class = 'version']
      +
    4. +
      parentinfo/productnumber
      +
    5. +
      *info/productname
      +
    6. +
      parentinfo/productname
      +
    7. +
      refmeta/refmiscinfo
      +
    8. +

      [nothing found, so leave it empty]

      +

    +

    +
    extra3 field
    +

    On Linux systems and on systems with a modern + groff, the content of the extra3 field + are what shows up in the center + header position of each page. Some man + pages have extra2 content, some + don't. If a particular man page has it, it is most + often context data about some larger + system the documented item belongs to (for example, + the name or description of a group of related + applications). The stylesheets now check the following + places, in the following order, to look for content to + add to the extra3 field.

    +
    1. +
      parentinfo/title
      +
    2. +
      parent's title
      +
    3. +
      refmeta/refmiscinfo
      +
    4. +

      [nothing found, so leave it empty]

      +
    +

    +

    +
  • +

    Reworked *info gathering. For + each refentry found, the stylesheets now cache its + *info content, then check for any + valid parent of it that might have metainfo content and cache + that, if found; they then then do all further matches against + those node-sets (rather than re-selecting the original + *info nodes each time they are + needed).

    +
  • +

    New option for breaking strings after forward + slashes. This enables long URLs and pathnames to be broken + across lines. Controlled through + man.break.after.slash parameter.

    +
  • +

    Output for servicemark and trademark are now + (SM) and (TM). There is + a groff "\(tm" escape, but output from that + is not acceptable.

    +
  • +

    New option for controlling the length of the title + part of the .TH title line. Controlled + through the man.th.title.max.length + parameter.

    +
  • +

    New option for specifying output encoding of each man + page; controlled with + man.output.encoding (similar to the + HTML chunker.output.encoding + parameter).

    +
  • +

    New option for suppressing filename messages when + generating output; controlled with + man.output.quietly (similar to the HTML + chunk.quietly parameter).

    +
  • +

    The text of cross-references to first-level + refentry (refsect1, top-level + refsection, refnamediv, and + refsynopsisdiv) are now capitalized.

    +
  • +

    Cross-references to refnamediv now use the + localized NAME title instead of using the + first refname child. This makes the output + inconsistent with HTML and FO output, but for man-page output, + it seems to make better sense to have the + NAME. (It may actually make better sense to + do it that way in HTML and FO output as well...)

    +
  • +

    Added support for processing funcparams.

    +
  • +

    Removed the space that was being output between + funcdef and paramdef; example: was: + float rand (void); now: + float rand(void)

    +
  • +

    Turned off bold formatting for the type + element when it occurs within a funcdef or + paramdef

    +
  • +

    Corrected rendering of simplelist. Any + <simplelist type="inline" instance + is now rendered as a comma-separated list (also with an + optional localized and or or before the last item -- see + description elsewhere in these release notes). Any simplelist + instance whose type is not + inline is rendered as a one-column vertical + list (ignoring the values of the type and columns attributes if present)

    +
  • +

    Comment added at top of roff source for each page now + includes DocBook XSL stylesheets version number (as in the + HTML stylesheets)

    +
  • +

    Made change to prevent sticky fonts + changes. Now, when the manpages stylesheets encounter node + sets that need to be boldfaced or italicized, they put the + \fBfoo\fR and \fIbar\fR + groff bold/italic instructions separately around each node in + the set.

    +
  • +

    synop.xsl: Boldface everything in + funcsynopsis output except parameters (which are in + ital). The man(7) man page says: +

    +

    For functions, the arguments are always specified + using italics, even in the SYNOPSIS section, where the rest + of the function is specified in bold.

    +

    + A look through the contents of the + man/man2 directory shows that most + (all) existing pages do follow this everything in + funcsynopsis bold rule. That means the + type content and any punctuation (parens, + semicolons, varargs) also must be bolded.

    +
  • +

    Removed code for adding backslashes before periods/dots + in roff source, because backslashes in front of periods/dots + in roff source are needed only in the very rare case where a + period is the very first character in a line, without any + space in front of it. A better way to deal with that rare case + is for you to add a zero-width space in front of the offending + dot(s) in your source

    +
  • +

    Removed special handling of the quote + element. That was hard-coded to cause anything marked up with + the quote element to be output preceded by two + backticks and followed by two apostrophes -- that is, that + old-school kludge for generating curly quotes in Emacs and + in X-Windows fonts. While Emacs still seems to support that, I + don't think X-Windows has for a long time now. And, anyway, it + looks (and has always looked) like crap when viewed on a + normal tty/console. In addition, it breaks localiztion of + quote. By default, quote content is + output with localized quotation marks, which, depending on the + locale, may or may not be left and right double quotation + marks.

    +
  • +

    Changed mappings for left and right single quotation + marks. Those had previously been incorrectly mapped to the + backtick (&#96;) and apostrophe (&39;) characters (for + kludgy reasons -- see above). They are now correctly mapped to + the \(oq and \(cq roff + escapes. If you want the old (broken) behavior, you need to + manually change the mappings for those in the value of the + man.string.subst.map parameter.

    +
  • +

    Removed xref.xsl file. Now, of the + various cross-reference elements, only the ulink + element is handled differently; the rest are handled exactly + as the HTML stylesheets handle them, except that no hypertext + links are generated. (Because there is no equivalent hypertext + mechanism is man pages.)

    +
  • +

    New option for making subheading dividers in generated + roff source. The dividers are not visible in the rendered man + page; they are just there to make the source + readable. Controlled using + man.subheading.divider.

    +
  • +

    Fixed many places where too much space was being added + between lines.

    +
+ +
+
+ + +

Release 1.68.1

+ +

The release adds localization support for Farsi (thanks to + Sina Heshmati) and improved support for the XLink-based DocBook NG + db:link element. Other than that, it is a minor + bug-fix update to the 1.68.0 release. The main thing it fixes is a + build error that caused the XSLT Java extensions to be jarred up + with the wrong package structure. Thanks to Jens Stavnstrup for + quickly reporting the problem, and to Mauritz Jeanson for + investigating and finding the cause.

+
+ + +

Release 1.68.0

+ +

This release includes some features changes, particularly + for FO/PDF output, and a number of bug fixes. +

FO

  • +

    Moved footnote properties to attribute-sets.

    +
  • +

    Added support for side floats, margin notes, and + custom floats.

    +
  • +

    Added new parameters + body.start.indent and + body.end.indent to the + set.flow.properties template.

    +
  • +

    Added support for xml:id

    +
  • +

    Added support for + refdescriptor.

    +
  • +

    Added support for multiple refnamedivs.

    +
  • +

    Added index.entry.properties + attribute-set to support customization of index + entries.

    +
  • +

    Added set.flow.properties + template call to each fo:flow + to support customizations entry point.

    +
  • +

    Add support for @floatstyle in + figure

    +
  • +

    Moved hardcoded properties for index division titles + to the index.div.title.properties + attribute-set.

    +
  • +

    Added support for + table-layout="auto" for XEP.

    +
  • +

    Added index.div.title.properties + attribute-set.

    +
  • +

    $verbose parameter is now + passed to most elements.

    +
  • +

    Added refentry to + toc in part, as it is + permitted by the DocBook schema/DTD.

    +
  • +

    Added backmatter elements and + article to toc in + part, since they are permitted by the + DocBook schema/DTD.

    +
  • +

    Added mode="toc" for + simplesect, since it is now permitted in + the toc if + simplesect.in.toc is set.

    +
  • +

    Moved hard-coded properties to + nongraphical.admonintion.properties + and graphical.admonition.properties + attribute sets.

    +
  • +

    Added support for sidebar-width and + float-type processing instructions in + sidebar.

    +
  • +

    For tables with HTML markup elements, added support + for dbfo bgcolor PI, the attribute-sets + named table.properties, + informaltable.properties, + table.table.properties, and + table.cell.padding. Also added + support for the templates named + table.cell.properties and + table.cell.block.properties so that + tabstyles can be implemented. Also added support for tables + containing only tr instead of + tbody with tr.

    +
  • +

    Added new paramater + hyphenate.verbatim.characters which + can specify characters after which a line break can occur in + verbatim environments. This parameter can be used to extend + the initial set of characters which contain only space and + non-breakable space.

    +
  • +

    Added itemizedlist.label.markup to enable + selection of different bullet symbol. Also added several + potential bullet characters, commented out by default.

    +
  • +

    Enabled all id's in XEP output for external olinking.

    +

+ +

HTML

+

Images

  • +

    Added new SVG admonition graphics and navigation images.

    +

+

+
+ + +

Release 1.67.2

+ +

This release fixes a table bug introduced in the 1.67.1 + release.

+
+

Release 1.67.1

+ +

This release includes a number of bug fixes.

+

The following lists provide details about API and feature changes. +

FO

  • +

    Tables: Inherited cell properties are now passed to the + table.cell.properties template so they can + be overridden by a customization.

    +
  • +

    Tables: Added support for bgcolor PI on table row + element.

    +
  • +

    TOCs: Added new parameter + simplesect.in.toc; default value of + 0 causes simplesect to be omitted from TOCs; to + cause simplesect to be included in TOCs, you + must set the value of simplesect.in.toc to + 1.Comment from Norm: + +

    +

    Simplesect elements aren't supposed to + appear in the ToC at all... The use case for simplesect + is when, for example, every chapter in a book ends with + "Exercises" or "For More Information" sections and you + don't want those to appear in the ToC.

    +

    +

    +
  • +

    Sections: Reverted change that caused a variable reference + to be used in a template match and rewrote code to preserve + intended semantics.

    +
  • +

    Lists: Added workaround to prevent "* 0.60 + 1em" garbage in + list output from PassiveTeX

    +
  • +

    Moved the literal attributes from + component.title to the + component.title.properties attribute-set so + they can be customized.

    +
  • +

    Lists: Added glossdef's first + para to special handling in + fo:list-item-body.

    +

+ +

HTML

+

HTML Help

  • +

    Added support for generating windows-1252-encoded + output using Saxon; for more details, see the list of XSL Java extensions changes for this release.

    +

+

man pages

  • +

    Replaced named/numeric character-entity references for + non-breaking space with groff equivalent (backslash-tilde).

    +

+

XSL Java extensions

  • +

    Saxon extensions: Added the + Windows1252 class. It extends Saxon + 6.5.x with the windows-1252 character set, which is + particularly useful when generating HTML Help for Western + European Languages (code from + Pontus Haglund and contributed to the + DocBook community by Sectra AB, Sweden).

    +

    To use: +

    1. +

      Make sure that the Saxon 6.5.x jar file and the jar file for + the DocBook XSL Java extensions are in your CLASSPATH

      +
    2. +

      Create a DocBook XSL customization layer -- a file named + mystylesheet.xsl or whatever -- that, at a + minimum, contains the following: +

        <xsl:stylesheet
      +    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
      +    version='1.0'>
      +    <xsl:import href="http://docbook.sourceforge.net/release/xsl/current/htmlhelp/htmlhelp.xsl"/>
      +    <xsl:output method="html" encoding="WINDOWS-1252" indent="no"/>
      +    <xsl:param name="htmlhelp.encoding" select="'WINDOWS-1252'"></xsl:param>
      +    <xsl:param name="chunker.output.encoding" select="'WINDOWS-1252'"></xsl:param>
      +    <xsl:param name="saxon.character.representation" select="'native'"></xsl:param>
      +  </xsl:stylesheet>

      +

      +

      Invoke Saxon with the + encoding.windows-1252 Java system property set + to com.nwalsh.saxon.Windows1252; for example +

        java \
      +    -Dencoding.windows-1252=com.nwalsh.saxon.Windows1252 \
      +  com.icl.saxon.StyleSheet \
      +  mydoc.xml mystylesheet.xsl

      + + Or, for a more complete "real world" case showing other + options you'll typically want to use: +

        java \
      +    -Dencoding.windows-1252=com.nwalsh.saxon.Windows1252 \
      +    -Djavax.xml.parsers.DocumentBuilderFactory=org.apache.xerces.jaxp.DocumentBuilderFactoryImpl \
      +    -Djavax.xml.parsers.SAXParserFactory=org.apache.xerces.jaxp.SAXParserFactoryImpl \
      +    -Djavax.xml.transform.TransformerFactory=com.icl.saxon.TransformerFactoryImpl \
      +  com.icl.saxon.StyleSheet \
      +    -x org.apache.xml.resolver.tools.ResolvingXMLReader \
      +    -y org.apache.xml.resolver.tools.ResolvingXMLReader \
      +    -r org.apache.xml.resolver.tools.CatalogResolver \
      +  mydoc.xml mystylesheet.xsl

      + + In both cases, the "mystylesheet.xsl" file should be a + DocBook customization layer containing the parameters + show in step 2.

      +

    +

    +
  • +

    Saxon extensions: Removed Saxon 8 extensions from release package

    +

+

+
+

Release 1.67.0

+ +
  • +

    A number of important bug fixes.

    +
  • +

    Added Saxon8 extensions

    +
  • +

    Enabled dbfo table-width on + entrytbl in FO output

    +
  • +

    Added support for role=strong on + emphasis in FO output

    +
  • +

    Added new FO parameter + hyphenate.verbatim that can be used to turn + on "intelligent" wrapping of verbatim environments.

    +
  • +

    Replaced all <tt></tt> output with + <code></code>

    +
  • +

    Changed admon.graphic.width template to a + mode so that different admonitions can have different graphical + widths.

    +
  • +

    Deprecated the HTML shade.verbatim + parameter (use CSS instead)

    +
  • +

    Wrapped ToC + refentrytitle/refname and + refpurpose in span with class values. This + makes it possible to style them using a CSS stylesheet.

    +
  • +

    Use strong/em instead of + b/i in HTML output

    +
  • +

    Added support for converting Emphasis to + groff italic and Emphasis role='bold' to + bold. Controlled by + emphasis.propagates.style param, but not + documented yet using litprog system. Will do that next (planning + to add some other parameter-controllable options for hyphenation + and handling of line spacing).

    +
  • +

    callout.graphics.number.limit.xml + param: Changed the default from 10 to + 15.

    +
  • +

    verbatim.properties: Added + hyphenate=false

    +
  • +

    Saxon and Xalan Text.java extensions: Added support for + URIResolver() on insertfile href's

    +
  • +

    Added generated RELEASE-NOTES.txt + file.

    +
  • +

    Added INSTALL file (executable file for + generating catalog.xml)

    +
  • +

    Removed obsolete tools directory from + package

    +
+
+

Release 1.66.1

+ +
  • +

    A number of important bug fixes. +

    +
  • +

    +Now xml:base attributes that are generated by an +XInclude processor are resolved for image files. +

    +
  • +

    +Rewrote olink templates to support several new features. +

    +
    +
  • +

    +Added index.on.type parameter for new type +attribute introduced in DocBook 4.3 for indexterms and index. +This allows you to create multiple indices containing +different categories of entries. +For users of 4.2 and earlier, you can use the new parameter index.on.role +instead. +

    +
  • +

    +Added new +section.autolabel.max.depth parameter to turn off section numbering +below a certain depth. +This permits you to number major section levels and leave minor +section levels unnumbered.

    +
  • +

    +Added footnote.sep.leader.properties attribute set to format +the line separating footnotes in printed output. +

    +
  • +

    +Added parameter img.src.path as a prefix to HTML img src +attributes. +The prefix is added to whatever path is already generated by the +stylesheet for each image file.

    +
  • +

    +Added new attribute-sets +informalequation.properties, +informalexample.properties, +informalfigure.properties, and informaltable.properties, +so each such element type can be formatted +individually if needed. +

    +
  • +

    +Add component.label.includes.part.label +parameter to add any part number to chapter, appendix +and other component labels when +the label.from.part parameter is nonzero. +This permits you to distinguish multiple chapters with the same +chapter number in cross references and the TOC.

    +
  • +

    +Added chunk.separate.lots parameter for HTML output. +This parameter lets you generate separate chunk files for each LOT +(list of tables, list of figures, etc.).

    +
  • +

    Added several table features:

    +
    • +

      +Added table.table.properties attribute set to add +properties to the fo:table element. +

      +
    • +

      +Added placeholder templates named table.cell.properties +and table.cell.block.properties to enable adding properties +to any fo:table-cell or the cell's fo:block, respectively. + These templates are a start for implementing table styles.

      +
    +
  • +

    +Added new attribute +set component.title.properties for easy modifications of +component's title formatting in FO output. +

    +
  • +

    +Added Saxon support for an encoding attribute on the textdata element. Added new parameter +textdata.default.encoding which specifies encoding when +encoding attribute on +textdata is missing. +

    +
  • +

    +Template label.this.section now controls whole +section label, not only sub-label which corresponds to +particular label. Former behaviour was IMHO bug as it was +not usable. +

    +
  • +

    +Formatting in titleabbrev for TOC and headers +is preserved when there are no hotlink elements in the title. Formerly the title showed only the text of the title, no font changes or other markup. +

    +
  • +

    +Added intial.page.number template to set the initial-page-number +property for page sequences in print output. +Customizing this template lets you change when page numbering restarts. This is similar to the format.page.number template that lets you change how the page number formatting changes in the output. +

    +
  • +

    +Added force.page.count template to set the force-page-count +property for page sequences in print output. +This is similar to the format.page.number template. +

    +
  • +

    +Sort language for localized index sorting in autoidx-ng.xsl is now taken from document +lang, not from system environment. +

    +
  • +

    +Numbering and formatting of normal +and ulink footnotes (if turned on) has been unified. +Now ulink footnotes are mixed in with any other footnotes.

    +
  • +

    +Added support for renderas attribute in section and +sect1 et al. +This permits you to render a given section title as if it were a different level.

    +
  • +

    +Added support for label attribute in footnote to manually +supply the footnote mark. +

    +
  • +

    +Added support for DocBook 4.3 corpcredit element. +

    +
  • +

    +Added support for a dbfo keep-together PI for +formal objects (table, figure, example, equation, programlisting). That permits a formal object to be kept together if it is not already, or to be broken if it +is very long and the +default keep-together is not appropriate. +

    +
  • +

    +For graphics files, made file extension matching case +insensitive, and updated the list of graphics extensions. +

    +
  • +

    +Allow calloutlist to have block content before +the first callout +

    +
  • +

    +Added dbfo-need processing instruction to provide +soft page breaks. +

    +
  • +

    +Added implementation of existing but unused +default.image.width parameter for graphics. +

    +
  • +

    +Support DocBook NG tag inline element. +

    +
  • +

    +It appears that XEP now supports Unicode characters in +bookmarks. There is no further need to strip accents from +characters. +

    +
  • +

    +Make segmentedlist HTML markup +more semantic and available to CSS styles. +

    +
  • +

    +Added user.preroot placeholder template to +permit xsl-stylesheet and other PIs and comments to be +output before the HTML root element. +

    +
  • +

    +Non-chunked legalnotice now gets an <a +name="id"> element in HTML output +so it can be referenced with xref or link. +

    +
  • +

    +In chunked HTML output, changed link rel="home" to rel="start", +and link rel="previous" to rel="prev", per W3C HTML 4.01 +spec. +

    +
  • +

    +Added several patches to htmlhelp from W. Borgert +

    +
  • +

    +Added Bosnian locale file as common/bs.xml. +

    +
+
+

Release 1.65.0

+ +
  • +

    A number of important bug fixes. +

    +
  • +

    Added a workaround to allow these stylesheets to process DocBook NG +documents. (It’s a hack that pre-processes the document to strip off the +namespace and then uses exsl:node-set to process +the result.) +

    +
  • +

    Added alternative indexing mechanism which has better +internationalization support. New indexing method allows grouping of +accented letters like e, é, ë into the same group under letter "e". It +can also treat special letters (e.g. "ch") as one character and place +them in the correct position (e.g. between "h" and "i" in Czech +language).

    +

    In order to use this mechanism you must create customization +layer which imports some base stylesheet (like +fo/docbook.xsl, +html/chunk.xsl) and then includes appropriate +stylesheet with new indexing code +(fo/autoidx-ng.xsl or +html/autoidx-ng.xsl). For example:

    +
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    +                version="1.0">
    +
    +<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/fo/docbook.xsl"/>
    +<xsl:include href="http://docbook.sourceforge.net/release/xsl/current/fo/autoidx-ng.xsl"/>
    +
    +</xsl:stylesheet>
    +

    New method is known to work with Saxon and it should also work +with xsltproc 1.1.1 and later. Currently supported languages are +English, Czech, German, French, Spanish and Danish.

    +
+
+

Release 1.64.1

+ +

General bug fixes and improvements. Sorry about the failure to produce +an updated release notes file for 1.62.0—1.63.2

  • +

    In the course of fixing bug #849787, wrapping Unicode callouts +with an appropriate font change in the Xalan extensions, I discovered +that the Xalan APIs have changed a bit. So xalan2.jar +will work with older Xalan 2 implementations, xalan25.jar +works with Xalan 2.5.

    +
+
+

Release 1.61.0

+ +

Lots of bug fixes and improvements.

  • +

    Initial support for timestamp PI. From now you + can use <?dbtimestamp format="Y-m-d H:M:S"?> to get current + datetime in your document. Added localization support for datetime PI +

    +
  • +

    Added level 6 to test for section depth in +section.level template so that +section.title.level6.properties will be used for sections +that are 6 deep or deeper. This should also cause a h6 to be +created in html output. +

    +
  • +

    Don't use SVG graphics if use.svg=0 +

    +
  • +

    Now uses number-and-title-template for sections + only if section.autolabel is not zero. +

    +
  • +

    Added missing 'english-language-name' attribute to +the l10n element, and the missing 'style' attribute to the +template element so the current gentext documents will +validate. +

    +
  • +

    Corrected several references to parameter + qanda.defaultlabel that were missing the "$". +

    +
  • +

    Now accepts admon.textlabel parameter to turn off + Note, Warning, etc. label. +

    +
  • +

    FeatReq #684561: support more XEP metadata +

    +
  • +

    Added hyphenation support. Added support for coref. +Added beginpage support. (does nothing; see TDG). +

    +
  • +

    Added support for +hyphenation-character, hyphenation-push-character-count, and +hyphenation-remain-character-count +

    +
  • +

    Added root.properties, +ebnf.assignment, +and ebnf.statement.terminator +

    +
  • +

    Support bgcolor PI in table cells; make sure +rowsep and colsep don't have any effect on the last row or +column +

    +
  • +

    Handle othercredit on titlepage a little +better +

    +
  • +

    Applied fix from Jeff Beal that fixed the bug +that put secondary page numbers on primary entries. Same +with tertiary page numbers on secondary entries. +

    +
  • +

    Added definition of missing variable +collection. +

    +
  • +

    Make footnote formatting 'normal' even when it +occurs in a context that has special formatting +

    +
  • +

    Added warning when glossary.collection is not +blank, but it cannot open the specified file. +

    +
  • +

    Pick up the frame attribute on table and +informaltable. +

    +
  • +

    indexdiv/title +in non-autogenerated indexes are +now picked up. +

    +
  • +

    Removed (unused) +component.title.properties +

    +
  • +

    Move IDs from +page-sequences down to titlepage blocks +

    +
  • +

    Use +proportional-column-width(1) on more tables. +

    +

    Use proportional-column-width() for +header/footer tables; suppress relative-align when when +using FOP +

    +
  • +

    Check for glossterm.auto.link when linking +firstterms; don't output gl. prefix on glossterm links +

    +
  • +

    Generate Part ToCs +

    +
  • +

    Support glossary, bibliography, +and index in component ToCs. +

    +
  • +

    Refactored chunking code so that +customization of chunk algorithm and chunk elements is more +practical +

    +
  • +

    Support textobject/phrase +on inlinemediaobject. +

    +
  • +

    Support 'start' PI on ordered lists +

    +
  • +

    Fixed test of $toc PI to turn on qandaset TOC. +

    +
  • +

    Added process.chunk.footnotes to sect2 through +5 to fix bug of missing footnotes when chunk level greater +than 1. +

    +
  • +

    Added +paramater toc.max.depth which controls maximal depth of ToC +as requested by PHP-DOC group. +

    +
  • +

    Exempted titleabbrev from preamble processing in +lists, and fixed variablelist preamble code to use the same +syntax as the other lists. +

    +
  • +

    Added support for elements between variablelist +and first varlistentry since DocBook 4.2 supports that now. +

    +
+
+

Release 1.60.1

+ +

Lots of bug fixes.

  • +

    The format of the titlepage.templates.xml files and +the stylesheet that transforms them have been significantly changed. All of the +attributes used to control the templates are now namespace qualified. So what +used to be:

    +
    <t:titlepage element="article" wrapper="fo:block">
    +

    is now:

    +
    <t:titlepage t:element="article" t:wrapper="fo:block">
    +

    Attributes from other namespaces (including those that are unqualified) are +now copied directly through. In practice, this means that the names that used +to be fo: qualified:

    +
    <title named-template="component.title"
    +       param:node="ancestor-or-self::article[1]"
    +       fo:text-align="center"
    +       fo:keep-with-next="always"
    +       fo:font-size="&hsize5;"
    +       fo:font-weight="bold"
    +       fo:font-family="{$title.font.family}"/>
    +

    are now unqualified:

    +
    <title t:named-template="component.title"
    +       param:node="ancestor-or-self::article[1]"
    +       text-align="center"
    +       keep-with-next="always"
    +       font-size="&hsize5;"
    +       font-weight="bold"
    +       font-family="{$title.font.family}"/>
    +

    The t:titlepage and t:titlepage-content +elements both generate wrappers now. And unqualified attributes on those elements +are passed through. This means that you can now make the title font apply to +ane entire titlepage and make the entire recto +titlepage centered by specifying the font and alignment on the those elements:

    +
    <t:titlepage t:element="article" t:wrapper="fo:block"
    +             font-family="{$title.font.family}">
    +
    +  <t:titlepage-content t:side="recto"
    +             text-align="center">
    + + + + + +
  • +

    Support use of titleabbrev in running +headers and footers. +

    +
  • +

    Added (experimental) xref.with.number.and.title +parameter to enable number/title cross references even when the +default would +be just the number. +

    +
  • +

    Generate part ToCs if they're requested. +

    +
  • +

    Use proportional-column-width() in header/footer tables. +

    +
  • +

    Handle alignment correctly when screenshot +wraps a graphic in a figure. +

    +
  • +

    Format chapter and appendix +cross references consistently. +

    +
  • +

    Attempt to support tables with multiple tgroups +in FO. +

    +
  • +

    Output fo:table-columns in +simplelist tables. +

    +
  • +

    Use titlepage.templates.xml for +indexdiv and glossdiv formatting. +

    +
  • +

    Improve support for new bibliography elements. +

    +
  • +

    Added +footnote.number.format, +table.footnote.number.format, +footnote.number.symbols, and +table.footnote.number.symbols for better control of +footnote markers. +

    +
  • +

    Added glossentry.show.acronyms. +

    +
  • +

    Suppress the draft-mode page masters when +draft-mode is no. +

    +
  • +

    Make blank pages verso not recto. D'Oh! +

    +
  • +

    Improved formatting of ulink footnotes. +

    +
  • +

    Fixed bugs in graphic width/height calculations. +

    +
  • +

    Added class attributes to inline elements. +

    +
  • +

    Don't add .html to the filenames identified +with the dbhtml PI. +

    +
  • +

    Don't force a ToC when sections contain refentrys. +

    +
  • +

    Make section title sizes a function of the +body.master.size. +

    +
+
+

Release 1.59.2

+ +

The 1.59.2 fixes an FO bug in the page masters that causes FOP to fail. +

  • +

    Removed the region-name from the region-body of blank pages. There's +no reason to give the body of blank pages a unique name and doing so causes +a mismatch that FOP detects. +

    +
  • +

    Output IDs for the first paragraphs in listitems. +

    +
  • +

    Fixed some small bugs in the handling of page numbers in double-sided mode. +

    +
  • +

    Attempt to prevent duplicated IDs from being produced when +endterm on xref points +to something with nested structure. +

    +
  • +

    Fix aligment problems in equations. +

    +
  • +

    Output the type attribute on unordered lists (UL) in HTML only if +the css.decoration parameter is true. +

    +
  • +

    Calculate the font size in formal.title.properties so that it's 1.2 times +the base font size, not a fixed "12pt". +

    +
+
+

Release 1.59.1

+ +

The 1.59.1 fixes a few bugs. +

  • +

    Added Bulgarian localization. +

    +
  • +

    Indexing improvements; localize book indexes to books but allow setindex +to index an entire set. +

    +
  • +

    The default value for rowsep and colsep is now "1" as per CALS. +

    +
  • +

    Added support for titleabbrev (use them for cross +references). +

    +
  • +

    Improvements to mediaobject for selecting print vs. online +images. +

    +
  • +

    Added seperate property sets for figures, +examples, equations, tabless, +and procedures. +

    +
  • +

    Make lineannotations italic. +

    +
  • +

    Support xrefstyle attribute. +

    +
  • +

    Make endterm on +xref higher priority than +xreflabel target. +

    +
  • +

    Glossary formatting improvements. +

    +
+
+

Release 1.58.0

+ +

The 1.58.0 adds some initial support for extensions in xsltproc, adds +a few features, and fixes bugs. +

  • +

    This release contains the first attempt at extension support for xsltproc. +The only extension available to date is the one that adjusts table column widths. +Run extensions/xsltproc/python/xslt.py. +

    +
  • +

    Fixed bugs in calculation of adjusted column widths to correct for rounding +errors. +

    +
  • +

    Support nested refsection elements correctly. +

    +
  • +

    Reworked gentext.template to take context into consideration. +The name of elements in localization files is now an xpath-like context list, not +just a simple name. +

    +
  • +

    Made some improvements to bibliography formatting. +

    +
  • +

    Improved graphical formatting of admonitions. +

    +
  • +

    Added support for entrytbl. +

    +
  • +

    Support spanning index terms. +

    +
  • +

    Support bibliosource. +

    +
+
+

Release 1.57.0

+ +
  • +

    The 1.57.0 release wasn't documented here. Oops. +

    +
+
+

Release 1.56.0

+ +

The 1.56.0 release fixes bugs. +

  • +

    Reworked chunking. This will break all existing customizations +layers that change the chunking algorithm. If you're customizing chunking, +look at the new content parameter that's passed to +process-chunk-element and friends. +

    +
  • +

    Support continued and inherited numeration in orderedlist +formatting for FOs. +

    +
  • +

    Added Thai localization. +

    +
  • +

    Tweaked stylesheet documentation stylesheets to link to TDG and +the parameter references. +

    +
  • +

    Allow title on tables of contents ("Table of Contents") to be optional. +Added new keyword to generate.toc. +Support tables of contents on sections. +

    +
  • +

    Made separate parameters for table borders and table cell borders: +table.frame.border.color, +table.frame.border.style, +table.frame.border.thickness, +table.cell.border.color, +table.cell.border.style, and +table.cell.border.thickness. +

    +
  • +

    Suppress formatting of endofrange indexterms. +This is only half-right. They should generate a range, but I haven't figured out how +to do that yet. +

    +
  • +

    Support revdescription. (Bug #582192) +

    +
  • +

    Added default.float.class and fixed figure +floats. (Bug #497603) +

    +
  • +

    Fixed formatting of sbr in FOs. +

    +
  • +

    Added context to the missing template error message. +

    +
  • +

    Process arg correctly in a group. +(Bug #605150) +

    +
  • +

    Removed 'keep-with-next' from formal.title.properties +attribute set now that the stylesheets support the option of putting +such titles below the object. Now the $placement value determines if +'keep-with-next' or 'keep-with-previous' is used in the title block. +

    +
  • +

    Wrap url() around external-destinations when appropriate. +

    +
  • +

    Fixed typo in compact list spacing. (Bug #615464) +

    +
  • +

    Removed spurious hash in anchor name. (Bug #617717) +

    +
  • +

    Address is now displayed verbatim on title pages. (Bug #618600) +

    +
  • +

    The bridgehead.in.toc parameter is now properly +supported. +

    +
  • +

    Improved effectiveness of HTML cleanup by increasing the number +of places where it is used. Improve use of HTML cleanup in XHTML stylesheets. +

    +
  • +

    Support table of contents for appendix in +article. (Bug #596599) +

    +
  • +

    Don't duplicate footnotes in bibliographys and +glossarys. (Bug #583282) +

    +
  • +

    Added default.image.width. (Bug #516859) +

    +
  • +

    Totally reworked funcsynopsis code; it now +supports a 'tabular' presentation style for 'wide' prototypes; see +funcsynopsis.tabular.threshold. (HTML only +right now, I think, FO support, uh, real soon now.) +

    +
  • +

    Reworked support for difference marking; toned down the colors a bit +and added a system.head.content template so that the diff CSS +wasn't overriding user.head.content. (Bug #610660) +

    +
  • +

    Added call to the *.head.content elements when writing +out long description chunks. +

    +
  • +

    Make sure legalnotice link is correct even when +chunking to a different base.dir. +

    +
  • +

    Use CSS to set viewport characteristics if +css.decoration is non-zero, use div instead of p for making +graphic a block element; make figure titles the +default alt +text for images in a figure.

    +
  • +

    Added space-after to list.block.spacing. +

    +
  • +

    Reworked section.level template to give correct answer +instead of being off by one. +

    +
  • +

    When processing tables, use the tabstyle +attribute as the division class. +

    +
  • +

    Fixed bug in html2xhtml.xsl that was causing the +XHTML chunker to output HTML instead of XHTML. +

    +
+
+

Older releases

+ +

To view the release notes for older releases, see http://cvs.sourceforge.net/viewcvs.py/docbook/xsl/RELEASE-NOTES.xml. Be + aware that there were no release notes for releases prior to the + 1.50.0 release.

+
+

About dot-zero releases

+ +

DocBook Project “dot zero” releases should be + considered experimental and are always + followed by stable “dot one plus” releases, usually within + two or three weeks. Please help to ensure the stability of + “dot one plus” releases by carefully testing each + “dot zero” release and reporting back about any + problems you find.

+

It is not recommended that you use a “dot zero” + release in a production system. Instead, you should wait for + the “dot one” or greater versions.

+
+
+ diff --git a/doc/help/xslt/RELEASE-NOTES.pdf b/doc/help/xslt/RELEASE-NOTES.pdf new file mode 100644 index 00000000..83b9d9c3 --- /dev/null +++ b/doc/help/xslt/RELEASE-NOTES.pdf @@ -0,0 +1,24334 @@ +%PDF-1.4 +%ÐÔÅØ +1 0 obj +<< /S /GoTo /D (section.1) >> +endobj +4 0 obj +(Release Notes: 1.76.1) +endobj +5 0 obj +<< /S /GoTo /D (subsection.1.1) >> +endobj +8 0 obj +(Common) +endobj +9 0 obj +<< /S /GoTo /D (subsection.1.2) >> +endobj +12 0 obj +(FO) +endobj +13 0 obj +<< /S /GoTo /D (subsection.1.3) >> +endobj +16 0 obj +(HTML) +endobj +17 0 obj +<< /S /GoTo /D (subsection.1.4) >> +endobj +20 0 obj +(Epub) +endobj +21 0 obj +<< /S /GoTo /D (subsection.1.5) >> +endobj +24 0 obj +(Webhelp) +endobj +25 0 obj +<< /S /GoTo /D (subsection.1.6) >> +endobj +28 0 obj +(Params) +endobj +29 0 obj +<< /S /GoTo /D (subsection.1.7) >> +endobj +32 0 obj +(Extensions) +endobj +33 0 obj +<< /S /GoTo /D (section.2) >> +endobj +36 0 obj +(Release Notes: 1.76.1) +endobj +37 0 obj +<< /S /GoTo /D (subsection.2.1) >> +endobj +40 0 obj +(FO) +endobj +41 0 obj +<< /S /GoTo /D (subsection.2.2) >> +endobj +44 0 obj +(HTML) +endobj +45 0 obj +<< /S /GoTo /D (subsection.2.3) >> +endobj +48 0 obj +(Params) +endobj +49 0 obj +<< /S /GoTo /D (section.3) >> +endobj +52 0 obj +(Release Notes: 1.76.0) +endobj +53 0 obj +<< /S /GoTo /D (subsection.3.1) >> +endobj +56 0 obj +(Gentext) +endobj +57 0 obj +<< /S /GoTo /D (subsection.3.2) >> +endobj +60 0 obj +(Common) +endobj +61 0 obj +<< /S /GoTo /D (subsection.3.3) >> +endobj +64 0 obj +(FO) +endobj +65 0 obj +<< /S /GoTo /D (subsection.3.4) >> +endobj +68 0 obj +(HTML) +endobj +69 0 obj +<< /S /GoTo /D (subsection.3.5) >> +endobj +72 0 obj +(Manpages) +endobj +73 0 obj +<< /S /GoTo /D (subsection.3.6) >> +endobj +76 0 obj +(Epub) +endobj +77 0 obj +<< /S /GoTo /D (subsection.3.7) >> +endobj +80 0 obj +(Eclipse) +endobj +81 0 obj +<< /S /GoTo /D (subsection.3.8) >> +endobj +84 0 obj +(Params) +endobj +85 0 obj +<< /S /GoTo /D (subsection.3.9) >> +endobj +88 0 obj +(XSL-Xalan) +endobj +89 0 obj +<< /S /GoTo /D (section.4) >> +endobj +92 0 obj +(Release Notes: 1.75.2) +endobj +93 0 obj +<< /S /GoTo /D (subsection.4.1) >> +endobj +96 0 obj +(Gentext) +endobj +97 0 obj +<< /S /GoTo /D (subsection.4.2) >> +endobj +100 0 obj +(Common) +endobj +101 0 obj +<< /S /GoTo /D (subsection.4.3) >> +endobj +104 0 obj +(FO) +endobj +105 0 obj +<< /S /GoTo /D (subsection.4.4) >> +endobj +108 0 obj +(HTML) +endobj +109 0 obj +<< /S /GoTo /D (subsection.4.5) >> +endobj +112 0 obj +(Manpages) +endobj +113 0 obj +<< /S /GoTo /D (subsection.4.6) >> +endobj +116 0 obj +(Epub) +endobj +117 0 obj +<< /S /GoTo /D (subsection.4.7) >> +endobj +120 0 obj +(Profiling) +endobj +121 0 obj +<< /S /GoTo /D (subsection.4.8) >> +endobj +124 0 obj +(XSL-Saxon) +endobj +125 0 obj +<< /S /GoTo /D (subsection.4.9) >> +endobj +128 0 obj +(XSL-Xalan) +endobj +129 0 obj +<< /S /GoTo /D (section.5) >> +endobj +132 0 obj +(Release Notes: 1.75.1) +endobj +133 0 obj +<< /S /GoTo /D (subsection.5.1) >> +endobj +136 0 obj +(FO) +endobj +137 0 obj +<< /S /GoTo /D (subsection.5.2) >> +endobj +140 0 obj +(HTML) +endobj +141 0 obj +<< /S /GoTo /D (subsection.5.3) >> +endobj +144 0 obj +(Epub) +endobj +145 0 obj +<< /S /GoTo /D (subsection.5.4) >> +endobj +148 0 obj +(Params) +endobj +149 0 obj +<< /S /GoTo /D (section.6) >> +endobj +152 0 obj +(Release Notes: 1.75.0) +endobj +153 0 obj +<< /S /GoTo /D (subsection.6.1) >> +endobj +156 0 obj +(Gentext) +endobj +157 0 obj +<< /S /GoTo /D (subsection.6.2) >> +endobj +160 0 obj +(Common) +endobj +161 0 obj +<< /S /GoTo /D (subsection.6.3) >> +endobj +164 0 obj +(FO) +endobj +165 0 obj +<< /S /GoTo /D (subsection.6.4) >> +endobj +168 0 obj +(HTML) +endobj +169 0 obj +<< /S /GoTo /D (subsection.6.5) >> +endobj +172 0 obj +(Manpages) +endobj +173 0 obj +<< /S /GoTo /D (subsection.6.6) >> +endobj +176 0 obj +(ePub) +endobj +177 0 obj +<< /S /GoTo /D (subsection.6.7) >> +endobj +180 0 obj +(HTMLHelp) +endobj +181 0 obj +<< /S /GoTo /D (subsection.6.8) >> +endobj +184 0 obj +(Params) +endobj +185 0 obj +<< /S /GoTo /D (subsection.6.9) >> +endobj +188 0 obj +(Highlighting) +endobj +189 0 obj +<< /S /GoTo /D (subsection.6.10) >> +endobj +192 0 obj +(XSL-Saxon) +endobj +193 0 obj +<< /S /GoTo /D (subsection.6.11) >> +endobj +196 0 obj +(XSL-Xalan) +endobj +197 0 obj +<< /S /GoTo /D (section.7) >> +endobj +200 0 obj +(Release Notes: 1.74.3) +endobj +201 0 obj +<< /S /GoTo /D (section.8) >> +endobj +204 0 obj +(Release Notes: 1.74.2) +endobj +205 0 obj +<< /S /GoTo /D (section.9) >> +endobj +208 0 obj +(Release Notes: 1.74.1) +endobj +209 0 obj +<< /S /GoTo /D (subsection.9.1) >> +endobj +212 0 obj +(Gentext) +endobj +213 0 obj +<< /S /GoTo /D (subsection.9.2) >> +endobj +216 0 obj +(FO) +endobj +217 0 obj +<< /S /GoTo /D (subsection.9.3) >> +endobj +220 0 obj +(HTML) +endobj +221 0 obj +<< /S /GoTo /D (subsection.9.4) >> +endobj +224 0 obj +(Manpages) +endobj +225 0 obj +<< /S /GoTo /D (subsection.9.5) >> +endobj +228 0 obj +(ePub) +endobj +229 0 obj +<< /S /GoTo /D (subsection.9.6) >> +endobj +232 0 obj +(Roundtrip) +endobj +233 0 obj +<< /S /GoTo /D (subsection.9.7) >> +endobj +236 0 obj +(Params) +endobj +237 0 obj +<< /S /GoTo /D (subsection.9.8) >> +endobj +240 0 obj +(Highlighting) +endobj +241 0 obj +<< /S /GoTo /D (section.10) >> +endobj +244 0 obj +(Release Notes: 1.74.0) +endobj +245 0 obj +<< /S /GoTo /D (subsection.10.1) >> +endobj +248 0 obj +(Gentext) +endobj +249 0 obj +<< /S /GoTo /D (subsection.10.2) >> +endobj +252 0 obj +(Common) +endobj +253 0 obj +<< /S /GoTo /D (subsection.10.3) >> +endobj +256 0 obj +(FO) +endobj +257 0 obj +<< /S /GoTo /D (subsection.10.4) >> +endobj +260 0 obj +(HTML) +endobj +261 0 obj +<< /S /GoTo /D (subsection.10.5) >> +endobj +264 0 obj +(Manpages) +endobj +265 0 obj +<< /S /GoTo /D (subsection.10.6) >> +endobj +268 0 obj +(Epub) +endobj +269 0 obj +<< /S /GoTo /D (subsection.10.7) >> +endobj +272 0 obj +(HTMLHelp) +endobj +273 0 obj +<< /S /GoTo /D (subsection.10.8) >> +endobj +276 0 obj +(Eclipse) +endobj +277 0 obj +<< /S /GoTo /D (subsection.10.9) >> +endobj +280 0 obj +(JavaHelp) +endobj +281 0 obj +<< /S /GoTo /D (subsection.10.10) >> +endobj +284 0 obj +(Roundtrip) +endobj +285 0 obj +<< /S /GoTo /D (subsection.10.11) >> +endobj +288 0 obj +(Slides) +endobj +289 0 obj +<< /S /GoTo /D (subsection.10.12) >> +endobj +292 0 obj +(Website) +endobj +293 0 obj +<< /S /GoTo /D (subsection.10.13) >> +endobj +296 0 obj +(Params) +endobj +297 0 obj +<< /S /GoTo /D (subsection.10.14) >> +endobj +300 0 obj +(Profiling) +endobj +301 0 obj +<< /S /GoTo /D (subsection.10.15) >> +endobj +304 0 obj +(Tools) +endobj +305 0 obj +<< /S /GoTo /D (subsection.10.16) >> +endobj +308 0 obj +(Extensions) +endobj +309 0 obj +<< /S /GoTo /D (subsection.10.17) >> +endobj +312 0 obj +(XSL-Saxon) +endobj +313 0 obj +<< /S /GoTo /D (subsection.10.18) >> +endobj +316 0 obj +(XSL-Xalan) +endobj +317 0 obj +<< /S /GoTo /D (subsection.10.19) >> +endobj +320 0 obj +(XSL-libxslt) +endobj +321 0 obj +<< /S /GoTo /D (section.11) >> +endobj +324 0 obj +(Release Notes: 1.73.2) +endobj +325 0 obj +<< /S /GoTo /D (section.12) >> +endobj +328 0 obj +(Release: 1.73.1) +endobj +329 0 obj +<< /S /GoTo /D (subsection.12.1) >> +endobj +332 0 obj +(Gentext) +endobj +333 0 obj +<< /S /GoTo /D (subsection.12.2) >> +endobj +336 0 obj +(FO) +endobj +337 0 obj +<< /S /GoTo /D (subsection.12.3) >> +endobj +340 0 obj +(HTML) +endobj +341 0 obj +<< /S /GoTo /D (subsection.12.4) >> +endobj +344 0 obj +(Manpages) +endobj +345 0 obj +<< /S /GoTo /D (subsection.12.5) >> +endobj +348 0 obj +(HTMLHelp) +endobj +349 0 obj +<< /S /GoTo /D (subsection.12.6) >> +endobj +352 0 obj +(Eclipse) +endobj +353 0 obj +<< /S /GoTo /D (subsection.12.7) >> +endobj +356 0 obj +(JavaHelp) +endobj +357 0 obj +<< /S /GoTo /D (subsection.12.8) >> +endobj +360 0 obj +(Roundtrip) +endobj +361 0 obj +<< /S /GoTo /D (subsection.12.9) >> +endobj +364 0 obj +(Params) +endobj +365 0 obj +<< /S /GoTo /D (section.13) >> +endobj +368 0 obj +(Release: 1.73.0) +endobj +369 0 obj +<< /S /GoTo /D (subsection.13.1) >> +endobj +372 0 obj +(Gentext) +endobj +373 0 obj +<< /S /GoTo /D (subsection.13.2) >> +endobj +376 0 obj +(Common) +endobj +377 0 obj +<< /S /GoTo /D (subsection.13.3) >> +endobj +380 0 obj +(FO) +endobj +381 0 obj +<< /S /GoTo /D (subsection.13.4) >> +endobj +384 0 obj +(HTML) +endobj +385 0 obj +<< /S /GoTo /D (subsection.13.5) >> +endobj +388 0 obj +(Manpages) +endobj +389 0 obj +<< /S /GoTo /D (subsection.13.6) >> +endobj +392 0 obj +(Eclipse) +endobj +393 0 obj +<< /S /GoTo /D (subsection.13.7) >> +endobj +396 0 obj +(JavaHelp) +endobj +397 0 obj +<< /S /GoTo /D (subsection.13.8) >> +endobj +400 0 obj +(Roundtrip) +endobj +401 0 obj +<< /S /GoTo /D (subsection.13.9) >> +endobj +404 0 obj +(Params) +endobj +405 0 obj +<< /S /GoTo /D (subsection.13.10) >> +endobj +408 0 obj +(Highlighting) +endobj +409 0 obj +<< /S /GoTo /D (subsection.13.11) >> +endobj +412 0 obj +(Profiling) +endobj +413 0 obj +<< /S /GoTo /D (subsection.13.12) >> +endobj +416 0 obj +(Lib) +endobj +417 0 obj +<< /S /GoTo /D (subsection.13.13) >> +endobj +420 0 obj +(Tools) +endobj +421 0 obj +<< /S /GoTo /D (subsection.13.14) >> +endobj +424 0 obj +(XSL-Saxon) +endobj +425 0 obj +<< /S /GoTo /D (subsection.13.15) >> +endobj +428 0 obj +(XSL-Xalan) +endobj +429 0 obj +<< /S /GoTo /D (section.14) >> +endobj +432 0 obj +(Release: 1.72.0) +endobj +433 0 obj +<< /S /GoTo /D (subsection.14.1) >> +endobj +436 0 obj +(Common) +endobj +437 0 obj +<< /S /GoTo /D (subsection.14.2) >> +endobj +440 0 obj +(FO) +endobj +441 0 obj +<< /S /GoTo /D (subsection.14.3) >> +endobj +444 0 obj +(HTML) +endobj +445 0 obj +<< /S /GoTo /D (subsection.14.4) >> +endobj +448 0 obj +(Manpages) +endobj +449 0 obj +<< /S /GoTo /D (subsection.14.5) >> +endobj +452 0 obj +(Params) +endobj +453 0 obj +<< /S /GoTo /D (subsection.14.6) >> +endobj +456 0 obj +(Template) +endobj +457 0 obj +<< /S /GoTo /D (subsection.14.7) >> +endobj +460 0 obj +(Roundtrip) +endobj +461 0 obj +<< /S /GoTo /D (section.15) >> +endobj +464 0 obj +(Release: 1.71.1) +endobj +465 0 obj +<< /S /GoTo /D (subsection.15.1) >> +endobj +468 0 obj +(Common) +endobj +469 0 obj +<< /S /GoTo /D (subsection.15.2) >> +endobj +472 0 obj +(FO) +endobj +473 0 obj +<< /S /GoTo /D (subsection.15.3) >> +endobj +476 0 obj +(HTML) +endobj +477 0 obj +<< /S /GoTo /D (subsection.15.4) >> +endobj +480 0 obj +(Highlighting) +endobj +481 0 obj +<< /S /GoTo /D (subsection.15.5) >> +endobj +484 0 obj +(Manpages) +endobj +485 0 obj +<< /S /GoTo /D (subsection.15.6) >> +endobj +488 0 obj +(Params) +endobj +489 0 obj +<< /S /GoTo /D (subsection.15.7) >> +endobj +492 0 obj +(Profiling) +endobj +493 0 obj +<< /S /GoTo /D (section.16) >> +endobj +496 0 obj +(Release: 1.71.0) +endobj +497 0 obj +<< /S /GoTo /D (subsection.16.1) >> +endobj +500 0 obj +(Common) +endobj +501 0 obj +<< /S /GoTo /D (subsection.16.2) >> +endobj +504 0 obj +(Extensions) +endobj +505 0 obj +<< /S /GoTo /D (subsection.16.3) >> +endobj +508 0 obj +(FO) +endobj +509 0 obj +<< /S /GoTo /D (subsection.16.4) >> +endobj +512 0 obj +(HTML) +endobj +513 0 obj +<< /S /GoTo /D (subsection.16.5) >> +endobj +516 0 obj +(Highlighting) +endobj +517 0 obj +<< /S /GoTo /D (subsection.16.6) >> +endobj +520 0 obj +(Manpages) +endobj +521 0 obj +<< /S /GoTo /D (subsection.16.7) >> +endobj +524 0 obj +(Params) +endobj +525 0 obj +<< /S /GoTo /D (subsection.16.8) >> +endobj +528 0 obj +(Tools) +endobj +529 0 obj +<< /S /GoTo /D (section.17) >> +endobj +532 0 obj +(Release: 1.70.1) +endobj +533 0 obj +<< /S /GoTo /D (subsection.17.1) >> +endobj +536 0 obj +(FO) +endobj +537 0 obj +<< /S /GoTo /D (subsection.17.2) >> +endobj +540 0 obj +(HTML) +endobj +541 0 obj +<< /S /GoTo /D (subsection.17.3) >> +endobj +544 0 obj +(HTMLHelp) +endobj +545 0 obj +<< /S /GoTo /D (subsection.17.4) >> +endobj +548 0 obj +(Params) +endobj +549 0 obj +<< /S /GoTo /D (section.18) >> +endobj +552 0 obj +(Release: 1.70.0) +endobj +553 0 obj +<< /S /GoTo /D (subsection.18.1) >> +endobj +556 0 obj +(Common) +endobj +557 0 obj +<< /S /GoTo /D (subsection.18.2) >> +endobj +560 0 obj +(Extensions) +endobj +561 0 obj +<< /S /GoTo /D (subsection.18.3) >> +endobj +564 0 obj +(FO) +endobj +565 0 obj +<< /S /GoTo /D (subsection.18.4) >> +endobj +568 0 obj +(HTML) +endobj +569 0 obj +<< /S /GoTo /D (subsection.18.5) >> +endobj +572 0 obj +(Manpages) +endobj +573 0 obj +<< /S /GoTo /D (subsection.18.6) >> +endobj +576 0 obj +(Params) +endobj +577 0 obj +<< /S /GoTo /D (subsection.18.7) >> +endobj +580 0 obj +(Profiling) +endobj +581 0 obj +<< /S /GoTo /D (subsection.18.8) >> +endobj +584 0 obj +(Tools) +endobj +585 0 obj +<< /S /GoTo /D (subsection.18.9) >> +endobj +588 0 obj +(WordML) +endobj +589 0 obj +<< /S /GoTo /D (section.19) >> +endobj +592 0 obj +(Release 1.69.1) +endobj +593 0 obj +<< /S /GoTo /D (section.20) >> +endobj +596 0 obj +(Release 1.69.0) +endobj +597 0 obj +<< /S /GoTo /D (subsection.20.1) >> +endobj +600 0 obj +(Common) +endobj +601 0 obj +<< /S /GoTo /D (subsection.20.2) >> +endobj +604 0 obj +(FO) +endobj +605 0 obj +<< /S /GoTo /D (subsection.20.3) >> +endobj +608 0 obj +(Help) +endobj +609 0 obj +<< /S /GoTo /D (subsection.20.4) >> +endobj +612 0 obj +(HTML) +endobj +613 0 obj +<< /S /GoTo /D (subsection.20.5) >> +endobj +616 0 obj +(man) +endobj +617 0 obj +<< /S /GoTo /D (section.21) >> +endobj +620 0 obj +(Release 1.68.1) +endobj +621 0 obj +<< /S /GoTo /D (section.22) >> +endobj +624 0 obj +(Release 1.68.0) +endobj +625 0 obj +<< /S /GoTo /D (section.23) >> +endobj +628 0 obj +(Release 1.67.2) +endobj +629 0 obj +<< /S /GoTo /D (section.24) >> +endobj +632 0 obj +(Release 1.67.1) +endobj +633 0 obj +<< /S /GoTo /D (section.25) >> +endobj +636 0 obj +(Release 1.67.0) +endobj +637 0 obj +<< /S /GoTo /D (section.26) >> +endobj +640 0 obj +(Release 1.66.1) +endobj +641 0 obj +<< /S /GoTo /D (section.27) >> +endobj +644 0 obj +(Release 1.65.0) +endobj +645 0 obj +<< /S /GoTo /D (section.28) >> +endobj +648 0 obj +(Release 1.64.1) +endobj +649 0 obj +<< /S /GoTo /D (section.29) >> +endobj +652 0 obj +(Release 1.61.0) +endobj +653 0 obj +<< /S /GoTo /D (section.30) >> +endobj +656 0 obj +(Release 1.60.1) +endobj +657 0 obj +<< /S /GoTo /D (section.31) >> +endobj +660 0 obj +(Release 1.59.2) +endobj +661 0 obj +<< /S /GoTo /D (section.32) >> +endobj +664 0 obj +(Release 1.59.1) +endobj +665 0 obj +<< /S /GoTo /D (section.33) >> +endobj +668 0 obj +(Release 1.58.0) +endobj +669 0 obj +<< /S /GoTo /D (section.34) >> +endobj +672 0 obj +(Release 1.57.0) +endobj +673 0 obj +<< /S /GoTo /D (section.35) >> +endobj +676 0 obj +(Release 1.56.0) +endobj +677 0 obj +<< /S /GoTo /D (section.36) >> +endobj +680 0 obj +(Older releases) +endobj +681 0 obj +<< /S /GoTo /D (section.37) >> +endobj +684 0 obj +(About dot-zero releases) +endobj +685 0 obj +<< /S /GoTo /D [686 0 R /FitH ] >> +endobj +689 0 obj << +/Length 286 +/Filter /FlateDecode +>> +stream +xڕAOÃ0 …ïù>v‡zvÚ¤Éu B‚õ€4퀶”!VUÐJˆÓ *Upà’<ÛÑ{ñGð WjU«å¥!ðè­¶P7`5Ú +XTP`›=„SxêÃ"׆²»n}’M÷žÄp<×Ý~Õu¯©xÜÜ.võÄäÌèIn›áóúcCǒÎà$Ý1½ô¹dÈ úêœÿß©‹Z½)7cÑú*ÏhIþUÛÁAf’‡bãË êŠ>ÁFÝ+:/>¿ ìÐxËñ/>J%•èªr΢r?,D6 MÙÈCŠÄCÄÄCŠÈc3~鷍A²þ? Ï ++Ó2LÞñŽRÇ|·–×-ú›‰Ü‹ú‚- +endstream +endobj +686 0 obj << +/Type /Page +/Contents 689 0 R +/Resources 688 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 696 0 R +>> endobj +687 0 obj << +/Type /XObject +/Subtype /Image +/Width 80 +/Height 15 +/BitsPerComponent 8 +/ColorSpace /DeviceRGB +/Length 211 +/Filter/FlateDecode +/DecodeParms<> +>> +stream +HÇíW;Ã0}T>«™³dÈ2dÉÌiÛ¡*òÇR†H”!ñ±Ÿy2ÅáIq‚–™ÃO¥êÉû8·Ç¢]—À ÎÄàÐ#gFuÛìóÀ—äë²+ÛS½ÙKToYè½µÌ3)ÃV›¦ç¦[Q¥ÞAY›)Ú¢¦~5k¸V0n «‡¶7o]óì¯'N¹RÌ͵‚Õaë‚ßêñ®‹‘8t¥\˜ìð|K#ŸŠ´ÍaÅÙÄL1Fq2‡™ù?‡½Ìa7w<ߞ,äíoé/§Í +endstream +endobj +690 0 obj << +/D [686 0 R /XYZ -16.307 900.716 null] +>> endobj +693 0 obj << +/D [686 0 R /XYZ 56.693 759.068 null] +>> endobj +694 0 obj << +/D [686 0 R /XYZ 56.693 759.068 null] +>> endobj +688 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F52 695 0 R >> +/XObject << /Im1 687 0 R >> +/ProcSet [ /PDF /Text /ImageC ] +>> endobj +737 0 obj << +/Length 780 +/Filter /FlateDecode +>> +stream +xÚí›[oÚ0€ßó+üHræ»ã=¶k;MíÖ¤!u}HiJÑB Ӻ?‡\ˆU^µIÄø)†۟Ï5£)Âè"8oÎF´¤‘¤ Š ¦ÐèÝnÒ,MViQ‹2]ÕÍÇbY7ʧææ»brRßêãáex7ú`ÄD„€¢mXþÊÒÕSš–«ê¶‘NPl¤KVIçZ1ßD´jäÏfUÇàl|ˆ#‚„©Rš€ÄMæÁíFæž\Çèçºç ‚2iÚŸ¼µrŠMˆ¨„·ƒr ‚ÈZøi‘—iÞÍUmì”YӀ9¯{’0"ã=Ûõ6ŒÁÊ,n½–zË)ª7X5›„ÛѪ~ídwE\c`ÄlQ k~ë)©§Å|^äad¶pa$̬Žçµ>”¹l"܃ü6"\ÊÔíu­7[tiC÷ü“Y$¥ÇGö(©³†úûÑÕ¥±#RyÒn‘¦-iސ>[ü¸7¤™öªí¶j‹ø—0ƃôþ)Í•e÷¤{CšZ’– é됈A²LæU­ˆ×lGy«Ö”?›äa5+òU•O¸§„w2?Ó´ÉûŒC¬›Ä–þÓüý}þG»üÏg.Efelh—ú ÁQÒ´%Í|á0l݂“ÁÿÁÉ4‡uNæ"ÍË´:ˆÏe)­ý)Ô=9~Üʱ°Î±u9ÙYºÌ‹¹iIû`±ç¤•U°ÈºêâU’/’iõÐVhùðùjKM–þqAïZWO °%ð®¨8Éf‹:ö—žy´{ ›XŽ}ªï„rKo­Þãáe4N²Ä¤[1÷€˜,}u‡[qÐ?q0PÅ»ŠÑ—«8±cV¶Ì ÷EGß®aᾈã"ÝN}Ç¥`YR÷Eœc!í‹8ý´ßÌÒ;û"Α)t[Ĺ^_1¦Ù,ŸšÕrx»¢Úéx#£&ÏUì­hìÉ.YnIÖ×jÜ Û^÷½YÈ1`©_óbáoJËÃp +endstream +endobj +736 0 obj << +/Type /Page +/Contents 737 0 R +/Resources 735 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 696 0 R +/Annots [ 697 0 R 698 0 R 699 0 R 700 0 R 701 0 R 702 0 R 703 0 R 704 0 R 705 0 R 706 0 R 707 0 R 708 0 R 709 0 R 710 0 R 711 0 R 712 0 R 713 0 R 714 0 R 715 0 R 716 0 R 717 0 R 718 0 R 719 0 R 720 0 R 721 0 R 722 0 R 723 0 R 724 0 R 725 0 R 726 0 R 727 0 R 728 0 R ] +>> endobj +697 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [560.952 706.475 567.925 715.332] +/A << /S /GoTo /D (section.1) >> +>> endobj +698 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [560.952 688.543 567.925 697.29] +/A << /S /GoTo /D (subsection.1.1) >> +>> endobj +699 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [560.952 670.61 567.925 679.357] +/A << /S /GoTo /D (subsection.1.2) >> +>> endobj +700 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [560.952 652.677 567.925 661.424] +/A << /S /GoTo /D (subsection.1.3) >> +>> endobj +701 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [560.952 634.744 567.925 643.491] +/A << /S /GoTo /D (subsection.1.4) >> +>> endobj +702 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [560.952 616.812 567.925 625.559] +/A << /S /GoTo /D (subsection.1.5) >> +>> endobj +703 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [560.952 598.879 567.925 607.626] +/A << /S /GoTo /D (subsection.1.6) >> +>> endobj +704 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [560.952 580.946 567.925 589.693] +/A << /S /GoTo /D (subsection.1.7) >> +>> endobj +705 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [560.952 552.931 567.925 561.907] +/A << /S /GoTo /D (section.2) >> +>> endobj +706 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [560.952 535.018 567.925 543.865] +/A << /S /GoTo /D (subsection.2.1) >> +>> endobj +707 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [560.952 517.086 567.925 525.932] +/A << /S /GoTo /D (subsection.2.2) >> +>> endobj +708 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [560.952 499.153 567.925 507.999] +/A << /S /GoTo /D (subsection.2.3) >> +>> endobj +709 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [560.952 471.237 567.925 480.214] +/A << /S /GoTo /D (section.3) >> +>> endobj +710 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [560.952 453.424 567.925 462.171] +/A << /S /GoTo /D (subsection.3.1) >> +>> endobj +711 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [560.952 435.491 567.925 444.239] +/A << /S /GoTo /D (subsection.3.2) >> +>> endobj +712 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [560.952 417.459 567.925 426.306] +/A << /S /GoTo /D (subsection.3.3) >> +>> endobj +713 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [560.952 399.526 567.925 408.104] +/A << /S /GoTo /D (subsection.3.4) >> +>> endobj +714 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [560.952 381.474 567.925 390.44] +/A << /S /GoTo /D (subsection.3.5) >> +>> endobj +715 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 363.661 567.925 372.508] +/A << /S /GoTo /D (subsection.3.6) >> +>> endobj +716 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 345.828 567.925 354.575] +/A << /S /GoTo /D (subsection.3.7) >> +>> endobj +717 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 327.895 567.925 336.642] +/A << /S /GoTo /D (subsection.3.8) >> +>> endobj +718 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 309.962 567.925 318.709] +/A << /S /GoTo /D (subsection.3.9) >> +>> endobj +719 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 282.067 567.925 290.924] +/A << /S /GoTo /D (section.4) >> +>> endobj +720 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 264.134 567.925 272.881] +/A << /S /GoTo /D (subsection.4.1) >> +>> endobj +721 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 246.201 567.925 254.948] +/A << /S /GoTo /D (subsection.4.2) >> +>> endobj +722 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 228.169 567.925 237.016] +/A << /S /GoTo /D (subsection.4.3) >> +>> endobj +723 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 210.236 567.925 219.083] +/A << /S /GoTo /D (subsection.4.4) >> +>> endobj +724 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 192.304 567.925 201.15] +/A << /S /GoTo /D (subsection.4.5) >> +>> endobj +725 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 174.371 567.925 183.217] +/A << /S /GoTo /D (subsection.4.6) >> +>> endobj +726 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 156.438 567.925 165.285] +/A << /S /GoTo /D (subsection.4.7) >> +>> endobj +727 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 138.605 567.925 147.352] +/A << /S /GoTo /D (subsection.4.8) >> +>> endobj +728 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 120.672 567.925 129.419] +/A << /S /GoTo /D (subsection.4.9) >> +>> endobj +738 0 obj << +/D [736 0 R /XYZ -11.232 900.716 null] +>> endobj +735 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F52 695 0 R /F57 739 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +776 0 obj << +/Length 822 +/Filter /FlateDecode +>> +stream +xÚí›;oÛ0Çw} +ŽÖ@–oŠÓæ"é#ö È &ŠcÔ¶R[AÓo_ʔl'0ÚKÐÁRn0(C2Òïîtü›ädL89NFÉ»#ÉgÞJKF·ÄJfɄbÊ‘Ñ ¹œÓ"_)•†>—U±Œ‡·å"TwÍɏåõAYþˆ_.†§éÕèS0C…`ޘØÛ°ú=-–wEQ-ëÓÁº Y°nUm]{̈́%Ô0ïó“ɤ¾09%?ºãDc™õŠ8/˜å’\ϒË+Nn¹`iŸ‘_«+gÄΤ²áxJ†É·„?¹s·uçmŸÚ3Ám4nR*8ç;žÁû”*Á‚9ÃÄj€ql‹1‰çÇ 1<w*|[õ&ôêÂvϞ<ՙaJúð¼ ?Š‡!«G_Rª¥°”†n±Y5Úû}Ë6Ù®pIƒ?÷€¶]É6tÙ@?G³A÷ +tˆò†´jHÞ?|¤•ÇÈî&p‹lÝðþš +3Èù¬~›:¸{ûYIA…f^k‡ÚBF° š‚Ck +óâšÂ®kŠãb^µ#>V)uÞ£ûuÅý,$ÛØuñ¡œÍÊyJCUp÷®Õv];àÔ Ô3XHkœt´T0Ц}–Ïïóq­ºx÷¯foÛð-¾Ö3?m0qw¸ƒÅ³ÛJÜ'Åô>¥Ö)亿\/ä gôo ·oÃx2¾›†O5™ká.C¶ûËÖßɂ‡~ãŸWt˜?ÖSf'‘lgÉn/±{‘Oó6Ә•;"°:€Àª™ +¬Š?¡íùh³ñ° dSþ›Í}zMñ:›!Ù£Üõü©èÍè×J2jý§¾o…ZcÇAKhZcñn²·A­ñMÅs«-Ÿ—ó›j1©ÅF­‘ïÞóU0¾5Ç^àÖÀü¡èظU0š_ɐÿœÙC—ˆ©,;o]NpÖ(f8µïªÿV¤ÖÛ#"h\#Ö%¸WE¸(Ûôz„®#t”m: +ZÃTÙ@ÚDÒ¨Ût‹¯²xqsP·yäí6‰—ˆu€ëî8nÛ][–5gÜú×ìXþº[™è +endstream +endobj +775 0 obj << +/Type /Page +/Contents 776 0 R +/Resources 774 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 696 0 R +/Annots [ 729 0 R 730 0 R 731 0 R 732 0 R 733 0 R 734 0 R 740 0 R 741 0 R 742 0 R 743 0 R 744 0 R 745 0 R 746 0 R 747 0 R 748 0 R 749 0 R 750 0 R 751 0 R 752 0 R 753 0 R 754 0 R 755 0 R 756 0 R 757 0 R 758 0 R 759 0 R 760 0 R 761 0 R 762 0 R 763 0 R 764 0 R 765 0 R 766 0 R 767 0 R 768 0 R 769 0 R ] +>> endobj +729 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 748.109 567.925 756.966] +/A << /S /GoTo /D (section.5) >> +>> endobj +730 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 730.38 567.925 739.127] +/A << /S /GoTo /D (subsection.5.1) >> +>> endobj +731 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 712.65 567.925 721.397] +/A << /S /GoTo /D (subsection.5.2) >> +>> endobj +732 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 694.821 567.925 703.668] +/A << /S /GoTo /D (subsection.5.3) >> +>> endobj +733 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 677.091 567.925 685.938] +/A << /S /GoTo /D (subsection.5.4) >> +>> endobj +734 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 649.379 567.925 658.355] +/A << /S /GoTo /D (section.6) >> +>> endobj +740 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 631.669 567.925 640.516] +/A << /S /GoTo /D (subsection.6.1) >> +>> endobj +741 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 613.939 567.925 622.786] +/A << /S /GoTo /D (subsection.6.2) >> +>> endobj +742 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 596.21 567.925 605.056] +/A << /S /GoTo /D (subsection.6.3) >> +>> endobj +743 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 578.48 567.925 587.327] +/A << /S /GoTo /D (subsection.6.4) >> +>> endobj +744 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 560.75 567.925 569.597] +/A << /S /GoTo /D (subsection.6.5) >> +>> endobj +745 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 543.021 567.925 551.867] +/A << /S /GoTo /D (subsection.6.6) >> +>> endobj +746 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 525.291 567.925 534.138] +/A << /S /GoTo /D (subsection.6.7) >> +>> endobj +747 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 507.561 567.925 516.408] +/A << /S /GoTo /D (subsection.6.8) >> +>> endobj +748 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 489.712 567.925 498.678] +/A << /S /GoTo /D (subsection.6.9) >> +>> endobj +749 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 471.982 567.925 480.949] +/A << /S /GoTo /D (subsection.6.10) >> +>> endobj +750 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 454.253 567.925 463.219] +/A << /S /GoTo /D (subsection.6.11) >> +>> endobj +751 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 426.66 567.925 435.636] +/A << /S /GoTo /D (section.7) >> +>> endobj +752 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 398.968 567.925 407.944] +/A << /S /GoTo /D (section.8) >> +>> endobj +753 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 371.275 567.925 380.252] +/A << /S /GoTo /D (section.9) >> +>> endobj +754 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 353.566 567.925 362.412] +/A << /S /GoTo /D (subsection.9.1) >> +>> endobj +755 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 335.836 567.925 344.683] +/A << /S /GoTo /D (subsection.9.2) >> +>> endobj +756 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 318.106 567.925 326.953] +/A << /S /GoTo /D (subsection.9.3) >> +>> endobj +757 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 300.377 567.925 309.223] +/A << /S /GoTo /D (subsection.9.4) >> +>> endobj +758 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 282.647 567.925 291.493] +/A << /S /GoTo /D (subsection.9.5) >> +>> endobj +759 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 264.917 567.925 273.764] +/A << /S /GoTo /D (subsection.9.6) >> +>> endobj +760 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 247.187 567.925 256.034] +/A << /S /GoTo /D (subsection.9.7) >> +>> endobj +761 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 229.458 567.925 238.304] +/A << /S /GoTo /D (subsection.9.8) >> +>> endobj +762 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 201.745 567.925 210.722] +/A << /S /GoTo /D (section.10) >> +>> endobj +763 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 184.036 567.925 192.882] +/A << /S /GoTo /D (subsection.10.1) >> +>> endobj +764 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 166.306 567.925 175.153] +/A << /S /GoTo /D (subsection.10.2) >> +>> endobj +765 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 148.576 567.925 157.423] +/A << /S /GoTo /D (subsection.10.3) >> +>> endobj +766 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 130.946 567.925 139.693] +/A << /S /GoTo /D (subsection.10.4) >> +>> endobj +767 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 113.217 567.925 121.964] +/A << /S /GoTo /D (subsection.10.5) >> +>> endobj +768 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 95.387 567.925 104.234] +/A << /S /GoTo /D (subsection.10.6) >> +>> endobj +769 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 77.658 567.925 86.504] +/A << /S /GoTo /D (subsection.10.7) >> +>> endobj +777 0 obj << +/D [775 0 R /XYZ -16.307 900.716 null] +>> endobj +774 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F57 739 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +817 0 obj << +/Length 899 +/Filter /FlateDecode +>> +stream +xÚíœKsÚ0Çïþ:šƒ½eõ˜6É>3ÍLšƒâ©Á)¸)ùö•-HHJ:NÈ쁱m­ÅO»’þ^AÐt£ƒcIÁF1…†wH1¬4J)Ç\£á]Åy™gó¼—0IâÏUÏÝî]5s;õýòä§êö°ª~ºƒËA¿w=<³fJ±‘Ò•6¨ŸÊ|~Ÿçõ¼9m­S”ZëŠ7օáXÉ%½´_<6FGÃèWDmqQ$V†#m(V„¡ÛItuMÐȞ³±0)úÓ^9A’̸²û%Dß"òn͵-ËÖY ƒ)Qζ½9í%ÒVçè¶,ܯ bl¿#do7˜]y–¦e¬ºÆ1#·sq¡«Ä¶¬XŠW×­¶mÓT8]5M Û8ØgY‘ø±Çdœæ僥®P7à–ÿÇ-žqSÒ_T¿§£zVXÎJ Û!À´<(‹QÓmi)Á‹c­|c7e-ëtÄùͼ¨ó8ত׼š·¤¿ö¨íŸgÙ¤j + ólíÍ[8Þ³ê!¬,¦c[[a€t ¤ñŽá²%=lbxU•íL“í»cw”úš«–úѢΧó¢šZìœR ¼ó„©7aݾô“A¶¨¦vdÆR ,Ùµˆ>“½ÌÊ̒MçNø¬y&[7‹yY7^«íî²eÙK½¦s'T`#J˜åM—"»JȱÿCÓ“˜bͱ+ƒ}{+fšÛ£¶´7‚’Õù×6Ù+›ë†èv†Þ(ú‰H%æ̼iÚ S'óžäÓ:o&‘‹¦i#Ì°ú?ÝÃ̑>þbkÇ`&ö „ùu] sGýtxÞ·AEi iîKZ8ÒçÙô!7¿4€y÷ù +ßø-_<Ù½ˆUšØ`Á¾8®‚´Šà£´7l iû´—)SVÑU^¦IÁ Ø°yËíå"þ®tC|¥¹…tÃAº ½ñÌÝâ+éæc5™4/ŒŒéy÷ézfkñ•DÂ\¨k_Ÿ ̅MÚø’– ÌØ;kê¿A¿ ޙµðufÐoºàÛÞ¸A¿é¤?¿oÐo:ÁÛ{*½\çvZŒïKû©Û zÎS`¼»p•7\ +«#‚vcí¶—+ÜúÅ͞&Èïö5ç°(f© X2ÑÑ0.aÉDPC±t#ÙÕvÓÓ‚‰2Ûü/Í_u©je +endstream +endobj +816 0 obj << +/Type /Page +/Contents 817 0 R +/Resources 815 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 696 0 R +/Annots [ 770 0 R 771 0 R 772 0 R 773 0 R 778 0 R 779 0 R 780 0 R 781 0 R 782 0 R 783 0 R 784 0 R 785 0 R 786 0 R 787 0 R 788 0 R 789 0 R 790 0 R 791 0 R 792 0 R 793 0 R 794 0 R 795 0 R 796 0 R 797 0 R 798 0 R 799 0 R 800 0 R 801 0 R 802 0 R 803 0 R 804 0 R 805 0 R 806 0 R 807 0 R 808 0 R 809 0 R 810 0 R 811 0 R 812 0 R ] +>> endobj +770 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 748.01 567.925 756.857] +/A << /S /GoTo /D (subsection.10.8) >> +>> endobj +771 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 731.156 567.925 740.002] +/A << /S /GoTo /D (subsection.10.9) >> +>> endobj +772 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 714.301 567.925 723.148] +/A << /S /GoTo /D (subsection.10.10) >> +>> endobj +773 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 697.447 567.925 706.294] +/A << /S /GoTo /D (subsection.10.11) >> +>> endobj +778 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 680.593 567.925 689.439] +/A << /S /GoTo /D (subsection.10.12) >> +>> endobj +779 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 663.738 567.925 672.585] +/A << /S /GoTo /D (subsection.10.13) >> +>> endobj +780 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 646.884 567.925 655.731] +/A << /S /GoTo /D (subsection.10.14) >> +>> endobj +781 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 630.03 567.925 638.876] +/A << /S /GoTo /D (subsection.10.15) >> +>> endobj +782 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 613.175 567.925 622.022] +/A << /S /GoTo /D (subsection.10.16) >> +>> endobj +783 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 596.321 567.925 605.168] +/A << /S /GoTo /D (subsection.10.17) >> +>> endobj +784 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 579.467 567.925 588.313] +/A << /S /GoTo /D (subsection.10.18) >> +>> endobj +785 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 562.612 567.925 571.459] +/A << /S /GoTo /D (subsection.10.19) >> +>> endobj +786 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 535.775 567.925 544.752] +/A << /S /GoTo /D (section.11) >> +>> endobj +787 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 508.958 567.925 517.935] +/A << /S /GoTo /D (section.12) >> +>> endobj +788 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 492.124 567.925 500.971] +/A << /S /GoTo /D (subsection.12.1) >> +>> endobj +789 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 475.27 567.925 484.116] +/A << /S /GoTo /D (subsection.12.2) >> +>> endobj +790 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 458.415 567.925 467.262] +/A << /S /GoTo /D (subsection.12.3) >> +>> endobj +791 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 441.561 567.925 450.408] +/A << /S /GoTo /D (subsection.12.4) >> +>> endobj +792 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 424.707 567.925 433.553] +/A << /S /GoTo /D (subsection.12.5) >> +>> endobj +793 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 407.852 567.925 416.699] +/A << /S /GoTo /D (subsection.12.6) >> +>> endobj +794 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 390.998 567.925 399.845] +/A << /S /GoTo /D (subsection.12.7) >> +>> endobj +795 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 374.144 567.925 382.99] +/A << /S /GoTo /D (subsection.12.8) >> +>> endobj +796 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 357.289 567.925 366.136] +/A << /S /GoTo /D (subsection.12.9) >> +>> endobj +797 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 330.453 567.925 339.429] +/A << /S /GoTo /D (section.13) >> +>> endobj +798 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 313.618 567.925 322.465] +/A << /S /GoTo /D (subsection.13.1) >> +>> endobj +799 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 296.764 567.925 305.611] +/A << /S /GoTo /D (subsection.13.2) >> +>> endobj +800 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 279.91 567.925 288.756] +/A << /S /GoTo /D (subsection.13.3) >> +>> endobj +801 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 262.936 567.925 271.902] +/A << /S /GoTo /D (subsection.13.4) >> +>> endobj +802 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 246.201 567.925 255.048] +/A << /S /GoTo /D (subsection.13.5) >> +>> endobj +803 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 229.347 567.925 238.193] +/A << /S /GoTo /D (subsection.13.6) >> +>> endobj +804 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 212.492 567.925 221.339] +/A << /S /GoTo /D (subsection.13.7) >> +>> endobj +805 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 195.638 567.925 204.485] +/A << /S /GoTo /D (subsection.13.8) >> +>> endobj +806 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 178.784 567.925 187.63] +/A << /S /GoTo /D (subsection.13.9) >> +>> endobj +807 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 161.929 567.925 170.776] +/A << /S /GoTo /D (subsection.13.10) >> +>> endobj +808 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 145.075 567.925 153.653] +/A << /S /GoTo /D (subsection.13.11) >> +>> endobj +809 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 128.221 567.925 136.798] +/A << /S /GoTo /D (subsection.13.12) >> +>> endobj +810 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 111.366 567.925 119.944] +/A << /S /GoTo /D (subsection.13.13) >> +>> endobj +811 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 94.512 567.925 103.09] +/A << /S /GoTo /D (subsection.13.14) >> +>> endobj +812 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 77.658 567.925 86.504] +/A << /S /GoTo /D (subsection.13.15) >> +>> endobj +818 0 obj << +/D [816 0 R /XYZ -11.232 900.716 null] +>> endobj +815 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F57 739 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +860 0 obj << +/Length 819 +/Filter /FlateDecode +>> +stream +xÚíœÉnÛ0†ïz +¥ƒXîKi³ HÚ4ÐiF¬8Fe+µÕííK‰V¤qÀúdÊs0$A‡äÇe~ÌXMAÇÉA‘¼:’YlS¨¸EŠa¥‘¡sŠ1ºJ/ʪ-Ë,g’¤ïë¦\úÛÛzáoš»ÕË·õÍA]õŸ/O³ëâ3“SŠ­”¾¶ËæwU.ïʲY¶¯uŠŒ³®xk]X‰•°(—Øê•ým¹ä°H¾%ÔÕFERae9ҖbEº™%W׍Ý;g kÐÏ®ä IJ0ãÊÝWè2ù˜G×:Þ×),¦DyÓTd¹$¤‚×YÎ)I)Ö “®U¾A‹ ò7Ç rå1ÓÜ=uUhÓìí>í\‰9s¦ +S¥{³˜:ÃnßÔ³Y=Ïr7)ömٟ‹°vWÚòá3̯r7Sm•ë¯Ý +xL—yºG\'Û?²C¢nÈËÔÿn%˜{ê'ÅÙ©ÛH”ÒÃ"½^ß“>ÍïG“ö¼”øî>_ÊWz¾ç•éh1šµ‘¦°ž‡Ê[yÞE¦IZÎî«Qã<^k9 ÞyÆ,ôt֞ñEý}>nÓû,WBÙH?w¹l…@9sÐùŠ¹Ü î(¦âÎðÿwýT“ îbœg<찐 îö’:ˆ»a“^ïÞ+qw2ÜUî×LçGœ€»»pEè2– ÜÍWrß+Þ+Uw¾¨¿ªn¯Âé¸I¿$ïœàòôÕF}¼3r‹à}ãD“aþŸêõÝ᯦œ/§õ|ÙN, +„c'¼^¿üp¨«Pêüž– à£ƒkBg +~€|׋Wƒ‚ß+Þ¦½’ÖuÕ%Ÿ‚O)u»½š×Ô< ÖÚ-Ô¼îÕ<¨áNÀ¶Ý«|P‘’¶i¹úaäö¤¬Ú¼Íl´`×KX€§8\ÞA>ƒÙè3„FžXó DbœhéÀ"±L6Ø#êëu €ÈI«PҐæ%_ÊÒ¼bç-oJ‚lÈóŠuðÞ !aסحÇþ©Ã¾·.“ðÌØI÷×ç¾ï"&Ênóy—?ülHJ +endstream +endobj +859 0 obj << +/Type /Page +/Contents 860 0 R +/Resources 858 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 696 0 R +/Annots [ 813 0 R 814 0 R 819 0 R 820 0 R 821 0 R 822 0 R 823 0 R 824 0 R 825 0 R 826 0 R 827 0 R 828 0 R 829 0 R 830 0 R 831 0 R 832 0 R 833 0 R 834 0 R 835 0 R 836 0 R 837 0 R 838 0 R 839 0 R 840 0 R 841 0 R 842 0 R 843 0 R 844 0 R 845 0 R 846 0 R 847 0 R 848 0 R 849 0 R 850 0 R 851 0 R 852 0 R 853 0 R 854 0 R 855 0 R 856 0 R ] +>> endobj +813 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 747.99 567.925 756.966] +/A << /S /GoTo /D (section.14) >> +>> endobj +814 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 731.724 567.925 740.69] +/A << /S /GoTo /D (subsection.14.1) >> +>> endobj +819 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 715.677 567.925 724.523] +/A << /S /GoTo /D (subsection.14.2) >> +>> endobj +820 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 699.51 567.925 708.356] +/A << /S /GoTo /D (subsection.14.3) >> +>> endobj +821 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 683.343 567.925 692.19] +/A << /S /GoTo /D (subsection.14.4) >> +>> endobj +822 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 667.176 567.925 676.023] +/A << /S /GoTo /D (subsection.14.5) >> +>> endobj +823 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 651.01 567.925 659.856] +/A << /S /GoTo /D (subsection.14.6) >> +>> endobj +824 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 634.843 567.925 643.69] +/A << /S /GoTo /D (subsection.14.7) >> +>> endobj +825 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 608.694 567.925 617.67] +/A << /S /GoTo /D (section.15) >> +>> endobj +826 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 592.547 567.925 601.394] +/A << /S /GoTo /D (subsection.15.1) >> +>> endobj +827 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 576.38 567.925 585.227] +/A << /S /GoTo /D (subsection.15.2) >> +>> endobj +828 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 560.213 567.925 569.06] +/A << /S /GoTo /D (subsection.15.3) >> +>> endobj +829 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 544.047 567.925 552.893] +/A << /S /GoTo /D (subsection.15.4) >> +>> endobj +830 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 527.88 567.925 536.727] +/A << /S /GoTo /D (subsection.15.5) >> +>> endobj +831 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 511.713 567.925 520.56] +/A << /S /GoTo /D (subsection.15.6) >> +>> endobj +832 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 495.547 567.925 504.393] +/A << /S /GoTo /D (subsection.15.7) >> +>> endobj +833 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 469.397 567.925 478.374] +/A << /S /GoTo /D (section.16) >> +>> endobj +834 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 453.251 567.925 462.097] +/A << /S /GoTo /D (subsection.16.1) >> +>> endobj +835 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 437.084 567.925 445.93] +/A << /S /GoTo /D (subsection.16.2) >> +>> endobj +836 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 420.917 567.925 429.764] +/A << /S /GoTo /D (subsection.16.3) >> +>> endobj +837 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 404.75 567.925 413.597] +/A << /S /GoTo /D (subsection.16.4) >> +>> endobj +838 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 388.584 567.925 397.43] +/A << /S /GoTo /D (subsection.16.5) >> +>> endobj +839 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 372.417 567.925 381.264] +/A << /S /GoTo /D (subsection.16.6) >> +>> endobj +840 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 356.25 567.925 365.097] +/A << /S /GoTo /D (subsection.16.7) >> +>> endobj +841 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 339.964 567.925 348.93] +/A << /S /GoTo /D (subsection.16.8) >> +>> endobj +842 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 313.934 567.925 322.91] +/A << /S /GoTo /D (section.17) >> +>> endobj +843 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 297.668 567.925 306.634] +/A << /S /GoTo /D (subsection.17.1) >> +>> endobj +844 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 281.501 567.925 290.467] +/A << /S /GoTo /D (subsection.17.2) >> +>> endobj +845 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 265.334 567.925 274.301] +/A << /S /GoTo /D (subsection.17.3) >> +>> endobj +846 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 249.168 567.925 258.134] +/A << /S /GoTo /D (subsection.17.4) >> +>> endobj +847 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 223.138 567.925 232.114] +/A << /S /GoTo /D (section.18) >> +>> endobj +848 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 206.872 567.925 215.838] +/A << /S /GoTo /D (subsection.18.1) >> +>> endobj +849 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 190.705 567.925 199.671] +/A << /S /GoTo /D (subsection.18.2) >> +>> endobj +850 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 174.538 567.925 183.505] +/A << /S /GoTo /D (subsection.18.3) >> +>> endobj +851 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 158.372 567.925 167.338] +/A << /S /GoTo /D (subsection.18.4) >> +>> endobj +852 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [555.97 142.205 567.925 151.171] +/A << /S /GoTo /D (subsection.18.5) >> +>> endobj +853 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [550.989 126.158 567.925 135.004] +/A << /S /GoTo /D (subsection.18.6) >> +>> endobj +854 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [550.989 109.991 567.925 118.838] +/A << /S /GoTo /D (subsection.18.7) >> +>> endobj +855 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [550.989 93.824 567.925 102.671] +/A << /S /GoTo /D (subsection.18.8) >> +>> endobj +856 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [550.989 77.658 567.925 86.504] +/A << /S /GoTo /D (subsection.18.9) >> +>> endobj +861 0 obj << +/D [859 0 R /XYZ -16.307 900.716 null] +>> endobj +858 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F57 739 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +887 0 obj << +/Length 596 +/Filter /FlateDecode +>> +stream +xÚí˜MsÓ0†ïþ{Œ«oéØ-Ã:4>0“é¡4nË`cH üz”Èn› · +“¤9YiôèÝ×Z¯„p ÇÙa‘=;RŽ:Í5W 9Õ,T(¦0•Uy1/sÂŽÞ6m9Í«fíM×ù¢¹çć}DÃZžÎC:÷¯¬å¾…Ó'Djý‡×·vöŠ[{y°÷èÔ«äüéY»[¶»TÛE°ýUY}Y ôÞñ]w\vŽoNr"´Ù[½cVßý²U°º¾ðÿkÃí~oÿŸ†3Œ¾V–&©“r­\dñrѦץL=X—vå:çC ܨW$â ã+˜TNR$‡@lË 5JM +ŽƒôŠl’"©tE“Ù8H¦+zÔ+8ß± ±8ßáŠxJèD<3(—¾üVLQć@éŠd’¢xfP¤ G@½¢xfPfë xfPzPRR]f8­¦ewY3˙î<–”ïD—>4ßڛ6-ùU.‘ÍÖðý3v!$‘¢vsô²lÓË +endstream +endobj +886 0 obj << +/Type /Page +/Contents 887 0 R +/Resources 885 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 696 0 R +/Annots [ 857 0 R 862 0 R 863 0 R 864 0 R 865 0 R 866 0 R 867 0 R 868 0 R 869 0 R 870 0 R 871 0 R 872 0 R 873 0 R 874 0 R 875 0 R 876 0 R 877 0 R 878 0 R 879 0 R 880 0 R 881 0 R 882 0 R 883 0 R 884 0 R ] +>> endobj +857 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [550.989 747.99 567.925 756.966] +/A << /S /GoTo /D (section.19) >> +>> endobj +862 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [550.989 720.095 567.925 729.071] +/A << /S /GoTo /D (section.20) >> +>> endobj +863 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [550.989 702.182 567.925 711.028] +/A << /S /GoTo /D (subsection.20.1) >> +>> endobj +864 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [550.989 684.129 567.925 693.096] +/A << /S /GoTo /D (subsection.20.2) >> +>> endobj +865 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [550.989 666.197 567.925 675.163] +/A << /S /GoTo /D (subsection.20.3) >> +>> endobj +866 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [550.989 648.264 567.925 657.23] +/A << /S /GoTo /D (subsection.20.4) >> +>> endobj +867 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [550.989 630.451 567.925 639.297] +/A << /S /GoTo /D (subsection.20.5) >> +>> endobj +868 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [550.989 602.535 567.925 611.512] +/A << /S /GoTo /D (section.21) >> +>> endobj +869 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [550.989 574.64 567.925 583.616] +/A << /S /GoTo /D (section.22) >> +>> endobj +870 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [550.989 546.745 567.925 555.721] +/A << /S /GoTo /D (section.23) >> +>> endobj +871 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [550.989 518.849 567.925 527.825] +/A << /S /GoTo /D (section.24) >> +>> endobj +872 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [550.989 490.954 567.925 499.93] +/A << /S /GoTo /D (section.25) >> +>> endobj +873 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [550.989 463.058 567.925 472.035] +/A << /S /GoTo /D (section.26) >> +>> endobj +874 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [550.989 435.163 567.925 444.139] +/A << /S /GoTo /D (section.27) >> +>> endobj +875 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [550.989 407.268 567.925 416.244] +/A << /S /GoTo /D (section.28) >> +>> endobj +876 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [550.989 379.492 567.925 388.349] +/A << /S /GoTo /D (section.29) >> +>> endobj +877 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [550.989 351.596 567.925 360.453] +/A << /S /GoTo /D (section.30) >> +>> endobj +878 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [550.989 323.582 567.925 332.558] +/A << /S /GoTo /D (section.31) >> +>> endobj +879 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [550.989 295.806 567.925 304.662] +/A << /S /GoTo /D (section.32) >> +>> endobj +880 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [550.989 267.91 567.925 276.767] +/A << /S /GoTo /D (section.33) >> +>> endobj +881 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [550.989 240.015 567.925 248.872] +/A << /S /GoTo /D (section.34) >> +>> endobj +882 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [550.989 212 567.925 220.976] +/A << /S /GoTo /D (section.35) >> +>> endobj +883 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [550.989 184.105 567.925 193.081] +/A << /S /GoTo /D (section.36) >> +>> endobj +884 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [550.989 156.209 567.925 165.185] +/A << /S /GoTo /D (section.37) >> +>> endobj +888 0 obj << +/D [886 0 R /XYZ -11.232 900.716 null] +>> endobj +885 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F57 739 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +899 0 obj << +/Length 1388 +/Filter /FlateDecode +>> +stream +xڝWߓ›6~÷_Á[ñLLF²IŸ.“¤M›fҜgڙ$d›‹à.׿¾»ÚÇqnÒöÉbµÚŸ>í®Ep DðãâÙnñýK)‚,ÊT¢‚Ý!PI¤6Á6^GëM°+ƒ÷á;]ëÜêå*‘"|czmiy0-úo>7Å3c>ÓÇׯ—w?ƒ›UG™”díº¿«µ=iÝ[Üïq°ïjÞÓ,Ž”Ú+eöSU¨¹x±[ü¹ˆÁžâ@ªHeë`ƒú" Šfñþ£J؏Qšmƒ[§Ù2Q²V°®ƒëÅo Á©Ï Š “b0I&£8ɂMšE±PÍÕÞö]^ô.¤¹ ‡å½U0J°°ZËh i9 »S®·2ìÙUK ¢¨4ÅÐè¶Ç/zÅ|™ˆðf™Àªªó}­I\µ¤æ.S×Õn«öèE]“÷ö)ÇKø}üê—Eð~%·qøÓî××r‚HŸ|íûüå>s®ó1n½Œeø¥ŸÛøa¹Jå:¬–qÈ@œ;ƒª7U©GHȚî›UçIŠÚue{Ú6‡‘ƒ8˜Ñ èö”·…Fœ—Ó0oK\¬ÃvŽš¥½!!< í=y¿#ÉyØ×UAjWo_ñÁBŠÁrh…i?‘‡ŽnUÏy—7º×ÕøA iH¨5¤?”>X]uî+Ó²rs¶ƒÙ¢dþ†ãƒ”™tÁ´«mЬeø¿è oÍDfaašs a‘`D9¹µº¦Å¦Ìe[µE=”Žu}H¬8áÓÞ¸9{91ÍQOkÝÒªÉKMZ\i”çN#ëo*3pL̇'ð¥Dh5OXW™"õˆ¡ÈV¿¶Î8óæÅï×3ž‚éKž)ŸžÒœH⯼Ô@ÓÑ©oêÇö•Ã¬¦KSqxU[Cf•„§ ‘¦ábÚºjõ·\Ÿ–2¼ƒ7ºŸ—±uI§é~i åª7ÝÝåसÅsy×ÂÝsûê¸dl0ö ŽÝ±ctc/½Qá"¤—ïX1o8ð€«Ž×>L:s˜i¦Ô{ D4úRQæ;Üw´Ûª?ъù;kio;óIsé' »##úŽ0¥Òô«¿4Ô«9^°Ç¬´O|t{ö¿yˉ9ÁÅTX¤r†#óW½Ú»çdP9ÆN஄ödº¾f|öü›ó^ïKÓÄÉ(5JI0€¯RN€©Êí|H’5€B;¦Õ$=׃…”ÄS`T恹ߠ3¹=ÃuóŽ+Î tIÃ÷˜ºt‰äP~¡a[¦7_¹=ÐþÇÛSräí©*< +¾Øgf·ˆ/á"y$Hˆë$ví >¡°MZLÛæg¸ÍžàCm¤;îÒ Lh‹8‰9µÉì’ ÙùþÁ»Z ÕÐ9ׯ§æñaw®Ç®…›fU1‰ÄgBEÀŸ“â@qŽ&öxÒ|JT£ŠbÌ×÷É“z³:êVc9g®:Óð»÷… _欅"ïMçÏTí¬dœG£¦ºB¯°Œøgìll劰ãâƒÙqs“a£sò +̅“äDÝ#‰:#’ø¼…¶Âgæ±ï +ÉÅNN{­šöZÚåñ««ð ó~ ê)}%ÆҒ(¢Š;Ý@ ÜÖÇ9¦Ünòv€Bpwñ ”]Kꇫڠ5èvØ[í&0øà1´üø38¨Óq¬YQJNg(9íyK)PŸj +¯^`ã£(©.¶ìאôÓ`{‰qt¦xùhþzàgÚÿŬ)üEˆé%x֜Òoœ,Å8YŠoM–b6YFêØ¥P©ˆ„ÊþϨ¿Çů +endstream +endobj +898 0 obj << +/Type /Page +/Contents 899 0 R +/Resources 897 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 901 0 R +/Annots [ 889 0 R 890 0 R 891 0 R 892 0 R 893 0 R 894 0 R 895 0 R 896 0 R ] +>> endobj +889 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 1] +/Rect [331.964 710.801 359.359 720.814] +/Subtype/Link/A<> +>> endobj +890 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 1] +/Rect [363.062 710.801 381.499 720.814] +/Subtype/Link/A<> +>> endobj +891 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 1] +/Rect [385.203 710.801 421.898 720.814] +/Subtype/Link/A<> +>> endobj +892 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[0 .5 .5] +/Rect [80.603 677.924 107.997 687.937] +/Subtype/Link/A<> +>> endobj +893 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 1] +/Rect [160.266 677.924 206.346 687.937] +/Subtype/Link/A<> +>> endobj +894 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 1] +/Rect [322.2 677.924 421.978 687.937] +/Subtype/Link/A<> +>> endobj +895 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [186.45 650.029 218.318 660.042] +/A << /S /GoTo /D (dot0) >> +>> endobj +896 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [440.493 633.092 472.361 643.105] +/A << /S /GoTo /D (dot0) >> +>> endobj +900 0 obj << +/D [898 0 R /XYZ -16.307 900.716 null] +>> endobj +897 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F57 739 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +905 0 obj << +/Length 1769 +/Filter /FlateDecode +>> +stream +xÚÕZmoÛ6þî_! _`fHŠ¤¨nÐvM·ômK2 @Z²EÛBdɓ¨¼ì×ïhI‰-Û5Yi÷!#ÑwÇãÝs_°3q°ó¦÷ò¢w|±ã#_Pá\ŒA‘ðI\äzÎEè\öÏT¬‚\ (Çý©VyÙ§YÙÐÓêãoéèeš^•ÿ|:wôåâÔ A>祴s}«|ª”ÎÍgÐN څk´3"¸Î€#ß«ôçÉþqù T˜ßõ^_ôþ鐎âp„ï:žOÀÔÍz—_°Â7Џ˜/›Eϙà FÔЎóÞ_=\9¯8„:„"Ÿnlª…38µMƆúGÎå€`Œ—<†.<õühà2Ö'ȈTã]ö68‡Âè=ZŠ½¨=9Nã8=¢¼%“òUT¹=(q”법ŽËçh$“zrô4¨>Oƒ#Šû×G„÷+áC¥’²5 Âê]%#՘΅ոlgåÐÐʸKOaäq¿ë"i¦rá$´ÙM¯ÒÙ,M¶xƒ!WðÝÞX¬Ýuú0¾…n˜ÔÝD2äy&0ºGÛlt%rùR·V„ñR—B"WŽûL)o8l]d 36HĄ¬MxY¤ÿ=pí© +’,&vo¦*±ë9J­nµ¥Ø ·ë§¹¥È°P‡‚"&–"+Yõ»O©\y¾Ú®ÔݪØ݉¸ Ù²3ðY¡e5úŐ´&Ոnäf'¿ÁËÄ÷çeãtƒ}„!¼åPœŒø>¢”´àdgéPeºÄësÜéJ¦£!¬‘ hÿ\v¸ÍÔxéßq:'{@:€1óܤ3ΐp»ƒô†üvÞÞX{Hgܝ¤¿˜Ïã;;l™z4=,æÅ|žf–ø›3Ûêª\GI £Ô²¶D–ýLïÃ×áø§­½K'«Ì’E¦E6Rã4k–Ý™ÇÜe ?|b¬Êo™­Ý#1˜0¯ÊÄ°&0™Z áêË3S_2nËìÃHÀðžÙ3:<þˆRÆ* +¡XÔõa\&Wº˜ïS`„’¸ÝÕ×HrÖY¨7ä· õöÆîê#ÂH½Q:K¯m¹íTÙ£u>F–ÝgQ®ƒ+ c¶Õ(°ßm¸‰ôôÀ£‹ÛUC1Ó |ìbßõ;$R¾í?Àä~/ÔÝÈ·¿xÿîÇÞ êrã¦a!ˆar¸}PB`¢¼œû­2Ṉ•“`O2uϹ§ÑdßÞS) ˆ'iw˜J¥YŽu‡© ùí0µ½±ö˜J¥©0õÙ뎿K +·;¨nÈoÕ퍵çoDxˆÐ +ª_“qtۊ‹]>s±ØO¾ì`A–`¯’¼È¬—éeeøðê“í‚þúÏ4J´å¹Z`kêD%* ´íbޚ;…{„™µÜíKmKnÀ´ƒŽ¹ˆ¹]°1ºåšsø_•ß2Å[kÏÆHR_ózü¶Põz°= >œÛI¾VYn}Ha{lÍÍòÕ;{œ!æ#)½§Üª&P÷}ïû×gbvÇ:,Ï ïî®YC~ËÜmmìåûÈuýý·¬‹V?ၫáLé t`YºË½ ½³ »‹'½ê%͹€> endobj +906 0 obj << +/D [904 0 R /XYZ -16.307 900.716 null] +>> endobj +2 0 obj << +/D [904 0 R /XYZ 56.693 759.068 null] +>> endobj +907 0 obj << +/D [904 0 R /XYZ 56.693 731.272 null] +>> endobj +6 0 obj << +/D [904 0 R /XYZ 56.693 701.45 null] +>> endobj +908 0 obj << +/D [904 0 R /XYZ 56.693 673.064 null] +>> endobj +910 0 obj << +/D [904 0 R /XYZ 56.693 627.296 null] +>> endobj +911 0 obj << +/D [904 0 R /XYZ 65.161 626.738 null] +>> endobj +912 0 obj << +/D [904 0 R /XYZ 56.693 580.472 null] +>> endobj +913 0 obj << +/D [904 0 R /XYZ 65.161 579.914 null] +>> endobj +10 0 obj << +/D [904 0 R /XYZ 56.693 542.763 null] +>> endobj +914 0 obj << +/D [904 0 R /XYZ 56.693 515.21 null] +>> endobj +915 0 obj << +/D [904 0 R /XYZ 56.693 468.2 null] +>> endobj +916 0 obj << +/D [904 0 R /XYZ 65.161 468.884 null] +>> endobj +917 0 obj << +/D [904 0 R /XYZ 65.161 457.925 null] +>> endobj +918 0 obj << +/D [904 0 R /XYZ 56.693 410.417 null] +>> endobj +919 0 obj << +/D [904 0 R /XYZ 65.161 411.1 null] +>> endobj +14 0 obj << +/D [904 0 R /XYZ 56.693 373.95 null] +>> endobj +920 0 obj << +/D [904 0 R /XYZ 56.693 346.396 null] +>> endobj +921 0 obj << +/D [904 0 R /XYZ 56.693 299.387 null] +>> endobj +922 0 obj << +/D [904 0 R /XYZ 65.161 300.07 null] +>> endobj +18 0 obj << +/D [904 0 R /XYZ 56.693 251.961 null] +>> endobj +925 0 obj << +/D [904 0 R /XYZ 56.693 224.407 null] +>> endobj +926 0 obj << +/D [904 0 R /XYZ 56.693 177.398 null] +>> endobj +927 0 obj << +/D [904 0 R /XYZ 65.161 178.081 null] +>> endobj +928 0 obj << +/D [904 0 R /XYZ 56.693 119.615 null] +>> endobj +929 0 obj << +/D [904 0 R /XYZ 65.161 120.298 null] +>> endobj +903 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F52 695 0 R /F93 909 0 R /F95 923 0 R /F98 924 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +932 0 obj << +/Length 1782 +/Filter /FlateDecode +>> +stream +xÚí[Y“›F~ß_A•,=lkî#yóY9|Ä»©¸Êö#‰Á¡=òëÓXK¬å-bã”ýÄZ=ÍÐß×Ç f ž=:==“$°`SÁé4P ” åÀupïo\âÂ¥3I/³Â-«á4Ë«A1¯/>É&²ìcõãíÉïç¿â4ǔ‚•²ÒvR\%n9w®X–—qvœ]ñrv¡hʃc V×ó3Ô§Í`T(SåÿŽžž}:¢¨4 +”偶aÁdqôî "¼†óƒ°&¸XK.I 0®pœ'G‘z!ZXËÃó ͸T³@ ”¨Rsy^ Z¨€56È]0Ý©Êwn€ +ÝLP)¦¥tWý¨¢mý’PÐÊxÍ°¹Ì +,³0v­0ŸÕàMíˆø×® ֎X.(^;ÏË,_„IüOœÎÖN°[_ðîX2ˆ#—ñ4v¹Ÿ|‚î»:ó“»â¹ÔOøåã·~‚aù ¾zýl[pk¥·àqíc¸¤ÒtqâǛ4Ò ’J–UOï=crËäÖ7 Ð%I%ü›‹‹ùp}§ÏÂy2Ë]úÓð˜²ráãt‹Ì­Æ•¾Ûoï•Ñ~•UÀ…ì ¿-ýÝðÛÝXü*kAqބ’h5q¾PœÍ¼q~îòq¶Œ‹«=!> +\ªû„„Ò0Põ‰Ÿ+‘òTGQ6#«Aî‹…ONVQ´'¬HRðþ°²­¿#V:»V¤Ãk×x•&W~Î?ÉÎ<%ãE8sK?Ù,õEj™z –‰¢—`“HúiÍü䞾þó‘¯Æ,9ìܓ,Ïݤðþ+N£ìÂó1Wž™»³,/œgv§mZ’þŠ¤D6¼ôžRåò˜hҀÙ|#sìK>‚ƒ4¢?nØÖߑº{“ ŒbjV`t7½{À Ґ±¼‘`ÖÕ_TcåMêr†°†“`ÕXYLa;ª¡SQRzöËÏ]rV›+E†ÕgO›²rš%I6drpQæëS“y˜ÎšBt¦CŠº«3ã2/_aTŸC¨^W«•³ò¹© µjÜõb§‘BÇt¦–›dúe\òåv=\újœWU4l¯ ÞpYXZ0æIÁ“ð<Žªˆÿ8.oR$wÙÔ=·ºŒ”XqËd‰ gm rK7`w7Ö?è#°™ê/²Ü3Dnx¨›oøÂíbNŠ,¿‘|ßîD‚!÷šMKd !‰›ñ*N"¸\$¾È¡«êÓeI8PÛ_ºÜÒß9Ý9D0´)-Ù¹ov3ÉWSÏdlšg ß~Ðôÿ^B€uë‘ì‹^a(ÞGØ-ó‰'€Ëž3—ýáW( +“š¾ðÛÒß ¿ÝõǯP”¶ ~wøíA ä[§-ÝY˜‡…'ŠÞxŸ`òç]Ï{—É—ËäÀMå¿Ãóз¢\+Ç€/â$b¹[‡io¦áL³£uX¦IbßΚàX— Ó#ÕP‹©íj¶õw¤šÎÆîA5˜&­PÍwG5ñOè}R ·H³cyªy~tÓ8qMkÏ…ƒw­ûã®Q£1½ñNK7Þén¬?ïpChùƒw¾7ÞáZ€¶ö^yGJ`ÍNëÁ‹©Ñ$[ŒRwyž»QúiÕ\ú¥:ž†ËP.m›¢êߛšêöëֆ‚Á\‡×; +„¢ ”\h5ò\|H=–tœKÔ¥úã»mýù®³±{ð·Àtݏ{áòÙ÷›vc²nü¸w³ӎó0ÌËÊaånéy_ñr¹j3ÓúÂN¤aBÔ×v¶ˆfayG!®¾ÜÁ–_øÃ`^,|÷XÝâl'eØ>6!9“@Ø-ï·µ­mcçë×oB~{Î]÷Õz þ^neb°#B; pZ'Be*ëë{¡gŸö"ôÝ0wޞ?É]xcÇÜÃ{æÿæ^w_‚IÕ쾪/î¾¾r$ ðËo{óõl—Ü¬_Ö:ÜÞ+ÊY½÷z—7²Þdc—U†sR„WEvýFV”‡Óhã…ã¸íñ5cÆÞßkÆ-ýÝ—îÆú'.å>¼f5?=^;¸GDXÔ­’âÀoJ­½ghºh—*¾ I}öánÕiûƒ‡¾EP 0!î— )¥®™P‘ Ÿ^.]ÆYú3¡ûš¸ÈL …"Xo¢4Ý+O¯¡e«¾Ïo-(Ó`züÖ¢¥¿ v7֟)§e¯¯¢Ü}š2FÞkK… Ìòÿ e/¹Ïï ҂译±­¾:›ê̦ùço~tm¿—®­á@¤îan|ª(eïò¥â¿q8h; +endstream +endobj +931 0 obj << +/Type /Page +/Contents 932 0 R +/Resources 930 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 901 0 R +>> endobj +933 0 obj << +/D [931 0 R /XYZ -11.232 900.716 null] +>> endobj +934 0 obj << +/D [931 0 R /XYZ 56.693 759.068 null] +>> endobj +935 0 obj << +/D [931 0 R /XYZ 65.161 752.393 null] +>> endobj +936 0 obj << +/D [931 0 R /XYZ 56.693 709.908 null] +>> endobj +937 0 obj << +/D [931 0 R /XYZ 65.161 710.592 null] +>> endobj +938 0 obj << +/D [931 0 R /XYZ 56.693 668.107 null] +>> endobj +939 0 obj << +/D [931 0 R /XYZ 65.161 668.79 null] +>> endobj +22 0 obj << +/D [931 0 R /XYZ 56.693 623.076 null] +>> endobj +940 0 obj << +/D [931 0 R /XYZ 56.693 597.196 null] +>> endobj +941 0 obj << +/D [931 0 R /XYZ 56.693 559.8 null] +>> endobj +942 0 obj << +/D [931 0 R /XYZ 65.161 559.241 null] +>> endobj +943 0 obj << +/D [931 0 R /XYZ 56.693 517.998 null] +>> endobj +944 0 obj << +/D [931 0 R /XYZ 65.161 517.439 null] +>> endobj +945 0 obj << +/D [931 0 R /XYZ 56.693 475.627 null] +>> endobj +946 0 obj << +/D [931 0 R /XYZ 65.161 475.638 null] +>> endobj +947 0 obj << +/D [931 0 R /XYZ 56.693 433.825 null] +>> endobj +948 0 obj << +/D [931 0 R /XYZ 65.161 433.836 null] +>> endobj +949 0 obj << +/D [931 0 R /XYZ 56.693 391.745 null] +>> endobj +950 0 obj << +/D [931 0 R /XYZ 65.161 392.034 null] +>> endobj +951 0 obj << +/D [931 0 R /XYZ 56.693 349.549 null] +>> endobj +952 0 obj << +/D [931 0 R /XYZ 65.161 350.232 null] +>> endobj +26 0 obj << +/D [931 0 R /XYZ 56.693 304.518 null] +>> endobj +953 0 obj << +/D [931 0 R /XYZ 56.693 278.639 null] +>> endobj +954 0 obj << +/D [931 0 R /XYZ 56.693 240 null] +>> endobj +955 0 obj << +/D [931 0 R /XYZ 65.161 240.684 null] +>> endobj +30 0 obj << +/D [931 0 R /XYZ 56.693 205.928 null] +>> endobj +956 0 obj << +/D [931 0 R /XYZ 56.693 180.049 null] +>> endobj +957 0 obj << +/D [931 0 R /XYZ 56.693 142.652 null] +>> endobj +958 0 obj << +/D [931 0 R /XYZ 65.161 142.094 null] +>> endobj +959 0 obj << +/D [931 0 R /XYZ 56.693 100.851 null] +>> endobj +960 0 obj << +/D [931 0 R /XYZ 65.161 100.292 null] +>> endobj +930 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F95 923 0 R /F98 924 0 R /F52 695 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +963 0 obj << +/Length 1872 +/Filter /FlateDecode +>> +stream +xÚÍZKsÛ6¾ûWp¦‡È3 €/0ít&qk§i^µÜ63qIlHB%ÁÚίï‚$Š–l*²Ú<$Åå¾°ûíbaìÌ윽¸<:9ó±¡( s9uŠ‚ÐaÄEnè\Nœƒ žñ¸âÇCêãÁ[!y¥o§¢Ô7rn^þ$’B|ÖF¯?]¾1CBPäûšÛHÞf¼šs.+õ¤‡ôÀUÒ½¢¸ÎÐGQhä»À/dƒ}!4Pßý|yô÷îØ!Ž  r0"(ÀÔIò£Ÿ°3w ys®ÊÜñ FÔ à>sFG¿aã¼æêŠ"B|¥“eîÈ'Ö‰6:؏œC‚1ny +m<õìxèzހ 0@ÄØÛö68‡2äy‘f{i=9Y&Ž©?¸N‹™þ)5nõ%K+©ïÄT_“y\ÌìâÈyl^ÏãcŠÿ`˜9/ô]OÌoUZ$¼³œÖXߗÚ4´f·öF¡Yk\X?í$mò7½Ûâ 1>ì‰5Cû™'ÅʶF6,èJ6a +Cì©Ø ñ`™|K’ˆ½)EˆRF{ÈuÑW”úƒžMvxJˆ”€Y.ʗ°Æxt$ã[) +ˆ6Báq"’1ä!º©²ï5ÁMɧ­Ç©Xõ¨…Ar*yêr¾žW$¤p ‘ë•Wêw‡²Áa‘SrgÚN¤5n›½+€ÈeÔ +Ќ‰¢Þ—¿H@ºü}¬Vˆõ’ЙE4ze†åÌÑ7u֖z©x¤à¸Yðç‹Ev»wAŠ©õ]Ä2™÷#•¢]U/â­qç|ҏtÂ+™±LEÑ'Šñü lÞýd°Ì†õÓ­ÔÚɼì§ÉHÔe¡\Îøú'ö‘GÝÃåÅ:ÿ=óboewÈ Ì O :1Æõ¬ßB”üN›7ß¹˜FÌóQ_DÄy®·"n¹.UY5 ˆò3³mE›[——o^ßS]Éÿ_]ç2Ï6hHäaòhõ•BÏI ƒÔõÕýŠúú+Oå\—˳xžÍJ¾¬¯ót6ÏàOîPC} ߣ‡«¡Ðå"ʼƒaE‡ÿ~X±¿²ý±Biê‡&òÉÏy!U¼÷ H‡I֛ZmŠ6àËÛ Ï¸[v~¼¿ì€:;JHïHxv¿YÆE–ä_ÕB<¬P%KÑqè!ìæùŽ"º‹·•ðƒ…Ù‡IE-µÞë¶aÇoÅ©2Äpdç +{ØÀ(kQ…6ǖfØu<;õ +ëü÷…½•í +ÌG˜@Ä컺¡µ½YíÙ,¢g£\Wüq»^S‚{ÀZSÃúàŽãMx…}¼= {wÉoâºLå—~į8 TgÇФŽOzg†j ‚ÿ´ƒó<èZýÐvpîÆîý± `WÆyõmOIÛttrýàñ:90˜¸ô@“’2žJ”ƒŽè&ïÛʹô–žw¸VÎev8Ôîðßµ÷W¶+ç2ª éæO›ï;e˜Æu&¿®‡ÛÎUEÏ3gû´TO¶³.º žôÝ˺aˆHtP$¼3LäE~`çû»ÏÒñ=³tf±ÑNÌËö€PVO,.¦¹šą™•JÖ@¯0¦7 bÚÉ;´ úf2©:@¶€«tV¤ŠI²ä?屬K¾ÐϺ#õ°cS öþ<@ñœg‹îWk{iE8\?wy®„Fƒ‚7Jê‡q©U® FƒáÃ1xiòÞd”¢ª†‹,–ÍFèÙ ‘Û|©~Ó X¬öÉͯu– %W>»1/+—É\nü ¸­4ŸhTúIÞ.Ò$β[+¥¶Ÿ¤EW…궒<¯ÐÆC&¾±€ˆ­ê×µöãÉD$ÕI" + ›Â“dX¸eBAAŒ°Õ)9þÊE¹Œ-í5ËìDŒ¾Lx.Ð}ëÝT»u@€9ÛŲ‘Û¯ŸØŽþPŸ¯œÎ-Bé}F§úp/ mä§9˜ ÁoHJÃj+ ÑÅ0“0†(H[³óÎöº‡¥ïôÅÂ:@˜¨;^ãýë¹myëj‰ÒO´D· ¦a²œFæñgŽ("Å6l€(ˆ–ÐðdsöWR$æpüt4jÇÌú o!–֐ôAOR–60ž4ó®Ÿßÿþ¢·'ƒV©5ê|lž1w«i0x{úᩍ«aÙñHBÆ+P•h]\ÐC³M ú†ëá- "Mx³Y¥K»\~sÇé>¢÷ìu6ýKƒ‡¢¯ù†50Ég +endstream +endobj +962 0 obj << +/Type /Page +/Contents 963 0 R +/Resources 961 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 901 0 R +>> endobj +964 0 obj << +/D [962 0 R /XYZ -16.307 900.716 null] +>> endobj +34 0 obj << +/D [962 0 R /XYZ 56.693 759.068 null] +>> endobj +965 0 obj << +/D [962 0 R /XYZ 56.693 731.272 null] +>> endobj +38 0 obj << +/D [962 0 R /XYZ 56.693 702.199 null] +>> endobj +966 0 obj << +/D [962 0 R /XYZ 56.693 674.337 null] +>> endobj +967 0 obj << +/D [962 0 R /XYZ 56.693 629.945 null] +>> endobj +968 0 obj << +/D [962 0 R /XYZ 65.161 630.629 null] +>> endobj +969 0 obj << +/D [962 0 R /XYZ 65.161 619.67 null] +>> endobj +42 0 obj << +/D [962 0 R /XYZ 56.693 583.268 null] +>> endobj +970 0 obj << +/D [962 0 R /XYZ 56.693 556.238 null] +>> endobj +971 0 obj << +/D [962 0 R /XYZ 56.693 511.847 null] +>> endobj +972 0 obj << +/D [962 0 R /XYZ 65.161 512.53 null] +>> endobj +46 0 obj << +/D [962 0 R /XYZ 56.693 465.17 null] +>> endobj +973 0 obj << +/D [962 0 R /XYZ 56.693 438.14 null] +>> endobj +974 0 obj << +/D [962 0 R /XYZ 56.693 393.748 null] +>> endobj +975 0 obj << +/D [962 0 R /XYZ 65.161 394.432 null] +>> endobj +50 0 obj << +/D [962 0 R /XYZ 56.693 356.958 null] +>> endobj +976 0 obj << +/D [962 0 R /XYZ 56.693 321.317 null] +>> endobj +961 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F52 695 0 R /F93 909 0 R /F95 923 0 R /F98 924 0 R /F57 739 0 R /F102 977 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +980 0 obj << +/Length 1726 +/Filter /FlateDecode +>> +stream +xÚí[moÛ6þî_!`_`fy|·/[Û%[×v[›ÚbP,ÚVcKž$7YýN/nlÙi©J +2 ŸLSäñtäóܑõÃ>Gu]½î:ȧ‹f„]<ø†Ð 4q]ÑEô¡ý»D·”>Æø¢OO¸Üt]÷¾Mô+ŽCـ¸æšÁ‡Ãõ¾üŽ¸î¬l \ ÜHòÝà7l¨f}Gª¯\•ø9pd\·ÿ» Ybà"¤¸Sj ²Of¸È™!ÝÖ-Ò6lè’ZÇÂP¢ÀŒ-ò»±EweÝÙBNÌöŒ©]TóüÀƒ0…ÀàLÝéA(A4È™b²Âô{Ø#uóúƒ˜¤>s”;Š ߉ÅZµ·”*ôS ª’-!W-ù€´$8ÑF GKûò;ÒRge[ÐÆÛÔgQÌ}ä& 0ýn_­É 4ñ ôHNÁ1҉ÿþååau!²Õ‘ Rn«ºÁi -n˜?-qƒˆWf0ZjÈïFKݕmAK”&ë[—öꁒî%ñ"Šõá.)‰k Té¡ã¥à°.ý­¹Æqqžàb"î4Á‰Q†»MÞ³/ªó0[8#0¨‡áœø@8.Ó©!¿xº+ë`Hi£1‹®ûÍxœdGÜÚô—§Ž¡ü2s<™9’¿Í¦6ƒ8Ïú\¸Ô=Y“?È­Þ«ìöd™d®dÍðá&ùD"ޜ“O@cX,îôâ¤$‚}MjÙ³(½ *Žú-uùé<h›X÷Ø(uÀ2à‚ Ôáèi_~Gzê¬l zâhjóé3‹4Z¯]*L®â&œ¾ý<œfA–»ÆŠ m×Ô/WØù‚ÁŽG¿·ï ¹bãœüvµ°±óyIÚ³šqòÙPœŸG ‹îå¥.Ù£!¿#^;+Û"¦ˆÏëcò˜8úØâ˄é&˓ձ.70p˜J< ;⡌ƗW=‡ÑYAwqvã§jyǾ”ÐꆪíGbÿçò +endstream +endobj +979 0 obj << +/Type /Page +/Contents 980 0 R +/Resources 978 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 901 0 R +>> endobj +981 0 obj << +/D [979 0 R /XYZ -11.232 900.716 null] +>> endobj +54 0 obj << +/D [979 0 R /XYZ 56.693 759.068 null] +>> endobj +982 0 obj << +/D [979 0 R /XYZ 56.693 738.489 null] +>> endobj +983 0 obj << +/D [979 0 R /XYZ 56.693 692.152 null] +>> endobj +984 0 obj << +/D [979 0 R /XYZ 65.161 692.163 null] +>> endobj +985 0 obj << +/D [979 0 R /XYZ 56.693 645.327 null] +>> endobj +986 0 obj << +/D [979 0 R /XYZ 65.161 645.338 null] +>> endobj +987 0 obj << +/D [979 0 R /XYZ 56.693 598.225 null] +>> endobj +988 0 obj << +/D [979 0 R /XYZ 65.161 598.514 null] +>> endobj +989 0 obj << +/D [979 0 R /XYZ 56.693 551.006 null] +>> endobj +990 0 obj << +/D [979 0 R /XYZ 65.161 551.689 null] +>> endobj +991 0 obj << +/D [979 0 R /XYZ 56.693 504.576 null] +>> endobj +992 0 obj << +/D [979 0 R /XYZ 65.161 504.865 null] +>> endobj +993 0 obj << +/D [979 0 R /XYZ 56.693 457.357 null] +>> endobj +994 0 obj << +/D [979 0 R /XYZ 65.161 458.041 null] +>> endobj +995 0 obj << +/D [979 0 R /XYZ 56.693 410.734 null] +>> endobj +996 0 obj << +/D [979 0 R /XYZ 65.161 411.216 null] +>> endobj +997 0 obj << +/D [979 0 R /XYZ 56.693 363.708 null] +>> endobj +998 0 obj << +/D [979 0 R /XYZ 65.161 364.392 null] +>> endobj +58 0 obj << +/D [979 0 R /XYZ 56.693 327.241 null] +>> endobj +999 0 obj << +/D [979 0 R /XYZ 56.693 299.688 null] +>> endobj +1000 0 obj << +/D [979 0 R /XYZ 56.693 253.92 null] +>> endobj +1001 0 obj << +/D [979 0 R /XYZ 65.161 253.362 null] +>> endobj +1002 0 obj << +/D [979 0 R /XYZ 56.693 194.895 null] +>> endobj +1003 0 obj << +/D [979 0 R /XYZ 65.161 195.578 null] +>> endobj +1004 0 obj << +/D [979 0 R /XYZ 56.693 149.312 null] +>> endobj +1005 0 obj << +/D [979 0 R /XYZ 65.161 148.754 null] +>> endobj +978 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F52 695 0 R /F93 909 0 R /F95 923 0 R /F98 924 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1008 0 obj << +/Length 2341 +/Filter /FlateDecode +>> +stream +xÚÍ\moã¸þž_!ôZ\4\¾‹¼¾àzíÝÛ½C»I»÷A±GˆÞN’³ÙûõÙÎ&–íxhJF?²cj8"ç™g8CŠFóˆF?ž}w}öæE#K¬æ:º¾4':Ž DÄÑu}8ïr—´îâ’+zþsÕ¹võñ¶jVº»õÿ¨fßUÕýê˯Þ]ürýº¹dŒX¥VÒ®ºÏ¹kïœëÚþgèEz×¢ï]ƜÄLD—ŠØxÝ¿y±9³º0®ûûξ¿>ûõŒt±Hi¢­ˆbˈ¦<šg~¡Q +¿AÿDZ}Z¶,"Å(áBÃç<º:û÷] ûýåÇ’a8XÌ£XZ¨î%÷ÿW4&±Ô'ÖبqÑí^QØ„!LÆO¬³¾u¨|E˜fCùŠ2kƒêáå0kb¹AÙ¥Àf­>¼_"LáÒdo +Œ[²yF¤XÏßÒÔ¥Ëéß/)úp©)XgöˆkØÝ%®eݸÖ5®Å5ϳò~£%<À›õ?¶o9ÿ¶©r7h¿”ó‘*ºÿ¶"¹÷QÙ4+±ƒçp wëWÎ6›Ã”«S.4€Uqøi9Û©¤+~nðOm.Wò6¬lÃ5<á‹Ç„3¾6åâ+XY ¾À¥i©Ì0è±^ gZÍ…+»¤Ëª b¦ í'âMùC¬,bˆ¿(n‰bk6û”uw8ÈìrçùÝ~WÐÍæÃæû[/»øT5[. +Ü #XTA˜Àe+î¹nÇ%kŠ×–ªÖcù‘s5ô'/Çß ²ö?%‹&ë~»X>ø[—”mU~sqÉxï-Éc›#[¾4”É¢óÉ`ôBv„”ÄG:V„ƒ7\ÎâÙ#6¸YÌ[,9åI‡ÛU¸vERÖÉËÍI‰ìþ˜ê²X¸jm eü¤x•11܁׷YsŸ¬ÐúϪu÷OXvʺ̵>üiõ{²èª,}¼¼ïÛùàâØX° q DO‰åMùxVÖӂ·«™þO=o’tlü-Zdh:«Š¢BÆ»OÆ·ûnóóZ¸†ŸîRé¶*ÐC‘:ôè"èÛ¶jºäH78X Hjˆ‰Ù  ¡ab:¨nÊ„j°² Í)a«ÁÄ[RY!Õ} ÕpÞT‹:+çKêÞò†wì•_Ýb—Æ©{ì\S´GÓ0DÍæ´a³‚°¹ŸÕÑXø)b^3ðòkÚ¥/¿>y ?+#ˆ’b:~V1'ÊÈÉ@?úpeñü¬ æ6p]'€o“YW5XŸW³$Ï~ۑCØËP‹º¬z²ê»¤œ/ ÄÆ&st0Þ8ì“âãìX¤®²àᡸªKõ«ÜÉÿSP§ÒŒh®¦CѦü@+ëAJKb§—Ùa­ï¦Zt»Á‚þK1J¢…>)Å0%&àì3sC„R²‹‰°z:;ߔhçÁÊz°DˆÚHï͗¹}ösßìæîÝçvä˜2+ê¦zÀª[»$ƒwž¹qCJÂì ÅV}úŠ,nMWïda‘Æ€a©iˆ„j"ÅtEšü@€+ëC$´Úº +ú/_;œ'Øz^‹¬­àcù Sxò¡‚HiOI>Òpµ¹,ÐeČ$c†f¦£ WN§«± ä‡!$\Y<IxiãcŠ»¬ý+n×q|¨À»¦Áò ¾ø÷ظۑKõ½1‡û¤²„Ÿ´xî•P¡@õûêÆÁzrµ6ê’ÏÝ3¨«~„¦!¬´bÂbŸ„HÍNGz›âªª 9þ\õ9{ŽEMÃ¶ß²¶ËK¼V‹ß…¶Õø;X÷çè|eVvM•.fXO·í{›>Ø:ål:Óܔh›ÁÊâwtH+èº|5ܵï¯÷GV¶Î'ÛuÞ%ÍÜuéÇ-iÒ%Ãæ_¿n+ê¾~l^[R îú¤ ! î3ҎËsWöë+Ž÷ÅjÂB²€kl§«N ä‡!1\YÌäfÆTùnMô4ì"(mªi^XÎðړx,·pi‰ä'-×qn—j\ni»&«KŸ •3K˜œ°\Ç©!ÌLW®È„n°²ÔÂØó¡Ãïkôñ—=ÉÖW–“W½YÔè´z™®­“ÙÎn!2 ps‹Þ’ˆõ,Iúµøù͑Ží ^˜ Ÿ. ¹)>̘ƒUõ !JŸw¢3aè“Ó_ ‰vó Ç0³Ü3;%#°Xy®sTF`^Û _óÀ<&®¢6ˆ¡`eñ„ÀÀ`…°šÒÒa=ñØ`‡kúîwÇÆg¿w;¶:¾R¼+‡ç°^oÞ:Ÿbbòdyrƒ­<$M†o}ã–k_b‘œP9Ý9Ɂü@X+‹ç&yÊÁtwØäE•.°–ýÉ ,ފ¤üŒÜ,›eÏ@ˆ“2‹‰ûž›ÄàzÇ& ‹¦<å¸)> gÁªz°( +û6°¯MúŸÃîw öûëlº¨FŽ[—»2¿àûwáùÿ®$¬«ÂŸ#ÆÔ¬*êE7vîS4¸ÃÞhbÔtµ¬Mña¨ VO~–àÚ§ôÞØZV»0þçW*ÁÝV÷××± Hì_¦Ôbß-uNãt/ñª]½ð=¥ù÷¼j±/÷×eÌb£#ˆÑS˶Þ8()¡ÚóÂÁÿïmH’ +endstream +endobj +1007 0 obj << +/Type /Page +/Contents 1008 0 R +/Resources 1006 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 901 0 R +>> endobj +1009 0 obj << +/D [1007 0 R /XYZ -16.307 900.716 null] +>> endobj +1010 0 obj << +/D [1007 0 R /XYZ 56.693 759.068 null] +>> endobj +1011 0 obj << +/D [1007 0 R /XYZ 65.161 752.393 null] +>> endobj +1012 0 obj << +/D [1007 0 R /XYZ 65.161 730.476 null] +>> endobj +1013 0 obj << +/D [1007 0 R /XYZ 56.693 686.805 null] +>> endobj +1014 0 obj << +/D [1007 0 R /XYZ 65.161 686.247 null] +>> endobj +1015 0 obj << +/D [1007 0 R /XYZ 56.693 641.729 null] +>> endobj +1016 0 obj << +/D [1007 0 R /XYZ 65.161 642.018 null] +>> endobj +1017 0 obj << +/D [1007 0 R /XYZ 56.693 586.542 null] +>> endobj +1018 0 obj << +/D [1007 0 R /XYZ 65.161 586.831 null] +>> endobj +1019 0 obj << +/D [1007 0 R /XYZ 56.693 532.201 null] +>> endobj +1020 0 obj << +/D [1007 0 R /XYZ 65.161 531.643 null] +>> endobj +1021 0 obj << +/D [1007 0 R /XYZ 56.693 477.014 null] +>> endobj +1022 0 obj << +/D [1007 0 R /XYZ 65.161 476.455 null] +>> endobj +1023 0 obj << +/D [1007 0 R /XYZ 56.693 431.543 null] +>> endobj +1024 0 obj << +/D [1007 0 R /XYZ 65.161 432.227 null] +>> endobj +1025 0 obj << +/D [1007 0 R /XYZ 65.161 421.268 null] +>> endobj +1026 0 obj << +/D [1007 0 R /XYZ 56.693 376.356 null] +>> endobj +1027 0 obj << +/D [1007 0 R /XYZ 65.161 377.039 null] +>> endobj +1028 0 obj << +/D [1007 0 R /XYZ 65.161 366.08 null] +>> endobj +1029 0 obj << +/D [1007 0 R /XYZ 56.693 321.168 null] +>> endobj +1030 0 obj << +/D [1007 0 R /XYZ 65.161 321.852 null] +>> endobj +1031 0 obj << +/D [1007 0 R /XYZ 56.693 276.939 null] +>> endobj +1032 0 obj << +/D [1007 0 R /XYZ 65.161 277.623 null] +>> endobj +1033 0 obj << +/D [1007 0 R /XYZ 65.161 266.664 null] +>> endobj +1034 0 obj << +/D [1007 0 R /XYZ 56.693 221.752 null] +>> endobj +1035 0 obj << +/D [1007 0 R /XYZ 65.161 222.435 null] +>> endobj +1036 0 obj << +/D [1007 0 R /XYZ 65.161 211.476 null] +>> endobj +1037 0 obj << +/D [1007 0 R /XYZ 56.693 166.564 null] +>> endobj +1038 0 obj << +/D [1007 0 R /XYZ 65.161 167.248 null] +>> endobj +1039 0 obj << +/D [1007 0 R /XYZ 65.161 156.289 null] +>> endobj +1040 0 obj << +/D [1007 0 R /XYZ 56.693 112.618 null] +>> endobj +1041 0 obj << +/D [1007 0 R /XYZ 65.161 112.06 null] +>> endobj +1042 0 obj << +/D [1007 0 R /XYZ 65.161 101.101 null] +>> endobj +1006 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F95 923 0 R /F98 924 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1045 0 obj << +/Length 2209 +/Filter /FlateDecode +>> +stream +xÚí\KsÛȾëW v/ҁãycf+I­7‰]q^KI¥ÊÞDI”@€ €–˜_Ÿ®P¤€ÉÁ'QÄ §1Óß׏i‹€ï¯~º»zóNÑÀ«¹îææD‡a‚ˆ0¸›Ÿ®?ºÄE…»™pE¯ÿ–•®¨?γ¼þP.›‹Ȧ?eÙCýÏ¿oÿróóݘf±JÕÒnËm⊥seQ]†ÙY``v-ªÙeÈIÈD0QĆÍüä…æúMý‡q]ÝwõÇ»«_®H§ ”&ڊ ´ŒhʃéêêÓÏ4˜Á5˜ŸHk‚ÇÝÈU %\høœ·Wÿ¸¢ÍBÐւð†…ÊîVd/\Z¨®u‚ÕÙi±¿-ø4a”Òëwoêå’ +pI¨”õ½wûåšgI’Ýpuý§‹ú«é2Jû^F7œ^¹a꺹ãÞ¹´þ´ŠfÍweö¼ »¹A×繙‘$ «çÝÍ=Ï^яI"¥Ú™f{ÉEœN]g‹, áõç¼6 Ò^‰ ³–pÎvm…©¥~æ\µÆíôÜm¼¬t0Dj³Wácvïòòf¢aEoËh[fé7Æáß2ºOy*’ZØU%¯úó¾m`Ç,䁶°ÿFT&Q}¯hHB©N¬±Aî‚ùKhI{ýÛà BK—û jÁ¬í+_¦YW¾¢°°R˜^âCËíÊî拠þð±Lk+·¤ZÉa¼ÞÑwñSk÷傪í¾ß,ºÀª¾æ°­uséȽ•i¼vóäômoË2ï7¥Ãiøcž=.À/ǍO³7ð1Ë*"h þº‡š(¡| üÈßCßÐ0¡V’p-Ïö_£M—ÿ©‘ýÁEiñŒì8Mâ´´¥$š m!ˆÖjçk° C¥š-nܦ@‹|pÛ¢«.9Í>wK$ïd r‰wÇ8QÀœÏãiìÒ²‹uõÂ<$D\±=Ú?SI›Ä¼ˆòöc&X°s !ú ‹mùžXôVƒEˆG5„mšC¬ WvË ž)Åm)€vê +¼iϲéfû_ôõOü‡2oãÚò=7Î[YÄÆýª¸"T4^ô1.—¸}XEé ÚÊ¡ö¤åcôõõ}¦RsÉ8D ±}8p‚—‰[G‹>‘ˆ‚ÌH=^$¢ÀfŒDù~ òW‰( Iy¨J2 UJЯ$›r™å]”¼9“dù"Vnàd!Z¯]”£Ù;Cz…õ#`ä\²Pð×Ø˒…¤-˜“–E­—ñ´èC.¾ÄÚàdÁ)¡ÜŒGmùždá­l²à‚֐ÅÛÙ ›³›õ:ˑÀœgȺÀí¿Þcãù´ìÞ'œ>rÜ +à;‹Êè5"üLÕq„)Šuœc›e­£rº|M™ï¹¥–) J14¿°b+{I~‘Vî`0,¿ô-wJå#’‹ %ÀxäґïG.þÊâÉE†×*½?2YáK"@/.Ÿ'›lƒÌÆKW”ØÒV |â8ÍVëM‰Ž<¦Y²Y¥=j8ñ¬\ö,¢üÒWœüujÂ0bÃQjR ©;mùžØñUöxÅBÂÒ6yÛ÷‚R +± A/"ݝ.]’ÚEXIø—»%7DP;"µƒÓãU»Ûâ=ÓWÕ¼ªÞ…÷Wñaq­¹ô›ãä÷«9Žu˜§2òªÈq~qqfêWπ.¡%ÅE}¤P„‡ü 'ù!΢ÚEþ¢‰‡½ƒ¬ÚâÙÓä¡ú²£ jÁFt”è‡Ç¶|OIYäÙf}˜kŸ:”­lx:Ǟ½ÌܓW… HP^Òéò<©:ÝÝ2ôp¶\›]£ðhΖC(cÔxîÈ÷ƒ°¿²xgË5#L²oÞö›·ý?ñ¶\jbìxEèŽ|O¨z+ÛÃÛrE 3ü›·ÎÛr)ˆ¥ú¢Þ–3H,Õ°-‹O¹›÷ñ·ÕëxVŽèoUtē¤Ž|O{+ÛÃßRIžÝŠÞ½?Yõš¶Õ Ï‘ÞFëºÄ{7ärÎÎ%f)¡áx/+täûÀ_Y|Ï;³‚ˆý›cogØޔ(OÑîc劢ۙz\2ºí>Fêú%J6ƒ£¥Ì·èçÇæ‡ÀúºY‡–06^zG¾§Y{+Ûì«sUÚxuì`iÈ%n…nÿ,—Q90]¦ÈçY¸Ôåà*° $ogók¨ ãmgJ@Z>t{'n°µù¶GôƤ$œØáɄ \×áّï‰roeñÑš(ùü®É¹µ„ç¦A­67¨–ë&×6ó[¹N ¸&¹ŒÒYâÐ/«æ¹›–ÉÖ笒 J¸¾h»7ƒ9¬øÇ-î“lÚç˜Ò"ԈT`B"ìxLÐïGÞªâyâemš#ʹ÷ïZH«txºnÙã¥,<ò¿,ã¢Ìrd3Ì}î¢dÀPÿ&ª_8Ï:¤Ö# 0¢®1PðÃBR¤š_úþ®Ðn¢ +endstream +endobj +1044 0 obj << +/Type /Page +/Contents 1045 0 R +/Resources 1043 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 1075 0 R +>> endobj +1046 0 obj << +/D [1044 0 R /XYZ -11.232 900.716 null] +>> endobj +62 0 obj << +/D [1044 0 R /XYZ 56.693 759.068 null] +>> endobj +1047 0 obj << +/D [1044 0 R /XYZ 56.693 738.489 null] +>> endobj +1048 0 obj << +/D [1044 0 R /XYZ 56.693 693.087 null] +>> endobj +1049 0 obj << +/D [1044 0 R /XYZ 65.161 693.771 null] +>> endobj +1050 0 obj << +/D [1044 0 R /XYZ 56.693 648.47 null] +>> endobj +1051 0 obj << +/D [1044 0 R /XYZ 65.161 647.911 null] +>> endobj +1052 0 obj << +/D [1044 0 R /XYZ 65.161 625.993 null] +>> endobj +1053 0 obj << +/D [1044 0 R /XYZ 56.693 579.45 null] +>> endobj +1054 0 obj << +/D [1044 0 R /XYZ 65.161 580.134 null] +>> endobj +1055 0 obj << +/D [1044 0 R /XYZ 56.693 533.591 null] +>> endobj +1056 0 obj << +/D [1044 0 R /XYZ 65.161 534.274 null] +>> endobj +1057 0 obj << +/D [1044 0 R /XYZ 56.693 488.973 null] +>> endobj +1058 0 obj << +/D [1044 0 R /XYZ 65.161 488.415 null] +>> endobj +1059 0 obj << +/D [1044 0 R /XYZ 56.693 432.155 null] +>> endobj +1060 0 obj << +/D [1044 0 R /XYZ 65.161 431.596 null] +>> endobj +1061 0 obj << +/D [1044 0 R /XYZ 56.693 386.295 null] +>> endobj +1062 0 obj << +/D [1044 0 R /XYZ 65.161 385.737 null] +>> endobj +1063 0 obj << +/D [1044 0 R /XYZ 56.693 329.477 null] +>> endobj +1064 0 obj << +/D [1044 0 R /XYZ 65.161 328.918 null] +>> endobj +1065 0 obj << +/D [1044 0 R /XYZ 56.693 272.658 null] +>> endobj +1066 0 obj << +/D [1044 0 R /XYZ 65.161 272.1 null] +>> endobj +1067 0 obj << +/D [1044 0 R /XYZ 56.693 214.598 null] +>> endobj +1068 0 obj << +/D [1044 0 R /XYZ 65.161 215.282 null] +>> endobj +1069 0 obj << +/D [1044 0 R /XYZ 65.161 204.323 null] +>> endobj +1070 0 obj << +/D [1044 0 R /XYZ 65.161 193.364 null] +>> endobj +1071 0 obj << +/D [1044 0 R /XYZ 56.693 146.821 null] +>> endobj +1072 0 obj << +/D [1044 0 R /XYZ 65.161 147.504 null] +>> endobj +1073 0 obj << +/D [1044 0 R /XYZ 56.693 100.961 null] +>> endobj +1074 0 obj << +/D [1044 0 R /XYZ 65.161 101.645 null] +>> endobj +1043 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F52 695 0 R /F93 909 0 R /F95 923 0 R /F98 924 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1078 0 obj << +/Length 2065 +/Filter /FlateDecode +>> +stream +xÚÅ[Y“ÛÆ~ß_GíGsN*Û±œÈR\‘6©TI~É!‰hÜ#¿Þƒë%öjpúi±d£§çø¾îénÒhÑèNjï®.Þ¾S4rÄi®£«E¤9Ñ&²La¢«yôåÍ'Ÿú¸ô—®è›æ•/ÛÇE^´Õªûòoùì»<_·ÿü÷ó‡Ë_®ÞÃ0ƈSªÕö¹ºK}¹ò¾*ë¯atY]‹zti81LDEœéÆ7 ÏØ7oÛ?Œëú½‹®.~½` F,Ršh'"ãєG³Íŗ_h4‡ï`|"nÉM¤%\hxN£Ïÿº ÝBÐgd¯[:¨nMúʹj¬Ø¿ööˆ4Ӑõ;–Hmá‹výò©/ªË‰¦fßUyöÍå„qøw™æewä¶L[}°PµÊúϏ‡s„a†GF8•«çX®¨!Fêˆg]TøhñpRڞþôñܱWߪeµl¨vE˜f‡ÚeÄÀBaô?ÜlMwÁ†6êŠeÔ>|êöþ`w¤YsF”µívþ¼«¶»ê`÷«Š¾4۝ÌqrqUÉtWC %Ÿg8¹æ|͓kœô4Ígk¤eŽ“n¸ÃIÎb䤦¹¨ó¹G®՛Íë(d†Éƃɡþ@ ‹€Ê=¾)Ñ0f•ÛÂ/°'ºÀÉ]ýüý ŒB°ÌÉ$Š‡0ç3ŸuºvHæŸñ>)Öqë2~ÊK¿Þ;ŒzE8 m±\Œç,´¡Ä‚ýcá §? áÆâ]†6’0mšÝü!‹§)–‹VwەÏâ*Á’|¾ÀÉýûÓ$oÀœä.M²5’ßó¬òÖq–h÷‚ôWñë6Cãg^ÅÅÒW=ŒÖ†X£ÎÊV@çøiCܪ>úC(K(pVjDÊâଏ²õRV°±(‹pV²ÝÑo·Û¸mãj¶:.ÎzVnW ÉÉ~E~ƒô³]Q¢Ù7AŽŸ!§þ×M^x0¶çæ°-|Ùgá1”f‚HnÇÏ¡þ@ð‹{5ÓÄ°.ÇqµÂú¯›$Mq’¾‰!p²×¾@b7­]֋ÁøèiU«{IF#³ÜÆY–dˑîtšrðin¼³}¨?ðl;àlSEŒêR_Û"Ÿùr”s°°»I†õ%ùmây÷°ß}y¾¬ý}lf%1FïÁ¾ª6érM$e{¡Y¾× n{æ{Õ@€"¼}.ڞr¸Îl”Ø(uL1ýc¼+’êÿ-ë¼÷qVþÎJMýr@Ð* XrD¼–„zúÃH(ÜX< ‰¦.֑ÐÇ|ž,ly$ž­³ü&õó¥ß€¿ÁÖ üf›Æ•?mÜ_çØ +’]Ç)V8ÜbÐ}ó•*úç(´ÏœyV¶³ê©A 1,?Ãñ"¸òŒáÐuC‘<1Ó47œm¼RØŠæœ^aɈ£ãåf{úÙ&ØØlÓÔµô}ȃ¥š¹_Ä»y×(“¹ŸÆÅÀ¬}N“ç¡WúãÓRBÀ¢0wVà1M¸0l1QP „3ä8œRŒ×ÔÓ¹pcñãp£1lŸ–Jn‘]»åSþˆ;ã˜Ö/»²GÙ¡îóÉ˯}û$Ÿ¯ÎùÍÊCˆ]`«~Ø4T^¬¥Â^=ßÜq"åY[š¸võèÔù漂¥m®À4ÆGĶ„y¨ñZ›zú±lìlC Ã%; ¶‚9ö2H÷Ç£ÄÆÚÈN«îÎ{Tís€÷å8}ÖVÎᖟ8ìM²4Ɂ´®À‹ëB¼.ƒ=Hõ‚4ØØ ­k¶º»÷üc³-òklØÛ4W¾Ø cÙ]ïºür[·Í¡k>Ó»“—‘Öþ®Ä'%۞cly OçØ^È9RåMŒ&=¿X$³¤ßÜÇC=8’IÂÕ}Fï+•´KÚRÎ)ßËL`'Š×X×Ó†Åpc1X”Žh©`0I,횃ð͵]«úhÏóÙØëg)Qj¼Æ—žþÀ 6_udV+»Ä¾P¼‰³;,hk‡:–ŽC˜1D™s†!LÁÁ·'NÀ1ŸæùšÌʒÜnÒ®yí‹i\%›Ñ « Ø#¦ÿ™„Úñ²=ý¸ +6œ0aˆÐ§ÊX)7/»ðÿÔÉ÷¤BÂÒö÷H ¬à,NStS +Lõx” F¨g…9ì²?¸­®¡ëêd Ñt¼tÀ¡ú0,›Š‡²£Äî2ò}ž]×ۉìï€ö€|ú??«¼PçéŽî~¾›´ÜöÍx!XûÏRé°Àç/šöœc ÅJ¢ÙًG¿ß—”ж§yèÏ÷àÓÐ +endstream +endobj +1077 0 obj << +/Type /Page +/Contents 1078 0 R +/Resources 1076 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 1075 0 R +>> endobj +1079 0 obj << +/D [1077 0 R /XYZ -16.307 900.716 null] +>> endobj +1080 0 obj << +/D [1077 0 R /XYZ 56.693 741.863 null] +>> endobj +1081 0 obj << +/D [1077 0 R /XYZ 65.161 742.547 null] +>> endobj +1082 0 obj << +/D [1077 0 R /XYZ 65.161 731.588 null] +>> endobj +1083 0 obj << +/D [1077 0 R /XYZ 56.693 685.669 null] +>> endobj +1084 0 obj << +/D [1077 0 R /XYZ 65.161 685.11 null] +>> endobj +1085 0 obj << +/D [1077 0 R /XYZ 56.693 637.95 null] +>> endobj +1086 0 obj << +/D [1077 0 R /XYZ 65.161 638.633 null] +>> endobj +1087 0 obj << +/D [1077 0 R /XYZ 65.161 627.674 null] +>> endobj +1088 0 obj << +/D [1077 0 R /XYZ 65.161 616.715 null] +>> endobj +1089 0 obj << +/D [1077 0 R /XYZ 56.693 569.555 null] +>> endobj +1090 0 obj << +/D [1077 0 R /XYZ 65.161 570.238 null] +>> endobj +1091 0 obj << +/D [1077 0 R /XYZ 65.161 559.279 null] +>> endobj +1092 0 obj << +/D [1077 0 R /XYZ 56.693 512.119 null] +>> endobj +1093 0 obj << +/D [1077 0 R /XYZ 65.161 512.802 null] +>> endobj +66 0 obj << +/D [1077 0 R /XYZ 56.693 475.817 null] +>> endobj +1094 0 obj << +/D [1077 0 R /XYZ 56.693 448.379 null] +>> endobj +1095 0 obj << +/D [1077 0 R /XYZ 56.693 403.19 null] +>> endobj +1096 0 obj << +/D [1077 0 R /XYZ 65.161 402.632 null] +>> endobj +1097 0 obj << +/D [1077 0 R /XYZ 56.693 355.471 null] +>> endobj +1098 0 obj << +/D [1077 0 R /XYZ 65.161 356.155 null] +>> endobj +1099 0 obj << +/D [1077 0 R /XYZ 56.693 308.994 null] +>> endobj +1100 0 obj << +/D [1077 0 R /XYZ 65.161 309.677 null] +>> endobj +1101 0 obj << +/D [1077 0 R /XYZ 56.693 262.517 null] +>> endobj +1102 0 obj << +/D [1077 0 R /XYZ 65.161 263.2 null] +>> endobj +1103 0 obj << +/D [1077 0 R /XYZ 56.693 217.281 null] +>> endobj +1104 0 obj << +/D [1077 0 R /XYZ 65.161 216.723 null] +>> endobj +1105 0 obj << +/D [1077 0 R /XYZ 65.161 194.805 null] +>> endobj +1106 0 obj << +/D [1077 0 R /XYZ 56.693 147.645 null] +>> endobj +1107 0 obj << +/D [1077 0 R /XYZ 65.161 148.328 null] +>> endobj +1108 0 obj << +/D [1077 0 R /XYZ 56.693 101.167 null] +>> endobj +1109 0 obj << +/D [1077 0 R /XYZ 65.161 101.851 null] +>> endobj +1076 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F52 695 0 R /F95 923 0 R /F98 924 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1112 0 obj << +/Length 2154 +/Filter /FlateDecode +>> +stream +xÚÍ\msÛÆþ®_I?Dž)×÷þÒv:mÒ8‰kw¦–2Ó; ð(b4ZR~}h› ¨,xÛO¤€ãÞÞa÷Ùg÷"ÑmD¢/¾»¾xùJ’È‚ULE׋H1P:2”×ÑõbføÚXfGPv+°¼Ú/ï:ãØ{ДYØî<oºíó~•>ìÙÆ¡œè}û|7·{»ËÌâ—ÝÝ:òÛ*»›¸ÄMtŸÖËbSãom74Í+oÙn°7ðú¹1HMãþþ]ÖU˜·87ÀUŽ|€z€¼7eZÿւÂkçÕ™ɍ‡Ü(¡,Nít(¡ °SÄ¾ø0ŒVÊP¢ io‹OnŽ4ò%Òw+6F⁎õ¦çäÝ­¿Ũ˛†1ôœó¯¿iÅت£÷î@Û£#y÷3n`œaׯ×Yê(Z}ؐ_ٚ ˜¤;àø@iI–g@_Fém¬êÆÌ°°¡=‘"t:·Þ—è×ÁÊbÛ3B%¤ŸŒƒòò·ÛY:ïƒé'¤5}u…¸Žëe5¶{$Å +©gƒ+婱VI B°é,g_~ å+‹°œâ~ƒ4ïÒ"çЖ,Ÿã?0ceÿXÉÏIç ¹=½NË»¸%@ÿ,*w·£?ñ¦.ÒùÃ쮹8„1¯‰V’ êóhj¦3ú}ùF¬ìD}jOºbÀ/ëÛ2ž£©2 n°ÁÜàªÈ‘éKî£~˜þ‚‚Ç~æ“AìòúéàñtnéJWh„OŠ¹Cï.rA«Š²Ž‘a+ÎçÏ2bÀèi˜÷ûÓ¹ê¾ü@W Vv³!¬èj^x[Ê $i*ˆ¨·e±Y§ùAºÿòxÒØ^ÿÇsœ¶à1wž +­ªSɐ´¦©¯ž1èJ-Aˑ —Ér“ßÍÐt¥wm'¬OJ)Àðéê“=ùaž®,>èJi€²®>¹­OZa¸âÏǽ[—»Òg ÈP±H3—ÇX€AãFé>n—#ãÖ&O?nÊ|~G£öï;Œà>èÉéìy_~ =+‹Ïœ¤Ðþ³Kð„$EҦɮ\}rŒ9o ìîŒb´8P¬ÖEî}lHðTîëBÏØQ@X DNW©êÉóšpeDB€ïÒoô)Õ*­ªCêµ½õÍqúõý2^÷kFǁ·ïFß<¥Y|ã²±s%|ÖøÄҞç¢i¾( ?<€, + ŠY„¦@…ùh<¾É†K¡¼FN+’cz:Xٗ+ÁÊâaEH’ŠÝ½ÇR³dSV)¶üRoÊæ‹6[`‰!²à±*JW÷ؒG]—éͦƞý`é þÈ°ñ±“†[`jº +gO~ ?+‹'§B0»v§ëeZa›42dL[—\È\)N³M‰4¬7f¶²ò”‰mo| ’MÇÊ9|s[J”ôyº1ïåzß`8™®¤Ø“èÁÊð NAÚ®…­ç»‡ÄyŠ=T»5Öx°u¿§ƒÕ°døyIa ÆîWlŽÛê"ihY×£¸ë?Jªmç"r;¸õÊMÙ©È 1a§bO~˜†+‹'kÜл*ÀÕf½.Jd YÅwøu™d.ÎŒ_Ö«lä*Nk¬tøœm wp®½YuNçR‚<©¡ðïùó‰È\HPSör.@M×c¸/>лCUàÜ\ƒÝ%âŸ#Ó¥j + Kïÿ7pQ¹ˆÅ–­C ÙKæVž­Ÿ|bÈ=eRšžYˆ-õ¤È‚\=³^+¦Cf4˜ ە{òð$\Y<˜0K²]{Z¶wtOcµ}hdØÙ½‚„üÓõÛ7Cš O,9w׿=ŽfçKíÛçs^lÕ"?̉fÇùÍgà§â óÌՈ³™1EÁr>.6c•bÒë 'Ä?AÐéNËzòñ/XÙø'0k’©ÏïñÝÕöS ‰ …›Î‹[ôŽ—Óü®·§³^ºÕÉÈÁ vÖê £ÞúÉÈGb브Wðpïn° '^ 1a—3µ¨™îL¬'? <•ŃµM+ªþBèÈGA¹»ÐÞüˆïª*]ž¸“sÚpKkÎé‘Tðbš6Ȧ|@L§Òg¶ÀP¡«é^¹éÉôË`eø¥$ º£¹7iU{LðÃǍÑEŽæÎ÷XoO²Í¦Ño4 Ó$·í_9<ïâú¬ï%5oM iÿ· ,”z%¦dú”|ºûžü@PVv(†uGe?/FíMŠ¬Z»7x‰~Y=9¾©ús7ÊÀ¾æ›¥õè)ÁØe¿aOú©§;èßæRÁªâù-£ºúqWÿFáȐÅUbþÁÿ¬kôIŒ=ypª«óSƒ°Q í!øà_6 DÙSþcÓyàM +endstream +endobj +1111 0 obj << +/Type /Page +/Contents 1112 0 R +/Resources 1110 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 1075 0 R +>> endobj +1113 0 obj << +/D [1111 0 R /XYZ -11.232 900.716 null] +>> endobj +1114 0 obj << +/D [1111 0 R /XYZ 56.693 741.747 null] +>> endobj +1115 0 obj << +/D [1111 0 R /XYZ 65.161 742.431 null] +>> endobj +1116 0 obj << +/D [1111 0 R /XYZ 56.693 696.165 null] +>> endobj +1117 0 obj << +/D [1111 0 R /XYZ 65.161 695.606 null] +>> endobj +1118 0 obj << +/D [1111 0 R /XYZ 65.161 673.689 null] +>> endobj +1119 0 obj << +/D [1111 0 R /XYZ 56.693 627.423 null] +>> endobj +1120 0 obj << +/D [1111 0 R /XYZ 65.161 626.864 null] +>> endobj +1121 0 obj << +/D [1111 0 R /XYZ 56.693 568.397 null] +>> endobj +1122 0 obj << +/D [1111 0 R /XYZ 65.161 569.081 null] +>> endobj +1123 0 obj << +/D [1111 0 R /XYZ 65.161 558.122 null] +>> endobj +1124 0 obj << +/D [1111 0 R /XYZ 56.693 510.614 null] +>> endobj +1125 0 obj << +/D [1111 0 R /XYZ 65.161 511.298 null] +>> endobj +1126 0 obj << +/D [1111 0 R /XYZ 56.693 463.79 null] +>> endobj +1127 0 obj << +/D [1111 0 R /XYZ 65.161 464.473 null] +>> endobj +1128 0 obj << +/D [1111 0 R /XYZ 65.161 453.514 null] +>> endobj +1129 0 obj << +/D [1111 0 R /XYZ 65.161 442.555 null] +>> endobj +1130 0 obj << +/D [1111 0 R /XYZ 56.693 395.048 null] +>> endobj +1131 0 obj << +/D [1111 0 R /XYZ 65.161 395.731 null] +>> endobj +1132 0 obj << +/D [1111 0 R /XYZ 56.693 348.223 null] +>> endobj +1133 0 obj << +/D [1111 0 R /XYZ 65.161 348.907 null] +>> endobj +1134 0 obj << +/D [1111 0 R /XYZ 56.693 301.399 null] +>> endobj +1135 0 obj << +/D [1111 0 R /XYZ 65.161 302.082 null] +>> endobj +1136 0 obj << +/D [1111 0 R /XYZ 56.693 254.574 null] +>> endobj +1137 0 obj << +/D [1111 0 R /XYZ 65.161 255.258 null] +>> endobj +1138 0 obj << +/D [1111 0 R /XYZ 56.693 207.75 null] +>> endobj +1139 0 obj << +/D [1111 0 R /XYZ 65.161 208.433 null] +>> endobj +1140 0 obj << +/D [1111 0 R /XYZ 56.693 160.925 null] +>> endobj +1141 0 obj << +/D [1111 0 R /XYZ 65.161 161.609 null] +>> endobj +1142 0 obj << +/D [1111 0 R /XYZ 56.693 114.101 null] +>> endobj +1143 0 obj << +/D [1111 0 R /XYZ 65.161 114.784 null] +>> endobj +1144 0 obj << +/D [1111 0 R /XYZ 65.161 103.826 null] +>> endobj +1110 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F95 923 0 R /F98 924 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1147 0 obj << +/Length 2583 +/Filter /FlateDecode +>> +stream +xÚÕ\ëÛ6ÿ¾…Шè2|KÊ=ÐæÚô.×m²ÅHúA¶h[YôIr6{ýl9±åÇMiû²òJÔp8äüæÁ¡h0 hðÓÕóÛ«§/ bk®ƒÛi 9Ña1ADܦÁ»Ñ“›¤2×7\ÑÑk[›jósjË͏zÞ>üÁNž[ûaóÏïo¾þãö%tsÉ•ÚP{[ß禚SWÍcèô®EÓ» 9 ™n‰Ã¶ÿè…Ñèéæ¸nÞ»úñöê?W ¨Ó€J‹ Œє“ÅÕ»?hÂ3èŸÈ8 +îÖ-b”p¡áw¼½úõŠ¶‚ '²¥-c¨ްôžsµæbûÚÓÐd= Ù¼©#x°‘Ÿ›²¾¾Ñ”Âè“ûÚÏ®o§k.’œ|ªò 5SC°¹ü´?B˜rà‚ÅÍ›ûŠ†$”:à$†›¥ ¦»CÚ£vüîa†)¶ô7tYÓؗ¼"L³yE AP˜v'[“˜Çþ¬®é•³`óãM;ù{É F*‚É¢Í|¾È>íÍý!àÝz²Ç«Ù^Ãö6¸Š$ox÷nnJƒë¦NÆ9²éÔÚºXk0ª94Å5L–K“”Y1Ã5Ï +\»¿ß¾ú¹#ÁÑÍI¹&65é¥2ƒ÷ V ¹&L2%ôg»ûBŸÉ|U|¨íÄt C§l8üÑ TòÁ¨C߁ü™ÅCŽ`ZE?ô„GBF­!í‚ý/R,WYQe)’ò2)‘t—ôjkýÀ" +¶÷ Ùy5·«Ù÷øb(Ó\•|L(ӚÙf@Ù«dUfõ7XöÒ$Eå‡e +®LˆeF +~ï`X¶Oß˼™uÀ2)‰Ü‚Ù÷)Új/²ªB;E²0Õ2™ &5“<)“:³EuB›N½ú·ÜVX—ê4"ǔê­·"‚% UoYÆNö¬·[ÔEo)Œ‡Ã魊a¤ÀþPzۡ立þÌ:è-…`zÈÿ¶L“íoϱÁŒY,s ‹gJ·Àít`ÍymqíV•¹LRííoN‡= ·³2Yλ°õÍyØ:*ê-ÚÁP; @Ä sŒm5ú=•´mí´ +‰„UÒ¶¹Aª³Š4á4NÛöé{j›7³m“1ÑRAg1‘q›rêÇÈP +´‘Q‘ œ?¦QMÏqxù§ÉêùƼHæù¬4ŸMLVäY±60Ú4ȳª® ŽR‚°h@{#9ș §ûô=5À›Y¼½QRÚÖ¦¡öãQlüóilwÁí¯ç11)RÇ2ÇLn¦¨«cÝ|uº›4«&v@µ¸ØÛ4ùˆ5¢vŠ ]›?6ÊÝnìŠð«ó"œ–v±OþaŒp=\Z©CßSż™E¨ØgÆ%Ùzt¿Ë·~{~.Ž½³~ÑämßSEO¯ë®Âó‹JþraýøËoÏ»CNØùÑØU½\ÕX+{M#%Å ¶ÎëEÎ?5ñQèè³-sÏ)N‰ r8Íا暑1Û +ƒÆDÈá26úžÂðfÖ&'ZðÏégO4L‰gçÕñµý¿7÷u2«ú5ØGQúéiŽðaLí‰H¦ú~j0³­0"k¿¤›úÆ>}Oax3‹ÇS2åœÅ- DgU•Ù¢ßËáB?éu.ÍäÀé|†4˜2’DŠè1Ãb©‘[I÷–zýcG®$ñ€°”0N1\*¨CßSÕ¼™ÅÂRj¸„_Ìoêk~¥Œ™Æ8èiGMÏæGÈÍ͍Ÿkû]”3ƒlœ!CÔ,ý¶HƒoËúþXŒ‚uÝ¥lÒñZ‡"Y ö%ê7A—¬j›¥Ÿ\ôL²ËPD ãTÃå :ôýÈŸY$¢DíX†’\†Vç*S +춋CQZj>9@Â!.žÃû¥9ápœŽM÷pÚº_Œm^9nUfR£½6t9Τ4‡ûˆ"€hÊ¡âá +U;ô=ԛY¼W.bà4jËkÌG¬¢` g=Of°Yò饪wºL#KðG²b’¯°%iIqï£eŸ«ždwè=lz½So›Œ,~)T>žŽˆš áÊÔx£¡Šw]¡­" ¢ºÓÈ(ŒìUR,“kFG3ðeÀ¥ÛžiØuhpÛø­ÝǺݞ–˜Ú<·×\îµ¾µNoÏW̓kNG¯™µoŒ ¨óú×"IÛ{>„±Ù‘;}3VÃPo°EÃîì(—0Zñeƒ¿)¥ÞÐ:1s€0ŠðÍïrs:„ì‹F¬ÂõЩÖ=‡®ëµçà/òXˆx†óy“.pÝ'ïgŒ¼YÅ;‹<9oñ¼²i6Íz/ºƒEb<±ª^«!j‘*Û»ÅÊÀÉ1K³šÛò_FÙoÜÛ­¿î”I& Wƒ”ñp\ Whѡ逸ÞÌ:”ñP“hk¡\²3õ]61Žõ²oJÛ§=u`‚V쁫 +‡ ü;ô=—ˆ7³ø¸‚Ã5jíø÷9ìLQ­J<æc‘ñë{3ëàksF¢÷·E$x ª†ki«º´K¬»jªI²Ì!àáú,lÉU²\æ÷èÌ/ÞÏ^Y>ô(=™_Z—Å™"MBâ1…ÅÜ q¨¼n¾cPlÖÊ¿’¼šoeœÛÉ.ž˜"]Ÿ?w€Öä~”RX·+ðèÐ÷ƒfñÂD‘ò‡5Óóç°±ˆ³½>‘îºÅx(hü-ÒmŒ4 ÃáÎÚí“÷SoVñ*SBu›¹ìðŸp-9Ä.)üHp7íÛ[ðrð‘Òæ ž:¾ä¥ÿµ\4è +endstream +endobj +1146 0 obj << +/Type /Page +/Contents 1147 0 R +/Resources 1145 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 1075 0 R +>> endobj +1148 0 obj << +/D [1146 0 R /XYZ -16.307 900.716 null] +>> endobj +1149 0 obj << +/D [1146 0 R /XYZ 56.693 742.693 null] +>> endobj +1150 0 obj << +/D [1146 0 R /XYZ 65.161 743.376 null] +>> endobj +1151 0 obj << +/D [1146 0 R /XYZ 56.693 698.706 null] +>> endobj +1152 0 obj << +/D [1146 0 R /XYZ 65.161 699.389 null] +>> endobj +1153 0 obj << +/D [1146 0 R /XYZ 56.693 655.96 null] +>> endobj +1154 0 obj << +/D [1146 0 R /XYZ 65.161 655.402 null] +>> endobj +1155 0 obj << +/D [1146 0 R /XYZ 56.693 611.973 null] +>> endobj +1156 0 obj << +/D [1146 0 R /XYZ 65.161 611.414 null] +>> endobj +1157 0 obj << +/D [1146 0 R /XYZ 56.693 555.785 null] +>> endobj +1158 0 obj << +/D [1146 0 R /XYZ 65.161 556.468 null] +>> endobj +1159 0 obj << +/D [1146 0 R /XYZ 65.161 545.509 null] +>> endobj +1160 0 obj << +/D [1146 0 R /XYZ 65.161 534.55 null] +>> endobj +1161 0 obj << +/D [1146 0 R /XYZ 65.161 523.591 null] +>> endobj +1162 0 obj << +/D [1146 0 R /XYZ 65.161 512.632 null] +>> endobj +1163 0 obj << +/D [1146 0 R /XYZ 65.161 501.673 null] +>> endobj +1164 0 obj << +/D [1146 0 R /XYZ 56.693 458.244 null] +>> endobj +1165 0 obj << +/D [1146 0 R /XYZ 65.161 457.686 null] +>> endobj +1166 0 obj << +/D [1146 0 R /XYZ 56.693 413.015 null] +>> endobj +1167 0 obj << +/D [1146 0 R /XYZ 65.161 413.699 null] +>> endobj +1168 0 obj << +/D [1146 0 R /XYZ 65.161 402.74 null] +>> endobj +70 0 obj << +/D [1146 0 R /XYZ 56.693 366.942 null] +>> endobj +1169 0 obj << +/D [1146 0 R /XYZ 56.693 340.334 null] +>> endobj +1170 0 obj << +/D [1146 0 R /XYZ 56.693 299.295 null] +>> endobj +1171 0 obj << +/D [1146 0 R /XYZ 65.161 298.736 null] +>> endobj +1172 0 obj << +/D [1146 0 R /XYZ 65.161 276.819 null] +>> endobj +1173 0 obj << +/D [1146 0 R /XYZ 56.693 232.542 null] +>> endobj +1174 0 obj << +/D [1146 0 R /XYZ 65.161 232.831 null] +>> endobj +1175 0 obj << +/D [1146 0 R /XYZ 56.693 188.555 null] +>> endobj +1176 0 obj << +/D [1146 0 R /XYZ 65.161 188.844 null] +>> endobj +1177 0 obj << +/D [1146 0 R /XYZ 56.693 134.456 null] +>> endobj +1178 0 obj << +/D [1146 0 R /XYZ 65.161 133.897 null] +>> endobj +1179 0 obj << +/D [1146 0 R /XYZ 65.161 122.939 null] +>> endobj +1180 0 obj << +/D [1146 0 R /XYZ 65.161 111.98 null] +>> endobj +1181 0 obj << +/D [1146 0 R /XYZ 65.161 101.021 null] +>> endobj +1145 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F95 923 0 R /F98 924 0 R /F52 695 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1184 0 obj << +/Length 2769 +/Filter /FlateDecode +>> +stream +xÚÕ\ëoÛºÿž¿B¸ûp`fHŠÔ£wл¦]·¾ÖænÚₖi[­$úê‘4ÿý(Kv"ÙrŽJ3Á€¢Vä£ÃŸϛ¤°³p°óâä×˓óç;! +=ê9—sÇ£È󝀸ÈõË™óéô½L¤(äلr|úF•²h.ç*o.Êeûå3ýªÔ·æ^}¹ü‡fB +9o¸}(oY,¥,‹úk=:q=ºçÖ£3ÏG> œ G¡ßŽO°fè§çÍ¡^ýàÉÅåÉ'D³Çq¸‡¼Ðuü S'JO>}ÁÎL§ Îõš2u8Áˆºž¾Nœ'ÿ:Á­$pG"ÔÑd>×"Ù0g!"Øk@¹¨A±yÌù4!ãӋU5m×]©j!P…nÐ<}¹‘Ø\%‰:£üô:ÎÍ­h)²ÅFÆKqFñéÕá§íS)³æ*³ö^©n'b=¶F{;6 òýú¯Ç–ûR1L6D‘Úð.â,’½y&Z4ˆ6×y£¨+ ÕsNô N(Cm˜~¦”wÈÖ@דÏjb^°AðO—˳‰§eú\,“E.³'gBõßÓ8;/V2:—ßEºÒÚtþôµ(þ¨äÛù3qS úþÒ<:SÑTk$ú^$íÛ‡5Õïõʧ *­¤5°úãEW½´QŸ:žV/LÜZ½êûkeežCQ„N.ù]}êpÛww€#ÌÙf€†1©©MùsD<ÒçϱžI-rÈwmÍC! vÍ0_8ÍÅûÖø::AhˆÖ‚ÑþˆÑC*Tr%;ª´ËK[d=߅J”"*+‘Àhs©²(b•°â F7%®ªÊUU…°Re)g0âé Œ.U¹„J+’ê•Ì·bÕºÀïè£ݺ¨Ï˜á–(¸Cä#¦õ¥¥™@ Û ÖßTå>à¾Rþ~×»cÙ"”ëÖ*­ü”1Ëõ,Qîx>Enà6¡æ°Ù¯r´”Ñ·.9`=›}Ï<ð¹›!µé€ÇÂ,8nh»¯ ªë2Ä­Æ$¸p›1©Ëß0&ƒ“tÊlbÒo«Ús=l*g±PÓ¯2‚úodE¥v‹0òuö¢,—a*uÉa´U!a1WI´ýâ3渽¿ûèéõRE!®Dœˆi"{ƒÔ_öÂåv¢ ¡ˆßçšM,©ËßВŒÁB,I—TÓ±‚plbÅT—@C‚DVæñ´*Áù$ Z{ì‰Ì€(^GÏT&’ÙØ؆µtÝù€±>âǎmÝÊëN½©Âvk6 aq?°[—qÏ·Z—õø›Y®9Xx ä>Öuiæþ"+ªüèçÍß>K'U©®3€. PEr-nŠ1E8¸®(9U”l&RY¬D$G:$®½¶Çzü ­Á,À¶ÀÃے§T°YXåò +\¯r¥s™´8¶zµÃû ¿ÅÙ,‘ hú•Šhg2¿­bîº×ú1Ï%ºžó'æméæqÝÏ\‰¼ŒuÊ¢Ð÷4é‡Å}Ik"®/·I+&ÁÛ+Ò\Ã)%º¤¤é¶?›%e¿¡1;"œW—”m8}:›Õ‹°±Z­Tt"õ ÌÛlÔðèþ¦Ðå,í~§n4Ý.üö<2DÛô“Êh¬çÑÚÎ=þž‡ñÍÂÒãu’˜_/º{fϼºK­™}¿™Ù›ƒ…›½žQäŽ7zmž"Æw`2r­òo"WUL`—*ÏãyÁ¨Ÿ>»VßÕâÑ2œ8Ó8‰Ë›ãJVgn‘Žýûz]öwÓ¼ïðþ +µfý‰©û ~Ì­oñG÷c.FÌb3€‘±[?y|7ÖåoèƌÁŽpc”"Ÿ[Gö˜©‹¨Jí›ڕ­út>lnÍSÇ]Ñ}ûî9tU 3QŠñíð«ØxGK!kÜÿ‰å,½æfÛ9‡š"ñ èC:!7dˆQ÷Ë8 <܀¡ ìù&×w×foË7õø›ù&s°pßäú>¢d»£-UWrl(ˆÄƒ¨—CÝ?BÈ<žO^–"‰#¤ÊùsÖ×9©®Æ9·¸ÎIuË-ú¿3“7 ¯Æ©ï¡ ›ÃP1t·hsðã9£÷Ô#ïšCo°fããö:Ó*)ã´N–éTì\íl¨ºß®ê3„#]¿¡Ú[Û +ƒäùž=atù +ÃØV #ŸØkžôø +Ã,<¢õaÜÖE/Í±UA7ú]Å ðÁ2hž$ ] }SГjÐÆàæ¨q/ùš ×/íydÀï‚v’ê‡:"G¤u¸ä={éò7´c°#ìÅuf햙=M«uìæü3|g#¨ë|wù:3]I€üÐÞO¿¡Nƒ¡ºŽÜV7ÿ…úÆHËÇL]³Ô*;ò–”õ[®ÁßH¥énG +îttX,Z:ì ÕËÔF$lÊ[¢èñ7“…1ØaÃÂX†a!t®ÿX]œ–j‹]+æè û·M„«ªœ?8œ̛î‡UüÀ y¥,Ê8¢bl°"×ÊioQ¨ÇßЂLÁZ BDIç´èý»›ÎÚïQ5jêú9Òpž§#ØN÷äຐ!‡ô$Jä3-P{‹i=þ†Jd l+ ¯©­ £ËßPÆ`áéñ|DÃö8þKèëVöG«û6+ØÊÜÔjÄ!hâ:•àSû³c¿ù¥\BQª,’?š±ÞTƒÖl¢ËßÐ&LÁ[÷ëº÷†™ùÀ¹›É¡gTVîËA> ?òö¸ñõùËW}H_àEÝÄî¿ýaÐ%öö.×s€î«!¬)k­)w—¿¡r[Û +Ã%ˆP{ ±Caƒý\†á·¯„¹ül&óä~ÌpûòÆ#÷LDÉøäþˆ6Ȉ²¬õ*ðÙý$.ŽÜÓÞñ±Ã”q2öÐ>¡MoÍrºü -ÇìË¡.b¼m®_‰ló‰z'é±Ó ¯X«2èêtqäväû‹7O__<ƒ¿ÑmDA¹wuúð#»KÔwÍü<â,ñÏ÷lòۇ«Þ + ŽäxÝ°fö†h j#‰0X¿c˖$ºìÍ$a u„'Ò@¹ŽŒáy•e;/8;Òæ¶#Gù8‹’j&xË\ÐTø¶Ô¦ËÞLmL¡*IˆÑæ˜Åä°¿*–ªJfÇí\‰$ž™?Ãv~Å`£JàÄÕNÇÂڎ«‘¹]À‹mõÞyÁ:Ã7yÙØ÷«ÿ»I +endstream +endobj +1183 0 obj << +/Type /Page +/Contents 1184 0 R +/Resources 1182 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 1075 0 R +>> endobj +1185 0 obj << +/D [1183 0 R /XYZ -11.232 900.716 null] +>> endobj +74 0 obj << +/D [1183 0 R /XYZ 56.693 759.068 null] +>> endobj +1186 0 obj << +/D [1183 0 R /XYZ 56.693 738.489 null] +>> endobj +1187 0 obj << +/D [1183 0 R /XYZ 56.693 693.618 null] +>> endobj +1188 0 obj << +/D [1183 0 R /XYZ 65.161 694.301 null] +>> endobj +1189 0 obj << +/D [1183 0 R /XYZ 56.693 637.117 null] +>> endobj +1190 0 obj << +/D [1183 0 R /XYZ 65.161 637.801 null] +>> endobj +1191 0 obj << +/D [1183 0 R /XYZ 56.693 580.617 null] +>> endobj +1192 0 obj << +/D [1183 0 R /XYZ 65.161 581.3 null] +>> endobj +1193 0 obj << +/D [1183 0 R /XYZ 65.161 570.341 null] +>> endobj +1194 0 obj << +/D [1183 0 R /XYZ 56.693 524.117 null] +>> endobj +1195 0 obj << +/D [1183 0 R /XYZ 65.161 524.8 null] +>> endobj +1196 0 obj << +/D [1183 0 R /XYZ 56.693 478.575 null] +>> endobj +1197 0 obj << +/D [1183 0 R /XYZ 65.161 479.259 null] +>> endobj +1198 0 obj << +/D [1183 0 R /XYZ 56.693 433.034 null] +>> endobj +1199 0 obj << +/D [1183 0 R /XYZ 65.161 433.717 null] +>> endobj +1200 0 obj << +/D [1183 0 R /XYZ 56.693 387.493 null] +>> endobj +1201 0 obj << +/D [1183 0 R /XYZ 65.161 388.176 null] +>> endobj +1202 0 obj << +/D [1183 0 R /XYZ 65.161 377.217 null] +>> endobj +1203 0 obj << +/D [1183 0 R /XYZ 65.161 366.258 null] +>> endobj +1204 0 obj << +/D [1183 0 R /XYZ 65.161 355.299 null] +>> endobj +1205 0 obj << +/D [1183 0 R /XYZ 65.161 344.34 null] +>> endobj +1206 0 obj << +/D [1183 0 R /XYZ 65.161 333.381 null] +>> endobj +1207 0 obj << +/D [1183 0 R /XYZ 56.693 287.157 null] +>> endobj +1208 0 obj << +/D [1183 0 R /XYZ 65.161 287.84 null] +>> endobj +1209 0 obj << +/D [1183 0 R /XYZ 65.161 276.881 null] +>> endobj +1210 0 obj << +/D [1183 0 R /XYZ 65.161 265.922 null] +>> endobj +1211 0 obj << +/D [1183 0 R /XYZ 65.161 254.963 null] +>> endobj +1212 0 obj << +/D [1183 0 R /XYZ 65.161 244.004 null] +>> endobj +1213 0 obj << +/D [1183 0 R /XYZ 65.161 233.046 null] +>> endobj +1214 0 obj << +/D [1183 0 R /XYZ 65.161 222.087 null] +>> endobj +1215 0 obj << +/D [1183 0 R /XYZ 65.161 211.128 null] +>> endobj +1216 0 obj << +/D [1183 0 R /XYZ 65.161 200.169 null] +>> endobj +1217 0 obj << +/D [1183 0 R /XYZ 65.161 189.21 null] +>> endobj +1218 0 obj << +/D [1183 0 R /XYZ 65.161 178.251 null] +>> endobj +1219 0 obj << +/D [1183 0 R /XYZ 65.161 167.292 null] +>> endobj +1220 0 obj << +/D [1183 0 R /XYZ 65.161 156.333 null] +>> endobj +1221 0 obj << +/D [1183 0 R /XYZ 65.161 145.374 null] +>> endobj +1222 0 obj << +/D [1183 0 R /XYZ 65.161 134.415 null] +>> endobj +1223 0 obj << +/D [1183 0 R /XYZ 65.161 123.457 null] +>> endobj +1224 0 obj << +/D [1183 0 R /XYZ 65.161 112.498 null] +>> endobj +1225 0 obj << +/D [1183 0 R /XYZ 65.161 101.539 null] +>> endobj +1182 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F52 695 0 R /F93 909 0 R /F95 923 0 R /F98 924 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1228 0 obj << +/Length 2585 +/Filter /FlateDecode +>> +stream +xÚÍ\[sÛÆ~ׯÀL_¤NµÚ;€ô)Nm·Žã¤–2õŒÉ,Á%‰ +`´¬üú\(‘(p¥Bàâà`÷|ß¹ì!¨·ô¨÷úäÅÕÉÅ+E½„škïjáiN´ïLá{Wsïãé{›XSÚ³s®è黬²e{¸ÈŠö Zu_þ#‹^dÙuûχ˷g¿]½Ûœ3FB¥Zi—Õmb˕µUY wg^w×¢¾»Ô>ñyà+úÝý~pzÑ~0®ë O^^|>a žzÌSšèPx~Ȉ¦Ü‹Ö'£Þ¾ˆ 惡ö£„ ljwyòïÚÍ=8#[Ù2$ŒêV§Oœ«F‹íe¯`Hó²¾& RðE3øGW«³sMéé+³J–…M¿;;gþŸgÑ fŒ|-“VLT-±þx½ÿˆ°0Ìçž/@ )êG¬Ï+ +&µÇI„^a½Åî3íI{üìÃð€°@noÐ +fõhWùŠ0Íúòeć¹ÂÜaw½5 y8‚²Àbéµï;Ø[LÆCÒÌ<#>›5ý×:/²/vÏÊò>6«^5°¨EUœ¥¸áÙ7.M ÜÐxm–¶Ä½YY¤¢7Yq§K¤ +H¡[¶ÙÜ}%Iwöᥧ_qÒ“Îý‰*zXxý }^P;¦$YH€é:bøD%mIê~ß˜Y7æË Ì'@JÓÁv_¾#l•ÅÀ[KA‰b¢N¬qº§Ë²gõò3ôŠÈÆÓ80õÏƒ>Jƒÿœë£fqzQæ6º°ùfö{a›yŽ*¯Ï’bö÷öºá¾L ®žÎ•i|?e“a¢'ß îÊâ]™öÑ ~BWöyc’¸ºב¡ïþó/¯7S¤Ì{ËǍŸ!Þ¦å¦@{Çjeª±£Ž‡sðm誐HɧƒÖ¾|Gh9+‹€ÖVq˜ ¿s6Í­mZ!é:ŸB œ[›'HãJmYÙ9ÖÀ mcã?SØq#º¬˜cãÔ~tvxàü¿&‚ÇBb&Cc+.†BF‚Ç ÄtÙ—ïge@F¦>k1“å6E“áMaòk2þyõÓ[d´ڤýÄâ”`£©ˆ å³Æ}œüéa_wæîÊEœØò"+Ö¤A·ÉÎ^F„DÁá]JD(ÀèÝksÏ8Ñ,˜0¤T;™ÄûòAì¬ì€’JÊ®<öýÉÎë ëC"ð6‹M‚¼÷ Y}õXgÒ€v‚ð#˜äÆÜb}>ð­)ŽrûÏV +Q!%þdݓî†OWEAT(@~WQGgY¾è{Áï¿æ¼¦òFät¹zO¾ãÂ9+‹ŽT å]®~µŠ±ÅYƒ˜¥Ø\ Kg3H|Æ®!eß‹åÔ|S®°9R{aÙo@2tk±-L­n‡¦“ø¬•ñ|h9@é€øÁt倞|Gô:+;½>'´£]ƒÝŠ*þXÝùo—· »7 ¶(aM>5_⥩w¥L2ˆÆ®{¬Mz‹å +3G‡åmYõ•EajnÁãUÇN¿)哀OW/èÉwĔ³²0¥¼°U”·ï~ø€w6 GöÑ ò4ñNzmzTΘ9¦½sIqçóÿzènŠX®ûiVõ¤iÂ$N,•Kµ3t6öŽÀ̖Èe*³dó`T‹MU™¿!m°ÏWUvhQPIM=]·EO¾#ȝ•rE SÝVfSÃzU˜Ê.oGv?ƒPƒ® ÅY<®Å¦›‘ËâQ¸ÂbK/X2­âõñÙ§$ðÕd5[ÞìnѶ¾ å²µpAü~Â(<ÔËèŒSˆÞóÒvír»å_êsI„VÛìÐn[ó’$;ãêô¦Ms*Z™t¹mÝ[™Zê—3¦N»+fò°æhmæÝ9Xõ»þ¾¶4#vîÍI|_o‹36:¤¤ Å]¡'ʶâËük¯ƒØIÞmß!ٟ—sÎë>¼ ©8¢èý“ÙqõG[¬~cMZfwUïî1Ā. ¬è‡väI¡H ¦ó=ùn>Â]Y|ÍYÖ½Ûv—ïçslFƒMÄîZU±Åìù&½Ž»´©­ý’ód³ì³àùá²}la +žrïS»øQV&›âɦ¼~‰(‚²)JÌhwÇ_ŒÉ}ùŽtVv@¡YÖ¹º£åŸ/_ÇŒqt??ÜqwÈ2^Þ»ž¾a|#è·×œ‰&7›lÍ÷å;®¹³²øP]Öݜ´ dêúd\AFÞßÒºÆçÍ›6c;Jæñ¢Käÿ$ÖÊtKKM¯X§€Ž‰Ñnfm+37•÷þe•X¯Œ]Só䮢U“P>©éö{òáï¬,þx×@ý4á²KAJ››:ZÈ­"d$ ƒÉ&·'ßmrݕÅs«! +º¶ŠµI㺊VwßLÆÀBÝxg¶ Ý×g¿V6—#Óµý—:Ƶ§OÅerô{ù^<ˆŸžØõ}’Eý€cO@£"`„N—Ëî‹wĹ«ªx$‚û;%’üéS3]÷DO¾ã¼:+;€?}A„¶[×og›jì$7U´z,ÿø ×\jˆI°èÐ>¡!Ö:¤”Ü—!ƒGː¿œ‰ºßÛ¬Ëÿï*d~HG¡ôˆEHA˜àEÈ÷ÙÌU[ƒ¼¬Ìmu_ƒœfQ‘ˆ¢ !(®Ió›Lòu-Hò_lºz$W!ÄØӑMO¾Ù¸+‹¯G؉Ù¼Š‘¿4=(Ø5§yȹ ‚§=~c*â;£pMc~HÌâ´½Dxcgغ2ÛÑÑ»@0ß»ì;¾aïËw4lgeñ^”+F„ß5¼ËnFŽº¿˜dcÇ-<<ò;vPýâ‰fžHÊÓåÀötjÓï +yÂÞ?obtý¦¬²uü‡yø~oCøàî¦kEêÉw†³²€!)‘¼kEBw$Y„m¥«)íñf4© I˜|֟#qÆ}göó¦1]’nÖ:‘¼Èrˆ b[ À²¸ö§‹XH‰ Ó²zòݐâ®,>6b¡ MÞQ¯ómÓހ¦æ›"ÏÊ£=; |ȯŸLK"z]лz m1ð“”«-rOªÛ|H2Àè1åû‚˜DNø¾ ž|G‹wVv€Å×}!þðî„_/»ÄútPÑI­_kSF`HØÂúçµµ]–Gã³ö£¡zV€2Ÿ¨€Ð7qqmZ|þœt½Åç*^®ø«êæ¡j•ºg"^+<·fát` áÙ§ÛÁޓîTWEñ0 Á2¤?¥i†íü7³ ÛgYÿj:^Ü¢3è:Ä¿. ۏúëû·óðíÚg ÷Áþ€'¨yÁßÿ–Í_‚ +endstream +endobj +1227 0 obj << +/Type /Page +/Contents 1228 0 R +/Resources 1226 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 1075 0 R +>> endobj +1229 0 obj << +/D [1227 0 R /XYZ -16.307 900.716 null] +>> endobj +1230 0 obj << +/D [1227 0 R /XYZ 56.693 741.747 null] +>> endobj +1231 0 obj << +/D [1227 0 R /XYZ 65.161 742.431 null] +>> endobj +1232 0 obj << +/D [1227 0 R /XYZ 56.693 683.964 null] +>> endobj +1233 0 obj << +/D [1227 0 R /XYZ 65.161 684.647 null] +>> endobj +1234 0 obj << +/D [1227 0 R /XYZ 65.161 673.689 null] +>> endobj +1235 0 obj << +/D [1227 0 R /XYZ 65.161 662.73 null] +>> endobj +1236 0 obj << +/D [1227 0 R /XYZ 56.693 615.222 null] +>> endobj +1237 0 obj << +/D [1227 0 R /XYZ 65.161 615.905 null] +>> endobj +1238 0 obj << +/D [1227 0 R /XYZ 65.161 593.987 null] +>> endobj +1239 0 obj << +/D [1227 0 R /XYZ 65.161 583.029 null] +>> endobj +1240 0 obj << +/D [1227 0 R /XYZ 65.161 572.07 null] +>> endobj +1241 0 obj << +/D [1227 0 R /XYZ 65.161 561.111 null] +>> endobj +78 0 obj << +/D [1227 0 R /XYZ 56.693 523.96 null] +>> endobj +1242 0 obj << +/D [1227 0 R /XYZ 56.693 496.407 null] +>> endobj +1243 0 obj << +/D [1227 0 R /XYZ 56.693 449.397 null] +>> endobj +1244 0 obj << +/D [1227 0 R /XYZ 65.161 450.081 null] +>> endobj +1245 0 obj << +/D [1227 0 R /XYZ 65.161 428.163 null] +>> endobj +1246 0 obj << +/D [1227 0 R /XYZ 65.161 406.245 null] +>> endobj +1247 0 obj << +/D [1227 0 R /XYZ 65.161 384.327 null] +>> endobj +82 0 obj << +/D [1227 0 R /XYZ 56.693 347.177 null] +>> endobj +1248 0 obj << +/D [1227 0 R /XYZ 56.693 319.623 null] +>> endobj +1249 0 obj << +/D [1227 0 R /XYZ 56.693 272.614 null] +>> endobj +1250 0 obj << +/D [1227 0 R /XYZ 65.161 273.297 null] +>> endobj +1251 0 obj << +/D [1227 0 R /XYZ 65.161 262.338 null] +>> endobj +1252 0 obj << +/D [1227 0 R /XYZ 65.161 251.379 null] +>> endobj +1253 0 obj << +/D [1227 0 R /XYZ 56.693 203.872 null] +>> endobj +1254 0 obj << +/D [1227 0 R /XYZ 65.161 204.555 null] +>> endobj +1255 0 obj << +/D [1227 0 R /XYZ 56.693 157.047 null] +>> endobj +1256 0 obj << +/D [1227 0 R /XYZ 65.161 157.731 null] +>> endobj +1257 0 obj << +/D [1227 0 R /XYZ 56.693 110.223 null] +>> endobj +1258 0 obj << +/D [1227 0 R /XYZ 65.161 110.906 null] +>> endobj +1226 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F95 923 0 R /F98 924 0 R /F52 695 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1261 0 obj << +/Length 1709 +/Filter /FlateDecode +>> +stream +xÚÍZKsÛ6¾ëWpҋ5SÁxhoIšL2­Ûƞif’ +’˜ð¡”íüû._±DI$ŠžœËÅb±ûáÂØ[xØ{=z~3º|%°§‘–Tz7sOR$}O†˜ïÝ̼ïldMnÇ*ðÅUZؼnÎÓ¬n˦óeò©ò&i¿ŸPP請Ëú‡PY¾8úãfôuD@=öˆ'$’šy¾&HbêñèÃ'ìÍ  @\+ﮒŒ=A0¢LB;ò®GÿŽpã |Ð#­n®Á²¶é#¥¢²¢}íòˆTóàå; +q© £v`:µY1žHŒaúæ[‘&¿'„ÂßYLÁc(Ès”§ë,°è>Ž~¯e6±™)lÕ»´ff³Þ`i¼ÿÍØÔ¾ÕbÃ&®4Ðl¬úˆ1+þÞ"u«š,X9³òçõ¶«!@ˆO=ŸiDa‰ÀÕåsaá¸ô(ÒJ{™õ曾ÝÒ¶ÿéîT!FT;@­˜”Ò}õ D$éê˜ ÖÌe„͸“HS}c+…Ù«ïš@Ü +*B5ª<_yˆÿ˜ÌÄùV(îªò>TQQ¤nrùzµJ!`„Û ¹‰¿¸¾vœ‡[¢0[äœT ÆúÄæßÃè€7?/:دkS„i‚’u Bh•¥+ m^溣/¤¦Hú–¨R¤´?X¢vô÷KÔþƺ'ªT06&®ì[à›¢ÈÂ麰ŽÉjµÜ®ë`sijZY“…ÉÂQ·½/Î VmŽœŒ҇…Ãj0° exùBo¢…ä1EëÈ`HwlŸŒ+5yo"“4þ…*Ê48Þ5+FŒøOY£b°¹IŸžŽ:1î#Åـ0À$RŠÛú{Â@oc€Ž+Õã6ø¥ã¡"Z-ÍÔµÀÜ¿0¡ëIáo7±»°p56p®™™ € ¸‹¿>ŽIZœÛäEfn{™üd°Æa xšÒâIa8"ž·ò~Ï@à” pTc0Ÿpýý®¿±îG5*\/ê«ð~ ÎÇ¡= òì0 “™½ï¦ì³ÀÌÊõÝM؃‚™Ý¹Íkz¨¯%vÏmªÊ: Êܦ`¢jä¹E£‚#­õ€É '?ÌÉpɽ­¿gr÷6öˆäÞÈÚp¾E{ØÈ$³0p¯C½€{j}©¼¼À‚>éeÅ *ÛÒ Ý[:y‘Æqú“ß4‡ld +1!ÏX4aˆ0zrÑä*Íb“ÔÐóŸ‰òe > endobj +1262 0 obj << +/D [1260 0 R /XYZ -11.232 900.716 null] +>> endobj +1263 0 obj << +/D [1260 0 R /XYZ 56.693 741.882 null] +>> endobj +1264 0 obj << +/D [1260 0 R /XYZ 65.161 742.565 null] +>> endobj +1265 0 obj << +/D [1260 0 R /XYZ 56.693 695.46 null] +>> endobj +1266 0 obj << +/D [1260 0 R /XYZ 65.161 696.143 null] +>> endobj +86 0 obj << +/D [1260 0 R /XYZ 56.693 659.185 null] +>> endobj +1267 0 obj << +/D [1260 0 R /XYZ 56.693 631.765 null] +>> endobj +1268 0 obj << +/D [1260 0 R /XYZ 56.693 585.427 null] +>> endobj +1269 0 obj << +/D [1260 0 R /XYZ 65.161 586.11 null] +>> endobj +90 0 obj << +/D [1260 0 R /XYZ 56.693 537.121 null] +>> endobj +1270 0 obj << +/D [1260 0 R /XYZ 56.693 501.09 null] +>> endobj +94 0 obj << +/D [1260 0 R /XYZ 56.693 471.459 null] +>> endobj +1271 0 obj << +/D [1260 0 R /XYZ 56.693 443.208 null] +>> endobj +1272 0 obj << +/D [1260 0 R /XYZ 56.693 396.869 null] +>> endobj +1273 0 obj << +/D [1260 0 R /XYZ 65.161 397.553 null] +>> endobj +1274 0 obj << +/D [1260 0 R /XYZ 56.693 350.447 null] +>> endobj +1275 0 obj << +/D [1260 0 R /XYZ 65.161 351.131 null] +>> endobj +1276 0 obj << +/D [1260 0 R /XYZ 56.693 304.026 null] +>> endobj +1277 0 obj << +/D [1260 0 R /XYZ 65.161 304.709 null] +>> endobj +1278 0 obj << +/D [1260 0 R /XYZ 56.693 257.604 null] +>> endobj +1279 0 obj << +/D [1260 0 R /XYZ 65.161 258.287 null] +>> endobj +98 0 obj << +/D [1260 0 R /XYZ 56.693 221.329 null] +>> endobj +1280 0 obj << +/D [1260 0 R /XYZ 56.693 193.909 null] +>> endobj +1281 0 obj << +/D [1260 0 R /XYZ 56.693 147.571 null] +>> endobj +1282 0 obj << +/D [1260 0 R /XYZ 65.161 148.254 null] +>> endobj +1283 0 obj << +/D [1260 0 R /XYZ 56.693 101.149 null] +>> endobj +1284 0 obj << +/D [1260 0 R /XYZ 65.161 101.832 null] +>> endobj +1259 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F95 923 0 R /F52 695 0 R /F98 924 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1288 0 obj << +/Length 1715 +/Filter /FlateDecode +>> +stream +xÚíšKsÛ6Çïúœö"ÍT0Þ$šK'N'ÏÖöL3ç@IÄ1Eª$e[ùô]ðáèmÐ]w¦‡„4.–Àîÿ‰‰ƒ·W—“3…”¤Ò¹;’"é:aˆ¹ÎåÈùÚ=סöSÝëS»ŸâL§Åé8NŠ“lZþø:¾Šãëâ/zß.ßA7}B¢°v‘-CNµÎRó3ôNz—ÌôÎ¥‹\ê9}”[öOt½îIq Tš;o.;w˜Çq„DR1ÇUILá¬óõvFð8€¸òœÛ¼åÌ#Ê$œ‡ÎEçÏ.G¯u ™+T>$•q®Á²pŠ#–{QÝæ|íŒq÷ìsùT«c +C@¢.-Æk‡aÜ£¢{D“âÒpêG“j„§~âîMˆnyÇ@ë¨8›ù£òZÿ˜†¼oðõGßÄãÈuÍóæ}ãþŽ8U“a\YNƒh¨7æ˜À° Rœ'Ed õ‘襥b‰²Âê¥b­]îg>óÜøà!.½Ê…óx “¬×—0¢™¿Ìâè×^ŸPøs »4,,ATcæðv= Š ·T0O<s]`ˆ..Š”§œD;ãÕX³¶ûêvä‰Çª +ÃÄ´njY’MûÃðÃ0Ùô°š)ªŽàln0™8ÅÉy™-kóxï8$Kʀ_$ÑÚÜo‚ü1“Çv Gƒ"’W°Û//lßҍ´Ù6T³l8'› ýè»LGiG©y?L·ð—½æó[æÚÒõÁb² /sùgêÁÔq‚l³ËÈ)Þ$»ö÷CXr‰h…`¾Á¿_~üð¼!<Ífá©D“£a˜Â²K`-0Láþ" ²ï‡ßi?Jp8 ²PÏý‰®cË3YÑŽD$w½Öp¼a¿Ž›;kcèwe)Á>/²ù"ÛE€Ÿöóë4ž/“`2ݼïÀ=¹É©öG&±¬ÀX._ª¸iÇ{(ýp¸º.â0'mñm5÷K¼ 8ºòYä*w‘§X‹¹Ê o/W×í7ÌÕÆÎÖÈUŽsùœOëo£‘­rIï+«²$Ñé"¬sC¶œkËÌÓivdÍ5Ü!tB§aœê´±8bÔSÖð` )(ªžP´Sâ=ŸâdæG;þå9­Èa”J6ëp›’Ëk\A£ZÃƺùfÔhìª=4¸2õÖýŽÍ,¾±ÌR6&‹ [Ú5¿M,súe:÷£šÌË$¾}Äm~dIȗÃ8ܲÿpHs…saþ”u‡#ÅnU鈝•ÎG?šû=‚»P·Àÿ:}ÞeÏ̸;Ù饀J’±ôaaÏm°uHNéh™mÐT„ðAœ·¨¦˜‰Q¯=5µa¿›;kF v«è¯¡¦"³$†Áw]c— Ø2Üj…†ä0ì%Ð" ¢k[µe:úW´’«˜Փev@[ÄՓj%&eÀÇ%Ã(âøº˜0e–j r®E.¬™oˆ…¦®Ö ‚05–÷õŸ®±‡K<­0cXÁ¥{a&w +³7óÅàyk1½ÛÃg·ý^Ù´`í™? '‰¾‡í ˆNFƒ,6ò¢hb.…Áà¤âp2°Œ$*8RÍ^eÆ0åa&Zãð†ýf nî¬=‰)w«Bã4N=Ìli ±ÎÐ_¤ÖV-KṑiWcۨ㠴-ÛÓt1›göïou¢m•¯å’2ÛX-Ҍ„!¯žPèQjJKu|ô¬s¦P}hÙl›ðð`óý i<ëö‚§±³5ÀƒMaXJÀSX¾"ë×T‹¹]»©ŸŒÌj™ý7~¸°UPA”Ŷ˜J|ÈT¤G‡Õõˆ/l© +i•øÉÒöåží¤–Oêffi3‰ç: —¥Ö+ÆA +©*\aŽËVÞJ+¨y!?Ë6}K\cšÑòéñf®þ}+Å7úܗâ¶V«doçQV׃u¶›-AéE‘W­/ØXCÛ¨ñ£ëôØ1› -õÅ8‰-ƒöCðÝ·kùÚ—5WwâI$šmrÖ.Lj ˆqU•cîÎrìÄÔOñÆ4,‘õ|+3à +ÈÀÝnš—ž:^yfä˜-}¨™?GO”‹„×¢2Ÿ$RٚZ7ßL5vÕ^…áÅtžw6p¨GWì0UgAšZ }>V;g‘I ûæi­}<ÿÆB`[¢Ý ¯Ç~ä1$™×N·¾›ç8 óÙü?OE‚w +endstream +endobj +1287 0 obj << +/Type /Page +/Contents 1288 0 R +/Resources 1286 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 1285 0 R +>> endobj +1289 0 obj << +/D [1287 0 R /XYZ -16.307 900.716 null] +>> endobj +102 0 obj << +/D [1287 0 R /XYZ 56.693 759.068 null] +>> endobj +1290 0 obj << +/D [1287 0 R /XYZ 56.693 738.489 null] +>> endobj +1291 0 obj << +/D [1287 0 R /XYZ 56.693 696.946 null] +>> endobj +1292 0 obj << +/D [1287 0 R /XYZ 65.161 697.63 null] +>> endobj +106 0 obj << +/D [1287 0 R /XYZ 56.693 662.043 null] +>> endobj +1293 0 obj << +/D [1287 0 R /XYZ 56.693 635.583 null] +>> endobj +1294 0 obj << +/D [1287 0 R /XYZ 56.693 594.041 null] +>> endobj +1295 0 obj << +/D [1287 0 R /XYZ 65.161 594.724 null] +>> endobj +1296 0 obj << +/D [1287 0 R /XYZ 56.693 550.497 null] +>> endobj +1297 0 obj << +/D [1287 0 R /XYZ 65.161 551.18 null] +>> endobj +1298 0 obj << +/D [1287 0 R /XYZ 56.693 508.195 null] +>> endobj +1299 0 obj << +/D [1287 0 R /XYZ 65.161 507.636 null] +>> endobj +110 0 obj << +/D [1287 0 R /XYZ 56.693 472.05 null] +>> endobj +1300 0 obj << +/D [1287 0 R /XYZ 56.693 445.59 null] +>> endobj +1301 0 obj << +/D [1287 0 R /XYZ 56.693 405.289 null] +>> endobj +1302 0 obj << +/D [1287 0 R /XYZ 65.161 404.731 null] +>> endobj +1303 0 obj << +/D [1287 0 R /XYZ 56.693 361.745 null] +>> endobj +1304 0 obj << +/D [1287 0 R /XYZ 65.161 361.187 null] +>> endobj +114 0 obj << +/D [1287 0 R /XYZ 56.693 325.6 null] +>> endobj +1305 0 obj << +/D [1287 0 R /XYZ 56.693 299.14 null] +>> endobj +1306 0 obj << +/D [1287 0 R /XYZ 56.693 257.598 null] +>> endobj +1307 0 obj << +/D [1287 0 R /XYZ 65.161 258.281 null] +>> endobj +1308 0 obj << +/D [1287 0 R /XYZ 56.693 214.054 null] +>> endobj +1309 0 obj << +/D [1287 0 R /XYZ 65.161 214.737 null] +>> endobj +118 0 obj << +/D [1287 0 R /XYZ 56.693 168.192 null] +>> endobj +1310 0 obj << +/D [1287 0 R /XYZ 56.693 141.732 null] +>> endobj +1311 0 obj << +/D [1287 0 R /XYZ 56.693 100.19 null] +>> endobj +1312 0 obj << +/D [1287 0 R /XYZ 65.161 100.873 null] +>> endobj +1286 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F52 695 0 R /F93 909 0 R /F95 923 0 R /F98 924 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1315 0 obj << +/Length 1382 +/Filter /FlateDecode +>> +stream +xÚíšKsÛ6€ïúœéEš© ’¥ÍkÞŘ`\®z|¦wiR/î¶kÁÔGŒ×*¦Ûi§# ¯¢dYÝ +W:Y6Ž^éÅÃË †õ3c’j´ÖóúžMov£œL¾™›H Q,»œ{—ÇãѤó#¶Âš…x˜6³äQšÖ¶ð"Õ8«‚í;ÖMP[ 2HaVi}Oi°'WÚ\ƒ_Ø ‘Ïec½Í"ûïhÌÁ˯ŒNò4y6 +ó,œ„éz’\é8_MÊ5M~Mãí:ù{3×Ö¼XG֚ }ԗúy¥âø;µ÷‚[–øRù~cË{Œa¹„àë©Fåb ֋õ——ûQ +¹Eõ¸”HŠ ˆÒâ~€!æ}îQ¤¤ò2ã-n‡åž¶ÃwïN R„7TŠI!ÝU?ì3'mý†€r™ávÊr¤¨zcK…ÙÒ«ïêÞ ¥ÆpIÅ~µ‹¿Ìçf¾w5AZÁ²ˆv&wÍS79»ÒÖM2Lãe–n7ŽD‰«ÆMðü÷é›×n¢‰^›|£CGÍ:sÜdihòÜu»@|c²øs‹ÐC䚠‡Ð]ôÈõxuáL",®«‹:Z]Îu¬¿—ê²;bëwU]’ÄÓGÚI}E»uìIÀMú=¢¾ ¨”ý¡¾¥¿ê»ëŽú@`pÐÃQ¿Žò¼H'á·ÆžÁâ +òd-·™¶Qš<–MçHª^Ùº n±) ¤T_ú28H¦›C´èå!҇ù~“¾‡y»Kªyå{I^} ÄÛyêYªmM1è¸è®ÄVŽ®OÐK0öÿlæÒÕ%Žr[ÒÅD–µú°<Š1|ÆÚuVÃ`«y½šÚ‰wúç=µ øúµ`‘°øÈ*ºóßË¢¢”tàÿ&²«Šþ§zý–¹Æÿ,NÃOJšc‚2 éù Ȇí ù-ýݐßÝXwä3Á#5¦Î®"®œInÛv³v“›ë|åx¶H3Çò±Ò™áë&>3 Ùµ·6‹fÛ;u©ó!Ãl¢e¦7«vµ{^ß8òZfò4¾t=rl—m4·¢B1)¤kÞr°Ïz+¬­þ·¨«P¡ê¼z—ÎLf+`YýÙÞ´«E-ËÂ+FpÞ#¯(ƒC·èWûú;òª³±àåÈWu>v®-êìp¼C祔/~¾?µ¢ùÐ`zh›])“GëMlÊæÌ¥Žóoífkہ3Š%ò‹~;@%”6.šVl›ïi¾Ýfpe«“sËÂ"0y²v%¾vP믔Ðrµ}áµ¥¿^»ëŽWJØÓàG;ø£|D;H±BDÊ/ÙÉm¾²úZí Q´?^HO°ÞxÕÒߍWݍuçáqÿ)»A.ä³û3Ko6w&}gh tdÚº¦b%®È Ãhn«ã–=Ǒ +Å߶œô€.ŽÀ•»Ÿ>¿ïü+ÁÇsõ˜?%üã7u‡ +endstream +endobj +1314 0 obj << +/Type /Page +/Contents 1315 0 R +/Resources 1313 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 1285 0 R +>> endobj +1316 0 obj << +/D [1314 0 R /XYZ -11.232 900.716 null] +>> endobj +122 0 obj << +/D [1314 0 R /XYZ 56.693 759.068 null] +>> endobj +1317 0 obj << +/D [1314 0 R /XYZ 56.693 738.489 null] +>> endobj +1318 0 obj << +/D [1314 0 R /XYZ 56.693 691.479 null] +>> endobj +1319 0 obj << +/D [1314 0 R /XYZ 65.161 692.163 null] +>> endobj +126 0 obj << +/D [1314 0 R /XYZ 56.693 655.012 null] +>> endobj +1320 0 obj << +/D [1314 0 R /XYZ 56.693 627.459 null] +>> endobj +1321 0 obj << +/D [1314 0 R /XYZ 56.693 580.449 null] +>> endobj +1322 0 obj << +/D [1314 0 R /XYZ 65.161 581.133 null] +>> endobj +130 0 obj << +/D [1314 0 R /XYZ 56.693 542.91 null] +>> endobj +1323 0 obj << +/D [1314 0 R /XYZ 56.693 506.745 null] +>> endobj +134 0 obj << +/D [1314 0 R /XYZ 56.693 458.99 null] +>> endobj +1324 0 obj << +/D [1314 0 R /XYZ 56.693 430.604 null] +>> endobj +1325 0 obj << +/D [1314 0 R /XYZ 56.693 383.595 null] +>> endobj +1326 0 obj << +/D [1314 0 R /XYZ 65.161 384.278 null] +>> endobj +1327 0 obj << +/D [1314 0 R /XYZ 56.693 336.77 null] +>> endobj +1328 0 obj << +/D [1314 0 R /XYZ 65.161 337.454 null] +>> endobj +138 0 obj << +/D [1314 0 R /XYZ 56.693 300.303 null] +>> endobj +1329 0 obj << +/D [1314 0 R /XYZ 56.693 272.75 null] +>> endobj +1330 0 obj << +/D [1314 0 R /XYZ 56.693 225.74 null] +>> endobj +1331 0 obj << +/D [1314 0 R /XYZ 65.161 226.424 null] +>> endobj +1332 0 obj << +/D [1314 0 R /XYZ 56.693 178.916 null] +>> endobj +1333 0 obj << +/D [1314 0 R /XYZ 65.161 179.599 null] +>> endobj +1313 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F52 695 0 R /F93 909 0 R /F95 923 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1336 0 obj << +/Length 2217 +/Filter /FlateDecode +>> +stream +xÚÅZëoÜ6ÿî¿BH¾ì]š¤øpI/NÓ«Û^âÃH‹B«åîê¢Wôˆûë;)íJ–%k_?+Q£™á<~3C{;{¯Î^\_pì)¤ÞÕÖ éÄG¾ô®6޻ŝè°ÒËåxñS^ëÊ^nóÒ^Ô{÷ðyô"Ïßۛ_ßþ¸üýê³")Î-··õ§DW{­ëÊ<éÄ @ºðt&$’4ðV)éä e°8·?„ +óâÙË«³gØcx\ ¡|O*‚¦^”ž½û{x + ¦ﺥL=N0¢¾€ëÄ{{ö¯3ì,¡I®Z“t̙B «G~«E÷š÷nE0Ƌ—E³vû:¶*2ä ÷öUg±mž$ù’òÅuœíìR´³]gã}¸¤xñqIø½±Ö:³Wi¸qku~pD+´=È&CRš·²õ´†T †IGåï*Î"=ò3Ó l¯KhhŸð Ð …}Ëõ7Jù€®Õ´õ>3:ˆ‰ SáŸ:®÷˕£^„ûdWêìÛåŠP¸_ÇÙyUèèÜìåRóªŠó¬úì¢rý̾·É£5Ä#º©+ÂÐH6?¯†aO$õD @r@fcG&<ŠT ¼R{Ûãˆp›^½-@J¤ˆèXÆÄPŸÊŸ#"Ș?Çà+°é ÇÙ$¢ê”m–;Ï^¼qé5pz§x@ÅÌúþùf£7ƒH¹Í 2Îøøàýyôa6“ñ6¾™GÙ7‹.ÊËRGõ6Ì£'nñö›‹u³½quËìÚäÍ,²0ÕUFz,au·>E©Á2s½åYƙ.ç‘–¤:³•áóÔq6~WLB*cÕÁÉo˜aŽÁ•D ²ÒѬ梄É./‰‡üOLⓕ‘Äԃ@`@qe®Ò_¾¼zþõú§‹1õùÝÔӁÐÝïܤÉTò=»?]ò䣞“¯«ªÑSRžR©0&rvˆù`Üà”BtÇïí–Ïõ7‚„9ûkJuO·¡=<Ï3  ‹}¡h@’f£¸ï™ËàAž +q¸ìóMpEìÕL»û`E± ß<ìò?;NVö ê#F]ýÏrh6g°®uZÔs‰gVÿDßÄëDÏ/¤3+"”·¸þôÀ½Ê¯¯mŽÌ£.Ê<2Y˜ ;‹ÉA$"Œý?A‰+ãÚÃcR¯Ï»ñ \Ï“òñÀK»qðhà0â8œ®ì|pàR vo§çk¾¿½wE;T咽=Ìmæ_ÜjË»*Ï1côþ–¢ú¯gïàKGœRyYϤõL0ºŒ£}¨“yÄÿ‰õ& ³ìŽîì󙍤OÔ£!ÍÔù÷ý@Üù›<ßùeé.—aZÝsÊÃÿúSžâ.ýù\<Ü9TmâÓÎy.æŒëÿY¨þA‡Y•÷H½wûþjTåMµ=àÌb€NÔD¬fðKåãaõˆÿiX}º²ó±šÁ/ïN:ÿ]lÂÙP¹1óøðx]jè袙Í_—œ³ˆÛýšóŠ»u Q_‹œŒ+DƒGENàE?BN}¡ëq1‰›‡2° Ç}Æ:Œ™Sˆ-I;0«Ù7ºGqj*_˜ÕE ¬6qa¤7-Ä:bÓ]ۋͦ!ßbWñ.‹ “¨ç¿Õaݔz€èߎ€ËўŽpòĺ¾©Ço ŽåËá'”Ë|ã1yRªC š?ù\uA÷i¼ê€5êø.OÓ<ûRµí¡®µeSG¾#Uyڛ¿LC÷¦•B—uܹ-wª×!Œgn­©z7}uùc_ØDwҟ¶/O}QÈï‰Ò°|ß­yÀŠ¶Ç‰+dd¸¥Ô¹^PÎÞdº+€`z ’ڟV|€ ÑFoÃ&©“pmû«‘RJ!Ae÷ÊGÃ:LšvšS`ßZÌHoÒµ.;Å*€= Aô#"²ø쎨 ÄíÅZÛßM ³]W{½q!€ó’“Ñç=ˆ¼Êg皋ãy£[Aöæ)á¾ÂŒ£þ3¡±ìÀ°>V®E1W&ÄÍ/$Ú&ÑNV¤E9g¨0zŸå׉Þì‡Ê#Ë +Þ;Ãâóˆ'ɀö͊™§Â†µÓI'8sªCV£åŠÂö‚fÍqÛi-¡È»-Wq'a™|ê÷=¡ ƁêusÅQ_7dz´¤ê÷Ðj$ϓd‚íÊToÊÕЫsL@Ñïƒô:î\‹B‡.ÁÃîËq™wššÓ›rÉðâG³5÷  f}²7‡ V÷!é’ ëâçÙh5þDÛV˜vø²ð³u¨Úµ¦‡–¾ï¥÷ÝF@ .-’µ»ü¹ð÷Ac±»Ž;î&qÖ¤³s¾þ/$zuO21_,BóÃ{|j×ÚQA÷^˜À,M–ê8 6V(‚2Õ’*¿O‰oLÌQ‡QF¨9¿/ó¤²ú´u×,ÇY\Ça2™‡€“w +h§ÄúÐÕøÊpuìy¯¹[.5¿U äâ»$¯te—/ÞX|óôÌÁ0ž©¨OÅW¸0Í;ܬ·y_Ûº“8çÒª.›èå½2’qO… ½¡>†elŠ]ŽÀÉ):*¨·í˜ fîýÖuÇÙ0©\¶]®–dw㣇ltåÂüo!_b²¿CЛC<õAazQvŠ¨4 7f6>†ç V¯°Ñ²"±eo‚#4­>‘Gá=ÙbЧ*}Ñ5>pëŠYö¸†AÔY¥€4{R&«zý¤“ÌqiÐhUç«DokX ]L¹Bü³3dS͝@1™þа>$œÈ(1aPÁ‚Á1ÄhCE†`>õO= #,Ô×üOϟ‡2¨” +endstream +endobj +1335 0 obj << +/Type /Page +/Contents 1336 0 R +/Resources 1334 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 1285 0 R +>> endobj +1337 0 obj << +/D [1335 0 R /XYZ -16.307 900.716 null] +>> endobj +142 0 obj << +/D [1335 0 R /XYZ 56.693 759.068 null] +>> endobj +1338 0 obj << +/D [1335 0 R /XYZ 56.693 738.489 null] +>> endobj +1339 0 obj << +/D [1335 0 R /XYZ 56.693 691.479 null] +>> endobj +1340 0 obj << +/D [1335 0 R /XYZ 65.161 692.163 null] +>> endobj +1341 0 obj << +/D [1335 0 R /XYZ 56.693 633.696 null] +>> endobj +1342 0 obj << +/D [1335 0 R /XYZ 65.161 634.379 null] +>> endobj +1343 0 obj << +/D [1335 0 R /XYZ 56.693 586.871 null] +>> endobj +1344 0 obj << +/D [1335 0 R /XYZ 65.161 587.555 null] +>> endobj +146 0 obj << +/D [1335 0 R /XYZ 56.693 550.404 null] +>> endobj +1345 0 obj << +/D [1335 0 R /XYZ 56.693 522.851 null] +>> endobj +1346 0 obj << +/D [1335 0 R /XYZ 56.693 475.841 null] +>> endobj +1347 0 obj << +/D [1335 0 R /XYZ 65.161 476.525 null] +>> endobj +150 0 obj << +/D [1335 0 R /XYZ 56.693 438.302 null] +>> endobj +1348 0 obj << +/D [1335 0 R /XYZ 56.693 402.138 null] +>> endobj +1334 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F52 695 0 R /F93 909 0 R /F95 923 0 R /F98 924 0 R /F57 739 0 R /F102 977 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1351 0 obj << +/Length 2605 +/Filter /FlateDecode +>> +stream +xÚÍZ[Û6~Ÿ_! /6P3¼H”Ô½l'MÑ&ٙšEÚZæØjdÉéL¦¿~oºØòŒ'iû0E“‡çús¨ÁÑ:ÂÑó‹ïo.ž]&8ÊQÎ)nn#NO£Œ0ÄÒèf½]ÉJ +%ç šàÙËFK冷MëzãüWS|ß4ïܲë_æÜü Ç,Ay’8j×ú¾’j#¥Væg8DœÎ™9=æ)Ji-”§þ|`šÍž¹¡Ül¼øñæâýò8"QÂÏY”æqL£b{ñö­à7`ÅyÝٕÛ(!QÆa\E×ÿ¾À^x¤‘t ‘@;ÎÁÜñôÓͯVºnہiŒrœŽ%ÿ¡©ç1ž}˜“d&[=_°8Ÿ‰ª2ƒlVÀH¹9ݸgQ ¥Ðs2Óm¹œS<Ûky°&lËú©f»mj´ÑÛ +6vŽÈg3µßíšÀǪl s_Ã[Êf•¨×vÏD½rvX;ÅF>–%V؉¦K]IoΡ/baÕ3eí˜1ÜZwYÄ$Aqš{Ýy}7{½Û뿳º3pЭ¬µB@‹àÙå¾úcjc7H¡÷­÷ÑV¾ßKåI}EòœeŒ¡ÎSÁïbw䋺¨öª£Ù¥Í­{nÊõ¦‚?]Ök7S4+Oûn§ ª*·»ª4ŒÈ•gìU]Ý{jµß‹¬ ìØ﬛9M€˜{‘…TJ´÷sžÌ¦øünµ ++Ûv¢[gÑ[Ž'(Ki0IY¯äGT•õ;…tƒ”,´‘øؒ„dˆ%Á# ’ňšp=â‡ó޿̋3 XÀ °;Á#Á³Œ=IJ†°óûœìaw›²Ø¸áN¶ÛR+ÿÒÊ¢Tž#{‚ç²qOs´‰×v©0çžìÈ{§U âxù­©;°Þ£ì>#,˜J“ JÙ"à©hìÄq>2ÑŸ†˜¶ €ó”À$õQ&_ï—OEµk Ö¯ÁœÛÆƌ꽨 ¹r/ óªrC¹ ¥cy Ë'½Í·b-›åŸ ÷”¤ cJ:\©À:µÐ¥q(¯ÊkÀË–Rkk÷~I½1arµÔÜøöÍy+ ÞXXÑûñå͋›ÿ(or nÇl¬ÛJÕTŽ)7ñB©½~ÆqLÃJÖôѼôHq%v!=Ðýyã¯f}ìVíESYÜ·&‰X˜·zBÿ9C9ëâ[,•nŤîcÂv^öl‚E)ÏK 4G ëLx·‘µãz+v;ç)ðRÖ.“ñlU|æ(Úrçæ<¸Ä³W¯/=©ÅJhÈ8"Ö¿íL—O`쎈gYí<¬ñÜßØ ¡ÊHgÂC¶öèàsƒ0Émhl•Ü¯š…’[Që²PV‚Õ~ „ éªm¶nô+€VgûßL~.å +ö×°Œ|€Œ`P‹›„3%V@–½ 2%§l ¥Í:S.þéH;-Ãl1A?Žãì€þ”#aDz¸êín2{½ +úU:Dn Í'þ ò‚WLºcŒ0yHP»ÏÙô1N!”R–}.£…`b5ñ·£9‡iÜÒ$=Åõb1,Ášåt5ðÃ*Ô:î¹W!†ì¡ÕåšA~2÷'¥OÉQ]‰ÔCÿ°Ž\ËZBŠ6ê™ÈKàv<ƒ²S$LÃYŠZ´s’]=…ŽÀ`Îî(Œ®µrÇ­©”-T0¢ÐO=œì)ƒ’ÎtÊôJym‹U¨Ô'«s%o-‘}åU +(Ò×ÅÇ߶û*4£`쾞²ÎÚ¾Û{A=A¾S›ñàÑWÀðb«?i²¾ík&ÊÌ<›u%Ö‚Ò¬$ÎJì&m’s”±®À„‰bJ:íÎ,šZ·í;àÍe ”u©KQMe]h£HW+}œ`CN¶RŒûéVJh7hÏ~sI“~m¯ô ªzšÄã^kc:–£Uó¨›zñ—l÷öÁ¨XT¦„1¯&Yêæeà&Czb8¼±]ùÝ/&›Ý¢’}¹V¹ß;øóÛ@·T»JÜk›W¯ÎÊ·D ë+SaßA)ïíxºÛ4•Õ¸‘«@¯&ÇÛ±îtßÅÝlʃ¦Ó³h€¼Îõ/_½vŒò7È ¨Âáò*4¢iNåg5x®Ì2g+mi¦*•F¦sA»¶¾G—RMµM C„öÍ|Ó ±íëh¾ö•Ì!Œ; ܃äj6Mrk|ÆPÆ©“†#2Z½]@îóç¦ñWÇ~„­j珫d$ñyrNÝkRs£´Âµat’IsÀºüÓ;Ï'©ÑÜËæÈT"C_øÒä@Ûc؅ ØÁßU³´_m8¨÷Z‹{ÝÔßÌ„b—^*ùL}@·Õ?Ü?÷§8žÛUfÎ qdÎ6çãOZœ"’‚í9 VÌÌ'-3ŸàdåEy–G­Œn‡ß°FÔ¦gH”eq8À&fõç҇ކ“Cú cVÏ9aø}Zå³–`»ŽÜàÊðßÃÆs« ÷ñn#‹w#_9¦Ág¬ìrîãët+jU W@žµÃµ-¯ûE®EU7º,äyÔ~¹-µi_ÎããL ·¢¬3ÊÉÅmÇX¾a<$¦Z€_?#HN<?ûÏÁð$ÏÈ©ž# Uè— E:ÿrø0"ÿ™ðð¹¬>EÐã9“^–Ï ´¬Î Ù¶M«þ^Ôù®xW7w•\­Ý7ó39nÃ_|R|bŽpJþ—ñ™1D’ô‹‡§'8õÏ(1Ä%t Ÿð¿(ÿ”qæë +endstream +endobj +1350 0 obj << +/Type /Page +/Contents 1351 0 R +/Resources 1349 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 1285 0 R +>> endobj +1352 0 obj << +/D [1350 0 R /XYZ -11.232 900.716 null] +>> endobj +154 0 obj << +/D [1350 0 R /XYZ 56.693 244.842 null] +>> endobj +1353 0 obj << +/D [1350 0 R /XYZ 56.693 216.457 null] +>> endobj +1354 0 obj << +/D [1350 0 R /XYZ 56.693 169.447 null] +>> endobj +1355 0 obj << +/D [1350 0 R /XYZ 65.161 170.131 null] +>> endobj +1356 0 obj << +/D [1350 0 R /XYZ 56.693 122.623 null] +>> endobj +1357 0 obj << +/D [1350 0 R /XYZ 65.161 123.306 null] +>> endobj +1349 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F57 739 0 R /F93 909 0 R /F102 977 0 R /F52 695 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1360 0 obj << +/Length 2085 +/Filter /FlateDecode +>> +stream +xÚí\[ã¶~Ÿ_!¤âj.ï—}H²Ý$ER ;óP`7(86m«#[Š.;³ûëKYòf,Û³GKÓmƒ'Ë'ß]}s{õâ•À‰AFR™Ü.I‘T‰& 1•ÜΓ7“×.s¶r×S*ðäïyíªîp‘—ÝA½ê|™Ï¾ÉóûîË?o~¼þùöo¾›)!ÈÑY»©ßg®Z9WWíϾw’hß»dmï\*¤¨N¦Õ÷O”7¨ôäE÷A¨l/¼úëíÕ/WÄ›Ç I„DÒ°D‚$¦Él}õægœÌýoÞčN¶-׉ Q&ýq–Ü\ýã +÷O{ÛÃöã»'–ýó Š&ŠD°l-·çö~r™Pd´IJ—,Nš‚vÀ4"\í:è “¶u¨}ˆ$Cû¤¤õðô1Kd¨9ƒ³[ƒå2é^÷HôC¸Åß"±wœÄYžoWnv¿þӖ’7S‰ñ$ÝÀÚÕ¥ÝT™­Ó|SÁ®hÿ´aš÷'O\åY´v›ØGÕÜ­ÓºvsàM¬Ê¼Y®`çù쮥éþ=L¦'ýŸØ¢ø½7ª{TÜá™*D´Ž‡ç}ûxvvž™$%;<¯]UÙ¥ƒ[¾8;ò Ü}]”ivìBŠ±AÝ€Ñäˆ"'>g –ã–÷ÝczK©Ø»…Á£Õˆû±Ç]ã—ö]:¿ÞÞâ·¥]»ò«ë)ñ7;Éò™Í܋+ô¸ÎþܵèÏÍìá¹²9<·<Òn™==×MjþÖõŽkƒ„?ìý{‹1ñüñˆtG°¡~Ž<ÞD$5FB“hÄØ#n¸³pâJ͐–¦Ä6µ+7ÛYÃfé¨NÍfV7ÛËÎ;‹-³¼ª*T»™3k³*9H¥0ô’’!Gš~Žf¼Îï\Yw¾©íû:ßìTã'{ïiæ ôäÆ"ò“1óxüÜ·ÈÏ`gGð“)D%(.ÒG÷™âɆ/onºe€Š>xt50´åÒAcÍE™¯£D¥…­g«c¡ÇˆÔ¦Å”T>f2Z^TK°F”¨ójI14÷mļwa4bTÅ¡b2^¤>°&(áÎÂEŒ¤ˆ·ò\ÛCu¢)æ¶vQHúÖÀuã]³„5,]‘—õQâ{háPðkŽ˜ºèºCH‚üàÇàý‡Õ¿ê‡1Ôž*4"ó9öTŒêì2?ØÙÌ÷Aæ&f(œÇsX»6- T‡ºL7Ë(J½û¡Ž|ÔÎ ö‡²ÃÇ{J]t!ˆ@³(âÐ¥ ÷Ž=PIÄU7o•1°& áÎÂ¥…8ºÊ'šßù™åáâŒc %(7Ä?2 ´c%ÌS†rÁÑN¸%¢ÃÛ ¸Í +æëu—°'SšPÓüv·¯µÈ³,¿¦ÂÇJ^:·§f+»YîvÂVöšâÉ»k"&ýwÎmº£µ÷编Ü.뒄ìIßÄG:Jɝ^ÌNùÈüj@î} ?º¥ç/\iÁZUv iV(l¥[Tí4T/gY3$}úß¾<½[¶É‹ážŽ?û%T6™öËNÅ/×0¡Áò¼ì¯í]æÆpŸk„‰ˆÈ}0bo‹}`?ûÁΎà¾_Z1λýzehS,óÃ3¢U¾v`“k ì¾(óÂã4…&p¡Û3[Œm6ÕÁÂëӜ a/77°Ù`gG@–ÄvñÊ÷·?ý8b¼ Ù¹ò¾)†*ŽNo¶oEÏnjոÙeØÃWP¹ôkQÂLoF;ÏÒÍýˆŒ6% )±tbŠ”Š—ؤX°³ðô Åa)Gf´‹ÌÎÜ*ÏæHÁÚ­ý5ÐpZ̳¶c^ +j1 kºÊ¡ÕÃð:cð-Ý»‘¢A A:ÞBdß|²ƒ]…›ÿ‰û²äYSÕù:ý0â}g«ô0±ð§ç§¥ʇWÎÖM Dîk÷K㪣e¢DSÝ`u–h4#—œ_ˆl†ž{Çt[µ?b†!Þ³D”p(‰·°Øäa°³#ˆÈ5òÞþOì™ú 1s³\×9bΈô"‰ñú™-ߏ:G4bñâÀ~ hƒZ¦Ø/Ž,ȹÌà>ŸDß}0Ûýzш5‰Ç¦ +?‘qsî⚴Îܘ™Âh$cþ…VHFüûŠ}óaŒ vN8ã/ÝýwÅ÷~ ->X¤eU×®2.KïÝÒÁ ƒ_eÊ þòÅ3»g-|Gÿx1ÆPÖkŽ¤ÐHð4û°Ð|ÎÐüËA62 +endstream +endobj +1359 0 obj << +/Type /Page +/Contents 1360 0 R +/Resources 1358 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 1285 0 R +>> endobj +1361 0 obj << +/D [1359 0 R /XYZ -16.307 900.716 null] +>> endobj +1362 0 obj << +/D [1359 0 R /XYZ 56.693 759.068 null] +>> endobj +1363 0 obj << +/D [1359 0 R /XYZ 65.161 752.393 null] +>> endobj +1364 0 obj << +/D [1359 0 R /XYZ 65.161 741.435 null] +>> endobj +1365 0 obj << +/D [1359 0 R /XYZ 56.693 694.144 null] +>> endobj +1366 0 obj << +/D [1359 0 R /XYZ 65.161 694.828 null] +>> endobj +1367 0 obj << +/D [1359 0 R /XYZ 56.693 647.538 null] +>> endobj +1368 0 obj << +/D [1359 0 R /XYZ 65.161 648.221 null] +>> endobj +1369 0 obj << +/D [1359 0 R /XYZ 56.693 600.931 null] +>> endobj +1370 0 obj << +/D [1359 0 R /XYZ 65.161 601.614 null] +>> endobj +1371 0 obj << +/D [1359 0 R /XYZ 56.693 554.324 null] +>> endobj +1372 0 obj << +/D [1359 0 R /XYZ 65.161 555.008 null] +>> endobj +1373 0 obj << +/D [1359 0 R /XYZ 56.693 507.717 null] +>> endobj +1374 0 obj << +/D [1359 0 R /XYZ 65.161 508.401 null] +>> endobj +158 0 obj << +/D [1359 0 R /XYZ 56.693 471.354 null] +>> endobj +1375 0 obj << +/D [1359 0 R /XYZ 56.693 443.873 null] +>> endobj +1376 0 obj << +/D [1359 0 R /XYZ 56.693 397.226 null] +>> endobj +1377 0 obj << +/D [1359 0 R /XYZ 65.161 397.91 null] +>> endobj +1378 0 obj << +/D [1359 0 R /XYZ 56.693 350.62 null] +>> endobj +1379 0 obj << +/D [1359 0 R /XYZ 65.161 351.303 null] +>> endobj +1380 0 obj << +/D [1359 0 R /XYZ 65.161 340.344 null] +>> endobj +1381 0 obj << +/D [1359 0 R /XYZ 65.161 329.385 null] +>> endobj +1382 0 obj << +/D [1359 0 R /XYZ 65.161 318.426 null] +>> endobj +1383 0 obj << +/D [1359 0 R /XYZ 65.161 307.468 null] +>> endobj +1384 0 obj << +/D [1359 0 R /XYZ 65.161 296.509 null] +>> endobj +1385 0 obj << +/D [1359 0 R /XYZ 65.161 285.55 null] +>> endobj +1386 0 obj << +/D [1359 0 R /XYZ 65.161 274.591 null] +>> endobj +1387 0 obj << +/D [1359 0 R /XYZ 65.161 263.632 null] +>> endobj +1388 0 obj << +/D [1359 0 R /XYZ 56.693 216.342 null] +>> endobj +1389 0 obj << +/D [1359 0 R /XYZ 65.161 217.025 null] +>> endobj +1390 0 obj << +/D [1359 0 R /XYZ 65.161 206.066 null] +>> endobj +1391 0 obj << +/D [1359 0 R /XYZ 56.693 158.776 null] +>> endobj +1392 0 obj << +/D [1359 0 R /XYZ 65.161 159.46 null] +>> endobj +1393 0 obj << +/D [1359 0 R /XYZ 65.161 148.501 null] +>> endobj +1394 0 obj << +/D [1359 0 R /XYZ 56.693 101.21 null] +>> endobj +1395 0 obj << +/D [1359 0 R /XYZ 65.161 101.894 null] +>> endobj +1358 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F95 923 0 R /F52 695 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1398 0 obj << +/Length 2360 +/Filter /FlateDecode +>> +stream +xÚÅ\[oÛ8~ϯf66,ï»tڝ ¶{)¶Ít恱éXˆ,º’Ü$ûë÷H²ÛZ¶œ#ÓJ;2uxHžó«D£ÛˆF¿œ½¾>{q¥hdˆÑ\G׳Hs¢ã(a‚ˆ8ºžFÏß»ÌÙÒ]\rEÏÿí+W¶_g¾h¿Tóõó“×Þßµÿüú៿_¿…i.#F©–Ú‡ê1såܹª¬†ÙY”ÀìZÔ³K“˜'Ñ¥"&^ÏÏ 'ç/ÚÆu}ãÙÏ×gŸÎ§‹”&ڈ(6ŒhÊ£Éâìãï4šÂoÀ‘&‰î›‘‹H1J¸Ðð=‹>œý献w‚öîȆ¶4„QÝòôçªábsۋ+Ò¬CÖ÷$Dê~h7Ð߸¢º¸Ô”Âòícå󗗌ÿUZÁn‡2k©Á>Õë_¶WçÂbŸHt½Âúº¢°_RGœ˜ÄD…‹fß.i‹Úþ«»ð„po&h ³zt(}E˜f]úŠ2ÃVaføö¸51ܜ€Ù†`qµ_Þ¯Ïë,7Œ F[KñOÓéÖñï҉>6ç½°ÕdŽêsܸ4Ÿù­‘Àϋõ…Ý[ZÃRƍÛ% ó~¶¸[-‘´Ýb™ÙdPÃïç®@®n‘–ešßöðý´æqÀaB4¯ç³r('’±# ç_vU¤ÕÿZÌyël^`Ž6À†áãaŽN@µ„ s:ôÃ0'œY<æèD’„·Gúfnó[7íˆosÀ?ô«žÍ'®¬ÀRw¤þåË!ˆûçhÕÖïeì7ªèØÌõòdó½»u˜§W)Ù;l÷Ž{õ°ÈvØ?Úå¹æ—Õ?`‘Jǔ¨XŽ§NÛôÕ)˜Ùê ’è5ž^ÏS¤q¹½É°iYø¥CŠxÐàT]£Ô/r3¬ÏÒ©$àÜ/\^•#x'¦yýîMÙՍ?bUB¢ÁyM%¶éªD0³T6ÈPѪ„EžX汋¥!dé†7’î´ãTÃ"ÿpÀ¶àˆÎíg,¯'¶%A¦¤ÿªªHoV]Ÿ{€o¬k‡•ëçôµ$†¸þ¤áxfo\6È5æ`Qb3¢k̀·¶ÈÂV(«P‹iÂi20¯î=n`îîq?‹iÂS7³«¬jÄ 7Ãg›­°`Wz,ØZ$Òå«èŠCîoé&Uêó·OëHCMÆ·é +y0³¤œ*Â¥YÛæ|:ƙ}éÚsh}Ã'é¬Ý -ä4-kÿw•–óØö€&µpýÁVi9KÝP‰S†JÇCÕý0‰ g/qÊHÂ×wålµÂæÖÞ»Fö…Û?2% • +ëK¨$!”‰çô%T½üäÄ©ýœªeÞ8j,Óž…R üzÄD¿’’°¡£)Á6ý@%fv€Ș(³Nô¿ñùçú„qñü*o,`Ç.¤À>Û4«Ó {²>²Tî‹ ¡"ÜOݦJWíKB ÊöŽ[a½º¬xZwmi »j+ ÎҌ§&ÛôÕ$˜Ùj"<Å4±®ç¯6C{+dŽ›ÆKK_–¦Ç¹JP"ž5Æ­çP‚ïú41Ñaù°)’ ¬W—°îÐÓ±pfñ:& ɿĹX¯~–>`ƒÆ6÷úXîõï8c\+}Ø:ôÔb~d±2œª—XQŒhÆxyÜý@I e¶_.b¸”¬³¶ŒÞú÷®ö`°¢³€€ÌÞ9$HOüb‘b‹E,u\éîMÅűˆ.µ$ñWH?½4mÓ”¦Pfû¥ICÄÅe+Mü iúïrjÑ„vá6]Ȧ´šÛ~Küˁzy–æwKßhY]ìñÂñ’û©E›O滕ôCM9{¸yb¥Ç'ŸVE%H×vÖ¡¨ŠÁÌpTL¨^G£¯\>­\±8­c R‚Sl0»°6å‰M–I48í`ÂÊ r1¹ÇÚ×¼ryu´S”ÄIòœ1‹äq“ ÿÞ1 ›&و1 P¤Éx9äý@À +fv`ÝMëø€eÒ5GÁ‰¦9 ºUlr—ûûÌMoÇ膹©›âO rK[TÊ%MÿÌ|XKÐiÌ²ðWîXš'YM¯7´C?LÏ™Åë™0æksp™.ÒÌÙãiU´7Ø})í'dí§,SñîS4ýåÒÙâ´ÍJ³Âcµ£nïsEO×Z/³î=5Ij©/1Ò¡¨&ÁÌP“œ Å7EôÇ¡‚tO”HêÏgÍ eˆ'î‰òµû;Àóp‰Ø%°>^¤¸M>PÐCY çU볿JŽ+²|ÉéR–Ä,>ŒSÝJÞá|Cæ'60ÞïKÅ_Ö¢^¬¡)Э®·`¾ÜC5 ®{8:®B™°gÅƉVâ;c å$rPíCY õ2!BŸÊ©`Z­äa­]xtõѯªåª:mVx●Ez;ßÛËøç~÷ã±fµ¿^jíØÛzk‘Ñú)Ñ£ñErBͳúœµüÎÏqpZGN#:̀&%㕚;ôÃ&œÙœê8Ô±NÑ6“¡ŸÄœ¥·èÞhÐð›Û®ÓUù» ƒ(U:ÉF`y'¹=ox•ÂÄ£á ¯¥6Væ[Àa*!›zª&ÝޑKFaMWïÖï¦ù°htÉ%œožv›÷àd™¿àêü¾ŸæÒ¤yVýžœ¹½àôüóSçë;nX¸æÛÂN××*ÿõe:ÍÜÀê×¹Y"ÁÕ×èk_ÒáI"¥Ú iê) Åi×yS ,¥ý^´ï÷!Û;qÉ 3g°hSø½M‹;Ûâó?|éî6è<óšÕ&v@"i¡ÆÃç$/©´M> ƒYŃ³[7¶ùïù$[•)ö-5ØgÕ¿{ñ•Â{lF¿LË,¥ƒAªo|—cK.û@>°â‹ßrm¥¯‹t¶x<ѧô( ;ïú’”PmŽyÕ×ÿ¥šfž +endstream +endobj +1397 0 obj << +/Type /Page +/Contents 1398 0 R +/Resources 1396 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 1433 0 R +>> endobj +1399 0 obj << +/D [1397 0 R /XYZ -11.232 900.716 null] +>> endobj +1400 0 obj << +/D [1397 0 R /XYZ 56.693 741.791 null] +>> endobj +1401 0 obj << +/D [1397 0 R /XYZ 65.161 742.474 null] +>> endobj +1402 0 obj << +/D [1397 0 R /XYZ 56.693 696.338 null] +>> endobj +1403 0 obj << +/D [1397 0 R /XYZ 65.161 695.779 null] +>> endobj +1404 0 obj << +/D [1397 0 R /XYZ 65.161 684.82 null] +>> endobj +1405 0 obj << +/D [1397 0 R /XYZ 65.161 673.861 null] +>> endobj +1406 0 obj << +/D [1397 0 R /XYZ 56.693 626.483 null] +>> endobj +1407 0 obj << +/D [1397 0 R /XYZ 65.161 627.167 null] +>> endobj +1408 0 obj << +/D [1397 0 R /XYZ 65.161 616.208 null] +>> endobj +1409 0 obj << +/D [1397 0 R /XYZ 65.161 605.249 null] +>> endobj +1410 0 obj << +/D [1397 0 R /XYZ 56.693 557.871 null] +>> endobj +1411 0 obj << +/D [1397 0 R /XYZ 65.161 558.554 null] +>> endobj +1412 0 obj << +/D [1397 0 R /XYZ 65.161 547.595 null] +>> endobj +1413 0 obj << +/D [1397 0 R /XYZ 56.693 501.459 null] +>> endobj +1414 0 obj << +/D [1397 0 R /XYZ 65.161 500.9 null] +>> endobj +1415 0 obj << +/D [1397 0 R /XYZ 65.161 489.942 null] +>> endobj +1416 0 obj << +/D [1397 0 R /XYZ 65.161 478.983 null] +>> endobj +1417 0 obj << +/D [1397 0 R /XYZ 65.161 468.024 null] +>> endobj +1418 0 obj << +/D [1397 0 R /XYZ 56.693 421.887 null] +>> endobj +1419 0 obj << +/D [1397 0 R /XYZ 65.161 421.329 null] +>> endobj +1420 0 obj << +/D [1397 0 R /XYZ 65.161 410.37 null] +>> endobj +1421 0 obj << +/D [1397 0 R /XYZ 65.161 399.411 null] +>> endobj +1422 0 obj << +/D [1397 0 R /XYZ 56.693 352.033 null] +>> endobj +1423 0 obj << +/D [1397 0 R /XYZ 65.161 352.716 null] +>> endobj +1424 0 obj << +/D [1397 0 R /XYZ 56.693 305.338 null] +>> endobj +1425 0 obj << +/D [1397 0 R /XYZ 65.161 306.022 null] +>> endobj +1426 0 obj << +/D [1397 0 R /XYZ 56.693 258.643 null] +>> endobj +1427 0 obj << +/D [1397 0 R /XYZ 65.161 259.327 null] +>> endobj +1428 0 obj << +/D [1397 0 R /XYZ 56.693 211.949 null] +>> endobj +1429 0 obj << +/D [1397 0 R /XYZ 65.161 212.632 null] +>> endobj +162 0 obj << +/D [1397 0 R /XYZ 56.693 175.544 null] +>> endobj +1430 0 obj << +/D [1397 0 R /XYZ 56.693 148.033 null] +>> endobj +1431 0 obj << +/D [1397 0 R /XYZ 56.693 101.24 null] +>> endobj +1432 0 obj << +/D [1397 0 R /XYZ 65.161 101.923 null] +>> endobj +1396 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F52 695 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1436 0 obj << +/Length 1939 +/Filter /FlateDecode +>> +stream +xÚí\[sÛ6~÷¯àÌv¦ÉÌÁ`vúÐ˺ÝNoÛøagÒ>P$³¡H•¤b§¿¾‡¤ÔF”儺Mûà‘L‚ïù€MV M>¿øäúâٕ¢IJRÍur½L4'Ú$– "Lr½H^>ùÞ.kÜÓK®è“oªÖ5Ã×eU_ڛÝÉϪù'Uõjøç/¾zúãõ—ÐÍ%c$Uj°ö¢}S¸æƹ¶éNCï,±Ð»]ïRb¸M.IÍ®–‚AcŸ<>×݅ÿ¾¾øù‚yš°Di¢S‘˜”My2__¼ü‘& 8ˆLmrÛ·\'ŠQ…†ïEòââ¿t7ôäˆìm˔0ªL?p®zû˞]A“þ>dw%R[81 `5suûôRS +·Ÿ½i«òùÓKÆi7†Fîšb°£Ô™ë>>?¼?˜fxb`¢»¿î¸¢0ZR'œ¤6Mj—,ß¾¡k÷=î€[¬Üw0f]ëPûŠ0ÍÆöeÄÀ@azx{²5Iy:ØÞ`½J†/ßïfÿ`&÷À#¨ŸÐ‹ƒÉ?¶“¼ìg»Sªaénq 0¸†î®ue“WeƒD­]³ÉæHÀ 7/²:k¡ƒƒ `tþ¹;pâʼÄõ0ïÖTË«o¿;løn1C@Áñh~h?æÁ`=hÎ)QL 4ÿBHjnËy‹'\V#§w۸Řc»`2Ù¯ö æ‰Ï“~BƒœOí'êuVxx +m…Žç(´·JY4ì‡)(,^AÚ¢Á¼Ÿ£h¶›Msô5®áfu›/*ê^œT¾‹j>ƒÀØG¿B%TDsA”Ññ|h?PÀÁ`=Ì5±Ý‘nN¯ò;‡•ðf[çÕéýæEÕäå +×øç-d]ÓʸÈK7Reœï°íbkÏ)N•ÈNe4qþkhmÛ*_Ü]¾ªwÏq+ ƒÂX<ƒ*ˆQ<šŒGöÃd/ce)¡;¦|Z•¯Ú»îÂرϺ<™Ö<É^gy‘Í +7±ÿ.«…ó€Ñ¸vÜúª(ü±‡S²¶BG➉–‚Ù0©ˆGÏCûô ëAOjÙÀOtöÿûmé9 +¦îcÄ}"^"“±~“ÕÙc"Ë+®iZ*ø´TžÕ{‰”ì3/çõYö:_ .èSDWï]×]í–>ވ&n#z#ÖÝAOî‡öå ÖCvÅãìÕ®iЅ¼:Æ èú]¶lÒ u$õ¼½q%ÞfÓíŒåûч-O$“ã+ž?ìÛ`…rÖÝn²Õ¢áužôÜH* ÿÝ£¾[rL¯Î¹ÊÈTª³OñuLûËp¿_º¬l~’7¹Ç:#­ ŒFܦ€9 LÆÛ¦Ù[gÂÁâ×i‘‚{'¯á櫉ƒÜººõˆqo\¾ºy´Ó—u1uÖr°”špɦôú«¢jš¬~ã£H(LQ‘\/ =4¨ÇP¨rä–hº+&þ§—[ö[fY‘ÿ‚•æ¦ËG·Ç;mÁÑsO£Æa†rág6+šÊ3[”% ÁÎ)O‘¦D23mE©OuÈÝ­›í +GÃW¶»ÿoÚuÑΊ·JKm—HyZXÀ­dó?>… TÆ úGöé փRBÁwi€+Üڕm3í쟿v %Tõ}01ñ+*omI"ÃD|E…YM8‹·Ÿ3²¦´p°x¥1›µ¸ýނôÊÌЫ²W”¶úžz$!á*ÞæÖÈ~ N‚ÁzèÄX¢¤ú‹y$ø#\§çôHL¦Dìácú§h°7.EÊ#:$ØE¼rÍÈ~ Ð‚ÁzMÒ}y•ß!¯êWèw «%v3håóÎÔ:kÐÂnÙNí玞f}hQXåå£_¥f\)Ïú¾ £œ(1õƒèïz¶îð'uv½Ý÷cA÷a™ôý­ _²SƒR +endstream +endobj +1435 0 obj << +/Type /Page +/Contents 1436 0 R +/Resources 1434 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 1433 0 R +>> endobj +1437 0 obj << +/D [1435 0 R /XYZ -16.307 900.716 null] +>> endobj +1438 0 obj << +/D [1435 0 R /XYZ 56.693 741.747 null] +>> endobj +1439 0 obj << +/D [1435 0 R /XYZ 65.161 742.431 null] +>> endobj +1440 0 obj << +/D [1435 0 R /XYZ 65.161 731.472 null] +>> endobj +1441 0 obj << +/D [1435 0 R /XYZ 56.693 683.964 null] +>> endobj +1442 0 obj << +/D [1435 0 R /XYZ 65.161 684.647 null] +>> endobj +1443 0 obj << +/D [1435 0 R /XYZ 56.693 637.14 null] +>> endobj +1444 0 obj << +/D [1435 0 R /XYZ 65.161 637.823 null] +>> endobj +1445 0 obj << +/D [1435 0 R /XYZ 56.693 590.315 null] +>> endobj +1446 0 obj << +/D [1435 0 R /XYZ 65.161 590.999 null] +>> endobj +1447 0 obj << +/D [1435 0 R /XYZ 65.161 580.04 null] +>> endobj +1448 0 obj << +/D [1435 0 R /XYZ 56.693 533.774 null] +>> endobj +1449 0 obj << +/D [1435 0 R /XYZ 65.161 533.215 null] +>> endobj +1450 0 obj << +/D [1435 0 R /XYZ 56.693 485.708 null] +>> endobj +1451 0 obj << +/D [1435 0 R /XYZ 65.161 486.391 null] +>> endobj +1452 0 obj << +/D [1435 0 R /XYZ 56.693 438.883 null] +>> endobj +1453 0 obj << +/D [1435 0 R /XYZ 65.161 439.567 null] +>> endobj +1454 0 obj << +/D [1435 0 R /XYZ 56.693 392.059 null] +>> endobj +1455 0 obj << +/D [1435 0 R /XYZ 65.161 392.742 null] +>> endobj +1456 0 obj << +/D [1435 0 R /XYZ 65.161 381.783 null] +>> endobj +1457 0 obj << +/D [1435 0 R /XYZ 65.161 370.824 null] +>> endobj +1458 0 obj << +/D [1435 0 R /XYZ 65.161 359.865 null] +>> endobj +1459 0 obj << +/D [1435 0 R /XYZ 65.161 348.907 null] +>> endobj +1460 0 obj << +/D [1435 0 R /XYZ 65.161 337.948 null] +>> endobj +1461 0 obj << +/D [1435 0 R /XYZ 65.161 326.989 null] +>> endobj +1462 0 obj << +/D [1435 0 R /XYZ 65.161 316.03 null] +>> endobj +1463 0 obj << +/D [1435 0 R /XYZ 65.161 305.071 null] +>> endobj +1464 0 obj << +/D [1435 0 R /XYZ 56.693 257.563 null] +>> endobj +1465 0 obj << +/D [1435 0 R /XYZ 65.161 258.246 null] +>> endobj +1466 0 obj << +/D [1435 0 R /XYZ 65.161 247.288 null] +>> endobj +1467 0 obj << +/D [1435 0 R /XYZ 56.693 199.78 null] +>> endobj +1468 0 obj << +/D [1435 0 R /XYZ 65.161 200.463 null] +>> endobj +1469 0 obj << +/D [1435 0 R /XYZ 65.161 189.504 null] +>> endobj +1470 0 obj << +/D [1435 0 R /XYZ 56.693 141.996 null] +>> endobj +1471 0 obj << +/D [1435 0 R /XYZ 65.161 142.68 null] +>> endobj +1434 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1474 0 obj << +/Length 2342 +/Filter /FlateDecode +>> +stream +xÚí\[oã¸~ϯ¶Í G$EJÚ¢ݶÙnQtÛ$E˜ÝÙ¦c!²èé\úë{$˳±;‡¦h À>őéÃ#ê|ß¹‘Š£û(Ž¾¿øîîâ㵈£œä’ÉènIFde”žFw³èó卪Taԇ+&âËh«Ìæã\7›vÑùg=ýNë‡Í?Ÿnÿþá绿Á4W”’\ˆ´[ûR)³Pʚök˜FÌ.y;{"S’²,º$OûùY Óìòãæe²ýáÅ_î.¾\PG4’ÈœGiN‰ŒY4]^|þ9Žfð(@’<‹žº‘ËHИ0.ásÝ^üë"îW"ۏíŸï_I†õ )‹Ò$'4–­äöºˆAÏDFŒäY5*š…€g„&év‚`ڎö•/•t(_Ĕ¤2CÍðz™%ÉY>‚²Àæ>Ú|¸é-ag Ig‰½â % ï­ç³™šuÿ°¤èó•ŒãË7¬VO¸«¢)–ʪfg8èô»þßMË¢y0Ãߑƒ¿»œêª*V€9·©ì¢°¸›™êÚ6º2¸Ñ-ÀQ˺´eQá¤\=YÑíCÙP˜æ/f—d92‡áÅý'q?*{5*% €¶sµ™tÇÒwèi‹q–šeÇa3Ôx ãßïã~wÎC¸ÇJýÊAnŁr u)‰ào*7ÏÁ6JáQÖªٶÞ&ŠƒÃ…—Ðt=\ƒ«ÃLó_ÕhœÜÇ¢ZW·ûâ§Xć'@/ÛL͋ue‡ºƒtúíéºzùZ½rXÄJ=ª]Òr +$MiN¡’0d°¸aW¾gÜà­,‚2A⠘Ó>†|Û †Zƒ5ÚÒ¬ªâ“ôþq`®ï³Ô`¸ÍSyB@€¼§…®°Ð’¬·×v|8¥9áÙ )3‹ xŒaéy]üΔ£yø7ò:í|´qF„È6K~”Á¾[”#›L¹\Uj©j‹t›£^ÿøÏ·|'¬Ôa·òɑ%þTi£wz}ó–:¿¡iÎ8“m쌰ŒúdÅþî&ú_¦p‰ò¸Œ‰¡ßݱ*ˆ³-‚oôD5öCw£·¶x±ºþöÃl1©y6Õï7_¯Êöä"È4§ÆÕ¤È ƒ +åâòý\¼¿²øҀ„‚}- óÎõj¥;2Àg“92nô“Cl¹Påý©ìªÑSeLYßcÃc›õԖû)Ã;EU>`ÃtM¢¬±+½°Ëê7¾Và–ʳRç$Óq)«*5.,ÅÂh¥('LdáXjW¾'Ky+ëÀRôˆDþŸ±ÔƒR.)°Õ÷ªMRÎKTøyÊðpÆûZº§éz*ê`¸ˆ¬ç-ŠKlVÜrþÁõT™Sé\ä9áô¬¨HáA$,÷è¤ÒÓz2B „ŠÖoæá‚Ё|?Œø+‹G‰€€W@”Þe÷Ýê¬#¹‹DÎE8ãݕïi¼ÞÊ:o’Éúlz©±ß±“Á:ƒ‡ñ݆UKl)·žáÛ6§»¡œrrÖ¬BP¸”faÝP×Ë"ÏOj²s‚ì´Û-^·ÇöKIì äûAÛ_YhCœ(·ý´_Bo‡x,š²­šíöøΫš¥Ãpp%+°Õ[Ö´,±u‰VeãXYa}e£¾¬ÕÞ +nŠ±ÄÑ\fÒU$à’\“ˆ’”—uUÖÊ!NdDÍà€Ýp)â@¾'Ñx+‹'š¤µÚÀ? C8ÓµZ˜àìáÁ…*š¦¨ï±ýÊf†…-¶µy vˆ,C4x^@³´}Æãú¹Qs8ÓÌ·LûœA"§áö[ä{ÂÙ[Y8ƒ\÷û-ÿ +á3vcÀ¼lŒÝóï#ä÷•6/ÛGXêÙýá›# ì”3ƒÆ|œìƜá1Ï3 +—Æ…|÷܊æåU>±e>kÿÏ\k[këâôyʀ%h8–à’ðX0–È÷c eñ,Á!ÜyÞ;ýí¶‰³ù~ÿNHgœ»• ]E؊-*ƒLE°ãìB!w9N $®Ê€k£.È÷ă·²x€€»½ÐÂAãK¥öe…Mm±!g‹téu¢L9CkÐÞבþ}ëI Œ‘ge9KH>¶cûtPe]<„‡> endobj +1475 0 obj << +/D [1473 0 R /XYZ -11.232 900.716 null] +>> endobj +1476 0 obj << +/D [1473 0 R /XYZ 56.693 759.068 null] +>> endobj +1477 0 obj << +/D [1473 0 R /XYZ 65.161 752.393 null] +>> endobj +1478 0 obj << +/D [1473 0 R /XYZ 56.693 672.828 null] +>> endobj +1479 0 obj << +/D [1473 0 R /XYZ 65.161 673.511 null] +>> endobj +1480 0 obj << +/D [1473 0 R /XYZ 56.693 626.822 null] +>> endobj +1481 0 obj << +/D [1473 0 R /XYZ 65.161 627.505 null] +>> endobj +1482 0 obj << +/D [1473 0 R /XYZ 65.161 616.546 null] +>> endobj +1483 0 obj << +/D [1473 0 R /XYZ 56.693 569.857 null] +>> endobj +1484 0 obj << +/D [1473 0 R /XYZ 65.161 570.54 null] +>> endobj +1485 0 obj << +/D [1473 0 R /XYZ 65.161 559.581 null] +>> endobj +1486 0 obj << +/D [1473 0 R /XYZ 56.693 512.892 null] +>> endobj +1487 0 obj << +/D [1473 0 R /XYZ 65.161 513.576 null] +>> endobj +1488 0 obj << +/D [1473 0 R /XYZ 56.693 466.886 null] +>> endobj +1489 0 obj << +/D [1473 0 R /XYZ 65.161 467.57 null] +>> endobj +1490 0 obj << +/D [1473 0 R /XYZ 56.693 420.881 null] +>> endobj +1491 0 obj << +/D [1473 0 R /XYZ 65.161 421.564 null] +>> endobj +1492 0 obj << +/D [1473 0 R /XYZ 56.693 374.875 null] +>> endobj +1493 0 obj << +/D [1473 0 R /XYZ 65.161 375.558 null] +>> endobj +1494 0 obj << +/D [1473 0 R /XYZ 65.161 364.599 null] +>> endobj +1495 0 obj << +/D [1473 0 R /XYZ 56.693 317.91 null] +>> endobj +1496 0 obj << +/D [1473 0 R /XYZ 65.161 318.594 null] +>> endobj +1497 0 obj << +/D [1473 0 R /XYZ 56.693 260.945 null] +>> endobj +1498 0 obj << +/D [1473 0 R /XYZ 65.161 261.629 null] +>> endobj +1499 0 obj << +/D [1473 0 R /XYZ 65.161 250.67 null] +>> endobj +1500 0 obj << +/D [1473 0 R /XYZ 56.693 203.981 null] +>> endobj +1501 0 obj << +/D [1473 0 R /XYZ 65.161 204.664 null] +>> endobj +1502 0 obj << +/D [1473 0 R /XYZ 56.693 157.975 null] +>> endobj +1503 0 obj << +/D [1473 0 R /XYZ 65.161 158.658 null] +>> endobj +1504 0 obj << +/D [1473 0 R /XYZ 56.693 111.969 null] +>> endobj +1505 0 obj << +/D [1473 0 R /XYZ 65.161 112.652 null] +>> endobj +1506 0 obj << +/D [1473 0 R /XYZ 65.161 101.694 null] +>> endobj +1472 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F95 923 0 R /F98 924 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1509 0 obj << +/Length 2160 +/Filter /FlateDecode +>> +stream +xÚÅ\ߏ۸~ß¿B¸>4º Sº¢@s½æp‡öŠ^ö¡@rZ‹^ ‘DE’³vÑ?¾£µ]i×»CSrž,ËÔpHÎ7ó͐2n"ýtñÃÕśwŠF I4×ÑÕ2ҜhÅLa¢«,úðê7[Ø´µ¯/¹¢¯~umw—K×ì.ºÕþÇÝâç>í¾üçý?^ÿ~õ tsÉI”ÚI{ßm Û®¬íÚþgèE1ô®E߻ԆG—Š$fß?g ÐįÞì>×ýƒ¿ºø|Á@<X¤4щˆLˆ¦êýe<3C¸2óÁm(?nÁÊzÀS¢¤ÜÁ­r·ÈU]wõziv½J‘fú󏾐tS«pçI¬º&·ÈIX`um‘×"û†`h[-,³/Á†M& »›G>ò ÜD2søgºnòî¿;Šð‹M«öž@´ÛÊÕ|AÇ E¬æã ÚNù||a$?́…+‹w`Ú³½{›eX#/]! ¡Î–u‘vHl.±QϹE‘Žt€aüïxäs.¯€(,ӅõzÊn¶îrW +m­¢î¡=½å`°²Ò°¿®Å†„ëõÍh1înÿi.ÀMáFe’³ú\! 4óälØasÐ!Ñ3z\ë*棌#ù¬¬‡Á3MW_=”i·@6uód“y…8cïû—ïŽ;íãö—Ç›?fmß=Ož;$y^æ› ‡Æå*áhF˳rHŠ’oëϔ1„êýYï*ÏŸä‡ù³peñþL鄈dïÏ~ŦÀÐŒ³Ïi•¥}R¹ÅúÈ¢Àµ\·›'#éµ-f(Ta}iŠœÒµm‘^aÙÄkQH”æHy«´Å² {j®¥|ª³RzÅÁ ÒxÚ˜W°¢Ö'2Иƒ Ýٌ€Êl°²€e )õ%õØ],ÛÚ.òeŽ­á,‡äèͳiƒõ®>q9èóÚa$à +Ƚ®U“bÃÿ¸œþ"^ebˆ¼wT“Ãi$? NáÊzÀ‰Rð\æküÛ~£]‚§rÈ?Ï!çß!‰$Ҝ3²IÈfÉ7Mî¤âãšT`o|F å1XY<¥’„2í×Úu]»fj÷>}Êø„sGlšæe6©çSiµXŠy(;5òùø‘3_ac(>ÐôCUõ°|)UûtµÊ‘iKÚ¶ëÒ¶× Òu·ÂÂä@[,i)m·Ê«l-Ý´Çk۟«C*’W£M9„éò˜ÄŒÍg»CùÆ¬¬‡õ +Nh{öµ&¤ådwCŸáFèúÀ‹=•åú¼W@mÄǕrEbÎÏÊÏ(H7lZ~Ö¹…= ¸J‘ÌGÏD ÖÏó‘ü0˜‡+‹‡¹ˆzów§n4—“+{‹%f ¿íÎöT$ +“€<+|r9ñIª.ï +[§7öÁyì…+kW£~p/Ë¿ämF§¸ï% &S“qôCTûH)MýzÅvWÈUš:§g5Ÿcˆô ¡ªz¸-bïC]‹ñ{p†µ‚KÓŧÊÝ6»ña!XuÝ¿2qm0mŽ1…c\yR1ä´ØƒûnaÛÖúÿ\‘̇òq¬¬и!Úì‹cm^æEÚÛi!èÍé3g=ø»¿}ððûçi]Û´ÁæÏè½ ,:Ê´ë¬wée9~&$^óÁd(?&ÁÊzÀ„iós‡’´ÚúÚýé$Æ#¥<' ä±!*áß2㜒fó‘.&dè|v>’fçáÊâíœk°‡äð~ê-z{–¼(8Æx챛l j·xüØ"híêu?Oىý¿ 2¥Ub> åb XY (H¼Å¾…>†¥µmʼëð M՗óZætçpߧåÔ类 (Âz=.%1±œÏ2‡ò-3XY˔1¡‚ßÑYæ›àWRŒG'Ï3N´%½û×éo™zÙ }Cě<1X4)§>E—YŸÿ.àóÑ'–€ªù:’Ðpe= +š +É=«Ùýú¢“V4ÈZkÓ¢uù‰G¿žÙñER¢´±è×æm7.y %ŠP­Î‰tè–p6u±¼?—Q’Í­½ÆŽ>y<'Ö˜4ŸëCùXVu¦$ьr¥Ò}Árºl]}aÀ>j?REïA—®rmýÄ»¿Çù xŒªóiž–yñè/N@-†F#Ð!΋F®ˆŒ'Ž»÷`Üo@ín|õS/OSD)>#8©$*™œCùà VÖœ0ÕqÌ> endobj +1510 0 obj << +/D [1508 0 R /XYZ -16.307 900.716 null] +>> endobj +1511 0 obj << +/D [1508 0 R /XYZ 56.693 741.779 null] +>> endobj +1512 0 obj << +/D [1508 0 R /XYZ 65.161 742.462 null] +>> endobj +1513 0 obj << +/D [1508 0 R /XYZ 65.161 731.503 null] +>> endobj +1514 0 obj << +/D [1508 0 R /XYZ 56.693 684.09 null] +>> endobj +1515 0 obj << +/D [1508 0 R /XYZ 65.161 684.773 null] +>> endobj +1516 0 obj << +/D [1508 0 R /XYZ 65.161 673.814 null] +>> endobj +1517 0 obj << +/D [1508 0 R /XYZ 56.693 626.4 null] +>> endobj +1518 0 obj << +/D [1508 0 R /XYZ 65.161 627.084 null] +>> endobj +1519 0 obj << +/D [1508 0 R /XYZ 56.693 579.67 null] +>> endobj +1520 0 obj << +/D [1508 0 R /XYZ 65.161 580.354 null] +>> endobj +1521 0 obj << +/D [1508 0 R /XYZ 65.161 569.395 null] +>> endobj +1522 0 obj << +/D [1508 0 R /XYZ 56.693 521.981 null] +>> endobj +1523 0 obj << +/D [1508 0 R /XYZ 65.161 522.664 null] +>> endobj +1524 0 obj << +/D [1508 0 R /XYZ 65.161 511.705 null] +>> endobj +1525 0 obj << +/D [1508 0 R /XYZ 56.693 464.292 null] +>> endobj +1526 0 obj << +/D [1508 0 R /XYZ 65.161 464.975 null] +>> endobj +1527 0 obj << +/D [1508 0 R /XYZ 65.161 454.016 null] +>> endobj +1528 0 obj << +/D [1508 0 R /XYZ 65.161 443.057 null] +>> endobj +1529 0 obj << +/D [1508 0 R /XYZ 56.693 395.644 null] +>> endobj +1530 0 obj << +/D [1508 0 R /XYZ 65.161 396.327 null] +>> endobj +1531 0 obj << +/D [1508 0 R /XYZ 56.693 348.913 null] +>> endobj +1532 0 obj << +/D [1508 0 R /XYZ 65.161 349.597 null] +>> endobj +1533 0 obj << +/D [1508 0 R /XYZ 65.161 338.638 null] +>> endobj +1534 0 obj << +/D [1508 0 R /XYZ 65.161 327.679 null] +>> endobj +1535 0 obj << +/D [1508 0 R /XYZ 56.693 280.265 null] +>> endobj +1536 0 obj << +/D [1508 0 R /XYZ 65.161 280.949 null] +>> endobj +1537 0 obj << +/D [1508 0 R /XYZ 65.161 269.99 null] +>> endobj +1538 0 obj << +/D [1508 0 R /XYZ 65.161 259.031 null] +>> endobj +1539 0 obj << +/D [1508 0 R /XYZ 56.693 211.617 null] +>> endobj +1540 0 obj << +/D [1508 0 R /XYZ 65.161 212.301 null] +>> endobj +1541 0 obj << +/D [1508 0 R /XYZ 56.693 164.887 null] +>> endobj +1542 0 obj << +/D [1508 0 R /XYZ 65.161 165.57 null] +>> endobj +1543 0 obj << +/D [1508 0 R /XYZ 56.693 118.157 null] +>> endobj +1544 0 obj << +/D [1508 0 R /XYZ 65.161 118.84 null] +>> endobj +1507 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F95 923 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1547 0 obj << +/Length 2326 +/Filter /FlateDecode +>> +stream +xÚÍ\[Û6~Ÿ_!tèè0$Åk lÚ&-ºÉv7ã‡ih›¶…‘%G’33»è_ʗv,=‡¦èɓ/¢¨ó}çF'Ó'?\|;¸xù–ãD#-¨H“DP$d¢HŠR™ ÆÉÇË6·¦¶/®(Ǘÿ*[¯ßNÊjý¦™m.~_Ž¾-˛õ‡_®ß½ømð“›æŠ¤9_K»nîs[Ϭmêö²›$ÊÍ.Òvv&$’T%Wi¹™ŸR'PªË—ëBEûË7ƒ‹OÄ‰Ç I¸@B§‰Ô L“Ñüâão8»kNÄ´JnW#ç 'ÑT¸÷yr}ñŸ ¼Y ìTl߶/?<ìփHšH¦Á¢•Ü~ϱӓ‰„"­tRÙdrPt‚T!Âäv‚µ`Ҏ•Ï¤+Ÿc‚¤P .³@šê”] ¬¦Éú͇%ºG¸²¶²ÄâŒ –n¬çõx¼zø‡å$¯Ɨó²(ë…ٝáNÚ|±ÿ»Ë϶š&›{üdRÇðÛlÜÌ`7°0•™Ã†6%l\½\,ʪ þ‡‡®e¼§ªœº»Ê³ºÉŠéuÛ±—ÿg\…@ñÀë>ny…p„õÚ¥”ï¨Þ1[…˜ÃÞpg9´nÅWwݘû¦,^½¸"Ô}ÜZº«sècFã ¡9âšD㠎ü0 +WÎAB+¤äÆþ½l‚Íýào2 ”&e>¯ÓÎ0/G7ÝñW‡Ç«™¬°L—Û J·Uöò¨2/Ç{þ÷¯Ï+áÍ°;ø+ …bH¤i<¤ìÊDJ°²HQÒ͹ÊíÌ­¹±w@L³ÊŽš êq²6®Ê¦³¦_o›Û PâЎ̲¶°Á&Ͻب¬)¦K3µåz2u鋇ƒ]ù8VÖÒÍé^W@0•=Ñfžà¯Òcð¾‰{Ä\Bb$?gÌ%¸›’Ègº£K1êJ "DÅÃЮü@ +끡”!ærn¿ÌÏ+ËikϖÕ£ÊB=¤)Æ}äXßä‡õrdwè1‡Ë®ðÕס˜P™ +0±P…ˆ³«s Vo©¹/b¹«ìăT¸ÖˆST¸Rˆ‹xjG~©„+ '—2"Å7OÿmvfíD˔+~U­mô[¶Å¡¾s³V˺-Ά%bgŽºr d¯QYµñ}~j ââÆø|eñ­›òâ“÷féâÿ® å'kŠúOBYåì>ŒÂۀ3bš30Ž¦tä2J°²ŒÂ4¢úϵ}Ö@ŌnŠòÖnjç¶hê~ËN¦j²QnOFgÊf:ž íÊ´¡`e=l(U(M7rícÐ'7lsÇöòp¶è< PÊÎMVÔý:¸!´²7/kt™8««h;¡ÛòØs…ž8EŒG =™¦ˆéx¡gG~ÈՅƒœiŽ¤ê-ô”J!‡žY±‰¨€±4¨ƒlÁŽ«.ç@ЗyVÜÔ§¢ž)—zá³FˆLhÄRÑ/ì'¥è™ÀHéˆE,æ‚ Æ‹;òA¬¬èyŠ(õ-bÅo”í÷¾ŽÕŽó²ƒ~ÜZh;£vTfûf’Í%à*¼ý\‚Ùº.«:B"\Ãg.'Ò쬥6FRªçR›Y6eSŽZöûÛz@[ì¬|žæe]›êþÁWk¶Ü|hÌ0·>/ÚΗm– F%.bg$"£:‰©¢ñuW~ £+ëÁ¨N®_DW >Mï3¯ç~†•ž¿bŽ=;ƒ}µki:uÈSq+ì@)¹\6‹esr̘j×æîÈÃb¸²p,¦Z#I6ÿÝÌShõ++êÆ8—ô‘%°‚>7Õ´c<žö\»8 Âÿëð×ÇwµßKjòlê3Þ-wµ‡Äß¡PÜyg»ò¬¬”B’o*:à&­·•F؟ô…š©-öêy¿£ãÎb0+¡»§ú¹^$[õ„¢áeW~ ^‚•õÀ‹tq²»°ÂËj{ íâm|#RÄ#éÈL°²€qsªíñ—©-à•×{lå›ù^euáÈóí'óùú›§Ò€¦*ÇË<¨|ì6Ü£f(=>ÔkšnÂù´esŠ¸ŠWíÈ´ì`e=,›s¤ä¦2zÞ´Ÿ2Ôf~¼wž4•iÄõY+|)uS¦=WøVqº»µÃ? +tív{Öî酠XœK&pÄóù VÖÔíÁaêYœ3MSeC´y`º¶Ð½-àjž8wª€c·m™Ú2­À±.4ÛÉédá@ÙYû T9ƒ”â # *Õª;,¨ˆÉx±mG~Y„+ ' *±Ó”÷ÓE¡g§®Á´âW£>ÎT0ÄÔYOES榤њ{ÐOùªÇ¾”9dÄkÄuäÂ7XYøR…hOۙgîE½ê§-ôÉyPã<Ô7ƒ·¿Â† ~þÎóà øøgzVûdzbÿœø‘MŸMÖäÖ ‡•ý ¤¬*²2ž¹6uѧŽxê¥#?ªÁÊz@•HD·§^Ú֛5ã~oŸ–¶~¬°þT…(Þ|6YÞnۀ»ýµó…šèö¿‹á&ÞxÁ%ä=¨® +Ûªv«~r@[ƒ;ïy¢„“ÎËüÓ¶§™ÖÏÕÌòieCöEQóÄ ‘±ˆ'f:òÃØ(\Y8ɜ%øÆýCÛ4п$Y”Y ­ã}xóúû÷ozÎ~¹~7øñ§Ÿ#ÂႜµÐG˜B)'ϏÚT#E"†ûÄEµŠÇ ÷;òQ¬¬jS·@lsr±„¶c›[knÀ%5x“Õ@Ën3ӜŽÄƒ…·¼q©ê["øäíÔŽL¾wB÷i R—w?Œ…ÏÀA˜#¹õÏÈAº ¦#J ªãÕ wŇP°ªpþiÏí¨ ÿ¼Îw/LcÁ ;_4ÐÁÀ^¡)l.0Œòåø‘ªå‘ØÞ=ö›ãô5€î‘û¦Ö*E)ŽQ^ÜûW†ú”ÿpý?æwE +endstream +endobj +1546 0 obj << +/Type /Page +/Contents 1547 0 R +/Resources 1545 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 1433 0 R +>> endobj +1548 0 obj << +/D [1546 0 R /XYZ -11.232 900.716 null] +>> endobj +1549 0 obj << +/D [1546 0 R /XYZ 56.693 759.068 null] +>> endobj +1550 0 obj << +/D [1546 0 R /XYZ 65.161 752.393 null] +>> endobj +1551 0 obj << +/D [1546 0 R /XYZ 56.693 709.155 null] +>> endobj +1552 0 obj << +/D [1546 0 R /XYZ 65.161 709.838 null] +>> endobj +1553 0 obj << +/D [1546 0 R /XYZ 65.161 698.879 null] +>> endobj +1554 0 obj << +/D [1546 0 R /XYZ 65.161 687.92 null] +>> endobj +1555 0 obj << +/D [1546 0 R /XYZ 56.693 644.681 null] +>> endobj +1556 0 obj << +/D [1546 0 R /XYZ 65.161 645.365 null] +>> endobj +1557 0 obj << +/D [1546 0 R /XYZ 56.693 602.126 null] +>> endobj +1558 0 obj << +/D [1546 0 R /XYZ 65.161 602.81 null] +>> endobj +1559 0 obj << +/D [1546 0 R /XYZ 56.693 560.813 null] +>> endobj +1560 0 obj << +/D [1546 0 R /XYZ 65.161 560.254 null] +>> endobj +1561 0 obj << +/D [1546 0 R /XYZ 65.161 549.295 null] +>> endobj +1562 0 obj << +/D [1546 0 R /XYZ 56.693 506.056 null] +>> endobj +1563 0 obj << +/D [1546 0 R /XYZ 65.161 506.74 null] +>> endobj +1564 0 obj << +/D [1546 0 R /XYZ 56.693 463.501 null] +>> endobj +1565 0 obj << +/D [1546 0 R /XYZ 65.161 464.184 null] +>> endobj +1566 0 obj << +/D [1546 0 R /XYZ 56.693 420.946 null] +>> endobj +1567 0 obj << +/D [1546 0 R /XYZ 65.161 421.629 null] +>> endobj +1568 0 obj << +/D [1546 0 R /XYZ 65.161 410.67 null] +>> endobj +1569 0 obj << +/D [1546 0 R /XYZ 65.161 399.711 null] +>> endobj +1570 0 obj << +/D [1546 0 R /XYZ 65.161 388.752 null] +>> endobj +1571 0 obj << +/D [1546 0 R /XYZ 65.161 377.793 null] +>> endobj +1572 0 obj << +/D [1546 0 R /XYZ 65.161 366.835 null] +>> endobj +1573 0 obj << +/D [1546 0 R /XYZ 56.693 323.596 null] +>> endobj +1574 0 obj << +/D [1546 0 R /XYZ 65.161 324.279 null] +>> endobj +1575 0 obj << +/D [1546 0 R /XYZ 56.693 281.04 null] +>> endobj +1576 0 obj << +/D [1546 0 R /XYZ 65.161 281.724 null] +>> endobj +1577 0 obj << +/D [1546 0 R /XYZ 56.693 238.485 null] +>> endobj +1578 0 obj << +/D [1546 0 R /XYZ 65.161 239.168 null] +>> endobj +1579 0 obj << +/D [1546 0 R /XYZ 65.161 228.21 null] +>> endobj +1580 0 obj << +/D [1546 0 R /XYZ 56.693 184.971 null] +>> endobj +1581 0 obj << +/D [1546 0 R /XYZ 65.161 185.654 null] +>> endobj +1582 0 obj << +/D [1546 0 R /XYZ 56.693 142.415 null] +>> endobj +1583 0 obj << +/D [1546 0 R /XYZ 65.161 143.099 null] +>> endobj +1584 0 obj << +/D [1546 0 R /XYZ 56.693 99.86 null] +>> endobj +1585 0 obj << +/D [1546 0 R /XYZ 65.161 100.543 null] +>> endobj +1545 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1588 0 obj << +/Length 2169 +/Filter /FlateDecode +>> +stream +xÚÍ\Ks㸾ûW°69ØUQ/ޏ¤rÈîf“¤2ö!U³{ $Hb™"µ$e{æ×ɱDK6(Ú=¸H‘`³ô×_£Ñ4Š–Š~¸úæîêëï9Š4hADt·ˆ!#…)PÝÍ£×LjâÒÜLG×ÿÎ+S6§‹¼hNªU{ó»|öMžß7?þwûóͯwïìk&ƒæ¼‘v[}JM¹2¦*ëÛöí8Röí‚ÖogB‚$*špв}?¡V T×_7LDýàÕ?ï®~»ÂV<ŠpÄM#©1D¢Ùúêã¯(šÛ{V`ZE»–ëˆc„ +{žF·Wÿ½BíH ƒ!‘m&¹Þ I'œiÀH4J `;-ºÇ¢ŒºþñîýÏm¿öGÕa@Eûô]7b‹5Eu3vTo«øS•g½™`b¦IY•ðT¦0k\µ¼úðáYXcƒDB)P’×fQ_çÈ­tT˜h±oҎ_}ù)Acѽ ŒëÖ¾ò9`ûò9²3`GÊå û ‰AٝÀb5'ZÐLe§¸Â@ëÉ:0ó x)Ë"©žòÂÌ·Ù<Î*·æ©[Ë8sÔ JªÔ8ʬª"™nk×èÔ>Ï{e Ý­¥EáÚ¸V’•É¼×µ·AT›—álüP¾§{+;ÀÆ¥eÖÒÛ}9Ã͙ã\P;0š¤,‚S·ò=áì­ì8 +Œ4“ømž=ÔVæFiêÖpf[:…ìÜD¦qy +÷Gžy&¬‘Õг|½îÑåë]ëâÛ¡#QåCd—’…С|Oy+;@˜XG¹Ns¹ÝlrW¤Í“¢?Ã99ÃÇÃ÷ù#ĉ‰cœøÂæOGžÛj³;êpö|mÐsv„µ‚y0ÌõäûaÎ_Ù˜³šòn™ýý6]$Ύxaâj[×UÙo[Ó[“´·þ„µ¦ŠR÷¹ä@ˆ¸d´É%ŠÉ¸ÑælµÍî' M ÈIp{¤L‡ ð8Ç@u8¨ˆ÷DŠ¯ªî@ᜁªJòäföÓíò¨ÉÉáôu"y,r×܄]·ÜL î)„|áè0’¥õ#«¹C‘O”ç€8†€Q‡ò=!á­ìL0 +ë+ã8eU\,M5v€’ŒlX±kü9µQ¥]òçŧ‘óˆó©{ï-o›,^;²ñ¶ìeS‡„RTcô¢ô‹p¢Ï ßwIq7ìû¯¼4÷÷®’å*µÕâEV !Â/Ó +—(íÉ÷ó3þʺû¦(Ý&JÊfé¶NÀKN_,"qåÜÝV—SËÇØÑ7•Éz“&‹ä$:O=øŸ,ý亃਴UÅy]íê{³üѱ¡™™²Œ{.u€—bÀMIﶠ »Hhʻˇiçy>›æù}¿Ñ¤ÙžÆÅ~B:ÞVy2 +žf¼÷€ÙhÆH.ݓïé3½•à39$ÏÈF/¶Ùnÿ¢¼É+©Ð‡8Ië-Ž‘ÓCYßþ®FiúùkªÙ?üº÷tÍ5Ú°iàҁQŠ„Ëõöä{š§·²̓j°¾¤±ÏÌ8ÒŸ͗pÍi±ẁ`ÁhV¿‰‹x=î¥z™Qs'HJ@Q~Q‚DöÁgäûx[$Õ熻ޙ8+Ÿr“ ˆá©¶*pŽ¨²]Ðá²g=ù~€÷WÖðT J~ɟ¹–óØ°æ¼T›?ý½hõuöY™zõp.©€¬?¼ © €´<ŽßÅɼã·Ö©™¢Ãâ2ÍwQûDr +˜²€ˆdõ1ÜÖOO¾'"½•€HÆí¤ÒnU]™"‹ëÀ/N“Ï®èÜÔÁâ6®œ—ã®Ô¶³¤Ò˜‘SjØ8-󁡭#uÑm'ŠIÕÀ¶KÁ:Ǹ÷sšæ³û!øE( +¸E4Êq0üöäûá×_Ywü­@ÐvGê}îº{t+ý4`\õ¿S¹ÍŠ%ŠÕá¶qzò= É[Ù†¤$Ù¦×ÿ1Ÿ»:ë)âÔ\¾Âêôrh½Ic×Ò´ÇU2[¹Æ Î*¬Ì™eçÏuEo²¤ÀV`öä{²·² Y +èèrx©×ë¶ÞVfêZk•åÕȦù²$ôíî Œ¥ˆ=²€%=ùžì«ìi{µG)ºøqtھرõþD¤ÎG 4J畳yŠ­+6G²±Ø™­¹¦.šŸ"T—ø÷ý䌫 +˜¡"˜ƒ`á2T=ùžØóVv{`{éùÛUJÌ=æÚ9øN»ÌŽÓŽØ±åcR­\{õ2yþ÷¯N»¨q>%°7¾g·æheøÛøCÌ:ƒ€ËÍCùžððVv<¬'Ò]¤‰ËÄ8’Ál[Vù:ùÛUt¦ƒzœ¹$`©@*5.œ‘!ÅB"?BÆ\‚á>BîÉ÷3yeÝMÞþî>2¼ò¡I^ä:WýQ“¢ði‡ ””Å'Åö õ ¨kÇ „p@tb ˆ…K[õä{¢Ó[ÙèÄ hWúS6 ÂnHÎê©FòÀuRa⢨«®E1wåR×jÆM‘×tÉË$“3 ‘Ä/Zæ«ì¼R=.žŸ +³€~Ñȱÿà ¡Ïù0ÿ6¯@N +endstream +endobj +1587 0 obj << +/Type /Page +/Contents 1588 0 R +/Resources 1586 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 1433 0 R +>> endobj +1589 0 obj << +/D [1587 0 R /XYZ -16.307 900.716 null] +>> endobj +166 0 obj << +/D [1587 0 R /XYZ 56.693 759.068 null] +>> endobj +1590 0 obj << +/D [1587 0 R /XYZ 56.693 738.489 null] +>> endobj +1591 0 obj << +/D [1587 0 R /XYZ 56.693 691.479 null] +>> endobj +1592 0 obj << +/D [1587 0 R /XYZ 65.161 692.163 null] +>> endobj +1593 0 obj << +/D [1587 0 R /XYZ 65.161 681.204 null] +>> endobj +1594 0 obj << +/D [1587 0 R /XYZ 56.693 633.696 null] +>> endobj +1595 0 obj << +/D [1587 0 R /XYZ 65.161 634.379 null] +>> endobj +1596 0 obj << +/D [1587 0 R /XYZ 65.161 623.42 null] +>> endobj +1597 0 obj << +/D [1587 0 R /XYZ 65.161 612.461 null] +>> endobj +1598 0 obj << +/D [1587 0 R /XYZ 56.693 564.954 null] +>> endobj +1599 0 obj << +/D [1587 0 R /XYZ 65.161 565.637 null] +>> endobj +1600 0 obj << +/D [1587 0 R /XYZ 65.161 554.678 null] +>> endobj +1601 0 obj << +/D [1587 0 R /XYZ 56.693 507.17 null] +>> endobj +1602 0 obj << +/D [1587 0 R /XYZ 65.161 507.854 null] +>> endobj +1603 0 obj << +/D [1587 0 R /XYZ 56.693 460.346 null] +>> endobj +1604 0 obj << +/D [1587 0 R /XYZ 65.161 461.029 null] +>> endobj +1605 0 obj << +/D [1587 0 R /XYZ 65.161 450.07 null] +>> endobj +1606 0 obj << +/D [1587 0 R /XYZ 56.693 402.563 null] +>> endobj +1607 0 obj << +/D [1587 0 R /XYZ 65.161 403.246 null] +>> endobj +1608 0 obj << +/D [1587 0 R /XYZ 56.693 355.738 null] +>> endobj +1609 0 obj << +/D [1587 0 R /XYZ 65.161 356.422 null] +>> endobj +1610 0 obj << +/D [1587 0 R /XYZ 56.693 308.914 null] +>> endobj +1611 0 obj << +/D [1587 0 R /XYZ 65.161 309.597 null] +>> endobj +1612 0 obj << +/D [1587 0 R /XYZ 65.161 298.638 null] +>> endobj +1613 0 obj << +/D [1587 0 R /XYZ 65.161 287.679 null] +>> endobj +1614 0 obj << +/D [1587 0 R /XYZ 65.161 276.72 null] +>> endobj +1615 0 obj << +/D [1587 0 R /XYZ 56.693 229.213 null] +>> endobj +1616 0 obj << +/D [1587 0 R /XYZ 65.161 229.896 null] +>> endobj +1617 0 obj << +/D [1587 0 R /XYZ 65.161 218.937 null] +>> endobj +1618 0 obj << +/D [1587 0 R /XYZ 56.693 171.429 null] +>> endobj +1619 0 obj << +/D [1587 0 R /XYZ 65.161 172.113 null] +>> endobj +1620 0 obj << +/D [1587 0 R /XYZ 56.693 124.605 null] +>> endobj +1621 0 obj << +/D [1587 0 R /XYZ 65.161 125.288 null] +>> endobj +1586 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F52 695 0 R /F93 909 0 R /F95 923 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1624 0 obj << +/Length 2279 +/Filter /FlateDecode +>> +stream +xÚÍ\[sã¶~÷¯à¤ݝ‰Op'ÑNºi“L&éeíΤ³É%AÇ©%A_2ýñ)Êkі} Ú}%‡‡Äw¾ó ‰®"}öîòì›ï$‰4hÅTt¹ŒG åÀãèr}xóÞä&­ÍÛs&ɛ”ÖÔÛÃeYmìªÿóoåü]Y^o¿ürñÓÛß.t—9§´”[kö>7õÊ[·»«Ó(qWW¼½ºP1Ä,‰Î%踿>Î`œ¼ùfûA™jO<ûûåÙÇ3ê̓ˆFRÒ<Š5EX4_Ÿ}øD ÷Ÿs„N¢Û®å:’”ãÊçÑÅÙ¿ÏHÿ$ˆs±=l?¾dÙ=³((Q­åöwIœŸBE t¢£ÊD˃¦°à Pï.°5LÛÖ¡ö%PE‡ö%¡«u…ǏYfzg;ƒÕU´=xß#Ñua‡Ñ!±w\P¼GÏi±ÈM×ÿ‡MEÎqø̪ÚZS­qÍóìiø*/ëo8+píÖåbßw¿ùªÿåé9oî*³¶??ÜܖÃÆ_Áö—½Ú «lº®Iø|>Í?»H¦ ˜Û^ÿ•1¹çü) eÒ§«rf*û¶{¤6½·eñ§·ç”u]\ÛîêüÏÛ¿Wv?ú:ËËùuûûXˆó1¡ÓååÒgl²œ0°–Å祸®¿ÿºX˜.¬YoòÔ"üH×XÃór½.‹a|Áá`l‘çÑ<µ¶ÊfM;ôân´Äµ+»iì~ÛWa¯ÜuÇd¨Ü·ˆÊ`g=P™pP²‡å0!„ºê‘˜„Ä9º#Sȸ½Enanq ;Äxp¢…Y¦MnótfrÜnÒ¼Á2¨y{v•"³MѬ]´`smmæ6+‹Ú—›Q +ŠÑé0¾o?äÁÎz œ +ÐDoQŽNü~}öÑ¡ë™N;X4¤Ha`f°tÍ]¾¸j²z5pùÅHÚ&ì‹Ôfõ23ވ#”š°FÝ·ˆ¸`g=Gx{n¸ïLj› +ٍïM¤Avýº’‰eRÇ bqJ6!cá:h\2±I«t w·fÖ+5óUS\ŸÏ˅y$ßl[9òÕoõ±Gwç,ÓÚ>úíÆT3‡{g{«E»[ÿäH4HwØû÷+!ÔùCÉÃÝ!»B¹ç¢ãé؍”>½Ø Äpgñ(e ”õüOmFæ-ìÅÁF1œâAø…æŽmûHJ7iæ¸VLÇÖiöiæzMŽXuš>rÐü%ÍÑÃfsul&%Dè“æMƒÞMsŒ•8ÓƖÙâΣ“Ô¹³ Ӕ³HètêáÀ~`š +vÖ#M9»œPß4…©Ób¾*«zdEoSeë´º÷ŒyWޔ®Üó>ÍÜ­ ‰lhÿ°Zµ8²,|5ž„V@ät2äÀ~ÜÝÅÃ]h \ôªÓ¢ÙäÙ=3ã8^•aGŒÛÌ®°õÓr骽Ž t¡çÊ·©e¬Òƒ {ìí=gä1² +́¨“ê›"&@%›¸$y¨>°B9¯’ ÕN!40>]âÙ3˜wB]õH;’¤¾jçÅ@V,̝aϳâºöhÿt½Ç‹µC'7ÕBô¤QÍ8pÕÉÀŸ>‹vݜ’F5a >­C?¬÷íÆu°³M¤ÃE¿`è_ù÷ôûªl®VŸi(-¾DŽeþ~Ûú2g®)ˆ Dì‡!=ÜY<Ò¹víí‘Ã͋ôÚl£Ï—•…Á.¾jòvm@q=®Þ…N ;ó„€H¦Sö£&ØY¨I8Ä»‰‰ÿ–Íq¥›;÷/P®Ï…B|ydò‚?~ÉôÌÌÓ+áSJæ;¹É•ÉôtÑ´o?0š‚õˆ¦˜AB{öízj1.ž7y:7#Cf…P:îâ~´›ÖÅ R¢ÍËÛ£‡ ‡yÒya.8(¦>÷üçÎ %¦+Ð8cO¸ît`?0e;ë‘2˜½[wŠV^êf³)+;ò¤:ÑÂϯæŒ!YÝ®²9²TÞ¸±>³Þã-¥]8N<ûöƒ'ØYà¡ïՍMeæYmðdsä]#d®wŒüáò矎߷r¨m•ºhGç,¡õ—38™PÎØ·í`g= MØWÎðJqÏî«ÁR%¦EÐ'ÝüÈbIrÌæǟӦÊìï[²ô£I‹úYªï‹rãA•˜ nod’»»˜nŠj`?,$Ň“10é½½±Ý@œ´òíµM­Êòٝoÿ;ÌVÊ2+Üh²–|¯eîæf2kÅ\IBÈtK‘öñì¬þÚé<Ý/Eú6/kìZ‹§Kîúeˊq—¥ðC€PyҔKc »ÕWŸqs÷Jy2]Ò¥Z¹Ïé$­ý0Ї;‹=ÕÚuk¼G±/ƒ¨ÑëúS}Põ¼/¬ªÇUjŸ¿^Ÿý17¦À–Ø–ÙØO (Øâ×Èø¥‰„ ßØ°o>0¸B]õˆ­$IúU7^â>ëô~ÜÍT•éÖαä -.ãš]þó[$ßBò²çÞƒ©«G˜šnWáÀ~ ¬ƒõÀuƒý®ÂwƑdß×7  ^ŸI‰[lJôÑQf÷cÏtñ¶‹ÖÛVó1#?­ÂWó¡Š'Ó¸ûqì¬GÜ´ÓO›q=fۖ_NïO"6QE€Ó“NÌQƒ˜f%ö¦™ó€O¸5’R"žnQÌÀ~`;ë‡T;O•çœ\úY&Ï¥$øí§ÿÞ+Ԡľçð.Ha”0©:EQ"9éÞHM@ÆrÊÕÛz­¥ô1¯ý?ö ? +endstream +endobj +1623 0 obj << +/Type /Page +/Contents 1624 0 R +/Resources 1622 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 1662 0 R +>> endobj +1625 0 obj << +/D [1623 0 R /XYZ -11.232 900.716 null] +>> endobj +1626 0 obj << +/D [1623 0 R /XYZ 56.693 759.068 null] +>> endobj +1627 0 obj << +/D [1623 0 R /XYZ 65.161 752.393 null] +>> endobj +1628 0 obj << +/D [1623 0 R /XYZ 56.693 704.886 null] +>> endobj +1629 0 obj << +/D [1623 0 R /XYZ 65.161 705.569 null] +>> endobj +1630 0 obj << +/D [1623 0 R /XYZ 65.161 694.61 null] +>> endobj +1631 0 obj << +/D [1623 0 R /XYZ 65.161 683.651 null] +>> endobj +1632 0 obj << +/D [1623 0 R /XYZ 56.693 636.143 null] +>> endobj +1633 0 obj << +/D [1623 0 R /XYZ 65.161 636.827 null] +>> endobj +1634 0 obj << +/D [1623 0 R /XYZ 65.161 625.868 null] +>> endobj +1635 0 obj << +/D [1623 0 R /XYZ 65.161 614.909 null] +>> endobj +1636 0 obj << +/D [1623 0 R /XYZ 56.693 567.401 null] +>> endobj +1637 0 obj << +/D [1623 0 R /XYZ 65.161 568.085 null] +>> endobj +1638 0 obj << +/D [1623 0 R /XYZ 56.693 520.577 null] +>> endobj +1639 0 obj << +/D [1623 0 R /XYZ 65.161 521.26 null] +>> endobj +1640 0 obj << +/D [1623 0 R /XYZ 65.161 510.301 null] +>> endobj +1641 0 obj << +/D [1623 0 R /XYZ 56.693 462.793 null] +>> endobj +1642 0 obj << +/D [1623 0 R /XYZ 65.161 463.477 null] +>> endobj +1643 0 obj << +/D [1623 0 R /XYZ 56.693 415.969 null] +>> endobj +1644 0 obj << +/D [1623 0 R /XYZ 65.161 416.652 null] +>> endobj +1645 0 obj << +/D [1623 0 R /XYZ 65.161 405.694 null] +>> endobj +1646 0 obj << +/D [1623 0 R /XYZ 65.161 394.735 null] +>> endobj +1647 0 obj << +/D [1623 0 R /XYZ 65.161 383.776 null] +>> endobj +1648 0 obj << +/D [1623 0 R /XYZ 56.693 336.268 null] +>> endobj +1649 0 obj << +/D [1623 0 R /XYZ 65.161 336.951 null] +>> endobj +1650 0 obj << +/D [1623 0 R /XYZ 65.161 325.992 null] +>> endobj +1651 0 obj << +/D [1623 0 R /XYZ 65.161 315.034 null] +>> endobj +1652 0 obj << +/D [1623 0 R /XYZ 56.693 267.526 null] +>> endobj +1653 0 obj << +/D [1623 0 R /XYZ 65.161 268.209 null] +>> endobj +1654 0 obj << +/D [1623 0 R /XYZ 65.161 257.25 null] +>> endobj +1655 0 obj << +/D [1623 0 R /XYZ 56.693 209.742 null] +>> endobj +1656 0 obj << +/D [1623 0 R /XYZ 65.161 210.426 null] +>> endobj +1657 0 obj << +/D [1623 0 R /XYZ 65.161 199.467 null] +>> endobj +1658 0 obj << +/D [1623 0 R /XYZ 65.161 188.508 null] +>> endobj +1659 0 obj << +/D [1623 0 R /XYZ 65.161 177.549 null] +>> endobj +1660 0 obj << +/D [1623 0 R /XYZ 56.693 130.041 null] +>> endobj +1661 0 obj << +/D [1623 0 R /XYZ 65.161 130.725 null] +>> endobj +1622 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F95 923 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1665 0 obj << +/Length 2304 +/Filter /FlateDecode +>> +stream +xÚÅ\Ýoã¸Ï_! Í ß¤Ú¢è^Û½âz{@/y8`÷d›Ž…•%Ÿ$ç£}G¶¼Ëq<4E÷!°¬PÃ5¿™ß G¦É}B“﮾½»ú惢IJRÍur7O4'Ú$– "Lr7K>]ÿä +—5îÝ WôúǪuÍöp^ÕۃvÑÿóÕôÛªú²ýòóíï~¹û¦¹aŒ¤Jm¥Ý¶Ï…kεM÷o˜%f×¢›]jC ·É"©éçç +{ýÍöƒqÝ]xõÏ»«_¯ˆ§ K”&:‰Iє'ÓåÕ§_h2ƒÿD¦6y܌\&ŠQ…†ã"¹½úÏíW‚‚ŠÝa÷ñÝ É°ÌðÄȔ0ª;ÉÝyEAO©NR›&µKæGEa'–0ivl³nt¨|E˜fCùŠ2b´EÍðr™5Iy:‚²õ}²=ø©·Dx„[Kì—ŒHÑ[ϏÕãæá—“|ºÑ”^?ÕnŽÙV¸q¿få,se[?ãÆ?æE¹páT] ÙÄ!'p/á®pƒó7.C.éÚ5m^!…vþfoàžeí¹ƒ¦¸!ÌÚx˜Ú—ˆ©`e=0%À)½ÅÞªòò ÒPÝÖ¢(͑òYƒX•ûw A¶'f% KӐXpäó0½üÌ!$¾Ô}ð-‘`…´ÞÕÄÕí»Í=߶Ùs[•zwÃøΣ5®%OMñçíˆE»,º¯È•Ðoçñ¢¢¶”¸«XÈCp¸²xk+ˆê´yƯ]Ö"AܸUV£G·n¹*²Žòç¢ œVËÕºÍËûÑãY5{)؁ͣóSZ§DRÏÊ÷åZy°²Vn IùÖÊÇ&¯ó9˜èý‰cBÆf=] ѐ!omâЌr62bÑ,!+Ú±IÓØec…¦¶šz"¥AƒÔċDJ bE¼šß@~jÕţV)C×»=Ç:Gªi”jA[Eˆ†X‡ª¶Ï#ß?6—ZU«u·N³3ç?2ɉ5i<ìËA°² >gA»‘³rõ2oÑÏuZ•]Ü ¯]¶ñ¸·ÙҍœÝUëµ]Ԝôƒ‡Ï0÷ÄÚe¨ªf)áÔnÍòneóü ëk'ëûÁ#ۜþSp?:}›o£Íè_w@ºÊu»Z˜‡5ì¢Ü‰jB™9ƒ<}ÌÖlÿ»eOß»¬l^°§¼-Ü*»™ÛwÅñª”½87Ëò&¯ÊWJý×ß$í…aPL½PLڔÛ©ö™Rš0úõˆmpA¦°&JÅcsÒ*BÓxe·ü0‡®,ÞcHk‰°}•éýl†937.;[@6ŽM«²é—²z,Üìþ•(Üu0ézÆÝÎYeÞùvxî.¹ÃÊý:/kµª«©kÊÿ§‘ ™!ñڏò¬¬Ќ!’÷Վ&_æEVÏãBЛO³ƒÝÈÓ¶öËLϾ…)[­\†$ ؍y]aѱ̀u{Wç­÷N­Ô>ãUòa¬¬L`NøÛÂ$+Ÿ} ÿl&(5%Ì^´G +C¸QcïðÌܓG!MrC‹Øz#™&BÅk½È4õ`e=L¥DKö[!­ÂÒVu¾ÌêçÜ{kÅM«rvxe8¿Øæ‚#Uø^㐧@i¼®™ü@ VÖÃ@©%Úö]3e×æ„í³Â6Z¼Z +·ÆƹÑ-dfESycËRj×Õ¦±é×0•9iä"•DŠx ð@~˜‘‡+‹7r‘voŠô ð±êÖ6Ò2¦mÊ8–Qˆ”)/Ú3"´%JŒÜ3’­ÛÊosN(P#âޜ†h¯Kd ?Иƒ•õ0fE‰Mû.‘ùҵ匐ƒ‘ßÞ@ïw­êj‘à\ê.¤$ |I q0‰]¡}, =¸zIÌÒiŒmî5Ô(%ÆÆ«ç äB-XY¨QIè.y{?›E؂Fo—üí1Ÿµ ôÞây;='˜Ë«q“SƍÐX ó.§ö’@æFkå¸@†·ÌŠÁë0íÄ獮%˜4‹l®ܗˆìü0`‡+‹6W†ìê´èzt[Ü“ôí¿ÛÙf'‘ EYµI3:µËÚ¶Î'ktê>­ê˜Eqvë5N“^¶½sKèÈím]O+DöG7ÁÞ7%bv¸qÈ"v¸ äz€`e=<ȕ»·Õ²”Ðu anŽ‚ÿz‰ÞDÝXÏÙªÂäEKÛÌ2ÂÅ9¥í»¨Ìæ¦?d‹â¾v_!T»ùæ%0Ê èaD<1M‰`ñªÛùa +W"¦Ñôku{‰†òžzdö/Ǒ¹bí¯o‡ð¼lò™‹< : L‹¬i^Óç3Uô ”a=ÒϬ’QC$É #J÷Eˆ?› ÌÎèäÅȼ|Ȋ|æY^Å+ŒgYM^ÒX7l7)¸º¨¿–žÜ‘ß±MgËA ñí0Æ‘6^;ò@~ ³ VÖÃÙ2MÌîwŽÂ“–T*køÛÀC¿¢YØ·ÕVà²ÚE]­ïãn3M«Â£Bnh}îÆäiŒPNT¼¬{_| ‡ªêa¿TËúrªg:<ö›`eå19XÖzYztÞ_»§Ö• ú#°ýzÙC–øå8Øö> endobj +1666 0 obj << +/D [1664 0 R /XYZ -16.307 900.716 null] +>> endobj +1667 0 obj << +/D [1664 0 R /XYZ 56.693 759.068 null] +>> endobj +1668 0 obj << +/D [1664 0 R /XYZ 65.161 752.393 null] +>> endobj +1669 0 obj << +/D [1664 0 R /XYZ 65.161 741.435 null] +>> endobj +1670 0 obj << +/D [1664 0 R /XYZ 56.693 693.927 null] +>> endobj +1671 0 obj << +/D [1664 0 R /XYZ 65.161 694.61 null] +>> endobj +1672 0 obj << +/D [1664 0 R /XYZ 65.161 683.651 null] +>> endobj +1673 0 obj << +/D [1664 0 R /XYZ 65.161 672.692 null] +>> endobj +1674 0 obj << +/D [1664 0 R /XYZ 56.693 625.185 null] +>> endobj +1675 0 obj << +/D [1664 0 R /XYZ 65.161 625.868 null] +>> endobj +1676 0 obj << +/D [1664 0 R /XYZ 65.161 614.909 null] +>> endobj +1677 0 obj << +/D [1664 0 R /XYZ 56.693 567.401 null] +>> endobj +1678 0 obj << +/D [1664 0 R /XYZ 65.161 568.085 null] +>> endobj +1679 0 obj << +/D [1664 0 R /XYZ 65.161 557.126 null] +>> endobj +1680 0 obj << +/D [1664 0 R /XYZ 65.161 546.167 null] +>> endobj +1681 0 obj << +/D [1664 0 R /XYZ 56.693 498.659 null] +>> endobj +1682 0 obj << +/D [1664 0 R /XYZ 65.161 499.342 null] +>> endobj +1683 0 obj << +/D [1664 0 R /XYZ 65.161 488.383 null] +>> endobj +1684 0 obj << +/D [1664 0 R /XYZ 65.161 477.425 null] +>> endobj +1685 0 obj << +/D [1664 0 R /XYZ 56.693 429.917 null] +>> endobj +1686 0 obj << +/D [1664 0 R /XYZ 65.161 430.6 null] +>> endobj +1687 0 obj << +/D [1664 0 R /XYZ 65.161 419.641 null] +>> endobj +1688 0 obj << +/D [1664 0 R /XYZ 65.161 408.682 null] +>> endobj +1689 0 obj << +/D [1664 0 R /XYZ 56.693 361.175 null] +>> endobj +1690 0 obj << +/D [1664 0 R /XYZ 65.161 361.858 null] +>> endobj +1691 0 obj << +/D [1664 0 R /XYZ 56.693 314.35 null] +>> endobj +1692 0 obj << +/D [1664 0 R /XYZ 65.161 315.034 null] +>> endobj +1693 0 obj << +/D [1664 0 R /XYZ 56.693 267.526 null] +>> endobj +1694 0 obj << +/D [1664 0 R /XYZ 65.161 268.209 null] +>> endobj +1695 0 obj << +/D [1664 0 R /XYZ 56.693 220.701 null] +>> endobj +1696 0 obj << +/D [1664 0 R /XYZ 65.161 221.385 null] +>> endobj +1697 0 obj << +/D [1664 0 R /XYZ 56.693 173.877 null] +>> endobj +1698 0 obj << +/D [1664 0 R /XYZ 65.161 174.56 null] +>> endobj +1699 0 obj << +/D [1664 0 R /XYZ 56.693 127.053 null] +>> endobj +1700 0 obj << +/D [1664 0 R /XYZ 65.161 127.736 null] +>> endobj +1701 0 obj << +/D [1664 0 R /XYZ 65.161 116.777 null] +>> endobj +1702 0 obj << +/D [1664 0 R /XYZ 65.161 105.818 null] +>> endobj +1663 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F95 923 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1705 0 obj << +/Length 1829 +/Filter /FlateDecode +>> +stream +xÚÅ[KsÛ6¾ûWp¦=È3‚7ÀÞÒ$N§MÚ©­Cg’( +–8¦•¤b»¿¾Ë‡‹–âe(:'R¸Xû}»‹i° hðöì—Ùً Eƒ„šë`vhN´ ,D˜`¶>L.]ê¢ÂO¹¢“?|éŠæöÚçÍM¹jÿ|íã_¼¿i~ü}õîüŸÙoÐ͔1*ÕH»*ïSW¬œ+‹êoèz×¢ê]jC ·ÁT‘дýs ¼h. ~Ëgofgÿž1O(Mt(2¢)âõهh°€ÿ@"CÜÖ-ׁb”p¡á> ®Îþ:£íLУ3²“-C¨ntúȹªµØ½öâšÔãÕ;–Hmᏺñûh›'åçSMéä7e…Ï~>Ÿ2?穏oÈ]‘6Ò`ž*Õåíþa]˜á …Õ«çŠÂ|IpÚ0È]pýpH{Ò?}Ü·„Y¹ë ̪ÖCå+Â4ëÊW”S…éáárkòðÊÖóeÐÜ\¶ë¿·–;Å#&¨^җ‹…[ìÀcIÁ‡zÁ‹ífãó׸ªaßdþ6u‹¥[»¬ÁÒÓo%Rz^&qêöè ÖH™!ñlh_þ@¬lâ”(&Z&ìcؕ›WüÛY¶íƒÇ¯L6VÜ­£$CÚYé‘Ú:¤=>‚[/k”5ã Ì#×£¾Bƒœƒ¯¸ôsKRúªŒîË/®"^m³›iì×kŸõðڂ.z<‡¡ 8XÊF{Gþ0°WvmÑ ¾^׋ä ‰í²cèõ㘱†isÊ-KÄ>Ï]ŒÄôÊ#–îîÔ¬ðk$ø}šd7Å·¢_CD)VôKY‡œ'Eÿ¿Q¶€(¼ìƒ|!‰jDèsA”ÑãA_þ@èV¶ô¹&¶zr +è3%áb~ +ú¸Nj;‚ˆ1¿?qȈk6ûóUÉ?}}`ÛÉ 6 +®s®$»ö=¥2)! žÏs÷ ÉZùÈÊì‹š $ö̎‡Õ}ù±:XÙXeŠ„´Ý€·t2³ó×HÈm]Q&>ëiø R|ô)JÒh~4];öÞÖDwÛ:¸I +¼Õ’®‘ÉÅ'—0ëß9Аh0ÆgŒ”ÕÄ05BÞPú¸Gä~’ÅNj€Ï„b46êÈÆFÕų‘Ò!¡–}Þeúž{LK—¹<*“lÙ#PÇ5]De4°äp»rÈ(d[ µÝÁϚ“ÏêO& +®–Êg%’]úًK~wI¹j¨ä"Z¥ËÜ}æàÔ9Xĺ—pЌÛ¹„UãÇã’}ù¹d°²=¸„s•îÉ%sW–ÉŸdèÆØMÁË7/_¿sb.ûûêÝì×w=cfU…†ö91+CA¨Öß´Ò +Âèˆe&ià*Ç+3uäípeñ •F)ve¦ÌC`ŒÝQ—ŠÌ°‘Br‡v§è¾(·›dѵ3lb§Û…+°õ³Üȶ›ÜÇ®(|^J>RE‡ WѝϰmQtE0õÀLò²Õõ©¤MxêK#SW*Û6S,æ5#̎WµëÈÉÁÊ" iÄâú’0ŸmÕ.wU¤-þΑ»lW>Çn´]&ôxõ(Û;dؕV–°Ð<«cŠp+¾¿c㊈[É$z¼jXGþ@ V¶‡_c†hÙ¦#ï}ŽÝºuÑÍéÐmt•ˆu–‡"Ì£é¯Çú)l|‹—˜a‹~K‡lGiÚ%ħÈæYër±(ûÝ9HŽX’Ú%Ìh$ԑ?Œ„†+‹'!a(±¼­Ë½L!uÍ¢{Òâõ¦9t±a›Å‡jŸÓãœu¸žù•³IÅ© Y—Ú¾®pÑ ”šdŒ~IÈzMzÿôi¼HõnOoÎûòšó`e{˜³´ÄŠ–Èñöƒ­÷ÿ莊ÙÏ!s#½Ìœ M›(ÖßZäâ’¥žµbÎYi¥:ñWiR”EÏT°#n+°ÐÃÇ«—wäƒòpe{@™rBëýUF„u.ëMŠNÐfžÌÓÄWVÖóÌΫÔØDÿèIbËTÈ4Ô,TĈ1*׏>ߒ”Ц6Ú÷ë­ÿÓ´´è +endstream +endobj +1704 0 obj << +/Type /Page +/Contents 1705 0 R +/Resources 1703 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 1662 0 R +>> endobj +1706 0 obj << +/D [1704 0 R /XYZ -11.232 900.716 null] +>> endobj +1707 0 obj << +/D [1704 0 R /XYZ 56.693 742.989 null] +>> endobj +1708 0 obj << +/D [1704 0 R /XYZ 65.161 742.431 null] +>> endobj +1709 0 obj << +/D [1704 0 R /XYZ 65.161 731.472 null] +>> endobj +1710 0 obj << +/D [1704 0 R /XYZ 56.693 683.964 null] +>> endobj +1711 0 obj << +/D [1704 0 R /XYZ 65.161 684.647 null] +>> endobj +1712 0 obj << +/D [1704 0 R /XYZ 56.693 637.14 null] +>> endobj +1713 0 obj << +/D [1704 0 R /XYZ 65.161 637.823 null] +>> endobj +1714 0 obj << +/D [1704 0 R /XYZ 65.161 626.864 null] +>> endobj +1715 0 obj << +/D [1704 0 R /XYZ 56.693 579.356 null] +>> endobj +1716 0 obj << +/D [1704 0 R /XYZ 65.161 580.04 null] +>> endobj +1717 0 obj << +/D [1704 0 R /XYZ 56.693 532.532 null] +>> endobj +1718 0 obj << +/D [1704 0 R /XYZ 65.161 533.215 null] +>> endobj +1719 0 obj << +/D [1704 0 R /XYZ 56.693 485.708 null] +>> endobj +1720 0 obj << +/D [1704 0 R /XYZ 65.161 486.391 null] +>> endobj +1721 0 obj << +/D [1704 0 R /XYZ 56.693 427.924 null] +>> endobj +1722 0 obj << +/D [1704 0 R /XYZ 65.161 428.608 null] +>> endobj +1723 0 obj << +/D [1704 0 R /XYZ 56.693 381.1 null] +>> endobj +1724 0 obj << +/D [1704 0 R /XYZ 65.161 381.783 null] +>> endobj +170 0 obj << +/D [1704 0 R /XYZ 56.693 344.633 null] +>> endobj +1725 0 obj << +/D [1704 0 R /XYZ 56.693 317.079 null] +>> endobj +1726 0 obj << +/D [1704 0 R /XYZ 56.693 270.07 null] +>> endobj +1727 0 obj << +/D [1704 0 R /XYZ 65.161 270.753 null] +>> endobj +1728 0 obj << +/D [1704 0 R /XYZ 65.161 259.794 null] +>> endobj +1729 0 obj << +/D [1704 0 R /XYZ 56.693 213.528 null] +>> endobj +1730 0 obj << +/D [1704 0 R /XYZ 65.161 212.97 null] +>> endobj +1703 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F95 923 0 R /F98 924 0 R /F52 695 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1733 0 obj << +/Length 2709 +/Filter /FlateDecode +>> +stream +xÚí\msÛ6þî_Áé}¨}s‚àKs—™&×´¹ks½Ä3—›¤Ó(HbC +IÅN~ý$e›”d/ BîÍô“i +\,@<Ï.»ÄÞÂÃÞ÷'Ï.NÎ_pìÅ(hà]̽€¢ ô"â#?ô.fÞ»Ó×2“¢”gÊñé+Uɲ¹œ«¢¹¨–íWÉ3¥>4ÿ¼}óãÙ/ÿÐÝLA1獴7ÕçL–K)«Òü¬{'^¤{|Ó; BÒțp‡mÿ4ÔÃèô¼ùCh`<ùîâäã Ñâ±G<  ö½0&(ÀÔKV'ï~ÁÞLÿ¦@,Ž¼ËºåÊã#êú:óޜüû·3;3B=Ý,äq=%[á,FRúV­Åö1ï݄`ŒOåϛi;®Û³ª'RÄüæá‹í„ÍU–©3ÊO/Ó|ÑÜJ–"_l§x)Î(>ýtFøiûÄTʼ¹Z‰Y{¯R7ï¡îZ+{Ó5‰ +C3àºo¹Þ« ÃdÛ(Q[Ùeš'²÷š +ò›ë¢Y¨;ª_9Ñ/pB1Âqû"ßSÊ;íjMë—ÏŒbA´UáŸ2­–g“@Ïé ±Ì…Ì¿9›ªÿŸ¦ùy¹–ɹ˯…Ô¿•eªòòWsÓ'Ís×íæ©^rç*×-Åz™&èJ*ÛÌ$ºZeOÚ9ã·4aQŒ¸¾luy1Ñ}|}Eš«z0zm›ñ˜?ßwW¥Æ ©Äâ¼^•æ>Çz³À£(Žb¯Þüö2ìHÛw·ƒ(D\OeÛA#˜˜Ö¶ò9"éËçX¯ý¦ =܆h€b l-°XxÍÅ볝¥´U<Æ(ŠHËÎ µº݌ ‰tíci1ÎÐݕo‰nke ›è>£6š÷SšÀ½Þÿ¤r¦—NÞ_kz̀#B&ºˆãcz¾Ü„Fƒàq"q·<äý±¹&œ=éeâGî¼gR¸ÃLW¼d¬U…»Îzâoµ±Üçª(dŽ¦•²rà¼e"_lÄBŽ?²sÜFp Så闾 }³±>ôÜóL•Ð8ɳÍâP聓­í»‰A¬É…•Ç8F Ç 3Ä4>†þ¹oh¸ãª®|K²²Vv[ùL{ïq‡­ Á²\¬d¹ tÃ)“LbˆCÝDfi% tLÞþpñӏÀmJ&W2¯F®Ä Þ~¬ –£HE–~Ù)ýjßÙu²SæÔxmÔÖºò-±f­,ܗæÔGq µ\+‘õü}ÿ+è$M‘„Ó¤°8BAøØ1aÃæ»3,ÔÆ:rw0Փo·|핅› +iña{(ðLŽÖ±NÓêQϦÅTARÚíí{š÷/psÖõ¸Ç؂€»;îéof[÷Qd¦Á=Ù(Å +Õb°ÆɕóÆ4ž¨Ã'æGu|Á»tå[²‹µ²؅™ì76ðÄi›JL£¨S?ú›ìö×ÉÓ»·àýî ½y«“ƒ##𿦨j0I™³È0<*I‘&ã’bXÃîHʏµ=`î"{=ùv$e¯ì’ÂúYŸ»$)ã2ü~èiG›ÿnòcsøyÔS?4©ünòü DéÉ·ä kepå7Å'Ï3)òñwl…\l2QìæÙ§‚/d.›4—q«W¯Óm é9 +\øàj ý‚þr÷¾ÿÕ󷟐Ÿ~ÝJ¿½â`ðËIŒ©í¿·£¯n;wÿ¾ ùnŸ‡ •z ~'C@ 1Ö&@s/a7¥&[ÞBšWõy-PÇ°—v¤ëq]©š–M¸ed¯UšWðúzp”#ËtOîÓ=¼æI“Ÿ­2œÉ}ˆo¾Üâðß_–16à»}Žx'C¹íîˏ£Ø×mOQàe"$]&BÂèñÊDz'<…œ'™(Ë¥!$ÄnKC5ÊܝÒôäÛù¶öÊÂ}[¢'èº:äµ\©Oã&Òå¦âîßMiïþõ°%\÷)ûé}”]¦3鸰ÑÛe¸PDêÉåžO´9!¾7!µ«Y¿ù?êËT¼Þ­–iþIdél ­„+ w¶÷Úì!4]sçQ«`ˆ>^L¦§™J>|ܨJ®‹!e|„ÆNKc‰œ–Æôä[Rµµ²¨š’›Ò˜og3 -´+~x<òvwž^¼a°)¯ùj@üc]¨i­s¹4°fOܞœ–àSAèj¸ÇîTåè5ç¤ÂâpX•Ó“o skeáU9ÄÈmQ~ÃÑ;kæÉÝ÷b™–Эw%õÞ{§øçðFVlJøw½®#]ȺÔ]@7új%«%ü;7%ؕÓ*Àk6š‚P@„0w¶8ÐFÚ?j$ ÛåX'ø##ì·§ˆKh6DÍñȓeÏÞïaO¡11ƒ•Kèº6_«p& M–KµÉfgä€ßåReÒÊp挝ÍÑß¾¾ã[^Ë=_ øúüé>~¨¿7ã‚´é –vÅۙbkUá–8ŠÞÖ°à`:ƒ‰ª¶j]vœÒ;JµX _<-Ôe)‹rÜ$½UšÏš@QƁƒ üÎʙæû ~ÈÊÿ±Lh +endstream +endobj +1732 0 obj << +/Type /Page +/Contents 1733 0 R +/Resources 1731 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 1662 0 R +>> endobj +1734 0 obj << +/D [1732 0 R /XYZ -16.307 900.716 null] +>> endobj +174 0 obj << +/D [1732 0 R /XYZ 56.693 759.068 null] +>> endobj +1735 0 obj << +/D [1732 0 R /XYZ 56.693 738.489 null] +>> endobj +1736 0 obj << +/D [1732 0 R /XYZ 56.693 701.156 null] +>> endobj +1737 0 obj << +/D [1732 0 R /XYZ 65.161 701.839 null] +>> endobj +1738 0 obj << +/D [1732 0 R /XYZ 56.693 649.179 null] +>> endobj +1739 0 obj << +/D [1732 0 R /XYZ 65.161 649.862 null] +>> endobj +1740 0 obj << +/D [1732 0 R /XYZ 56.693 586.243 null] +>> endobj +1741 0 obj << +/D [1732 0 R /XYZ 65.161 586.926 null] +>> endobj +1742 0 obj << +/D [1732 0 R /XYZ 56.693 545.224 null] +>> endobj +1743 0 obj << +/D [1732 0 R /XYZ 65.161 545.908 null] +>> endobj +1744 0 obj << +/D [1732 0 R /XYZ 56.693 493.247 null] +>> endobj +1745 0 obj << +/D [1732 0 R /XYZ 65.161 493.931 null] +>> endobj +1746 0 obj << +/D [1732 0 R /XYZ 56.693 452.229 null] +>> endobj +1747 0 obj << +/D [1732 0 R /XYZ 65.161 452.912 null] +>> endobj +1748 0 obj << +/D [1732 0 R /XYZ 56.693 411.211 null] +>> endobj +1749 0 obj << +/D [1732 0 R /XYZ 65.161 411.894 null] +>> endobj +1750 0 obj << +/D [1732 0 R /XYZ 56.693 370.192 null] +>> endobj +1751 0 obj << +/D [1732 0 R /XYZ 65.161 370.876 null] +>> endobj +1752 0 obj << +/D [1732 0 R /XYZ 56.693 329.174 null] +>> endobj +1753 0 obj << +/D [1732 0 R /XYZ 65.161 329.858 null] +>> endobj +1754 0 obj << +/D [1732 0 R /XYZ 65.161 318.899 null] +>> endobj +1755 0 obj << +/D [1732 0 R /XYZ 56.693 277.197 null] +>> endobj +1756 0 obj << +/D [1732 0 R /XYZ 65.161 277.88 null] +>> endobj +1757 0 obj << +/D [1732 0 R /XYZ 56.693 236.179 null] +>> endobj +1758 0 obj << +/D [1732 0 R /XYZ 65.161 236.862 null] +>> endobj +1759 0 obj << +/D [1732 0 R /XYZ 56.693 173.243 null] +>> endobj +1760 0 obj << +/D [1732 0 R /XYZ 65.161 173.926 null] +>> endobj +1761 0 obj << +/D [1732 0 R /XYZ 56.693 132.224 null] +>> endobj +1762 0 obj << +/D [1732 0 R /XYZ 65.161 132.908 null] +>> endobj +1731 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F52 695 0 R /F93 909 0 R /F95 923 0 R /F98 924 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1765 0 obj << +/Length 2204 +/Filter /FlateDecode +>> +stream +xÚÍ\Érã8½û+19¢ÆB€`Ÿz™©^¢·±ÑQÝX‚,NQ¤Š„¼ô×Or‘mÑV9!ž9‰–ÀDxï!‘HšF׍¾?ùöòäËw’F)IWÑå2Rœ¨$ÒL‘D—‹èÃìÜæÖÔöôŒK:ûµt¶î.—eÕ]¸Uÿã?Ëù·eù±ûãýÅϧ]þݜ1FR);kî>·õÊZW7?Cï,ÒлMï±JHÂut&Išôýs =û²û`\57žüëòäÓ ó4b‘TD¥"JRFåÑ|}òá/-à7p€Ä©ŽnۖëH2J¸PpG'ÿ>¡ýHнá4KdÚÉÎxœFUç”"IëÅî¶èã”Î~¸üåçl¾éŸíéÈÂ@pAR‘v.w£¶,ó¼<årv›×ÝWó•)®wã¼2§œÎnN™œõw\Y[tWk³è¿såãd´}ƒÇ}3“$ižºí{åÖùêe/%%‚±]Ãy¹³_gÅÜ曑$&¢»®:”ýQ'–„ê.b¢8ï¬þɹÜk×zÛ¢ n|Ð$VzçÂyye+wz¦`t/œ¹weñÕéãðçî1Îæåz]ä®Î;³·Æróñý>PÞ,á‘ Pš6@i¾—`«ˆ“T§Qe£åSdìY{ùÛçhJ¨ÜÙï첦q¨yI˜bó’ÂLÀˆa:xÊERž†»ÚÚ«®£îâ¼çÐތ>¸ ²"t7±ß,{ xnHÕÌz½ÝlJ€ªq£J¨†×¶°•q çPíË<+>âš:S][¤¿ ãÌU#¯ã>ÝS†#Ìf É=›,—’„P˜Ü.ø<¬Å*f„ÇÉN‹õ‹Züû© 3S™uý5Öÿ{5ÞòQh"¤O‹á™àÓhñÂ.Í6wМ[RmPänÕc ÂÀ$›NeŸ)ŸLöÃ9ÜY¼$ËD’ØW‘ûÉFÊ·ux•E Ü×-ÄpmsUvµuH‘- \»&Öõ\›êãvƒ]<®ÄXª”p*&ã½P±Ób'„Åâ9ùÅl«ÌýÝéÉOÖõ£ž\ÁF¢¶šÌA‘ÍäÌCNDû€dB9áðì@›Éädß~ œ;ë!'ð!ԃžX¤¢\³ÂÞâ¶kªu¶é‹þ‹÷=Àî_¸o¶¨gWne +:/ W•9Ríú˜ãõ†Y‘¹ÌäHwf¨Ÿ¯ÓI¢t:Köí²$ØY–0ý˜ß(—#ÏëÃH³•µx°··ü±²ÅÈ>¿Ì×ÃÛS«+ƒ5Æàì0áÿ¶U‰³{còíptÛþ¤’î=l/bÍ*L%û»VR،ˆé8ºg>¢¡®z0”jBY—E~?2Þ]¹ñ\nolîG~,?*,Ò²z“›{ìzÞ¯-ƒq{]Z~ƒ¬n³#SäsÜ®ÊÜw‹Sûu6GöÃHî,ž%qš*û„ö³…äðk9 –³:Ê›¬Xs¢ÙtɄý@i: 2¯|…ÏZ5gÏÛ¬^Üî¿to«ÞÆeõòY”ó:ââ„è =öì¬â$ƒêƒßwÖ¸-6ûxþ™ƒIX»c‰-D“ôM# ΁ÓãY±°w¤©H«‰+I/>ÁESà [Óé‚ +!\<]äÀ~ ‚õ •9÷åßµ¥eÝ ¶\ý·ì•$z‰-gqóö\¯vXI_™›¬¬ŽMÊò4m«åސٖd¯ç+ÿ³Å.žàð¸cº²U à•ñ›®Äœ’$ÿgA6gŒp9a*x Èt¹ý@¹ vÖCn¨ R+Ï ^[„6î‘F_º‰­M±Mù r­*°(F +$øŠ,tjYqÜP½J¦!’'õ¾ù0L»Š‡4K9Q¼Ož¯”)rž2—c xªqY‚/­ì<þ,——sƒü£Ëp_Çs¢‰ÐÓí—ö쬤5#Jõ‡ˆ­N}æ 1̒ˆôM ™lÞgùMºë¼¬ëVŠI[ã‘9{d‹DEf˜€HOLw‚8°ˆì`g=-a¼?Aü{ÞçùžÚ³"^Š~ÀÞ¸»ŸÖ®©îæ6O÷ÙހÛMZËíuY”õÆÌ-½è¬Nk²„‘Üf ·ò`vªacÁ§#¶n›ÓÕtu°«xV§6̓Ԟo¶`C&¯Šðu‹¯qß~…éž,ïNX±{ìYÿ¼²¶8V-tz¶uàóÙ?œ‰)¡*=æÿÍüŠ]ZU +endstream +endobj +1764 0 obj << +/Type /Page +/Contents 1765 0 R +/Resources 1763 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 1662 0 R +>> endobj +1766 0 obj << +/D [1764 0 R /XYZ -11.232 900.716 null] +>> endobj +178 0 obj << +/D [1764 0 R /XYZ 56.693 759.068 null] +>> endobj +1767 0 obj << +/D [1764 0 R /XYZ 56.693 738.489 null] +>> endobj +1768 0 obj << +/D [1764 0 R /XYZ 56.693 693.613 null] +>> endobj +1769 0 obj << +/D [1764 0 R /XYZ 65.161 694.297 null] +>> endobj +182 0 obj << +/D [1764 0 R /XYZ 56.693 657.757 null] +>> endobj +1770 0 obj << +/D [1764 0 R /XYZ 56.693 630.63 null] +>> endobj +1771 0 obj << +/D [1764 0 R /XYZ 56.693 585.755 null] +>> endobj +1772 0 obj << +/D [1764 0 R /XYZ 65.161 586.438 null] +>> endobj +1773 0 obj << +/D [1764 0 R /XYZ 56.693 540.211 null] +>> endobj +1774 0 obj << +/D [1764 0 R /XYZ 65.161 540.895 null] +>> endobj +1775 0 obj << +/D [1764 0 R /XYZ 65.161 529.936 null] +>> endobj +1776 0 obj << +/D [1764 0 R /XYZ 65.161 518.977 null] +>> endobj +1777 0 obj << +/D [1764 0 R /XYZ 65.161 508.018 null] +>> endobj +1778 0 obj << +/D [1764 0 R /XYZ 65.161 497.059 null] +>> endobj +1779 0 obj << +/D [1764 0 R /XYZ 65.161 486.1 null] +>> endobj +1780 0 obj << +/D [1764 0 R /XYZ 56.693 439.873 null] +>> endobj +1781 0 obj << +/D [1764 0 R /XYZ 65.161 440.556 null] +>> endobj +1782 0 obj << +/D [1764 0 R /XYZ 65.161 429.597 null] +>> endobj +1783 0 obj << +/D [1764 0 R /XYZ 56.693 383.37 null] +>> endobj +1784 0 obj << +/D [1764 0 R /XYZ 65.161 384.053 null] +>> endobj +1785 0 obj << +/D [1764 0 R /XYZ 65.161 373.095 null] +>> endobj +1786 0 obj << +/D [1764 0 R /XYZ 65.161 362.136 null] +>> endobj +1787 0 obj << +/D [1764 0 R /XYZ 56.693 315.908 null] +>> endobj +1788 0 obj << +/D [1764 0 R /XYZ 65.161 316.592 null] +>> endobj +1789 0 obj << +/D [1764 0 R /XYZ 56.693 270.364 null] +>> endobj +1790 0 obj << +/D [1764 0 R /XYZ 65.161 271.048 null] +>> endobj +1791 0 obj << +/D [1764 0 R /XYZ 65.161 260.089 null] +>> endobj +1792 0 obj << +/D [1764 0 R /XYZ 56.693 213.862 null] +>> endobj +1793 0 obj << +/D [1764 0 R /XYZ 65.161 214.545 null] +>> endobj +1794 0 obj << +/D [1764 0 R /XYZ 65.161 203.586 null] +>> endobj +1795 0 obj << +/D [1764 0 R /XYZ 65.161 192.627 null] +>> endobj +1796 0 obj << +/D [1764 0 R /XYZ 56.693 146.4 null] +>> endobj +1797 0 obj << +/D [1764 0 R /XYZ 65.161 147.083 null] +>> endobj +1798 0 obj << +/D [1764 0 R /XYZ 56.693 100.856 null] +>> endobj +1799 0 obj << +/D [1764 0 R /XYZ 65.161 101.54 null] +>> endobj +1763 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F52 695 0 R /F93 909 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1802 0 obj << +/Length 1881 +/Filter /FlateDecode +>> +stream +xÚí[YSä6~çW¸*‡º-%O›ì•Íæ‚IU›<ˆ±fÆÁcOlsåק} ˆmcLí¦ò@aìv«%õ÷õ!CƒE@ƒ7{ßM÷_+Xb5×ÁthNt&ˆƒi|Ø?ò‰w…?˜pE÷ÎJ_4—ó,o.Êeûðe6û.ËΚ?NŽßü9}ÃL#V©FÛqyøbé}YTat]‹jt©CrL±a;>· 04û‡Í/ÆuõâÞ«éÞß{ ÔӀJmEZF4åÁlµ÷áODð Қಖ\ŠQ…†ë$8Þûm¶+Aw®ÈF·´„QÝØô窶bóÚák©ç!«w ‘ÚÀƒZø'wžÇå?Méþ;ïÒ"K¿9˜0.ãÅ2Ÿ’Ùy>óäj•4ŠaÉ*ÝÕ¯7ۓ…-b!ƒ(ÌV“­î+ +K'uÀ‰56È}0¿=»-m÷ß½;·VªÕßèe•ðPõŠ0Í:êe$„5à p{ß5±Ü7µÖ—/‚æâ¨õƒ­=ݘ-!Ò4[ûû:r¥¶\á®®àC½õ.E +æ>Ë.ÿÁj®ˆŒ|1ËãugéÖ 0‚u;®ø·Ûñ{7ô¨"†=yGÙ©ÏËxÇ¥».?o힬\¾ˆS’—>¯÷m#zûYœ¦Í3äòhÊåx¨ÔFªÕh°ìè†ËáÆ⁩ p€âÍοˆÐ™¹ ïJ$€OÁSp¢'¯~Å žž/p‚—KŸ"%!ÚÄé¢ ðI{ãî[û«,BH\ )¬Ši=,(³‰Ÿ—¥/m¡¡~NúÒ0´bòiùËåeÍ¢kR”  X.òiÙ$d0ُæH•‚ËÖ ?(e`£7W¬¹B.¾uz79JleÇ#ÇmýÉq°±=ÈQ«6£þ~éÒ…ï ¨v‰¯ûn·x“–d=Ǩ±ç ݬêÓ£ÜËMO=ǬžCì”+Î×ë,/?GF0€`U*7>·Ô„çPS{ S(Bm[SܾwîïÈÝ'rC gÏ +©!\?m$\$YQD~NN“lvv¼‘Iâ¢|@ê€U¥gôH¨¬%2ãEBeLtŒ…´ŽþaPn,kʬiß2Á•eŸBØƒ‹¶ÇõiíU+ +¸SÐôP;µË¯‘mðþâ‰{ºâ±¥Œ"Š?k®‡[r†ª©¥ðk—»ªýÒ£¥ À6Ž˜5+©gãeÍý¹b°±=¸B/mz¾ß'.çן_GNAÁų¢„3¢µyZ”¬Ü™'×Þå$¯Ê“¢B'Æð.k?®ñÓ#d[ÿ@„ 6¶Bh…ƶ7ûsv‰sz¨?£Ä#CMå8IŸøUÛÆ@4þ²´tqŠ¥«vµBŠbƒ~äŠ%²ó—Kt‹Òçyǂœ#-¸‚£‘¯6Tö6ëÈ*6Ë6sWïVäŒÂ¬ÞnÔڍí &\µ’éæärž%ôs+¯Õ·fu“¤=ë\ºN÷/˜Úoß8õ>m®V.jïAñ|s ÚâÖÐÌH†zġ %áœm„gÙfŒ"Ng¾sî +d!‰h®ó洖l/<‚ý²!\p"ÂÇä7ïâüÌ5ÄýcVø³ m½zñò§WX·]UvD¢PWi1Qwô#êáÆâ‰ZRPÏ[¢þ!%çE7åØMTs$­w\Ö؃‡K‡ E¼Z'ñ<öÑnÛõâ/i‚Lî²{Z²Âwê°'+)6Ȧ~æï=8^Xà])Ÿ3±¡&ԈGÐӏb_CO¯Ý2Yä>}C nõˆ S"¡¶õd¨ÁÆâJ(`C®n3h99~?}ûûi…‹V¾gÓZ(A„4Ï +ÁIh§B•›V‡[W‰1?dL*ùx@ØÖ?ƒí ãmŠú")}žºÒ£û”~µÆ~π”+\ê±±1®R‹èžÏ8+»ºï‡ñ>}l‚ñi§‡m¥J> endobj +1803 0 obj << +/D [1801 0 R /XYZ -16.307 900.716 null] +>> endobj +1804 0 obj << +/D [1801 0 R /XYZ 56.693 742.924 null] +>> endobj +1805 0 obj << +/D [1801 0 R /XYZ 65.161 743.607 null] +>> endobj +1806 0 obj << +/D [1801 0 R /XYZ 56.693 699.628 null] +>> endobj +1807 0 obj << +/D [1801 0 R /XYZ 65.161 700.311 null] +>> endobj +1808 0 obj << +/D [1801 0 R /XYZ 56.693 656.332 null] +>> endobj +1809 0 obj << +/D [1801 0 R /XYZ 65.161 657.016 null] +>> endobj +1810 0 obj << +/D [1801 0 R /XYZ 65.161 646.057 null] +>> endobj +1811 0 obj << +/D [1801 0 R /XYZ 56.693 602.078 null] +>> endobj +1812 0 obj << +/D [1801 0 R /XYZ 65.161 602.761 null] +>> endobj +1813 0 obj << +/D [1801 0 R /XYZ 56.693 558.782 null] +>> endobj +1814 0 obj << +/D [1801 0 R /XYZ 65.161 559.465 null] +>> endobj +1815 0 obj << +/D [1801 0 R /XYZ 56.693 515.486 null] +>> endobj +1816 0 obj << +/D [1801 0 R /XYZ 65.161 516.17 null] +>> endobj +186 0 obj << +/D [1801 0 R /XYZ 56.693 480.702 null] +>> endobj +1817 0 obj << +/D [1801 0 R /XYZ 56.693 454.325 null] +>> endobj +1818 0 obj << +/D [1801 0 R /XYZ 56.693 414.438 null] +>> endobj +1819 0 obj << +/D [1801 0 R /XYZ 65.161 413.88 null] +>> endobj +1820 0 obj << +/D [1801 0 R /XYZ 56.693 369.9 null] +>> endobj +1821 0 obj << +/D [1801 0 R /XYZ 65.161 370.584 null] +>> endobj +1822 0 obj << +/D [1801 0 R /XYZ 56.693 326.605 null] +>> endobj +1823 0 obj << +/D [1801 0 R /XYZ 65.161 327.288 null] +>> endobj +190 0 obj << +/D [1801 0 R /XYZ 56.693 291.82 null] +>> endobj +1824 0 obj << +/D [1801 0 R /XYZ 56.693 265.443 null] +>> endobj +1825 0 obj << +/D [1801 0 R /XYZ 56.693 224.315 null] +>> endobj +1826 0 obj << +/D [1801 0 R /XYZ 65.161 224.998 null] +>> endobj +1827 0 obj << +/D [1801 0 R /XYZ 65.161 214.039 null] +>> endobj +194 0 obj << +/D [1801 0 R /XYZ 56.693 178.571 null] +>> endobj +1828 0 obj << +/D [1801 0 R /XYZ 56.693 152.194 null] +>> endobj +1829 0 obj << +/D [1801 0 R /XYZ 56.693 111.066 null] +>> endobj +1830 0 obj << +/D [1801 0 R /XYZ 65.161 111.749 null] +>> endobj +1831 0 obj << +/D [1801 0 R /XYZ 65.161 100.79 null] +>> endobj +1800 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F95 923 0 R /F52 695 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1834 0 obj << +/Length 2077 +/Filter /FlateDecode +>> +stream +xÚÅY[sœF~ׯ */LUhÓÜÉÓú¢Ä»±³Š5•J•“‡虡 4K7‘Æ¿~Oß`JRÖµö@7ô9ç;·ï ß98¾óÓ՛íÕ«cßÉQž‰³Ý;I€’ÔÉpˆÂÔٖÎg÷­)átã±ïþÂåúrÏz}!Žfó+Þ0öEßü~ûaóçö_ ÆÃåq¬O»§šò#¥‚ËmŽ ¤'¡”%)JƒÌñb”§F~èÁiæ¾Ò?8Hä‹W×Û«ÿ\a8Þw°'(ÉC'Í1JüÀ)š«ÏúN { Šò̹SO6NŒ}„ \×ÎíÕ¯W¾AŸ!88@9ƱTÊ%(ƉV*U:ؗœÏö}(ª úaã…Qäb”F(4Oát‚ ù™>u{¬ ¸ýô?|?¸ßàصÐs֘­Ý&ðÝá`Ö«vá%7˜‰F¯¤ÈŒS(Õº™gÝp‚²T"¥ž9V‡c ÿDÕ^}º~ýîãõŠ=^ò“ؾ4ƈŒ†sp#¿,QÛ#7àÜ\ÎZÎûíÇύµ‹D^©·Q†p4êu×W²b U’.H${ÎìÃ6Ç85"杹¬zª:Ë9ñWäç1ðm{"’ÕÊ Y‘û`à¨è8›Iu+À–ÝKóxÇò‚0K“õi3C^ßU⨯ä㭑†±;xaZ<à RxÊ%­¨¾–•ç½¶·’Õ8\H²îèt5‡>°kªj6Øep,v‡.ͪæÕüՙmËÄÑÈâ@¹KÒm”™£šª°œ•“(®Ù&(ðL".¸yÁ T–©B T2>ImCæP‹®7Cù‚JÈROæÌﰏcœ-›Ýw8ÃyŽãçSMz3잛÷o™ŒIۛM“eÓ&;~°0gÆL^—lg?nT‡JX|®5\ãtCÚ/|µÛv³«¡¶ŸTz±ä ZîŠ;göÀ³À¤AxYk‹ƒ‰q°Õ0ÕZ`Y¥Œr),ËÖg^ÐM¥»<|þŽ;±¢+°Z\Š>&°?¢ +øµæ«×[ÑWšêIX·ØüP}%zå©O›$vÑS¬Ÿôî Ǥ’Ã-¯´Ó$Ù +(ÅÉúÙúKNbµ}2ꁍó1 ìªE8\ðç +Ü@W™YüP•PŽõ¸gÐX•fjÏù4hÎ&ˆSgµñÒ@WúóH]`ðU ß0Y¨'·×r&°¥D®p2@ÍB/ëyHÏá²îõò¼À†ÊKµ52XU®…5ÚòÁh«$fÿŽáµ<ëNñ··zhÔ‰FzKʲ¶6"Ì^ä±þUé+eˆ¾ ~Wâ\ÕVºéeNTçÆöØ0®éâèb‡üöP_>l?^¢ÖÏ~{{k,¸` $Ф"½p˜ÿƶ„,íþ6½2_€hÊqϛÏ}#ÿ™1K¥(¢‘RIâ¿ÆsŽÜ‡ð‰$~Égpš"Fß\ٚHÝ2HU®ˆQ’> endobj +1835 0 obj << +/D [1833 0 R /XYZ -11.232 900.716 null] +>> endobj +198 0 obj << +/D [1833 0 R /XYZ 56.693 759.068 null] +>> endobj +1836 0 obj << +/D [1833 0 R /XYZ 56.693 731.272 null] +>> endobj +202 0 obj << +/D [1833 0 R /XYZ 56.693 684.614 null] +>> endobj +1837 0 obj << +/D [1833 0 R /XYZ 56.693 648.51 null] +>> endobj +206 0 obj << +/D [1833 0 R /XYZ 56.693 618.892 null] +>> endobj +1838 0 obj << +/D [1833 0 R /XYZ 56.693 582.788 null] +>> endobj +1832 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F52 695 0 R /F93 909 0 R /F57 739 0 R /F102 977 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1842 0 obj << +/Length 2158 +/Filter /FlateDecode +>> +stream +xÚÍ[ßsÛ¸~÷_Á¹>Tž©ü @0}:'½´¹Ü]»37“Üt` +”8¢•¤ì8}—"åH”d-EÑíC"˜‚‹Å~ß. õ&õÞ]\ß^¼úIR/$¡âÊ»=ʼn +<́w;ö>>ÙԚÂ^^qIG¿ºÒu3vyÝ(§Í—o]tíܬþã÷›—ܾ‡a®#¡”µ´›ò1µÅÔÚ²¨¾†Ñ™§at%ªÑ}€kïJ’0hÆ zôªþ`\U?¼øÛíÅ.ˆ§ó¤"*^2¢(÷¢ùÅç?¨7†ï@â‡Ú{Xõœ{’Q…‚vêÝ\üó‚´ÄZ¦FU­Ëízª±KSwÉåè!É&õ£¤±‹©?Ò¤(떋ëÏhj²ÉÚzåÔ4_OÍ%§£ûK&Gð;k³º57ãæY‘d‘mٛ‘À'´nçõ*‘•m֓‚q&Èp5%X !ˆ®l]Í&¶ÕÝû|Å(¥£w6+m¥ÏײY£M»€î¡äq“lÍ7ÏÒ}ŸäjlX‚ïc3í“ ¨Vo5ö¤Rt¯’>h(ĺ_äz™&Ì+'¡ŽIó}á\¶Ì Ê®œÙ¯tÐÄWz­Â/ æ_¨¤åþ§V`ê›yRN__^1¤.2©}5{$_çé_뿘™“ÔÖŽª±ªwÛܲ€{JJBÙ +ÕsIO¾ò8 uèå֋7\~[Úþ§»€e©ëjÁ¬êÝW¾$L±¶|IauÀŠ˜6é@‘‡gPv%0ŸxuãSÃ[Ëü¤x@„ÏêÕÎìÖgìʬUËûs’O¦É7\çÚ?p}ãÜÍq=ÿ‘>š×õÚ̒ÜÝow>î“>#lÕÃ'|$mÅ4aò˜šež”ßjì½·&+\ւ§Í*xbñHA­‡Ã£ ì4[òû᱿²ðH)‘¬É!~í¸ëª%þ¡y¸ëð££YæR;žØ9ę¢õóÑé2ô Q÷—#‚«üÿ­Ë&U|žàϖû›þ;ꂩ@%D€„ úÃ!`[~OôV)xoòîd¾H“8iÁà Õ¿™&™-Á¦Ì(SS&.k£ Ÿ>S/ŠHc%å' ä“»³yÙ@¤4åNHï7r¸æYdvŸ-ÊÝge¾ûÌÄõ³:%–Šù:$šj_(…Ô’1úÔbu ¹ l"ÂÑJ‘z8°n‰ï‰Õ¾ªv€*U°-ÓOÁ +»HUª½V rW‡cÚ¼Ú¡dol­Žw.ʼ­Ça®pH™ËÅÂåHòd2-;Ø¡¥ÄóS#ÕHa»»4Վ÷T¬’– Ƃ[Հ†}%`uE€ï­üôÛ3…õ¿/Än~@e¾/ÏV`!X‡³¦pJØxkî“qMëor3·ù:hÄΕ™+-ùZ`Ó*¿"': Q‹)#êmñýˆº·ªx¢¡$ZèC»ŠƒÌ`pÝ¢©fçåÑÈeq’#k«ªä9'´öìÜÆmNüóaÆE–#Ò$›Ù ¹ —´7q½mÛѢ¡ŸµJ図•šh`‚§Ч aê^]¨›>WH’šm†£ó“À¶üž,Ð[Y hI¨V0–OtÖÖ,J·@ú`î"[è\)‰qýÀ¹‹FKî VÙ³Â`YØx™âúÚ> endobj +1843 0 obj << +/D [1841 0 R /XYZ -16.307 900.716 null] +>> endobj +210 0 obj << +/D [1841 0 R /XYZ 56.693 733.012 null] +>> endobj +1844 0 obj << +/D [1841 0 R /XYZ 56.693 704.626 null] +>> endobj +1845 0 obj << +/D [1841 0 R /XYZ 56.693 657.617 null] +>> endobj +1846 0 obj << +/D [1841 0 R /XYZ 65.161 658.3 null] +>> endobj +1847 0 obj << +/D [1841 0 R /XYZ 56.693 611.465 null] +>> endobj +1848 0 obj << +/D [1841 0 R /XYZ 65.161 611.475 null] +>> endobj +1849 0 obj << +/D [1841 0 R /XYZ 56.693 563.968 null] +>> endobj +1850 0 obj << +/D [1841 0 R /XYZ 65.161 564.651 null] +>> endobj +1851 0 obj << +/D [1841 0 R /XYZ 56.693 517.143 null] +>> endobj +1852 0 obj << +/D [1841 0 R /XYZ 65.161 517.827 null] +>> endobj +214 0 obj << +/D [1841 0 R /XYZ 56.693 480.676 null] +>> endobj +1853 0 obj << +/D [1841 0 R /XYZ 56.693 453.123 null] +>> endobj +1854 0 obj << +/D [1841 0 R /XYZ 56.693 407.355 null] +>> endobj +1855 0 obj << +/D [1841 0 R /XYZ 65.161 406.797 null] +>> endobj +1856 0 obj << +/D [1841 0 R /XYZ 56.693 348.33 null] +>> endobj +1857 0 obj << +/D [1841 0 R /XYZ 65.161 349.013 null] +>> endobj +1858 0 obj << +/D [1841 0 R /XYZ 56.693 301.506 null] +>> endobj +1859 0 obj << +/D [1841 0 R /XYZ 65.161 302.189 null] +>> endobj +1860 0 obj << +/D [1841 0 R /XYZ 65.161 291.23 null] +>> endobj +1861 0 obj << +/D [1841 0 R /XYZ 56.693 243.722 null] +>> endobj +1862 0 obj << +/D [1841 0 R /XYZ 65.161 244.406 null] +>> endobj +1863 0 obj << +/D [1841 0 R /XYZ 65.161 233.447 null] +>> endobj +1864 0 obj << +/D [1841 0 R /XYZ 56.693 187.181 null] +>> endobj +1865 0 obj << +/D [1841 0 R /XYZ 65.161 186.622 null] +>> endobj +1866 0 obj << +/D [1841 0 R /XYZ 56.693 139.114 null] +>> endobj +1867 0 obj << +/D [1841 0 R /XYZ 65.161 139.798 null] +>> endobj +1868 0 obj << +/D [1841 0 R /XYZ 65.161 128.839 null] +>> endobj +1869 0 obj << +/D [1841 0 R /XYZ 65.161 117.88 null] +>> endobj +1870 0 obj << +/D [1841 0 R /XYZ 65.161 106.921 null] +>> endobj +1840 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F52 695 0 R /F93 909 0 R /F95 923 0 R /F98 924 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1873 0 obj << +/Length 2513 +/Filter /FlateDecode +>> +stream +xÚí\koã6ýž_!ì»P3$EêÑ.ÁtºÛ™Í&^`iQÐ6m £‡W’“L}I=’H¶ì«PJ:E?E±¨Ëkòžs¼2¶Ö¶¾?{=;»x˱å#ß¡Ž5[YEŽkyÄF¶k͖ÖÇɕ ¥Èäù”r<ùä2+/WIZ^ä›êæ›dñ:I>•ÿüïúÝùO³Ô4SBÏy)í:ÿÊl#ežéÛjvbyjvÇÖ³3ÇE.õ¬)G¾[ÍoS%Ðõ&åBýàÙw³³ÿŸ%[Äâr|Ûr}‚L­Etöñ'l-Õ=¥b¾gÝ##‹Œ¨í¨ëк>ûÏ®V7V„Zj˜ËýbIjáÌG;¥R>² -êǬS‚1žücöþ]õ½¯ªZʐíTOÏê[%a˜œS>¹ âuùÑb#âu½ÆqNñäæœðIõÄ\ʸ¼ŠÄ²ú,O6¢˜[iû07ñr]ý‹¹7yА:ˆaRZ$µì,ˆ²µÏ¹ áò:-­5WcJ՞µƒj ò±]Jý‘RÞWhZì>Ó:xˆ9^­ÂU2—i~>uÔª^çâsžÄ_ŸO UÿnE*"tw+çߔ÷—Éb® ÝeaõI9DÆyõ¿þÖúv9½2G­þó}Ӑ”ù—ZŽç!Ïåڐôç+³dŽE‘ïùV*­ÕcËiH;üéþ®‹|âÔ”‚‰m*Ÿ#␶|ŽÕž©µ…ÌðUò©?€²…Àtm•WÌ›_+îD1+màÕrÙ°—}9 +wz{³Ýv›(k ÖÄx›¹Æeè“ÚÖ÷ŸšD7 Ù +³°o&ß*—wÀ‘Ë •‹uM(¢ãï¾S®<Ã)Âä)dú^ì”-ÿRráRÄÙ›.6»øÓ´t;s‘f}h’)…ÆdI› ìÓñX²)ߐ%•íÁ’¶Š&\ÿž%¡@°a±¼…²Ø¶Ÿi7;†òF†@Ú»aãñîö±üU§.ÅC…å÷Ðÿ#=\Â=šÀjA]üåjNÕbDl{<85åÂÉXÙp¢6b´DÓì•ÀqÄZÆ2{¡Äq»ûÆ]¾ÝQräØÈM°Þ(w¾+=‚;/ñÖ×ȱJÓ\6ž‘7幩²Ý&M¨ +H+`Ž»êÛTÞ™ŠW¡Ø vÕ£ä8]E"ý´Û±xh¶‘O&öαA¤“€=r¾èþê*¹ wK™½Té,WA³H—=྇³“†Î}QÂG3ô–|3C7W¶›+My]sg/ÎýH¾mC‘Cm®Gç"ˆ¡b—Ë@§r"„æ<ë`1°{3uW=’.òñÊ&-ù†6o¬,Ü湏gUÙäZyêíU›,‹ÿL0áÄÃÇ)¼mÑ÷{Ä÷ ‡o)CÔ/>TÊåÌEŒÜ—rÙÁRî{oÅ9Qá›J”ñDf¿íºn¤Õ]Ԓcd“k»6GØ3©í¾ÔjÈP‡%yTDe™7Rñi]–xTÓZSx#ވåæ:ˆÒñا%ߌ}̕…³s}ÄIÅ>—ÐlNhºg"bèùÛUŽnç¶ê•B}fš¬Vûl)ÀLP“JÛ] E¤²GÜ><`šò cªì><\ET«é!^€þHlö§ ž™ãÊao¼enÊ7\fce{ðwQáùõÂowé6É ©d6ì1Ž¼Û†Á"ÈÃÏÐì"Fô¯fmtþ¥;ߝg‡3N¾œn÷çHZ.Þ¨ÞEUÆld3<ð5å‚ÏXÙàc*Ø®›H¶©ìQhߦÉBfàzb¾I“ÝèÏòyx Æ…‰C¿9ÎËk8,Xã\ë] +%¥œc÷5b›"{Dnˆ74aSU{X°Jt׫ +I»<‰D,DØ"ñÓ':shH,¶[‘Êì&^˜üŸs¨I¸ì +ê=QÏY™°}ŠêHQåT òr7?R‹à/_‹ÛƒþæzÌþ%õXY +›p­ ÷ôòƒ­‰‰øã•lJÔöŽFÒMñf$m¬*œ¤meô«HúRäмv•&lä¥ØcñIšC7¡µ‚WËd>pOÙÚU±Hnd:0Á‡ºCè +ò\ëA<øj¾ ÖA=Wù®<†Ézº›xÈvÉs6‘QŸ#•˖ó ¾È¶rq¡™ÿçTª{™>QÎ~֟¢´nÔ½· +B™]ÜðÂÂÐ]¶dÛÊÍðGê0OùDu‰ëcmL”ß_‘ò +FØÔS+áX/¦Ê…ñ»%ߌ²Í•…s6u]äQ֛³õÙh¨hš΁Ñá»à`k܏8â4æ­? q;}D¼ Áµõ(&«E»uÖ|º/äÕýyv{™OÃÙ±wÇ+6·ä¢ÍXÙhSszuZP¿£sàä–#ü×îìñàIñߎ4KúðïÇw?Nn¡F ŒJ²$ÚkD˜W½oÐã\„rŠ2^Á¾%ßÐTGS¶Z FÃÇ+>µä.†©²Ý(e ù¬ŠË¦Çq’m’]=<”+©"µ…´C¼‡ƒ†æàó_¾º ]°”œBÄ£4{âøOf¹Éû.§éÇöó¬o®P‘˝‘’Ž2™²y|(“¨ïfGî΃y$ÁŸt`µ>/é >Cž=^[hK¾š+ ƒˆï!B«.ÿ1þTê˜~h5øÁérѐl}^*âVû1ڑs¹úEp?øuÈ[h@·é|¿#¥¸u¼Ë=Û ­Jªß8Ô/m}$ž!Çÿ2ð]ƆŸø·ßJ}yà%eõl4ð6å‚×TÙnðR‚ya쾔#£ ü›$ß.B‘A&¯Eþ ®‡C–Æ©FùCŸ÷‡ WGÞã÷×SÐÇ s?ÍØUPïW†Zò ™ÂXY@!ÏÓïK;Š•0b¼"ß»»ÀLýåÏyƨ8òþo†ïoŽUwccªC?L«sEÇÊïÒþ +v™Õµ +endstream +endobj +1872 0 obj << +/Type /Page +/Contents 1873 0 R +/Resources 1871 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 1839 0 R +>> endobj +1874 0 obj << +/D [1872 0 R /XYZ -11.232 900.716 null] +>> endobj +218 0 obj << +/D [1872 0 R /XYZ 56.693 759.068 null] +>> endobj +1875 0 obj << +/D [1872 0 R /XYZ 56.693 738.489 null] +>> endobj +1876 0 obj << +/D [1872 0 R /XYZ 56.693 691.479 null] +>> endobj +1877 0 obj << +/D [1872 0 R /XYZ 65.161 692.163 null] +>> endobj +1878 0 obj << +/D [1872 0 R /XYZ 56.693 644.655 null] +>> endobj +1879 0 obj << +/D [1872 0 R /XYZ 65.161 645.338 null] +>> endobj +1880 0 obj << +/D [1872 0 R /XYZ 65.161 634.379 null] +>> endobj +1881 0 obj << +/D [1872 0 R /XYZ 65.161 623.42 null] +>> endobj +1882 0 obj << +/D [1872 0 R /XYZ 65.161 612.461 null] +>> endobj +1883 0 obj << +/D [1872 0 R /XYZ 65.161 601.503 null] +>> endobj +222 0 obj << +/D [1872 0 R /XYZ 56.693 564.352 null] +>> endobj +1884 0 obj << +/D [1872 0 R /XYZ 56.693 536.799 null] +>> endobj +1885 0 obj << +/D [1872 0 R /XYZ 56.693 490.184 null] +>> endobj +1886 0 obj << +/D [1872 0 R /XYZ 65.161 490.472 null] +>> endobj +1887 0 obj << +/D [1872 0 R /XYZ 65.161 479.514 null] +>> endobj +1888 0 obj << +/D [1872 0 R /XYZ 65.161 468.555 null] +>> endobj +1889 0 obj << +/D [1872 0 R /XYZ 65.161 457.596 null] +>> endobj +1890 0 obj << +/D [1872 0 R /XYZ 65.161 446.637 null] +>> endobj +226 0 obj << +/D [1872 0 R /XYZ 56.693 409.487 null] +>> endobj +1891 0 obj << +/D [1872 0 R /XYZ 56.693 381.933 null] +>> endobj +1892 0 obj << +/D [1872 0 R /XYZ 56.693 334.923 null] +>> endobj +1893 0 obj << +/D [1872 0 R /XYZ 65.161 335.607 null] +>> endobj +1894 0 obj << +/D [1872 0 R /XYZ 56.693 288.099 null] +>> endobj +1895 0 obj << +/D [1872 0 R /XYZ 65.161 288.782 null] +>> endobj +1896 0 obj << +/D [1872 0 R /XYZ 65.161 277.824 null] +>> endobj +1897 0 obj << +/D [1872 0 R /XYZ 65.161 266.865 null] +>> endobj +1898 0 obj << +/D [1872 0 R /XYZ 65.161 255.906 null] +>> endobj +1899 0 obj << +/D [1872 0 R /XYZ 56.693 208.398 null] +>> endobj +1900 0 obj << +/D [1872 0 R /XYZ 65.161 209.081 null] +>> endobj +1901 0 obj << +/D [1872 0 R /XYZ 65.161 198.122 null] +>> endobj +1902 0 obj << +/D [1872 0 R /XYZ 65.161 187.164 null] +>> endobj +1903 0 obj << +/D [1872 0 R /XYZ 65.161 176.205 null] +>> endobj +1904 0 obj << +/D [1872 0 R /XYZ 65.161 165.246 null] +>> endobj +1905 0 obj << +/D [1872 0 R /XYZ 65.161 154.287 null] +>> endobj +1906 0 obj << +/D [1872 0 R /XYZ 65.161 143.328 null] +>> endobj +1907 0 obj << +/D [1872 0 R /XYZ 65.161 132.369 null] +>> endobj +1871 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F52 695 0 R /F93 909 0 R /F95 923 0 R /F98 924 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1910 0 obj << +/Length 2325 +/Filter /FlateDecode +>> +stream +xÚí\moã¸þž_¡O…4 ß)n‹ÝÞîõzÛÞu“+Ø[,d‹¶ÕèÅ'Ñɦ¿¾¤%'¶%Th&w@>E‘¨áh8Ï3äph-"}{ôöüèô=ƒ‘’cÏ#ŽQŒ ":O£O“*WI£ŽO0ƒ“UZ5íå¼ªÛ ½ì~SÍÞVÕEûÏÏgŽ?ŸÿÃts‚ŒµÒÎôu®š¥Rº±Mï(ŠMïœØÞ)@à8:a@Š®BŒ@ONÛ?sûâÑ»ó£_#1¸$‘pˆ£Yqôé3ŒRóÌ(¨Œ£«MË"bL¸¹Î£³£ÁÎШh/íŸow${ #A%@[Éö>ƒFOÊ# d,£ZEóAQ® *¶´‚‘mí+ŸÄQ_>ƒ;õ°kf$–Pv#°^DíÅÇÎÍn|n<±Sœ"@Iç=ß«ººT–}:áN¦•^ºµ<{÷ƒ[äLoˆ°iÙ¨")u6s“Ûèz=ÓëÚñ˪¹[»Ùr]^¨Ô­±úq=uì~­Wkí8׎½—ͺÎʅ[k½Lzýï¹Ù7l†@q`ûò=æ­ì€Ђ·»rôÀ$¿J®GçVeêìXŽ Ku@À¶óë÷½Dní²Ò"É̑Ï~þûù??Œ ˆ½¦Æ @{ãqL!°q×`˜Ú—`Êvƀ à€|O¼§)|UÁ.0ŒÅ-»l'ˆ=w{ó¦»s×G'ïVý¨ô¨WrIA(ØHôäû …·²ƒ–çR&ekù“A ·½¬ÖyêJW³|ªßQw·ÿ<ìl=Æ6wþò°ÝOÝîÌ=ÏruØS›@­êÃÏ­¦ÍXÇfÊp8ïË÷±·²î„Êc³Ö¥-ªí|œ‡Oï¡ßaŸŒ51Zµ}ùž£æ«ìð xŒ^©÷•zÔËیK0ïË÷±·²#¨—S 0~îô…KåècÙÜ5¹¢ažVníÊÊq]¿L\“{šé¬rüò"©/Ö«±0`1 Ô+å;ð÷nÖ½Ë_sb¦ì„´ö ÆlOåžSí j`Ûø{•éåñæcß'Ë|aøäÍq›‰L«™õ<ðµÉÿÔ¶˜fåi³R³SeW_j•ä¶Á{ ÔÓ~£ …œVu6b ë×6uo>öVKÀÌe§Ð/¦QÁ›+Ô^¹e86ËFÃåÛ9€£€3•}ùž$ç­ì’ÃæÝv ÿš¦ÎÙ©ÒZՎØ]¯VUíH }žÎdU—ªnœr[yÚAÖTÎJ×X?gÀpà(ªivà™ŸÝâsjø}V¦ý¹Ñã`GpLŸ“i™$@ |X¦µ”™Nue½f‡Eólzº%á!zýFý7ùÏúLÕÙTzÞ5Ú¾œnYlf6,Û2aÌ-Ã¥äzòýØÖ_Yw¶eB(žÀ·«:+29O—‚P®*¦j„Ή£®F ëúj^•c7™€ †øYنJËß Ùh€¾Ì֍¾wNžl¨yˆã€lƒí„Û–êÉ÷doeG° !31žmÂÐǺQý¹ÍÙ²‰uÏlž¹Nœ¬ƒWEö¿Ä}˜'ןBn1:–¥°qøYI +ryü,,µ»ú4Í›Æ QsÏt˜Í‚³•"lōyЊ¯ž|?–òW֝¥ì8ÞT|a©¿ 3]\¹/uR/”¾OüN~ßK*v'ÝÕ¹ Z Փïé{¾ÊÞõ4»‡[5ãÛÒ§"Ϭoç?¶LtòÐ;MsßÀ~~ãýwÞõ;ú<ìZ‚ý©qœ)ߑñæªTu¢]#üÝ2§µK”Ó µK=ùž¦lg f&†"Üú¼'ßÓÁ”íŒA1 (\éAO¾§1¼•˜)»­(zžZ.J ,\š¾'ßs,|•¶<¡7E8S†€HÎxûò=ç«ì°ñ01Ñ¿l5Fràšg½²]ï…ê¸òÇUòÕÒuwúÐr¯ÑX&ë—ëÇØS*YڟÇ<X(ƒV^ôä{ÖWÙaÀ" &/ ؎ÖCâ!W’¯8ƒ3"Ûu_(œõäûáÌ[Ùaœmô¢¯ñáv?üøþÐPx…ë8¸2@c,Ž-œ“»ÙpÂÑm6\ÞgnÍ÷|¬ÖeªëlÕeÞͪÃèÄÌ;É^çÛCÒó*Ï«cÌ&W6¯¹¹5[&åb{¬z™c8¹cDˆÕòß…¥f<Ú#6cöÿ6¼œö +endstream +endobj +1909 0 obj << +/Type /Page +/Contents 1910 0 R +/Resources 1908 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 1839 0 R +>> endobj +1911 0 obj << +/D [1909 0 R /XYZ -16.307 900.716 null] +>> endobj +1912 0 obj << +/D [1909 0 R /XYZ 56.693 759.068 null] +>> endobj +1913 0 obj << +/D [1909 0 R /XYZ 65.161 752.393 null] +>> endobj +1914 0 obj << +/D [1909 0 R /XYZ 65.161 741.435 null] +>> endobj +1915 0 obj << +/D [1909 0 R /XYZ 65.161 730.476 null] +>> endobj +1916 0 obj << +/D [1909 0 R /XYZ 65.161 719.517 null] +>> endobj +1917 0 obj << +/D [1909 0 R /XYZ 65.161 708.558 null] +>> endobj +1918 0 obj << +/D [1909 0 R /XYZ 65.161 697.599 null] +>> endobj +1919 0 obj << +/D [1909 0 R /XYZ 65.161 686.64 null] +>> endobj +1920 0 obj << +/D [1909 0 R /XYZ 65.161 675.681 null] +>> endobj +1921 0 obj << +/D [1909 0 R /XYZ 56.693 631.176 null] +>> endobj +1922 0 obj << +/D [1909 0 R /XYZ 65.161 631.859 null] +>> endobj +1923 0 obj << +/D [1909 0 R /XYZ 56.693 587.354 null] +>> endobj +1924 0 obj << +/D [1909 0 R /XYZ 65.161 588.038 null] +>> endobj +1925 0 obj << +/D [1909 0 R /XYZ 56.693 543.532 null] +>> endobj +1926 0 obj << +/D [1909 0 R /XYZ 65.161 544.216 null] +>> endobj +1927 0 obj << +/D [1909 0 R /XYZ 56.693 499.71 null] +>> endobj +1928 0 obj << +/D [1909 0 R /XYZ 65.161 500.394 null] +>> endobj +1929 0 obj << +/D [1909 0 R /XYZ 65.161 489.435 null] +>> endobj +1930 0 obj << +/D [1909 0 R /XYZ 65.161 478.476 null] +>> endobj +1931 0 obj << +/D [1909 0 R /XYZ 65.161 467.517 null] +>> endobj +1932 0 obj << +/D [1909 0 R /XYZ 65.161 456.558 null] +>> endobj +1933 0 obj << +/D [1909 0 R /XYZ 65.161 445.599 null] +>> endobj +1934 0 obj << +/D [1909 0 R /XYZ 65.161 434.64 null] +>> endobj +1935 0 obj << +/D [1909 0 R /XYZ 65.161 423.682 null] +>> endobj +1936 0 obj << +/D [1909 0 R /XYZ 65.161 412.723 null] +>> endobj +230 0 obj << +/D [1909 0 R /XYZ 56.693 377.004 null] +>> endobj +1937 0 obj << +/D [1909 0 R /XYZ 56.693 350.451 null] +>> endobj +1938 0 obj << +/D [1909 0 R /XYZ 56.693 308.446 null] +>> endobj +1939 0 obj << +/D [1909 0 R /XYZ 65.161 309.129 null] +>> endobj +1940 0 obj << +/D [1909 0 R /XYZ 65.161 298.171 null] +>> endobj +1941 0 obj << +/D [1909 0 R /XYZ 56.693 254.06 null] +>> endobj +1942 0 obj << +/D [1909 0 R /XYZ 65.161 254.349 null] +>> endobj +1943 0 obj << +/D [1909 0 R /XYZ 56.693 209.844 null] +>> endobj +1944 0 obj << +/D [1909 0 R /XYZ 65.161 210.527 null] +>> endobj +1945 0 obj << +/D [1909 0 R /XYZ 56.693 166.416 null] +>> endobj +1946 0 obj << +/D [1909 0 R /XYZ 65.161 166.705 null] +>> endobj +1947 0 obj << +/D [1909 0 R /XYZ 56.693 122.2 null] +>> endobj +1948 0 obj << +/D [1909 0 R /XYZ 65.161 122.883 null] +>> endobj +1949 0 obj << +/D [1909 0 R /XYZ 65.161 111.924 null] +>> endobj +1950 0 obj << +/D [1909 0 R /XYZ 65.161 100.966 null] +>> endobj +1908 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F95 923 0 R /F52 695 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1953 0 obj << +/Length 3097 +/Filter /FlateDecode +>> +stream +xÚí[ësÛ6ÿӛ¹“f"„ß¹™›I/¦MŸ£Îõ&éX„$N(Rå#Žû×ß. DZŽi+ºÞ‡|° â±X,~»Ø…–®³r\çåÙ÷ó³Ç/×IXŠÐ™/P°0rbî1/ræ©ó~r¡r%k5‰À¼)USqYVThÖ¦ñY¹ø¾,?Ò˯ï^O›ÿÓÌ8gIµwÍu®êµRMÍ0;wb˜=ôpv?ŒX$bg°$2ó{>ŒâÉczpâÀ³çó³ßÏ8wî! ωÎBW8‹ÍÙûß\'…6`€ùIì\éž'à.^åÜywö¯3×HÂíID8Ð- +-KÜOwCb*a‘æÂsÞϸ뺓ó©çNd%7vuû²QŸyB¹•Û²Ìór*‚ÉUV¬¨j±–ÅÊJz-§Â|šò`bF\*UPi#SSה»íÐsÏ»¹yì³(Âuë¹··ñèÅÌ ºnuV,Ô`—9‹|æR¹"l°¾,fBxŒ{ +LʉÖ!‚¡Ì™O용|5å ǚ^peø”iJ…,XÙ6Û¶a—ªiT5 ‚ ÛÖLò2W¦—^£ÂVߝ<†]nÖԚ5†zª–z²6o¨ân…Ì[ÃJ­š>¨ªd@Š¯–¦É®a0¶¶ßÉ9ªLÌü0î«Ín-3/à“¬¦gQ3dVçEÑd¡ªFfµmdõ±Ýî÷µ¹TiŠÒµ¦§’‹5•VªP•llà–Æm%n VÕ­íÛ¬eC¥ó²nÞ-ªlÛPoZ µ-«rcû«Õ–a6ßÖpµIðB0/N, 冧€ë.ã¸Ú8ùÜ7\ú :´¬»ÊòœJï¼MMµ¤~E B2£qÿð© +ÀæBmT¨Á^©ª³U‚Ò³”†Þf[•¨§VY±«^8¶þÞʾ¡É€ÓG-kCž˜ö]bšê.¯m·a§[PëÅpÞ [/baÐÁ6?ˆ’É¿§ þӋ7¯Þ¼|BÎɪ;3ŽÆöÄÔǧˆü‰Åa¦…5¸!3ÛggTðŒù5•Ê‚žK%›¶ÒǐˆHÅz½X¨·j‘}p]± w}ÁsU¼Á.i$ïå›_Lۆ°3ô +Ãã)@˦ã֔Ê%=¿[ä²>›:[|‡'T0y:åœOæÓk³Ç¼’ »@a]›JÓ¨O,¤ªÊp÷ƔQÁkØ0Þ`w*6Gá1„}z+X0€ÂâuÙR¡SýFǓf´ˆ6JÜm¼vjNCИaéÒ©”L±Ã!Á”î±'¸Þc|Ö×u£6u¿òjiýÂ@êöö_»=ŗÁžbp\ÓKfègEÝÈxD¨6fZ¤é$¿ÎŠös;Ô á“« ‰ÕDVõú±¤‘b Ö®åd'ýFXOvrØUÆv? Dîs/´§ˆ ì>àp\O2Ž7ô*y0â|?Öã¶_fíŠ@L‚É›·èì̟?¡æ¹åzÏ/Ñë[þזPÏĄmoDœ°Àû'¤5©™›°gtx"Öèb۞ÑÅ&2ºØ`dZ` ž$ÌÉHïÙPp&¯ 'kiX,JzªŽwÃjAõ;–£>Ë᤭É1ßñM^¼¥ŠK¹øˆ©*RvpÑ–¹ù«ó à!ã¾íòÄØùˆ$IÂÿpWْi\È¢/aªîïEÐÛ +Ú¢}‹Y Íä#a•=-ª¶(†‹ˁ㏪Ãð¾Çžu!·ì ã·TЧ¬fá] ۚsi_(¡Š „1,A_€°8í^pž½ B',Œ²®M”ÓÉ`?ºK…]ƒ‡È–³­Å6]ÒLf±ƒ+ǘCŒ¢ŽãÛb¬OY˜™.Jðsa©!aïyݔLž„_UÖÀªØ¦Lû¼É‰&ˆÉâãe?þx©Â `)„Èc}àÂ+˜Áðà+å,÷îµÃµ7'!PŒìD˜cïcé€W>¤¸T€ÀÆÌ°‚‡–|f5ÁjåPáÂÜNôvÔ2î¹Ìõ ÈÍîõ€p“„߸ó¸Åãzê#b\׶¦Pöîžà1Žê‡Qø8‚êóȞiVÁ!•ÅàVbÂÆÂ]x,‚ƒç¸ßò¼y/g.¡(xâÚþ3xtRå:ܐ›¦.ŽU{µ‘YÎð_SÚ`òêï'œ¹Ü;úû1 <ðO¦þúÇ©ÿñ̎W?ö˜çX<Õ¡ù((ÔÕW×} ¢[TêÀ˜ Áíö®ÊîæžQÁŸÕÏ84~˜0ZO†à>ý#|4³÷@p„÷|!ø\6ŽÛ_Œ&Fõ<—e>ò°ù"ù<ÏÆcRúg^Öª^qcË_„‡™ŽG ¸Žnô¿Ùú˜F>‚ï~ +±s<4¿,ÀßÆ¢;ò˵.¶Û¤»XuÑmy¿b»(7›²ÀÈÖöeëwIU¾]gF¨Á‹>Á°û%ðƒërà‹»]‰Si\´€¿ÜF1?],¢˜ÅBœì€Ð?î€9žÙñA²ˆA@ü[ü§É"ŒXžîêf@ÿHTËì­nˆ8ãÁ· ùÿ$Hpî'îé®nôDå±ÌގÊÐeܺ=߂äoAòŸ$c~VâŸîòj@ÿH½<–ÙÛõÂáy߂äoAò­Š"tþç ƒd …©°» Y¸èج&wŸ§E1}ž†t¾oãÈÃa3(€ýµsnÒ¬»h“^ÌW¦)Û âea31€nMlùïŸ)œ*(=Ðr®¿˜5h‚àUAIô}“xߋݟ ‚Û ¬i/fjÛ^š™e…é©«AþÔ@&øQõ“|ÏqM²Åìê8ÑVNMžsZ^*“î UôUôû §tÞ4Ö¿ÐDÖùªR{û· …ÛsO±ÃÏ*ÍäŽNÿn ¦ea¾Ø€fº:ÀjóùQ¼ûî¤>pMáÅÁ~&Éå@ +¦`éR0ÓrÑÚOâ¨K1pf>Üx~?¥´÷ÕcVÐ'<˜ÂùÔ\©Hˆöå¬RK2°×¨\¯A'¬LO­ñæ¦ÆB*¯ËáUÍþ'¬Kx‡‚Ç}„å‹ÃSgÖÂÎJSªÕ©¬±¡ù´j ¯P˜Û«¢QU¡¹•9U=ËVYc_ÎÛË<«×„jx×_Ví†^qï_=;a¾5¹ä`ª¦¢»'ÍfÚçβ_×å"뜒a†ÿÍORӎEØ>‹ZÞi[7Õõ4 &}&öÓWi4ySZm”—¥Ín:Ë¡•,ÖJfwòÀ•™Àok»+(ܜÇϟ>ûùyO3}Øê»Ì “‡|×ú_â9ê +endstream +endobj +1952 0 obj << +/Type /Page +/Contents 1953 0 R +/Resources 1951 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 1839 0 R +>> endobj +1954 0 obj << +/D [1952 0 R /XYZ -11.232 900.716 null] +>> endobj +234 0 obj << +/D [1952 0 R /XYZ 56.693 759.068 null] +>> endobj +1955 0 obj << +/D [1952 0 R /XYZ 56.693 738.489 null] +>> endobj +1956 0 obj << +/D [1952 0 R /XYZ 56.693 540.31 null] +>> endobj +1957 0 obj << +/D [1952 0 R /XYZ 65.161 540.994 null] +>> endobj +1958 0 obj << +/D [1952 0 R /XYZ 56.693 494.012 null] +>> endobj +1959 0 obj << +/D [1952 0 R /XYZ 65.161 494.301 null] +>> endobj +1960 0 obj << +/D [1952 0 R /XYZ 65.161 483.342 null] +>> endobj +1961 0 obj << +/D [1952 0 R /XYZ 56.693 435.966 null] +>> endobj +1962 0 obj << +/D [1952 0 R /XYZ 65.161 436.649 null] +>> endobj +1963 0 obj << +/D [1952 0 R /XYZ 65.161 425.69 null] +>> endobj +1964 0 obj << +/D [1952 0 R /XYZ 65.161 414.731 null] +>> endobj +1965 0 obj << +/D [1952 0 R /XYZ 65.161 403.773 null] +>> endobj +238 0 obj << +/D [1952 0 R /XYZ 56.693 366.685 null] +>> endobj +1966 0 obj << +/D [1952 0 R /XYZ 56.693 339.175 null] +>> endobj +1967 0 obj << +/D [1952 0 R /XYZ 56.693 292.385 null] +>> endobj +1968 0 obj << +/D [1952 0 R /XYZ 65.161 293.069 null] +>> endobj +1969 0 obj << +/D [1952 0 R /XYZ 65.161 282.11 null] +>> endobj +1970 0 obj << +/D [1952 0 R /XYZ 65.161 271.151 null] +>> endobj +1971 0 obj << +/D [1952 0 R /XYZ 65.161 260.192 null] +>> endobj +242 0 obj << +/D [1952 0 R /XYZ 56.693 222.032 null] +>> endobj +1972 0 obj << +/D [1952 0 R /XYZ 56.693 185.911 null] +>> endobj +1951 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F52 695 0 R /F93 909 0 R /F95 923 0 R /F57 739 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1975 0 obj << +/Length 2206 +/Filter /FlateDecode +>> +stream +xÚÅ[YsÛ8~÷¯`ÍÃU5Fà±ûädrÌ®3G¬­ªx ’ñPxÄöþúm´%ʎAÓô¼˜Ðl4úøº¤±³v°óþäõüäÕ;†Å œùÊ ( +B'"òBgž8ŸÝO"¼³SÊ°ûkوZß®ÊJß43ùs¹|]–[ýãϋóÙ_óÁ2§„ ˜1Íí¢¹ÉD½¢©å4¬NœV<¹º„(¤‘sÊPšõ= ÃÈ}¥/„òÁ“·ó“¯'Øc‡8,@Aì9aLP€©³ÌO>ÿ…æ@äǑs¥(s‡Œ¨À}æ\œüq‚&ðFÂ=t¼ýh™þü0ÿx®÷I1jàՌ`w-%_Ç°§_꣇‡:™Ï"ì–À%ˆÝºÝíʪ‘{Å.»v¡Ç˶ٵÍOrÜw¹¡mªtiH;‰`XK7J¢HI¤~ox­‰Bzˆ'‰HÐìÔ "w®ì¨øÞÙH hS‡ÒÔi½/aR =½…¨x#3^$wû¾`´øµMã:uš§ïªì9֞ºïö„újÞ7Ú魞cEz¹÷¢hÄu£ù´»„KW¶5•ùL?]´ùBi˕¾få’g]pløŒb÷ی0×ìÁèüvéd°üŸÊ¶HÀä;Í&ÍwJ¥ôºoòÈa‡ƒ·¤¼/2¡œËs/1¦ë¶Ò?©Ûˆ|—qe'ð‘ú¦XVe‘þ7iY˜'Œ#w¹á_6J3’Xú‘¾•Â–RZ%ZP5ÓÓŒtÞ¹9OľÂÐU¬T‰vöÈýQ_~—Ï󵨕/ûî… £{H¹|Â~ۉâ·ÕŒ2µû¥@¥ö²6"šû»´ª›[ej§JW‡ÎϤ‹ë:3ôà›¢¨%é@ü§ôh Ô=#®Ž\=$¤ZnÙª!µgvjÖz>s¯ª´iD¡§RCûûM³QV– +=䬶œïЃy¡F9}Ϛimè5Ū-–M_ ÉíK º#°üZ,ˬ͋ûŒx•&ÍÆÄZjtûæìü¢ pgå +BèL ~§GB¨â†5¿[Ýׯ>½=ûùã[tþËkHas“¤öM@âuOÞúP^V¢seuå@à)QŒÂ˜Â C]^›wè¶*³¬”¾w¥6®8Ô=7é|ªóˆ´b݁M³áÍã°c‚Im±=ˆ%(ôÕ÷•ÎøGÎOHž!‹•À ž›Šõn`†Ð;ŸO ÆX£®v‰{t‰Uy”<®“ƒ-Ûmt?‘Üã‘Æ:C®Mz8Ò ½[ƒ/ËQz„ SYIÄÚ£¿KJYOß ¬ªŒ|)C„ü êDø˜‚2Dv‰nrø ù>U_äi³ùÇì”PÜ¥£Wi‚®óLs‡—ÌååýaýU ©ãGRՓej1?p N¢Ø©„³Ú/—xÝ?zÌ>dˆú¤[@3&’z,†H@úüc€ÒlVØ/%Óø„U «µ£o>™ÚòÀª·‚GˆQ“æßlÄr jߎyAxI“§…]‰X¥EÚXW~¶bh‹5¯Áp¿ |<> ØŽÂ—Ä®ØgÓbD±‚~€È8Fx2$Âé0âÿHŒ-ìŒðÀÀÝ)֛²ªÄÒº4È òiùÚ2›«s ++ʕ-ú‹'Ç%ìö§¡G>…¥*Q7ee«´<­ë´W+™©ƺáUóµ-›£]üðý]lÅÍS«ϓ×øE‘ ÇÈcÞ´Èô…@&Cè±é‰F°0˜ ™züÇ!Óxa푉ÆRR¿C¦|HÓ2ISö…?ÿ±Ò*ŒK«ª´<:ÛòujÙé” ~ÃëMj_Ÿé%’ÄRˋ +º¹Þ»è‰ÒY2æ•|i ¾¼¸1'ïlÏãü(†>-î°äûØPE{T!¸>íhNmñ# #äò¾´ýØùþüqÈ®ùPÈÛr½ þI¶2b ˆØaaS²\Wbe[óC-–Ö¨ _bÙ5©¥÷¥%Ç ÿ&l¥ùÀ~ƒ‚9لírÿȄ3ZØ 'ˆQÔµË ±*+ñÔ҉b/ÚÓQÃSõtùVÜ¥ªÇ·ïA„NÙÎQù‰Ã„í\ÿH+ìÃK=Dºæí;ÝCQ솔0¶/°Šòj`ÓÓkïîÄ~ÜI€¢—m]Hì#¯³|?QVWbm}ÞøºÜ旞Ï2Ëb¡âEñ£cÒÇËü9ôSÛgn§>€0v”ïJ ZL6¼]?5{“#E/Š~ˆ¼€NŒ¥DÎö ~ ¢xÐùþ„ˆB!p¢éÞM÷øD”ÑÂ@£04Ùe',ÏGsQ×Öç³öç +/¹‰,õ¹µe½’ˆ¢IW©­N£Â£æÅCþ#½x´°¼˜D("&/N›ëŽ^Ú?¥ØTÏHdý^iÝ ]è¸W°ý> endobj +1976 0 obj << +/D [1974 0 R /XYZ -16.307 900.716 null] +>> endobj +246 0 obj << +/D [1974 0 R /XYZ 56.693 563.932 null] +>> endobj +1977 0 obj << +/D [1974 0 R /XYZ 56.693 535.591 null] +>> endobj +1978 0 obj << +/D [1974 0 R /XYZ 56.693 489.198 null] +>> endobj +1979 0 obj << +/D [1974 0 R /XYZ 65.161 489.487 null] +>> endobj +1980 0 obj << +/D [1974 0 R /XYZ 56.693 442.507 null] +>> endobj +1981 0 obj << +/D [1974 0 R /XYZ 65.161 442.796 null] +>> endobj +1982 0 obj << +/D [1974 0 R /XYZ 56.693 395.816 null] +>> endobj +1983 0 obj << +/D [1974 0 R /XYZ 65.161 396.105 null] +>> endobj +1984 0 obj << +/D [1974 0 R /XYZ 56.693 349.125 null] +>> endobj +1985 0 obj << +/D [1974 0 R /XYZ 65.161 349.414 null] +>> endobj +1986 0 obj << +/D [1974 0 R /XYZ 56.693 302.04 null] +>> endobj +1987 0 obj << +/D [1974 0 R /XYZ 65.161 302.723 null] +>> endobj +1988 0 obj << +/D [1974 0 R /XYZ 65.161 280.805 null] +>> endobj +1989 0 obj << +/D [1974 0 R /XYZ 56.693 233.825 null] +>> endobj +1990 0 obj << +/D [1974 0 R /XYZ 65.161 234.114 null] +>> endobj +1991 0 obj << +/D [1974 0 R /XYZ 56.693 187.134 null] +>> endobj +1992 0 obj << +/D [1974 0 R /XYZ 65.161 187.423 null] +>> endobj +1993 0 obj << +/D [1974 0 R /XYZ 56.693 140.443 null] +>> endobj +1994 0 obj << +/D [1974 0 R /XYZ 65.161 140.732 null] +>> endobj +1995 0 obj << +/D [1974 0 R /XYZ 65.161 129.773 null] +>> endobj +1996 0 obj << +/D [1974 0 R /XYZ 65.161 118.814 null] +>> endobj +1973 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F57 739 0 R /F93 909 0 R /F52 695 0 R /F95 923 0 R /F98 924 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1999 0 obj << +/Length 2242 +/Filter /FlateDecode +>> +stream +xÚÕ\moã¸þž_!\?ÔÎ\¾‹º¢@oïí]‹^\Ñí¡PdÚÖF–r’œ¬ûë;²å½XŽ×ÃPLÓO–mz8Î3ó̐¾»x{}ñæ[E£„$šëèziNt&ˆˆ£ëYônò“-lÚØË)WtòתµÍîr^Õ»‹vÙùu•½­ªÛݛ\ýpùËõŸaš)c$Qj'íªÝ¶YZÛ6Ý×0;‹ Ì®E7»Ô1‰¹‰¦Š$q?¿Ð 06“7»Æu÷Ëo®/~½` žF,RšèDDqˆ¦<ÊVï~¡Ñ ¾ˆLLô°¹Š£„ ×Etuñ÷ Ú[‚‚ŠÝe÷òÝ#É`ó(– aTw’»Ï=¥Ž8ILÕ6šŸ…@Âd¼Ÿ`'˜u£}å+Â4ÊW”‘XÔ Í¬I“”Ý +¬Ñîâ§Þa ·¾ ·žØ+.‘¢÷ž¯ªòÞÖ­m]à´´èÝTS:yŸŒ¤ÿàø“«'µ©ÖufqcçyÙV¸që)°¶)ò†ÖežU3¤Øl™ÖiÖÚºÁZëp܁?€xfL8$Ê÷D‚·²HÊb½CB»L[¤c-‘+ «ºÆºÌ¢ØÜ-Ÿé'Ýð7îaiKÜÈMµÆ ´³iMô8¤Š)rí‡+™1Ç4áàÎÁ0w(ßs¾ÊžFKˆb=ïøUôt¶È˦µ)2Uó‘¡ú1cSÁÜÖ¶Ìl3̇p“¬Ï‰'„K +tâõ˜…ö|N' É~=8WêÖÐ .EwƒÌÁD¶èÖ°]u7y¹5ÄÕ*o—_\N‡7E•¥…}ó>%SÿYhÃÀy ŽŸšp

in

). + + + ● Mauritz Jeanson: titlepage.xsl + + Added default sidebar attribute-sets. + + + ● Robert Stayton: table.xsl + + Fix bug 2979166 able - Attribute @rowheader not working + + + ● Robert Stayton: footnote.xsl + + Fix bug 3033191 footnotes in html tables. + + + ● Mauritz Jeanson: inline.xsl + + Improved glossterm auto-linking by using keys. The old code was inefficient when processing documents + with many inline glossterms. + + + ● Robert Stayton: docbook.css.xml; verbatim.xsl + + Fix bug 2844927 Validity error for callout bugs. + + + ● Robert Stayton: formal.xsl + + Convert formal.object.heading to respect make.clean.html param. + + + ● Robert Stayton: titlepage.templates.xml; block.xsl + + Fix bug 2840768 sidebar without title inserts empty b tag. + + + ● Mauritz Jeanson: docbook.xsl + + Moved the template that outputs so that the base URI also applies to relative CSS paths that come later. + See patch #2896121. + + + ● Jirka Kosek: autoidx-kosek.xsl + + Upgraded to use common entities. Fixed bug when some code used @sortas and some not for grouping/sorting of indexterms. + + + ● Robert Stayton: chunk-code.xsl + + fix bug 2948363 generated filename for refentry not unique, when + used in a set. + + + ● Robert Stayton: component.xsl + + Fix missing "Chapter n" label when use chapter/info/title. + + + ● Robert Stayton: table.xsl + + Row recursion turned off if no @morerows attributes in the table. + This will prevent failure on long table (with no @morerows) due + to excessive depth of recursion. + + + ● Robert Stayton: autotoc.xsl; docbook.css.xml + + Support make.clean.html in autotoc.xsl. + + + ● Robert Stayton: docbook.css.xml; block.xsl + + Add support for make.clean.html setting in block elements. + + + ● Robert Stayton: docbook.css.xml + + Stock CSS styles for DocBook HTML output when 'make.clean.html' is non-zero. + + + ● Robert Stayton: html.xsl + + Add templates for generating CSS files and links to them. + + + ● Robert Stayton: param.xweb + + Fix bugs in new entity references. + + + ● Robert Stayton: chunk-common.xsl + + List of Equations now includes on equations with titles. + + + ● Robert Stayton: table.xsl + + If a colspec has a colname attribute, add it to the HTML col + element as a class attribute so it can be styled. + + + ● Robert Stayton: formal.xsl + + Fix bug 2825842 where table footnotes not appearing in HTML-coded table. + + + ● Robert Stayton: chunktoc.xsl + + Fix bug #2834826 where appendix inside part was not chunked as it should be. + + + ● Mauritz Jeanson: chunktoc.xsl + + Added missing namespace declarations. Closes bug #2890069. + + + ● Mauritz Jeanson: footnote.xsl + + Updated the template for footnote paras to use the 'paragraph' template. Closes bug #2803739. + + + ● Keith Fahlgren: inline.xsl; lists.xsl + + Remove and elements "discouraged in favor of style sheets" from + XHTML, XHTML 1.1 (and therefore EPUB) outputs by changing html2xhtml.xsl. + + Fixes bug #2873153: No and tags in XHTML/EPUB + + Added regression to EPUB specs: + + + ● Mauritz Jeanson: inline.xsl + + Fixed bug #2844916 (don't output @target if ulink.target is empty). + + + ● Keith Fahlgren: autoidx.xsl + + Fix a bug when using index.on.type: an 'index symbols' section was created + even if that typed index didn't include any symbols (they were in the other types). + + +Manpages + +The following changes have been made to the manpages code since the 1.75.2 +release. + + ● Mauritz Jeanson: other.xsl + + Modified the write.stubs template so that the section directory name is not output twice. Should fix bug #2831602. + Also ensured that $lang is added to the .so path (when man.output.lang.in.name.enabled=1). + + + ● Mauritz Jeanson: docbook.xsl; other.xsl + + Fixed bug #2412738 (apostrophe escaping) by applying the submitted patch. + + + ● Norman Walsh: block.xsl; endnotes.xsl + + Fix bug where simpara in footnote didn't work. Patch by Jonathan Nieder, jrnieder@gmail.com + + + ● dleidert: lists.xsl + + Fix two indentation issues: In the first case there is no corresponding .RS + macro (Debian #519438, sf.net 2793873). In the second case an .RS instead of + the probably intended .sp leads to an indentation bug (Debian #527309, + sf.net #2642139). + + +Epub + +The following changes have been made to the epub code since the 1.75.2 release. + + ● Keith Fahlgren: bin/spec/examples/AMasqueOfDays.epub; docbook.xsl; bin/spec + /epub_spec.rb + + Resolve some actual regressions in date output spotted by more recent versions of epubcheck + + + ● Keith Fahlgren: docbook.xsl + + Updated mediaobject selection code that better uses roles (when available); based on contributons by Glenn McDonald + + + ● Keith Fahlgren: bin/spec/epub_regressions_spec.rb; docbook.xsl + + Ensure that NCX documents are always outputted with a default namespace + to prevent problems with the kindlegen machinery + + + ● Keith Fahlgren: bin/spec/epub_regressions_spec.rb; bin/spec/files/ + partintro.xml; docbook.x⋯ + + Adding support for partintros with sect2s, 3s, etc + + + ● Keith Fahlgren: docbook.xsl + + Adding param to workaround horrific ADE bug with the inability to process
+ + + ● Keith Fahlgren: docbook.xsl + + Add support for authorgroup/author in OPF metadata (via Michael Wiedmann) + + + ● Keith Fahlgren: bin/spec/epub_regressions_spec.rb + + Remove and elements "discouraged in favor of style sheets" from + XHTML, XHTML 1.1 (and therefore EPUB) outputs by changing html2xhtml.xsl. + + Fixes bug #2873153: No and tags in XHTML/EPUB + + Added regression to EPUB specs: + + + ● Keith Fahlgren: bin/lib/docbook.rb; bin/spec/files/DejaVuSerif-Italic.otf; + docbook.xsl; bi⋯ + + This resolves bug #2873142, Please add support for multiple embedded fonts + + + If you navigate to a checkout of DocBook-XSL and go to: + xsl/epub/bin/spec/files + You can now run the following command: + + ../../dbtoepub -f DejaVuSerif.otf -f DejaVuSerif-Italic.otf -c test.css + -s test_cust.xsl orm.book.001.xml + + In dbtoepub, the following option can be used more than once: + -f, --font [OTF FILE] Embed OTF FILE in .epub. + + The underlying stylesheet now accepts a comma-separated list of font file + names rather than just one as the RENAMED epub.embedded.fonts ('s' added). + + The runnable EPUB spec now includes: + - should be valid .epub after including more than one embedded font + + + ● Keith Fahlgren: docbook.xsl + + Improve the selection of cover images when working in DocBook 4.x land (work in progress) + + + ● Keith Fahlgren: bin/spec/epub_regressions_spec.rb; docbook.xsl + + Improve the quality of the OPF spine regression by ensuring that the spine + elements for deeply nested refentries are in order and adjacent to their + opening wrapper XHTML chunk. + + + ● Keith Fahlgren: bin/spec/epub_regressions_spec.rb; docbook.xsl; bin/spec/ + files/orm.book.00⋯ + + Add more careful handling of refentries to ensure that they always appear in the opf:spine. + This was only a problem when refentries were pushed deep into the hierarchy (like inside + a sect2), but presented navigational problems for many reading systems (despite the + correct NCX references). This may *not* be the best solution, but attacking a better + chunking strategy for refentries was too big a nut to crack at this time. + + +Eclipse + +The following changes have been made to the eclipse code since the 1.75.2 +release. + + ● Mauritz Jeanson: eclipse3.xsl + + Added a stylesheet module that generates plug-ins conforming to the standard (OSGi-based) Eclipse 3.x + architecture. The main difference to the older format is that metadata is stored in a separate + manifest file. The module imports and extends the existing eclipse.xsl module. Based on code + contributed in patch #2624668. + + +Params + +The following changes have been made to the params code since the 1.75.2 +release. + + ● Robert Stayton: draft.watermark.image.xml + + Fix bug 2922488 draft.watermark.image pointing to web resource. + Now the value is images/draft.png, and may require customization + for local resolution. + + + ● Mauritz Jeanson: equation.number.properties.xml + + Corrected refpurpose. + + + ● Norman Walsh: paper.type.xml + + Added USlegal and USlegallandscape paper types. + + + ● Jirka Kosek: highlight.xslthl.config.xml + + Added note about specifying location as URL + + + ● Robert Stayton: docbook.css.source.xml; generate.css.header.xml; + custom.css.source.xml; ma⋯ + + Params to support generated CSS files. + + + ● Robert Stayton: equation.number.properties.xml + + New attribute set for numbers appearing next to equations. + + +XSL-Xalan + +The following changes have been made to the xsl-xalan code since the 1.75.2 +release. + + ● dleidert: nbproject/genfiles.properties; nbproject/build-impl.xml + + Rebuild netbeans build files after adding missing Netbeans configuration to allow easier packaging for Debian. + + +Release Notes: 1.75.2 + +The following is a list of changes that have been made since the 1.75.1 +release. + +Gentext + +The following changes have been made to the gentext code since the 1.75.1 +release. + + ● dleidert: locale/ja.xml + + Improved Japanese translation for Note(s). Closes bug #2823965. + + ● dleidert: locale/pl.xml + + Polish alphabet contains O with acute accent, not with grave accent. Closes bug #2823964. + + ● Robert Stayton: locale/ja.xml + + Fix translation of "index", per bug report 2796064. + + ● Robert Stayton: locale/is.xml + + New Icelandic locale file. + +Common + +The following changes have been made to the common code since the 1.75.1 +release. + + ● Norman Walsh: stripns.xsl + + Support more downconvert cases + + ● Robert Stayton: titles.xsl + + Make sure title inside info is used if no other title. + +FO + +The following changes have been made to the fo code since the 1.75.1 release. + + ● Robert Stayton: pi.xsl + + Turn off dbfo-need for fop1.extensions also, per bug #2816141. + +HTML + +The following changes have been made to the html code since the 1.75.1 release. + + ● Mauritz Jeanson: titlepage.xsl + + Output "Copyright" heading in XHTML too. + + ● Mauritz Jeanson: titlepage.xsl + + Added stylesheet.result.type test for copyright. Closes bug #2813289. + + ● Norman Walsh: htmltbl.xsl + + Remove ambiguity wrt @span, @rowspan, and @colspan + +Manpages + +The following changes have been made to the manpages code since the 1.75.1 +release. + + ● Mauritz Jeanson: endnotes.xsl + + Added normalize-space() for ulink content. Closes bug #2793877. + + ● Mauritz Jeanson: docbook.xsl + + Added stylesheet.result.type test for copyright. Closes bug #2813289. + +Epub + +The following changes have been made to the epub code since the 1.75.1 release. + + ● Keith Fahlgren: bin/dbtoepub; bin/lib/docbook.rb + + Corrected bugs caused by path and file assumptions were not met + + ● Keith Fahlgren: bin/lib/docbook.rb; docbook.xsl + + Cleaning up hardcoded values into parameters and fixing Ruby library to pass them properly; all thanks to patch from Liza Daly + +Profiling + +The following changes have been made to the profiling code since the 1.75.1 +release. + + ● Robert Stayton: profile.xsl + + Fix bug 2815493 missing exsl.node.set.available parameter. + +XSL-Saxon + +The following changes have been made to the xsl-saxon code since the 1.75.1 +release. + + ● Mauritz Jeanson: src/com/nwalsh/saxon/ColumnUpdateEmitter.java; src/com/ + nwalsh/saxon/Colum⋯ + + Added fixes so that colgroups in the XHTML namespace are processed properly. + +XSL-Xalan + +The following changes have been made to the xsl-xalan code since the 1.75.1 +release. + + ● Mauritz Jeanson: nbproject/project.xml + + Added missing NetBeans configuration. + +Release Notes: 1.75.1 + +This release includes bug fixes. + +The following is a list of changes that have been made since the 1.75.0 +release. + +FO + +The following changes have been made to the fo code since the 1.75.0 release. + + ● Keith Fahlgren: block.xsl + + Switching to em dash for character before attribution in epigraph; resolves Bug #2793878 + + ● Robert Stayton: lists.xsl + + Fixed bug 2789947, id attribute missing on simplelist fo output. + +HTML + +The following changes have been made to the html code since the 1.75.0 release. + + ● Keith Fahlgren: block.xsl + + Switching to em dash for character before attribution in epigraph; resolves Bug #2793878 + + ● Robert Stayton: lists.xsl + + Fixed bug 2789678: apply-templates line accidentally deleted. + +Epub + +The following changes have been made to the epub code since the 1.75.0 release. + + ● Keith Fahlgren: bin/spec/epub_regressions_spec.rb; docbook.xsl + + Added regression and fix to correct "bug" with namespace-prefixed container elements in META-INF/container.xml ; resolves Issue #2790017 + + ● Keith Fahlgren: bin/spec/epub_regressions_spec.rb; bin/spec/files/ + onegraphic.xinclude.xml;⋯ + + Another attempt at flexible named entity and XInclude processing + + ● Keith Fahlgren: bin/lib/docbook.rb + + Tweaking solution to Bug #2750442 following regression reported by Michael Wiedmann. + +Params + +The following changes have been made to the params code since the 1.75.0 +release. + + ● Mauritz Jeanson: highlight.source.xml + + Updated documentation to reflect changes made in r8419. + +Release Notes: 1.75.0 + +This release includes important bug fixes and adds the following significant +feature changes: + +Gentext + + Modifications to translations have been made. + +Common + + Added support for some format properties on tables using HTML table markup. + + Added two new qanda.defaultlabel values so that numbered sections and + numbered questions can be distinguished. Satisfies Feature Request # + 1539045. + + Added code to handle acknowledgements in book and part. The element is + processed similarly to dedication. All acknowledgements will appear as + front matter, after any dedications. + +FO + + The inclusion of highlighting code has been simplified. + + Add support for pgwide on informal objects. + + Added a new parameter, bookmarks.collapse, that controls the initial state + of the bookmark tree. Closes FR #1792326. + + Add support for more dbfo processing instructions. + + Add new variablelist.term.properties to format terms, per request # + 1968513. + + Add support for @width on screen and programlisting, fixes bug #2012736. + + Add support for writing-mode="rl-tb" (right-to-left) in FO outputs. + + Add writing.mode param for FO output. + +HTML + + Convert all calls to class.attribute to calls to common.html.attributes to + support dir, lang, and title attributes in html output for all elements. + Fulfills feature request #1993833. + + Inclusion of highlighting code was simplified. Only one import is now + necessary. + + Add new param index.links.to.section. + + Add support for the new index.links.to.section param which permits precise + links to indexterms in HTML output rather than to the section title. + +ePub + + Slightly more nuanced handling of imageobject alternatives and better + support in dbtoepub for XIncludes and ENTITYs to resolve Issue #2750442 + reported by Raphael Hertzog. + + Added a colon after an abstract/title when mapping into the dc:description + for OPF metadata in ePub output to help the flat text have more + pseudo-semantics (sugestions from Michael Wiedmann) + + Added DocBook subjectset -> OPF dc:subject mapping and tests + + Added DocBook date -> OPF dc:date mapping and tests + + Added DocBook abstract -> OPF dc:description mapping and tests + + Added --output option to dbtoepub based on user request + +HTMLHelp + + Add support for generating olink target database for htmlhelp files. + +Params + + Add default setting for @rules attribute on HTML markup tables. + + Added a new parameter, bookmarks.collapse, that controls the initial state + of the bookmark tree. When the parameter has a non-zero value (the + default), only the top-level bookmarks are displayed initially. Otherwise, + the whole tree of bookmarks is displayed. This is implemented for FOP 0.9X. + Closes FR #1792326. + + Add new variablelist.term.properties to format terms, per request # + 1968513. + + Add two new qanda.defaultlabel values so that numbered sections and + numbered questions can be distinguished. Satisfies Feature Request # + 1539045. + + Add param to control whether an index entry links to a section title or to + the precise location of the indexterm. + + New attribute list for glossentry in glossary. + + New parameter to support @width on programlisting and screen. + + Add attribute-sets for formatting glossary terms and defs. + +Highlighting + + Inclusion of highlighting code was simplified. Only one import is now + necessary. + +The following is a list of changes that have been made since the 1.74.3 +release. + +Gentext + +The following changes have been made to the gentext code since the 1.74.3 +release. + + ● Robert Stayton: locale/sv.xml; locale/ja.xml; locale/pl.xml + + Check in translations of Legalnotice submitted on mailing list. + + ● Robert Stayton: locale/es.xml + + Fix spelling errors in Acknowledgements entries. + + ● Robert Stayton: locale/es.xml + + Check in translations for 4 elements submitted through docbook-apps + message of 14 April 2009. + + ● David Cramer: locale/zh.xml; locale/ca.xml; locale/ru.xml; locale/ga.xml; + locale/gl.xml; l⋯ + + Internationalized punctuation in glosssee and glossseealso + + ● Robert Stayton: Makefile + + Check in fixes for DSSSL gentext targets from submitted patch #1689633. + + ● Robert Stayton: locale/uk.xml + + Check in major update submitted with bug report #2008524. + + ● Robert Stayton: locale/zh_tw.xml + + Check in fix to Note string submitted in bug #2441051. + + ● Robert Stayton: locale/ru.xml + + Checkin typo fix submitted in bug #2453406. + +Common + +The following changes have been made to the common code since the 1.74.3 +release. + + ● Robert Stayton: gentext.xsl + + Fix extra generated space when xrefstyle includes 'nopage'. + + ● Robert Stayton: table.xsl + + Add support for some format properties on tables using + HTML table markup. These include: + - frame attribute on table (or uses $default.table.frame parameter). + - rules attribute on table (or uses $default.table.rules parameter). + - align attribute on td and th + - valign attribute on td and th + - colspan on td and th + - rowspan on td and th + - bgcolor on td and th + + ● Robert Stayton: olink.xsl + + Add placeholder template to massage olink hot text to make + customization easier, per Feature Request 1828608. + + ● Robert Stayton: targets.xsl + + Add support for collecting olink targets from a glossary + generated from a glossary.collection. + + ● Robert Stayton: titles.xsl + + Handle firstterm like glossterm in mode="title.markup". + + ● Robert Stayton: titles.xsl + + Add match on info/title in title.markup templates where missing. + + ● Mauritz Jeanson: titles.xsl + + Changed "ancestor::title" to "(ancestor::title and (@id or @xml:id))". + This enables proper formatting of inline elements in titles in TOCs, + as long as these inlines don't have id or xml:id attributes. + + ● Robert Stayton: labels.xsl + + Add two new qanda.defaultlabel values so that numbered sections + and numbered questions can be distinguished. Satisfies + Feature Request #1539045. + + ● Robert Stayton: stripns.xsl; pi.xsl + + Convert function-available(exsl:node-set) to use the new param + so Xalan bug is isolated. + + ● Mauritz Jeanson: titles.xsl + + Added fixes for bugs #2112656 and #1759205: + 1. Reverted mistaken commits r7485 and r7523. + 2. Updated the template with match="link" and mode="no.anchor.mode" so that + @endterm is used if it exists and if the link has no content. + + ● Mauritz Jeanson: titles.xsl + + Added code to handle acknowledgements in book and part. The element is processed + similarly to dedication. All acknowledgements will appear as front matter, after + any dedications. + + ● Robert Stayton: olink.xsl + + Fix bug #2018717 use.local.olink.style uses wrong gentext context. + + ● Robert Stayton: olink.xsl + + Fix bug #1787167 incorrect hot text for some olinks. + + ● Robert Stayton: common.xsl + + Fix bug #1669654 Broken output if copyright contains a range. + + ● Robert Stayton: labels.xsl + + Fix bug in labelling figure inside appendix inside article inside book. + +FO + +The following changes have been made to the fo code since the 1.74.3 release. + + ● Jirka Kosek: highlight.xsl + + Inclusion of highlighting code was simplified. Only one import is now necessary. + + ● Robert Stayton: fop1.xsl + + Add the new fop extensions namespace declaration, in case FOP + extension functions are used. + + ● Robert Stayton: formal.xsl + + Add support for pgwide on informal objects. + + ● Robert Stayton: docbook.xsl + + Fixed spurious closing quote on line 134. + + ● Robert Stayton: docbook.xsl; autoidx-kosek.xsl; autoidx.xsl + + Convert function-available for node-set() to use + new $exsl.node.set.available param in test. + + ● David Cramer: xref.xsl + + Suppress extra space after xref when xrefstyle='select: label nopage' (#2740472) + + ● Mauritz Jeanson: pi.xsl + + Fixed doc bug for row-height. + + ● David Cramer: glossary.xsl + + Internationalized punctuation in glosssee and glossseealso + + ● Robert Stayton: param.xweb; param.ent; htmltbl.xsl; table.xsl + + Add support for some format properties on tables using + HTML table markup. These include: + - frame attribute on table (or uses $default.table.frame parameter). + - rules attribute on table (or uses $default.table.rules parameter). + - align attribute on td and th + - valign attribute on td and th + - colspan on td and th + - rowspan on td and th + - bgcolor on td and th + + ● Robert Stayton: table.xsl + + Add support bgcolor in td and th + elements in HTML table markup. + + ● Robert Stayton: htmltbl.xsl + + Add support for colspan and rowspan and bgcolor in td and th + elements in HTML table markup. + + ● Robert Stayton: param.xweb + + Fix working of page-master left and right margins. + + ● Mauritz Jeanson: param.xweb; param.ent; fop1.xsl + + Added a new parameter, bookmarks.collapse, that controls the initial state of the bookmark tree. When the parameter has a non-zero value (the default), only the top-level bookmarks are displayed initially. Otherwise, the whole tree of bookmarks is displayed. This is implemented for FOP 0.9X. Closes FR #1792326. + + ● Robert Stayton: table.xsl; pi.xsl + + Add support for dbfo row-height processing instruction, like that in dbhtml. + + ● Robert Stayton: lists.xsl + + Add support for dbfo keep-together processing instruction for + entire list instances. + + ● Robert Stayton: lists.xsl; block.xsl + + Add support fo dbfo keep-together processing instruction to + more blocks like list items and paras. + + ● Robert Stayton: lists.xsl; param.xweb; param.ent + + Add new variablelist.term.properties to format terms, per request # 1968513. + + ● Robert Stayton: inline.xsl + + In simple.xlink, rearrange order of processing. + + ● Robert Stayton: xref.xsl + + Handle firstterm like glossterm in mode="xref-to". + + ● Robert Stayton: glossary.xsl; xref.xsl; pi.xsl; footnote.xsl + + Implement simple.xlink for glosssee and glossseealso so they can use + other types of linking besides otherterm. + + ● Robert Stayton: qandaset.xsl + + Add two new qanda.defaultlabel values so that numbered sections and numbered questions can be distinguished. Satisfies Feature Request #1539045. + + ● Robert Stayton: titlepage.xsl + + For the book title templates, I changed info/title to book/info/title + so other element's titles will not be affected. + + ● Robert Stayton: xref.xsl; verbatim.xsl + + Use param exsl.node.set.available to test for function. + + ● Robert Stayton: param.xweb; param.ent; footnote.xsl + + Start using new param exsl.node.set.available to work around Xalan bug. + + ● Robert Stayton: titlepage.templates.xml + + Add comment on use of t:predicate for editor to prevent + extra processing of multiple editors. Fixes bug 2687842. + + ● Robert Stayton: xref.xsl; autoidx.xsl + + An indexterm primary, secondary, or tertiary element with an id or xml:id + now outputs that ID, so that index entries can be cross referenced to. + + ● Mauritz Jeanson: synop.xsl + + Added modeless template for ooclass|oointerface|ooexception. + Closes bug #1623468. + + ● Robert Stayton: xref.xsl + + Add template with match on indexterm in mode="xref-to" to fix bug 2102592. + + ● Robert Stayton: xref.xsl + + Now xref to qandaentry will use the label element in a question for + the link text if it has one. + + ● Robert Stayton: inline.xsl + + Add id if specified from @id to output for quote and phrase so + they can be xref'ed to. + + ● Robert Stayton: xref.xsl + + Add support for xref to phrase, simpara, anchor, and quote. + This assumes the author specifies something using xrefstyle since + the elements don't have ordinary link text. + + ● Robert Stayton: toc.xsl + + Fix bug in new toc templates. + + ● Mauritz Jeanson: titlepage.xsl; component.xsl; division.xsl; xref.xsl; + titlepage.templates⋯ + + Added code to handle acknowledgements in book and part. The element is processed + similarly to dedication. All acknowledgements will appear as front matter, after + any dedications. + + ● Robert Stayton: toc.xsl + + Rewrite toc templates to support an empty toc or populated toc + in all permitted contexts. Same for lot elements. + This fixes bug #1595969 for FO outputs. + + ● Robert Stayton: index.xsl + + Fix indents for seealsoie so they are consistent. + + ● Mauritz Jeanson: param.xweb + + Removed duplicate (monospace.font.family). + + ● Robert Stayton: param.xweb; param.ent + + Add glossentry.list.item.properties. + + ● Robert Stayton: param.xweb; param.ent + + Add monospace.verbatim.font.width param to support @width on programlisting. + + ● Robert Stayton: verbatim.xsl + + Put programlisting in fo:block-container with writing-mode="lr-tb" + when text direction is right to left because all program languages + are left-to-right. + + ● Robert Stayton: verbatim.xsl + + Add support for @width on screen and programlisting, fixes bug #2012736. + + ● Robert Stayton: xref.xsl + + Fix bug #1973585 xref to para with xrefstyle not handled correctly. + + ● Mauritz Jeanson: block.xsl + + Added support for acknowledgements in article. + Support in book/part remains to be added. + + ● Robert Stayton: xref.xsl + + Fix bug #1787167 incorrect hot text for some olinks. + + ● Robert Stayton: fo.xsl + + Add writing-mode="tb-rl" as well since some XSL-FO processors support it. + + ● Robert Stayton: autotoc.xsl; lists.xsl; glossary.xsl; fo.xsl; table.xsl; + pagesetup.xsl + + Add support for writing-mode="rl-tb" (right-to-left) in FO outputs. + Changed instances of margin-left to margin-{$direction.align.start} + and margin-right to margin-{$direction.align.end}. Those direction.align + params are computed from the writing mode value in each locale's + gentext key named 'writing-mode', introduced in 1.74.3 to add + right-to-left support to HTML outputs. + + ● Robert Stayton: param.xweb; param.ent + + Add attribute-sets for formatting glossary terms and defs. + + ● Robert Stayton: param.xweb; param.ent + + Add writing.mode param for FO output. + + ● Robert Stayton: autotoc.xsl + + Fix bug 1546008: in qandaentry in a TOC, use its blockinfo/titleabbrev or blockinfo/title + instead of question, if available. For DocBook 5, use the info versions. + + ● Keith Fahlgren: verbatim.xsl + + Add better pointer to README for XSLTHL + + ● Keith Fahlgren: verbatim.xsl + + More tweaking the way that XSLTHL does or does not get called + + ● Keith Fahlgren: verbatim.xsl + + Alternate attempt at sanely including/excluding XSLTHT code + +HTML + +The following changes have been made to the html code since the 1.74.3 release. + + ● Robert Stayton: lists.xsl + + Removed redundant lang and title attributes on list element inside + div element for lists. + + ● Robert Stayton: inline.xsl; titlepage.xsl; division.xsl; toc.xsl; + sections.xsl; table.xsl;⋯ + + Convert all calls to class.attribute to calls to common.html.attributes + to support dir, lang, and title attributes in html output for all elements. + Fulfills feature request #1993833. + + ● Robert Stayton: chunk-common.xsl + + Fix bug #2750253 wrong links in list of figures in chunk.html + when target html is in a subdirectory and dbhtml filename used. + + ● Jirka Kosek: highlight.xsl + + Inclusion of highlighting code was simplified. Only one import is now necessary. + + ● Robert Stayton: chunk-common.xsl; chunktoc.xsl; docbook.xsl; + chunk-changebars.xsl; autoidx⋯ + + Convert function-available for node-set() to use + new $exsl.node.set.available param in test. + + ● Mauritz Jeanson: pi.xsl + + Fixed doc bug for row-height. + + ● David Cramer: glossary.xsl + + Internationalized punctuation in glosssee and glossseealso + + ● Robert Stayton: lists.xsl; html.xsl; block.xsl + + More elements get common.html.attributes. + Added locale.html.attributes template which does the lang, + dir, and title attributes, but not the class attribute + (used on para, for example). + + ● Robert Stayton: lists.xsl + + Replace more literal class atts with mode="class.attribute" to support + easier customization. + + ● Robert Stayton: glossary.xsl + + Support olinking in glosssee and glossseealso. + + ● Robert Stayton: inline.xsl + + In simple.xlink, rearrange order of processing. + + ● Robert Stayton: xref.xsl + + Handle firstterm like glossterm in mode="xref-to". + + ● Robert Stayton: lists.xsl; html.xsl; block.xsl + + Added template named common.html.attributes to output + class, title, lang, and dir for most elements. + Started adding it to some list and block elements. + + ● Robert Stayton: qandaset.xsl + + Add two new qanda.defaultlabel values so that numbered sections + and numbered questions can be distinguished. Satisfies + Feature Request #1539045. + + ● Robert Stayton: param.xweb; chunk-code.xsl; param.ent; xref.xsl; + chunkfast.xsl; verbatim.x⋯ + + Use new param exsl.node.set.available to test, handles Xalan bug. + + ● Robert Stayton: autoidx.xsl + + Use named anchors for primary, secondary, and tertiary ids so + duplicate entries with different ids can still have an id output. + + ● Robert Stayton: param.xweb; param.ent + + Add new param index.links.to.section. + + ● Robert Stayton: xref.xsl; autoidx.xsl + + Pass through an id on primary, secondary, or tertiary to + the index entry, so that one could link to an index entry. + You can't link to the id on an indexterm because that is + used to place the main anchor in the text flow. + + ● Robert Stayton: autoidx.xsl + + Add support for the new index.links.to.section param which permits + precise links to indexterms in HTML output rather than to + the section title. + + ● Mauritz Jeanson: synop.xsl + + Added modeless template for ooclass|oointerface|ooexception. + Closes bug #1623468. + + ● Robert Stayton: qandaset.xsl + + Make sure a qandaset has an anchor, even when it has no title, + because it may be referenced in a TOC or xref. + Before, the anchor was output by the title, but there was no + anchor if there was no title. + + ● Robert Stayton: xref.xsl + + Add a template for indexterm with mode="xref-to" to fix bug 2102592. + + ● Robert Stayton: xref.xsl + + Now xref to qandaentry will use the label element in a question for + the link text if it has one. + + ● Robert Stayton: qandaset.xsl; html.xsl + + Create separate templates for computing label of question and answer + in a qandaentry, so such can be used for the alt text of an xref + to a qandaentry. + + ● Robert Stayton: inline.xsl; xref.xsl + + Now support xref to phrase, simpara, anchor, and quote, + most useful when an xrefstyle is used. + + ● Robert Stayton: toc.xsl + + Rewrite toc templates to support an empty toc or populated toc + in all permitted contexts. Same for lot elements. + This fixes bug #1595969 for HTML outputs. + + ● Mauritz Jeanson: titlepage.xsl; component.xsl; division.xsl; xref.xsl; + titlepage.templates⋯ + + Added code to handle acknowledgements in book and part. The element is processed + similarly to dedication. All acknowledgements will appear as front matter, after + any dedications. + + ● Robert Stayton: index.xsl + + Rewrote primaryie, secondaryie and tertiaryie templates to handle + nesting of elements and seeie and seealsoie, as reported in + bug # 1168912. + + ● Robert Stayton: autotoc.xsl + + Fix simplesect in toc problem. + + ● Robert Stayton: verbatim.xsl + + Add support for @width per bug report #2012736. + + ● Robert Stayton: formal.xsl; htmltbl.xsl + + Fix bug #1787140 HTML tables not handling attributes correctly. + + ● Robert Stayton: param.xweb + + Move writing-mode param. + + ● Keith Fahlgren: refentry.xsl + + Remove a nesting of

inside

for refclass (made XHTML* invalid, made HTML silly) + + ● Robert Stayton: table.xsl + + Fix bug #1945872 to allow passthrough of colwidth values to + HTML table when no tablecolumns.extension is available and + when no instance of * appears in the table's colspecs. + + ● Mauritz Jeanson: block.xsl + + Added support for acknowledgements in article. + Support in book/part remains to be added. + + ● Robert Stayton: chunk-common.xsl + + Fix bug #1787167 incorrect hot text for some olinks. + + ● Robert Stayton: qandaset.xsl + + Fix bug 1546008: in qandaentry in a TOC, use its blockinfo/titleabbrev or blockinfo/title + instead of question, if available. For DocBook 5, use the info versions. + + ● Robert Stayton: chunktoc.xsl + + Add support for generating olink database when using chunktoc.xsl. + + ● Keith Fahlgren: verbatim.xsl + + Add better pointer to README for XSLTHL + + ● Keith Fahlgren: verbatim.xsl + + Another stab at fixing the stupid XSLTHT includes across processors (Saxon regression reported by Sorin Ristache) + + ● Keith Fahlgren: verbatim.xsl + + More tweaking the way that XSLTHL does or does not get called + + ● Keith Fahlgren: verbatim.xsl + + Alternate attempt at sanely including/excluding XSLTHT code + +Manpages + +The following changes have been made to the manpages code since the 1.74.3 +release. + + ● Robert Stayton: table.xsl + + Convert function-available test for node-set() function to + test of $exsl.node.set.available param. + + ● Mauritz Jeanson: lists.xsl + + Added a template for bibliolist. Closes bug #1815916. + +ePub + +The following changes have been made to the epub code since the 1.74.3 release. + + ● Keith Fahlgren: bin/spec/epub_regressions_spec.rb; bin/spec/files/ + onegraphic.xinclude.xml;⋯ + + Slightly more nuanced handling of imageobject alternatives and better support in dbtoepub for XIncludes and ENTITYs to resolve Issue #2750442 reported by Raphael Hertzog. + + ● Keith Fahlgren: docbook.xsl + + Add a colon after an abstract/title when mapping into the dc:description for OPF metadata in ePub output to help the flat text have more pseudo-semantics (sugestions from Michael Wiedmann) + + ● Keith Fahlgren: bin/spec/epub_regressions_spec.rb; docbook.xsl; bin/spec/ + files/de.xml + + Correctly set dc:language in OPF metadata when i18nizing. Closes Bug #2755150 + + ● Keith Fahlgren: bin/spec/epub_regressions_spec.rb; docbook.xsl + + Corrected namespace declarations for literal XHTML elements to make them serialize "normally" + + ● Keith Fahlgren: docbook.xsl + + Be a little bit more nuanced about dates + + ● Keith Fahlgren: docbook.xsl; bin/spec/epub_realbook_spec.rb; bin/spec/files + /orm.book.001.x⋯ + + Add DocBook subjectset -> OPF dc:subject mapping and tests + + ● Keith Fahlgren: docbook.xsl; bin/spec/epub_realbook_spec.rb; bin/spec/files + /orm.book.001.x⋯ + + Add DocBook date -> OPF dc:date mapping and tests + + ● Keith Fahlgren: docbook.xsl; bin/spec/epub_realbook_spec.rb; bin/spec/files + /orm.book.001.x⋯ + + Add DocBook abstract -> OPF dc:description mapping and tests + + ● Robert Stayton: docbook.xsl + + Check in patch submitted by user to add opf:file-as attribute + to dc:creator element. + + ● Keith Fahlgren: bin/dbtoepub + + Adding --output option to dbtoepub based on user request + + ● Keith Fahlgren: docbook.xsl; bin/spec/epub_spec.rb + + Cleaning and regularizing the generation of namespaced nodes for OPF, NCX, XHTML and other outputted filetypes (hat tip to bobstayton for pointing out the silly, incorrect code) + + ● Keith Fahlgren: bin/spec/epub_regressions_spec.rb; bin/spec/files/ + refclass.xml + + Remove a nesting of

inside

for refclass (made XHTML* invalid, made HTML silly) + + ● Keith Fahlgren: bin/spec/epub_regressions_spec.rb; bin/spec/files/ + blockquotepre.xml + + Added regression test and fix for XHTML validation problem with s added inside

; This potentially causes another problem (where something is referenced by has no anchor, but someone reporting that should cause the whole thing to be reconsidered with modern browsers in mind. + +HTMLHelp + +The following changes have been made to the htmlhelp code since the 1.74.3 +release. + + ● Robert Stayton: htmlhelp-common.xsl + + Add support for generating olink target database for htmlhelp files. + +Params + +The following changes have been made to the params code since the 1.74.3 +release. + + ● Robert Stayton: default.table.rules.xml + + Add default setting for @rules attribute on HTML markup tables. + + ● Mauritz Jeanson: bookmarks.collapse.xml + + Added a new parameter, bookmarks.collapse, that controls the initial state + of the bookmark tree. When the parameter has a non-zero value (the default), + only the top-level bookmarks are displayed initially. Otherwise, the whole + tree of bookmarks is displayed. + + This is implemented for FOP 0.9X. Closes FR #1792326. + + ● Robert Stayton: variablelist.term.properties.xml + + Add new variablelist.term.properties to format terms, per + request # 1968513. + + ● Robert Stayton: qanda.defaultlabel.xml + + Add two new qanda.defaultlabel values so that numbered sections + and numbered questions can be distinguished. Satisfies + Feature Request #1539045. + + ● Robert Stayton: index.links.to.section.xml + + Change default to 1 to match past behavior. + + ● Robert Stayton: exsl.node.set.available.xml + + Isolate this text for Xalan bug regarding exsl:node-set available. + If it is ever fixed in Xalan, just fix it here. + + ● Robert Stayton: index.links.to.section.xml + + Add param to control whether an index entry links to + a section title or to the precise location of the + indexterm. + + ● Robert Stayton: glossentry.list.item.properties.xml + + New attribute list for glossentry in glossary. + + ● Robert Stayton: monospace.verbatim.font.width.xml + + New parameter to support @width on programlisting and screen. + + ● Mauritz Jeanson: highlight.source.xml + + Updated and reorganized the description. + + ● Robert Stayton: page.margin.outer.xml; page.margin.inner.xml + + Add caveat about XEP bug when writing-mode is right-to-left. + + ● Robert Stayton: article.appendix.title.properties.xml; writing.mode.xml; + body.start.indent⋯ + + Change 'left' to 'start' and 'right' to 'end' to support right-to-left + writing mode. + + ● Robert Stayton: glossdef.block.properties.xml; + glossdef.list.properties.xml; glossterm.blo⋯ + + Add attribute-sets for formatting glossary terms and defs. + + ● Robert Stayton: glossterm.separation.xml + + Clarify the description. + + ● Robert Stayton: make.year.ranges.xml + + Now handles year element containing a comma or dash without error. + +Highlighting + +The following changes have been made to the highlighting code since the 1.74.3 +release. + + ● Jirka Kosek: README + + Inclusion of highlighting code was simplified. Only one import is now necessary. + + ● Keith Fahlgren: README + + Adding XSLTHL readme + + ● Keith Fahlgren: common.xsl + + Alternate attempt at sanely including/excluding XSLTHT code + +XSL-Saxon + +The following changes have been made to the xsl-saxon code since the 1.74.3 +release. + + ● Mauritz Jeanson: src/com/nwalsh/saxon/Text.java + + Added a fix that prevents output of extra blank line. + Hopefully this closes bug #894805. + +XSL-Xalan + +The following changes have been made to the xsl-xalan code since the 1.74.3 +release. + + ● Mauritz Jeanson: src/com/nwalsh/xalan/Text.java + + Added a fix that prevents output of extra blank line. + Hopefully this closes bug #894805. + +Release Notes: 1.74.3 + +This release fixes some bugs in the 1.74.2 release. + +See highlighting/README for XSLTHL usage instructions. + +Release Notes: 1.74.2 + +This release fixes some bugs in the 1.74.1 release. + +Release Notes: 1.74.1 + +This release includes important bug fixes and adds the following significant +feature changes: + +Gentext + + Kirghiz locale added and Chinese translations have been simplified. + + Somme support for gentext and right-to-left languages has been added. + +FO + + Various bugs have been resolved. + + Support for a new processing instruction: dbfo funcsynopsis-style has been + added. + + Added new param email.mailto.enabled for FO output. Patch from Paolo + Borelli. + + Support for documented metadata in fop1 mode has been added. + +Highlighting + + Support for the latest version of XSLTHL 2.0 and some new language syntaxes + have been added to a variety of outputs. + +Manpages + + Added man.output.better.ps.enabled param (zero default). It non-zero, no + such markup is embedded in generated man pages, and no enhancements are + included in the PostScript output generated from those man pages by the man + -Tps command. + +HTML + + Support for writing.mode to set text direction and alignment based on + document locale has been added. + + Added a new top-level stylesheet module, chunk-changebars.xsl, to be used + for generating chunked output with highlighting based on change + (@revisionflag) markup. The module imports/includes the standard chunking + and changebars templates and contains additional logic for chunked output. + See FRs #1015180 and #1819915. + +ePub + + Covers now look better in Adobe Digital Editions thanks to a patch from + Paul Norton of Adobe + + Cover handling now more generic (including limited DocBook 5.0 cover + support thanks to patch contributed by Liza Daly. + + Cover markup now carries more reliably into files destined for .mobi and + the Kindle. + + dc:identifiers are now generated from more types of numbering schemes. + + Both SEO and semantic structure of chunked ePub output by ensuring that we + always send out one and only one h1 in each XHTML chunk. + + Primitive support for embedding a single font added. + + Support for embedding a CSS customizations added. + +Roundtrip + + Support for imagedata-metadata and table as images added. + + Support for imagedata-metadata and legalnotice as images added. + +Params + + man.output.better.ps.enabled added for Manpages output + + writing.mode.xml added to set text direction. + + Added new param email.mailto.enabled for FO output. Patch from Paolo + Borelli. Closes #2086321. + + highlight.source upgraded to support the latest version of XSLTHL 2.0. + +The following is a list of changes that have been made since the 1.74.0 +release. + +Gentext + +The following changes have been made to the gentext code since the 1.74.0 +release. + + ● Michael(tm) Smith: locale/ky.xml; Makefile + + new Kirghiz locale from Ilyas Bakirov + + ● Mauritz Jeanson: locale/en.xml + + Added "Acknowledgements". + + ● Dongsheng Song: locale/zh_cn.xml + + Simplified Chinese translation. + + ● Robert Stayton: locale/lv.xml; locale/ca.xml; locale/pt.xml; locale/tr.xml; + locale/af.xml;⋯ + + Add writing-mode gentext string to support right-to-left languages. + +FO + +The following changes have been made to the fo code since the 1.74.0 release. + + ● David Cramer: footnote.xsl + + Added a check to confirm that a footnoteref's linkend points to a footnote. Stylesheets stop processing if not and provide a useful error message. + + ● Mauritz Jeanson: spaces.xsl + + Convert spaces to fo:leader also in elements in the DB 5 namespace. + + ● Mauritz Jeanson: pi.xsl; synop.xsl + + Added support for a new processing instruction: dbfo funcsynopsis-style. + Closes bug #1838213. + + ● Michael(tm) Smith: inline.xsl; param.xweb; param.ent + + Added new param email.mailto.enabled for FO output. + Patch from Paolo Borelli. Closes #2086321. + + ● Mauritz Jeanson: docbook.xsl + + Added support for document metadata for fop1 (patch #2067318). + + ● Jirka Kosek: param.ent; param.xweb; highlight.xsl + + Upgraded to support the latest version of XSLTHL 2.0 + -- nested markup in highlited code is now processed + -- it is no longer needed to specify path XSLTHL configuration file using Java property + -- support for new languages, including Perl, Python and Ruby was added + +HTML + +The following changes have been made to the html code since the 1.74.0 release. + + ● Robert Stayton: param.xweb; docbook.xsl; param.ent; html.xsl + + Add support for writing.mode to set text direction and alignment based on document locale. + + ● Mauritz Jeanson: chunk-changebars.xsl + + Added a new top-level stylesheet module, chunk-changebars.xsl, to be + used for generating chunked output with highlighting based on change + (@revisionflag) markup. The module imports/includes the standard chunking + and changebars templates and contains additional logic for chunked output. + See FRs #1015180 and #1819915. + +Manpages + +The following changes have been made to the manpages code since the 1.74.0 +release. + + ● Michael(tm) Smith: docbook.xsl + + Put the following at the top of generated roff for each page: + \" t + purpose is to explicitly tell AT&T troff that the page needs to be + pre-processed through tbl(1); groff can figure it out + automatically, but apparently AT&T troff needs to be explicitly told + +ePub + +The following changes have been made to the epub code since the 1.74.0 release. + + ● Keith Fahlgren: docbook.xsl + + Patch from Paul Norton of Adobe to get covers to look better in Adobe Digital Editions + + ● Keith Fahlgren: bin/spec/epub_regressions_spec.rb; bin/spec/files/ + v5cover.xml; bin/spec/sp⋯ + + Patch contributed by Liza Daly to make ePub cover handling more generic. Additionally + DocBook 5.0's now has some limited support: + + - should reference a cover in the OPF guide for a DocBook 5.0 test document + + ● Keith Fahlgren: bin/spec/files/isbn.xml; bin/spec/files/issn.xml; bin/spec/ + files/biblioid.⋯ + + Liza Daly reported that the dc:identifer-generation code was garbage (she was right). + + Added new tests: + - should include at least one dc:identifier + - should include an ISBN as URN for dc:identifier if an ISBN was in the metadata + - should include an ISSN as URN for dc:identifier if an ISSN was in the metadata + - should include an biblioid as a dc:identifier if an biblioid was in the metadata + - should include a URN for a biblioid with @class attribute as a dc:identifier if an biblioid was in the metadata + + ● Keith Fahlgren: docbook.xsl; bin/spec/epub_spec.rb + + Improve both SEO and semantic structure of chunked ePub output by ensuring that + we always send out one and only one h1 in each XHTML chunk. + + DocBook::Epub + - should include one and only one

in each HTML file in rendered ePub files + for s + - should include one and only one

in each HTML file in rendered ePub files + for s even if they do not have section markup + + ● Keith Fahlgren: docbook.xsl; bin/spec/epub_realbook_spec.rb; bin/spec/files + /orm.book.001.x⋯ + + Adding better support for covers in epub files destined for .mobi and the Kindle + + ● Keith Fahlgren: bin/dbtoepub; bin/lib/docbook.rb; bin/spec/files/ + DejaVuSerif.otf; docbook.⋯ + + Adding primitive support for embedding a single font + + ● Keith Fahlgren: bin/dbtoepub; bin/lib/docbook.rb; bin/spec/files/ + test_cust.xsl; bin/spec/e⋯ + + Adding support for user-specified customization layers in dbtoepub + + ● Keith Fahlgren: bin/dbtoepub; bin/spec/epub_regressions_spec.rb; bin/lib/ + docbook.rb; bin/s⋯ + + Adding CSS support to .epub target & dbtoepub: + -c, --css [FILE] Use FILE for CSS on generated XHTML. + + + DocBook::Epub + ... + - should include a CSS link in HTML files when a CSS file has been provided + - should include CSS file in .epub when a CSS file has been provided + - should include a CSS link in OPF file when a CSS file has been provided + +Roundtrip + +The following changes have been made to the roundtrip code since the 1.74.0 +release. + + ● Steve Ball: blocks2dbk.xsl; template.xml; template.dot + + added support for imagedata-metadata + added support for table as images + + ● Steve Ball: blocks2dbk.xsl; normalise2sections.xsl; sections2blocks.xsl + + Improved support for personname inlines. + + ● Steve Ball: blocks2dbk.xsl; blocks2dbk.dtd; template.xml + + Added support for legalnotice. + + ● Steve Ball: blocks2dbk.xsl; wordml2normalise.xsl + + added support for orgname in author + + ● Steve Ball: specifications.xml; supported.xml; blocks2dbk.xsl; + wordml2normalise.xsl; dbk2w⋯ + + Updated specification. + to-DocBook: add cols attribute to tgroup + from-DocBook: fix for blockquote title + +Params + +The following changes have been made to the params since the 1.74.0 release. + + ● The change was to add man.output.better.ps.enabled parameter, with its + default value set to zero. If the value of the man.output.better.ps.enabled + parameter is non-zero, certain markup is embedded in each generated man + page such that PostScript output from the man -Tps command for that page + will include a number of enhancements designed to improve the quality of + that output. If man.output.better.ps.enabled is zero (the default), no such + markup is embedded in generated man pages, and no enhancements are included + in the PostScript output generated from those man pages by the man -Tps + command. WARNING: The enhancements provided by this parameter rely on + features that are specific to groff (GNU troff) and that are not part of + "classic" AT&T troff or any of its derivatives. Therefore, any man pages + you generate with this parameter enabled will be readable only on systems + on which the groff (GNU troff) program is installed, such as GNU/Linux + systems. The pages will not not be readable on systems on with the classic + troff (AT&T troff) command is installed. NOTE: The value of this parameter + only affects PostScript output generated from the man command. It has no + effect on output generated using the FO backend. TIP: You can generate + PostScript output for any man page by running the following command: man + FOO -Tps > FOO.ps You can then generate PDF output by running the following + command: ps2pdf FOO.ps + + ● Robert Stayton: writing.mode.xml + + writing mode param used to set text direction. + + ● Michael(tm) Smith: email.mailto.enabled.xml + + Added new param email.mailto.enabled for FO output. + Patch from Paolo Borelli. Closes #2086321. + + ● Jirka Kosek: highlight.source.xml; highlight.xslthl.config.xml + + Upgraded to support the latest version of XSLTHL 2.0 + -- nested markup in highlited code is now processed + -- it is no longer needed to specify path XSLTHL configuration file using Java property + -- support for new languages, including Perl, Python and Ruby was added + +Highlighting + +The following changes have been made to the highlighting code since the 1.74.0 +release. + + ● Jirka Kosek: cpp-hl.xml; c-hl.xml; tcl-hl.xml; php-hl.xml; common.xsl; + perl-hl.xml; delphi⋯ + + Upgraded to support the latest version of XSLTHL 2.0 + -- nested markup in highlited code is now processed + -- it is no longer needed to specify path XSLTHL configuration file using Java property + -- support for new languages, including Perl, Python and Ruby was added + +Release Notes: 1.74.0 + +This release includes important bug fixes and adds the following significant +feature changes: + +.epub target + + Paul Norton (Adobe) and Keith Fahlgren(O'Reilly Media) have donated code + that generates .epub documents from DocBook input. An alpha-reference + implementation in Ruby has also been provided. + + .epub is an open standard of the The International Digital Publishing Forum + (IDPF), a the trade and standards association for the digital publishing + industry. + + Read more about this target in epub/README + +XHTML 1.1 target + + To support .epub output, a strict XHTML 1.1 target has been added. The + stylesheets for this output are generated and are quite similar to the + XHTML target. + +Gentext updates + + A number of locales have been updated. + +Roundtrip improvements + + Table, figure, template syncronization, and character style improvements + have been made for WordML & Pages. Support added for OpenOffice.org. + +First implementation of a libxslt extension + + A stylesheet extension for libxslt, written in Python, has been added. The + extension is a function for adjusting column widths in CALS tables. See + extensions/README.LIBXSLT for more information. + +The following is a list of changes that have been made since the 1.73.2 +release. + +Gentext + +The following changes have been made to the gentext code since the 1.73.2 +release. + + ● Michael(tm) Smith: locale/id.xml + + Checked in changes to Indonesion locale submitted by Euis Luhuanam a long time ago. + + ● Michael(tm) Smith: locale/lt.xml + + Added changes to Lithuanian locate submitted a long time back by Nikolajus Krauklis. + + ● Michael(tm) Smith: locale/hu.xml + + fixed error in lowercase.alpha definition in Hungarian locale + + ● Michael(tm) Smith: locale/nb.xml + + Corrected language code for nb locale, and restored missing "startquote" key. + + ● Michael(tm) Smith: locale/ja.xml + + Committed changes to ja locale file, from Akagi Kobayashi. Adds bracket quotes around many xref instances that did not have them + before. + + ● Michael(tm) Smith: Makefile + + "no" locale is now "nb" + + ● Michael(tm) Smith: locale/nb.xml + + Update Norwegian Bokmål translation. Thanks to Hans F. Nordhaug. + + ● Michael(tm) Smith: locale/no.xml; locale/nb.xml + + per message from Hans F. Nordhaug, correct identifier for + Norwegian Bokmål is "nb" (not "no") and has been for quite some + time now... + + ● Michael(tm) Smith: locale/ja.xml + + Converted ja.xml source file to use real unicode characters so + that the actual glyphs so up when you edit it in a text editor + (instead of the character references). + + ● Michael(tm) Smith: locale/ja.xml + + Checked in changes to ja.xml locale file. Thanks to Akagi Kobayashi. + + ● Michael(tm) Smith: locale/it.xml + + Changes from Federico Zenith + + ● Dongsheng Song: locale/zh_cn.xml + + Added missing translations. + +Common + +The following changes have been made to the common code since the 1.73.2 +release. + + ● Michael(tm) Smith: l10n.xsl + + Added new template "l10.language.name" for retrieving the + English-language name of the lang setting of the current document. + Closes #1916837. Thanks to Simon Kennedy. + + ● Michael(tm) Smith: refentry.xsl + + fixed syntax error + + ● Michael(tm) Smith: refentry.xsl + + fixed a couple of typos + + ● Michael(tm) Smith: refentry.xsl + + refined handling of cases where refentry "source" or "manual" + metadata is missing or when we use fallback content instead. We + now report a Warning if we use fallback content. + + ● Michael(tm) Smith: refentry.xsl + + don't use refmiscinfo@class=date value as fallback for refentry + "source" or "manual" metadata fields + + ● Michael(tm) Smith: refentry.xsl + + Made reporting of missing refentry metadata more quiet: + + - we no longer report anything if usable-but-not-preferred + metadata is found; we just quietly use whatever we manage to + find + + - we now only report missing "source" metadata if the refentry + is missing BOTH "source name" and "version" metadata; if it + has one but not the other, we use whichever one it has and + don't report anything as missing + + The above changes were made because testing with some "real world" + source reveals that some authors are intentionally choosing to use + "non preferred" markup for some metadata, and also choosing to + omit "source name" or "version" metadata in there DocBook XML. So + it does no good to give them pedantic reminders about what they + already know... + + Also, changed code to cause "fixme" text to be inserted in output + in particular cases: + + - if we can't manage to find any "source" metadata at all, we + now put fixme text into the output + + - if we can't manage to find any "manual" metadata a all, we + now put fixme text into the output + + The "source" and "manual" metadata is necessary information, so + buy putting the fixme stuff in the output, we alert users to the + need problem of it being missing. + + ● Michael(tm) Smith: refentry.xsl + + When generating manpages output, we no longer report anything if + the refentry source is missing date or pubdate content. In + practice, many users intentionally omit the date from the source + because they explicitly want it to be generated. + + ● Michael(tm) Smith: l10n.xml + + further change needed for switch from no locale to nb. + + ● Michael(tm) Smith: common.xsl + + Added support for orgname in authorgroup. Thanks to Camille + Bégnis. + + ● Michael(tm) Smith: Makefile + + "no" locale is now "nb" + + ● Mauritz Jeanson: stripns.xsl + + Removed the template matching "ng:link|db:link" (in order to make @xlink:show + work with elements). As far as I can tell, this template is no longer needed. + + ● Mauritz Jeanson: entities.ent + + Moved declaration of comment.block.parents entity to common/entities.ent. + + ● Mauritz Jeanson: titles.xsl + + Added an update the fix made in revision 7528 (handling of xref/link in no.anchor.mode mode). + Having xref in title is not a problem as long as the target is not an ancestor element. + Closes bug #1838136. + + Note that an xref that is in a title and whose target is an ancestor element is still not + rendered in the TOC. This could be considered a bug, but on the other hand I cannot really + see the point in having such an xref in a document. + + ● Mauritz Jeanson: titles.xsl + + Added a "not(ancestor::title)" test to work around "too many nested + apply-templates" problems when processing xrefs or links in no.anchor.mode mode. + Hopefully, this closes bug #1811721. + + ● Mauritz Jeanson: titles.xsl + + Removed old template matching "link" in no.anchor.mode mode. + + ● Mauritz Jeanson: titles.xsl + + Process in no.anchor.mode mode with the same template as . + Closes bug #1759205 (Empty link in no.anchor.mode mode). + + ● Mauritz Jeanson: titles.xsl + + In no.anchor.mode mode, do not output anchors for elements that are descendants + of . Previously, having inline elements with @id/@xml:id in <title>s + resulted in anchors both in the TOC and in the main flow. Closes bug #1797492. + +FO + +The following changes have been made to the fo code since the 1.73.2 release. + + ● Mauritz Jeanson: pi.xsl + + Updated documentation for keep-together. + + ● Mauritz Jeanson: task.xsl + + Enabled use of the keep-together PI on task elements. + + ● Robert Stayton: index.xsl + + FOP1 requires fo:wrapper for inline index entries, not fo:inline. + + ● Robert Stayton: index.xsl + + Fixed non-working inline.or.block template for indexterm wrappers. + Add fop1 to list of processors using inline.or.block. + + ● Mauritz Jeanson: table.xsl + + Fixed bug #1891965 (colsep in entytbl not working). + + ● Mauritz Jeanson: titlepage.xsl + + Added support for title in revhistory. Closes bug #1842847. + + ● Mauritz Jeanson: pi.xsl + + Small doc cleanup (dbfo float-type). + + ● Mauritz Jeanson: titlepage.xsl + + Insert commas between multiple copyright holders. + + ● Mauritz Jeanson: autotoc.xsl; division.xsl + + Added modifications to support nested set elements. See bug #1853172. + + ● David Cramer: glossary.xsl + + Added normalize-space to xsl:sorts to avoid missorting of glossterms due to stray leading spaces. + + ● David Cramer: glossary.xsl + + Fixed bug #1854199: glossary.xsl should use the sortas attribute on glossentry + + ● Mauritz Jeanson: inline.xsl + + Added a template for citebiblioid. The hyperlink target is the parent of the referenced biblioid, + and the "hot text" is the biblioid itself enclosed in brackets. + + ● Mauritz Jeanson: inline.xsl + + Moved declaration of comment.block.parents entity to common/entities.ent. + + ● Mauritz Jeanson: docbook.xsl + + Updated message about unmatched element. + + ● Mauritz Jeanson: param.xweb + + Added link to profiling chapter of TCG. + + ● Mauritz Jeanson: refentry.xsl + + Fixed typo (refsynopsysdiv -> refsynopsisdiv). + + ● David Cramer: fop.xsl; fop1.xsl; ptc.xsl; xep.xsl + + Added test to check generate.index param when generating pdf bookmarks + + ● Mauritz Jeanson: graphics.xsl + + Added support for MathML in imagedata. + + ● Michael(tm) Smith: math.xsl + + Removed unnecessary extra test condition in test express that + checks for passivetex. + + ● Michael(tm) Smith: math.xsl + + Don't use fo:instream-foreign-object if we are processing with + passivetex. Closes #1806899. Thanks to Justus Piater. + + ● Mauritz Jeanson: component.xsl + + Added code to output a TOC for an appendix in an article when + generate.toc='article/appendix toc'. Closes bug #1669658. + + ● Dongsheng Song: biblio-iso690.xsl + + Change encoding from "windows-1250" to "UTF-8". + + ● Mauritz Jeanson: pi.xsl + + Updated documentation for dbfo_label-width. + + ● Mauritz Jeanson: lists.xsl + + Added support for the dbfo_label-width PI in calloutlists. + + ● Robert Stayton: biblio.xsl + + Support finding glossary database entries inside bibliodivs. + + ● Robert Stayton: formal.xsl + + Complete support for <?dbfo pgwide="1"?> for informal + elements too. + + ● Mauritz Jeanson: table.xsl + + In the table.block template, added a check for the dbfo_keep-together PI, so that + a table may break (depending on the PI value) at a page break. This was needed + since the outer fo:block that surrounds fo:table has keep-together.within-column="always" + by default, which prevents the table from breaking. Closes bug #1740964 (Titled + table does not respect dbfo PI). + + ● Mauritz Jeanson: pi.xsl + + Added a few missing @role="tcg". + + ● Mauritz Jeanson: inline.xsl + + Use normalize-space() in glossterm comparisons (as in html/inline.xsl). + + ● Mauritz Jeanson: autoidx.xsl + + Removed the [&scope;] predicate from the target variable in the template with name="reference". + This filter was the cause of missing index backlinks when @zone and @type were used on indexterms, + with index.on.type=1. Closes bug #1680836. + + ● Michael(tm) Smith: inline.xsl; xref.xsl; footnote.xsl + + Added capability in FO output for displaying URLs for all + hyperlinks (elements marked up with xlink:href attributes) in the + same way as URLs for ulinks are already handled (which is to say, + either inline or as numbered footnotes). + + Background on this change: + DocBook 5 allows "ubiquitous" linking, which means you can make + any element a hyperlink just by adding an xlink:href attribute to + it, with the value set to an external URL. That's in contrast to + DocBook 4, which only allows you to use specific elements (e.g., + the link and ulink elements) to mark up hyperlinks. + + The existing FO stylesheets have a mechanism for handling display + of URLs for hyperlinks that are marked up with ulink, but they did + not handle display of URLs for elements that were marked up with + xlink:href attributes. This change adds handling for those other + elements, enabling the URLs they link to be displayed either + inline or as numbered footnotes (depending on what values the user + has the ulink.show and ulink.footnotes params set to). + + Note that this change only adds URL display support for elements + that call the simple.xlink template -- which currently is most + (but not all) inline elements. + + This change also moves the URL display handling out of the ulink + template and into a new "hyperlink.url.display" named template; + the ulink template and the simple.xlink named template now both + call the hyperlink.url.display template. + + Warning: In the stylesheet code that determines what footnote + number to assign to each footnote or external hyperlink, there is + an XPath expression for determining whether a particular + xlink:href instance is an external hyperlink; that expression is + necessarily a bit complicated and further testing may reveal that + it doesn't handle all cases as expected -- so some refinements to + it may need to be done later. + + Closes #1785519. Thanks to Ken Morse for reporting and + troubleshooting the problem. + +HTML + +The following changes have been made to the html code since the 1.73.2 release. + + ● Keith Fahlgren: inline.xsl; synop.xsl + + Work to make HTML and XHTML targets more valid + + ● Keith Fahlgren: table.xsl + + Add better handling for tables that have footnotes in the titles + + ● Keith Fahlgren: biblio.xsl + + Add anchors to bibliodivs + + ● Keith Fahlgren: formal.xsl; Makefile; htmltbl.xsl + + Initial checkin/merge of epub target from work provided by Paul Norton of Adobe + and Keith Fahlgren of O'Reilly. + + This change includes new code for generating the XHTML 1.1 target sanely. + + ● Mauritz Jeanson: biblio.xsl + + Added code for creating URLs from biblioids with @class="doi" (representing Digital + Object Identifiers). See FR #1934434 and http://doi.org. + + To do: 1) Add support for FO output. 2) Figure out how @class="doi" should be handled + for bibliorelation, bibliosource and citebiblioid. + + ● Norman Walsh: formal.xsl + + Don't use xsl:copy because it forces the resulting element to be in the same namespace as the source element; in the XHTML stylesheets, that's wrong. But the HTML-to-XHTML converter does the right thing with literal result elements, so use one of them. + + ● Michael(tm) Smith: Makefile + + Added checks and hacks to various makefiles to enable building + under Cygwin. This stuff is ugly and maybe not worth the mess and + trouble, but does seem to work as expected and not break anything + else. + + ● Michael(tm) Smith: docbook.xsl + + added "exslt" namespace binding to html/docbook.xsl file (in + addition to existing "exsl" binding. reason is because lack of it + seems to cause processing problems when using the profiled + version of the stylsheet + + ● Norman Walsh: chunk-common.xsl + + Rename link + + ● Mauritz Jeanson: table.xsl + + Added a fix to make rowsep apply to the last row of thead in entrytbl. + + ● Michael(tm) Smith: synop.xsl + + Simplified and streamlined handling of output for ANSI-style + funcprototype output, to correct a problem that was causing type + data to be lost in the output parameter definitions. For example, + for an instance like this: + <paramdef>void *<parameter>dataptr</parameter>[]</paramdef> + ... the brackets (indicating an array type) were being dropped. + + ● Michael(tm) Smith: synop.xsl + + Changed HTML handling of K&R-style paramdef output. The parameter + definitions are no longer output in a table (though the prototype + still is). The reason for the change is that the + kr-tabular-funcsynopsis-mode template was causing type data to be + lost in the output parameter definitions. For example, for an + instance like this: + <paramdef>void *<parameter>dataptr</parameter>[]</paramdef> + ... the brackets (indicating an array type) were being dropped. + The easiest way to deal with the problem is to not try to chop up + the parameter definitions and display them in table format, but to + instead just output them as-is. May not look quite as pretty, but + at least we can be sure no information is being lost... + + ● Michael(tm) Smith: pi.xsl + + updated wording of doc for funcsynopsis-style PI + + ● Michael(tm) Smith: param.xweb; param.ent; synop.xsl + + Removed the funcsynopsis.tabular.threshold param. It's no longer + being used in the code and hasn't been since mid 2006. + + ● Mauritz Jeanson: graphics.xsl + + Added support for the img.src.path parameter for SVG graphics. Closes bug #1888169. + + ● Mauritz Jeanson: chunk-common.xsl + + Added missing space. + + ● Norman Walsh: component.xsl + + Fix bug where component titles inside info elements were not handled properly + + ● Michael(tm) Smith: pi.xsl + + Moved dbhtml_stop-chunking embedded doc into alphabetical order, + fixed text of TCG section it see-also'ed. + + ● David Cramer: pi.xsl + + Added support for <?dbhtml stop-chunking?> processing instruction + + ● David Cramer: chunk-common.xsl; pi.xsl + + Added support for <?dbhtml stop-chunking?> processing instruction + + ● David Cramer: glossary.xsl + + Fixed bug #1854199: glossary.xsl should use the sortas attribute on glossentry. Also added normalize-space to avoid missorting due to stray leading spaces. + + ● Mauritz Jeanson: inline.xsl + + Added a template for citebiblioid. The hyperlink target is the parent of the referenced biblioid, + and the "hot text" is the biblioid itself enclosed in brackets. + + ● Mauritz Jeanson: inline.xsl + + Added support for @xlink:show in the simple.xlink template. The "new" and "replace" + values are supported (corresponding to values of "_blank" and "_top" for the + ulink.target parameter). I have assumed that @xlink:show should override ulink.target + for external URI links. This closes bugs #1762023 and #1727498. + + ● Mauritz Jeanson: inline.xsl + + Moved declaration of comment.block.parents entity to common/entities.ent. + + ● Mauritz Jeanson: param.xweb + + Added link to profiling chapter of TCG. + + ● Dongsheng Song: biblio-iso690.xsl + + Change encoding from "windows-1250" to "UTF-8". + + ● Robert Stayton: biblio.xsl + + Add support in biblio collection to entries in bibliodivs. + + ● Mauritz Jeanson: pi.xsl + + Added missing @role="tcg". + + ● Mauritz Jeanson: chunk-common.xsl; titlepage.xsl + + Refactored legalnotice/revhistory chunking, so that the use.id.as.filename + parameter as well as the dbhtml_filename PI are taken into account. A new named + template in titlepage.xsl is used to compute the filename. + + ● Mauritz Jeanson: chunk-common.xsl; titlepage.xsl + + An update to the fix for bug #1790495 (r7433): + The "ln-" prefix is output only when the legalnotice doesn't have an + @id/@xml:id, in which case the stylesheets generate an ID value, + resulting in a filename like "ln-7e0fwgj.html". This is useful because + without the prefix, you wouldn't know that the file contained a legalnotice. + The same logic is also applied to revhistory, using an "rh-" prefix. + + ● Mauritz Jeanson: autoidx.xsl + + Removed the [&scope;] predicate from the target variable in the template with name="reference". + This filter was the cause of missing index backlinks when @zone and @type were used on indexterms, + with index.on.type=1. Closes bug #1680836. + + ● Mauritz Jeanson: titlepage.xsl + + Added 'ln-' prefix to the name of the legalnotice chunk, in order to match the + <link href"..."> that is output by make.legalnotice.head.links (chunk-common.xsl). + Modified the href attribute on the legalnotice link. + Closes bug #1790495. + +Manpages + +The following changes have been made to the manpages code since the 1.73.2 +release. + + ● Michael(tm) Smith: other.xsl + + slightly adjusted spacing around admonition markers + + ● Michael(tm) Smith: refentry.xsl; utility.xsl + + make sure refsect3 titles are preceded by a line of space, and + make the indenting of their child content less severe + + ● Michael(tm) Smith: block.xsl + + only indent verbatim environments in TTY output, not in non-TTY/PS + + ● Michael(tm) Smith: block.xsl + + made another adjustment to correct vertical alignment of admonition marker + + ● Michael(tm) Smith: block.xsl; other.xsl + + Adjusted/corrected alignment of adominition marker in PS/non-TTY output. + + ● Michael(tm) Smith: endnotes.xsl + + For PS/non-TTY output, display footnote/endnote numbers in + superscript. + + ● Michael(tm) Smith: table.xsl; synop.xsl; utility.xsl + + Changed handling of hanging indents for cmdsynopsis, funcsynopsis, + and synopfragment such that they now look correct in non-TTY/PS + output. We now use the groff \w escape to hang by the actual width + -- in the current font -- of the command, funcdef, or + synopfragment references number (as opposed to hanging by the + number of characters). This rendering in TTY output remains the + same, since the width in monospaced TTY output is the same as the + number of characters. + + Also, created new synopsis-block-start and synopsis-block-end + templates to use for cmdsynopsis and funcsynopsis instead of the + corresponding verbatim-* templates. + + Along with those changes, also corrected a problem that caused the + content of synopfragment to be dropped, and made a + vertical-spacing change to adjust spacing around table titles and + among sibling synopfragment instances. + + ● Michael(tm) Smith: other.xsl + + use common l10.language.name template to retrieve English-language name + + ● Michael(tm) Smith: synop.xsl; inline.xsl + + added comment in code explaining why we don't put filename output + in italic (despite the fact that man guidelines say we should) + + ● Michael(tm) Smith: inline.xsl + + put filename output in monospace instead of italic + + ● Michael(tm) Smith: synop.xsl + + put cmdsynopsis in monospace + + ● Michael(tm) Smith: inline.xsl + + removed template match for literal. template matches for monospace + inlines are all imported from the HTML stylesheet + + ● Michael(tm) Smith: block.xsl + + don't indent verbatim environments that are descendants of + refsynopsisdiv, not put backgrounds behind them + + ● Michael(tm) Smith: inline.xsl + + set output of the literal element in monospace. this causes all + inline monospace instances in the git man pages to be set in + monospace (since DocBook XML source for git docs is generated with + asciidoc and asciidoc consistently outputs only <literal> for + inline monospace (not <command> or <code> or anything else). + Of course this only affects non-TTY output... + + ● Michael(tm) Smith: utility.xsl + + Added inline.monoseq named template. + + ● Michael(tm) Smith: utility.xsl + + don't bother using a custom register to store the previous + font-family value when setting blocks of text in code font; just + use \F[] .fam with no arg to switch back + + ● Michael(tm) Smith: endnotes.xsl + + put links in blue in PS output (note that this matches how groff + renders content marked up with the .URL macro) + + ● Michael(tm) Smith: endnotes.xsl; param.xweb; param.ent + + removed man.links.are.underlined and added man.font.links. Also, + changed the default font formatting for links to bold. + + ● Michael(tm) Smith: endnotes.xsl; param.xweb; param.ent + + Added new param man.base.url.for.relative.links .. specifies a + base URL for relative links (for ulink, @xlink:href, imagedata, + audiodata, videodata) shown in the generated NOTES section of + man-page output. The value of man.base.url.for.relative.links is + prepended to any relative URI that is a value of ulink url, + xlink:href, or fileref attribute. + + If you use relative URIs in link sources in your DocBook refentry + source, and you leave man.base.url.for.relative.links unset, the + relative links will appear "as is" in the NOTES section of any + man-page output generated from your source. That's probably not + what you want, because such relative links are only usable in the + context of HTML output. So, to make the links meaningful and + usable in the context of man-page output, set a value for + man.base.url.for.relative.links that points + to the online version of HTML output generated from your DocBook + refentry source. For example: + + <xsl:param name="man.base.url.for.relative.links" + >http://www.kernel.org/pub/software/scm/git/docs/</xsl:param> + + ● Michael(tm) Smith: info.xsl + + If a source refentry contains a Documentation or DOCUMENTATION + section, don't report it as having missing AUTHOR information. + Also, if missing a contrib/personblurb for a person or org, report + pointers to http://docbook.sf.net/el/personblurb and to + http://docbook.sf.net/el/contrib + + ● Michael(tm) Smith: info.xsl + + If we encounter an author|editor|othercredit instance that lacks a + personblurb or contrib, report it to the user (because that means + we have no information about that author|editor|othercredit to + display in the generated AUTHOR|AUTHORS section...) + + ● Michael(tm) Smith: info.xsl; docbook.xsl; other.xsl + + if we can't find any usable author data, emit a warning and insert + a fixme in the output + + ● Michael(tm) Smith: info.xsl + + fixed bug in indenting of output for contrib instances in AUTHORS + section. Thanks to Daniel Leidert and the fglrx docs for exposing + the bug. + + ● Michael(tm) Smith: block.xsl + + for a para or simpara that is the first child of a callout, + suppress the .sp or .PP that would normally be output (because in + those cases, the output goes into a table cell, and the .sp or .PP + markup causes a spurious linebreak before it when displayed + + ● Michael(tm) Smith: lists.xsl + + Added support for rendering co callouts and calloutlist instances. + So you can now use simple callouts -- marking up programlisting + and such with co instances -- and have the callouts displayed in + man-page output. ("simple callouts" means using co@id and + callout@arearefs pointing to co@id instances; in man/roff output, + we can't/don't support markup that uses areaset and area) + + ● Michael(tm) Smith: block.xsl + + only put a line of space after a verbatim if it's followed by a + text node or a paragraph + + ● Michael(tm) Smith: utility.xsl + + put verbatim environments in slightly smaller font in non-TTY + output + + ● Michael(tm) Smith: lists.xsl + + minor whitespace-only reformatting of lists.xsl source + + ● Michael(tm) Smith: lists.xsl + + Made refinements/fixes to output of orderedlist and itemizedlist + -- in part, to get mysql man pages to display correctly. This + change causes a "\c" continuation marker to be added between + listitem markers and contents (to ensure that the content remains + on the same line as the marker when displayed) + + ● Michael(tm) Smith: block.xsl + + put a line of vertical space after all verbatim output that has + sibling content following it (not just if that sibling content is + a text node) + + ● Michael(tm) Smith: block.xsl + + refined spacing around titles for admonitions + + ● Michael(tm) Smith: block.xsl; other.xsl + + Deal with case of verbatim environments that have a linebreak + after the opening tag. Assumption is that users generally don't + want that linebreak to appear in output, so we do some groff + hackery to mess with vertical spacing and close the space. + + ● Michael(tm) Smith: inline.xsl + + indexterm instances now produce groff comments like this: + + .\" primary: secondary: tertiary + + remark instances, if non-empty, now produce groff comments + + ● Michael(tm) Smith: charmap.groff.xsl; other.xsl + + convert no-break space character to groff "\ \&" (instead of just + "\ "). the reason is that if a space occurs at the end of a line, + our processing causes it to be eaten. a real-world case of this is + the mysql(1) man page. appending the "\&" prevents that + + ● Michael(tm) Smith: block.xsl + + output "sp" before simpara output, not after it (outputting it + after results in undesirable whitespace in particular cases; for + example, in the hg/mercurial docs + + ● Michael(tm) Smith: table.xsl; synop.xsl; utility.xsl + + renamed from title-preamble to pinch.together and replaced "sp -1" + between synopsis fragments with call to pinch.together instead + + ● Michael(tm) Smith: table.xsl + + use title-preamble template for table titles (instead of "sp -1" + hack), and "sp 1" after all tables (instead of just "sp" + + ● Michael(tm) Smith: utility.xsl + + created title-preamble template for suppressing line spacing after + headings + + ● Michael(tm) Smith: info.xsl + + further refinement of indenting in AUTHORS section + + ● Michael(tm) Smith: block.xsl; other.xsl + + refined handling of admonitions + + ● Michael(tm) Smith: lists.xsl + + Use RS/RE in another place where we had IP "" + + ● Michael(tm) Smith: info.xsl + + Replace (ab)use of IP with "sp -1" in AUTHORS section with RS/RE + instead. + + ● Michael(tm) Smith: table.xsl; synop.xsl; info.xsl + + changed all instances of ".sp -1n" to ".sp -1" + + ● Michael(tm) Smith: other.xsl + + add extra line before SH heads only in non-TTY output + + ● Michael(tm) Smith: block.xsl + + Reworked output for admonitions (caution, important, note, tip, + warning). In TTY output, admonitions now get indented. In non-TTY + output, a colored marker (yellow) is displayed next to them. + + ● Michael(tm) Smith: other.xsl + + Added BM/EM macros for putting a colored marker in margin next to + a block of text. + + ● Michael(tm) Smith: utility.xsl + + created make.bold.title template by moving title-bolding part out + from nested-section-title template. This allows the bolding to + also be used by the template for formatting admonitions + + ● Michael(tm) Smith: info.xsl + + put .br before copyright contents to prevent them from getting run in + + ● Michael(tm) Smith: refentry.xsl; other.xsl; utility.xsl + + made point size of output for Refsect2 and Refsect3 heads bigger + + ● Michael(tm) Smith: other.xsl + + put slightly more space between SH head and underline in non-TTY + output + + ● Michael(tm) Smith: param.xweb; param.ent; other.xsl + + Added the man.charmap.subset.profile.english parameter and refined + the handling of charmap subsets to differentiate between English + and non-English source. + + This way charmap subsets are now handled is this: + + If the value of the man.charmap.use.subset parameter is non-zero, + and your DocBook source is not written in English (that is, if its + lang or xml:lang attribute has a value other than en), then the + character-map subset specified by the man.charmap.subset.profile + parameter is used instead of the full roff character map. + + Otherwise, if the lang or xml:lang attribute on the root element + in your DocBook source or on the first refentry element in your + source has the value en or if it has no lang or xml:lang + attribute, then the character-map subset specified by the + man.charmap.subset.profile.english parameter is used instead of + man.charmap.subset.profile. + + The difference between the two subsets is that + man.charmap.subset.profile provides mappings for characters in + Western European languages that are not part of the Roman + (English) alphabet (ASCII character set). + + ● Michael(tm) Smith: other.xsl + + Various updates, mainly related to uppercasing SH titles: + + - added a "Language: " metadata line to the top comment area of + output man pages, to indicate the language the page is in + + - added a "toupper" macro of doing locale-aware uppercasing of + SH titles and cross-references to SH titles; the mechanism + relies on the uppercase.alpha and lowercase.alpha DocBook + gentext keys to do locale-aware uppercasing based on the + language the page is written in + + - added a "string.shuffle" template, which provides a library + function for "shuffling" two strings together into a single + string; it takes the first character for the first string, the + first character from second string, etc. The only current use + for it is to generate the argument for the groff tr request + that does string uppercasing. + + - added make.tr.uppercase.arg and make.tr.normalcase.arg named + templates for use in generating groff code for uppercasing and + "normal"-casing SH titles + + - made the BB/BE "background drawing" macros have effect only in + non-TTY output + + - output a few comments in the top part of source + + ● Michael(tm) Smith: utility.xsl + + removed some leftover kruft + + ● Michael(tm) Smith: refentry.xsl + + To create the name(s) for each man page, we now replace any spaces + in the refname(s) with underscores. This ensures that tools like + lexgrog(1) will be able to parse the name (lexgrog won't parse + names that contain spaces). + + ● Michael(tm) Smith: docbook.xsl + + Put a comment into source of man page to indicate where the main + content starts. (We now have a few of macro definitions at the + start of the source, so putting this comment in helps those that + might be viewing the source.) + + ● Michael(tm) Smith: refentry.xsl + + refined mechanism for generating SH titles + + ● Michael(tm) Smith: charmap.groff.xsl + + Added zcaron, Zcaron, scaron, and Scaron to the groff character map. + This means that generated Finnish man pages will no longer contain + any raw accented characters -- they'll instead by marked up with + groff escapes. + + ● Michael(tm) Smith: other.xsl; utility.xsl + + corrected a regression I introduced about a year ago that caused + dots to be output just as "\." -- instead needs to be "\&." (which + is what it will be now, after this change) + + ● Michael(tm) Smith: refentry.xsl + + Changed backend handling for generating titles for SH sections and + for cross-references to those sections. This should have no effect + on TTY output (behavior should remain the same hopefully) but + results in titles in normal case (instead of uppercase) in PS + output. + + ● Michael(tm) Smith: info.xsl + + use make.subheading template to make subheadings for AUTHORS and + COPYRIGHT sections (instead of harcoding roff markup) + + ● Michael(tm) Smith: block.xsl + + put code font around programlisting etc. + + ● Michael(tm) Smith: synop.xsl; docbook.xsl + + embed custom macro definitions in man pages, plus wrap synopsis in + code font + + ● Michael(tm) Smith: endnotes.xsl + + use the make.subheading template to generated SH subheading for + endnotes section. + + ● Michael(tm) Smith: lists.xsl + + Added some templates for generating if-then-else conditional + markup in groff, so let's use those instead of hard-coding it in + multiple places... + + ● Michael(tm) Smith: other.xsl; utility.xsl + + Initial checkin of some changes related to making PS/PDF output + from "man -l -Tps" look better. The current changes: + + - render synopsis and verbatim sections in a monospace/code font + + - put a light-grey background behind all programlisting, screen, + and literallayout instances + + - prevent SH heads in PS output from being rendered in uppercase + (as they are in console output) + + - also display xrefs to SH heads in PS output in normal case + (instead of uppercase) + + - draw a line under SH heads in PS output + + The changes made to the code to support the above features were: + + - added some embedded/custom macros: one for conditionally + upper-casing SH x-refs, one for redefining the SH macro + itself, with some conditional handling for PS output, and + finally a macro for putting a background/screen (filled box) + around a block of text (e.g., a program listing) in PS output + + - added utility templates for wrapping blocks of text in code + font; also templates for inline code font + + ● Robert Stayton: refentry.xsl + + refpurpose nodes now get apply-templates instead of just normalize-space(). + + ● Michael(tm) Smith: lists.xsl + + Fixed alignment of first lined of text for each listitem in + orderedlist output for TTY. Existing code seemed to have been + causing an extra undesirable space to appear. + + ● Michael(tm) Smith: lists.xsl + + Wrapped some roff conditionals around roff markup for orderedlist + and itemizedlist output, so that the lists look acceptable in PS + output as well as TTY. + + ● Michael(tm) Smith: pi.xsl; synop.xsl; param.xweb; param.ent + + Added the man.funcsynopsis.style parameter. Has the same effect in + manpages output as the funcsynopsis.style parameter has in HTML + output -- except that its default value is 'ansi' instead of 'kr'. + + ● Michael(tm) Smith: synop.xsl + + Reworked handling of K&R funcprototype output. It no longer relies + on the HTML kr-tabular templates, but instead just does direct + transformation to roff. For K&R output, it displays the paramdef + output in an indented list following the prototype. + + ● Michael(tm) Smith: synop.xsl + + Properly integrated handling for K&R output into manpages + stylesheet. The choice between K&R output and ANSI output is + currently controlled through use of the (HTML) funcsynopsis.style + parameter. Note that because the mechanism does currently rely on + funcsynopsis.style, the default in manpages output is now K&R + (because that's the default of that param). But I suppose I ought + to create a man.funcsynopsis.style and make the default for that + ANSI (to preserve the existing default behavior). + + ● Michael(tm) Smith: docbook.xsl + + added manpages/pi.xsl file + + ● Michael(tm) Smith: .cvsignore; pi.xsl + + Added "dbman funcsynopsis-style" PI and incorporated it into the + doc build. + + ● Michael(tm) Smith: refentry.xsl + + Fixed regression that caused an unescaped dash to be output + between refname and refpurpose content. Closes bug #1894244. + Thanks to Daniel Leidert. + + ● Michael(tm) Smith: other.xsl + + Fixed problem with dots being escaped in filenames of generated + man files. Closes #1827195. Thanks to Daniel Leidert. + + ● Michael(tm) Smith: inline.xsl + + Added support for processing structfield (was appearing in roff + output surrounded by HTML <em> tags; fixed so that it gets roff + ital markup). Closes bug #1858329. Thanks to Sam Varshavchik. + +Epub + +The following changes have been made to the epub code since the 1.73.2 release. + + ● Keith Fahlgren: bin/spec/README; bin/spec/epub_realbook_spec.rb + + 'Realbook' spec now passes + + ● Keith Fahlgren: bin/dbtoepub; README; bin/spec/README; bin/lib/docbook.rb; + bin/spec/epub_r⋯ + + Very primitive Windows support for dbtoepub reference implementation; README for running tests and for the .epub target in general; shorter realbook test document (still fails for now) + + ● Keith Fahlgren: bin/dbtoepub; bin/spec/epub_regressions_spec.rb; bin/lib/ + docbook.rb; bin/s⋯ + + Changes to OPF spine to not duplicate idrefs for documents with parts not at the root; regression specs for same + + ● Keith Fahlgren: docbook.xsl + + Fixing linking to cover @id, distinct from other needs of cover-image-id (again, thanks to Martin Goerner) + + ● Keith Fahlgren: docbook.xsl + + Updating the title of the toc element in the guide to be more explicit (thanks to Martin Goerner) + + ● Keith Fahlgren: bin/spec/examples/amasque_exploded/content.opf; bin/spec/ + examples/amasque_⋯ + + Initial checkin/merge of epub target from work provided by Paul Norton of Adobe + and Keith Fahlgren of O'Reilly. + + ● Keith Fahlgren: docbook.xsl + + == General epub test support + + $ spec -O ~/.spec.opts spec/epub_spec.rb + + DocBook::Epub + - should be able to be created + - should fail on a nonexistent file + - should be able to render to a file + - should create a file after rendering + - should have the correct mimetype after rendering + - should be valid .epub after rendering an article + - should be valid .epub after rendering an article without sections + - should be valid .epub after rendering a book + - should be valid .epub after rendering a book even if it has one graphic + - should be valid .epub after rendering a book even if it has many graphics + - should be valid .epub after rendering a book even if it has many duplicated graphics + - should report an empty file as invalid + - should confirm that a valid .epub file is valid + - should not include PDFs in rendered epub files as valid image inclusions + - should include a TOC link in rendered epub files for <book>s + + Finished in 20.608395 seconds + + 15 examples, 0 failures + + + == Verbose epub test coverage against _all_ of the testdocs + + Fails on only (errors truncated): + 1) + 'DocBook::Epub should be able to render a valid .epub for the test document /Users/keith/work/docbook-dev/trunk/xsl/epub/bin/spec/testdocs/calloutlist.003.xml [30]' FAILED + 'DocBook::Epub should be able to render a valid .epub for the test document /Users/keith/work/docbook-dev/trunk/xsl/epub/bin/spec/testdocs/cmdsynopsis.001.xml [35]' FAILED + .... + + Finished in 629.89194 seconds + + 224 examples, 15 failures + + 224 examples, 15 failures yields 6% failure rate + +HTMLHelp + +The following changes have been made to the htmlhelp code since the 1.73.2 +release. + + ● Mauritz Jeanson: htmlhelp-common.xsl + + Added <xsl:with-param name="quiet" select="$chunk.quietly"/> to calls to + the write.chunk, write.chunk.with.doctype, and write.text.chunk templates. + This makes chunk.quietly=1 suppress chunk filename messages also for help + support files (which seems to be what one would expect). See bug #1648360. + +Eclipse + +The following changes have been made to the eclipse code since the 1.73.2 +release. + + ● David Cramer: eclipse.xsl + + Use sortas attributes (if they exist) when sorting indexterms + + ● David Cramer: eclipse.xsl + + Added support for indexterm/see in eclipse index.xml + + ● Mauritz Jeanson: eclipse.xsl + + Added <xsl:with-param name="quiet" select="$chunk.quietly"/> + to helpidx template. + + ● David Cramer: eclipse.xsl + + Generate index.xml file and add related goo to plugin.xml file. Does not yet support see and seealso. + + ● Mauritz Jeanson: eclipse.xsl + + Added <xsl:with-param name="quiet" select="$chunk.quietly"/> to calls to + the write.chunk, write.chunk.with.doctype, and write.text.chunk templates. + This makes chunk.quietly=1 suppress chunk filename messages also for help + support files (which seems to be what one would expect). See bug #1648360. + +JavaHelp + +The following changes have been made to the javahelp code since the 1.73.2 +release. + + ● Mauritz Jeanson: javahelp.xsl + + Added <xsl:with-param name="quiet" select="$chunk.quietly"/> to calls to + the write.chunk, write.chunk.with.doctype, and write.text.chunk templates. + This makes chunk.quietly=1 suppress chunk filename messages also for help + support files (which seems to be what one would expect). See bug #1648360. + +Roundtrip + +The following changes have been made to the roundtrip code since the 1.73.2 +release. + + ● Steve Ball: blocks2dbk.xsl; wordml2normalise.xsl + + fix table/cell borders for wordml, fix formal figure, add emphasis-strong + + ● Mauritz Jeanson: supported.xml + + Changed @cols to 5. + + ● Steve Ball: blocks2dbk.xsl; blocks2dbk.dtd; template.xml + + added pubdate, fixed metadata handling in biblioentry + + ● Steve Ball: supported.xml + + Added support for edition. + + ● Steve Ball: docbook-pages.xsl; wordml-blocks.xsl; docbook.xsl; wordml.xsl; + pages-normalise⋯ + + Removed stylesheets for old, deprecated conversion method. + + ● Steve Ball: specifications.xml; dbk2ooo.xsl; blocks2dbk.xsl; dbk2pages.xsl; + blocks2dbk.dtd⋯ + + Added support for Open Office, added edition element, improved list and table support in Word and Pages + + ● Steve Ball: normalise-common.xsl; blocks2dbk.xsl; dbk2pages.xsl; + template-pages.xml; templ⋯ + + Fixed bug in WordML table handling, improved table handling for Pages 08, synchronised WordML and Pages templates. + + ● Steve Ball: normalise-common.xsl; blocks2dbk.xsl; wordml2normalise.xsl; + dbk2wp.xsl + + fix caption, attributes + + ● Steve Ball: specifications.xml; blocks2dbk.xsl; wordml2normalise.xsl; + blocks2dbk.dtd; temp⋯ + + Fixes to table and list handling + + ● Steve Ball: blocks2dbk.xsl + + added support for explicit emphasis character styles + + ● Steve Ball: wordml2normalise.xsl + + added support for customisation in image handling + + ● Steve Ball: blocks2dbk.xsl + + Added inlinemediaobject support for metadata. + + ● Steve Ball: normalise-common.xsl; blocks2dbk.xsl; template.xml; + dbk2wordml.xsl; dbk2wp.xsl + + Added support file. Added style locking. Conversion bug fixes. + +Slides + +The following changes have been made to the slides code since the 1.73.2 +release. + + ● Michael(tm) Smith: fo/Makefile; html/Makefile + + Added checks and hacks to various makefiles to enable building + under Cygwin. This stuff is ugly and maybe not worth the mess and + trouble, but does seem to work as expected and not break anything + else. + + ● Jirka Kosek: html/plain.xsl + + Added support for showing foil number + +Website + +The following changes have been made to the website code since the 1.73.2 +release. + + ● Michael(tm) Smith: extensions/saxon64/.classes/.gitignore; extensions/ + xalan2/.classes/com/⋯ + + renamed a bunch more .cvsignore files to .gitignore (to facilitate use of git-svn) + +Params + +The following changes have been made to the params code since the 1.73.2 +release. + + ● Keith Fahlgren: epub.autolabel.xml + + New parameter for epub, epub.autolabel + + ● Mauritz Jeanson: table.frame.border.color.xml; table.cell.padding.xml; + table.cell.border.t⋯ + + Added missing refpurposes and descriptions. + + ● Keith Fahlgren: ade.extensions.xml + + Extensions to support Adobe Digital Editions extensions in .epub output. + + ● Mauritz Jeanson: fop.extensions.xml; fop1.extensions.xml + + Clarified that fop1.extensions is for FOP 0.90 and later. Version 1 is not here yet... + + ● Michael(tm) Smith: man.links.are.underlined.xml; + man.endnotes.list.enabled.xml; man.font.l⋯ + + removed man.links.are.underlined and added man.font.links. Also, + changed the default font formatting for links to bold. + + ● Michael(tm) Smith: man.base.url.for.relative.links.xml + + Added new param man.base.url.for.relative.links .. specifies a + base URL for relative links (for ulink, @xlink:href, imagedata, + audiodata, videodata) shown in the generated NOTES section of + man-page output. The value of man.base.url.for.relative.links is + prepended to any relative URI that is a value of ulink url, + xlink:href, or fileref attribute. + + If you use relative URIs in link sources in your DocBook refentry + source, and you leave man.base.url.for.relative.links unset, the + relative links will appear "as is" in the NOTES section of any + man-page output generated from your source. That's probably not + what you want, because such relative links are only usable in the + context of HTML output. So, to make the links meaningful and + usable in the context of man-page output, set a value for + man.base.url.for.relative.links that points + to the online version of HTML output generated from your DocBook + refentry source. For example: + + <xsl:param name="man.base.url.for.relative.links" + >http://www.kernel.org/pub/software/scm/git/docs/</xsl:param> + + ● Michael(tm) Smith: man.string.subst.map.xml + + squeeze .sp\n.sp into a single .sp (to prevent a extra, spurious + line of whitespace from being inserted after programlisting etc. + in certain cases) + + ● Michael(tm) Smith: refentry.manual.fallback.profile.xml; + refentry.source.fallback.profile.⋯ + + don't use refmiscinfo@class=date value as fallback for refentry + "source" or "manual" metadata fields + + ● Michael(tm) Smith: man.charmap.subset.profile.xml; man.charmap.enabled.xml; + man.charmap.su⋯ + + made some further doc tweaks related to the + man.charmap.subset.profile.english param + + ● Michael(tm) Smith: man.charmap.subset.profile.xml; man.charmap.enabled.xml; + man.charmap.su⋯ + + Added the man.charmap.subset.profile.english parameter and refined + the handling of charmap subsets to differentiate between English + and non-English source. + + This way charmap subsets are now handled is this: + + If the value of the man.charmap.use.subset parameter is non-zero, + and your DocBook source is not written in English (that is, if its + lang or xml:lang attribute has a value other than en), then the + character-map subset specified by the man.charmap.subset.profile + parameter is used instead of the full roff character map. + + Otherwise, if the lang or xml:lang attribute on the root element + in your DocBook source or on the first refentry element in your + source has the value en or if it has no lang or xml:lang + attribute, then the character-map subset specified by the + man.charmap.subset.profile.english parameter is used instead of + man.charmap.subset.profile. + + The difference between the two subsets is that + man.charmap.subset.profile provides mappings for characters in + Western European languages that are not part of the Roman + (English) alphabet (ASCII character set). + + ● Michael(tm) Smith: man.charmap.subset.profile.xml + + Added to default charmap used by manpages: + + - the "letters" part of the 'C1 Controls And Latin-1 Supplement + (Latin-1 Supplement)' Unicode block + - Latin Extended-A block (but not all of the characters from + that block have mappings in groff, so some of them are still + passed through as-is) + + The effects of this change are that in man pages generated for + most Western European languages and for Finnish, all characters + not part of the Roman alphabet are (e.g., "accented" characters) + are converted to groff escapes. + + Previously, by default we passed through those characters as is + (and users needed to use the full charmap if they wanted to have + those characters converted). + + As a result of this change, man pages generated for Western + European languages will be viewable in some environments in which + they are not viewable if the "raw" non-Roman characters are in them. + + ● Mauritz Jeanson: generate.legalnotice.link.xml; + generate.revhistory.link.xml + + Added information on how the filename is computed. + + ● Mauritz Jeanson: default.table.width.xml + + Clarified PI usage. + + ● Michael(tm) Smith: man.funcsynopsis.style.xml + + Added the man.funcsynopsis.style parameter. Has the same effect in + manpages output as the funcsynopsis.style parameter has in HTML + output -- except that its default value is 'ansi' instead of 'kr'. + + ● Michael(tm) Smith: funcsynopsis.tabular.threshold.xml + + Removed the funcsynopsis.tabular.threshold param. It's no longer + being used in the code and hasn't been since mid 2006. + + ● Mauritz Jeanson: table.properties.xml + + Set keep-together.within-column to "auto". This seems to be the most sensible + default value for tables. + + ● Mauritz Jeanson: informal.object.properties.xml; + admon.graphics.extension.xml; informalequ⋯ + + Several small documentation fixes. + + ● Mauritz Jeanson: manifest.in.base.dir.xml + + Wording fixes. + + ● Mauritz Jeanson: header.content.properties.xml; + footer.content.properties.xml + + Added refpurpose. + + ● Mauritz Jeanson: ulink.footnotes.xml; ulink.show.xml + + Updated for DocBook 5. + + ● Mauritz Jeanson: index.method.xml; glossterm.auto.link.xml + + Spelling and wording fixes. + + ● Mauritz Jeanson: callout.graphics.extension.xml + + Clarifed available graphics formats and extensions. + + ● Mauritz Jeanson: footnote.sep.leader.properties.xml + + Corrected refpurpose. + + ● Jirka Kosek: footnote.properties.xml + + Added more properties which make it possible to render correctly footnotes placed inside verbatim elements. + + ● Mauritz Jeanson: img.src.path.xml + + img.src.path works with inlinegraphic too. + + ● Mauritz Jeanson: saxon.character.representation.xml + + Added TCG link. + + ● Mauritz Jeanson: img.src.path.xml + + Updated description of img.src.path. Bug #1785224 revealed that + there was a risk of misunderstanding how it works. + +Profiling + +The following changes have been made to the profiling code since the 1.73.2 +release. + + ● Jirka Kosek: xsl2profile.xsl + + Added new rules to profile all content generated by HTML Help (including alias files) + + ● Robert Stayton: profile-mode.xsl + + use mode="profile" instead of xsl:copy-of for attributes so + they can be more easily customized. + +Tools + +The following changes have been made to the tools code since the 1.73.2 +release. + + ● Michael(tm) Smith: make/Makefile.DocBook + + various changes and additions to support making with asciidoc as + an input format + + ● Michael(tm) Smith: make/Makefile.DocBook + + make dblatex the default PDF maker for the example makefile + + ● Michael(tm) Smith: xsl/build/html2roff.xsl + + Reworked handling of K&R funcprototype output. It no longer relies + on the HTML kr-tabular templates, but instead just does direct + transformation to roff. For K&R output, it displays the paramdef + output in an indented list following the prototype. + + ● Mauritz Jeanson: xsl/build/make-xsl-params.xsl + + Made attribute-sets members of the param list. This enables links to attribute-sets in the + reference documentation. + + ● Michael(tm) Smith: xsl/build/html2roff.xsl + + use .BI handling in K&R funsynopsis output for manpages, just as + we do already of ANSI output + + ● Michael(tm) Smith: xsl/build/html2roff.xsl + + Implemented initial support for handling tabular K&R output of + funcprototype in manpages output. Accomplished by adding more + templates to the intermediate HTML-to-roff stylesheet that the + build uses to create the manpages/html-synop.xsl stylesheet. + + ● Michael(tm) Smith: xsl/build/doc-link-docbook.xsl + + Made the xsl/tools/xsl/build/doc-link-docbook.xsl stylesheet + import profile-docbook.xsl, so that we can do profiling of release + notes. Corrected some problems in the target for the release-notes + HTML build. + +Extensions + +The following changes have been made to the extensions code since the 1.73.2 +release. + + ● Keith Fahlgren: Makefile + + Use DOCBOOK_SVN variable everywhere, please; build with PDF_MAKER + + ● Michael(tm) Smith: Makefile + + moved extensions build targets from master xsl/Makefile to + xsl/extensions/Makefile + + ● Michael(tm) Smith: .cvsignore + + re-adding empty extensions subdir + +XSL-Saxon + +The following changes have been made to the xsl-saxon code since the 1.73.2 +release. + + ● Michael(tm) Smith: VERSION + + bring xsl2, xsl-saxon, and xsl-xalan VERSION files up-to-date with + recent change to snapshot build infrastructure + + ● Michael(tm) Smith: nbproject/build-impl.xml; nbproject/project.properties + + Changed hard-coded file references in "clean" target to variable + references. Closes #1792043. Thanks to Daniel Leidert. + + ● Michael(tm) Smith: VERSION; Makefile + + Did post-release wrap-up of xsl-saxon and xsl-xalan dirs + + ● Michael(tm) Smith: nbproject/build-impl.xml; VERSION; Makefile; test + + More tweaks to get release-ready + +XSL-Xalan + +The following changes have been made to the xsl-xalan code since the 1.73.2 +release. + + ● Michael(tm) Smith: VERSION + + bring xsl2, xsl-saxon, and xsl-xalan VERSION files up-to-date with + recent change to snapshot build infrastructure + + ● Michael(tm) Smith: nbproject/build-impl.xml + + Changed hard-coded file references in "clean" target to variable + references. Closes #1792043. Thanks to Daniel Leidert. + + ● Michael(tm) Smith: Makefile; VERSION + + Did post-release wrap-up of xsl-saxon and xsl-xalan dirs + + ● Michael(tm) Smith: Makefile; nbproject/build-impl.xml; VERSION + + More tweaks to get release-ready + +XSL-libxslt + +The following changes have been made to the xsl-libxslt code since the 1.73.2 +release. + + ● Mauritz Jeanson: python/xslt.py + + Print the result to stdout if no outfile has been given. + Some unnecessary semicolons removed. + + ● Mauritz Jeanson: python/xslt.py + + Added a function that quotes parameter values (to ensure that they are interpreted as strings). + Replaced deprecated functions from the string module with string methods. + + ● Michael(tm) Smith: python/README; python/README.LIBXSLT + + renamed xsl-libxslt/python/README to xsl-libxslt/python/README.LIBXSLT + + ● Mauritz Jeanson: python/README + + Tweaked the text a little. + +Release Notes: 1.73.2 + +This is solely a minor bug-fix update to the 1.73.1 release. It fixes a +packaging error in the 1.73.1 package, as well as a bug in footnote handling in +FO output. + +Release: 1.73.1 + +This is mostly a bug-fix update to the 1.73.0 release. + +Gentext + +The following changes have been made to the gentext code since the 1.73.0 +release. + + ● Mauritz Jeanson: locale/de.xml + + Applied patch #1766009. + + ● Michael(tm) Smith: locale/lv.xml + + Added localization for ProductionSet. + +FO + +The following changes have been made to the fo code since the 1.73.0 release. + + ● Mauritz Jeanson: table.xsl + + Modified the tgroup template so that, for tables with multiple tgroups, + a width attribute is output on all corresponding fo:tables. Previously, + there was a test prohibiting this (and a comment saying that outputting more + than one width attribute will cause an error). But this seems to be no longer + relevant; it is not a problem with FOP 0.93 or XEP 4.10. Closes bug #1760559. + + ● Mauritz Jeanson: graphics.xsl + + Replaced useless <a> elements with warning messages (textinsert extension). + + ● Mauritz Jeanson: admon.xsl + + Enabled generation of ids (on fo:wrapper) for indexterms in admonition titles, so that page + references in the index can be created. Closes bug #1775086. + +HTML + +The following changes have been made to the html code since the 1.73.0 release. + + ● Mauritz Jeanson: titlepage.xsl + + Added <xsl:call-template name="process.footnotes"/> to abstract template + so that footnotes in info/abstract are processed. Closes bug #1760907. + + ● Michael(tm) Smith: pi.xsl; synop.xsl + + Changed handling of HTML output for the cmdsynopsis and + funcsynopsis elements, such that a@id instances are generated for + them if they are descendants of any element containing a dbcmdlist + or dbfunclist PI. Also, update the embedded reference docs for the + dbcmdlist and dbfunclist PIs to make it clear that they can be + used within any element for which cmdsynopsis or funcsynopsis are + valid children. + + ● Michael(tm) Smith: formal.xsl + + Reverted the part of revision 6952 that caused a@id anchors to be + generated for output of informal objects. Thanks to Sam Steingold + for reporting. + + ● Robert Stayton: glossary.xsl + + Account for a glossary with no glossdiv or glossentry children. + + ● Mauritz Jeanson: titlepage.xsl + + Modified legalnotice template so that the base.name parameter is calculated + in the same way as for revhistory chunks. Using <xsl:apply-templates + mode="chunk-filename" select="."/> did not work for single-page output since + the template with that mode is in chunk-code.xsl. + + ● Mauritz Jeanson: graphics.xsl + + Updated support for SVG (must be a child of imagedata in DB 5). + Added support for MathML in imagedata. + + ● Mauritz Jeanson: pi.xsl + + Added documentation for the dbhh PI (used for context-sensitive HTML Help). + (The two templates matching 'dbhh' are still in htmlhelp-common.xsl). + +Manpages + +The following changes have been made to the manpages code since the 1.73.0 +release. + + ● Michael(tm) Smith: endnotes.xsl + + In manpages output, generate warnings about notesources with + non-para children only if the notesource is a footnote or + annotation. Thanks to Sam Steingold for reporting problems with + the existing handling. + +HTMLHelp + +The following changes have been made to the htmlhelp code since the 1.73.0 +release. + + ● Michael(tm) Smith: htmlhelp-common.xsl + + Added single-pass namespace-stripping support to the htmlhelp, + eclipse, and javahelp stylesheets. + +Eclipse + +The following changes have been made to the eclipse code since the 1.73.0 +release. + + ● Michael(tm) Smith: eclipse.xsl + + Added single-pass namespace-stripping support to the htmlhelp, + eclipse, and javahelp stylesheets. + +JavaHelp + +The following changes have been made to the javahelp code since the 1.73.0 +release. + + ● Michael(tm) Smith: javahelp.xsl + + Added single-pass namespace-stripping support to the htmlhelp, + eclipse, and javahelp stylesheets. + +Roundtrip + +The following changes have been made to the roundtrip code since the 1.73.0 +release. + + ● Steve Ball: blocks2dbk.xsl; blocks2dbk.dtd; pages2normalise.xsl + + Modularised blocks2dbk to allow customisation, + Added support for tables to pages2normalise + +Params + +The following changes have been made to the params code since the 1.73.0 +release. + + ● Robert Stayton: procedure.properties.xml + + procedure was inheriting keep-together from formal.object.properties, but + a procedure does not need to be kept together by default. + + ● Dave Pawson: title.font.family.xml; + component.label.includes.part.label.xml; table.frame.b⋯ + + Regular formatting re-org. + +Release: 1.73.0 + +This release includes important bug fixes and adds the following significant +feature changes: + +New localizations and localization updates + + We added two new localizations: Latvian and Esperanto, and made updates to + the Czech, Chinese Simplified, Mongolian, Serbian, Italian, and Ukrainian + localizations. + +ISO690 citation style for bibliography output. + + Set the bibliography.style parameter to iso690 to use ISO690 style. + +New documentation for processing instructions (PI) + + The reference documentation that ships with the release now includes + documentation on all PIs that you can use to control output from the + stylesheets. + +New profiling parameters for audience and wordsize + + You can now do profiling based on the values of the audience and wordsize + attributes. + +Changes to man-page output + + The manpages stylesheet now supports single-pass profiling and single-pass + DocBook 5 namespace stripping (just as the HTML and FO stylesheets also + do). Also, added handling for mediaobject & inlinemediaobject. (Each + imagedata, audiodata, or videodata element within a mediaobject or inline + mediaobject is now treated as a "notesource" and so handled in much the + same way as links and annotation/alt/footnote are in manpages output.) And + added the man.authors.section.enabled and man.copyright.section.enabled + parameters to enable control over whether output includes auto-generated + AUTHORS and COPYRIGHT sections. + +Highlighting support for C + + The highlighting mechanism for generating syntax-highlighted code snippets + in output now supports C code listings (along with Java, PHP, XSLT, and + others). + +Experimental docbook-xsl-update script + + We added an experimental docbook-xsl-update script, the purpose of which is + to facilitate easy sync-up to the latest docbook-xsl snapshot (by means of + rsync). + +Gentext + +The following changes have been made to the gentext code since the 1.72.0 +release. + + ● Michael(tm) Smith: locale/lv.xml; Makefile + + Added Latvian localization file, from Girts Ziemelis. + + ● Dongsheng Song: locale/zh_cn.xml + + Brought up to date with en.xml in terms of items. A few strings marked for translation. + + ● Jirka Kosek: locale/cs.xml + + Added missing translations + + ● Robert Stayton: locale/eo.xml + + New locale for Esperanto. + + ● Robert Stayton: locale/mn.xml + + Update from Ganbold Tsagaankhuu. + + ● Jirka Kosek: locale/en.xml; locale/cs.xml + + Rules for normalizing glossary entries before they are sorted can be now different for each language. + + ● Michael(tm) Smith: locale/sr_Latn.xml; locale/sr.xml + + Committed changes from Miloš Komarčević to Serbian files. + + ● Robert Stayton: locale/ja.xml + + Fix chapter in context xref-number-and-title + + ● Robert Stayton: locale/it.xml + + Improved version from contributor. + + ● Mauritz Jeanson: locale/uk.xml + + Applied patch 1592083. + +Common + +The following changes have been made to the common code since the 1.72.0 +release. + + ● Michael(tm) Smith: labels.xsl + + Changed handling of reference auto-labeling such that reference + (when it appears at the component level) is now affected by the + label.from.part param, just as preface, chapter, and appendix. + + ● Michael(tm) Smith: common.xsl + + Added support to the HTML stylesheets for proper processing of + orgname as a child of author. + + ● Michael(tm) Smith: refentry.xsl + + Refined logging output of refentry metadata-gathering template; + for some cases of "missing" elements (refmiscinfo stuff, etc.), + the log messages now include URL to corresponding page in the + Definitive Guide (TDG). + + ● Robert Stayton: titles.xsl + + Add refsection/info/title support. + + ● Michael(tm) Smith: titles.xsl + + Added support for correct handling of xref to elements that + contain info/title descendants but no title children. + + This should be further refined so that it handles any *info + elements. And there are probably some other places where similar + handling for *info/title should be added. + + ● Mauritz Jeanson: pi.xsl + + Modified <xsl:when> in datetime.format template to work + around Xalan bug. + +FO + +The following changes have been made to the fo code since the 1.72.0 release. + + ● Robert Stayton: component.xsl + + Add parameters to the page.sequence utility template. + + ● Mauritz Jeanson: xref.xsl + + Added template for xref to area/areaset. + Part of fix for bug #1675513 (xref to area broken). + + ● Michael(tm) Smith: inline.xsl + + Added template match for person element to fo stylesheet. + + ● Robert Stayton: lists.xsl + + Added support for spacing="compact" in variablelist, per bug report #1722540. + + ● Robert Stayton: table.xsl + + table pgwide="1" should also use pgwide.properties attribute-set. + + ● Mauritz Jeanson: inline.xsl + + Make citations numbered if bibliography.numbered != 0. + + ● Robert Stayton: param.xweb; param.ent + + Add new profiling parameters for audience and wordsize. + + ● Robert Stayton: param.xweb; param.ent + + Added callout.icon.size parameter. + + ● Robert Stayton: inline.xsl; xref.xsl + + Add support for xlink as olink. + + ● Robert Stayton: autotoc.xsl; param.xweb; param.ent + + Add support for qanda.in.toc to fo TOC. + + ● Robert Stayton: component.xsl + + Improved the page.sequence utility template for use with book. + + ● Robert Stayton: division.xsl + + Refactored the big book template into smaller pieces. + Used the "page.sequence" utility template in + component.xsl to shorten the toc piece. + Added placeholder templates for front.cover and back.cover. + + ● Robert Stayton: param.xweb; param.ent; sections.xsl + + Add section.container.element parameter to enable + pgwide spans inside sections. + + ● Robert Stayton: param.xweb; param.ent; component.xsl + + Add component.titlepage.properties attribute-set to + support span="all" and other properties. + + ● Robert Stayton: htmltbl.xsl; table.xsl + + Apply table.row.properties template to html tr rows too. + Add keep-with-next to table.row.properties when row is in thead. + + ● Robert Stayton: table.xsl + + Add support for default.table.frame parameter. + Fix bug 1575446 rowsep last check for @morerows. + + ● Robert Stayton: refentry.xsl + + Add support for info/title in refsections. + + ● David Cramer: qandaset.xsl + + Make fo questions and answers behave the same way as html + + ● Jirka Kosek: lists.xsl + + Added missing attribute set for procedure + + ● Jirka Kosek: param.xweb; biblio.xsl; docbook.xsl; param.ent; + biblio-iso690.xsl + + Added support for formatting biblioentries according to ISO690 citation style. + New bibliography style can be turned on by setting parameter bibliography.style to "iso690" + The code was provided by Jana Dvorakova + + ● Robert Stayton: param.xweb; param.ent; pagesetup.xsl + + Add header.table.properties and footer.table.properties attribute-sets. + + ● Robert Stayton: inline.xsl + + Add fop1.extensions for menuchoice arrow handling exception. + +HTML + +The following changes have been made to the html code since the 1.72.0 release. + + ● Mauritz Jeanson: param.xweb; param.ent + + Moved declaration and documentation of javahelp.encoding from javahelp.xsl to the + regular "parameter machinery". + + ● Michael(tm) Smith: admon.xsl + + Changed handling of titles for note, warning, caution, important, + tip admonitions: We now output and HTML h3 head only if + admon.textlabel is non-zero or if the admonition actually contains + a title; otherwise, we don't output an h3 head at all. + (Previously, we were outputting an empty h3 if the admon.textlabel + was zero and if the admonition had no title.) + + ● Mauritz Jeanson: xref.xsl + + Added template for xref to area/areaset. + Part of fix for bug #1675513 (xref to area broken). + + ● Mauritz Jeanson: titlepage.xsl; component.xsl; division.xsl; sections.xsl + + Added fixes to avoid duplicate ids when generate.id.attributes = 1. + This (hopefully) closes bug #1671052. + + ● Michael(tm) Smith: formal.xsl; pi.xsl + + Made the dbfunclist PI work as intended. Also added doc for + dbfunclist and dbcmdlist PIs. + + ● Michael(tm) Smith: pi.xsl; synop.xsl + + Made the dbcmdlist work the way it appears to have been intended + to work. Restored dbhtml-dir template back to pi.xsl. + + ● Michael(tm) Smith: titlepage.xsl; param.xweb; param.ent + + Added new param abstract.notitle.enabled. + If non-zero, in output of the abstract element on titlepages, + display of the abstract title is suppressed. + Because sometimes you really don't want or need that title + there... + + ● Michael(tm) Smith: chunk-code.xsl; graphics.xsl + + When we are chunking long descriptions for mediaobject instances + into separate HTML output files, and use.id.as.filename is + non-zero, if a mediaobject has an ID, use that ID as the basename + for the long-description file (otherwise, we generate an ID for it + and use that ID as the basename for the file). + The parallels the recent change made to cause IDs for legalnotice + instances to be used as basenames for legalnotice chunks. + Also, made some minor refinements to the recent changes for + legalnotice chunk handling. + + ● Michael(tm) Smith: titlepage.xsl + + Added support to the HTML stylesheets for proper processing of + orgname as a child of author. + + ● Michael(tm) Smith: chunk-code.xsl + + When $generate.legalnotice.link is non-zero and + $use.id.as.filename is also non-zero, if a legalnotice has an ID, + then instead of assigning the "ln-<generatedID>" basename to the + output file for that legalnotice, just use its real ID as the + basename for the file -- as we do when chunking other elements + that have IDs. + + ● David Cramer: xref.xsl + + Handle alt text on xrefs to steps when the step doesn't have a title. + + ● David Cramer: lists.xsl + + Added <p> element around term in variablelist when formatted as table to avoid misalignment of term and listitem in xhtml (non-quirks mode) output + + ● David Cramer: qandaset.xsl + + Added <p> element around question and answer labels to avoid misalignment of label and listitem in xhtml (non-quirks mode) output + + ● David Cramer: lists.xsl + + Added <p> element around callouts to avoid misalignment of callout and listitem in xhtml (non-quirks mode) output + + ● Mauritz Jeanson: inline.xsl + + Make citations numbered if bibliography.numbered != 0. + + ● Robert Stayton: param.xweb; param.ent + + Add support for new profiling attributes audience and wordsize. + + ● Robert Stayton: inline.xsl; xref.xsl + + Add support for xlink olinks. + + ● Jirka Kosek: glossary.xsl + + Rules for normalizing glossary entries before they are sorted can be now different for each language. + + ● Robert Stayton: chunk-common.xsl; chunk-code.xsl; manifest.xsl; chunk.xsl + + Refactored the chunking modules to move all named templates to + chunk-common.xsl and all match templates to chunk-code.xsl, in + order to enable better chunk customization. + See the comments in chunk.xsl for more details. + + ● Robert Stayton: lists.xsl + + Add anchor for xml:id for listitem in varlistentry. + + ● Robert Stayton: refentry.xsl + + Add support for info/title in refsections for db5. + + ● Jirka Kosek: param.xweb; biblio.xsl; docbook.xsl; param.ent; + biblio-iso690.xsl + + Added support for formatting biblioentries according to ISO690 citation style. + New bibliography style can be turned on by setting parameter bibliography.style to "iso690" + The code was provided by Jana Dvorakova + + ● Robert Stayton: inline.xsl; xref.xsl + + Add call to class.attribute to <a> output elements so they can + have a class value too. + + ● Mauritz Jeanson: glossary.xsl + + Fixed bug #1644881: + * Added curly braces around all $language attribute values. + * Moved declaration of language variable to top level of stylesheet. + Tested with Xalan, Saxon, and xsltproc. + +Manpages + +The following changes have been made to the manpages code since the 1.72.0 +release. + + ● Michael(tm) Smith: param.xweb; docbook.xsl; param.ent + + Added the man.authors.section.enabled and + man.copyright.section.enabled parameters. Set those to zero when + you want to suppress display of the auto-generated AUTHORS and + COPYRIGHT sections. Closes request #1467806. Thanks to Daniel + Leidert. + + ● Michael(tm) Smith: docbook.xsl + + Took the test that the manpages stylesheet does to see if there + are any Refentry chilren in current doc, and made it + namespace-agnostic. Reason for that is because the test otherwise + won't work when it is copied over into the generated + profile-docbook.xsl stylesheet. + + ● Michael(tm) Smith: Makefile + + Added a manpages/profile-docbook.xsl file to enable single-pass + profiling for manpages output. + + ● Michael(tm) Smith: info.xsl + + Output copyright and legalnotice in man-page output in whatever + place they are in in document order. Closes #1690539. Thanks to + Daniel Leidert for reporting. + + ● Michael(tm) Smith: docbook.xsl + + Restored support for single-pass namespace stripping to manpages + stylesheet. + + ● Michael(tm) Smith: synop.xsl; block.xsl; info.xsl; inline.xsl; lists.xsl; + endnotes.xsl; ut⋯ + + Changed handling of bold and italic/underline output in manpages + output. Should be transparent to users, but... + + This touches handling of all bold and italic/underline output. The + exact change is that the mode="bold" and mode="italic" utility + templates were changed to named templates. (I think maybe I've + changed it back and forth from mode to named before, so this is + maybe re-reverting it yet again). + + Anyway, the reason for the change is that the templates are + sometimes call on dynamically node-sets, and using modes to format + those doesn't allow passing info about the current/real context + node from the source (not the node-set created by the stylesheet) + to that formatting stage. + + The named templates allow the context to be passed in as a + parameter, so that the bold/ital formatting template can use + context-aware condition checking. + + This was basically necessary in order to suppress bold formatting + in titles, which otherwise gets screwed up because of the numbnut + way that roff handles nested bold/ital. + + Closes #1674534). Much thanks to Daniel Leidert, whose in his + docbook-xsl bug-finding kung-fu has achieved Grand Master status. + + ● Michael(tm) Smith: block.xsl + + Fixed handling of example instances by adding the example element + to the same template we use for processing figure. Closes + #1674538. Thanks to Daniel Leidert. + + ● Michael(tm) Smith: utility.xsl + + Don't include lang in manpages filename/pathname if lang=en (that + is, only generate lang-qualified file-/pathnames for non-English). + + ● Michael(tm) Smith: endnotes.xsl + + In manpages output, emit warnings for notesources (footnote, etc.) + that have something other than para as a child. + + The numbered-with-hanging-indent formatting that's used for + rendering endnotes in the NOTES section of man pages places some + limits/assumptions on how the DocBook source is marked up; namely, + for notesources (footnote, annotation, etc.) that can contain + block-level children, if the they have a block-level child such as + a table or itemizedlist or orderedlist that is the first child of + a footnote, we have no way of rendering/indenting its content + properly in the endnotes list. + + Thus, the manpages stylesheet not emits a warning message for that + case, and suggests the "fix" (which is to wrap the table or + itemizedlist or whatever in a para that has some preferatory text. + + ● Michael(tm) Smith: utility.xsl + + Added support to mixed-block template for handling tables in + mixed-blocks (e.g., as child of para) correctly. + + ● Michael(tm) Smith: table.xsl; synop.xsl; block.xsl; info.xsl; lists.xsl; + refentry.xsl; end⋯ + + Reverted necessary escaping of backslash, dot, and dash + out of the well-intentioned (but it now appears, + misguided) "marker" mechanism (introduced in the 1.72.0 + release) -- which made use of alternative "marker" + characters as internal representations of those + characters, and then replaced them just prior to + serialization -- and back into what's basically the + system that was used prior to the 1.69.0 release; that + is, into a part of stylesheet code that gets executed + at the beginning of processing -- before any other roff + markup up is. This change obviates the need for the + marker system. It also requires a lot less RAM during + processing (for large files, the marker mechanism + ending up requiring gigabytes of memory). + + Closes bug #1661177. Thanks to Scott Smedley for + providing a test case (the fvwm man page) that exposed + the problem with the marker mechanism. + + Also moved the mechanism for converting non-breaking + spaces back into the same area of the stylesheet code. + + ● Michael(tm) Smith: lists.xsl + + Fixed problem with incorrect formatting of nested variablelist. + Closes bug #1650931. Thanks to Daniel "Eagle Eye" Leidert. + + ● Michael(tm) Smith: lists.xsl + + Make sure that all listitems in itemizedlist and orderedlist are + preceded by a blank line. This fixes a regression that occurred + when instances of the TP macro that were use in a previous + versions of the list-handling code were switched to RS/RE (because + TP doesn't support nesting). TP automatically generates a blank + line, but RS doesn't. So I added a .sp before each .RS + + ● Michael(tm) Smith: block.xsl; inline.xsl; param.xweb; docbook.xsl; + links.xsl; param.ent + + Made a number of changes related to elements with + out-of-line content: + + - Added handling for mediaobject & inlinemediaobject. + Each imagedata, audiodata, or videodata element + within a mediaobject or inline mediaobject is now + treated as a "notesource" and so handled in much the + same way as links and annotation/alt/footnotes. + + That means a numbered marker is generated inline to + mark the place in the main flow where the imagedata, + audiodata, or videodata element occurs, and a + corresponding numbered endnote for it is generated in + the endnotes list at the end of the man page; the + endnote contains the URL from the fileref attribute + of the imagedata, audiodata, or videodata element. + + For mediobject and inlinemediaobject instances that + have a textobject child, the textobject is displayed + within the main text flow. + + - Renamed several man.link.* params to man.endnotes.*, + to reflect that fact that the endnotes list now + contains more than just links. Also did similar + renaming for a number of stylesheet-internal vars. + + - Added support for xlink:href (along with existing + support for the legacy ulink element). + + - Cleaned up and streamlined the endnotes-handling + code. It's still messy and klunky and the basic + mechanism it uses is very inefficent for documents + that contain a lot of notesources, but at least it's + a bit better than it was. + +Eclipse + +The following changes have been made to the eclipse code since the 1.72.0 +release. + + ● Mauritz Jeanson: Makefile + + Fixed bug #1715093: Makefile for creating profiled version of eclipse.xsl added. + + ● David Cramer: eclipse.xsl + + Added normalize-space around to avoid leading whitespace from appearing in the output if there's extra leading whitespace (e.g. <title> Foo) in the source + +JavaHelp + +The following changes have been made to the javahelp code since the 1.72.0 +release. + + ● Mauritz Jeanson: javahelp.xsl + + Implemented FR #1230233 (sorted index in javahelp). + + ● Mauritz Jeanson: javahelp.xsl + + Added normalize-space() around titles and index entries to work around whitespace problems. + Added support for glossary and bibliography in toc and map files. + +Roundtrip + +The following changes have been made to the roundtrip code since the 1.72.0 +release. + + ● Steve Ball: blocks2dbk.xsl; wordml2normalise.xsl; normalise2sections.xsl; + sections2blocks.⋯ + + new stylesheets for better word processor support and easier maintenance + + ● Steve Ball: template-pages.xml; dbk2wp.xsl; sections-spec.xml + + fixed bugs + +Params + +The following changes have been made to the params code since the 1.72.0 +release. + + ● Mauritz Jeanson: htmlhelp.button.back.xml; htmlhelp.button.forward.xml; + htmlhelp.button.zo⋯ + + Modified refpurpose text. + + ● Mauritz Jeanson: htmlhelp.map.file.xml; htmlhelp.force.map.and.alias.xml; + htmlhelp.alias.f⋯ + + Fixed typos, made some small changes. + + ● Mauritz Jeanson: javahelp.encoding.xml + + Moved declaration and documentation of javahelp.encoding from javahelp.xsl to the + regular "parameter machinery". + + ● Mauritz Jeanson: generate.id.attributes.xml + + Added refpurpose text. + + ● Mauritz Jeanson: annotation.js.xml; annotation.graphic.open.xml; + annotation.graphic.close.⋯ + + Added better refpurpose texts. + + ● Michael(tm) Smith: chunker.output.cdata-section-elements.xml; + chunker.output.standalone.xm⋯ + + Fixed some broken formatting in source files for chunker.* params, + as pointed out by Dave Pawson. + + ● Michael(tm) Smith: label.from.part.xml + + Changed handling of reference auto-labeling such that reference + (when it appears at the component level) is now affected by the + label.from.part param, just as preface, chapter, and appendix. + + ● Mauritz Jeanson: callout.graphics.extension.xml + + Clarified that 'extension' refers to file names. + + ● Michael(tm) Smith: abstract.notitle.enabled.xml + + Added new param abstract.notitle.enabled. + If non-zero, in output of the abstract element on titlepages, + display of the abstract title is suppressed. + Because sometimes you really don't want or need that title + there... + + ● Michael(tm) Smith: man.string.subst.map.xml + + Updated manpages string-substitute map to reflect fact that + because of another recent change to suppress bold markup in .SH + output, we no longer need to add a workaround for the accidental + uppercasing of roff escapes that occurred previously. + + ● Jirka Kosek: margin.note.float.type.xml; title.font.family.xml; + table.frame.border.color.x⋯ + + Improved parameter metadata + + ● Robert Stayton: profile.wordsize.xml; profile.audience.xml + + Add support for profiling on new attributes audience and wordsize. + + ● Robert Stayton: callout.graphics.number.limit.xml; + callout.graphics.extension.xml + + Added SVG graphics for fo output. + + ● Robert Stayton: callout.icon.size.xml + + Set size of callout graphics. + + ● Jirka Kosek: default.units.xml; chunker.output.method.xml; + toc.list.type.xml; output.inden⋯ + + Updated parameter metadata to the new format. + + ● Jirka Kosek: man.output.quietly.xml; title.font.family.xml; + footnote.sep.leader.properties⋯ + + Added type annotations into parameter definition files. + + ● Robert Stayton: section.container.element.xml + + Support spans in sections for certain processors. + + ● Robert Stayton: component.titlepage.properties.xml + + Empty attribute set for top level component titlepage block. + Allows setting a span on title info. + + ● Jirka Kosek: bibliography.style.xml + + Added link to WiKi page with description of special markup needed for ISO690 biblioentries + + ● Robert Stayton: make.year.ranges.xml + + Clarify that multiple year elements are required. + + ● Robert Stayton: id.warnings.xml + + Turn off id.warnings by default. + + ● Jirka Kosek: bibliography.style.xml + + Added support for formatting biblioentries according to ISO690 citation style. + New bibliography style can be turned on by setting parameter bibliography.style to "iso690" + The code was provided by Jana Dvorakova + + ● Robert Stayton: header.table.properties.xml; footer.table.properties.xml + + Support adding table properties to header and footer tables. + +Highlighting + +The following changes have been made to the highlighting code since the 1.72.0 +release. + + ● Jirka Kosek: c-hl.xml; xslthl-config.xml + + Added support for C language. Provided by Bruno Guegan. + +Profiling + +The following changes have been made to the profiling code since the 1.72.0 +release. + + ● Robert Stayton: profile-mode.xsl + + Add support for new profiling attributes audience and wordsize. + +Lib + +The following changes have been made to the lib code since the 1.72.0 release. + + ● Michael(tm) Smith: lib.xweb + + Changed name of prepend-pad template to pad-string and twheeked so + it can do both right/left padding. + +Tools + +The following changes have been made to the tools code since the 1.72.0 +release. + + ● Michael(tm) Smith: bin; bin/docbook-xsl-update + + Did some cleanup to the install.sh source and added a + docbook-xsl-update script to the docbook-xsl distro, the purpose + of which is to facilitate easy sync-up to the latest docbook-xsl + snapshot (by means of rsync). + +XSL-Saxon + +The following changes have been made to the xsl-saxon code since the 1.72.0 +release. + + ● Mauritz Jeanson: xalan27/src/com/nwalsh/xalan/Verbatim.java; xalan27/src/ + com/nwalsh/xalan/⋯ + + Added modifications so that the new callout.icon.size parameter is taken into account. This + parameter is used for FO output (where SVG now is the default graphics format for callouts). + + ● Mauritz Jeanson: saxon65/src/com/nwalsh/saxon/FormatCallout.java; xalan27/ + src/com/nwalsh/x⋯ + + Added code for generating id attributes on callouts in HTML and FO output. + These patches enable cross-references to callouts placed by area coordinates. + It works for graphic, unicode and text callouts. + Part of fix for bug #1675513 (xref to area broken). + + ● Michael(tm) Smith: saxon65/src/com/nwalsh/saxon/Website.java; xalan27/src/ + com/nwalsh/xalan⋯ + + Copied over Website XSL Java extensions. + +XSL-Xalan + +The following changes have been made to the xsl-xalan code since the 1.72.0 +release. + + ● Michael(tm) Smith: Makefile; xalan2 + + Turned off xalan2.jar build. This removes DocBook XSL + Java extensions support for versions of Xalan prior to + Xalan 2.7. If you are currently using the extensions + with an earlier version of Xalan, you need to upgrade + to Xalan 2.7. + + ● Mauritz Jeanson: xalan27/src/com/nwalsh/xalan/Verbatim.java; xalan27/src/ + com/nwalsh/xalan/⋯ + + Added modifications so that the new callout.icon.size parameter is taken into account. This + parameter is used for FO output (where SVG now is the default graphics format for callouts). + + ● Mauritz Jeanson: saxon65/src/com/nwalsh/saxon/FormatCallout.java; xalan27/ + src/com/nwalsh/x⋯ + + Added code for generating id attributes on callouts in HTML and FO output. + These patches enable cross-references to callouts placed by area coordinates. + It works for graphic, unicode and text callouts. + Part of fix for bug #1675513 (xref to area broken). + + ● Michael(tm) Smith: saxon65/src/com/nwalsh/saxon/Website.java; xalan27/src/ + com/nwalsh/xalan⋯ + + Copied over Website XSL Java extensions. + +Release: 1.72.0 + +This release includes important bug fixes and adds the following significant +feature changes: + +Automatic sorting of glossary entries + + The HTML and FO stylesheets now support automatic sorting of glossary + entries. To enable glossary sorting, set the value of the glossary.sort + parameter to 1 (by default, it’s value is 0). When you enable glossary + sorting, glossentry elements within a glossary, glossdiv, or glosslist are + sorted on the glossterm, using the current language setting. If you don’t + enable glossary sorting, then the order of glossentry elements is left “as + is” — that is, they are not sorted but are instead just displayed in + document order. + +WordML renamed to Roundtrip, OpenOffice support added + + Stylesheets for “roundtrip” conversion between documents in OpenOffice + format (ODF) and DocBook XML have been added to the set of stylesheets that + formerly had the collective title WordML, and that set of stylesheets has + been renamed to Roundtrip to better reflect the actual scope and purpose of + its contents. + + So the DocBook XSL Stylesheets now support roundtrip conversion (with + certain limitations) of WordML, OpenOffice, and Apple Pages documents to + and from DocBook XML. + +Including QandASet questions in TOCs + + The HTML stylesheet now provides support for including QandASet questions + in the document TOC. To enable display of questions in the document TOC, + set the value of the qanda.in.toc to 1 (by default, it’s 0). When you + enable qanda.in.toc, then the generated table of contents for a document + will include qandaset titles, qandadiv titles, and question elements. The + default value of zero excludes them from the TOC. + + Note + + The qanda.in.toc parameter does not affect any tables of contents that may + be generated within a qandaset or qandadiv (only in the document TOC). + +Language identifier in man-page filenames and pathnames + + Added new parameter man.output.lang.in.name.enabled, which controls whether + a language identifier is included in man-page filenames and pathnames. It + works like this: + + If the value of man.output.lang.in.name.enabled is non-zero, man-page files + are output with a language identifier included in their filenames or + pathnames as follows: + + ● if man.output.subdirs.enabled is non-zero, each file is output to, + e.g., a /$lang/man8/foo.8 pathname + + ● if man.output.subdirs.enabled is zero, each file is output with a + foo.$lang.8 filename + +index.page.number.properties property set + + For FO output, use the index.page.number.properties to control formatting + of page numbers in index output — to (for example) to display page numbers + in index output in a different color (to indicate that they are links). + +Crop marks in output from Antenna House XSL Formatter + + Support has been added for generating crop marks in print/PDF output + generated using Antenna House XSL Formatter + +More string-substitution hooks in manpages output + + The man.string.subst.map.local.pre and man.string.subst.map.local.post + parameters have been added to enable easier control over custom string + substitutions. + +Moved verbatim properties to attribute-set + + The hardcoded properties used in verbatim elements (literallayout, + programlisting, screen) were moved to the verbatim.properties attribute-set + so they can be more easily customized. + +enhanced simple.xlink template + + Now the simple.xlink template in inline.xsl works with cross reference + elements xref and link as well. Also, more elements call simple.xlink, + which enables DB5 xlink functionality. + +DocBook 5 compatibility + + Stylesheets now consistently support DocBook 5 attributes (such as xml:id). + Also, DocBook 5 info elements are now checked along with other *info + elements, and the use of name() function was replaced by local-name() so it + also matches on DocBook 5 elements. These changes enable reusing the + stylesheets with DocBook 5 documents with minimal fixup. + +HTML class attributes now handled in class.attribute mode + + The HTML class attributes were formerly hardcoded to the element name. Now + the class attribute is generated by applying templates in class.attribute + mode so class attribute names can be customized. The default is still the + element name. + +arabic-indic numbering enabled in autolabels + + Numbering of chapter, sections, and pages can now use arabic-indic + numbering when number format is set to 'arabicindic' or to ١. + +The following is a detailed list of changes (not including bug fixes) that have +been made since the 1.71.1 release. + +Common + +The following changes have been made to the common code since the 1.71.1 +release. + + ● Add support for arabicindic numbering to autolabel.format template. + + ● Finish support for @xml:id everywhere @id is used. + + ● replace name() with local-name() in most cases. + + ● Add support for info. + + ● Add utility template tabstyle to return the tabstyle from + any table element. + +FO + +The following changes have been made to the fo code since the 1.71.1 release. + + ● Add support for sorting glossary entries + + ● Add table.row.properties template to customize table rows. + + ● Moved all properties to attribute-sets so can be customized more easily. + + ● Add index.page.number.properties attribute-set to format page numbers. + + ● xref now supports xlink:href, using simple.xlink template. + + ● Rewrote simple.xlink, and call it with all charseq templates. + + ● Add simple.xlink processing to term and member elements. + + ● Add support for crop marks in Antenna House. + +HTML + +The following changes have been made to the html code since the 1.71.1 release. + + ● Add support for sorting glossary entries + + ● Add support for qanda.in.toc to add qandaentry questions to document TOC. + + ● add simple.xlink support to variablelist term and simplelist member. + + ● *.propagates.style now handled in class.attribute mode. + + ● add class parameter to class.attribute mode to set default class. + + ● Convert all class attributes to use the class.attribute mode + so class names can be customized more easily. + + ● Add class.attribute mode to generate class attributes. + + ● Added simple.xlink to most remaining inlines. + Changed class attributes to applying class.attributes mode. + + ● Changed xref template to use simple.xlink tempalte. + + ● Improve generate.html.title to work with link targets too. + + ● Improved simple.xlink to support link and xref. + + ● Use new link.title.attribute now. + + ● Rewrote simple.xlink to handle linkend also. + Better computation of title attribute on link too. + + ● Handle Xalan quirk as special case. + + ● Add support for info. + + ● Fixed imagemaps so they work properly going from calspair coords + to HTML area coords. + +Manpages + +The following changes have been made to the manpages code since the 1.71.1 +release. + + ● Added doc for man.output.lang.in.name.enabled parameter. This + checkin completes support for writing file/pathnames for man-pages + with $lang include in the names. Closes #1585967. knightly + accolades to Daniel Leidert for providing the feature request. + + ● Added new param man.output.lang.in.name.enabled, which + controls whether $LANG value is included in manpages + filenames and pathnames. It works like this: + + If the value of man.output.lang.in.name.enabled is non-zero, + man-page files are output with the $lang value included in + their filenames or pathnames as follows; + + - if man.output.subdirs.enabled is non-zero, each file is +   output to, e.g., a /$lang/man8/foo.8 pathname + + - if man.output.subdirs.enabled is zero, each file is output +   with a foo.$lang.8 filename + + ● Use "\e" instead of "\\" for backslash output, because the + groff docs say that's the correct thing to do; also because + testing (thanks, Paul Dubois) shows that "\\" doesn't always + work as expected; for example, "\\" within a table seems to + mess things up. + + ● Added the man.string.subst.map.local.pre and + man.string.subst.map.local.post parameters. Those parameters + enable local additions and changes to string-substitution mappings + without the need to change the value of man.string.subst.map + parameter (which is for standard system mappings). Closes + #1456738. Thanks to Sam Steingold for constructing a true + stylesheet torture test (the clisp docs) that exposed the need for + these params. + + ● Added the Markup element to the list of elements that get output + in bold. Thanks to Eric S. Raymond. + + ● Replaced all dots in roff requests with U+2302 ("house" + character), and added escaping in output for all instances of dot + that are not in roff requests. This fixes the problem case where a + string beginning with a dot (for example, the string ".bashrc") + might occur at the beginning of a line in output, in which case  + would mistakenly get interpreted as a roff request. Thanks to Eric + S. Raymond for pushing to fix this. + + ● Made change to ensure that list content nested in + itemizedlist and orderedlist instances is properly indented. This + is a switch from using .TP to format those lists to using .RS/.RE + to format them instead (because .TP does not allow nesting). Closes bug # + 1602616. + Thanks to Daniel Leidert. + +Params + +The following changes have been made to the params code since the 1.71.1 +release. + + ● Added doc for man.output.lang.in.name.enabled parameter. This + checkin completes support for writing file/pathnames for man-pages + with $lang include in the names. Closes #1585967. knightly + accolades to Daniel Leidert for providing the feature request. + + ● Added new param man.output.lang.in.name.enabled, which + controls whether $LANG value is included in manpages + filenames and pathnames. It works like this: + + If the value of man.output.lang.in.name.enabled is non-zero, + man-page files are output with the $lang value included in + their filenames or pathnames as follows; + + - if man.output.subdirs.enabled is non-zero, each file is +   output to, e.g., a /$lang/man8/foo.8 pathname + + - if man.output.subdirs.enabled is zero, each file is output +   with a foo.$lang.8 filename + + ● Added the man.string.subst.map.local.pre and + man.string.subst.map.local.post parameters. Those parameters + enable local additions and changes to string-substitution mappings + without the need to change the value of man.string.subst.map + parameter (which is for standard system mappings). Closes + #1456738. Thanks to Sam Steingold for constructing a true + stylesheet torture test (the clisp docs) that exposed the need for + these params. + + ● Add index.page.number.properties by default. + + ● Added index.page.number.properties +  to allow customizations of page numbers in indexes. + + ● Move show-destination="replace" property from template to attribute-set + so it can be customized. + + ● Add support for sorting glossary entries + + ● Add option to include qanda in tables of contents. + + ● Moved all properties to attribute-sets so can be customized more easily. + +Template + +The following changes have been made to the template code since the 1.71.1 +release. + + ● Added workaround for Xalan bug: use for-each and copy instead of copy-of (# + 1604770). + +Roundtrip + +The following changes have been made to the roundtrip code since the 1.71.1 +release. + + ● rename to roundtrip, add OpenOffice support + +Release: 1.71.1 + +This is a minor update to the 1.71.0 release. Along with a number of bug fixes, +it includes two feature changes: + + ● Added support for profiling based on xml:lang and status attributes. + + ● Added initial support in manpages output for footnote, annotation, and alt + instances. Basically, they all now get handled the same way ulink instances + are. They are treated as a class as "note sources": A numbered marker is + generated at the place in the main text flow where they occur, then their + contents are displayed in an endnotes section at the end of the man page. + +Common + +The following changes have been made to the common code since the 1.71.1 +release. + + ● For backward compatability autoidx-ng.xsl is invoking "kosek" indexing method again. + + ● Add support for Xalan generating a root xml:base like saxon. + +FO + +The following changes have been made to the fo code since the 1.71.1 release. + + ● For backward compatability autoidx-ng.xsl is invoking "kosek" indexing method again. + + ● Add support for Xalan to add root node xml:base for db5 docs. + + ● Added support for profiling based on xml:lang and status attributes. + +HTML + +The following changes have been made to the html code since the 1.71.1 release. + + ● For backward compatability autoidx-ng.xsl is invoking "kosek" indexing method again. + + ● Add support for Xalan to add root node xml:base for db5 docs. + + ● Added support for profiling based on xml:lang and status attributes. + + ● Made changes in namespace declarations to prevent xmllint's + canonicalizer from treating them as relative namespace URIs. + +   - Changed xmlns:k="java:com.isogen.saxoni18n.Saxoni18nService" +     to xmlns:k="http://www.isogen.com/functions/ + com.isogen.saxoni18n.Saxoni18nService"; +     Saxon accepts either form +     (see http://www.saxonica.com/documentation/extensibility/ + functions.html); +     to Saxon, "the part of the URI before the final '/' is immaterial". + +   - Changed, e.g. xmlns:xverb="com.nwalsh.xalan.Verbatim" to +     xmlns:xverb="xalan://com.nwalsh.xalan.Verbatim"; Xalan accepts +     either form +     (see http://xml.apache.org/xalan-j/extensions.html# + java-namespace-declare); +     just as Saxon does, it will "simply use the string to the +     right of the rightmost forward slash as the Java class name". + +   - Changed xmlns:xalanredirect="org.apache.xalan.xslt.extensions.Redirect" +     to xmlns:redirect="http://xml.apache.org/xalan/redirect", and +     adjusted associated code to make the current Xalan redirect spec. +     (see http://xml.apache.org/xalan-j/apidocs/org/apache/xalan/lib/ + Redirect.html) + + ● Added the html.append and chunk.append parameters. By default, the + value of both is empty; but the internal DocBook XSL stylesheets + build sets their value to " ", in order + to ensure that all files in the docbook-xsl-doc package end in a + newline character. (Because diff and some other tools may emit + error messages and/or not behave as expected when processing + files that are not newline-terminated.) + +Highlighting + +The following changes have been made to the highlighting code since the 1.71.1 +release. + + ● Added license information + +Manpages + +The following changes have been made to the manpages code since the 1.71.1 +release. + + ● Added initial support in manpages output for footnote, annotation, + and alt instances. Basically, they all now get handled the same + way ulink instances are. They are treated as a class as "note + sources": A numbered marker is generated at the place in the main + text flow where they occur, then their contents are displayed in + an endnotes section at the end of the man page (currently titled + REFERENCES, for English output, but will be changed to NOTES). + + This support is not yet complete. It works for most "normal" + cases, but probably mishandles a good number of cases. More + testing will be needed to expose the problems. It may well also + introduce some bugs and regressions in other areas, including + basic paragraph handling, handling of "mixed block" content, + handling of other indented content, and handling of authorblurb + and personblurb in the AUTHORS section. + +Params + +The following changes have been made to the params code since the 1.71.1 +release. + + ● Added support for profiling based on xml:lang and status attributes. + + ● Added the html.append and chunk.append parameters. By default, the + value of both is empty; but the internal DocBook XSL stylesheets + build sets their value to " ", in order + to ensure that all files in the docbook-xsl-doc package end in a + newline character. (Because diff and some other tools may emit + error messages and/or not behave as expected when processing + files that are not newline-terminated.) + +Profiling + +The following changes have been made to the profiling code since the 1.71.1 +release. + + ● Added support for profiling based on xml:lang and status attributes. + +Release: 1.71.0 + +This is mainly a bug fix release, but it also includes two significant feature +changes: + +Highlighting support added + + The stylesheets now include support for source-code highlighting in output + of programlisting instances (controlled through the highlight.source + parameter). The Java-based implementation requires Saxon and makes use of + Michal Molhanec’s XSLTHL. More details are available at Jirka Kosek’s + website: + + http://xmlguru.cz/2006/07/docbook-syntax-highlighting + + The support is currently limited to highlighting of XML, Java, PHP, Delphi, + Modula-2 sources, and INI files. + +Changes to autoindexing + + The templates that handle alternative indexing methods were reworked to + avoid errors produced by certain processors not being able to tolerate the + presence of unused functions. With this release, none of the code for the + 'kimber' or 'kosek' methods is included in the default stylesheets. In + order to use one of those methods, your customization layer must import one + of the optional stylesheet modules: + + ● html/autoidx-kosek.xsl + ● html/autoidx-kimber.xsl + ● fo/autoidx-kosek.xsl + ● fo/autoidx-kimber.xsl + + See the index.method parameter reference page for more information. + + Two other changes to note: + + ● The default indexing method now can handle accented characters in + latin-based alphabets, not just English. This means accented latin + letters will group and sort with their unaccented counterpart. + ● The default value for the index.method parameter was changed from + 'english' to 'basic' because now the default method can handle + latin-based alphabets, not just English. + +The following is a list of changes that have been made since the 1.70.1 +release. + +Common + +The following changes have been made to the common code since the 1.70.1 +release. + + ● Added reference.autolabel parameter for controlling labels on + reference output. + + ● Support rows that are *completely* overlapped by the preceding row + + ● New modules for supporting indexing extensions. + + ● Support startinglinenumber on orderedlist + +Extensions + +The following changes have been made to the extensions code since the 1.70.1 +release. + + ● Completely reworked extensions build system; now uses NetBeans and ant + +FO + +The following changes have been made to the fo code since the 1.70.1 release. + + ● xsl:sort lang attribute now uses two-char substring of lang attribute. + + ● Support titlecase "Java", "Perl", and "IDL" as values for the + language attribute on classsynopsis, etc. (instead of just + lowercase "java", "perl", and "idl"). Also support "c++" and "C++" + (instead of just "cpp"). + + Affects HTML, FO, and manpages output. Closes bug 1552332. Thanks + to "Brian A. Vanderburg II". + + ● Added support for the reference.autolabel param in (X)HTML and FO + output. + + ● Support rows that are *completely* overlapped by the preceding row + + ● Rearranged templates for the 3 indexing methods + and changed method named 'english' to 'basic'. + + ● New modules for supporting indexing extensions. + + ● Turn off blank-body for fop1.extensions too since fop 0.92 + does not support it either. + + ● Add Xalan variant to test for exslt:node-set function. + Xalan can use function named node-set(), but doesn't + recognize it using function-available(). + + ● Added support to FO stylesheets for handling instances of Org + where it occurs outside of *info content. In HTML stylesheets, + moved handling of Org out of info.xsl and into inline.xsl. In both + FO and HTML stylesheets, added support for correctly processing + Affiliation and Jobtitle. + + ● Don't output punctuation between Refname and Refpurpose if + Refpurpose is empty. Also corrected handling of Refsect2/title + instances, and removed some debugging stuff that was generated in + manpages output to mark the ends of sections. + + ● Added new email.delimiters.enabled param. If non-zero (the + default), delimiters are generated around e-mail addresses (output + of the email element). If zero, the delimiters are suppressed. + + ● Initial support of syntax highlighting of programlistings. + + ● Chapter after preface should restart numbering of pages. + +HTML + +The following changes have been made to the html code since the 1.70.1 release. + + ● xsl:sort lang attribute now uses two-char substring of lang attribute. + + ● Support titlecase "Java", "Perl", and "IDL" as values for the + language attribute on classsynopsis, etc. (instead of just + lowercase "java", "perl", and "idl"). Also support "c++" and "C++" + (instead of just "cpp"). + + Affects HTML, FO, and manpages output. Closes bug 1552332. Thanks + to "Brian A. Vanderburg II". + + ● Added support for the reference.autolabel param in (X)HTML and FO + output. + + ● Support rows that are *completely* overlapped by the preceding row + + ● Rearranged templates for the 3 indexing methods + and changed method named 'english' to 'basic'. + + ● New modules for supporting indexing extensions. + + ● Added several new HTML parameters for controlling appearance of + content on HTML title pages: + + contrib.inline.enabled: +   If non-zero (the default), output of the contrib element is +   displayed as inline content rather than as block content. + + othercredit.like.author.enabled: +   If non-zero, output of the othercredit element on titlepages is +   displayed in the same style as author and editor output. If zero +   (the default), othercredit output is displayed using a style +   different than that of author and editor. + + blurb.on.titlepage.enabled: +   If non-zero, output from authorblurb and personblurb elements is +   displayed on title pages. If zero (the default), output from +   those elements is suppressed on title pages (unless you are +   using a titlepage customization that causes them to be included). + + editedby.enabled +   If non-zero (the default), a localized Edited by heading is +   displayed above editor names in output of the editor element. + + ● Add Xalan variant to test for exslt:node-set function. + Xalan can use function named node-set(), but doesn't + recognize it using function-available(). + + ● Added support to FO stylesheets for handling instances of Org + where it occurs outside of *info content. In HTML stylesheets, + moved handling of Org out of info.xsl and into inline.xsl. In both + FO and HTML stylesheets, added support for correctly processing + Affiliation and Jobtitle. + + ● Don't output punctuation between Refname and Refpurpose if + Refpurpose is empty. Also corrected handling of Refsect2/title + instances, and removed some debugging stuff that was generated in + manpages output to mark the ends of sections. + + ● Added new email.delimiters.enabled param. If non-zero (the + default), delimiters are generated around e-mail addresses (output + of the email element). If zero, the delimiters are suppressed. + + ● Added qanda.nested.in.toc param. Default value is zero. If + non-zero, instances of "nested" Qandaentry (ones that are children + of Answer elements) are displayed in the TOC. Closes patch 1509018 + (from Daniel Leidert). Currently on affects HTML output (no patch + for FO output provided). + + ● Improved handling of relative locations generated files + + ● Initial support of syntax highlighting of programlistings. + + ● Support org + + ● Support person + + ● Support $keep.relative.image.uris also when chunking + +Highlighting + +The following changes have been made to the highlighting code since the 1.70.1 +release. + + ● Initial support of syntax highlighting of programlistings. + +Manpages + +The following changes have been made to the manpages code since the 1.70.1 +release. + + ● Suppress footnote markers and output warning that footnotes are + not yet supported. + + ● Handle instances of address/otheraddr/ulink in author et al in the + same way as email instances; that is, display them on the same + linke as the author, editor, etc., name. + + ● Don't number or link-list any Ulink instance whose string value is + identical to the value of its url attribute. Just display it inline. + + ● Don't output punctuation between Refname and Refpurpose if + Refpurpose is empty. Also corrected handling of Refsect2/title + instances, and removed some debugging stuff that was generated in + manpages output to mark the ends of sections. + + ● Added new email.delimiters.enabled param. If non-zero (the + default), delimiters are generated around e-mail addresses (output + of the email element). If zero, the delimiters are suppressed. + + ● In manpages output, if the last/nearest *info element for + particular Refentry has multiple Copyright and/or Legalnotice + children, process them all (not just the first ones). Closes bug + 1524576. Thanks to Sam Steingold for the report and to Daniel + Leidert for providing a patch. + +Params + +The following changes have been made to the params code since the 1.70.1 +release. + + ● Added reference.autolabel parameter for controlling labels on + reference output. + + ● Added namespace declarations to document elements for all param files. + + ● Updated index.method doc to describe revised setup for importing index +  extensions. + + ● Added several new HTML parameters for controlling appearance of + content on HTML title pages: + + contrib.inline.enabled: +   If non-zero (the default), output of the contrib element is +   displayed as inline content rather than as block content. + + othercredit.like.author.enabled: +   If non-zero, output of the othercredit element on titlepages is +   displayed in the same style as author and editor output. If zero +   (the default), othercredit output is displayed using a style +   different than that of author and editor. + + blurb.on.titlepage.enabled: +   If non-zero, output from authorblurb and personblurb elements is +   displayed on title pages. If zero (the default), output from +   those elements is suppressed on title pages (unless you are +   using a titlepage customization that causes them to be included). + + editedby.enabled +   If non-zero (the default), a localized Edited by heading is +   displayed above editor names in output of the editor element. + + ● Added new email.delimiters.enabled param. If non-zero (the + default), delimiters are generated around e-mail addresses (output + of the email element). If zero, the delimiters are suppressed. + + ● Added qanda.nested.in.toc param. Default value is zero. If + non-zero, instances of "nested" Qandaentry (ones that are children + of Answer elements) are displayed in the TOC. Closes patch 1509018 + (from Daniel Leidert). Currently on affects HTML output (no patch + for FO output provided). + + ● Initial support of syntax highlighting of programlistings. + +Tools + +The following changes have been made to the tools code since the 1.70.1 +release. + + ● Racheted down font sizes of headings in example makefile FO output. + + ● Added param and attribute set to example makefile, for getting + wrapping in verbatims in FO output. + + ● Renamed Makefile.paramDoc to Makefile.docParam. + + ● Added Makefile.paramDoc file, for creating versions of param.xsl + files with doc embedded. + + ● Added variable to example makefile for controlling whether HTML or + XHTML is generated. + +Release: 1.70.1 + +This is a stable release of the 1.70 stylesheets. It includes only a few small +changes from 1.70.0. + +The following is a list of changes that have been made since the 1.70.0 +release. + +FO + +The following changes have been made to the fo code since the 1.70.0 release. + + ● Added three new attribute sets (revhistory.title.properties, + revhistory.table.properties and revhistory.table.cell.properties) for + controlling appearance of revhistory in FO output. + + Modified: fo/block.xsl,1.34; fo/param.ent,1.101; fo/param.xweb,1.114; fo/ + titlepage.xsl,1.41; params/revhistory.table.cell.properties.xml,1.1; params + /revhistory.table.properties.xml,1.1; params/ + revhistory.title.properties.xml,1.1 - Jirka Kosek + + ● Support DBv5 revisions with full author name (not only authorinitials) + + Modified: fo/block.xsl,1.33; fo/titlepage.xsl,1.40 - Jirka Kosek + +HTML + +The following changes have been made to the html code since the 1.70.0 release. + + ● Support DBv5 revisions with full author name (not only authorinitials) + + Modified: html/block.xsl,1.23; html/titlepage.xsl,1.34 - Jirka Kosek + +HTMLHelp + +The following changes have been made to the htmlhelp code since the 1.70.0 +release. + + ● htmlhelp.generate.index is now param, not variable. This means that you can + override its setting from outside. This is useful when you generate + indexterms on the fly (see http://www.xml.com/pub/a/2004/07/14/dbndx.html? + page=3). + + Modified: htmlhelp/htmlhelp-common.xsl,1.38 - Jirka Kosek + + ● Support chunk.tocs.and.lots in HTML Help + + Modified: htmlhelp/htmlhelp-common.xsl,1.37 - Jirka Kosek + +Params + +The following changes have been made to the params code since the 1.70.0 +release. + + ● Added three new attribute sets (revhistory.title.properties, + revhistory.table.properties and revhistory.table.cell.properties) for + controlling appearance of revhistory in FO output. + + Modified: fo/block.xsl,1.34; fo/param.ent,1.101; fo/param.xweb,1.114; fo/ + titlepage.xsl,1.41; params/revhistory.table.cell.properties.xml,1.1; params + /revhistory.table.properties.xml,1.1; params/ + revhistory.title.properties.xml,1.1 - Jirka Kosek + +Release: 1.70.0 + +As with all DocBook Project dot-zero releases, this is an experimental release. +It will be followed shortly by a stable release. + +This release adds a number of new features, including: + + ● support for selecting alternative index-collation methods (in particular, + support for using a collation library developed by Eliot Kimber) + + ● improved handling of DocBook 5 document instances (through a + namespace-stripping mechanism) + + ● full support for CALS and HTML tables in manpages output + + ● a mechanism for preserving relative URIs in documents that make use of + XInclude + + ● support for the "new" .90 version of FOP + + ● enhanced capabilities for controlling formatting of lists in HTML and FO + output + + ● autogeneration of AUTHOR and COPYRIGHT sections in manpages output + + ● support for generating crop marks in FO/PDF output + + ● support for qandaset as a root element in FO output + + ● support for floatstyle and orient on all table types + + ● support for floatstyle in figure, and example + + ● pgwide.properties attribute-set supports extending figure, example and + table into the left indent area instead of spanning multiple columns. + +The following is a detailed list of enhancements and API changes that have been +made since the 1.69.1 release. + +Common + +The following changes have been made to the common code since the 1.69.1 +release. + + ● Add the xsl:key for the kimber indexing method. + + Modified: common/autoidx-ng.xsl,1.2 - Robert Stayton + + ● Add support for qandaset. + + Modified: common/labels.xsl,1.37; common/subtitles.xsl,1.7; common/ + titles.xsl,1.35 - Robert Stayton + + ● Support dbhtml/dbfo start PI for orderedlist numbering in both HTML and FO + + Modified: common/common.xsl,1.61; html/lists.xsl,1.50 - Norman Walsh + + ● Added CVS header. + + Modified: common/stripns.xsl,1.12 - Robert Stayton + + ● Changed content model of text element to ANY rather than #PCDATA because + they could contain markup. + + Modified: common/targetdatabase.dtd,1.7 - Robert Stayton + + ● Added refentry.meta.get.quietly param. + + If zero (the default), notes and warnings about "missing" markup are + generated during gathering of refentry metadata. If non-zero, the metadata + is gathered "quietly" -- that is, the notes and warnings are suppressed. + + NOTE: If you are processing a large amount of refentry content, you may be + able to speed up processing significantly by setting a non-zero value for + refentry.meta.get.quietly. + + Modified: common/refentry.xsl,1.17; manpages/param.ent,1.15; manpages/ + param.xweb,1.17; params/refentry.meta.get.quietly.xml,1.1 - Michael(tm) + Smith + + ● After namespace stripping, the source document is the temporary tree + created by the stripping process and it has the wrong base URI for relative + references. Earlier versions of this code used to try to fix that by + patching the elements with relative @fileref attributes. That was + inadequate because it calculated an absolute base URI without considering + that there might be xml:base attributes already in effect. It seems obvious + now that the right thing to do is simply to put the xml:base on the root of + the document. And that seems to work. + + Modified: common/stripns.xsl,1.7 - Norman Walsh + + ● Added support for "software" and "sectdesc" class values on refmiscinfo; + "software" is treated identically to "source", and "setdesc" is treated + identically to "manual". + + Modified: common/refentry.xsl,1.10; params/ + man.th.extra2.max.length.xml,1.3; params/ + refentry.source.name.profile.xml,1.4 - Michael(tm) Smith + + ● Added support for DocBook 5 namespace-stripping in manpages stylesheet. + Closes request #1210692. + + Modified: common/common.xsl,1.56; manpages/docbook.xsl,1.57 - Michael(tm) + Smith + + ● Added to make stripns.xsl usable as a standalone + stylesheet for stripping out DocBook 5/NG to DocBook 4. Note that DocBook + XSLT drivers that include this stylesheet all override the match="/" + template. + + Modified: common/stripns.xsl,1.4 - Michael(tm) Smith + + ● Number figures, examples, and tables from book if there is no prefix (i.e. + if chapter.autolabel is set to 0). This avoids having the list of figures + where the figures mysteriously restart their numeration periodically when + chapter.autolabel is set to 0. + + Modified: common/labels.xsl,1.36 - David Cramer + + ● Add task template in title.markup mode. + + Modified: common/titles.xsl,1.34 - Robert Stayton + + ● Add children (with ids) of formal objects to target data. + + Modified: common/targets.xsl,1.10 - Robert Stayton + + ● Added support for case when personname doesn't contain specific name markup + (as allowed in DocBook 5.0) + + Modified: common/common.xsl,1.54 - Jirka Kosek + +Extensions + +The following changes have been made to the extensions code since the 1.69.1 +release. + + ● Support Xalan 2.7 + + Modified: extensions/xalan27/.cvsignore,1.1; extensions/xalan27/ + build.xml,1.1; extensions/xalan27/nbproject/.cvsignore,1.1; extensions/ + xalan27/nbproject/build-impl.xml,1.1; extensions/xalan27/nbproject/ + genfiles.properties,1.1; extensions/xalan27/nbproject/ + project.properties,1.1; extensions/xalan27/nbproject/project.xml,1.1; + extensions/xalan27/src/com/nwalsh/xalan/CVS.java,1.1; extensions/xalan27/ + src/com/nwalsh/xalan/Callout.java,1.1; extensions/xalan27/src/com/nwalsh/ + xalan/FormatCallout.java,1.1; extensions/xalan27/src/com/nwalsh/xalan/ + FormatDingbatCallout.java,1.1; extensions/xalan27/src/com/nwalsh/xalan/ + FormatGraphicCallout.java,1.1; extensions/xalan27/src/com/nwalsh/xalan/ + FormatTextCallout.java,1.1; extensions/xalan27/src/com/nwalsh/xalan/ + FormatUnicodeCallout.java,1.1; extensions/xalan27/src/com/nwalsh/xalan/ + Func.java,1.1; extensions/xalan27/src/com/nwalsh/xalan/ + ImageIntrinsics.java,1.1; extensions/xalan27/src/com/nwalsh/xalan/ + Params.java,1.1; extensions/xalan27/src/com/nwalsh/xalan/Table.java,1.1; + extensions/xalan27/src/com/nwalsh/xalan/Text.java,1.1; extensions/xalan27/ + src/com/nwalsh/xalan/Verbatim.java,1.1 - Norman Walsh + + ● Handle the case where the imageFn is actually a URI. This still needs work. + + Modified: extensions/saxon643/com/nwalsh/saxon/ImageIntrinsics.java,1.4 - + Norman Walsh + +FO + +The following changes have been made to the fo code since the 1.69.1 release. + + ● Adapted to the new indexing code. Now works just like a wrapper that calls + kosek indexing method, originally implemented here. + + Modified: fo/autoidx-ng.xsl,1.5 - Jirka Kosek + + ● Added parameters for header/footer table minimum height. + + Modified: fo/pagesetup.xsl,1.60; fo/param.ent,1.100; fo/param.xweb,1.113 - + Robert Stayton + + ● Add the index.method parameter. + + Modified: fo/param.ent,1.99; fo/param.xweb,1.112 - Robert Stayton + + ● Integrate support for three indexing methods: - the original English-only + method. - Jirka Kosek's method using EXSLT extensions. - Eliot Kimber's + method using Saxon extensions. Use the 'index.method' parameter to select. + + Modified: fo/autoidx.xsl,1.38 - Robert Stayton + + ● Add support for TOC for qandaset in fo output. + + Modified: fo/autotoc.xsl,1.30; fo/qandaset.xsl,1.20 - Robert Stayton + + ● Added parameter ulink.hyphenate.chars. Added parameter insert.link + .page.number. + + Modified: fo/param.ent,1.98; fo/param.xweb,1.111 - Robert Stayton + + ● Implemented feature request #942524 to add insert.link.page.number to allow + link element cross references to have a page number. + + Modified: fo/xref.xsl,1.67 - Robert Stayton + + ● Add support for ulink.hyphenate.chars so more characters can be break + points in urls. + + Modified: fo/xref.xsl,1.66 - Robert Stayton + + ● Implemented patch #1075144 to make the url text in a ulink in FO output an + active link as well. + + Modified: fo/xref.xsl,1.65 - Robert Stayton + + ● table footnotes now have their own table.footnote.properties attribute set. + + Modified: fo/footnote.xsl,1.23 - Robert Stayton + + ● Add qandaset to root.elements. + + Modified: fo/docbook.xsl,1.41 - Robert Stayton + + ● Added mode="page.sequence" to make it easier to put content into a page + sequence. First used for qandaset. + + Modified: fo/component.xsl,1.37 - Robert Stayton + + ● Implemented feature request #1434408 to support formatting of biblioentry. + + Modified: fo/biblio.xsl,1.35 - Robert Stayton + + ● Added biblioentry.properties. + + Modified: fo/param.ent,1.97; fo/param.xweb,1.110 - Robert Stayton + + ● Support PTC/Arbortext bookmarks + + Modified: fo/docbook.xsl,1.40; fo/ptc.xsl,1.1 - Norman Walsh + + ● Added table.footnote.properties to permit table footnotes to format + differently from regular footnotes. + + Modified: fo/param.ent,1.96; fo/param.xweb,1.109 - Robert Stayton + + ● Refactored table templates to unify their processing and support all + options in all types. Now table and informaltable, in both Cals and Html + markup, use the same templates where possible, and all support pgwide, + rotation, and floats. There is also a placeholder table.container template + to support wrapping a table in a layout table, so the XEP table title + "continued" extension can be more easily implemented. + + Modified: fo/formal.xsl,1.52; fo/htmltbl.xsl,1.9; fo/table.xsl,1.48 - + Robert Stayton + + ● Added new attribute set toc.line.properties for controlling appearance of + lines in ToC/LoT + + Modified: fo/autotoc.xsl,1.29; fo/param.ent,1.95; fo/param.xweb,1.108 - + Jirka Kosek + + ● Added support for float to example and equation. Added support for pgwide + to figure, example, and equation (the latter two via a dbfo pgwide="1" + processing instruction). + + Modified: fo/formal.xsl,1.51 - Robert Stayton + + ● Add pgwide.properties attribute-set. + + Modified: fo/param.ent,1.94; fo/param.xweb,1.107 - Robert Stayton + + ● Added refclass.suppress param. + + If the value of refclass.suppress is non-zero, then display refclass + contents is suppressed in output. Affects HTML and FO output only. + + Modified: fo/param.ent,1.93; fo/param.xweb,1.106; html/param.ent,1.90; html + /param.xweb,1.99; params/refclass.suppress.xml,1.1 - Michael(tm) Smith + + ● Improved support for task subelements + + Modified: fo/task.xsl,1.3; html/task.xsl,1.3 - Jirka Kosek + + ● Adjusted spacing around K&R-formatted Funcdef and Paramdef output such that + it can more easily be discerned where one ends and the other begins. Closes + #1213264. + + Modified: fo/synop.xsl,1.18 - Michael(tm) Smith + + ● Made handling of paramdef/parameter in FO output consistent with that in + HTML and manpages output. Closes #1213259. + + Modified: fo/synop.xsl,1.17 - Michael(tm) Smith + + ● Made handling of Refnamediv consistent with formatting in HTML and manpages + output; specifically, changed so that Refname (comma-separated list of + multiple instances found) is used (instead of Refentrytitle as previously), + then em-dash, then the Refpurpose. Closes #1212562. + + Modified: fo/refentry.xsl,1.30 - Michael(tm) Smith + + ● Added output of Releaseinfo to recto titlepage ("copyright" page) for Book + in FO output. This makes it consistent with HTML output. Closes #1327034. + Thanks to Paul DuBois for reporting. + + Modified: fo/titlepage.templates.xml,1.28 - Michael(tm) Smith + + ● Added condition for setting block-progression-dimension.minimum on + table-row, instead of height, when fop1.extensions is non-zero. For an + explanation of the reason for the change, see: http://wiki.apache.org/ + xmlgraphics-fop/Troubleshooting/CommonLogMessages + + Modified: fo/pagesetup.xsl,1.59 - Michael(tm) Smith + + ● Added new refclass.suppress param for suppressing display of Refclass in + HTML and FO output. Did not add it to manpages because manpages stylesheet + is currently just silently ignoring Refclass anyway. Closes request # + 1461065. Thanks to Davor Ocelic (docelic) for reporting. + + Modified: fo/refentry.xsl,1.29; html/refentry.xsl,1.23 - Michael(tm) Smith + + ● Add support for keep-together PI to informal objects. + + Modified: fo/formal.xsl,1.50 - Robert Stayton + + ● Add support for fop1.extensions. + + Modified: fo/formal.xsl,1.49; fo/graphics.xsl,1.44; fo/table.xsl,1.47 - + Robert Stayton + + ● Add support for fop1 bookmarks. + + Modified: fo/docbook.xsl,1.39 - Robert Stayton + + ● Add fop1.extentions parameter to add support for fop development version. + + Modified: fo/param.ent,1.92; fo/param.xweb,1.105 - Robert Stayton + + ● Start supporting fop development version, which will become fop version 1. + + Modified: fo/fop1.xsl,1.1 - Robert Stayton + + ● Add template for task in mode="xref-to". + + Modified: fo/xref.xsl,1.63; html/xref.xsl,1.57 - Robert Stayton + + ● table footnotes now also get footnote.properties attribute-set. + + Modified: fo/footnote.xsl,1.22 - Robert Stayton + + ● Added index.separator named template to compute the separator punctuation + based on locale. + + Modified: fo/autoidx.xsl,1.36 - Robert Stayton + + ● Added support for link, olink, and xref within OO Classsynopsis and + children. (Because DocBook NG/5 allows it). + + Modified: fo/synop.xsl,1.15; html/synop.xsl,1.19 - Michael(tm) Smith + + ● Support date as an inline + + Modified: fo/inline.xsl,1.43; html/inline.xsl,1.46 - Norman Walsh + + ● Added new parameter keep.relative.image.uris + + Modified: fo/param.ent,1.91; fo/param.xweb,1.104; html/param.ent,1.87; html + /param.xweb,1.96; params/keep.relative.image.uris.xml,1.1 - Norman Walsh + + ● Map Unicode space characters U+2000-U+200A to fo:leaders. + + Modified: fo/docbook.xsl,1.38; fo/passivetex.xsl,1.4; fo/spaces.xsl,1.1 - + Jirka Kosek + + ● Output a real em dash for em-dash dingbat (instead of two hypens). + + Modified: fo/fo.xsl,1.7 - Michael(tm) Smith + + ● Support default label width parameters for itemized and ordered lists + + Modified: fo/lists.xsl,1.64; fo/param.ent,1.90; fo/param.xweb,1.103; params + /itemizedlist.label.width.xml,1.1; params/orderedlist.label.width.xml,1.1 - + Norman Walsh + + ● Generate localized title for Refsynopsisdiv if no appropriate Title + descendant found in source. Closes #1212398. This change makes behavior for + the Synopsis title consistent with the behavior of HTML and manpages + output. + + Also, added xsl:use-attribute-sets="normal.para.spacing" to block generated + for Cmdsynopsis output. Previously, that block had no spacing at all + specified, which resulted it being crammed up to closely to the Synopsis + head. + + Modified: fo/refentry.xsl,1.28; fo/synop.xsl,1.13 - Michael(tm) Smith + + ● Added parameters to support localization of index item punctuation. + + Modified: fo/autoidx.xsl,1.35 - Robert Stayton + + ● Added index.number.separator, index.range.separator, and + index.term.separator parameters to support localization of punctuation in + index entries. + + Modified: fo/param.ent,1.89; fo/param.xweb,1.102 - Robert Stayton + + ● Added "Cross References" section in HTML doc (for consistency with the FO + doc). Also, moved the existing FO "Cross References" section to follow the + "Linking" section. + + Modified: fo/param.xweb,1.101; html/param.xweb,1.95 - Michael(tm) Smith + + ● Added ID attribues to all Reference elements (e.g., id="tables" for the doc + for section on Table params). So pages for all subsections of ref docs now + have stable filenames instead of arbitrary generated filenames. + + Modified: fo/param.xweb,1.100; html/param.xweb,1.94 - Michael(tm) Smith + + ● Added two new parameters for handling of multi-term varlistentry elements: + + variablelist.term.break.after: When the variablelist.term.break.after is + non-zero, it will generate a line break after each term multi-term + varlistentry. + + variablelist.term.separator: When a varlistentry contains multiple term + elements, the string specified in the value of the + variablelist.term.separator parameter is placed after each term except the + last. The default is ", " (a comma followed by a space). To suppress + rendering of the separator, set the value of variablelist.term.separator to + the empty string (""). + + These parameters are primarily intended to be useful if you have multi-term + varlistentries that have long terms. + + Closes #1306676. Thanks to Sam Steingold for providing an example "lots of + long terms" doc that demonstrated the value of having these options. + + Also, added normalize-space() call to processing of each term. + + This change affects all output formats (HTML, PDF, manpages). The default + behavior should pretty much remain the same as before, but it is possible + (as always) that the change may introduce some new bugginess. + + Modified: fo/lists.xsl,1.62; fo/param.ent,1.88; fo/param.xweb,1.99; html/ + lists.xsl,1.48; html/param.ent,1.86; html/param.xweb,1.93; manpages/ + lists.xsl,1.22; manpages/param.ent,1.14; manpages/param.xweb,1.16; params/ + variablelist.term.break.after.xml,1.1; params/ + variablelist.term.separator.xml,1.1 - Michael(tm) Smith + + ● Add sidebar titlepage placeholder attset for styles. + + Modified: fo/titlepage.xsl,1.37 - Robert Stayton + + ● Add titlepage for sidebar. + + Modified: fo/titlepage.templates.xml,1.27 - Robert Stayton + + ● Implemented RFE #1292615. + + Added bunch of new parameters (attribute sets) that affect list + presentation: list.block.properties, itemizedlist.properties, orderedlist + .properties, itemizedlist.label.properties and orderedlist.label + .properties. Default behaviour of stylesheets has not been changed but + further customizations will be much more easier. + + Modified: fo/lists.xsl,1.61; fo/param.ent,1.87; fo/param.xweb,1.98; params/ + itemizedlist.label.properties.xml,1.1; params/ + itemizedlist.properties.xml,1.1; params/list.block.properties.xml,1.1; + params/orderedlist.label.properties.xml,1.1; params/ + orderedlist.properties.xml,1.1 - Jirka Kosek + + ● Implemented RFE #1242092. + + You can enable crop marks in your document by setting crop.marks=1 and + xep.extensions=1. Appearance of crop marks can be controlled by parameters + crop.mark.bleed (6pt), crop.mark.offset (24pt) and crop.mark.width (0.5pt). + + Also there is new named template called user-xep-pis. You can overwrite it + in order to produce some PIs that can control XEP as described in http:// + www.renderx.com/reference.html#Output_Formats + + Modified: fo/docbook.xsl,1.36; fo/param.ent,1.86; fo/param.xweb,1.97; fo/ + xep.xsl,1.23; params/crop.mark.bleed.xml,1.1; params/ + crop.mark.offset.xml,1.1; params/crop.mark.width.xml,1.1; params/ + crop.marks.xml,1.1 - Jirka Kosek + +HTML + +The following changes have been made to the html code since the 1.69.1 release. + + ● implemented index.method parameter and three methods. + + Modified: html/autoidx.xsl,1.28 - Robert Stayton + + ● added index.method parameter to support 3 indexing methods. + + Modified: html/param.ent,1.94; html/param.xweb,1.103 - Robert Stayton + + ● Implemented feature request #1072510 as a processing instruction to permit + including external HTML content into HTML output. + + Modified: html/pi.xsl,1.9 - Robert Stayton + + ● Added new parameter chunk.tocs.and.lots.has.title which controls presence + of title in a separate chunk with ToC/LoT. Disabling title can be very + useful if you are generating frameset output (well, yes those frames, but + some customers really want them ;-). + + Modified: html/chunk-code.xsl,1.15; html/param.ent,1.93; html/ + param.xweb,1.102; params/chunk.tocs.and.lots.has.title.xml,1.1 - Jirka + Kosek + + ● Support dbhtml/dbfo start PI for orderedlist numbering in both HTML and FO + + Modified: common/common.xsl,1.61; html/lists.xsl,1.50 - Norman Walsh + + ● Allow ToC without title also for set and book. + + Modified: html/autotoc.xsl,1.37; html/division.xsl,1.12 - Jirka Kosek + + ● Implemented floats uniformly for figure, example, equation and + informalfigure, informalexample, and informalequation. + + Modified: html/formal.xsl,1.22 - Robert Stayton + + ● Added the autotoc.label.in.hyperlink param. + + If the value of autotoc.label.in.hyperlink is non-zero, labels are included + in hyperlinked titles in the TOC. If it is instead zero, labels are still + displayed prior to the hyperlinked titles, but are not hyperlinked along + with the titles. + + Closes patch #1065868. Thanks to anatoly techtonik for the patch. + + Modified: html/autotoc.xsl,1.36; html/param.ent,1.92; html/ + param.xweb,1.101; params/autotoc.label.in.hyperlink.xml,1.1 - Michael(tm) + Smith + + ● Added two new params: html.head.legalnotice.link.types and html.head. + legalnotice.link.multiple. + + If the value of the generate.legalnotice.link is non-zero, then the + stylesheet generates (in the head section of the HTML source) either a + single HTML link element or, if the value of the html.head.legalnotice.link + .multiple is non-zero, one link element for each link type specified. Each + link has the following attributes: + + - a rel attribute whose value is derived from the value of html.head. + legalnotice.link.types + + - an href attribute whose value is set to the URL of the file containing + the legalnotice + + - a title attribute whose value is set to the title of the corresponding + legalnotice (or a title programatically determined by the stylesheet) + + For example: + + + + Closes #1476450. Thanks to Sam Steingold. + + Modified: html/chunk-common.xsl,1.45; html/param.ent,1.91; html/ + param.xweb,1.100; params/generate.legalnotice.link.xml,1.4; params/ + html.head.legalnotice.link.multiple.xml,1.1; params/ + html.head.legalnotice.link.types.xml,1.1 - Michael(tm) Smith + + ● Added refclass.suppress param. + + If the value of refclass.suppress is non-zero, then display refclass + contents is suppressed in output. Affects HTML and FO output only. + + Modified: fo/param.ent,1.93; fo/param.xweb,1.106; html/param.ent,1.90; html + /param.xweb,1.99; params/refclass.suppress.xml,1.1 - Michael(tm) Smith + + ● Improved support for task subelements + + Modified: fo/task.xsl,1.3; html/task.xsl,1.3 - Jirka Kosek + + ● Added new refclass.suppress param for suppressing display of Refclass in + HTML and FO output. Did not add it to manpages because manpages stylesheet + is currently just silently ignoring Refclass anyway. Closes request # + 1461065. Thanks to Davor Ocelic (docelic) for reporting. + + Modified: fo/refentry.xsl,1.29; html/refentry.xsl,1.23 - Michael(tm) Smith + + ● Process alt text with normalize-space(). Replace tab indents with spaces. + + Modified: html/graphics.xsl,1.57 - Robert Stayton + + ● Content of citation element is automatically linked to the bibliographic + entry with the corresponding abbrev. + + Modified: html/biblio.xsl,1.26; html/inline.xsl,1.47; html/xref.xsl,1.58 - + Jirka Kosek + + ● Add template for task in mode="xref-to". + + Modified: fo/xref.xsl,1.63; html/xref.xsl,1.57 - Robert Stayton + + ● Suppress ID warnings if the .warnings parameter is 0 + + Modified: html/html.xsl,1.17 - Norman Walsh + + ● Add support for floatstyle to figure. + + Modified: html/formal.xsl,1.21 - Robert Stayton + + ● Handling of xref to area/areaset need support in extensions code also. I + currently have no time to touch extensions code, so code is here to be + enabled when extension is fixed also. + + Modified: html/xref.xsl,1.56 - Jirka Kosek + + ● Added 3 parameters for overriding gentext for index punctuation. + + Modified: html/param.ent,1.89; html/param.xweb,1.98 - Robert Stayton + + ● Added parameters to support localization of index item punctuation. Added + index.separator named template to compute the separator punctuation based + on locale. + + Modified: html/autoidx.xsl,1.27 - Robert Stayton + + ● Added a
wrapper around output of contents + of all formal objects. Also, added an optional
+ linebreak after all formal objects. + + WARNING: Because this change places an additional DIV between the DIV + wrapper for the equation and the equation contents, it may break some + existing CSS stylesheets that have been created with the assumption that + there would never be an intervening DIV there. + + The following is an example of what Equation output looks like as a result + of the changes described above. + +
+ +

(1.3)

+ +
1+1=3

+ + Rationale: These changes allow CSS control of the placement of the + formal-object title relative to the formal-object contents. For example, + using the CSS "float" property enables the title and contents to be + rendered on the same line. Example stylesheet: + + .equation { margin-top: 20px; margin-bottom: 20px; } .equation-contents { + float: left; } + + .equation .title { margin-top: 0; float: right; margin-right: 200px; } + + .equation .title b { font-weight: normal; } + + .equation-break { clear: both; } + + Note that the purpose of the ".equation-break" class is to provide a way to + clear off the floats. + + If you want to instead have the equation title rendered to the left of the + equation contents, you can do something like this: + + .equation { margin-top: 20px; width: 300px; margin-bottom: 20px; } + .equation-contents { float: right; } + + .equation .title { margin-top: 0; float: left; margin-right: 200px; } + + .equation .title b { font-weight: normal; } + + .equation-break { clear: both; } + + Modified: html/formal.xsl,1.20 - Michael(tm) Smith + + ● Added a chunker.output.quiet top-level parameter so that the chunker can be + made quiet by default + + Modified: html/chunker.xsl,1.26 - Norman Walsh + + ● Added support for link, olink, and xref within OO Classsynopsis and + children. (Because DocBook NG/5 allows it). + + Modified: fo/synop.xsl,1.15; html/synop.xsl,1.19 - Michael(tm) Smith + + ● New parameter: id.warnings. If non-zero, warnings are generated for titled + objects that don't have titles. True by default; I wonder if this will be + too aggressive? + + Modified: html/biblio.xsl,1.25; html/component.xsl,1.27; html/ + division.xsl,1.11; html/formal.xsl,1.19; html/glossary.xsl,1.20; html/ + html.xsl,1.13; html/index.xsl,1.16; html/param.ent,1.88; html/ + param.xweb,1.97; html/refentry.xsl,1.22; html/sections.xsl,1.30; params/ + id.warnings.xml,1.1 - Norman Walsh + + ● If the keep.relative.image.uris parameter is true, don't use the absolute + URI (as calculated from xml:base) in the img src attribute, us the value + the author specified. Note that we still have to calculate the absolute + filename for use in the image intrinsics extension. + + Modified: html/graphics.xsl,1.56 - Norman Walsh + + ● Support date as an inline + + Modified: fo/inline.xsl,1.43; html/inline.xsl,1.46 - Norman Walsh + + ● Added new parameter keep.relative.image.uris + + Modified: fo/param.ent,1.91; fo/param.xweb,1.104; html/param.ent,1.87; html + /param.xweb,1.96; params/keep.relative.image.uris.xml,1.1 - Norman Walsh + + ● Added two new parameters for handling of multi-term varlistentry elements: + + variablelist.term.break.after: When the variablelist.term.break.after is + non-zero, it will generate a line break after each term multi-term + varlistentry. + + variablelist.term.separator: When a varlistentry contains multiple term + elements, the string specified in the value of the + variablelist.term.separator parameter is placed after each term except the + last. The default is ", " (a comma followed by a space). To suppress + rendering of the separator, set the value of variablelist.term.separator to + the empty string (""). + + These parameters are primarily intended to be useful if you have multi-term + varlistentries that have long terms. + + Closes #1306676. Thanks to Sam Steingold for providing an example "lots of + long terms" doc that demonstrated the value of having these options. + + Also, added normalize-space() call to processing of each term. + + This change affects all output formats (HTML, PDF, manpages). The default + behavior should pretty much remain the same as before, but it is possible + (as always) that the change may introduce some new bugginess. + + Modified: fo/lists.xsl,1.62; fo/param.ent,1.88; fo/param.xweb,1.99; html/ + lists.xsl,1.48; html/param.ent,1.86; html/param.xweb,1.93; manpages/ + lists.xsl,1.22; manpages/param.ent,1.14; manpages/param.xweb,1.16; params/ + variablelist.term.break.after.xml,1.1; params/ + variablelist.term.separator.xml,1.1 - Michael(tm) Smith + + ● Added "wrapper-name" param to inline.charseq named template, enabling it to + output inlines other than just "span". Acronym and Abbrev templates now use + inline.charseq to output HTML "acronym" and "abbr" elements (instead of + "span"). Closes #1305468. Thanks to Sam Steingold for suggesting the + change. + + Modified: html/inline.xsl,1.45 - Michael(tm) Smith + +Manpages + +The following changes have been made to the manpages code since the 1.69.1 +release. + + ● Added the following params: + + - man.indent.width (string-valued) - man.indent.refsect (boolean) - + man.indent.blurbs (boolean) - man.indent.lists (boolean) - + man.indent.verbatims (boolean) + + Note that in earlier snapshots, man.indent.width was named + man.indentation.default.value and the boolean params had names like + man.indentation.*.adjust. Also the man.indent.blurbs param was called + man.indentation.authors.adjust (or something). + + The behavior now is: If the value of a particular man.indent.* boolean + param is non-zero, the corresponding contents (refsect*, list items, + authorblurb/personblurb, vervatims) are displayed with a left margin + indented by a width equal to the value of man.indent.width. + + Modified: params/man.indent.blurbs.xml,1.1; manpages/docbook.xsl,1.74; + manpages/info.xsl,1.20; manpages/lists.xsl,1.30; manpages/other.xsl,1.20; + manpages/param.ent,1.22; manpages/param.xweb,1.24; manpages/ + refentry.xsl,1.14; params/man.indent.lists.xml,1.1; params/ + man.indent.refsect.xml,1.1; params/man.indent.verbatims.xml,1.1; params/ + man.indent.width.xml,1.1 - Michael(tm) Smith + + ● Added man.table.footnotes.divider param. + + In each table that contains footenotes, the string specified by the man. + table.footnotes.divider parameter is output before the list of footnotes + for the table. + + Modified: manpages/docbook.xsl,1.73; manpages/links.xsl,1.6; manpages/ + param.ent,1.21; manpages/param.xweb,1.23; params/ + man.table.footnotes.divider.xml,1.1 - Michael(tm) Smith + + ● Added the man.output.in.separate.dir, man.output.base.dir, and + man.output.subdirs.enabled parameters. + + The man.output.base.dir parameter specifies the base directory into which + man-page files are output. The man.output.subdirs.enabled parameter + controls whether the files are output in subdirectories within the base + directory. + + The values of the man.output.base.dir and man.output.subdirs.enabled + parameters are used only if the value of man.output.in.separate.dir + parameter is non-zero. If the value of man.output.in.separate.dir is zero, + man-page files are not output in a separate directory. + + Modified: manpages/docbook.xsl,1.72; manpages/param.ent,1.20; manpages/ + param.xweb,1.22; params/man.output.base.dir.xml,1.1; params/ + man.output.in.separate.dir.xml,1.1; params/ + man.output.subdirs.enabled.xml,1.1 - Michael(tm) Smith + + ● Added man.font.table.headings and man.font.table.title params, for + controlling font in table headings and titles. + + Modified: manpages/docbook.xsl,1.71; manpages/param.ent,1.19; manpages/ + param.xweb,1.21; params/man.font.table.headings.xml,1.1; params/ + man.font.table.title.xml,1.1 - Michael(tm) Smith + + ● Added man.font.funcsynopsisinfo and man.font.funcprototype params, for + specifying the roff font (for example, BI, B, I) for funcsynopsisinfo and + funcprototype output. + + Modified: manpages/block.xsl,1.19; manpages/docbook.xsl,1.69; manpages/ + param.ent,1.18; manpages/param.xweb,1.20; manpages/synop.xsl,1.29; manpages + /table.xsl,1.21; params/man.font.funcprototype.xml,1.1; params/ + man.font.funcsynopsisinfo.xml,1.1 - Michael(tm) Smith + + ● Added man.segtitle.suppress param. + + If the value of man.segtitle.suppress is non-zero, then display of segtitle + contents is suppressed in output. + + Modified: manpages/docbook.xsl,1.68; manpages/param.ent,1.17; manpages/ + param.xweb,1.19; params/man.segtitle.suppress.xml,1.1 - Michael(tm) Smith + + ● Added man.output.manifest.enabled and man.output.manifest.filename params. + + If man.output.manifest.enabled is non-zero, a list of filenames for man + pages generated by the stylesheet transformation is written to the file + named by man.output.manifest.filename + + Modified: manpages/docbook.xsl,1.67; manpages/other.xsl,1.19; manpages/ + param.ent,1.16; manpages/param.xweb,1.18; params/ + man.output.manifest.enabled.xml,1.1; params/ + man.output.manifest.filename.xml,1.1; tools/make/Makefile.DocBook,1.4 - + Michael(tm) Smith + + ● Added refentry.meta.get.quietly param. + + If zero (the default), notes and warnings about "missing" markup are + generated during gathering of refentry metadata. If non-zero, the metadata + is gathered "quietly" -- that is, the notes and warnings are suppressed. + + NOTE: If you are processing a large amount of refentry content, you may be + able to speed up processing significantly by setting a non-zero value for + refentry.meta.get.quietly. + + Modified: common/refentry.xsl,1.17; manpages/param.ent,1.15; manpages/ + param.xweb,1.17; params/refentry.meta.get.quietly.xml,1.1 - Michael(tm) + Smith + + ● Changed names of all boolean indentation params to man.indent.* Also + discarded individual man.indent.*.value params and switched to just using a + common man.indent.width param (3n by default). + + Modified: manpages/docbook.xsl,1.66; manpages/info.xsl,1.19; manpages/ + lists.xsl,1.29; manpages/other.xsl,1.18; manpages/refentry.xsl,1.13 - + Michael(tm) Smith + + ● Added boolean man.output.in.separate.dir param, to control whether or not + man files are output in separate directory. + + Modified: manpages/docbook.xsl,1.65; manpages/utility.xsl,1.14 - Michael + (tm) Smith + + ● Added options for controlling indentation of verbatim output. Controlled + through the man.indentation.verbatims.adjust and + man.indentation.verbatims.value params. Closes #1242997 + + Modified: manpages/block.xsl,1.15; manpages/docbook.xsl,1.64 - Michael(tm) + Smith + + ● Added options for controlling indentation in lists and in *blurb output in + the AUTHORS section. Controlled through the man.indentation.lists.adjust, + man.indentation.lists.value, man.indentation.authors.adjust, and + man.indentation.authors.value parameters. Default is 3 characters (instead + of the roff default of 8 characters). Closes #1449369. + + Also, removed the indent that was being set on informalexample outuput. I + will instead add an option for indenting verbatims, which I think is what + the informalexample indent was intended for originally. + + Modified: manpages/block.xsl,1.14; manpages/docbook.xsl,1.63; manpages/ + info.xsl,1.18; manpages/lists.xsl,1.28 - Michael(tm) Smith + + ● Changed line-spacing call before synopfragment to use ".sp -1n" ("n" units + specified) instead of plain ".sp -1" + + Modified: manpages/synop.xsl,1.28 - Michael(tm) Smith + + ● Added support for writing man files into a specific output directory and + into appropriate subdirectories within that output directory. Controlled + through the man.base.dir parameter (similar to the base.dir support in the + HTML stylesheet) and the man.subdirs.enabled parameter, which automatically + determines the name of an appropriate subdir (for example, man/man7, man/ + man1, etc.) based on the section number/manvolnum of the source Refentry. + + Closes #1255036 and #1170317. Thanks to Denis Bradford for the original + feature request, and to Costin Stroie for submitting a patch that was very + helpful in implementing the support. + + Modified: manpages/docbook.xsl,1.62; manpages/utility.xsl,1.13 - Michael + (tm) Smith + + ● Refined XPath statements and notification messages for refentry metadata + handling. + + Modified: common/common.xsl,1.59; common/refentry.xsl,1.14; manpages/ + docbook.xsl,1.61; manpages/other.xsl,1.17 - Michael(tm) Smith + + ● Added support for copyright and legalnotice. The manpages stylesheets now + output a COPYRIGHT section, after the AUTHORS section, if a copyright or + legalnotice is found in the source. The section contains the copyright + contents followed by the legalnotice contents. Closes #1450209. + + Modified: manpages/docbook.xsl,1.59; manpages/info.xsl,1.17 - Michael(tm) + Smith + + ● Drastically reworked all of the XPath expressions used in refentry metadata + gathering -- completely removed $parentinfo and turned $info into a set of + nodes that includes the *info contents of the Refentry plus the *info + contents all all of its ancestor elements. The basic XPath expression now + used throughout is (using the example of checking for a date): + + (($info[//date])[last()]/date)[1]. + + That selects the "last" *info/date date in document order -- that is, the + one eitther on the Refentry itself or on the closest ancestor to the + Refentry. + + It's likely this change may break some things; may need to pick up some + pieces later. + + Also, changed the default value for the man.th.extra2.max.length from 40 to + 30. + + Modified: common/common.xsl,1.58; common/refentry.xsl,1.7; params/ + man.th.extra2.max.length.xml,1.2; params/refentry.date.profile.xml,1.2; + params/refentry.manual.profile.xml,1.2; params/ + refentry.source.name.profile.xml,1.2; params/ + refentry.version.profile.xml,1.2; manpages/docbook.xsl,1.58; manpages/ + other.xsl,1.15 - Michael(tm) Smith + + ● Added support for DocBook 5 namespace-stripping in manpages stylesheet. + Closes request #1210692. + + Modified: common/common.xsl,1.56; manpages/docbook.xsl,1.57 - Michael(tm) + Smith + + ● Fixed handling of table footnotes. With this checkin, the table support in + the manpages stylesheet is now basically feature complete. So this change + closes request #619532, "No support for tables" -- the oldest currently + open manpages feature request, submitted by Ben Secrest (blsecres) on + 2002-10-07. Congratulations to me [patting myself on the back]. + + Modified: manpages/block.xsl,1.11; manpages/docbook.xsl,1.55; manpages/ + table.xsl,1.15 - Michael(tm) Smith + + ● Added handling for table titles. Also fixed handling of nested tables; nest + tables are now "extracted" and displayed just after their parent tables. + + Modified: manpages/docbook.xsl,1.54; manpages/table.xsl,1.14 - Michael(tm) + Smith + + ● Added option for turning off bold formatting in Funcsynopsis. Boldface + formatting in function synopsis is mandated in the man(7) man page and is + used almost universally in existing man pages. Despite that, it really does + look like crap to have an entire Funcsynopsis output in bold, so I added + params for turning off the bold formatting and/or replacing it with a + different roff special font (e.g., "RI" for alternating roman/italic + instead of the default "BI" for alternating bold/italic). The new params + are "man.funcprototype.font" and "man.funcsynopsisinfo.font". To be + documented later. + + Closes #1452247. Thanks to Joe Orton for the feature request. + + Modified: params/man.string.subst.map.xml,1.16; manpages/block.xsl,1.10; + manpages/docbook.xsl,1.51; manpages/inline.xsl,1.16; manpages/ + synop.xsl,1.27 - Michael(tm) Smith + + ● Use AUTHORS instead of AUTHOR if we have multiple people to attribute. + Also, fixed checking such that we generate author section even if we don't + have an author (as long as there is at least one other person/entity we can + put in the section). Also adjusted assembly of content for Author metainfo + field such that we now not only use author, but try to find a "best match" + if we can't find an author name to put there. + + Closes #1233592. Thanks to Sam Steingold for the request. + + Modified: manpages/info.xsl,1.12 - Michael(tm) Smith + + ● Changes for request #1243027, "Impove handling of AUTHOR section." This + adds support for Collab, Corpauthor, Corpcredt, Orgname, Publishername, and + Publisher. Also adds support for output of Affiliation and its children, + and support for using gentext strings for auto-attributing roles (Author, + Editor, Publisher, Translator, etc.). Also did a lot of code cleanup and + modularization of all the AUTHOR handling code. And fixed a bug that was + causing Author info to not be picked up correctly for metainfo comment we + embed in man-page source. + + Modified: manpages/info.xsl,1.11 - Michael(tm) Smith + + ● Support bold output for "emphasis remap='B'". (because Eric Raymond's + doclifter(1) tool converts groff source marked up with ".B" request or "\ + fB" escapes to DocBook "emphasis remap='B'".) + + Modified: manpages/inline.xsl,1.14 - Michael(tm) Smith + + ● Added support for Segmentedlist. Details: Output is tabular, with no option + for "list" type output. Output for Segtitle elements can be supressed by + setting man.segtitle.suppress. If Segtitle content is output, it is + rendered in italic type (not bold because not all terminals support bold + and so italic ensures the stand out on those terminals). Extra space (.sp + line) at end of table code ensures that it gets handled correctly in the + case where its source is the child of a Para. Closes feature-request # + 1400097. Thanks to Daniel Leidert for the patch and push, and to Alastair + Rankine for filing the original feature request. + + Modified: manpages/lists.xsl,1.23; manpages/utility.xsl,1.10 - Michael(tm) + Smith + + ● Improved handling or Author/Editor/Othercredit. + + Reworked content of (non-visible) comment added at top of each page + (metadata stuff). + + Added support for generating a manifest file (useful for cleaning up after + builds, etc.) + + Modified: manpages/docbook.xsl,1.46; manpages/info.xsl,1.9; manpages/ + other.xsl,1.12; manpages/utility.xsl,1.6 - Michael(tm) Smith + + ● Added two new parameters for handling of multi-term varlistentry elements: + + variablelist.term.break.after: When the variablelist.term.break.after is + non-zero, it will generate a line break after each term multi-term + varlistentry. + + variablelist.term.separator: When a varlistentry contains multiple term + elements, the string specified in the value of the + variablelist.term.separator parameter is placed after each term except the + last. The default is ", " (a comma followed by a space). To suppress + rendering of the separator, set the value of variablelist.term.separator to + the empty string (""). + + These parameters are primarily intended to be useful if you have multi-term + varlistentries that have long terms. + + Closes #1306676. Thanks to Sam Steingold for providing an example "lots of + long terms" doc that demonstrated the value of having these options. + + Also, added normalize-space() call to processing of each term. + + This change affects all output formats (HTML, PDF, manpages). The default + behavior should pretty much remain the same as before, but it is possible + (as always) that the change may introduce some new bugginess. + + Modified: fo/lists.xsl,1.62; fo/param.ent,1.88; fo/param.xweb,1.99; html/ + lists.xsl,1.48; html/param.ent,1.86; html/param.xweb,1.93; manpages/ + lists.xsl,1.22; manpages/param.ent,1.14; manpages/param.xweb,1.16; params/ + variablelist.term.break.after.xml,1.1; params/ + variablelist.term.separator.xml,1.1 - Michael(tm) Smith + +Params + +The following changes have been made to the params code since the 1.69.1 +release. + + ● New parameters to set header/footer table minimum height. + + Modified: params/footer.table.height.xml,1.1; params/ + header.table.height.xml,1.1 - Robert Stayton + + ● Support multiple indexing methods for different languages. + + Modified: params/index.method.xml,1.1 - Robert Stayton + + ● Remove qandaset and qandadiv from generate.toc for fo output because + formerly it wasn't working, but now it is and the default behavior should + stay the same. + + Modified: params/generate.toc.xml,1.8 - Robert Stayton + + ● add support for page number references to link element too. + + Modified: params/insert.link.page.number.xml,1.1 - Robert Stayton + + ● Add support for more characters to hyphen on when ulink.hyphenate is turned + on. + + Modified: params/ulink.hyphenate.chars.xml,1.1; params/ + ulink.hyphenate.xml,1.3 - Robert Stayton + + ● New attribute-set to format biblioentry and bibliomixed. + + Modified: params/biblioentry.properties.xml,1.1 - Robert Stayton + + ● Added new parameter chunk.tocs.and.lots.has.title which controls presence + of title in a separate chunk with ToC/LoT. Disabling title can be very + useful if you are generating frameset output (well, yes those frames, but + some customers really want them ;-). + + Modified: html/chunk-code.xsl,1.15; html/param.ent,1.93; html/ + param.xweb,1.102; params/chunk.tocs.and.lots.has.title.xml,1.1 - Jirka + Kosek + + ● Added new attribute set toc.line.properties for controlling appearance of + lines in ToC/LoT + + Modified: params/toc.line.properties.xml,1.1 - Jirka Kosek + + ● Allow table footnotes to have different properties from regular footnotes. + + Modified: params/table.footnote.properties.xml,1.1 - Robert Stayton + + ● Set properties for pgwide="1" objects. + + Modified: params/pgwide.properties.xml,1.1 - Robert Stayton + + ● Added the autotoc.label.in.hyperlink param. + + If the value of autotoc.label.in.hyperlink is non-zero, labels are included + in hyperlinked titles in the TOC. If it is instead zero, labels are still + displayed prior to the hyperlinked titles, but are not hyperlinked along + with the titles. + + Closes patch #1065868. Thanks to anatoly techtonik for the patch. + + Modified: html/autotoc.xsl,1.36; html/param.ent,1.92; html/ + param.xweb,1.101; params/autotoc.label.in.hyperlink.xml,1.1 - Michael(tm) + Smith + + ● Added two new params: html.head.legalnotice.link.types and html.head. + legalnotice.link.multiple. + + If the value of the generate.legalnotice.link is non-zero, then the + stylesheet generates (in the head section of the HTML source) either a + single HTML link element or, if the value of the html.head.legalnotice.link + .multiple is non-zero, one link element for each link type specified. Each + link has the following attributes: + + - a rel attribute whose value is derived from the value of html.head. + legalnotice.link.types + + - an href attribute whose value is set to the URL of the file containing + the legalnotice + + - a title attribute whose value is set to the title of the corresponding + legalnotice (or a title programatically determined by the stylesheet) + + For example: + + + + Closes #1476450. Thanks to Sam Steingold. + + Modified: html/chunk-common.xsl,1.45; html/param.ent,1.91; html/ + param.xweb,1.100; params/generate.legalnotice.link.xml,1.4; params/ + html.head.legalnotice.link.multiple.xml,1.1; params/ + html.head.legalnotice.link.types.xml,1.1 - Michael(tm) Smith + + ● Added the following params: + + - man.indent.width (string-valued) - man.indent.refsect (boolean) - + man.indent.blurbs (boolean) - man.indent.lists (boolean) - + man.indent.verbatims (boolean) + + Note that in earlier snapshots, man.indent.width was named + man.indentation.default.value and the boolean params had names like + man.indentation.*.adjust. Also the man.indent.blurbs param was called + man.indentation.authors.adjust (or something). + + The behavior now is: If the value of a particular man.indent.* boolean + param is non-zero, the corresponding contents (refsect*, list items, + authorblurb/personblurb, vervatims) are displayed with a left margin + indented by a width equal to the value of man.indent.width. + + Modified: params/man.indent.blurbs.xml,1.1; manpages/docbook.xsl,1.74; + manpages/info.xsl,1.20; manpages/lists.xsl,1.30; manpages/other.xsl,1.20; + manpages/param.ent,1.22; manpages/param.xweb,1.24; manpages/ + refentry.xsl,1.14; params/man.indent.lists.xml,1.1; params/ + man.indent.refsect.xml,1.1; params/man.indent.verbatims.xml,1.1; params/ + man.indent.width.xml,1.1 - Michael(tm) Smith + + ● Added man.table.footnotes.divider param. + + In each table that contains footenotes, the string specified by the man. + table.footnotes.divider parameter is output before the list of footnotes + for the table. + + Modified: manpages/docbook.xsl,1.73; manpages/links.xsl,1.6; manpages/ + param.ent,1.21; manpages/param.xweb,1.23; params/ + man.table.footnotes.divider.xml,1.1 - Michael(tm) Smith + + ● Added the man.output.in.separate.dir, man.output.base.dir, and + man.output.subdirs.enabled parameters. + + The man.output.base.dir parameter specifies the base directory into which + man-page files are output. The man.output.subdirs.enabled parameter + controls whether the files are output in subdirectories within the base + directory. + + The values of the man.output.base.dir and man.output.subdirs.enabled + parameters are used only if the value of man.output.in.separate.dir + parameter is non-zero. If the value of man.output.in.separate.dir is zero, + man-page files are not output in a separate directory. + + Modified: manpages/docbook.xsl,1.72; manpages/param.ent,1.20; manpages/ + param.xweb,1.22; params/man.output.base.dir.xml,1.1; params/ + man.output.in.separate.dir.xml,1.1; params/ + man.output.subdirs.enabled.xml,1.1 - Michael(tm) Smith + + ● Added man.font.table.headings and man.font.table.title params, for + controlling font in table headings and titles. + + Modified: manpages/docbook.xsl,1.71; manpages/param.ent,1.19; manpages/ + param.xweb,1.21; params/man.font.table.headings.xml,1.1; params/ + man.font.table.title.xml,1.1 - Michael(tm) Smith + + ● Added man.font.funcsynopsisinfo and man.font.funcprototype params, for + specifying the roff font (for example, BI, B, I) for funcsynopsisinfo and + funcprototype output. + + Modified: manpages/block.xsl,1.19; manpages/docbook.xsl,1.69; manpages/ + param.ent,1.18; manpages/param.xweb,1.20; manpages/synop.xsl,1.29; manpages + /table.xsl,1.21; params/man.font.funcprototype.xml,1.1; params/ + man.font.funcsynopsisinfo.xml,1.1 - Michael(tm) Smith + + ● Changed to select="0" in refclass.suppress (instead of ..>0 as a child of the list. For example: + + Choose from + ONE and ONLY ONE of the following: + + + A + B + C. + + Output (for English): + + Choose from ONE and only ONE of the following choices: A, B, or C. + + As a temporary workaround for the fact that most of the DocBook non-English + locale files don't have a localization for the word “or”, you can put in a + literal string to be used; example for French: . + That is, use “ou” instead of “or”. + +FO + + ● Added content-type property to external-graphic element, based on imagedata + format attribute. + + ● Added support for generating field for + XEP output. This makes the DocBook XSL stylesheet version information + available through the Document Properties menu in Acrobat Reader and other + PDF viewers. + + ● Trademark symbol handling made consistent with handling of same in HTML + stylesheets. Prior to this change, if you processed a document that + contained no value for the class attribute on the trademark element, the + HTML stylesheets would default to rendering a superscript TM symbol after + the trademark contents, but the FO stylesheets would render nothing. + + ● Added support for generating XEP bookmarks for refentry. + + ● Added support for HTML markup table border attribute, applied to each table + cell. + + ● The table.width template can now sum column specs if none use % or *. + + ● Added fox:destination extension inside fox:outline to support linking to + internal destinations. + + ● Added support for customizing abstract with property sets. Controlled with + the abstract.properties and abstract.title.properties parameters. + + ● Add footnotes in table title to table footnote set, and add support for + table footnotes to HTML table markup. + + ● Added support for title in glosslist. + + ● Added support for itemizedlist symbol none. + + ● Implemented the new graphical.admonition.properties and + nongraphical.admonition.properties attribute sets. + + ● Added id to formalpara and some other blocks that were missing it. + + ● Changed the anchor template to output fo:inline instead of fo:wrapper. + + ● Added support for toc.max.depth parameter. + +Help + + ● Eclipse Help: Added support for generating olink database. + +HTML + + ● Added a first cut at support in HTML output for DocBook 5 style annotation + s. Controlled using the annotation.support parameter, and implemented using + JavaScript and CSS styling. For more details, see the documentation for the + annotation.js, annotation.css, annotation.graphic.open, and + annotation.graphic.close parameters. + + ● Generate client-side image map for imageobjectco with areas using calspair + units + + ● Added support for PI. + + ● Added support for passing img.src.path to DocBook Java XSLT image + extensions when appropriate. Controlled using the + graphicsize.use.img.src.path parameter. + + ● Added support for (not valid for DocBook 4) xlink:href on area and (not + valid for DocBook 4) alt in area. + + ● Added new parameter default.table.frame to control table framing if there + is no frame attribute on a table. + + ● Added initial, experimental support for generating content for the HTML + title attribute from content of the alt element. This change adds support + for the following inline elements only (none of them are block elements): + abbrev, accel, acronym, action, application, authorinitials, beginpage, + citation, citerefentry, citetitle, city, classname, code, command, + computeroutput, constant, country, database, email, envar, errorcode, + errorname, errortext, errortype, exceptionname, fax, filename, firstname, + firstterm, foreignphrase, function, glossterm, guibutton, guiicon, guilabel + , guimenu, guimenuitem, guisubmenu, hardware, honorific, interface, + interfacename, keycap, keycode, keysym, lineage, lineannotation, literal, + markup, medialabel, methodname, mousebutton, option, optional, otheraddr, + othername, package, parameter, personname, phone, pob, postcode, + productname, productnumber, prompt, property, quote, refentrytitle, remark, + replaceable, returnvalue, tag, shortcut, state, street, structfield, + structname, subscript, superscript, surname, symbol, systemitem, tag, + termdef, token, trademark, type, uri, userinput, varname, and wordasword + + ● Added support for chunking revhistory into separate file (similar to the + support for doing same with legalnotice). Patch from Thomas Schraitle. + Controlled through new generate.revhistory.link parameter. + + ● l10n.xsl: Made language codes RFC compliant. Added a new boolean config + parameter, l10n.lang.value.rfc.compliant. If it is non-zero (the default), + any underscore in a language code will be converted to a hyphen in HTML + output. If it is zero, the language code will be left as-is. + +man + +This release closes out 44 manpages stylesheet bug reports and feature +requests. It adds more than 35 new configuration parameters for controlling +aspects of man-page output -- including hyphenation and justification, handling +of links, conversion of Unicode characters, and contents of man-page headers +and footers. + + ● New options for globally disabling/enabling hyphenation and justification: + man.justify and man.hyphenate. + + Note that the default for the both of those is zero (off), because + justified text looks good only when it is also hyphenated; to quote the + “Hyphenation” node from the groff info page: + + Since the odds are not great for finding a set of words, for every + output line, which fit nicely on a line without inserting excessive + amounts of space between words, `gtroff' hyphenates words so that it + can justify lines without inserting too much space between words. + + The problem is that groff can end up hyphenating a lot of things that you + don't want hyphenated (variable names and command names, for example). + Keeping both justification and hyphenation disabled ensures that hyphens + won't get inserted where you don't want to them, and you don't end up with + lines containing excessive amounts of space between words. These default + settings run counter to how most existing man pages are formatted. But + there are some notable exceptions, such as the perl man pages. + + ● Added parameters for controlling hyphenation of computer inlines, + filenames, and URLs. By default, even when hyphenation is enabled + (globally), hyphenation is now suppressed for "computer inlines" + (currently, just classname, constant, envar, errorcode, option, replaceable + , userinput, type, and varname, and for filenames, and for URLs from link. + It can be (re)enabled using the man.hyphenate.computer.inlines, + man.hyphenate.filenames, and man.hyphenate.urls parameters. + + ● Implemented a new system for replacing Unicode characters. There are two + parts to the new system: a “string substitution map” for doing “essential” + replacements, and a “character map” that can optionally be disabled and + enabled. + + The new system fixes all open bugs that had to do with literal Unicode + numbered entities such as “ and ” showing up in output, and + greatly expands the ability of the stylesheets to generate “good” roff + equivalents for Unicode symbols and special characters. + + Here are some details... + + The previous manpages mechanism for replacing Unicode symbols and special + characters with roff equivalents (the replace-entities template) was not + scalable and not complete. The mechanism handled a somewhat arbitrary + selection of less than 20 or so Unicode characters. But there are + potentially more than 800 Unicode special characters that have some groff + equivalent they can be mapped to. And there are about 34 symbols in the + Latin-1 (ISO-8859-1) block alone. Users might reasonably expect that if + they include any of those Latin-1 characters in their DocBook source + documents, they will get correctly converted to known roff equivalents in + output. + + In addition to those common symbols, certain users may have a need to use + symbols from other Unicode blocks. Say, somebody who is documenting an + application related to math might need to use a bunch of symbols from the + “Mathematical Operators” Unicode block (there are about 65 characters in + that block that have reasonable roff equivalents). Or somebody else might + really like Dingbats -- such as the checkmark character -- and so might use + a bunch of things from the “Dingbat” block (141 characters in that that + have roff equivalents or that can at least be “degraded” somewhat + gracefully into roff). + + So, the old replace-entities mechanism was replaced with a completely + different mechanism that is based on use of two “maps”: a “substitution + map” and a “character map” (the latter in a format compliant with the XSLT + 2.0 spec and therefore completely “forward compatible” with XSLT 2.0). + + The substitution map is controlled through the man.string.subst.map + parameter, and is used to replace things like the backslash character + (which needs special handling to prevent it from being interpreted as a + roff escape). The substitution map cannot be disabled, because disabling it + will cause the output to be broken. However, you can add to it and change + it if needed. + + The “character map” mechanism, on the other hand, can be completely + disabled. It is enabled by default, and, by default, does replacement of + all Latin-1 symbols, along with most special spaces, dashes, and quotes + (about 75 characters by default). Also, you can optionally enable a “full” + character map that provides support for converting all 800 or so of the + characters that have some reasonable groff equivalent. + + The character-map mechanism is controlled through the following parameters: + + man.charmap.enabled + + turns character-map support on/off + + man.charmap.use.subset + + specifies that a subset of the character map is used instead of the + full map + + man.charmap.subset.profile + + specifies profile of character-map subset + + man.charmap.uri + + specifies an alternate character map to use instead of the “standard” + character map provided in the distribution + + ● Implemented out-of-line handling of display of URLs for links (currently, + only for ulink). This gives you three choices for handling of links: + + 1. Number and list links. Each link is numbered inline, with a number in + square brackets preceding the link contents, and a numbered list of all + links is added to the end of the document. + + 2. Only list links. Links are not numbered, but an (unnumbered) list of + links is added to the end of the document. + + 3. Suppress links. Don't number links and don't add any list of links to + the end of the document. + + You can also choose whether links should be underlined. The default is “the + works” -- list, number, and underline links. You can use the + man.links.list.enabled, man.links.are.numbered, and + man.links.are.underlined parameters to change the defaults. The default + heading for the link list is REFERENCES. You can be change that using the + man.links.list.heading parameter. + + ● Changed default output encoding to UTF-8. This does not mean that man pages + are output in raw UTF-8, because the character map is applied before final + output, causing all UTF-8 characters covered in the map to be converted to + roff equivalents. + + ● Added support for processing refsect3 and formalpara and nested refsection + elements, down to any arbitrary level of nesting. + + ● Output of the NAME and SYNOPSIS and AUTHOR headings and the headings for + admonitions (note, caution, etc.) are no longer hard-coded for English. + Instead, headings are generated for those in the correct locale (just as + the FO and HTML stylesheets do). + + ● Re-worked mechanism for assembling page headers/footers (the contents of + the .TH macro “title line”). + + Here are some details... + + All man pages contain a .TH roff macro whose contents are used for + rendering the “title line” displayed in the header and footer of each page. + Here are a couple of examples of real-world man pages that have useful page + headers/footers: + + gtk-options(7) GTK+ User's Manual gtk-options(7) <-- header + GTK+ 1.2 2003-10-20 gtk-options(7) <-- footer + + svgalib(7) Svgalib User Manual svgalib(7) <-- header + Svgalib 1.4.1 16 December 1999 svgalib(7) <-- footer + + And here are the terms with which the groff_man(7) man page refers to the + various parts of the header/footer: + + title(section) extra3 title(section) <- header + extra2 extra1 title(section) <- footer + + Or, using the names with which the man(7) man page refers to those same + fields: + + title(section) manual title(section) <- page header + source date title(section) <- page footer + + The easiest way to control the contents of those fields is to mark up your + refentry content like the following (note that this is a “minimal” + example). + + + + 2003-10-20 1 + + + gtk-options 2 + 7 3 + GTK+ 4 + 1.2 5 + GTK+ User's Manual 6 + + + gtk-options + Standard Command Line Options for GTK+ Programs + + + Description + This manual page describes the command line options, which + are common to all GTK+ based applications. + + + + 1 Sets the “date” part of the header/footer. + + 2 Sets the “title” part. + + 3 Sets the “section” part. + + 4 Sets the “source name” part. + + 5 Sets the “version” part. + + 6 Sets the “manual” part. + + Below are explanations of the steps the stylesheets take to attempt to + assemble and display “good” headers and footer. [In the descriptions, note + that *info is the refentry “info” child (whatever its name), and parentinfo + is the “info” child of its parent (again, whatever its name).] + + extra1 field (date) + + Content of the “extra1” field is what shows up in the center footer + position of each page. The man(7) man page describes it as “the date of + the last revision”. + + To provide this content, if the refentry.date.profile.enabled is + non-zero, the stylesheets check the value of refentry.date.profile. + + Otherwise, by default, they check for a date or pubdate not only in the + *info contents, but also in the parentinfo contents. + + If a date cannot be found, the stylesheets now automatically generate a + localized “long format” date, ensuring that this field always has + content in output. + + However, if for some reason you want to suppress this field, you can do + so by setting a non-zero value for man.th.extra1.suppress. + + extra2 field (source) + + On Linux systems and on systems with a modern groff, the content of the + “extra2” field are what shows up in the left footer position of each + page. + + The man(7) man page describes this as “the source of the command”, and + provides the following examples: + + ○ For binaries, use somwething like: GNU, NET-2, SLS Distribution, + MCC Distribution. + + ○ For system calls, use the version of the kernel that you are + currently looking at: Linux 0.99.11. + + ○ For library calls, use the source of the function: GNU, BSD 4.3, + Linux DLL 4.4.1. + + In practice, there are many pages that simply have a version number in + the “source” field. So, it looks like what we have is a two-part field, + Name Version, where: + + Name + + product name (e.g., BSD) or org. name (e.g., GNU) + + Version + + version name + + Each part is optional. If the Name is a product name, then the Version + is probably the version of the product. Or there may be no Name, in + which case, if there is a Version, it is probably the version of the + item itself, not the product it is part of. Or, if the Name is an + organization name, then there probably will be no Version. + + To provide this content, if the refentry.source.name.profile.enabled + and refentry.version.profile.enabled parameter are non-zero, the + stylesheets check the value of refentry.source.name.profile + refentry.version.profile. + + Otherwise, by default, they check the following places, in the + following order: + + 1. *info/productnumber + + 2. *info/productnumber + + 3. refmeta/refmiscinfo[@class = 'version'] + + 4. parentinfo/productnumber + + 5. *info/productname + + 6. parentinfo/productname + + 7. refmeta/refmiscinfo + + 8. [nothing found, so leave it empty] + + extra3 field + + On Linux systems and on systems with a modern groff, the content of the + “extra3” field are what shows up in the center header position of each + page. Some man pages have “extra2” content, some don't. If a particular + man page has it, it is most often “context” data about some larger + system the documented item belongs to (for example, the name or + description of a group of related applications). The stylesheets now + check the following places, in the following order, to look for content + to add to the “extra3” field. + + 1. parentinfo/title + + 2. parent's title + + 3. refmeta/refmiscinfo + + 4. [nothing found, so leave it empty] + + ● Reworked *info gathering. For each refentry found, the stylesheets now + cache its *info content, then check for any valid parent of it that might + have metainfo content and cache that, if found; they then then do all + further matches against those node-sets (rather than re-selecting the + original *info nodes each time they are needed). + + ● New option for breaking strings after forward slashes. This enables long + URLs and pathnames to be broken across lines. Controlled through + man.break.after.slash parameter. + + ● Output for servicemark and trademark are now (SM) and (TM). There is a + groff "\(tm" escape, but output from that is not acceptable. + + ● New option for controlling the length of the title part of the .TH title + line. Controlled through the man.th.title.max.length parameter. + + ● New option for specifying output encoding of each man page; controlled with + man.output.encoding (similar to the HTML chunker.output.encoding + parameter). + + ● New option for suppressing filename messages when generating output; + controlled with man.output.quietly (similar to the HTML chunk.quietly + parameter). + + ● The text of cross-references to first-level refentry (refsect1, top-level + refsection, refnamediv, and refsynopsisdiv) are now capitalized. + + ● Cross-references to refnamediv now use the localized NAME title instead of + using the first refname child. This makes the output inconsistent with HTML + and FO output, but for man-page output, it seems to make better sense to + have the NAME. (It may actually make better sense to do it that way in HTML + and FO output as well...) + + ● Added support for processing funcparams. + + ● Removed the space that was being output between funcdef and paramdef; + example: was: float rand (void); now: float rand(void) + + ● Turned off bold formatting for the type element when it occurs within a + funcdef or paramdef + + ● Corrected rendering of simplelist. Any + + + + + + + + Invoke Saxon with the encoding.windows-1252 Java system property set to + com.nwalsh.saxon.Windows1252; for example + + java \ + -Dencoding.windows-1252=com.nwalsh.saxon.Windows1252 \ + com.icl.saxon.StyleSheet \ + mydoc.xml mystylesheet.xsl + + Or, for a more complete "real world" case showing other options you'll + typically want to use: + + java \ + -Dencoding.windows-1252=com.nwalsh.saxon.Windows1252 \ + -Djavax.xml.parsers.DocumentBuilderFactory=org.apache.xerces.jaxp.DocumentBuilderFactoryImpl \ + -Djavax.xml.parsers.SAXParserFactory=org.apache.xerces.jaxp.SAXParserFactoryImpl \ + -Djavax.xml.transform.TransformerFactory=com.icl.saxon.TransformerFactoryImpl \ + com.icl.saxon.StyleSheet \ + -x org.apache.xml.resolver.tools.ResolvingXMLReader \ + -y org.apache.xml.resolver.tools.ResolvingXMLReader \ + -r org.apache.xml.resolver.tools.CatalogResolver \ + mydoc.xml mystylesheet.xsl + + In both cases, the "mystylesheet.xsl" file should be a DocBook + customization layer containing the parameters show in step 2. + + ● Saxon extensions: Removed Saxon 8 extensions from release package + +Release 1.67.0 + + ● A number of important bug fixes. + + ● Added Saxon8 extensions + + ● Enabled dbfo table-width on entrytbl in FO output + + ● Added support for role=strong on emphasis in FO output + + ● Added new FO parameter hyphenate.verbatim that can be used to turn on + "intelligent" wrapping of verbatim environments. + + ● Replaced all output with + + ● Changed admon.graphic.width template to a mode so that different + admonitions can have different graphical widths. + + ● Deprecated the HTML shade.verbatim parameter (use CSS instead) + + ● Wrapped ToC refentrytitle/refname and refpurpose in span with class values. + This makes it possible to style them using a CSS stylesheet. + + ● Use strong/em instead of b/i in HTML output + + ● Added support for converting Emphasis to groff italic and Emphasis role= + 'bold' to bold. Controlled by emphasis.propagates.style param, but not + documented yet using litprog system. Will do that next (planning to add + some other parameter-controllable options for hyphenation and handling of + line spacing). + + ● callout.graphics.number.limit.xml param: Changed the default from 10 to 15. + + ● verbatim.properties: Added hyphenate=false + + ● Saxon and Xalan Text.java extensions: Added support for URIResolver() on + insertfile href's + + ● Added generated RELEASE-NOTES.txt file. + + ● Added INSTALL file (executable file for generating catalog.xml) + + ● Removed obsolete tools directory from package + +Release 1.66.1 + + ● A number of important bug fixes. + + ● Now xml:base attributes that are generated by an XInclude processor are + resolved for image files. + + ● Rewrote olink templates to support several new features. + + ○ Extended full olink support to FO output. + + ○ Add support for xrefstyle attribute in olinks. + + ○ New parameters to support new olink features: insert.olink.page.number, + insert.olink.pdf.frag, olink.debug, olink.lang.fallback.sequence, + olink.properties, prefer.internal.olink. See the reference page for + each parameter for more information. + + ● Added index.on.type parameter for new type attribute introduced in DocBook + 4.3 for indexterms and index. This allows you to create multiple indices + containing different categories of entries. For users of 4.2 and earlier, + you can use the new parameter index.on.role instead. + + ● Added new section.autolabel.max.depth parameter to turn off section + numbering below a certain depth. This permits you to number major section + levels and leave minor section levels unnumbered. + + ● Added footnote.sep.leader.properties attribute set to format the line + separating footnotes in printed output. + + ● Added parameter img.src.path as a prefix to HTML img src attributes. The + prefix is added to whatever path is already generated by the stylesheet for + each image file. + + ● Added new attribute-sets informalequation.properties, + informalexample.properties, informalfigure.properties, and + informaltable.properties, so each such element type can be formatted + individually if needed. + + ● Add component.label.includes.part.label parameter to add any part number to + chapter, appendix and other component labels when the label.from.part + parameter is nonzero. This permits you to distinguish multiple chapters + with the same chapter number in cross references and the TOC. + + ● Added chunk.separate.lots parameter for HTML output. This parameter lets + you generate separate chunk files for each LOT (list of tables, list of + figures, etc.). + + ● Added several table features: + + ○ Added table.table.properties attribute set to add properties to the + fo:table element. + + ○ Added placeholder templates named table.cell.properties and + table.cell.block.properties to enable adding properties to any + fo:table-cell or the cell's fo:block, respectively. These templates are + a start for implementing table styles. + + ● Added new attribute set component.title.properties for easy modifications + of component's title formatting in FO output. + + ● Added Saxon support for an encoding attribute on the textdata element. + Added new parameter textdata.default.encoding which specifies encoding when + encoding attribute on textdata is missing. + + ● Template label.this.section now controls whole section label, not only + sub-label which corresponds to particular label. Former behaviour was IMHO + bug as it was not usable. + + ● Formatting in titleabbrev for TOC and headers is preserved when there are + no hotlink elements in the title. Formerly the title showed only the text + of the title, no font changes or other markup. + + ● Added intial.page.number template to set the initial-page-number property + for page sequences in print output. Customizing this template lets you + change when page numbering restarts. This is similar to the + format.page.number template that lets you change how the page number + formatting changes in the output. + + ● Added force.page.count template to set the force-page-count property for + page sequences in print output. This is similar to the format.page.number + template. + + ● Sort language for localized index sorting in autoidx-ng.xsl is now taken + from document lang, not from system environment. + + ● Numbering and formatting of normal and ulink footnotes (if turned on) has + been unified. Now ulink footnotes are mixed in with any other footnotes. + + ● Added support for renderas attribute in section and sect1 et al. This + permits you to render a given section title as if it were a different + level. + + ● Added support for label attribute in footnote to manually supply the + footnote mark. + + ● Added support for DocBook 4.3 corpcredit element. + + ● Added support for a dbfo keep-together PI for formal objects (table, + figure, example, equation, programlisting). That permits a formal object to + be kept together if it is not already, or to be broken if it is very long + and the default keep-together is not appropriate. + + ● For graphics files, made file extension matching case insensitive, and + updated the list of graphics extensions. + + ● Allow calloutlist to have block content before the first callout + + ● Added dbfo-need processing instruction to provide soft page breaks. + + ● Added implementation of existing but unused default.image.width parameter + for graphics. + + ● Support DocBook NG tag inline element. + + ● It appears that XEP now supports Unicode characters in bookmarks. There is + no further need to strip accents from characters. + + ● Make segmentedlist HTML markup more semantic and available to CSS styles. + + ● Added user.preroot placeholder template to permit xsl-stylesheet and other + PIs and comments to be output before the HTML root element. + + ● Non-chunked legalnotice now gets an element in HTML output so + it can be referenced with xref or link. + + ● In chunked HTML output, changed link rel="home" to rel="start", and link + rel="previous" to rel="prev", per W3C HTML 4.01 spec. + + ● Added several patches to htmlhelp from W. Borgert + + ● Added Bosnian locale file as common/bs.xml. + +Release 1.65.0 + + ● A number of important bug fixes. + + ● Added a workaround to allow these stylesheets to process DocBook NG + documents. (It’s a hack that pre-processes the document to strip off the + namespace and then uses exsl:node-set to process the result.) + + ● Added alternative indexing mechanism which has better internationalization + support. New indexing method allows grouping of accented letters like e, é, + ë into the same group under letter "e". It can also treat special letters + (e.g. "ch") as one character and place them in the correct position (e.g. + between "h" and "i" in Czech language). + + In order to use this mechanism you must create customization layer which + imports some base stylesheet (like fo/docbook.xsl, html/chunk.xsl) and then + includes appropriate stylesheet with new indexing code (fo/autoidx-ng.xsl + or html/autoidx-ng.xsl). For example: + + + + + + + + + New method is known to work with Saxon and it should also work with + xsltproc 1.1.1 and later. Currently supported languages are English, Czech, + German, French, Spanish and Danish. + +Release 1.64.1 + +General bug fixes and improvements. Sorry about the failure to produce an +updated release notes file for 1.62.0—1.63.2 + + ● In the course of fixing bug #849787, wrapping Unicode callouts with an + appropriate font change in the Xalan extensions, I discovered that the + Xalan APIs have changed a bit. So xalan2.jar will work with older Xalan 2 + implementations, xalan25.jar works with Xalan 2.5. + +Release 1.61.0 + +Lots of bug fixes and improvements. + + ● Initial support for timestamp PI. From now you can use to get current datetime in your document. Added + localization support for datetime PI + + ● Added level 6 to test for section depth in section.level template so that + section.title.level6.properties will be used for sections that are 6 deep + or deeper. This should also cause a h6 to be created in html output. + + ● Don't use SVG graphics if use.svg=0 + + ● Now uses number-and-title-template for sections only if section.autolabel + is not zero. + + ● Added missing 'english-language-name' attribute to the l10n element, and + the missing 'style' attribute to the template element so the current + gentext documents will validate. + + ● Corrected several references to parameter qanda.defaultlabel that were + missing the "$". + + ● Now accepts admon.textlabel parameter to turn off Note, Warning, etc. + label. + + ● FeatReq #684561: support more XEP metadata + + ● Added hyphenation support. Added support for coref. Added beginpage + support. (does nothing; see TDG). + + ● Added support for hyphenation-character, hyphenation-push-character-count, + and hyphenation-remain-character-count + + ● Added root.properties, ebnf.assignment, and ebnf.statement.terminator + + ● Support bgcolor PI in table cells; make sure rowsep and colsep don't have + any effect on the last row or column + + ● Handle othercredit on titlepage a little better + + ● Applied fix from Jeff Beal that fixed the bug that put secondary page + numbers on primary entries. Same with tertiary page numbers on secondary + entries. + + ● Added definition of missing variable collection. + + ● Make footnote formatting 'normal' even when it occurs in a context that has + special formatting + + ● Added warning when glossary.collection is not blank, but it cannot open the + specified file. + + ● Pick up the frame attribute on table and informaltable. + + ● indexdiv/title in non-autogenerated indexes are now picked up. + + ● Removed (unused) component.title.properties + + ● Move IDs from page-sequences down to titlepage blocks + + ● Use proportional-column-width(1) on more tables. + + Use proportional-column-width() for header/footer tables; suppress + relative-align when when using FOP + + ● Check for glossterm.auto.link when linking firstterms; don't output gl. + prefix on glossterm links + + ● Generate Part ToCs + + ● Support glossary, bibliography, and index in component ToCs. + + ● Refactored chunking code so that customization of chunk algorithm and chunk + elements is more practical + + ● Support textobject/phrase on inlinemediaobject. + + ● Support 'start' PI on ordered lists + + ● Fixed test of $toc PI to turn on qandaset TOC. + + ● Added process.chunk.footnotes to sect2 through 5 to fix bug of missing + footnotes when chunk level greater than 1. + + ● Added paramater toc.max.depth which controls maximal depth of ToC as + requested by PHP-DOC group. + + ● Exempted titleabbrev from preamble processing in lists, and fixed + variablelist preamble code to use the same syntax as the other lists. + + ● Added support for elements between variablelist and first varlistentry + since DocBook 4.2 supports that now. + +Release 1.60.1 + +Lots of bug fixes. + + ● The format of the titlepage.templates.xml files and the stylesheet that + transforms them have been significantly changed. All of the attributes used + to control the templates are now namespace qualified. So what used to be: + + + + is now: + + + + Attributes from other namespaces (including those that are unqualified) are + now copied directly through. In practice, this means that the names that + used to be “fo:” qualified: + + + + are now unqualified: + + <title t:named-template="component.title" + param:node="ancestor-or-self::article[1]" + text-align="center" + keep-with-next="always" + font-size="&hsize5;" + font-weight="bold" + font-family="{$title.font.family}"/> + + The t:titlepage and t:titlepage-content elements both generate wrappers + now. And unqualified attributes on those elements are passed through. This + means that you can now make the title font apply to ane entire titlepage + and make the entire “recto” titlepage centered by specifying the font and + alignment on the those elements: + + <t:titlepage t:element="article" t:wrapper="fo:block" + font-family="{$title.font.family}"> + + <t:titlepage-content t:side="recto" + text-align="center"> + + ● Support use of titleabbrev in running headers and footers. + + ● Added (experimental) xref.with.number.and.title parameter to enable number/ + title cross references even when the default would be just the number. + + ● Generate part ToCs if they're requested. + + ● Use proportional-column-width() in header/footer tables. + + ● Handle alignment correctly when screenshot wraps a graphic in a figure. + + ● Format chapter and appendix cross references consistently. + + ● Attempt to support tables with multiple tgroups in FO. + + ● Output fo:table-columns in simplelist tables. + + ● Use titlepage.templates.xml for indexdiv and glossdiv formatting. + + ● Improve support for new bibliography elements. + + ● Added footnote.number.format, table.footnote.number.format, + footnote.number.symbols, and table.footnote.number.symbols for better + control of footnote markers. + + ● Added glossentry.show.acronyms. + + ● Suppress the draft-mode page masters when draft-mode is “no”. + + ● Make blank pages verso not recto. D'Oh! + + ● Improved formatting of ulink footnotes. + + ● Fixed bugs in graphic width/height calculations. + + ● Added class attributes to inline elements. + + ● Don't add “.html” to the filenames identified with the “dbhtml” PI. + + ● Don't force a ToC when sections contain refentrys. + + ● Make section title sizes a function of the body.master.size. + +Release 1.59.2 + +The 1.59.2 fixes an FO bug in the page masters that causes FOP to fail. + + ● Removed the region-name from the region-body of blank pages. There's no + reason to give the body of blank pages a unique name and doing so causes a + mismatch that FOP detects. + + ● Output IDs for the first paragraphs in listitems. + + ● Fixed some small bugs in the handling of page numbers in double-sided mode. + + ● Attempt to prevent duplicated IDs from being produced when endterm on xref + points to something with nested structure. + + ● Fix aligment problems in equations. + + ● Output the type attribute on unordered lists (UL) in HTML only if the + css.decoration parameter is true. + + ● Calculate the font size in formal.title.properties so that it's 1.2 times + the base font size, not a fixed "12pt". + +Release 1.59.1 + +The 1.59.1 fixes a few bugs. + + ● Added Bulgarian localization. + + ● Indexing improvements; localize book indexes to books but allow setindex to + index an entire set. + + ● The default value for rowsep and colsep is now "1" as per CALS. + + ● Added support for titleabbrev (use them for cross references). + + ● Improvements to mediaobject for selecting print vs. online images. + + ● Added seperate property sets for figures, examples, equations, tabless, and + procedures. + + ● Make lineannotations italic. + + ● Support xrefstyle attribute. + + ● Make endterm on xref higher priority than xreflabel target. + + ● Glossary formatting improvements. + +Release 1.58.0 + +The 1.58.0 adds some initial support for extensions in xsltproc, adds a few +features, and fixes bugs. + + ● This release contains the first attempt at extension support for xsltproc. + The only extension available to date is the one that adjusts table column + widths. Run extensions/xsltproc/python/xslt.py. + + ● Fixed bugs in calculation of adjusted column widths to correct for rounding + errors. + + ● Support nested refsection elements correctly. + + ● Reworked gentext.template to take context into consideration. The name of + elements in localization files is now an xpath-like context list, not just + a simple name. + + ● Made some improvements to bibliography formatting. + + ● Improved graphical formatting of admonitions. + + ● Added support for entrytbl. + + ● Support spanning index terms. + + ● Support bibliosource. + +Release 1.57.0 + + ● The 1.57.0 release wasn't documented here. Oops. + +Release 1.56.0 + +The 1.56.0 release fixes bugs. + + ● Reworked chunking. This will break all existing customizations layers that + change the chunking algorithm. If you're customizing chunking, look at the + new “content” parameter that's passed to process-chunk-element and friends. + + ● Support continued and inherited numeration in orderedlist formatting for + FOs. + + ● Added Thai localization. + + ● Tweaked stylesheet documentation stylesheets to link to TDG and the + parameter references. + + ● Allow title on tables of contents ("Table of Contents") to be optional. + Added new keyword to generate.toc. Support tables of contents on sections. + + ● Made separate parameters for table borders and table cell borders: + table.frame.border.color, table.frame.border.style, + table.frame.border.thickness, table.cell.border.color, + table.cell.border.style, and table.cell.border.thickness. + + ● Suppress formatting of “endofrange” indexterms. This is only half-right. + They should generate a range, but I haven't figured out how to do that yet. + + ● Support revdescription. (Bug #582192) + + ● Added default.float.class and fixed figure floats. (Bug #497603) + + ● Fixed formatting of sbr in FOs. + + ● Added context to the “missing template” error message. + + ● Process arg correctly in a group. (Bug #605150) + + ● Removed 'keep-with-next' from formal.title.properties attribute set now + that the stylesheets support the option of putting such titles below the + object. Now the $placement value determines if 'keep-with-next' or + 'keep-with-previous' is used in the title block. + + ● Wrap “url()” around external-destinations when appropriate. + + ● Fixed typo in compact list spacing. (Bug #615464) + + ● Removed spurious hash in anchor name. (Bug #617717) + + ● Address is now displayed verbatim on title pages. (Bug #618600) + + ● The bridgehead.in.toc parameter is now properly supported. + + ● Improved effectiveness of HTML cleanup by increasing the number of places + where it is used. Improve use of HTML cleanup in XHTML stylesheets. + + ● Support table of contents for appendix in article. (Bug #596599) + + ● Don't duplicate footnotes in bibliographys and glossarys. (Bug #583282) + + ● Added default.image.width. (Bug #516859) + + ● Totally reworked funcsynopsis code; it now supports a 'tabular' + presentation style for 'wide' prototypes; see + funcsynopsis.tabular.threshold. (HTML only right now, I think, FO support, + uh, real soon now.) + + ● Reworked support for difference marking; toned down the colors a bit and + added a “system.head.content” template so that the diff CSS wasn't + overriding “user.head.content”. (Bug #610660) + + ● Added call to the “*.head.content” elements when writing out long + description chunks. + + ● Make sure legalnotice link is correct even when chunking to a different + base.dir. + + ● Use CSS to set viewport characteristics if css.decoration is non-zero, use + div instead of p for making graphic a block element; make figure titles the + default alt text for images in a figure. + + ● Added space-after to list.block.spacing. + + ● Reworked section.level template to give “correct” answer instead of being + off by one. + + ● When processing tables, use the tabstyle attribute as the division class. + + ● Fixed bug in html2xhtml.xsl that was causing the XHTML chunker to output + HTML instead of XHTML. + +Older releases + +To view the release notes for older releases, see http://cvs.sourceforge.net/ +viewcvs.py/docbook/xsl/RELEASE-NOTES.xml. Be aware that there were no release +notes for releases prior to the 1.50.0 release. + +About dot-zero releases + +DocBook Project “dot zero” releases should be considered experimental and are +always followed by stable “dot one plus” releases, usually within two or three +weeks. Please help to ensure the stability of “dot one plus” releases by +carefully testing each “dot zero” release and reporting back about any problems +you find. + +It is not recommended that you use a “dot zero” release in a production system. +Instead, you should wait for the “dot one” or greater versions. + diff --git a/doc/help/xslt/RELEASE-NOTES.xml b/doc/help/xslt/RELEASE-NOTES.xml new file mode 100644 index 00000000..9c50d9ab --- /dev/null +++ b/doc/help/xslt/RELEASE-NOTES.xml @@ -0,0 +1,10327 @@ +<article xmlns="http://docbook.org/ns/docbook" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:xi="http://www.w3.org/2001/XInclude" + xml:lang="en" xml:id="releasenotes" + version="5.0"> + +<info> + <title>Release Notes for the DocBook XSL Stylesheets + + $Revision: 8934 $ $Date: 2010-11-01 13:03:14 -0700 (Mon, 01 Nov 2010) $ + + +This release-notes + document is available in the following formats: + HTML, + PDF, + plain text; it provides a per-release list +of enhancements and changes to the stylesheets’ public APIs +(user-configurable parameters) and excludes descriptions of most +bug fixes. For a complete list of all changes (including all bug +fixes) that have been made since the previous release, see the +separate NEWS (plain text) or NEWS.html files. Also available: +An online hyperlinked change history (warning: big file) of all +changes made over the entire history of the codebase. +As with all DocBook Project dot-zero releases, this is an + experimental release. It will be followed shortly by a stable + release. +As with all DocBook Project “dot + one plus” releases, this release aspires to be stable (in + contrast to dot-zero releases, which + are experimental). +This is a pre-release “snapshot” of the +DocBook XSL Stylesheets. The change information in the first +section of this file +(for “”) is +auto-generated from change descriptions stored in the project +source-code repository. +That means the first section contains +descriptions both of bug fixes and of feature changes. The +remaining sections are manually edited changelog subsets that +exclude bug-fix descriptions – that is, trimmed down to just those +those descriptions that document enhancements and changes to the +public APIs (user-configurable parameters). + + + + + + + +Release Notes: 1.76.1 +The following is a list of changes that have been made + since the 1.76.0 release. + + +FO +The following changes have been made to the + fo code + since the 1.76.0 release. + + +Robert Stayton: docbook.xsl; xref.xsl; fop1.xslApply patch to support named destination in fop1.xsl, per Sourceforge +bug report #3029845. + + + + + +HTML +The following changes have been made to the html code since the 1.76.0 release. + + +Keith Fahlgren: highlight.xslImplementing handling for <b> and <i>: transform to <strong> and <em> for XHTML outputs and do not use in the highliting output (per Mauritz Jeanson) + + + + + +Params +The following changes have been made to the + params code + since the 1.76.0 release. + + +Robert Stayton: draft.mode.xmlChange default for draft.mode to 'no'. + + + + + + + + Release Notes: 1.76.0 +This release includes important bug fixes and adds the following +significant feature changes: + + +Webhelp +A new browser-based, cross-platform help format with full-text search and other features typically found in help systems. See webhelp/docs/content/ch01.html for more information and a demo. + + + + +Gentext +Many updates and additions to translation/locales thanks to Red Hat, the Fedora Project, and other contributors. + + +Common +Faster localization support, as language files are loaded on demand. + + + + FO + Support for SVG content in imagedata added. + + + HTML + Output improved when using 'make.clean.html' and a stock CSS file is now provided. + + +EPUB +A number of improvements to NCX, cover and image selection, and XHTML 1.1 element choices + + + + + The following is a list of changes that have been made since the 1.75.2 release. + + Gentext + The following changes have been made to the gentext code since the 1.75.2 release. + + + + rlandmann: locale/fa.xml + + + Update to Persian translation from the Fedora Project + + + + + rlandmann: locale/nds.xml + + + Locale for Low German + + + + + Mauritz Jeanson: locale/ka.xml; Makefile + + + Added support for Georgian based on patch #2917147. + + + + + rlandmann: locale/nl.xml; locale/ja.xml + + + Updated translations from Red Hat and the Fedora Project + + + + + rlandmann: locale/bs.xml; locale/ru.xml; locale/hr.xml + + + Updated locales from Red Hat and the Fedora Project + + + + + rlandmann: locale/pt.xml; locale/cs.xml; locale/es.xml; locale/bg.xml; locale/nl.xml; loca⋯ + + + Updated translations from Red Hat and the Fedora Project + + + + + rlandmann: locale/as.xml; locale/bn_IN.xml; locale/ast.xml; locale/ml.xml; locale/te.xml; ⋯ + + + New translations from Red Hat and the Fedora Project + + + + + rlandmann: locale/pt.xml; locale/ca.xml; locale/da.xml; locale/sr.xml; locale/ru.xml; loca⋯ + + + Updated translations from Red Hat and the Fedora Project + + + + + + + Common + The following changes have been made to the common code since the 1.75.2 release. + + + + Mauritz Jeanson: common.xsl + + + Fixed bug in output-orderedlist-starting-number template (@startingnumber did not work for FO). + + + + + Mauritz Jeanson: gentext.xsl + + + Added fix to catch ID also of descendants of listitem. Closes bug #2955077. + + + + + Jirka Kosek: l10n.xsl + + + Stripped down, faster version of gentext.template is used when there is no localization customization. + + + + + Mauritz Jeanson: stripns.xsl + + + Added fix that preserves link/@role (makes links in the reference documentation +with @role="tcg" work). + + + + + Mauritz Jeanson: l10n.xsl + + + Fixed bugs related to manpages and L10n. + + + + + Jirka Kosek: entities.ent; autoidx-kosek.xsl + + + Upgraded to use common entities. Fixed bug when some code used @sortas and some not for grouping/sorting of indexterms. + + + + + Jirka Kosek: l10n.xsl; l10n.dtd; l10n.xml; autoidx-kosek.xsl + + + Refactored localization support. Language files are loaded on demand. Speedup is about 30%. + + + + + Jirka Kosek: l10n.xsl + + + Added xsl:keys for improved performance of localization texts look up. Performance gain around 15%. + + + + + Mauritz Jeanson: titles.xsl + + + Fixed bug #2912677 (error with xref in title). + + + + + Robert Stayton: olink.xsl + + + Fix bug in xrefstyle "title" handling introduced with +the 'insert.targetdb.data' template. + + + + + Robert Stayton: gentext.xsl + + + Fix bug in xref to equation without title to use context="xref-number" instead +of "xref-number-and-title". + + + + + Robert Stayton: labels.xsl + + + Number all equations in one sequence, with or without title. + + + + + Robert Stayton: entities.ent + + + Fix bug #2896909 where duplicate @sortas on indexterms caused +some indexterms to drop out of index. + + + + + Robert Stayton: stripns.xsl + + + Expand the "Stripping namespace ..." message to advise users to +use the namespaced stylesheets. + + + + + Robert Stayton: stripns.xsl + + + need a local version of $exsl.node.set.available variable because +this module imported many places. + + + + + Mauritz Jeanson: olink.xsl + + + Added /node() to the select expression that is used to compute the title text +so that no <ttl> elements end up in the output. Closes bug #2830119. + + + + + + + FO + The following changes have been made to the + fo code + since the 1.75.2 release. + + + + Robert Stayton: table.xsl + + + Fix bug 2979166 able - Attribute @rowheader not working + + + + + Mauritz Jeanson: inline.xsl + + + Improved glossterm auto-linking by using keys. The old code was inefficient when processing documents +with many inline glossterms. + + + + + Robert Stayton: titlepage.xsl + + + Fix bug 2805530 author/orgname not appearing on title page. + + + + + Mauritz Jeanson: graphics.xsl + + + Added support for SVG content in imagedata (inspired by patch #2909154). + + + + + Mauritz Jeanson: table.xsl + + + Removed superfluous test used when computing column-width. Closes bug #3000898. + + + + + Mauritz Jeanson: inline.xsl + + + Added missing <xsl:call-template name="anchor"/>. Closes bug #2998567. + + + + + Mauritz Jeanson: lists.xsl + + + Added table-layout="fixed" on segmentedlist table (required by XSL spec when proportional-column-width() is used). + + + + + Jirka Kosek: autoidx-kosek.xsl + + + Upgraded to use common entities. Fixed bug when some code used @sortas and some not for grouping/sorting of indexterms. + + + + + Jirka Kosek: index.xsl + + + Upgraded to use common entities. Fixed bug when some code used @sortas and some not for grouping/sorting of indexterms. + + + + + Robert Stayton: xref.xsl + + + Fix bug in olink template when an olink has an id. +Add warning message with id value when trying to link +to an element that has no generated text. + + + + + Mauritz Jeanson: refentry.xsl + + + Fixed bug #2930968 (indexterm in refmeta not handled correctly). + + + + + Robert Stayton: block.xsl + + + fix bug 2949567 title in revhistory breaks FO transform. + + + + + Robert Stayton: glossary.xsl + + + Output id attributes on glossdiv blocks so they can be added to +xrefs or TOC. + + + + + Jirka Kosek: xref.xsl + + + Enabled hyphenation of URLs when ulink content is the same as link target + + + + + Robert Stayton: table.xsl + + + Apply patch to turn off row recursion if no @morerows attributes present. +This will enable very large tables without row spanning to +process without running into recursion limits. + + + + + Robert Stayton: formal.xsl + + + Format equation without title using table layout with equation number +next to the equation. + + + + + Robert Stayton: param.xweb; param.ent + + + Add equation.number.properties. + + + + + + + HTML + The following changes have been made to the + html code + since the 1.75.2 release. + + + + Mauritz Jeanson: block.xsl + + + Modified acknowledgements template to avoid invalid output (<p> in <p>). + + + + + Mauritz Jeanson: titlepage.xsl + + + Added default sidebar attribute-sets. + + + + + Robert Stayton: table.xsl + + + Fix bug 2979166 able - Attribute @rowheader not working + + + + + Robert Stayton: footnote.xsl + + + Fix bug 3033191 footnotes in html tables. + + + + + Mauritz Jeanson: inline.xsl + + + Improved glossterm auto-linking by using keys. The old code was inefficient when processing documents +with many inline glossterms. + + + + + Robert Stayton: docbook.css.xml; verbatim.xsl + + + Fix bug 2844927 Validity error for callout bugs. + + + + + Robert Stayton: formal.xsl + + + Convert formal.object.heading to respect make.clean.html param. + + + + + Robert Stayton: titlepage.templates.xml; block.xsl + + + Fix bug 2840768 sidebar without title inserts empty b tag. + + + + + Mauritz Jeanson: docbook.xsl + + + Moved the template that outputs <base> so that the base URI also applies to relative CSS paths that come later. +See patch #2896121. + + + + + Jirka Kosek: autoidx-kosek.xsl + + + Upgraded to use common entities. Fixed bug when some code used @sortas and some not for grouping/sorting of indexterms. + + + + + Robert Stayton: chunk-code.xsl + + + fix bug 2948363 generated filename for refentry not unique, when +used in a set. + + + + + Robert Stayton: component.xsl + + + Fix missing "Chapter n" label when use chapter/info/title. + + + + + Robert Stayton: table.xsl + + + Row recursion turned off if no @morerows attributes in the table. +This will prevent failure on long table (with no @morerows) due +to excessive depth of recursion. + + + + + Robert Stayton: autotoc.xsl; docbook.css.xml + + + Support make.clean.html in autotoc.xsl. + + + + + Robert Stayton: docbook.css.xml; block.xsl + + + Add support for make.clean.html setting in block elements. + + + + + Robert Stayton: docbook.css.xml + + + Stock CSS styles for DocBook HTML output when 'make.clean.html' is non-zero. + + + + + Robert Stayton: html.xsl + + + Add templates for generating CSS files and links to them. + + + + + Robert Stayton: param.xweb + + + Fix bugs in new entity references. + + + + + Robert Stayton: chunk-common.xsl + + + List of Equations now includes on equations with titles. + + + + + Robert Stayton: table.xsl + + + If a colspec has a colname attribute, add it to the HTML col +element as a class attribute so it can be styled. + + + + + Robert Stayton: formal.xsl + + + Fix bug 2825842 where table footnotes not appearing in HTML-coded table. + + + + + Robert Stayton: chunktoc.xsl + + + Fix bug #2834826 where appendix inside part was not chunked as it should be. + + + + + Mauritz Jeanson: chunktoc.xsl + + + Added missing namespace declarations. Closes bug #2890069. + + + + + Mauritz Jeanson: footnote.xsl + + + Updated the template for footnote paras to use the 'paragraph' template. Closes bug #2803739. + + + + + Keith Fahlgren: inline.xsl; lists.xsl + + + Remove <b> and <i> elements "discouraged in favor of style sheets" from +XHTML, XHTML 1.1 (and therefore EPUB) outputs by changing html2xhtml.xsl. + +Fixes bug #2873153: No <b> and <i> tags in XHTML/EPUB + +Added regression to EPUB specs: + + + + + Mauritz Jeanson: inline.xsl + + + Fixed bug #2844916 (don't output @target if ulink.target is empty). + + + + + Keith Fahlgren: autoidx.xsl + + + Fix a bug when using index.on.type: an 'index symbols' section was created +even if that typed index didn't include any symbols (they were in the other types). + + + + + + + Manpages + The following changes have been made to the + manpages code + since the 1.75.2 release. + + + + Mauritz Jeanson: other.xsl + + + Modified the write.stubs template so that the section directory name is not output twice. Should fix bug #2831602. +Also ensured that $lang is added to the .so path (when man.output.lang.in.name.enabled=1). + + + + + Mauritz Jeanson: docbook.xsl; other.xsl + + + Fixed bug #2412738 (apostrophe escaping) by applying the submitted patch. + + + + + Norman Walsh: block.xsl; endnotes.xsl + + + Fix bug where simpara in footnote didn't work. Patch by Jonathan Nieder, jrnieder@gmail.com + + + + + dleidert: lists.xsl + + + Fix two indentation issues: In the first case there is no corresponding .RS +macro (Debian #519438, sf.net 2793873). In the second case an .RS instead of +the probably intended .sp leads to an indentation bug (Debian #527309, +sf.net #2642139). + + + + + + + Epub + The following changes have been made to the + epub code + since the 1.75.2 release. + + + + Keith Fahlgren: bin/spec/examples/AMasqueOfDays.epub; docbook.xsl; bin/spec/epub_spec.rb + + + Resolve some actual regressions in date output spotted by more recent versions of epubcheck + + + + + Keith Fahlgren: docbook.xsl + + + Updated mediaobject selection code that better uses roles (when available); based on contributons by Glenn McDonald + + + + + Keith Fahlgren: bin/spec/epub_regressions_spec.rb; docbook.xsl + + + Ensure that NCX documents are always outputted with a default namespace +to prevent problems with the kindlegen machinery + + + + + Keith Fahlgren: bin/spec/epub_regressions_spec.rb; bin/spec/files/partintro.xml; docbook.x⋯ + + + Adding support for partintros with sect2s, 3s, etc + + + + + Keith Fahlgren: docbook.xsl + + + Adding param to workaround horrific ADE bug with the inability to process <br> + + + + + Keith Fahlgren: docbook.xsl + + + Add support for authorgroup/author in OPF metadata (via Michael Wiedmann) + + + + + Keith Fahlgren: bin/spec/epub_regressions_spec.rb + + + Remove <b> and <i> elements "discouraged in favor of style sheets" from +XHTML, XHTML 1.1 (and therefore EPUB) outputs by changing html2xhtml.xsl. + +Fixes bug #2873153: No <b> and <i> tags in XHTML/EPUB + +Added regression to EPUB specs: + + + + + Keith Fahlgren: bin/lib/docbook.rb; bin/spec/files/DejaVuSerif-Italic.otf; docbook.xsl; bi⋯ + + + This resolves bug #2873142, Please add support for multiple embedded fonts + + +If you navigate to a checkout of DocBook-XSL and go to: +xsl/epub/bin/spec/files +You can now run the following command: + +../../dbtoepub -f DejaVuSerif.otf -f DejaVuSerif-Italic.otf -c test.css +-s test_cust.xsl orm.book.001.xml + +In dbtoepub, the following option can be used more than once: +-f, --font [OTF FILE] Embed OTF FILE in .epub. + +The underlying stylesheet now accepts a comma-separated list of font file +names rather than just one as the RENAMED epub.embedded.fonts ('s' added). + +The runnable EPUB spec now includes: +- should be valid .epub after including more than one embedded font + + + + + Keith Fahlgren: docbook.xsl + + + Improve the selection of cover images when working in DocBook 4.x land (work in progress) + + + + + Keith Fahlgren: bin/spec/epub_regressions_spec.rb; docbook.xsl + + + Improve the quality of the OPF spine regression by ensuring that the spine +elements for deeply nested refentries are in order and adjacent to their +opening wrapper XHTML chunk. + + + + + Keith Fahlgren: bin/spec/epub_regressions_spec.rb; docbook.xsl; bin/spec/files/orm.book.00⋯ + + + Add more careful handling of refentries to ensure that they always appear in the opf:spine. +This was only a problem when refentries were pushed deep into the hierarchy (like inside +a sect2), but presented navigational problems for many reading systems (despite the +correct NCX references). This may *not* be the best solution, but attacking a better +chunking strategy for refentries was too big a nut to crack at this time. + + + + + + + Eclipse + The following changes have been made to the + eclipse code + since the 1.75.2 release. + + + + Mauritz Jeanson: eclipse3.xsl + + + Added a stylesheet module that generates plug-ins conforming to the standard (OSGi-based) Eclipse 3.x +architecture. The main difference to the older format is that metadata is stored in a separate +manifest file. The module imports and extends the existing eclipse.xsl module. Based on code +contributed in patch #2624668. + + + + + + + Params + The following changes have been made to the + params code + since the 1.75.2 release. + + + + Robert Stayton: draft.watermark.image.xml + + + Fix bug 2922488 draft.watermark.image pointing to web resource. +Now the value is images/draft.png, and may require customization +for local resolution. + + + + + Mauritz Jeanson: equation.number.properties.xml + + + Corrected refpurpose. + + + + + Norman Walsh: paper.type.xml + + + Added USlegal and USlegallandscape paper types. + + + + + Jirka Kosek: highlight.xslthl.config.xml + + + Added note about specifying location as URL + + + + + Robert Stayton: docbook.css.source.xml; generate.css.header.xml; custom.css.source.xml; ma⋯ + + + Params to support generated CSS files. + + + + + Robert Stayton: equation.number.properties.xml + + + New attribute set for numbers appearing next to equations. + + + + + + + XSL-Xalan + The following changes have been made to the + xsl-xalan code + since the 1.75.2 release. + + + + dleidert: nbproject/genfiles.properties; nbproject/build-impl.xml + + + Rebuild netbeans build files after adding missing Netbeans configuration to allow easier packaging for Debian. + + + + + + + +Release Notes: 1.75.2 +The following is a list of changes that have been made + since the 1.75.1 release. + + +Gentext +The following changes have been made to the + gentext code + since the 1.75.1 release. + + +dleidert: locale/ja.xmlImproved Japanese translation for Note(s). Closes bug #2823965. + + +dleidert: locale/pl.xmlPolish alphabet contains O with acute accent, not with grave accent. Closes bug #2823964. + + +Robert Stayton: locale/ja.xmlFix translation of "index", per bug report 2796064. + + +Robert Stayton: locale/is.xmlNew Icelandic locale file. + + + + + +Common +The following changes have been made to the + common code + since the 1.75.1 release. + + +Norman Walsh: stripns.xslSupport more downconvert cases + + +Robert Stayton: titles.xslMake sure title inside info is used if no other title. + + + + + +FO +The following changes have been made to the + fo code + since the 1.75.1 release. + + +Robert Stayton: pi.xslTurn off dbfo-need for fop1.extensions also, per bug #2816141. + + + + + +HTML +The following changes have been made to the + html code + since the 1.75.1 release. + + +Mauritz Jeanson: titlepage.xslOutput "Copyright" heading in XHTML too. + + +Mauritz Jeanson: titlepage.xslAdded stylesheet.result.type test for copyright. Closes bug #2813289. + + +Norman Walsh: htmltbl.xslRemove ambiguity wrt @span, @rowspan, and @colspan + + + + + +Manpages +The following changes have been made to the + manpages code + since the 1.75.1 release. + + +Mauritz Jeanson: endnotes.xslAdded normalize-space() for ulink content. Closes bug #2793877. + + +Mauritz Jeanson: docbook.xslAdded stylesheet.result.type test for copyright. Closes bug #2813289. + + + + + +Epub +The following changes have been made to the + epub code + since the 1.75.1 release. + + +Keith Fahlgren: bin/dbtoepub; bin/lib/docbook.rbCorrected bugs caused by path and file assumptions were not met + + +Keith Fahlgren: bin/lib/docbook.rb; docbook.xslCleaning up hardcoded values into parameters and fixing Ruby library to pass them properly; all thanks to patch from Liza Daly + + + + + +Profiling +The following changes have been made to the + profiling code + since the 1.75.1 release. + + +Robert Stayton: profile.xslFix bug 2815493 missing exsl.node.set.available parameter. + + + + + +XSL-Saxon +The following changes have been made to the + xsl-saxon code + since the 1.75.1 release. + + +Mauritz Jeanson: src/com/nwalsh/saxon/ColumnUpdateEmitter.java; src/com/nwalsh/saxon/Colum⋯Added fixes so that colgroups in the XHTML namespace are processed properly. + + + + + +XSL-Xalan +The following changes have been made to the + xsl-xalan code + since the 1.75.1 release. + + +Mauritz Jeanson: nbproject/project.xmlAdded missing NetBeans configuration. + + + + + + + + +Release Notes: 1.75.1 +This release includes bug fixes. + +The following is a list of changes that have been made since the 1.75.0 release. + + + +FO +The following changes have been made to the fo code since the 1.75.0 release. + + +Keith Fahlgren: block.xslSwitching to em dash for character before attribution in epigraph; resolves Bug #2793878 + + +Robert Stayton: lists.xslFixed bug 2789947, id attribute missing on simplelist fo output. + + + + + +HTML +The following changes have been made to the + html code + since the 1.75.0 release. + + +Keith Fahlgren: block.xslSwitching to em dash for character before attribution in epigraph; resolves Bug #2793878 + + +Robert Stayton: lists.xslFixed bug 2789678: apply-templates line accidentally deleted. + + + + + +Epub +The following changes have been made to the + epub code + since the 1.75.0 release. + + +Keith Fahlgren: bin/spec/epub_regressions_spec.rb; docbook.xslAdded regression and fix to correct "bug" with namespace-prefixed container elements in META-INF/container.xml ; resolves Issue #2790017 + + +Keith Fahlgren: bin/spec/epub_regressions_spec.rb; bin/spec/files/onegraphic.xinclude.xml;⋯Another attempt at flexible named entity and XInclude processing + + +Keith Fahlgren: bin/lib/docbook.rbTweaking solution to Bug #2750442 following regression reported by Michael Wiedmann. + + + + + +Params +The following changes have been made to the + params code + since the 1.75.0 release. + + +Mauritz Jeanson: highlight.source.xmlUpdated documentation to reflect changes made in r8419. + + + + + + + + +Release Notes: 1.75.0 +This release includes important bug fixes and adds the following +significant feature changes: + + +Gentext +Modifications to translations have been made. + + + +Common + +Added support for some format properties on tables using +HTML table markup. +Added two new qanda.defaultlabel values so that numbered sections +and numbered questions can be distinguished. Satisfies +Feature Request #1539045. +Added code to handle acknowledgements in book and part. The element is processed +similarly to dedication. All acknowledgements will appear as front matter, after +any dedications. + + + + +FO + +The inclusion of highlighting code has been simplified. +Add support for pgwide on informal objects. +Added a new parameter, bookmarks.collapse, that controls the initial state of the bookmark tree. Closes FR #1792326. +Add support for more dbfo processing instructions. +Add new variablelist.term.properties to format terms, per request # 1968513. +Add support for @width on screen and programlisting, fixes bug #2012736. +Add support for writing-mode="rl-tb" (right-to-left) in FO outputs. +Add writing.mode param for FO output. + + + +HTML + +Convert all calls to class.attribute to calls to common.html.attributes to support dir, lang, and title attributes in html output for all elements. Fulfills feature request #1993833. +Inclusion of highlighting code was simplified. Only one import is now necessary. +Add new param index.links.to.section. +Add support for the new index.links.to.section param which permits precise links to indexterms in HTML output rather than to the section title. + + + +ePub + +Slightly more nuanced handling of imageobject alternatives and better support in dbtoepub for XIncludes and ENTITYs to resolve Issue #2750442 reported by Raphael Hertzog. +Added a colon after an abstract/title when mapping into the dc:description for OPF metadata in ePub output to help the flat text have more pseudo-semantics (sugestions from Michael Wiedmann) +Added DocBook subjectset -> OPF dc:subject mapping and tests +Added DocBook date -> OPF dc:date mapping and tests +Added DocBook abstract -> OPF dc:description mapping and tests +Added --output option to dbtoepub based on user request + + + + +HTMLHelp + +Add support for generating olink target database for htmlhelp files. + + + + +Params + +Add default setting for @rules attribute on HTML markup tables. +Added a new parameter, bookmarks.collapse, that controls the initial state of the bookmark tree. When the parameter has a non-zero value (the default), only the top-level bookmarks are displayed initially. Otherwise, the whole tree of bookmarks is displayed. This is implemented for FOP 0.9X. Closes FR #1792326. +Add new variablelist.term.properties to format terms, per request # 1968513. +Add two new qanda.defaultlabel values so that numbered sections and numbered questions can be distinguished. Satisfies Feature Request #1539045. +Add param to control whether an index entry links to a section title or to the precise location of the indexterm. +New attribute list for glossentry in glossary. +New parameter to support @width on programlisting and screen. +Add attribute-sets for formatting glossary terms and defs. + + + +Highlighting + +Inclusion of highlighting code was simplified. Only one import is now necessary. + + + + + + + +The following is a list of changes that have been made + since the 1.74.3 release. + + +Gentext +The following changes have been made to the + gentext code + since the 1.74.3 release. + + +Robert Stayton: locale/sv.xml; locale/ja.xml; locale/pl.xmlCheck in translations of Legalnotice submitted on mailing list. + + +Robert Stayton: locale/es.xmlFix spelling errors in Acknowledgements entries. + + +Robert Stayton: locale/es.xmlCheck in translations for 4 elements submitted through docbook-apps +message of 14 April 2009. + + +David Cramer: locale/zh.xml; locale/ca.xml; locale/ru.xml; locale/ga.xml; locale/gl.xml; l⋯Internationalized punctuation in glosssee and glossseealso + + +Robert Stayton: MakefileCheck in fixes for DSSSL gentext targets from submitted patch #1689633. + + +Robert Stayton: locale/uk.xmlCheck in major update submitted with bug report #2008524. + + +Robert Stayton: locale/zh_tw.xmlCheck in fix to Note string submitted in bug #2441051. + + +Robert Stayton: locale/ru.xmlCheckin typo fix submitted in bug #2453406. + + + + + +Common +The following changes have been made to the + common code + since the 1.74.3 release. + + +Robert Stayton: gentext.xslFix extra generated space when xrefstyle includes 'nopage'. + + +Robert Stayton: table.xslAdd support for some format properties on tables using +HTML table markup. These include: + - frame attribute on table (or uses $default.table.frame parameter). + - rules attribute on table (or uses $default.table.rules parameter). + - align attribute on td and th + - valign attribute on td and th + - colspan on td and th + - rowspan on td and th + - bgcolor on td and th + + +Robert Stayton: olink.xslAdd placeholder template to massage olink hot text to make +customization easier, per Feature Request 1828608. + + +Robert Stayton: targets.xslAdd support for collecting olink targets from a glossary +generated from a glossary.collection. + + +Robert Stayton: titles.xslHandle firstterm like glossterm in mode="title.markup". + + +Robert Stayton: titles.xslAdd match on info/title in title.markup templates where missing. + + +Mauritz Jeanson: titles.xslChanged "ancestor::title" to "(ancestor::title and (@id or @xml:id))". +This enables proper formatting of inline elements in titles in TOCs, +as long as these inlines don't have id or xml:id attributes. + + +Robert Stayton: labels.xslAdd two new qanda.defaultlabel values so that numbered sections +and numbered questions can be distinguished. Satisfies +Feature Request #1539045. + + +Robert Stayton: stripns.xsl; pi.xslConvert function-available(exsl:node-set) to use the new param +so Xalan bug is isolated. + + +Mauritz Jeanson: titles.xslAdded fixes for bugs #2112656 and #1759205: +1. Reverted mistaken commits r7485 and r7523. +2. Updated the template with match="link" and mode="no.anchor.mode" so that +@endterm is used if it exists and if the link has no content. + + +Mauritz Jeanson: titles.xslAdded code to handle acknowledgements in book and part. The element is processed +similarly to dedication. All acknowledgements will appear as front matter, after +any dedications. + + +Robert Stayton: olink.xslFix bug #2018717 use.local.olink.style uses wrong gentext context. + + +Robert Stayton: olink.xslFix bug #1787167 incorrect hot text for some olinks. + + +Robert Stayton: common.xslFix bug #1669654 Broken output if copyright <year> contains a range. + + +Robert Stayton: labels.xslFix bug in labelling figure inside appendix inside article inside book. + + + + + +FO +The following changes have been made to the + fo code + since the 1.74.3 release. + + +Jirka Kosek: highlight.xslInclusion of highlighting code was simplified. Only one import is now necessary. + + +Robert Stayton: fop1.xslAdd the new fop extensions namespace declaration, in case FOP +extension functions are used. + + +Robert Stayton: formal.xslAdd support for pgwide on informal objects. + + +Robert Stayton: docbook.xslFixed spurious closing quote on line 134. + + +Robert Stayton: docbook.xsl; autoidx-kosek.xsl; autoidx.xslConvert function-available for node-set() to use +new $exsl.node.set.available param in test. + + +David Cramer: xref.xslSuppress extra space after xref when xrefstyle='select: label nopage' (#2740472) + + +Mauritz Jeanson: pi.xslFixed doc bug for row-height. + + +David Cramer: glossary.xslInternationalized punctuation in glosssee and glossseealso + + +Robert Stayton: param.xweb; param.ent; htmltbl.xsl; table.xslAdd support for some format properties on tables using +HTML table markup. These include: + - frame attribute on table (or uses $default.table.frame parameter). + - rules attribute on table (or uses $default.table.rules parameter). + - align attribute on td and th + - valign attribute on td and th + - colspan on td and th + - rowspan on td and th + - bgcolor on td and th + + +Robert Stayton: table.xslAdd support bgcolor in td and th +elements in HTML table markup. + + +Robert Stayton: htmltbl.xslAdd support for colspan and rowspan and bgcolor in td and th +elements in HTML table markup. + + +Robert Stayton: param.xwebFix working of page-master left and right margins. + + +Mauritz Jeanson: param.xweb; param.ent; fop1.xslAdded a new parameter, bookmarks.collapse, that controls the initial state of the bookmark tree. When the parameter has a non-zero value (the default), only the top-level bookmarks are displayed initially. Otherwise, the whole tree of bookmarks is displayed. This is implemented for FOP 0.9X. Closes FR #1792326. + + +Robert Stayton: table.xsl; pi.xslAdd support for dbfo row-height processing instruction, like that in dbhtml. + + +Robert Stayton: lists.xslAdd support for dbfo keep-together processing instruction for +entire list instances. + + +Robert Stayton: lists.xsl; block.xslAdd support fo dbfo keep-together processing instruction to +more blocks like list items and paras. + + +Robert Stayton: lists.xsl; param.xweb; param.entAdd new variablelist.term.properties to format terms, per request # 1968513. + + +Robert Stayton: inline.xslIn simple.xlink, rearrange order of processing. + + +Robert Stayton: xref.xslHandle firstterm like glossterm in mode="xref-to". + + +Robert Stayton: glossary.xsl; xref.xsl; pi.xsl; footnote.xslImplement simple.xlink for glosssee and glossseealso so they can use +other types of linking besides otherterm. + + +Robert Stayton: qandaset.xslAdd two new qanda.defaultlabel values so that numbered sections and numbered questions can be distinguished. Satisfies Feature Request #1539045. + + +Robert Stayton: titlepage.xslFor the book title templates, I changed info/title to book/info/title +so other element's titles will not be affected. + + +Robert Stayton: xref.xsl; verbatim.xslUse param exsl.node.set.available to test for function. + + +Robert Stayton: param.xweb; param.ent; footnote.xslStart using new param exsl.node.set.available to work around Xalan bug. + + +Robert Stayton: titlepage.templates.xmlAdd comment on use of t:predicate for editor to prevent +extra processing of multiple editors. Fixes bug 2687842. + + +Robert Stayton: xref.xsl; autoidx.xslAn indexterm primary, secondary, or tertiary element with an id or xml:id +now outputs that ID, so that index entries can be cross referenced to. + + +Mauritz Jeanson: synop.xslAdded modeless template for ooclass|oointerface|ooexception. +Closes bug #1623468. + + +Robert Stayton: xref.xslAdd template with match on indexterm in mode="xref-to" to fix bug 2102592. + + +Robert Stayton: xref.xslNow xref to qandaentry will use the label element in a question for +the link text if it has one. + + +Robert Stayton: inline.xslAdd id if specified from @id to output for quote and phrase so +they can be xref'ed to. + + +Robert Stayton: xref.xslAdd support for xref to phrase, simpara, anchor, and quote. +This assumes the author specifies something using xrefstyle since +the elements don't have ordinary link text. + + +Robert Stayton: toc.xslFix bug in new toc templates. + + +Mauritz Jeanson: titlepage.xsl; component.xsl; division.xsl; xref.xsl; titlepage.templates⋯Added code to handle acknowledgements in book and part. The element is processed +similarly to dedication. All acknowledgements will appear as front matter, after +any dedications. + + +Robert Stayton: toc.xslRewrite toc templates to support an empty toc or populated toc +in all permitted contexts. Same for lot elements. +This fixes bug #1595969 for FO outputs. + + +Robert Stayton: index.xslFix indents for seealsoie so they are consistent. + + +Mauritz Jeanson: param.xwebRemoved duplicate (monospace.font.family). + + +Robert Stayton: param.xweb; param.entAdd glossentry.list.item.properties. + + +Robert Stayton: param.xweb; param.entAdd monospace.verbatim.font.width param to support @width on programlisting. + + +Robert Stayton: verbatim.xslPut programlisting in fo:block-container with writing-mode="lr-tb" +when text direction is right to left because all program languages +are left-to-right. + + +Robert Stayton: verbatim.xslAdd support for @width on screen and programlisting, fixes bug #2012736. + + +Robert Stayton: xref.xslFix bug #1973585 xref to para with xrefstyle not handled correctly. + + +Mauritz Jeanson: block.xslAdded support for acknowledgements in article. +Support in book/part remains to be added. + + +Robert Stayton: xref.xslFix bug #1787167 incorrect hot text for some olinks. + + +Robert Stayton: fo.xslAdd writing-mode="tb-rl" as well since some XSL-FO processors support it. + + +Robert Stayton: autotoc.xsl; lists.xsl; glossary.xsl; fo.xsl; table.xsl; pagesetup.xslAdd support for writing-mode="rl-tb" (right-to-left) in FO outputs. +Changed instances of margin-left to margin-{$direction.align.start} +and margin-right to margin-{$direction.align.end}. Those direction.align +params are computed from the writing mode value in each locale's +gentext key named 'writing-mode', introduced in 1.74.3 to add +right-to-left support to HTML outputs. + + +Robert Stayton: param.xweb; param.entAdd attribute-sets for formatting glossary terms and defs. + + +Robert Stayton: param.xweb; param.entAdd writing.mode param for FO output. + + +Robert Stayton: autotoc.xslFix bug 1546008: in qandaentry in a TOC, use its blockinfo/titleabbrev or blockinfo/title +instead of question, if available. For DocBook 5, use the info versions. + + +Keith Fahlgren: verbatim.xslAdd better pointer to README for XSLTHL + + +Keith Fahlgren: verbatim.xslMore tweaking the way that XSLTHL does or does not get called + + +Keith Fahlgren: verbatim.xslAlternate attempt at sanely including/excluding XSLTHT code + + + + + +HTML +The following changes have been made to the + html code + since the 1.74.3 release. + + +Robert Stayton: lists.xslRemoved redundant lang and title attributes on list element inside +div element for lists. + + +Robert Stayton: inline.xsl; titlepage.xsl; division.xsl; toc.xsl; sections.xsl; table.xsl;⋯Convert all calls to class.attribute to calls to common.html.attributes +to support dir, lang, and title attributes in html output for all elements. +Fulfills feature request #1993833. + + +Robert Stayton: chunk-common.xslFix bug #2750253 wrong links in list of figures in chunk.html +when target html is in a subdirectory and dbhtml filename used. + + +Jirka Kosek: highlight.xslInclusion of highlighting code was simplified. Only one import is now necessary. + + +Robert Stayton: chunk-common.xsl; chunktoc.xsl; docbook.xsl; chunk-changebars.xsl; autoidx⋯Convert function-available for node-set() to use +new $exsl.node.set.available param in test. + + +Mauritz Jeanson: pi.xslFixed doc bug for row-height. + + +David Cramer: glossary.xslInternationalized punctuation in glosssee and glossseealso + + +Robert Stayton: lists.xsl; html.xsl; block.xslMore elements get common.html.attributes. +Added locale.html.attributes template which does the lang, +dir, and title attributes, but not the class attribute +(used on para, for example). + + +Robert Stayton: lists.xslReplace more literal class atts with mode="class.attribute" to support +easier customization. + + +Robert Stayton: glossary.xslSupport olinking in glosssee and glossseealso. + + +Robert Stayton: inline.xslIn simple.xlink, rearrange order of processing. + + +Robert Stayton: xref.xslHandle firstterm like glossterm in mode="xref-to". + + +Robert Stayton: lists.xsl; html.xsl; block.xslAdded template named common.html.attributes to output +class, title, lang, and dir for most elements. +Started adding it to some list and block elements. + + +Robert Stayton: qandaset.xslAdd two new qanda.defaultlabel values so that numbered sections +and numbered questions can be distinguished. Satisfies +Feature Request #1539045. + + +Robert Stayton: param.xweb; chunk-code.xsl; param.ent; xref.xsl; chunkfast.xsl; verbatim.x⋯Use new param exsl.node.set.available to test, handles Xalan bug. + + +Robert Stayton: autoidx.xslUse named anchors for primary, secondary, and tertiary ids so +duplicate entries with different ids can still have an id output. + + +Robert Stayton: param.xweb; param.entAdd new param index.links.to.section. + + +Robert Stayton: xref.xsl; autoidx.xslPass through an id on primary, secondary, or tertiary to +the index entry, so that one could link to an index entry. +You can't link to the id on an indexterm because that is +used to place the main anchor in the text flow. + + +Robert Stayton: autoidx.xslAdd support for the new index.links.to.section param which permits +precise links to indexterms in HTML output rather than to +the section title. + + +Mauritz Jeanson: synop.xslAdded modeless template for ooclass|oointerface|ooexception. +Closes bug #1623468. + + +Robert Stayton: qandaset.xslMake sure a qandaset has an anchor, even when it has no title, +because it may be referenced in a TOC or xref. +Before, the anchor was output by the title, but there was no +anchor if there was no title. + + +Robert Stayton: xref.xslAdd a template for indexterm with mode="xref-to" to fix bug 2102592. + + +Robert Stayton: xref.xslNow xref to qandaentry will use the label element in a question for +the link text if it has one. + + +Robert Stayton: qandaset.xsl; html.xslCreate separate templates for computing label of question and answer +in a qandaentry, so such can be used for the alt text of an xref +to a qandaentry. + + +Robert Stayton: inline.xsl; xref.xslNow support xref to phrase, simpara, anchor, and quote, +most useful when an xrefstyle is used. + + +Robert Stayton: toc.xslRewrite toc templates to support an empty toc or populated toc +in all permitted contexts. Same for lot elements. +This fixes bug #1595969 for HTML outputs. + + +Mauritz Jeanson: titlepage.xsl; component.xsl; division.xsl; xref.xsl; titlepage.templates⋯Added code to handle acknowledgements in book and part. The element is processed +similarly to dedication. All acknowledgements will appear as front matter, after +any dedications. + + +Robert Stayton: index.xslRewrote primaryie, secondaryie and tertiaryie templates to handle +nesting of elements and seeie and seealsoie, as reported in +bug # 1168912. + + +Robert Stayton: autotoc.xslFix simplesect in toc problem. + + +Robert Stayton: verbatim.xslAdd support for @width per bug report #2012736. + + +Robert Stayton: formal.xsl; htmltbl.xslFix bug #1787140 HTML tables not handling attributes correctly. + + +Robert Stayton: param.xwebMove writing-mode param. + + +Keith Fahlgren: refentry.xslRemove a nesting of <p> inside <p> for refclass (made XHTML* invalid, made HTML silly) + + +Robert Stayton: table.xslFix bug #1945872 to allow passthrough of colwidth values to +HTML table when no tablecolumns.extension is available and +when no instance of * appears in the table's colspecs. + + +Mauritz Jeanson: block.xslAdded support for acknowledgements in article. +Support in book/part remains to be added. + + +Robert Stayton: chunk-common.xslFix bug #1787167 incorrect hot text for some olinks. + + +Robert Stayton: qandaset.xslFix bug 1546008: in qandaentry in a TOC, use its blockinfo/titleabbrev or blockinfo/title +instead of question, if available. For DocBook 5, use the info versions. + + +Robert Stayton: chunktoc.xslAdd support for generating olink database when using chunktoc.xsl. + + +Keith Fahlgren: verbatim.xslAdd better pointer to README for XSLTHL + + +Keith Fahlgren: verbatim.xslAnother stab at fixing the stupid XSLTHT includes across processors (Saxon regression reported by Sorin Ristache) + + +Keith Fahlgren: verbatim.xslMore tweaking the way that XSLTHL does or does not get called + + +Keith Fahlgren: verbatim.xslAlternate attempt at sanely including/excluding XSLTHT code + + + + + +Manpages +The following changes have been made to the + manpages code + since the 1.74.3 release. + + +Robert Stayton: table.xslConvert function-available test for node-set() function to +test of $exsl.node.set.available param. + + +Mauritz Jeanson: lists.xslAdded a template for bibliolist. Closes bug #1815916. + + + + + +ePub +The following changes have been made to the + epub code + since the 1.74.3 release. + + +Keith Fahlgren: bin/spec/epub_regressions_spec.rb; bin/spec/files/onegraphic.xinclude.xml;⋯Slightly more nuanced handling of imageobject alternatives and better support in dbtoepub for XIncludes and ENTITYs to resolve Issue #2750442 reported by Raphael Hertzog. + + +Keith Fahlgren: docbook.xslAdd a colon after an abstract/title when mapping into the dc:description for OPF metadata in ePub output to help the flat text have more pseudo-semantics (sugestions from Michael Wiedmann) + + +Keith Fahlgren: bin/spec/epub_regressions_spec.rb; docbook.xsl; bin/spec/files/de.xmlCorrectly set dc:language in OPF metadata when i18nizing. Closes Bug #2755150 + + +Keith Fahlgren: bin/spec/epub_regressions_spec.rb; docbook.xslCorrected namespace declarations for literal XHTML elements to make them serialize "normally" + + +Keith Fahlgren: docbook.xslBe a little bit more nuanced about dates + + +Keith Fahlgren: docbook.xsl; bin/spec/epub_realbook_spec.rb; bin/spec/files/orm.book.001.x⋯Add DocBook subjectset -> OPF dc:subject mapping and tests + + +Keith Fahlgren: docbook.xsl; bin/spec/epub_realbook_spec.rb; bin/spec/files/orm.book.001.x⋯Add DocBook date -> OPF dc:date mapping and tests + + +Keith Fahlgren: docbook.xsl; bin/spec/epub_realbook_spec.rb; bin/spec/files/orm.book.001.x⋯Add DocBook abstract -> OPF dc:description mapping and tests + + +Robert Stayton: docbook.xslCheck in patch submitted by user to add opf:file-as attribute +to dc:creator element. + + +Keith Fahlgren: bin/dbtoepubAdding --output option to dbtoepub based on user request + + +Keith Fahlgren: docbook.xsl; bin/spec/epub_spec.rbCleaning and regularizing the generation of namespaced nodes for OPF, NCX, XHTML and other outputted filetypes (hat tip to bobstayton for pointing out the silly, incorrect code) + + +Keith Fahlgren: bin/spec/epub_regressions_spec.rb; bin/spec/files/refclass.xmlRemove a nesting of <p> inside <p> for refclass (made XHTML* invalid, made HTML silly) + + +Keith Fahlgren: bin/spec/epub_regressions_spec.rb; bin/spec/files/blockquotepre.xmlAdded regression test and fix for XHTML validation problem with <a>s added inside <blockquote>; This potentially causes another problem (where something is referenced by has no anchor, but someone reporting that should cause the whole <a id='thing'/> thing to be reconsidered with modern browsers in mind. + + + + + +HTMLHelp +The following changes have been made to the + htmlhelp code + since the 1.74.3 release. + + +Robert Stayton: htmlhelp-common.xslAdd support for generating olink target database for htmlhelp files. + + + + + + +Params +The following changes have been made to the + params code + since the 1.74.3 release. + + +Robert Stayton: default.table.rules.xmlAdd default setting for @rules attribute on HTML markup tables. + + +Mauritz Jeanson: bookmarks.collapse.xmlAdded a new parameter, bookmarks.collapse, that controls the initial state +of the bookmark tree. When the parameter has a non-zero value (the default), +only the top-level bookmarks are displayed initially. Otherwise, the whole +tree of bookmarks is displayed. + +This is implemented for FOP 0.9X. Closes FR #1792326. + + +Robert Stayton: variablelist.term.properties.xmlAdd new variablelist.term.properties to format terms, per +request # 1968513. + + +Robert Stayton: qanda.defaultlabel.xmlAdd two new qanda.defaultlabel values so that numbered sections +and numbered questions can be distinguished. Satisfies +Feature Request #1539045. + + +Robert Stayton: index.links.to.section.xmlChange default to 1 to match past behavior. + + +Robert Stayton: exsl.node.set.available.xmlIsolate this text for Xalan bug regarding exsl:node-set available. +If it is ever fixed in Xalan, just fix it here. + + +Robert Stayton: index.links.to.section.xmlAdd param to control whether an index entry links to +a section title or to the precise location of the +indexterm. + + +Robert Stayton: glossentry.list.item.properties.xmlNew attribute list for glossentry in glossary. + + +Robert Stayton: monospace.verbatim.font.width.xmlNew parameter to support @width on programlisting and screen. + + +Mauritz Jeanson: highlight.source.xmlUpdated and reorganized the description. + + +Robert Stayton: page.margin.outer.xml; page.margin.inner.xmlAdd caveat about XEP bug when writing-mode is right-to-left. + + +Robert Stayton: article.appendix.title.properties.xml; writing.mode.xml; body.start.indent⋯Change 'left' to 'start' and 'right' to 'end' to support right-to-left +writing mode. + + +Robert Stayton: glossdef.block.properties.xml; glossdef.list.properties.xml; glossterm.blo⋯Add attribute-sets for formatting glossary terms and defs. + + +Robert Stayton: glossterm.separation.xmlClarify the description. + + +Robert Stayton: make.year.ranges.xmlNow handles year element containing a comma or dash without error. + + + + + +Highlighting +The following changes have been made to the + highlighting code + since the 1.74.3 release. + + +Jirka Kosek: READMEInclusion of highlighting code was simplified. Only one import is now necessary. + + +Keith Fahlgren: READMEAdding XSLTHL readme + + +Keith Fahlgren: common.xslAlternate attempt at sanely including/excluding XSLTHT code + + + + + +XSL-Saxon +The following changes have been made to the + xsl-saxon code + since the 1.74.3 release. + + +Mauritz Jeanson: src/com/nwalsh/saxon/Text.javaAdded a fix that prevents output of extra blank line. +Hopefully this closes bug #894805. + + + + + +XSL-Xalan +The following changes have been made to the + xsl-xalan code + since the 1.74.3 release. + + +Mauritz Jeanson: src/com/nwalsh/xalan/Text.javaAdded a fix that prevents output of extra blank line. +Hopefully this closes bug #894805. + + + + + + + + +Release Notes: 1.74.3 +This release fixes some bugs in the 1.74.2 release. +See highlighting/README for XSLTHL usage instructions. + + +Release Notes: 1.74.2 +This release fixes some bugs in the 1.74.1 release. + + + +Release Notes: 1.74.1 +This release includes important bug fixes and adds the following +significant feature changes: + + +Gentext +Kirghiz locale added and Chinese translations have been simplified. +Somme support for gentext and right-to-left languages has been added. + + +FO +Various bugs have been resolved. +Support for a new processing instruction: dbfo funcsynopsis-style has been added. +Added new param email.mailto.enabled for FO output. Patch from Paolo Borelli. + +Support for documented metadata in fop1 mode has been added. + + + + +Highlighting +Support for the latest version of XSLTHL 2.0 and some new language syntaxes have been added to a variety of outputs. + + + + +Manpages +Added man.output.better.ps.enabled param (zero default). It non-zero, no such +markup is embedded in generated man pages, and no enhancements are +included in the PostScript output generated from those man pages +by the man -Tps command. + + + + + +HTML +Support for writing.mode to set text direction and alignment based on document locale has been added. + +Added a new top-level stylesheet module, chunk-changebars.xsl, to be +used for generating chunked output with highlighting based on change +(@revisionflag) markup. The module imports/includes the standard chunking +and changebars templates and contains additional logic for chunked output. +See FRs #1015180 and #1819915. + + + + +ePub + +Covers now look better in Adobe Digital Editions thanks to a patch from Paul Norton of Adobe + +Cover handling now more generic (including limited DocBook 5.0 cover support thanks to patch contributed by Liza Daly. +Cover markup now carries more reliably into files destined for .mobi and the Kindle. +dc:identifiers are now generated from more types of numbering schemes. +Both SEO and semantic structure of chunked ePub output by ensuring that we always send out one and only one h1 in each XHTML chunk. + +Primitive support for embedding a single font added. + + +Support for embedding a CSS customizations added. + + + + + +Roundtrip + + +Support for imagedata-metadata and table as images added. + + +Support for imagedata-metadata and legalnotice as images added. + + + + +Params +man.output.better.ps.enabled added for Manpages output + +writing.mode.xml added to set text direction. + + +Added new param email.mailto.enabled for FO output. +Patch from Paolo Borelli. Closes #2086321. + + +highlight.source upgraded to support the latest version of XSLTHL 2.0. + + + + + + + + +The following is a list of changes that have been made since the 1.74.0 release. + + + +Gentext +The following changes have been made to the gentext code since the 1.74.0 release. + + +Michael(tm) Smith: locale/ky.xml; Makefilenew Kirghiz locale from Ilyas Bakirov + + +Mauritz Jeanson: locale/en.xmlAdded "Acknowledgements". + + +Dongsheng Song: locale/zh_cn.xmlSimplified Chinese translation. + + +Robert Stayton: locale/lv.xml; locale/ca.xml; locale/pt.xml; locale/tr.xml; locale/af.xml;⋯Add writing-mode gentext string to support right-to-left languages. + + + + + +FO +The following changes have been made to the fo code since the 1.74.0 release. + + +David Cramer: footnote.xslAdded a check to confirm that a footnoteref's linkend points to a footnote. Stylesheets stop processing if not and provide a useful error message. + + +Mauritz Jeanson: spaces.xslConvert spaces to fo:leader also in elements in the DB 5 namespace. + + +Mauritz Jeanson: pi.xsl; synop.xslAdded support for a new processing instruction: dbfo funcsynopsis-style. +Closes bug #1838213. + + +Michael(tm) Smith: inline.xsl; param.xweb; param.entAdded new param email.mailto.enabled for FO output. +Patch from Paolo Borelli. Closes #2086321. + + +Mauritz Jeanson: docbook.xslAdded support for document metadata for fop1 (patch #2067318). + + +Jirka Kosek: param.ent; param.xweb; highlight.xslUpgraded to support the latest version of XSLTHL 2.0 + -- nested markup in highlited code is now processed + -- it is no longer needed to specify path XSLTHL configuration file using Java property + -- support for new languages, including Perl, Python and Ruby was added + + + + + +HTML +The following changes have been made to the html code since the 1.74.0 release. + + +Robert Stayton: param.xweb; docbook.xsl; param.ent; html.xslAdd support for writing.mode to set text direction and alignment based on document locale. + + +Mauritz Jeanson: chunk-changebars.xslAdded a new top-level stylesheet module, chunk-changebars.xsl, to be +used for generating chunked output with highlighting based on change +(@revisionflag) markup. The module imports/includes the standard chunking +and changebars templates and contains additional logic for chunked output. +See FRs #1015180 and #1819915. + + + + + +Manpages +The following changes have been made to the manpages code since the 1.74.0 release. + + +Michael(tm) Smith: docbook.xslPut the following at the top of generated roff for each page: + \" t +purpose is to explicitly tell AT&T troff that the page needs to be +pre-processed through tbl(1); groff can figure it out +automatically, but apparently AT&T troff needs to be explicitly told + + + + + +ePub +The following changes have been made to the epub code since the 1.74.0 release. + + +Keith Fahlgren: docbook.xslPatch from Paul Norton of Adobe to get covers to look better in Adobe Digital Editions + + +Keith Fahlgren: bin/spec/epub_regressions_spec.rb; bin/spec/files/v5cover.xml; bin/spec/sp⋯Patch contributed by Liza Daly to make ePub cover handling more generic. Additionally +DocBook 5.0's <cover> now has some limited support: + +- should reference a cover in the OPF guide for a DocBook 5.0 test document + + +Keith Fahlgren: bin/spec/files/isbn.xml; bin/spec/files/issn.xml; bin/spec/files/biblioid.⋯Liza Daly reported that the dc:identifer-generation code was garbage (she was right). + +Added new tests: +- should include at least one dc:identifier +- should include an ISBN as URN for dc:identifier if an ISBN was in the metadata +- should include an ISSN as URN for dc:identifier if an ISSN was in the metadata +- should include an biblioid as a dc:identifier if an biblioid was in the metadata +- should include a URN for a biblioid with @class attribute as a dc:identifier if an biblioid was in the metadata + + +Keith Fahlgren: docbook.xsl; bin/spec/epub_spec.rbImprove both SEO and semantic structure of chunked ePub output by ensuring that +we always send out one and only one h1 in each XHTML chunk. + +DocBook::Epub +- should include one and only one <h1> in each HTML file in rendered ePub files +for <book>s +- should include one and only one <h1> in each HTML file in rendered ePub files +for <book>s even if they do not have section markup + + +Keith Fahlgren: docbook.xsl; bin/spec/epub_realbook_spec.rb; bin/spec/files/orm.book.001.x⋯Adding better support for covers in epub files destined for .mobi and the Kindle + + +Keith Fahlgren: bin/dbtoepub; bin/lib/docbook.rb; bin/spec/files/DejaVuSerif.otf; docbook.⋯Adding primitive support for embedding a single font + + +Keith Fahlgren: bin/dbtoepub; bin/lib/docbook.rb; bin/spec/files/test_cust.xsl; bin/spec/e⋯Adding support for user-specified customization layers in dbtoepub + + +Keith Fahlgren: bin/dbtoepub; bin/spec/epub_regressions_spec.rb; bin/lib/docbook.rb; bin/s⋯Adding CSS support to .epub target & dbtoepub: + -c, --css [FILE] Use FILE for CSS on generated XHTML. + + +DocBook::Epub +... +- should include a CSS link in HTML files when a CSS file has been provided +- should include CSS file in .epub when a CSS file has been provided +- should include a CSS link in OPF file when a CSS file has been provided + + + + + +Roundtrip +The following changes have been made to the + roundtrip code + since the 1.74.0 release. + + +Steve Ball: blocks2dbk.xsl; template.xml; template.dotadded support for imagedata-metadata +added support for table as images + + +Steve Ball: blocks2dbk.xsl; normalise2sections.xsl; sections2blocks.xslImproved support for personname inlines. + + +Steve Ball: blocks2dbk.xsl; blocks2dbk.dtd; template.xmlAdded support for legalnotice. + + +Steve Ball: blocks2dbk.xsl; wordml2normalise.xsladded support for orgname in author + + +Steve Ball: specifications.xml; supported.xml; blocks2dbk.xsl; wordml2normalise.xsl; dbk2w⋯Updated specification. +to-DocBook: add cols attribute to tgroup +from-DocBook: fix for blockquote title + + + + + +Params +The following changes have been made to the params since the 1.74.0 release. + + +The change was to add man.output.better.ps.enabled parameter, with +its default value set to zero. + +If the value of the man.output.better.ps.enabled parameter is +non-zero, certain markup is embedded in each generated man page +such that PostScript output from the man -Tps command for that +page will include a number of enhancements designed to improve the +quality of that output. + +If man.output.better.ps.enabled is zero (the default), no such +markup is embedded in generated man pages, and no enhancements are +included in the PostScript output generated from those man pages +by the man -Tps command. + +WARNING: The enhancements provided by this parameter rely on +features that are specific to groff (GNU troff) and that are not +part of "classic" AT&T troff or any of its derivatives. Therefore, +any man pages you generate with this parameter enabled will be +readable only on systems on which the groff (GNU troff) program is +installed, such as GNU/Linux systems. The pages will not not be +readable on systems on with the classic troff (AT&T troff) command +is installed. + +NOTE: The value of this parameter only affects PostScript output +generated from the man command. It has no effect on output +generated using the FO backend. + +TIP: You can generate PostScript output for any man page by +running the following command: + +man FOO -Tps > FOO.ps + +You can then generate PDF output by running the following command: + +ps2pdf FOO.ps + + +Robert Stayton: writing.mode.xmlwriting mode param used to set text direction. + + +Michael(tm) Smith: email.mailto.enabled.xmlAdded new param email.mailto.enabled for FO output. +Patch from Paolo Borelli. Closes #2086321. + + +Jirka Kosek: highlight.source.xml; highlight.xslthl.config.xmlUpgraded to support the latest version of XSLTHL 2.0 + -- nested markup in highlited code is now processed + -- it is no longer needed to specify path XSLTHL configuration file using Java property + -- support for new languages, including Perl, Python and Ruby was added + + + + + +Highlighting +The following changes have been made to the + highlighting code + since the 1.74.0 release. + + +Jirka Kosek: cpp-hl.xml; c-hl.xml; tcl-hl.xml; php-hl.xml; common.xsl; perl-hl.xml; delphi⋯Upgraded to support the latest version of XSLTHL 2.0 + -- nested markup in highlited code is now processed + -- it is no longer needed to specify path XSLTHL configuration file using Java property + -- support for new languages, including Perl, Python and Ruby was added + + + + + + + + +Release Notes: 1.74.0 +This release includes important bug fixes and adds the following +significant feature changes: + + +.epub target +Paul Norton (Adobe) and Keith Fahlgren(O'Reilly Media) have donated code that generates .epub documents from +DocBook input. An alpha-reference implementation in Ruby has also been provided. +.epub is an open standard of the The International Digital Publishing Forum (IDPF), +a the trade and standards association for the digital publishing industry. +Read more about this target in epub/README + + + + +XHTML 1.1 target +To support .epub output, a strict XHTML 1.1 target has been added. The stylesheets for this output are +generated and are quite similar to the XHTML target. + + +Gentext updates +A number of locales have been updated. + + +Roundtrip improvements +Table, figure, template syncronization, and character style improvements have been made for WordML & Pages. Support added for OpenOffice.org. + + + + + First implementation of a libxslt extension + + A stylesheet extension for libxslt, written in Python, has been added. + The extension is a function for adjusting column widths in CALS tables. See + extensions/README.LIBXSLT for more information. + + + + + +The following is a list of changes that have been made + since the 1.73.2 release. + + +Gentext +The following changes have been made to the + gentext code + since the 1.73.2 release. + + +Michael(tm) Smith: locale/id.xmlChecked in changes to Indonesion locale submitted by Euis Luhuanam a long time ago. + + +Michael(tm) Smith: locale/lt.xmlAdded changes to Lithuanian locate submitted a long time back by Nikolajus Krauklis. + + +Michael(tm) Smith: locale/hu.xmlfixed error in lowercase.alpha definition in Hungarian locale + + +Michael(tm) Smith: locale/nb.xmlCorrected language code for nb locale, and restored missing "startquote" key. + + +Michael(tm) Smith: locale/ja.xmlCommitted changes to ja locale file, from Akagi Kobayashi. Adds bracket quotes around many xref instances that did not have them +before. + + +Michael(tm) Smith: Makefile"no" locale is now "nb" + + +Michael(tm) Smith: locale/nb.xmlUpdate Norwegian BokmÃ¥l translation. Thanks to Hans F. Nordhaug. + + +Michael(tm) Smith: locale/no.xml; locale/nb.xmlper message from Hans F. Nordhaug, correct identifier for +Norwegian BokmÃ¥l is "nb" (not "no") and has been for quite some +time now... + + +Michael(tm) Smith: locale/ja.xmlConverted ja.xml source file to use real unicode characters so +that the actual glyphs so up when you edit it in a text editor +(instead of the character references). + + +Michael(tm) Smith: locale/ja.xmlChecked in changes to ja.xml locale file. Thanks to Akagi Kobayashi. + + +Michael(tm) Smith: locale/it.xmlChanges from Federico Zenith + + +Dongsheng Song: locale/zh_cn.xmlAdded missing translations. + + + + + +Common +The following changes have been made to the + common code + since the 1.73.2 release. + + +Michael(tm) Smith: l10n.xslAdded new template "l10.language.name" for retrieving the +English-language name of the lang setting of the current document. +Closes #1916837. Thanks to Simon Kennedy. + + +Michael(tm) Smith: refentry.xslfixed syntax error + + +Michael(tm) Smith: refentry.xslfixed a couple of typos + + +Michael(tm) Smith: refentry.xslrefined handling of cases where refentry "source" or "manual" +metadata is missing or when we use fallback content instead. We +now report a Warning if we use fallback content. + + +Michael(tm) Smith: refentry.xsldon't use refmiscinfo@class=date value as fallback for refentry +"source" or "manual" metadata fields + + +Michael(tm) Smith: refentry.xslMade reporting of missing refentry metadata more quiet: + + - we no longer report anything if usable-but-not-preferred + metadata is found; we just quietly use whatever we manage to + find + + - we now only report missing "source" metadata if the refentry + is missing BOTH "source name" and "version" metadata; if it + has one but not the other, we use whichever one it has and + don't report anything as missing + +The above changes were made because testing with some "real world" +source reveals that some authors are intentionally choosing to use +"non preferred" markup for some metadata, and also choosing to +omit "source name" or "version" metadata in there DocBook XML. So +it does no good to give them pedantic reminders about what they +already know... + +Also, changed code to cause "fixme" text to be inserted in output +in particular cases: + + - if we can't manage to find any "source" metadata at all, we + now put fixme text into the output + + - if we can't manage to find any "manual" metadata a all, we + now put fixme text into the output + +The "source" and "manual" metadata is necessary information, so +buy putting the fixme stuff in the output, we alert users to the +need problem of it being missing. + + +Michael(tm) Smith: refentry.xslWhen generating manpages output, we no longer report anything if +the refentry source is missing date or pubdate content. In +practice, many users intentionally omit the date from the source +because they explicitly want it to be generated. + + +Michael(tm) Smith: l10n.xmlfurther change needed for switch from no locale to nb. + + +Michael(tm) Smith: common.xslAdded support for orgname in authorgroup. Thanks to Camille +Bégnis. + + +Michael(tm) Smith: Makefile"no" locale is now "nb" + + +Mauritz Jeanson: stripns.xslRemoved the template matching "ng:link|db:link" (in order to make @xlink:show +work with <link> elements). As far as I can tell, this template is no longer needed. + + +Mauritz Jeanson: entities.entMoved declaration of comment.block.parents entity to common/entities.ent. + + +Mauritz Jeanson: titles.xslAdded an update the fix made in revision 7528 (handling of xref/link in no.anchor.mode mode). +Having xref in title is not a problem as long as the target is not an ancestor element. +Closes bug #1838136. + +Note that an xref that is in a title and whose target is an ancestor element is still not +rendered in the TOC. This could be considered a bug, but on the other hand I cannot really +see the point in having such an xref in a document. + + +Mauritz Jeanson: titles.xslAdded a "not(ancestor::title)" test to work around "too many nested +apply-templates" problems when processing xrefs or links in no.anchor.mode mode. +Hopefully, this closes bug #1811721. + + +Mauritz Jeanson: titles.xslRemoved old template matching "link" in no.anchor.mode mode. + + +Mauritz Jeanson: titles.xslProcess <link> in no.anchor.mode mode with the same template as <xref>. +Closes bug #1759205 (Empty link in no.anchor.mode mode). + + +Mauritz Jeanson: titles.xslIn no.anchor.mode mode, do not output anchors for elements that are descendants +of <title>. Previously, having inline elements with @id/@xml:id in <title>s +resulted in anchors both in the TOC and in the main flow. Closes bug #1797492. + + + + + +FO +The following changes have been made to the + fo code + since the 1.73.2 release. + + Mauritz Jeanson: pi.xslUpdated documentation for keep-together. + Mauritz Jeanson: task.xslEnabled use of the keep-together PI on task elements. + +Robert Stayton: index.xslFOP1 requires fo:wrapper for inline index entries, not fo:inline. + + +Robert Stayton: index.xslFixed non-working inline.or.block template for indexterm wrappers. +Add fop1 to list of processors using inline.or.block. + + +Mauritz Jeanson: table.xslFixed bug #1891965 (colsep in entytbl not working). + + +Mauritz Jeanson: titlepage.xslAdded support for title in revhistory. Closes bug #1842847. + + +Mauritz Jeanson: pi.xslSmall doc cleanup (dbfo float-type). + + +Mauritz Jeanson: titlepage.xslInsert commas between multiple copyright holders. + + +Mauritz Jeanson: autotoc.xsl; division.xslAdded modifications to support nested set elements. See bug #1853172. + + +David Cramer: glossary.xslAdded normalize-space to xsl:sorts to avoid missorting of glossterms due to stray leading spaces. + + +David Cramer: glossary.xslFixed bug #1854199: glossary.xsl should use the sortas attribute on glossentry + + +Mauritz Jeanson: inline.xslAdded a template for citebiblioid. The hyperlink target is the parent of the referenced biblioid, +and the "hot text" is the biblioid itself enclosed in brackets. + + +Mauritz Jeanson: inline.xslMoved declaration of comment.block.parents entity to common/entities.ent. + + +Mauritz Jeanson: docbook.xslUpdated message about unmatched element. + + +Mauritz Jeanson: param.xwebAdded link to profiling chapter of TCG. + + +Mauritz Jeanson: refentry.xslFixed typo (refsynopsysdiv -> refsynopsisdiv). + + +David Cramer: fop.xsl; fop1.xsl; ptc.xsl; xep.xslAdded test to check generate.index param when generating pdf bookmarks + + +Mauritz Jeanson: graphics.xslAdded support for MathML in imagedata. + + +Michael(tm) Smith: math.xslRemoved unnecessary extra test condition in test express that +checks for passivetex. + + +Michael(tm) Smith: math.xslDon't use fo:instream-foreign-object if we are processing with +passivetex. Closes #1806899. Thanks to Justus Piater. + + +Mauritz Jeanson: component.xslAdded code to output a TOC for an appendix in an article when +generate.toc='article/appendix toc'. Closes bug #1669658. + + +Dongsheng Song: biblio-iso690.xslChange encoding from "windows-1250" to "UTF-8". + + +Mauritz Jeanson: pi.xslUpdated documentation for dbfo_label-width. + + +Mauritz Jeanson: lists.xslAdded support for the dbfo_label-width PI in calloutlists. + + +Robert Stayton: biblio.xslSupport finding glossary database entries inside bibliodivs. + + +Robert Stayton: formal.xslComplete support for <?dbfo pgwide="1"?> for informal +elements too. + + +Mauritz Jeanson: table.xslIn the table.block template, added a check for the dbfo_keep-together PI, so that +a table may break (depending on the PI value) at a page break. This was needed +since the outer fo:block that surrounds fo:table has keep-together.within-column="always" +by default, which prevents the table from breaking. Closes bug #1740964 (Titled +table does not respect dbfo PI). + + +Mauritz Jeanson: pi.xslAdded a few missing @role="tcg". + + +Mauritz Jeanson: inline.xslUse normalize-space() in glossterm comparisons (as in html/inline.xsl). + + +Mauritz Jeanson: autoidx.xslRemoved the [&scope;] predicate from the target variable in the template with name="reference". +This filter was the cause of missing index backlinks when @zone and @type were used on indexterms, +with index.on.type=1. Closes bug #1680836. + + +Michael(tm) Smith: inline.xsl; xref.xsl; footnote.xslAdded capability in FO output for displaying URLs for all +hyperlinks (elements marked up with xlink:href attributes) in the +same way as URLs for ulinks are already handled (which is to say, +either inline or as numbered footnotes). + +Background on this change: +DocBook 5 allows "ubiquitous" linking, which means you can make +any element a hyperlink just by adding an xlink:href attribute to +it, with the value set to an external URL. That's in contrast to +DocBook 4, which only allows you to use specific elements (e.g., +the link and ulink elements) to mark up hyperlinks. + +The existing FO stylesheets have a mechanism for handling display +of URLs for hyperlinks that are marked up with ulink, but they did +not handle display of URLs for elements that were marked up with +xlink:href attributes. This change adds handling for those other +elements, enabling the URLs they link to be displayed either +inline or as numbered footnotes (depending on what values the user +has the ulink.show and ulink.footnotes params set to). + +Note that this change only adds URL display support for elements +that call the simple.xlink template -- which currently is most +(but not all) inline elements. + +This change also moves the URL display handling out of the ulink +template and into a new "hyperlink.url.display" named template; +the ulink template and the simple.xlink named template now both +call the hyperlink.url.display template. + +Warning: In the stylesheet code that determines what footnote +number to assign to each footnote or external hyperlink, there is +an XPath expression for determining whether a particular +xlink:href instance is an external hyperlink; that expression is +necessarily a bit complicated and further testing may reveal that +it doesn't handle all cases as expected -- so some refinements to +it may need to be done later. + +Closes #1785519. Thanks to Ken Morse for reporting and +troubleshooting the problem. + + + + + +HTML +The following changes have been made to the + html code + since the 1.73.2 release. + + Keith Fahlgren: inline.xsl; synop.xslWork to make HTML and XHTML targets more valid + Keith Fahlgren: table.xslAdd better handling for tables that have footnotes in the titles + Keith Fahlgren: biblio.xslAdd anchors to bibliodivs + +Keith Fahlgren: formal.xsl; Makefile; htmltbl.xslInitial checkin/merge of epub target from work provided by Paul Norton of Adobe +and Keith Fahlgren of O'Reilly. +This change includes new code for generating the XHTML 1.1 target sanely. + + +Mauritz Jeanson: biblio.xslAdded code for creating URLs from biblioids with @class="doi" (representing Digital +Object Identifiers). See FR #1934434 and http://doi.org. + +To do: 1) Add support for FO output. 2) Figure out how @class="doi" should be handled +for bibliorelation, bibliosource and citebiblioid. + + +Norman Walsh: formal.xslDon't use xsl:copy because it forces the resulting element to be in the same namespace as the source element; in the XHTML stylesheets, that's wrong. But the HTML-to-XHTML converter does the right thing with literal result elements, so use one of them. + + +Michael(tm) Smith: MakefileAdded checks and hacks to various makefiles to enable building +under Cygwin. This stuff is ugly and maybe not worth the mess and +trouble, but does seem to work as expected and not break anything +else. + + +Michael(tm) Smith: docbook.xsladded "exslt" namespace binding to html/docbook.xsl file (in +addition to existing "exsl" binding. reason is because lack of it +seems to cause processing problems when using the profiled +version of the stylsheet + + +Norman Walsh: chunk-common.xslRename link + + +Mauritz Jeanson: table.xslAdded a fix to make rowsep apply to the last row of thead in entrytbl. + + +Michael(tm) Smith: synop.xslSimplified and streamlined handling of output for ANSI-style +funcprototype output, to correct a problem that was causing type +data to be lost in the output parameter definitions. For example, +for an instance like this: + <paramdef>void *<parameter>dataptr</parameter>[]</paramdef> +... the brackets (indicating an array type) were being dropped. + + +Michael(tm) Smith: synop.xslChanged HTML handling of K&R-style paramdef output. The parameter +definitions are no longer output in a table (though the prototype +still is). The reason for the change is that the +kr-tabular-funcsynopsis-mode template was causing type data to be +lost in the output parameter definitions. For example, for an +instance like this: + <paramdef>void *<parameter>dataptr</parameter>[]</paramdef> +... the brackets (indicating an array type) were being dropped. +The easiest way to deal with the problem is to not try to chop up +the parameter definitions and display them in table format, but to +instead just output them as-is. May not look quite as pretty, but +at least we can be sure no information is being lost... + + +Michael(tm) Smith: pi.xslupdated wording of doc for funcsynopsis-style PI + + +Michael(tm) Smith: param.xweb; param.ent; synop.xslRemoved the funcsynopsis.tabular.threshold param. It's no longer +being used in the code and hasn't been since mid 2006. + + +Mauritz Jeanson: graphics.xslAdded support for the img.src.path parameter for SVG graphics. Closes bug #1888169. + + +Mauritz Jeanson: chunk-common.xslAdded missing space. + + +Norman Walsh: component.xslFix bug where component titles inside info elements were not handled properly + + +Michael(tm) Smith: pi.xslMoved dbhtml_stop-chunking embedded doc into alphabetical order, +fixed text of TCG section it see-also'ed. + + +David Cramer: pi.xslAdded support for <?dbhtml stop-chunking?> processing instruction + + +David Cramer: chunk-common.xsl; pi.xslAdded support for <?dbhtml stop-chunking?> processing instruction + + +David Cramer: glossary.xslFixed bug #1854199: glossary.xsl should use the sortas attribute on glossentry. Also added normalize-space to avoid missorting due to stray leading spaces. + + +Mauritz Jeanson: inline.xslAdded a template for citebiblioid. The hyperlink target is the parent of the referenced biblioid, +and the "hot text" is the biblioid itself enclosed in brackets. + + +Mauritz Jeanson: inline.xslAdded support for @xlink:show in the simple.xlink template. The "new" and "replace" +values are supported (corresponding to values of "_blank" and "_top" for the +ulink.target parameter). I have assumed that @xlink:show should override ulink.target +for external URI links. This closes bugs #1762023 and #1727498. + + +Mauritz Jeanson: inline.xslMoved declaration of comment.block.parents entity to common/entities.ent. + + +Mauritz Jeanson: param.xwebAdded link to profiling chapter of TCG. + + +Dongsheng Song: biblio-iso690.xslChange encoding from "windows-1250" to "UTF-8". + + +Robert Stayton: biblio.xslAdd support in biblio collection to entries in bibliodivs. + + +Mauritz Jeanson: pi.xslAdded missing @role="tcg". + + +Mauritz Jeanson: chunk-common.xsl; titlepage.xslRefactored legalnotice/revhistory chunking, so that the use.id.as.filename +parameter as well as the dbhtml_filename PI are taken into account. A new named +template in titlepage.xsl is used to compute the filename. + + +Mauritz Jeanson: chunk-common.xsl; titlepage.xslAn update to the fix for bug #1790495 (r7433): +The "ln-" prefix is output only when the legalnotice doesn't have an +@id/@xml:id, in which case the stylesheets generate an ID value, +resulting in a filename like "ln-7e0fwgj.html". This is useful because +without the prefix, you wouldn't know that the file contained a legalnotice. +The same logic is also applied to revhistory, using an "rh-" prefix. + + +Mauritz Jeanson: autoidx.xslRemoved the [&scope;] predicate from the target variable in the template with name="reference". +This filter was the cause of missing index backlinks when @zone and @type were used on indexterms, +with index.on.type=1. Closes bug #1680836. + + +Mauritz Jeanson: titlepage.xslAdded 'ln-' prefix to the name of the legalnotice chunk, in order to match the +<link href"..."> that is output by make.legalnotice.head.links (chunk-common.xsl). +Modified the href attribute on the legalnotice link. +Closes bug #1790495. + + + + + +Manpages +The following changes have been made to the + manpages code + since the 1.73.2 release. + + +Michael(tm) Smith: other.xslslightly adjusted spacing around admonition markers + + +Michael(tm) Smith: refentry.xsl; utility.xslmake sure refsect3 titles are preceded by a line of space, and +make the indenting of their child content less severe + + +Michael(tm) Smith: block.xslonly indent verbatim environments in TTY output, not in non-TTY/PS + + +Michael(tm) Smith: block.xslmade another adjustment to correct vertical alignment of admonition marker + + +Michael(tm) Smith: block.xsl; other.xslAdjusted/corrected alignment of adominition marker in PS/non-TTY output. + + +Michael(tm) Smith: endnotes.xslFor PS/non-TTY output, display footnote/endnote numbers in +superscript. + + +Michael(tm) Smith: table.xsl; synop.xsl; utility.xslChanged handling of hanging indents for cmdsynopsis, funcsynopsis, +and synopfragment such that they now look correct in non-TTY/PS +output. We now use the groff \w escape to hang by the actual width +-- in the current font -- of the command, funcdef, or +synopfragment references number (as opposed to hanging by the +number of characters). This rendering in TTY output remains the +same, since the width in monospaced TTY output is the same as the +number of characters. + +Also, created new synopsis-block-start and synopsis-block-end +templates to use for cmdsynopsis and funcsynopsis instead of the +corresponding verbatim-* templates. + +Along with those changes, also corrected a problem that caused the +content of synopfragment to be dropped, and made a +vertical-spacing change to adjust spacing around table titles and +among sibling synopfragment instances. + + +Michael(tm) Smith: other.xsluse common l10.language.name template to retrieve English-language name + + +Michael(tm) Smith: synop.xsl; inline.xsladded comment in code explaining why we don't put filename output +in italic (despite the fact that man guidelines say we should) + + +Michael(tm) Smith: inline.xslput filename output in monospace instead of italic + + +Michael(tm) Smith: synop.xslput cmdsynopsis in monospace + + +Michael(tm) Smith: inline.xslremoved template match for literal. template matches for monospace +inlines are all imported from the HTML stylesheet + + +Michael(tm) Smith: block.xsldon't indent verbatim environments that are descendants of +refsynopsisdiv, not put backgrounds behind them + + +Michael(tm) Smith: inline.xslset output of the literal element in monospace. this causes all +inline monospace instances in the git man pages to be set in +monospace (since DocBook XML source for git docs is generated with +asciidoc and asciidoc consistently outputs only <literal> for +inline monospace (not <command> or <code> or anything else). +Of course this only affects non-TTY output... + + +Michael(tm) Smith: utility.xslAdded inline.monoseq named template. + + +Michael(tm) Smith: utility.xsldon't bother using a custom register to store the previous +font-family value when setting blocks of text in code font; just +use \F[] .fam with no arg to switch back + + +Michael(tm) Smith: endnotes.xslput links in blue in PS output (note that this matches how groff +renders content marked up with the .URL macro) + + +Michael(tm) Smith: endnotes.xsl; param.xweb; param.entremoved man.links.are.underlined and added man.font.links. Also, +changed the default font formatting for links to bold. + + +Michael(tm) Smith: endnotes.xsl; param.xweb; param.entAdded new param man.base.url.for.relative.links .. specifies a +base URL for relative links (for ulink, @xlink:href, imagedata, +audiodata, videodata) shown in the generated NOTES section of +man-page output. The value of man.base.url.for.relative.links is +prepended to any relative URI that is a value of ulink url, +xlink:href, or fileref attribute. + +If you use relative URIs in link sources in your DocBook refentry +source, and you leave man.base.url.for.relative.links unset, the +relative links will appear "as is" in the NOTES section of any +man-page output generated from your source. That's probably not +what you want, because such relative links are only usable in the +context of HTML output. So, to make the links meaningful and +usable in the context of man-page output, set a value for +man.base.url.for.relative.links that points +to the online version of HTML output generated from your DocBook +refentry source. For example: + + <xsl:param name="man.base.url.for.relative.links" + >http://www.kernel.org/pub/software/scm/git/docs/</xsl:param> + + +Michael(tm) Smith: info.xslIf a source refentry contains a Documentation or DOCUMENTATION +section, don't report it as having missing AUTHOR information. +Also, if missing a contrib/personblurb for a person or org, report +pointers to http://docbook.sf.net/el/personblurb and to +http://docbook.sf.net/el/contrib + + +Michael(tm) Smith: info.xslIf we encounter an author|editor|othercredit instance that lacks a +personblurb or contrib, report it to the user (because that means +we have no information about that author|editor|othercredit to +display in the generated AUTHOR|AUTHORS section...) + + +Michael(tm) Smith: info.xsl; docbook.xsl; other.xslif we can't find any usable author data, emit a warning and insert +a fixme in the output + + +Michael(tm) Smith: info.xslfixed bug in indenting of output for contrib instances in AUTHORS +section. Thanks to Daniel Leidert and the fglrx docs for exposing +the bug. + + +Michael(tm) Smith: block.xslfor a para or simpara that is the first child of a callout, +suppress the .sp or .PP that would normally be output (because in +those cases, the output goes into a table cell, and the .sp or .PP +markup causes a spurious linebreak before it when displayed + + +Michael(tm) Smith: lists.xslAdded support for rendering co callouts and calloutlist instances. +So you can now use simple callouts -- marking up programlisting +and such with co instances -- and have the callouts displayed in +man-page output. ("simple callouts" means using co@id and +callout@arearefs pointing to co@id instances; in man/roff output, +we can't/don't support markup that uses areaset and area) + + +Michael(tm) Smith: block.xslonly put a line of space after a verbatim if it's followed by a +text node or a paragraph + + +Michael(tm) Smith: utility.xslput verbatim environments in slightly smaller font in non-TTY +output + + +Michael(tm) Smith: lists.xslminor whitespace-only reformatting of lists.xsl source + + +Michael(tm) Smith: lists.xslMade refinements/fixes to output of orderedlist and itemizedlist +-- in part, to get mysql man pages to display correctly. This +change causes a "\c" continuation marker to be added between +listitem markers and contents (to ensure that the content remains +on the same line as the marker when displayed) + + +Michael(tm) Smith: block.xslput a line of vertical space after all verbatim output that has +sibling content following it (not just if that sibling content is +a text node) + + +Michael(tm) Smith: block.xslrefined spacing around titles for admonitions + + +Michael(tm) Smith: block.xsl; other.xslDeal with case of verbatim environments that have a linebreak +after the opening tag. Assumption is that users generally don't +want that linebreak to appear in output, so we do some groff +hackery to mess with vertical spacing and close the space. + + +Michael(tm) Smith: inline.xslindexterm instances now produce groff comments like this: + + .\" primary: secondary: tertiary + +remark instances, if non-empty, now produce groff comments + + +Michael(tm) Smith: charmap.groff.xsl; other.xslconvert no-break space character to groff "\ \&" (instead of just +"\ "). the reason is that if a space occurs at the end of a line, +our processing causes it to be eaten. a real-world case of this is +the mysql(1) man page. appending the "\&" prevents that + + +Michael(tm) Smith: block.xsloutput "sp" before simpara output, not after it (outputting it +after results in undesirable whitespace in particular cases; for +example, in the hg/mercurial docs + + +Michael(tm) Smith: table.xsl; synop.xsl; utility.xslrenamed from title-preamble to pinch.together and replaced "sp -1" +between synopsis fragments with call to pinch.together instead + + +Michael(tm) Smith: table.xsluse title-preamble template for table titles (instead of "sp -1" +hack), and "sp 1" after all tables (instead of just "sp" + + +Michael(tm) Smith: utility.xslcreated title-preamble template for suppressing line spacing after +headings + + +Michael(tm) Smith: info.xslfurther refinement of indenting in AUTHORS section + + +Michael(tm) Smith: block.xsl; other.xslrefined handling of admonitions + + +Michael(tm) Smith: lists.xslUse RS/RE in another place where we had IP "" + + +Michael(tm) Smith: info.xslReplace (ab)use of IP with "sp -1" in AUTHORS section with RS/RE +instead. + + +Michael(tm) Smith: table.xsl; synop.xsl; info.xslchanged all instances of ".sp -1n" to ".sp -1" + + +Michael(tm) Smith: other.xsladd extra line before SH heads only in non-TTY output + + +Michael(tm) Smith: block.xslReworked output for admonitions (caution, important, note, tip, +warning). In TTY output, admonitions now get indented. In non-TTY +output, a colored marker (yellow) is displayed next to them. + + +Michael(tm) Smith: other.xslAdded BM/EM macros for putting a colored marker in margin next to +a block of text. + + +Michael(tm) Smith: utility.xslcreated make.bold.title template by moving title-bolding part out +from nested-section-title template. This allows the bolding to +also be used by the template for formatting admonitions + + +Michael(tm) Smith: info.xslput .br before copyright contents to prevent them from getting run in + + +Michael(tm) Smith: refentry.xsl; other.xsl; utility.xslmade point size of output for Refsect2 and Refsect3 heads bigger + + +Michael(tm) Smith: other.xslput slightly more space between SH head and underline in non-TTY +output + + +Michael(tm) Smith: param.xweb; param.ent; other.xslAdded the man.charmap.subset.profile.english parameter and refined +the handling of charmap subsets to differentiate between English +and non-English source. + +This way charmap subsets are now handled is this: + +If the value of the man.charmap.use.subset parameter is non-zero, +and your DocBook source is not written in English (that is, if its +lang or xml:lang attribute has a value other than en), then the +character-map subset specified by the man.charmap.subset.profile +parameter is used instead of the full roff character map. + +Otherwise, if the lang or xml:lang attribute on the root element +in your DocBook source or on the first refentry element in your +source has the value en or if it has no lang or xml:lang +attribute, then the character-map subset specified by the +man.charmap.subset.profile.english parameter is used instead of +man.charmap.subset.profile. + +The difference between the two subsets is that +man.charmap.subset.profile provides mappings for characters in +Western European languages that are not part of the Roman +(English) alphabet (ASCII character set). + + +Michael(tm) Smith: other.xslVarious updates, mainly related to uppercasing SH titles: + + - added a "Language: " metadata line to the top comment area of + output man pages, to indicate the language the page is in + + - added a "toupper" macro of doing locale-aware uppercasing of + SH titles and cross-references to SH titles; the mechanism + relies on the uppercase.alpha and lowercase.alpha DocBook + gentext keys to do locale-aware uppercasing based on the + language the page is written in + + - added a "string.shuffle" template, which provides a library + function for "shuffling" two strings together into a single + string; it takes the first character for the first string, the + first character from second string, etc. The only current use + for it is to generate the argument for the groff tr request + that does string uppercasing. + + - added make.tr.uppercase.arg and make.tr.normalcase.arg named + templates for use in generating groff code for uppercasing and + "normal"-casing SH titles + + - made the BB/BE "background drawing" macros have effect only in + non-TTY output + + - output a few comments in the top part of source + + +Michael(tm) Smith: utility.xslremoved some leftover kruft + + +Michael(tm) Smith: refentry.xslTo create the name(s) for each man page, we now replace any spaces +in the refname(s) with underscores. This ensures that tools like +lexgrog(1) will be able to parse the name (lexgrog won't parse +names that contain spaces). + + +Michael(tm) Smith: docbook.xslPut a comment into source of man page to indicate where the main +content starts. (We now have a few of macro definitions at the +start of the source, so putting this comment in helps those that +might be viewing the source.) + + +Michael(tm) Smith: refentry.xslrefined mechanism for generating SH titles + + +Michael(tm) Smith: charmap.groff.xslAdded zcaron, Zcaron, scaron, and Scaron to the groff character map. +This means that generated Finnish man pages will no longer contain +any raw accented characters -- they'll instead by marked up with +groff escapes. + + +Michael(tm) Smith: other.xsl; utility.xslcorrected a regression I introduced about a year ago that caused +dots to be output just as "\." -- instead needs to be "\&." (which +is what it will be now, after this change) + + +Michael(tm) Smith: refentry.xslChanged backend handling for generating titles for SH sections and +for cross-references to those sections. This should have no effect +on TTY output (behavior should remain the same hopefully) but +results in titles in normal case (instead of uppercase) in PS +output. + + +Michael(tm) Smith: info.xsluse make.subheading template to make subheadings for AUTHORS and +COPYRIGHT sections (instead of harcoding roff markup) + + +Michael(tm) Smith: block.xslput code font around programlisting etc. + + +Michael(tm) Smith: synop.xsl; docbook.xslembed custom macro definitions in man pages, plus wrap synopsis in +code font + + +Michael(tm) Smith: endnotes.xsluse the make.subheading template to generated SH subheading for +endnotes section. + + +Michael(tm) Smith: lists.xslAdded some templates for generating if-then-else conditional +markup in groff, so let's use those instead of hard-coding it in +multiple places... + + +Michael(tm) Smith: other.xsl; utility.xslInitial checkin of some changes related to making PS/PDF output +from "man -l -Tps" look better. The current changes: + + - render synopsis and verbatim sections in a monospace/code font + + - put a light-grey background behind all programlisting, screen, + and literallayout instances + + - prevent SH heads in PS output from being rendered in uppercase + (as they are in console output) + + - also display xrefs to SH heads in PS output in normal case + (instead of uppercase) + + - draw a line under SH heads in PS output + +The changes made to the code to support the above features were: + + - added some embedded/custom macros: one for conditionally + upper-casing SH x-refs, one for redefining the SH macro + itself, with some conditional handling for PS output, and + finally a macro for putting a background/screen (filled box) + around a block of text (e.g., a program listing) in PS output + + - added utility templates for wrapping blocks of text in code + font; also templates for inline code font + + +Robert Stayton: refentry.xslrefpurpose nodes now get apply-templates instead of just normalize-space(). + + +Michael(tm) Smith: lists.xslFixed alignment of first lined of text for each listitem in +orderedlist output for TTY. Existing code seemed to have been +causing an extra undesirable space to appear. + + +Michael(tm) Smith: lists.xslWrapped some roff conditionals around roff markup for orderedlist +and itemizedlist output, so that the lists look acceptable in PS +output as well as TTY. + + +Michael(tm) Smith: pi.xsl; synop.xsl; param.xweb; param.entAdded the man.funcsynopsis.style parameter. Has the same effect in +manpages output as the funcsynopsis.style parameter has in HTML +output -- except that its default value is 'ansi' instead of 'kr'. + + +Michael(tm) Smith: synop.xslReworked handling of K&R funcprototype output. It no longer relies +on the HTML kr-tabular templates, but instead just does direct +transformation to roff. For K&R output, it displays the paramdef +output in an indented list following the prototype. + + +Michael(tm) Smith: synop.xslProperly integrated handling for K&R output into manpages +stylesheet. The choice between K&R output and ANSI output is +currently controlled through use of the (HTML) funcsynopsis.style +parameter. Note that because the mechanism does currently rely on +funcsynopsis.style, the default in manpages output is now K&R +(because that's the default of that param). But I suppose I ought +to create a man.funcsynopsis.style and make the default for that +ANSI (to preserve the existing default behavior). + + +Michael(tm) Smith: docbook.xsladded manpages/pi.xsl file + + +Michael(tm) Smith: .cvsignore; pi.xslAdded "dbman funcsynopsis-style" PI and incorporated it into the +doc build. + + +Michael(tm) Smith: refentry.xslFixed regression that caused an unescaped dash to be output +between refname and refpurpose content. Closes bug #1894244. +Thanks to Daniel Leidert. + + +Michael(tm) Smith: other.xslFixed problem with dots being escaped in filenames of generated +man files. Closes #1827195. Thanks to Daniel Leidert. + + +Michael(tm) Smith: inline.xslAdded support for processing structfield (was appearing in roff +output surrounded by HTML <em> tags; fixed so that it gets roff +ital markup). Closes bug #1858329. Thanks to Sam Varshavchik. + + + + + +Epub +The following changes have been made to the + epub code + since the 1.73.2 release. + + Keith Fahlgren: bin/spec/README; bin/spec/epub_realbook_spec.rb'Realbook' spec now passes + Keith Fahlgren: bin/dbtoepub; README; bin/spec/README; bin/lib/docbook.rb; bin/spec/epub_r⋯Very primitive Windows support for dbtoepub reference implementation; README for running tests and for the .epub target in general; shorter realbook test document (still fails for now) + Keith Fahlgren: bin/dbtoepub; bin/spec/epub_regressions_spec.rb; bin/lib/docbook.rb; bin/s⋯Changes to OPF spine to not duplicate idrefs for documents with parts not at the root; regression specs for same + Keith Fahlgren: docbook.xslFixing linking to cover @id, distinct from other needs of cover-image-id (again, thanks to Martin Goerner) + Keith Fahlgren: docbook.xslUpdating the title of the toc element in the guide to be more explicit (thanks to Martin Goerner) + +Keith Fahlgren: bin/spec/examples/amasque_exploded/content.opf; bin/spec/examples/amasque_⋯Initial checkin/merge of epub target from work provided by Paul Norton of Adobe +and Keith Fahlgren of O'Reilly. + + +Keith Fahlgren: docbook.xsl== General epub test support + +$ spec -O ~/.spec.opts spec/epub_spec.rb + +DocBook::Epub +- should be able to be created +- should fail on a nonexistent file +- should be able to render to a file +- should create a file after rendering +- should have the correct mimetype after rendering +- should be valid .epub after rendering an article +- should be valid .epub after rendering an article without sections +- should be valid .epub after rendering a book +- should be valid .epub after rendering a book even if it has one graphic +- should be valid .epub after rendering a book even if it has many graphics +- should be valid .epub after rendering a book even if it has many duplicated graphics +- should report an empty file as invalid +- should confirm that a valid .epub file is valid +- should not include PDFs in rendered epub files as valid image inclusions +- should include a TOC link in rendered epub files for <book>s + +Finished in 20.608395 seconds + +15 examples, 0 failures + + +== Verbose epub test coverage against _all_ of the testdocs + +Fails on only (errors truncated): +1) +'DocBook::Epub should be able to render a valid .epub for the test document /Users/keith/work/docbook-dev/trunk/xsl/epub/bin/spec/testdocs/calloutlist.003.xml [30]' FAILED +'DocBook::Epub should be able to render a valid .epub for the test document /Users/keith/work/docbook-dev/trunk/xsl/epub/bin/spec/testdocs/cmdsynopsis.001.xml [35]' FAILED +.... + +Finished in 629.89194 seconds + +224 examples, 15 failures + +224 examples, 15 failures yields 6% failure rate + + + + + +HTMLHelp +The following changes have been made to the + htmlhelp code + since the 1.73.2 release. + + +Mauritz Jeanson: htmlhelp-common.xslAdded <xsl:with-param name="quiet" select="$chunk.quietly"/> to calls to +the write.chunk, write.chunk.with.doctype, and write.text.chunk templates. +This makes chunk.quietly=1 suppress chunk filename messages also for help +support files (which seems to be what one would expect). See bug #1648360. + + + + + +Eclipse +The following changes have been made to the + eclipse code + since the 1.73.2 release. + + +David Cramer: eclipse.xslUse sortas attributes (if they exist) when sorting indexterms + + +David Cramer: eclipse.xslAdded support for indexterm/see in eclipse index.xml + + +Mauritz Jeanson: eclipse.xslAdded <xsl:with-param name="quiet" select="$chunk.quietly"/> +to helpidx template. + + +David Cramer: eclipse.xslGenerate index.xml file and add related goo to plugin.xml file. Does not yet support see and seealso. + + +Mauritz Jeanson: eclipse.xslAdded <xsl:with-param name="quiet" select="$chunk.quietly"/> to calls to +the write.chunk, write.chunk.with.doctype, and write.text.chunk templates. +This makes chunk.quietly=1 suppress chunk filename messages also for help +support files (which seems to be what one would expect). See bug #1648360. + + + + + +JavaHelp +The following changes have been made to the + javahelp code + since the 1.73.2 release. + + +Mauritz Jeanson: javahelp.xslAdded <xsl:with-param name="quiet" select="$chunk.quietly"/> to calls to +the write.chunk, write.chunk.with.doctype, and write.text.chunk templates. +This makes chunk.quietly=1 suppress chunk filename messages also for help +support files (which seems to be what one would expect). See bug #1648360. + + + + + +Roundtrip +The following changes have been made to the + roundtrip code + since the 1.73.2 release. + + +Steve Ball: blocks2dbk.xsl; wordml2normalise.xslfix table/cell borders for wordml, fix formal figure, add emphasis-strong + + +Mauritz Jeanson: supported.xmlChanged @cols to 5. + + +Steve Ball: blocks2dbk.xsl; blocks2dbk.dtd; template.xmladded pubdate, fixed metadata handling in biblioentry + + +Steve Ball: supported.xmlAdded support for edition. + + +Steve Ball: docbook-pages.xsl; wordml-blocks.xsl; docbook.xsl; wordml.xsl; pages-normalise⋯Removed stylesheets for old, deprecated conversion method. + + +Steve Ball: specifications.xml; dbk2ooo.xsl; blocks2dbk.xsl; dbk2pages.xsl; blocks2dbk.dtd⋯Added support for Open Office, added edition element, improved list and table support in Word and Pages + + +Steve Ball: normalise-common.xsl; blocks2dbk.xsl; dbk2pages.xsl; template-pages.xml; templ⋯Fixed bug in WordML table handling, improved table handling for Pages 08, synchronised WordML and Pages templates. + + +Steve Ball: normalise-common.xsl; blocks2dbk.xsl; wordml2normalise.xsl; dbk2wp.xslfix caption, attributes + + +Steve Ball: specifications.xml; blocks2dbk.xsl; wordml2normalise.xsl; blocks2dbk.dtd; temp⋯Fixes to table and list handling + + +Steve Ball: blocks2dbk.xsladded support for explicit emphasis character styles + + +Steve Ball: wordml2normalise.xsladded support for customisation in image handling + + +Steve Ball: blocks2dbk.xslAdded inlinemediaobject support for metadata. + + +Steve Ball: normalise-common.xsl; blocks2dbk.xsl; template.xml; dbk2wordml.xsl; dbk2wp.xslAdded support file. Added style locking. Conversion bug fixes. + + + + + +Slides +The following changes have been made to the + slides code + since the 1.73.2 release. + + +Michael(tm) Smith: fo/Makefile; html/MakefileAdded checks and hacks to various makefiles to enable building +under Cygwin. This stuff is ugly and maybe not worth the mess and +trouble, but does seem to work as expected and not break anything +else. + + +Jirka Kosek: html/plain.xslAdded support for showing foil number + + + + + +Website +The following changes have been made to the + website code + since the 1.73.2 release. + + +Michael(tm) Smith: extensions/saxon64/.classes/.gitignore; extensions/xalan2/.classes/com/⋯renamed a bunch more .cvsignore files to .gitignore (to facilitate use of git-svn) + + + + + +Params +The following changes have been made to the + params code + since the 1.73.2 release. + + Keith Fahlgren: epub.autolabel.xmlNew parameter for epub, epub.autolabel + +Mauritz Jeanson: table.frame.border.color.xml; table.cell.padding.xml; table.cell.border.t⋯Added missing refpurposes and descriptions. + + +Keith Fahlgren: ade.extensions.xmlExtensions to support Adobe Digital Editions extensions in .epub output. + + +Mauritz Jeanson: fop.extensions.xml; fop1.extensions.xmlClarified that fop1.extensions is for FOP 0.90 and later. Version 1 is not here yet... + + +Michael(tm) Smith: man.links.are.underlined.xml; man.endnotes.list.enabled.xml; man.font.l⋯removed man.links.are.underlined and added man.font.links. Also, +changed the default font formatting for links to bold. + + +Michael(tm) Smith: man.base.url.for.relative.links.xmlAdded new param man.base.url.for.relative.links .. specifies a +base URL for relative links (for ulink, @xlink:href, imagedata, +audiodata, videodata) shown in the generated NOTES section of +man-page output. The value of man.base.url.for.relative.links is +prepended to any relative URI that is a value of ulink url, +xlink:href, or fileref attribute. + +If you use relative URIs in link sources in your DocBook refentry +source, and you leave man.base.url.for.relative.links unset, the +relative links will appear "as is" in the NOTES section of any +man-page output generated from your source. That's probably not +what you want, because such relative links are only usable in the +context of HTML output. So, to make the links meaningful and +usable in the context of man-page output, set a value for +man.base.url.for.relative.links that points +to the online version of HTML output generated from your DocBook +refentry source. For example: + + <xsl:param name="man.base.url.for.relative.links" + >http://www.kernel.org/pub/software/scm/git/docs/</xsl:param> + + +Michael(tm) Smith: man.string.subst.map.xmlsqueeze .sp\n.sp into a single .sp (to prevent a extra, spurious +line of whitespace from being inserted after programlisting etc. +in certain cases) + + +Michael(tm) Smith: refentry.manual.fallback.profile.xml; refentry.source.fallback.profile.⋯don't use refmiscinfo@class=date value as fallback for refentry +"source" or "manual" metadata fields + + +Michael(tm) Smith: man.charmap.subset.profile.xml; man.charmap.enabled.xml; man.charmap.su⋯made some further doc tweaks related to the +man.charmap.subset.profile.english param + + +Michael(tm) Smith: man.charmap.subset.profile.xml; man.charmap.enabled.xml; man.charmap.su⋯Added the man.charmap.subset.profile.english parameter and refined +the handling of charmap subsets to differentiate between English +and non-English source. + +This way charmap subsets are now handled is this: + +If the value of the man.charmap.use.subset parameter is non-zero, +and your DocBook source is not written in English (that is, if its +lang or xml:lang attribute has a value other than en), then the +character-map subset specified by the man.charmap.subset.profile +parameter is used instead of the full roff character map. + +Otherwise, if the lang or xml:lang attribute on the root element +in your DocBook source or on the first refentry element in your +source has the value en or if it has no lang or xml:lang +attribute, then the character-map subset specified by the +man.charmap.subset.profile.english parameter is used instead of +man.charmap.subset.profile. + +The difference between the two subsets is that +man.charmap.subset.profile provides mappings for characters in +Western European languages that are not part of the Roman +(English) alphabet (ASCII character set). + + +Michael(tm) Smith: man.charmap.subset.profile.xmlAdded to default charmap used by manpages: + + - the "letters" part of the 'C1 Controls And Latin-1 Supplement + (Latin-1 Supplement)' Unicode block + - Latin Extended-A block (but not all of the characters from + that block have mappings in groff, so some of them are still + passed through as-is) + +The effects of this change are that in man pages generated for +most Western European languages and for Finnish, all characters +not part of the Roman alphabet are (e.g., "accented" characters) +are converted to groff escapes. + +Previously, by default we passed through those characters as is +(and users needed to use the full charmap if they wanted to have +those characters converted). + +As a result of this change, man pages generated for Western +European languages will be viewable in some environments in which +they are not viewable if the "raw" non-Roman characters are in them. + + +Mauritz Jeanson: generate.legalnotice.link.xml; generate.revhistory.link.xmlAdded information on how the filename is computed. + + +Mauritz Jeanson: default.table.width.xmlClarified PI usage. + + +Michael(tm) Smith: man.funcsynopsis.style.xmlAdded the man.funcsynopsis.style parameter. Has the same effect in +manpages output as the funcsynopsis.style parameter has in HTML +output -- except that its default value is 'ansi' instead of 'kr'. + + +Michael(tm) Smith: funcsynopsis.tabular.threshold.xmlRemoved the funcsynopsis.tabular.threshold param. It's no longer +being used in the code and hasn't been since mid 2006. + + +Mauritz Jeanson: table.properties.xmlSet keep-together.within-column to "auto". This seems to be the most sensible +default value for tables. + + +Mauritz Jeanson: informal.object.properties.xml; admon.graphics.extension.xml; informalequ⋯Several small documentation fixes. + + +Mauritz Jeanson: manifest.in.base.dir.xmlWording fixes. + + +Mauritz Jeanson: header.content.properties.xml; footer.content.properties.xmlAdded refpurpose. + + +Mauritz Jeanson: ulink.footnotes.xml; ulink.show.xmlUpdated for DocBook 5. + + +Mauritz Jeanson: index.method.xml; glossterm.auto.link.xmlSpelling and wording fixes. + + +Mauritz Jeanson: callout.graphics.extension.xmlClarifed available graphics formats and extensions. + + +Mauritz Jeanson: footnote.sep.leader.properties.xmlCorrected refpurpose. + + +Jirka Kosek: footnote.properties.xmlAdded more properties which make it possible to render correctly footnotes placed inside verbatim elements. + + +Mauritz Jeanson: img.src.path.xmlimg.src.path works with inlinegraphic too. + + +Mauritz Jeanson: saxon.character.representation.xmlAdded TCG link. + + +Mauritz Jeanson: img.src.path.xmlUpdated description of img.src.path. Bug #1785224 revealed that +there was a risk of misunderstanding how it works. + + + + + +Profiling +The following changes have been made to the + profiling code + since the 1.73.2 release. + + +Jirka Kosek: xsl2profile.xslAdded new rules to profile all content generated by HTML Help (including alias files) + + +Robert Stayton: profile-mode.xsluse mode="profile" instead of xsl:copy-of for attributes so +they can be more easily customized. + + + + + + +Tools +The following changes have been made to the + tools code + since the 1.73.2 release. + + +Michael(tm) Smith: make/Makefile.DocBookvarious changes and additions to support making with asciidoc as +an input format + + +Michael(tm) Smith: make/Makefile.DocBookmake dblatex the default PDF maker for the example makefile + + +Michael(tm) Smith: xsl/build/html2roff.xslReworked handling of K&R funcprototype output. It no longer relies +on the HTML kr-tabular templates, but instead just does direct +transformation to roff. For K&R output, it displays the paramdef +output in an indented list following the prototype. + + +Mauritz Jeanson: xsl/build/make-xsl-params.xslMade attribute-sets members of the param list. This enables links to attribute-sets in the +reference documentation. + + +Michael(tm) Smith: xsl/build/html2roff.xsluse .BI handling in K&R funsynopsis output for manpages, just as +we do already of ANSI output + + +Michael(tm) Smith: xsl/build/html2roff.xslImplemented initial support for handling tabular K&R output of +funcprototype in manpages output. Accomplished by adding more +templates to the intermediate HTML-to-roff stylesheet that the +build uses to create the manpages/html-synop.xsl stylesheet. + + +Michael(tm) Smith: xsl/build/doc-link-docbook.xslMade the xsl/tools/xsl/build/doc-link-docbook.xsl stylesheet +import profile-docbook.xsl, so that we can do profiling of release +notes. Corrected some problems in the target for the release-notes +HTML build. + + + + + +Extensions +The following changes have been made to the + extensions code + since the 1.73.2 release. + + Keith Fahlgren: MakefileUse DOCBOOK_SVN variable everywhere, please; build with PDF_MAKER + +Michael(tm) Smith: Makefilemoved extensions build targets from master xsl/Makefile to +xsl/extensions/Makefile + + +Michael(tm) Smith: .cvsignorere-adding empty extensions subdir + + + + + +XSL-Saxon +The following changes have been made to the + xsl-saxon code + since the 1.73.2 release. + + +Michael(tm) Smith: VERSIONbring xsl2, xsl-saxon, and xsl-xalan VERSION files up-to-date with +recent change to snapshot build infrastructure + + +Michael(tm) Smith: nbproject/build-impl.xml; nbproject/project.propertiesChanged hard-coded file references in "clean" target to variable +references. Closes #1792043. Thanks to Daniel Leidert. + + +Michael(tm) Smith: VERSION; MakefileDid post-release wrap-up of xsl-saxon and xsl-xalan dirs + + +Michael(tm) Smith: nbproject/build-impl.xml; VERSION; Makefile; testMore tweaks to get release-ready + + + + + +XSL-Xalan +The following changes have been made to the + xsl-xalan code + since the 1.73.2 release. + + +Michael(tm) Smith: VERSIONbring xsl2, xsl-saxon, and xsl-xalan VERSION files up-to-date with +recent change to snapshot build infrastructure + + +Michael(tm) Smith: nbproject/build-impl.xmlChanged hard-coded file references in "clean" target to variable +references. Closes #1792043. Thanks to Daniel Leidert. + + +Michael(tm) Smith: Makefile; VERSIONDid post-release wrap-up of xsl-saxon and xsl-xalan dirs + + +Michael(tm) Smith: Makefile; nbproject/build-impl.xml; VERSIONMore tweaks to get release-ready + + + + + +XSL-libxslt +The following changes have been made to the + xsl-libxslt code + since the 1.73.2 release. + + +Mauritz Jeanson: python/xslt.pyPrint the result to stdout if no outfile has been given. +Some unnecessary semicolons removed. + + +Mauritz Jeanson: python/xslt.pyAdded a function that quotes parameter values (to ensure that they are interpreted as strings). +Replaced deprecated functions from the string module with string methods. + + +Michael(tm) Smith: python/README; python/README.LIBXSLTrenamed xsl-libxslt/python/README to xsl-libxslt/python/README.LIBXSLT + + +Mauritz Jeanson: python/READMETweaked the text a little. + + + + + + + +Release Notes: 1.73.2 +This is solely a minor bug-fix update to the 1.73.1 release. + It fixes a packaging error in the 1.73.1 package, as well as a + bug in footnote handling in FO output. + + + +Release: 1.73.1 +This is mostly a bug-fix update to the 1.73.0 release. + + +Gentext +The following changes have been made to the + gentext code + since the 1.73.0 release. + + +Mauritz Jeanson: locale/de.xmlApplied patch #1766009. + + +Michael(tm) Smith: locale/lv.xmlAdded localization for ProductionSet. + + + + + +FO +The following changes have been made to the + fo code + since the 1.73.0 release. + + +Mauritz Jeanson: table.xslModified the tgroup template so that, for tables with multiple tgroups, +a width attribute is output on all corresponding fo:tables. Previously, +there was a test prohibiting this (and a comment saying that outputting more +than one width attribute will cause an error). But this seems to be no longer +relevant; it is not a problem with FOP 0.93 or XEP 4.10. Closes bug #1760559. + + +Mauritz Jeanson: graphics.xslReplaced useless <a> elements with warning messages (textinsert extension). + + +Mauritz Jeanson: admon.xslEnabled generation of ids (on fo:wrapper) for indexterms in admonition titles, so that page +references in the index can be created. Closes bug #1775086. + + + + + +HTML +The following changes have been made to the + html code + since the 1.73.0 release. + + +Mauritz Jeanson: titlepage.xslAdded <xsl:call-template name="process.footnotes"/> to abstract template +so that footnotes in info/abstract are processed. Closes bug #1760907. + + +Michael(tm) Smith: pi.xsl; synop.xslChanged handling of HTML output for the cmdsynopsis and +funcsynopsis elements, such that a@id instances are generated for +them if they are descendants of any element containing a dbcmdlist +or dbfunclist PI. Also, update the embedded reference docs for the +dbcmdlist and dbfunclist PIs to make it clear that they can be +used within any element for which cmdsynopsis or funcsynopsis are +valid children. + + +Michael(tm) Smith: formal.xslReverted the part of revision 6952 that caused a@id anchors to be +generated for output of informal objects. Thanks to Sam Steingold +for reporting. + + +Robert Stayton: glossary.xslAccount for a glossary with no glossdiv or glossentry children. + + +Mauritz Jeanson: titlepage.xslModified legalnotice template so that the base.name parameter is calculated +in the same way as for revhistory chunks. Using <xsl:apply-templates +mode="chunk-filename" select="."/> did not work for single-page output since +the template with that mode is in chunk-code.xsl. + + +Mauritz Jeanson: graphics.xslUpdated support for SVG (must be a child of imagedata in DB 5). +Added support for MathML in imagedata. + + +Mauritz Jeanson: pi.xslAdded documentation for the dbhh PI (used for context-sensitive HTML Help). +(The two templates matching 'dbhh' are still in htmlhelp-common.xsl). + + + + + +Manpages +The following changes have been made to the + manpages code + since the 1.73.0 release. + + +Michael(tm) Smith: endnotes.xslIn manpages output, generate warnings about notesources with +non-para children only if the notesource is a footnote or +annotation. Thanks to Sam Steingold for reporting problems with +the existing handling. + + + + + +HTMLHelp +The following changes have been made to the + htmlhelp code + since the 1.73.0 release. + + +Michael(tm) Smith: htmlhelp-common.xslAdded single-pass namespace-stripping support to the htmlhelp, +eclipse, and javahelp stylesheets. + + + + + +Eclipse +The following changes have been made to the + eclipse code + since the 1.73.0 release. + + +Michael(tm) Smith: eclipse.xslAdded single-pass namespace-stripping support to the htmlhelp, +eclipse, and javahelp stylesheets. + + + + + +JavaHelp +The following changes have been made to the + javahelp code + since the 1.73.0 release. + + +Michael(tm) Smith: javahelp.xslAdded single-pass namespace-stripping support to the htmlhelp, +eclipse, and javahelp stylesheets. + + + + + +Roundtrip +The following changes have been made to the + roundtrip code + since the 1.73.0 release. + + +Steve Ball: blocks2dbk.xsl; blocks2dbk.dtd; pages2normalise.xslModularised blocks2dbk to allow customisation, +Added support for tables to pages2normalise + + + + + +Params +The following changes have been made to the + params code + since the 1.73.0 release. + + +Robert Stayton: procedure.properties.xmlprocedure was inheriting keep-together from formal.object.properties, but +a procedure does not need to be kept together by default. + + +Dave Pawson: title.font.family.xml; component.label.includes.part.label.xml; table.frame.b⋯Regular formatting re-org. + + + + + + +Release: 1.73.0 +This release includes important bug fixes and adds the following +significant feature changes: + + + New localizations and localization updates + + We added two new localizations: Latvian and + Esperanto, and made updates to the Czech, Chinese + Simplified, Mongolian, Serbian, Italian, and Ukrainian + localizations. + + + + ISO690 citation style for bibliography output. + + Set the + bibliography.style parameter to + iso690 to use ISO690 style. + + + + New documentation for processing instructions (PI) + + The reference documentation that ships with the + release now includes documentation on all PIs that you can use to + control output from the stylesheets. + + + + New profiling parameters for audience and wordsize + + You can now do profiling based on the values of the + audience and + wordsize attributes. + + + + Changes to man-page output + + The manpages stylesheet now supports single-pass + profiling and single-pass DocBook 5 namespace stripping + (just as the HTML and FO stylesheets also do). Also, added + handling for mediaobject & + inlinemediaobject. (Each imagedata, + audiodata, or videodata element + within a mediaobject or inline + mediaobject is now treated as a "notesource" + and so handled in much the same way as links and + annotation/alt/footnote + are in manpages output.) And added the + man.authors.section.enabled and + man.copyright.section.enabled + parameters to enable control over whether output includes + auto-generated AUTHORS and + COPYRIGHT sections. + + + + Highlighting support for C + + The highlighting mechanism for generating + syntax-highlighted code snippets in output now supports C + code listings (along with Java, PHP, XSLT, and others). + + + + Experimental docbook-xsl-update script + + We added an experimental docbook-xsl-update + script, the purpose of which is to facilitate + easy sync-up to the latest docbook-xsl snapshot (by means + of rsync). + + + + + + +Gentext +The following changes have been made to the +gentext code +since the 1.72.0 release. + + +Michael(tm) Smith: locale/lv.xml; MakefileAdded Latvian localization file, from Girts Ziemelis. + + +Dongsheng Song: locale/zh_cn.xmlBrought up to date with en.xml in terms of items. A few strings marked for translation. + + +Jirka Kosek: locale/cs.xmlAdded missing translations + + +Robert Stayton: locale/eo.xmlNew locale for Esperanto. + + +Robert Stayton: locale/mn.xmlUpdate from Ganbold Tsagaankhuu. + + +Jirka Kosek: locale/en.xml; locale/cs.xmlRules for normalizing glossary entries before they are sorted can be now different for each language. + + +Michael(tm) Smith: locale/sr_Latn.xml; locale/sr.xmlCommitted changes from MiloÅ¡ Komarčević to Serbian files. + + +Robert Stayton: locale/ja.xmlFix chapter in context xref-number-and-title + + +Robert Stayton: locale/it.xmlImproved version from contributor. + + +Mauritz Jeanson: locale/uk.xmlApplied patch 1592083. + + + + +Common +The following changes have been made to the +common code +since the 1.72.0 release. + + +Michael(tm) Smith: labels.xslChanged handling of reference auto-labeling such that reference +(when it appears at the component level) is now affected by the +label.from.part param, just as preface, chapter, and appendix. + + +Michael(tm) Smith: common.xslAdded support to the HTML stylesheets for proper processing of +orgname as a child of author. + + +Michael(tm) Smith: refentry.xslRefined logging output of refentry metadata-gathering template; +for some cases of "missing" elements (refmiscinfo stuff, etc.), +the log messages now include URL to corresponding page in the +Definitive Guide (TDG). + + +Robert Stayton: titles.xslAdd refsection/info/title support. + + +Michael(tm) Smith: titles.xslAdded support for correct handling of xref to elements that +contain info/title descendants but no title children. + +This should be further refined so that it handles any *info +elements. And there are probably some other places where similar +handling for *info/title should be added. + + +Mauritz Jeanson: pi.xslModified <xsl:when> in datetime.format template to work +around Xalan bug. + + + + +FO +The following changes have been made to the +fo code +since the 1.72.0 release. + + +Robert Stayton: component.xslAdd parameters to the page.sequence utility template. + + +Mauritz Jeanson: xref.xslAdded template for xref to area/areaset. +Part of fix for bug #1675513 (xref to area broken). + + +Michael(tm) Smith: inline.xslAdded template match for person element to fo stylesheet. + + +Robert Stayton: lists.xslAdded support for spacing="compact" in variablelist, per bug report #1722540. + + +Robert Stayton: table.xsltable pgwide="1" should also use pgwide.properties attribute-set. + + +Mauritz Jeanson: inline.xslMake citations numbered if bibliography.numbered != 0. + + +Robert Stayton: param.xweb; param.entAdd new profiling parameters for audience and wordsize. + + +Robert Stayton: param.xweb; param.entAdded callout.icon.size parameter. + + +Robert Stayton: inline.xsl; xref.xslAdd support for xlink as olink. + + +Robert Stayton: autotoc.xsl; param.xweb; param.entAdd support for qanda.in.toc to fo TOC. + + +Robert Stayton: component.xslImproved the page.sequence utility template for use with book. + + +Robert Stayton: division.xslRefactored the big book template into smaller pieces. +Used the "page.sequence" utility template in +component.xsl to shorten the toc piece. +Added placeholder templates for front.cover and back.cover. + + +Robert Stayton: param.xweb; param.ent; sections.xslAdd section.container.element parameter to enable +pgwide spans inside sections. + + +Robert Stayton: param.xweb; param.ent; component.xslAdd component.titlepage.properties attribute-set to +support span="all" and other properties. + + +Robert Stayton: htmltbl.xsl; table.xslApply table.row.properties template to html tr rows too. +Add keep-with-next to table.row.properties when row is in thead. + + +Robert Stayton: table.xslAdd support for default.table.frame parameter. +Fix bug 1575446 rowsep last check for @morerows. + + +Robert Stayton: refentry.xslAdd support for info/title in refsections. + + +David Cramer: qandaset.xslMake fo questions and answers behave the same way as html + + +Jirka Kosek: lists.xslAdded missing attribute set for procedure + + +Jirka Kosek: param.xweb; biblio.xsl; docbook.xsl; param.ent; biblio-iso690.xslAdded support for formatting biblioentries according to ISO690 citation style. +New bibliography style can be turned on by setting parameter bibliography.style to "iso690" +The code was provided by Jana Dvorakova + + +Robert Stayton: param.xweb; param.ent; pagesetup.xslAdd header.table.properties and footer.table.properties attribute-sets. + + +Robert Stayton: inline.xslAdd fop1.extensions for menuchoice arrow handling exception. + + + + +HTML +The following changes have been made to the + html code + since the 1.72.0 release. + + +Mauritz Jeanson: param.xweb; param.entMoved declaration and documentation of javahelp.encoding from javahelp.xsl to the +regular "parameter machinery". + + +Michael(tm) Smith: admon.xslChanged handling of titles for note, warning, caution, important, +tip admonitions: We now output and HTML h3 head only if +admon.textlabel is non-zero or if the admonition actually contains +a title; otherwise, we don't output an h3 head at all. +(Previously, we were outputting an empty h3 if the admon.textlabel +was zero and if the admonition had no title.) + + +Mauritz Jeanson: xref.xslAdded template for xref to area/areaset. +Part of fix for bug #1675513 (xref to area broken). + + +Mauritz Jeanson: titlepage.xsl; component.xsl; division.xsl; sections.xslAdded fixes to avoid duplicate ids when generate.id.attributes = 1. +This (hopefully) closes bug #1671052. + + +Michael(tm) Smith: formal.xsl; pi.xslMade the dbfunclist PI work as intended. Also added doc for +dbfunclist and dbcmdlist PIs. + + +Michael(tm) Smith: pi.xsl; synop.xslMade the dbcmdlist work the way it appears to have been intended +to work. Restored dbhtml-dir template back to pi.xsl. + + +Michael(tm) Smith: titlepage.xsl; param.xweb; param.entAdded new param abstract.notitle.enabled. +If non-zero, in output of the abstract element on titlepages, +display of the abstract title is suppressed. +Because sometimes you really don't want or need that title +there... + + +Michael(tm) Smith: chunk-code.xsl; graphics.xslWhen we are chunking long descriptions for mediaobject instances +into separate HTML output files, and use.id.as.filename is +non-zero, if a mediaobject has an ID, use that ID as the basename +for the long-description file (otherwise, we generate an ID for it +and use that ID as the basename for the file). +The parallels the recent change made to cause IDs for legalnotice +instances to be used as basenames for legalnotice chunks. +Also, made some minor refinements to the recent changes for +legalnotice chunk handling. + + +Michael(tm) Smith: titlepage.xslAdded support to the HTML stylesheets for proper processing of +orgname as a child of author. + + +Michael(tm) Smith: chunk-code.xslWhen $generate.legalnotice.link is non-zero and +$use.id.as.filename is also non-zero, if a legalnotice has an ID, +then instead of assigning the "ln-<generatedID>" basename to the +output file for that legalnotice, just use its real ID as the +basename for the file -- as we do when chunking other elements +that have IDs. + + +David Cramer: xref.xslHandle alt text on xrefs to steps when the step doesn't have a title. + + +David Cramer: lists.xslAdded <p> element around term in variablelist when formatted as table to avoid misalignment of term and listitem in xhtml (non-quirks mode) output + + +David Cramer: qandaset.xslAdded <p> element around question and answer labels to avoid misalignment of label and listitem in xhtml (non-quirks mode) output + + +David Cramer: lists.xslAdded <p> element around callouts to avoid misalignment of callout and listitem in xhtml (non-quirks mode) output + + +Mauritz Jeanson: inline.xslMake citations numbered if bibliography.numbered != 0. + + +Robert Stayton: param.xweb; param.entAdd support for new profiling attributes audience and wordsize. + + +Robert Stayton: inline.xsl; xref.xslAdd support for xlink olinks. + + +Jirka Kosek: glossary.xslRules for normalizing glossary entries before they are sorted can be now different for each language. + + +Robert Stayton: chunk-common.xsl; chunk-code.xsl; manifest.xsl; chunk.xslRefactored the chunking modules to move all named templates to +chunk-common.xsl and all match templates to chunk-code.xsl, in +order to enable better chunk customization. +See the comments in chunk.xsl for more details. + + +Robert Stayton: lists.xslAdd anchor for xml:id for listitem in varlistentry. + + +Robert Stayton: refentry.xslAdd support for info/title in refsections for db5. + + +Jirka Kosek: param.xweb; biblio.xsl; docbook.xsl; param.ent; biblio-iso690.xslAdded support for formatting biblioentries according to ISO690 citation style. +New bibliography style can be turned on by setting parameter bibliography.style to "iso690" +The code was provided by Jana Dvorakova + + +Robert Stayton: inline.xsl; xref.xslAdd call to class.attribute to <a> output elements so they can +have a class value too. + + +Mauritz Jeanson: glossary.xslFixed bug #1644881: +* Added curly braces around all $language attribute values. +* Moved declaration of language variable to top level of stylesheet. +Tested with Xalan, Saxon, and xsltproc. + + + + +Manpages +The following changes have been made to the + manpages code + since the 1.72.0 release. + + +Michael(tm) Smith: param.xweb; docbook.xsl; param.entAdded the man.authors.section.enabled and +man.copyright.section.enabled parameters. Set those to zero when +you want to suppress display of the auto-generated AUTHORS and +COPYRIGHT sections. Closes request #1467806. Thanks to Daniel +Leidert. + + +Michael(tm) Smith: docbook.xslTook the test that the manpages stylesheet does to see if there +are any Refentry chilren in current doc, and made it +namespace-agnostic. Reason for that is because the test otherwise +won't work when it is copied over into the generated +profile-docbook.xsl stylesheet. + + +Michael(tm) Smith: MakefileAdded a manpages/profile-docbook.xsl file to enable single-pass +profiling for manpages output. + + +Michael(tm) Smith: info.xslOutput copyright and legalnotice in man-page output in whatever +place they are in in document order. Closes #1690539. Thanks to +Daniel Leidert for reporting. + + +Michael(tm) Smith: docbook.xslRestored support for single-pass namespace stripping to manpages +stylesheet. + + +Michael(tm) Smith: synop.xsl; block.xsl; info.xsl; inline.xsl; lists.xsl; endnotes.xsl; ut⋯Changed handling of bold and italic/underline output in manpages +output. Should be transparent to users, but... + +This touches handling of all bold and italic/underline output. The +exact change is that the mode="bold" and mode="italic" utility +templates were changed to named templates. (I think maybe I've +changed it back and forth from mode to named before, so this is +maybe re-reverting it yet again). + +Anyway, the reason for the change is that the templates are +sometimes call on dynamically node-sets, and using modes to format +those doesn't allow passing info about the current/real context +node from the source (not the node-set created by the stylesheet) +to that formatting stage. + +The named templates allow the context to be passed in as a +parameter, so that the bold/ital formatting template can use +context-aware condition checking. + +This was basically necessary in order to suppress bold formatting +in titles, which otherwise gets screwed up because of the numbnut +way that roff handles nested bold/ital. + +Closes #1674534). Much thanks to Daniel Leidert, whose in his +docbook-xsl bug-finding kung-fu has achieved Grand Master status. + + +Michael(tm) Smith: block.xslFixed handling of example instances by adding the example element +to the same template we use for processing figure. Closes +#1674538. Thanks to Daniel Leidert. + + +Michael(tm) Smith: utility.xslDon't include lang in manpages filename/pathname if lang=en (that +is, only generate lang-qualified file-/pathnames for non-English). + + +Michael(tm) Smith: endnotes.xslIn manpages output, emit warnings for notesources (footnote, etc.) +that have something other than para as a child. + +The numbered-with-hanging-indent formatting that's used for +rendering endnotes in the NOTES section of man pages places some +limits/assumptions on how the DocBook source is marked up; namely, +for notesources (footnote, annotation, etc.) that can contain +block-level children, if the they have a block-level child such as +a table or itemizedlist or orderedlist that is the first child of +a footnote, we have no way of rendering/indenting its content +properly in the endnotes list. + +Thus, the manpages stylesheet not emits a warning message for that +case, and suggests the "fix" (which is to wrap the table or +itemizedlist or whatever in a para that has some preferatory text. + + +Michael(tm) Smith: utility.xslAdded support to mixed-block template for handling tables in +mixed-blocks (e.g., as child of para) correctly. + + +Michael(tm) Smith: table.xsl; synop.xsl; block.xsl; info.xsl; lists.xsl; refentry.xsl; end⋯Reverted necessary escaping of backslash, dot, and dash +out of the well-intentioned (but it now appears, +misguided) "marker" mechanism (introduced in the 1.72.0 +release) -- which made use of alternative "marker" +characters as internal representations of those +characters, and then replaced them just prior to +serialization -- and back into what's basically the +system that was used prior to the 1.69.0 release; that +is, into a part of stylesheet code that gets executed +at the beginning of processing -- before any other roff +markup up is. This change obviates the need for the +marker system. It also requires a lot less RAM during +processing (for large files, the marker mechanism +ending up requiring gigabytes of memory). + +Closes bug #1661177. Thanks to Scott Smedley for +providing a test case (the fvwm man page) that exposed +the problem with the marker mechanism. + +Also moved the mechanism for converting non-breaking +spaces back into the same area of the stylesheet code. + + +Michael(tm) Smith: lists.xslFixed problem with incorrect formatting of nested variablelist. +Closes bug #1650931. Thanks to Daniel "Eagle Eye" Leidert. + + +Michael(tm) Smith: lists.xslMake sure that all listitems in itemizedlist and orderedlist are +preceded by a blank line. This fixes a regression that occurred +when instances of the TP macro that were use in a previous +versions of the list-handling code were switched to RS/RE (because +TP doesn't support nesting). TP automatically generates a blank +line, but RS doesn't. So I added a .sp before each .RS + + +Michael(tm) Smith: block.xsl; inline.xsl; param.xweb; docbook.xsl; links.xsl; param.entMade a number of changes related to elements with +out-of-line content: + +- Added handling for mediaobject & inlinemediaobject. + Each imagedata, audiodata, or videodata element + within a mediaobject or inline mediaobject is now + treated as a "notesource" and so handled in much the + same way as links and annotation/alt/footnotes. + + That means a numbered marker is generated inline to + mark the place in the main flow where the imagedata, + audiodata, or videodata element occurs, and a + corresponding numbered endnote for it is generated in + the endnotes list at the end of the man page; the + endnote contains the URL from the fileref attribute + of the imagedata, audiodata, or videodata element. + + For mediobject and inlinemediaobject instances that + have a textobject child, the textobject is displayed + within the main text flow. + +- Renamed several man.link.* params to man.endnotes.*, + to reflect that fact that the endnotes list now + contains more than just links. Also did similar + renaming for a number of stylesheet-internal vars. + +- Added support for xlink:href (along with existing + support for the legacy ulink element). + +- Cleaned up and streamlined the endnotes-handling + code. It's still messy and klunky and the basic + mechanism it uses is very inefficent for documents + that contain a lot of notesources, but at least it's + a bit better than it was. + + + + +Eclipse +The following changes have been made to the + eclipse code + since the 1.72.0 release. + + +Mauritz Jeanson: MakefileFixed bug #1715093: Makefile for creating profiled version of eclipse.xsl added. + + +David Cramer: eclipse.xslAdded normalize-space around to avoid leading whitespace from appearing in the output if there's extra leading whitespace (e.g. <title> Foo</title>) in the source + + + + +JavaHelp +The following changes have been made to the + javahelp code + since the 1.72.0 release. + + +Mauritz Jeanson: javahelp.xslImplemented FR #1230233 (sorted index in javahelp). + + +Mauritz Jeanson: javahelp.xslAdded normalize-space() around titles and index entries to work around whitespace problems. +Added support for glossary and bibliography in toc and map files. + + + + +Roundtrip +The following changes have been made to the + roundtrip code + since the 1.72.0 release. + + +Steve Ball: blocks2dbk.xsl; wordml2normalise.xsl; normalise2sections.xsl; sections2blocks.⋯new stylesheets for better word processor support and easier maintenance + + +Steve Ball: template-pages.xml; dbk2wp.xsl; sections-spec.xmlfixed bugs + + + + +Params +The following changes have been made to the + params code + since the 1.72.0 release. + + +Mauritz Jeanson: htmlhelp.button.back.xml; htmlhelp.button.forward.xml; htmlhelp.button.zo⋯Modified refpurpose text. + + +Mauritz Jeanson: htmlhelp.map.file.xml; htmlhelp.force.map.and.alias.xml; htmlhelp.alias.f⋯Fixed typos, made some small changes. + + +Mauritz Jeanson: javahelp.encoding.xmlMoved declaration and documentation of javahelp.encoding from javahelp.xsl to the +regular "parameter machinery". + + +Mauritz Jeanson: generate.id.attributes.xmlAdded refpurpose text. + + +Mauritz Jeanson: annotation.js.xml; annotation.graphic.open.xml; annotation.graphic.close.⋯Added better refpurpose texts. + + +Michael(tm) Smith: chunker.output.cdata-section-elements.xml; chunker.output.standalone.xm⋯Fixed some broken formatting in source files for chunker.* params, +as pointed out by Dave Pawson. + + +Michael(tm) Smith: label.from.part.xmlChanged handling of reference auto-labeling such that reference +(when it appears at the component level) is now affected by the +label.from.part param, just as preface, chapter, and appendix. + + +Mauritz Jeanson: callout.graphics.extension.xmlClarified that 'extension' refers to file names. + + +Michael(tm) Smith: abstract.notitle.enabled.xmlAdded new param abstract.notitle.enabled. +If non-zero, in output of the abstract element on titlepages, +display of the abstract title is suppressed. +Because sometimes you really don't want or need that title +there... + + +Michael(tm) Smith: man.string.subst.map.xmlUpdated manpages string-substitute map to reflect fact that +because of another recent change to suppress bold markup in .SH +output, we no longer need to add a workaround for the accidental +uppercasing of roff escapes that occurred previously. + + +Jirka Kosek: margin.note.float.type.xml; title.font.family.xml; table.frame.border.color.x⋯Improved parameter metadata + + +Robert Stayton: profile.wordsize.xml; profile.audience.xmlAdd support for profiling on new attributes audience and wordsize. + + +Robert Stayton: callout.graphics.number.limit.xml; callout.graphics.extension.xmlAdded SVG graphics for fo output. + + +Robert Stayton: callout.icon.size.xmlSet size of callout graphics. + + +Jirka Kosek: default.units.xml; chunker.output.method.xml; toc.list.type.xml; output.inden⋯Updated parameter metadata to the new format. + + +Jirka Kosek: man.output.quietly.xml; title.font.family.xml; footnote.sep.leader.properties⋯Added type annotations into parameter definition files. + + +Robert Stayton: section.container.element.xmlSupport spans in sections for certain processors. + + +Robert Stayton: component.titlepage.properties.xmlEmpty attribute set for top level component titlepage block. +Allows setting a span on title info. + + +Jirka Kosek: bibliography.style.xmlAdded link to WiKi page with description of special markup needed for ISO690 biblioentries + + +Robert Stayton: make.year.ranges.xmlClarify that multiple year elements are required. + + +Robert Stayton: id.warnings.xmlTurn off id.warnings by default. + + +Jirka Kosek: bibliography.style.xmlAdded support for formatting biblioentries according to ISO690 citation style. +New bibliography style can be turned on by setting parameter bibliography.style to "iso690" +The code was provided by Jana Dvorakova + + +Robert Stayton: header.table.properties.xml; footer.table.properties.xmlSupport adding table properties to header and footer tables. + + + + +Highlighting +The following changes have been made to the + highlighting code + since the 1.72.0 release. + + +Jirka Kosek: c-hl.xml; xslthl-config.xmlAdded support for C language. Provided by Bruno Guegan. + + + + +Profiling +The following changes have been made to the + profiling code + since the 1.72.0 release. + + +Robert Stayton: profile-mode.xslAdd support for new profiling attributes audience and wordsize. + + + + +Lib +The following changes have been made to the + lib code + since the 1.72.0 release. + + +Michael(tm) Smith: lib.xwebChanged name of prepend-pad template to pad-string and twheeked so +it can do both right/left padding. + + + + +Tools +The following changes have been made to the + tools code + since the 1.72.0 release. + + +Michael(tm) Smith: bin; bin/docbook-xsl-updateDid some cleanup to the install.sh source and added a +docbook-xsl-update script to the docbook-xsl distro, the purpose +of which is to facilitate easy sync-up to the latest docbook-xsl +snapshot (by means of rsync). + + + + +XSL-Saxon +The following changes have been made to the + xsl-saxon code + since the 1.72.0 release. + + +Mauritz Jeanson: xalan27/src/com/nwalsh/xalan/Verbatim.java; xalan27/src/com/nwalsh/xalan/⋯Added modifications so that the new callout.icon.size parameter is taken into account. This +parameter is used for FO output (where SVG now is the default graphics format for callouts). + + +Mauritz Jeanson: saxon65/src/com/nwalsh/saxon/FormatCallout.java; xalan27/src/com/nwalsh/x⋯Added code for generating id attributes on callouts in HTML and FO output. +These patches enable cross-references to callouts placed by area coordinates. +It works for graphic, unicode and text callouts. +Part of fix for bug #1675513 (xref to area broken). + + +Michael(tm) Smith: saxon65/src/com/nwalsh/saxon/Website.java; xalan27/src/com/nwalsh/xalan⋯Copied over Website XSL Java extensions. + + + + +XSL-Xalan +The following changes have been made to the + xsl-xalan code + since the 1.72.0 release. + + +Michael(tm) Smith: Makefile; xalan2Turned off xalan2.jar build. This removes DocBook XSL +Java extensions support for versions of Xalan prior to +Xalan 2.7. If you are currently using the extensions +with an earlier version of Xalan, you need to upgrade +to Xalan 2.7. + + +Mauritz Jeanson: xalan27/src/com/nwalsh/xalan/Verbatim.java; xalan27/src/com/nwalsh/xalan/⋯Added modifications so that the new callout.icon.size parameter is taken into account. This +parameter is used for FO output (where SVG now is the default graphics format for callouts). + + +Mauritz Jeanson: saxon65/src/com/nwalsh/saxon/FormatCallout.java; xalan27/src/com/nwalsh/x⋯Added code for generating id attributes on callouts in HTML and FO output. +These patches enable cross-references to callouts placed by area coordinates. +It works for graphic, unicode and text callouts. +Part of fix for bug #1675513 (xref to area broken). + + +Michael(tm) Smith: saxon65/src/com/nwalsh/saxon/Website.java; xalan27/src/com/nwalsh/xalan⋯Copied over Website XSL Java extensions. + + + + + + +Release: 1.72.0 +This release includes important bug fixes and adds the following +significant feature changes: + + + Automatic sorting of glossary entries + + The HTML and FO stylesheets now support automatic sorting + of glossary entries. To enable glossary sorting, set + the value of the glossary.sort parameter + to 1 (by default, it’s value is + 0). When you enable glossary sorting, + glossentry elements within a glossary, + glossdiv, or glosslist are sorted on the + glossterm, using the current language setting. If you + don’t enable glossary sorting, then the order of + glossentry elements is left “as is” — that is, they + are not sorted but are instead just displayed in document + order. + + + + WordML renamed to Roundtrip, OpenOffice support added + + Stylesheets for “roundtrip” conversion between documents in + OpenOffice format (ODF) and DocBook XML have been added to the set + of stylesheets that formerly had the collective title + WordML, and that set of stylesheets has + been renamed to Roundtrip to better + reflect the actual scope and purpose of its contents. + So the DocBook XSL Stylesheets now support roundtrip + conversion (with certain limitations) of WordML, OpenOffice, and + Apple Pages documents to and from DocBook XML. + + + + Including QandASet questions in TOCs + + The HTML stylesheet now provides support for including + QandASet questions in the document TOC. To + enable display of questions in the document TOC, set + the value of the qanda.in.toc to + 1 (by default, it’s 0). When you + enable qanda.in.toc, then the generated + table of contents for a document will include + qandaset titles, qandadiv titles, and + question elements. The default value of zero + excludes them from the TOC. + + The qanda.in.toc parameter does + not affect any tables of contents that may be generated + within a qandaset or + qandadiv (only in the document TOC). + + + + + + Language identifier in man-page filenames and pathnames + + Added new parameter man.output.lang.in.name.enabled, which controls whether + a language identifier is included in man-page filenames and + pathnames. It works like this: + + If the value of man.output.lang.in.name.enabled is non-zero, + man-page files are output with a language identifier included in + their filenames or pathnames as follows: + + + if + man.output.subdirs.enabled is non-zero, + each file is output to, e.g., a + /$lang/man8/foo.8 pathname + + if + man.output.subdirs.enabled is zero, + each file is output with a foo.$lang.8 + filename + + + + + + index.page.number.properties property set + + For FO output, use the + index.page.number.properties to control + formatting of page numbers in index output — to (for + example) to display page numbers in index output in a + different color (to indicate that they are links). + + + + Crop marks in output from Antenna House XSL Formatter + + Support has been added for generating crop marks in + print/PDF output generated using Antenna House XSL Formatter + + + + More string-substitution hooks in manpages output + + The man.string.subst.map.local.pre + and man.string.subst.map.local.post + parameters have been added to enable easier control over + custom string substitutions. + + + + Moved verbatim properties to attribute-set + + The hardcoded properties used in verbatim elements (literallayout, + programlisting, screen) were moved to the verbatim.properties + attribute-set so they can be more easily customized. + + + + enhanced simple.xlink template + + Now the simple.xlink template in inline.xsl works with + cross reference elements xref and link as well. Also, more elements + call simple.xlink, which enables DB5 xlink functionality. + + + + + DocBook 5 compatibility + + Stylesheets now consistently support DocBook 5 attributes + (such as xml:id). Also, DocBook 5 info elements are now checked + along with other *info elements, and the use of name() function + was replaced by local-name() so it also matches on DocBook 5 elements. + These changes enable reusing the stylesheets with DocBook 5 + documents with minimal fixup. + + + + + HTML class attributes now handled in class.attribute mode + + The HTML class attributes were formerly hardcoded to the + element name. Now the class attribute is generated by applying + templates in class.attribute mode so class attribute names + can be customized. The default is still the element name. + + + + arabic-indic numbering enabled in autolabels + + Numbering of chapter, sections, and pages can now use + arabic-indic numbering when number format is set to 'arabicindic' or + to ١. + + + +The following is a detailed list of changes (not +including bug fixes) that have been made since the 1.71.1 +release. + + +Common +The following changes have been made to the + common code + since the 1.71.1 release. + + +Add support for arabicindic numbering to autolabel.format template.M: /trunk/xsl/common/labels.xsl - Robert Stayton + + +Finish support for @xml:id everywhere @id is used.M: /trunk/xsl/common/gentext.xsl; M: /trunk/xsl/common/titles.xsl - Robert Stayton + + +replace name() with local-name() in most cases.M: /trunk/xsl/common/l10n.xsl; M: /trunk/xsl/common/olink.xsl; M: /trunk/xsl/common/subtitles.xsl; M: /trunk/xsl/common/labels.xsl; M: /trunk/xsl/common/titles.xsl; M: /trunk/xsl/common/common.xsl - Robert Stayton + + +Add support for info.M: /trunk/xsl/common/subtitles.xsl; M: /trunk/xsl/common/labels.xsl; M: /trunk/xsl/common/titles.xsl; M: /trunk/xsl/common/common.xsl; M: /trunk/xsl/common/targets.xsl - Robert Stayton + + +Add utility template tabstyle to return the tabstyle from +any table element.M: /trunk/xsl/common/table.xsl - Robert Stayton + + + + + +FO +The following changes have been made to the + fo code + since the 1.71.1 release. + + +Add support for sorting glossary entriesM: /trunk/xsl/fo/param.xweb; M: /trunk/xsl/fo/param.ent; M: /trunk/xsl/fo/glossary.xsl - Robert Stayton + + +Add table.row.properties template to customize table rows.M: /trunk/xsl/fo/table.xsl - Robert Stayton + + +Moved all properties to attribute-sets so can be customized more easily.M: /trunk/xsl/fo/verbatim.xsl - Robert Stayton + + +Add index.page.number.properties attribute-set to format page numbers.M: /trunk/xsl/fo/autoidx.xsl - Robert Stayton + + +xref now supports xlink:href, using simple.xlink template.M: /trunk/xsl/fo/xref.xsl - Robert Stayton + + +Rewrote simple.xlink, and call it with all charseq templates.M: /trunk/xsl/fo/inline.xsl - Robert Stayton + + +Add simple.xlink processing to term and member elements.M: /trunk/xsl/fo/lists.xsl - Robert Stayton + + +Add support for crop marks in Antenna House.M: /trunk/xsl/fo/axf.xsl; M: /trunk/xsl/fo/pagesetup.xsl - Robert Stayton + + + + + +HTML +The following changes have been made to the + html code + since the 1.71.1 release. + + +Add support for sorting glossary entriesM: /trunk/xsl/html/glossary.xsl - Robert Stayton + + +Add support for qanda.in.toc to add qandaentry questions to document TOC.M: /trunk/xsl/html/autotoc.xsl; M: /trunk/xsl/html/param.xweb; M: /trunk/xsl/html/param.ent - Robert Stayton + + +add simple.xlink support to variablelist term and simplelist member.M: /trunk/xsl/html/lists.xsl - Robert Stayton + + +*.propagates.style now handled in class.attribute mode.M: /trunk/xsl/html/inline.xsl; M: /trunk/xsl/html/lists.xsl; M: /trunk/xsl/html/table.xsl; M: /trunk/xsl/html/block.xsl; M: /trunk/xsl/html/footnote.xsl - Robert Stayton + + +add class parameter to class.attribute mode to set default class.M: /trunk/xsl/html/html.xsl - Robert Stayton + + +Convert all class attributes to use the class.attribute mode +so class names can be customized more easily.M: /trunk/xsl/html/titlepage.xsl; M: /trunk/xsl/html/chunk-code.xsl; M: /trunk/xsl/html/division.xsl; M: /trunk/xsl/html/sections.xsl; M: /trunk/xsl/html/math.xsl; M: /trunk/xsl/html/block.xsl; M: /trunk/xsl/html/info.xsl; M: /trunk/xsl/html/footnote.xsl; M: /trunk/xsl/html/lists.xsl; M: /trunk/xsl/html/admon.xsl; M: /trunk/xsl/html/refentry.xsl; M: /trunk/xsl/html/qandaset.xsl; M: /trunk/xsl/html/graphics.xsl; M: /trunk/xsl/html/biblio.xsl; M: /trunk/xsl/html/task.xsl; M: /trunk/xsl/html/component.xsl; M: /trunk/xsl/html/glossary.xsl; M: /trunk/xsl/html/callout.xsl; M: /trunk/xsl/html/index.xsl; M: /trunk/xsl/html/synop.xsl; M: /trunk/xsl/html/verbatim.xsl; M: /trunk/xsl/html/ebnf.xsl - Robert Stayton + + +Add class.attribute mode to generate class attributes.M: /trunk/xsl/html/html.xsl - Robert Stayton + + +Added simple.xlink to most remaining inlines. +Changed class attributes to applying class.attributes mode.M: /trunk/xsl/html/inline.xsl - Robert Stayton + + +Changed xref template to use simple.xlink tempalte.M: /trunk/xsl/html/xref.xsl - Robert Stayton + + +Improve generate.html.title to work with link targets too.M: /trunk/xsl/html/html.xsl - Robert Stayton + + +Improved simple.xlink to support link and xref.M: /trunk/xsl/html/inline.xsl - Robert Stayton + + +Use new link.title.attribute now.M: /trunk/xsl/html/xref.xsl - Robert Stayton + + +Rewrote simple.xlink to handle linkend also. +Better computation of title attribute on link too.M: /trunk/xsl/html/inline.xsl - Robert Stayton + + +Handle Xalan quirk as special case.M: /trunk/xsl/html/db5strip.xsl - Robert Stayton + + +Add support for info.M: /trunk/xsl/html/admon.xsl; M: /trunk/xsl/html/autotoc.xsl; M: /trunk/xsl/html/lists.xsl; M: /trunk/xsl/html/refentry.xsl; M: /trunk/xsl/html/biblio.xsl; M: /trunk/xsl/html/qandaset.xsl; M: /trunk/xsl/html/component.xsl; M: /trunk/xsl/html/glossary.xsl; M: /trunk/xsl/html/division.xsl; M: /trunk/xsl/html/index.xsl; M: /trunk/xsl/html/sections.xsl; M: /trunk/xsl/html/table.xsl; M: /trunk/xsl/html/block.xsl - Robert Stayton + + +Fixed imagemaps so they work properly going from calspair coords +to HTML area coords.M: /trunk/xsl/html/graphics.xsl - Robert Stayton + + + + + +Manpages +The following changes have been made to the + manpages code + since the 1.71.1 release. + + +Added doc for man.output.lang.in.name.enabled parameter. This +checkin completes support for writing file/pathnames for man-pages +with $lang include in the names. Closes #1585967. knightly +accolades to Daniel Leidert for providing the feature request.M: /trunk/xsl/manpages/param.xweb; M: /trunk/xsl/manpages/param.ent - Michael(tm) Smith + + +Added new param man.output.lang.in.name.enabled, which +controls whether $LANG value is included in manpages +filenames and pathnames. It works like this: + +If the value of man.output.lang.in.name.enabled is non-zero, +man-page files are output with the $lang value included in +their filenames or pathnames as follows; + +- if man.output.subdirs.enabled is non-zero, each file is + output to, e.g., a /$lang/man8/foo.8 pathname + +- if man.output.subdirs.enabled is zero, each file is output + with a foo.$lang.8 filenameM: /trunk/xsl/manpages/docbook.xsl; M: /trunk/xsl/manpages/other.xsl; M: /trunk/xsl/manpages/utility.xsl - Michael(tm) Smith + + +Use "\e" instead of "\\" for backslash output, because the +groff docs say that's the correct thing to do; also because +testing (thanks, Paul Dubois) shows that "\\" doesn't always +work as expected; for example, "\\" within a table seems to +mess things up.M: /trunk/xsl/manpages/charmap.groff.xsl - Michael(tm) Smith + + +Added the man.string.subst.map.local.pre and +man.string.subst.map.local.post parameters. Those parameters +enable local additions and changes to string-substitution mappings +without the need to change the value of man.string.subst.map +parameter (which is for standard system mappings). Closes +#1456738. Thanks to Sam Steingold for constructing a true +stylesheet torture test (the clisp docs) that exposed the need for +these params.M: /trunk/xsl/manpages/param.xweb; M: /trunk/xsl/manpages/param.ent; M: /trunk/xsl/manpages/other.xsl - Michael(tm) Smith + + +Added the Markup element to the list of elements that get output +in bold. Thanks to Eric S. Raymond.M: /trunk/xsl/manpages/inline.xsl - Michael(tm) Smith + + +Replaced all dots in roff requests with U+2302 ("house" +character), and added escaping in output for all instances of dot +that are not in roff requests. This fixes the problem case where a +string beginning with a dot (for example, the string ".bashrc") +might occur at the beginning of a line in output, in which case +would mistakenly get interpreted as a roff request. Thanks to Eric +S. Raymond for pushing to fix this.M: /trunk/xsl/manpages/table.xsl; M: /trunk/xsl/manpages/synop.xsl; M: /trunk/xsl/manpages/block.xsl; M: /trunk/xsl/manpages/info.xsl; M: /trunk/xsl/manpages/lists.xsl; M: /trunk/xsl/manpages/refentry.xsl; M: /trunk/xsl/manpages/links.xsl; M: /trunk/xsl/manpages/other.xsl; M: /trunk/xsl/manpages/utility.xsl - Michael(tm) Smith + + +Made change to ensure that list content nested in +itemizedlist and orderedlist instances is properly indented. This +is a switch from using .TP to format those lists to using .RS/.RE +to format them instead (because .TP does not allow nesting). Closes bug #1602616. +Thanks to Daniel Leidert.M: /trunk/xsl/manpages/lists.xsl - Michael(tm) Smith + + + + + +Params +The following changes have been made to the + params code + since the 1.71.1 release. + + +Added doc for man.output.lang.in.name.enabled parameter. This +checkin completes support for writing file/pathnames for man-pages +with $lang include in the names. Closes #1585967. knightly +accolades to Daniel Leidert for providing the feature request.A: /trunk/xsl/params/man.output.lang.in.name.enabled.xml - Michael(tm) Smith + + +Added new param man.output.lang.in.name.enabled, which +controls whether $LANG value is included in manpages +filenames and pathnames. It works like this: + +If the value of man.output.lang.in.name.enabled is non-zero, +man-page files are output with the $lang value included in +their filenames or pathnames as follows; + +- if man.output.subdirs.enabled is non-zero, each file is + output to, e.g., a /$lang/man8/foo.8 pathname + +- if man.output.subdirs.enabled is zero, each file is output + with a foo.$lang.8 filenameM: /trunk/xsl/manpages/docbook.xsl; M: /trunk/xsl/manpages/other.xsl; M: /trunk/xsl/manpages/utility.xsl - Michael(tm) Smith + + +Added the man.string.subst.map.local.pre and +man.string.subst.map.local.post parameters. Those parameters +enable local additions and changes to string-substitution mappings +without the need to change the value of man.string.subst.map +parameter (which is for standard system mappings). Closes +#1456738. Thanks to Sam Steingold for constructing a true +stylesheet torture test (the clisp docs) that exposed the need for +these params.A: /trunk/xsl/params/man.string.subst.map.local.post.xml; A: /trunk/xsl/params/man.string.subst.map.local.pre.xml; M: /trunk/xsl/params/man.string.subst.map.xml - Michael(tm) Smith + + +Add index.page.number.properties by default.M: /trunk/xsl/params/xep.index.item.properties.xml - Robert Stayton + + +Added index.page.number.properties to allow customizations of page numbers in indexes.A: /trunk/xsl/params/index.page.number.properties.xml - Robert Stayton + + +Move show-destination="replace" property from template to attribute-set +so it can be customized.M: /trunk/xsl/params/olink.properties.xml - Robert Stayton + + +Add support for sorting glossary entriesA: /trunk/xsl/params/glossary.sort.xml - Robert Stayton + + +Add option to include qanda in tables of contents.A: /trunk/xsl/params/qanda.in.toc.xml - Robert Stayton + + +Moved all properties to attribute-sets so can be customized more easily.M: /trunk/xsl/params/verbatim.properties.xml - Robert Stayton + + + + + +Template +The following changes have been made to the + template code + since the 1.71.1 release. + + +Added workaround for Xalan bug: use for-each and copy instead of copy-of (#1604770).M: /trunk/xsl/template/titlepage.xsl - Mauritz Jeanson + + + + + +Roundtrip +The following changes have been made to the + roundtrip code + since the 1.71.1 release. + + +rename to roundtrip, add OpenOffice supportM: /trunk/xsl/roundtrip/docbook-pages.xsl; M: /trunk/xsl/roundtrip/specifications.xml; A: /trunk/xsl/roundtrip/dbk2ooo.xsl; M: /trunk/xsl/roundtrip/docbook.xsl; A: /trunk/xsl/roundtrip/dbk2pages.xsl; M: /trunk/xsl/roundtrip/template.xml; A: /trunk/xsl/roundtrip/dbk2wordml.xsl; A: /trunk/xsl/roundtrip/dbk2wp.xsl; M: /trunk/xsl/roundtrip/template.dot; M: /trunk/xsl/roundtrip/wordml-final.xsl - Steve Ball + + + + + + +Release: 1.71.1 +This is a minor update to the 1.71.0 release. Along with a +number of bug fixes, it includes two feature changes: + + + + Added support for profiling based on xml:lang and status attributes. + + + Added initial support in manpages output for + footnote, annotation, and alt + instances. Basically, they all now get handled the same way + ulink instances are. They are treated as a class as + "note sources": A numbered marker is generated at the place in the + main text flow where they occur, then their contents are displayed + in an endnotes section at the end of the man page. + + + + + +Common +The following changes have been made to the + common code + since the 1.71.1 release. + + +For backward compatability autoidx-ng.xsl is invoking "kosek" indexing method again.D: /trunk/xsl/common/autoidx-ng.xsl - Jirka Kosek + + +Add support for Xalan generating a root xml:base like saxon.M: /trunk/xsl/common/stripns.xsl - Robert Stayton + + + + + +FO +The following changes have been made to the + fo code + since the 1.71.1 release. + + +For backward compatability autoidx-ng.xsl is invoking "kosek" indexing method again.M: /trunk/xsl/fo/autoidx-ng.xsl; M: /trunk/xsl/fo/autoidx-kosek.xsl - Jirka Kosek + + +Add support for Xalan to add root node xml:base for db5 docs.M: /trunk/xsl/fo/docbook.xsl - Robert Stayton + + +Added support for profiling based on xml:lang and status attributes.M: /trunk/xsl/fo/param.xweb; M: /trunk/xsl/fo/param.ent - Jirka Kosek + + + + + +HTML +The following changes have been made to the + html code + since the 1.71.1 release. + + +For backward compatability autoidx-ng.xsl is invoking "kosek" indexing method again.M: /trunk/xsl/html/autoidx-ng.xsl; M: /trunk/xsl/html/autoidx-kosek.xsl - Jirka Kosek + + +Add support for Xalan to add root node xml:base for db5 docs.M: /trunk/xsl/html/chunk-code.xsl; M: /trunk/xsl/html/docbook.xsl - Robert Stayton + + +Added support for profiling based on xml:lang and status attributes.M: /trunk/xsl/html/param.xweb; M: /trunk/xsl/html/param.ent - Jirka Kosek + + +Made changes in namespace declarations to prevent xmllint's +canonicalizer from treating them as relative namespace URIs. + + - Changed xmlns:k="java:com.isogen.saxoni18n.Saxoni18nService" + to xmlns:k="http://www.isogen.com/functions/com.isogen.saxoni18n.Saxoni18nService"; + Saxon accepts either form + (see http://www.saxonica.com/documentation/extensibility/functions.html); + to Saxon, "the part of the URI before the final '/' is immaterial". + + - Changed, e.g. xmlns:xverb="com.nwalsh.xalan.Verbatim" to + xmlns:xverb="xalan://com.nwalsh.xalan.Verbatim"; Xalan accepts + either form + (see http://xml.apache.org/xalan-j/extensions.html#java-namespace-declare); + just as Saxon does, it will "simply use the string to the + right of the rightmost forward slash as the Java class name". + + - Changed xmlns:xalanredirect="org.apache.xalan.xslt.extensions.Redirect" + to xmlns:redirect="http://xml.apache.org/xalan/redirect", and + adjusted associated code to make the current Xalan redirect spec. + (see http://xml.apache.org/xalan-j/apidocs/org/apache/xalan/lib/Redirect.html)M: /trunk/xsl/html/oldchunker.xsl; M: /trunk/xsl/html/chunker.xsl; M: /trunk/xsl/html/graphics.xsl; M: /trunk/xsl/html/callout.xsl; M: /trunk/xsl/html/autoidx-kimber.xsl; M: /trunk/xsl/html/autoidx-kosek.xsl; M: /trunk/xsl/html/table.xsl; M: /trunk/xsl/html/verbatim.xsl - Michael(tm) Smith + + +Added the html.append and chunk.append parameters. By default, the +value of both is empty; but the internal DocBook XSL stylesheets +build sets their value to "<xsl:text>&#x0a;</xsl:text>", in order +to ensure that all files in the docbook-xsl-doc package end in a +newline character. (Because diff and some other tools may emit +error messages and/or not behave as expected when processing +files that are not newline-terminated.)M: /trunk/xsl/html/chunk-common.xsl; M: /trunk/xsl/html/titlepage.xsl; M: /trunk/xsl/html/param.xweb; M: /trunk/xsl/html/docbook.xsl; M: /trunk/xsl/html/graphics.xsl; M: /trunk/xsl/html/param.ent - Michael(tm) Smith + + + + + +Highlighting +The following changes have been made to the + highlighting code + since the 1.71.1 release. + + +Added license informationM: /trunk/xsl/highlighting/delphi-hl.xml; M: /trunk/xsl/highlighting/myxml-hl.xml; M: /trunk/xsl/highlighting/php-hl.xml; M: /trunk/xsl/highlighting/m2-hl.xml; M: /trunk/xsl/highlighting/ini-hl.xml; M: /trunk/xsl/highlighting/xslthl-config.xml; M: /trunk/xsl/highlighting/java-hl.xml - Jirka Kosek + + + + + +Manpages +The following changes have been made to the + manpages code + since the 1.71.1 release. + + +Added initial support in manpages output for footnote, annotation, +and alt instances. Basically, they all now get handled the same +way ulink instances are. They are treated as a class as "note +sources": A numbered marker is generated at the place in the main +text flow where they occur, then their contents are displayed in +an endnotes section at the end of the man page (currently titled +REFERENCES, for English output, but will be changed to NOTES). + +This support is not yet complete. It works for most "normal" +cases, but probably mishandles a good number of cases. More +testing will be needed to expose the problems. It may well also +introduce some bugs and regressions in other areas, including +basic paragraph handling, handling of "mixed block" content, +handling of other indented content, and handling of authorblurb +and personblurb in the AUTHORS section.M: /trunk/xsl/manpages/table.xsl; M: /trunk/xsl/manpages/block.xsl; M: /trunk/xsl/manpages/docbook.xsl; M: /trunk/xsl/manpages/links.xsl; M: /trunk/xsl/manpages/other.xsl; M: /trunk/xsl/manpages/utility.xsl - Michael(tm) Smith + + + + + +Params +The following changes have been made to the + params code + since the 1.71.1 release. + + +Added support for profiling based on xml:lang and status attributes.A: /trunk/xsl/params/profile.status.xml - Jirka Kosek + + +Added the html.append and chunk.append parameters. By default, the +value of both is empty; but the internal DocBook XSL stylesheets +build sets their value to "<xsl:text>&#x0a;</xsl:text>", in order +to ensure that all files in the docbook-xsl-doc package end in a +newline character. (Because diff and some other tools may emit +error messages and/or not behave as expected when processing +files that are not newline-terminated.)A: /trunk/xsl/params/html.append.xml; A: /trunk/xsl/params/chunk.append.xml - Michael(tm) Smith + + + + + +Profiling +The following changes have been made to the + profiling code + since the 1.71.1 release. + + +Added support for profiling based on xml:lang and status attributes.M: /trunk/xsl/profiling/profile.xsl; M: /trunk/xsl/profiling/profile-mode.xsl - Jirka Kosek + + + + + + + +Release: 1.71.0 +This is mainly a bug fix release, but it also includes two +significant feature changes: + + + Highlighting support added + + The stylesheets now include support for source-code + highlighting in output of programlisting instances (controlled + through the highlight.source + parameter). The Java-based implementation requires Saxon and + makes use of MichalMolhanec’s XSLTHL. More details are available at Jirka Kosek’s + website:
The support is currently limited to highlighting + of XML, Java, PHP, Delphi, Modula-2 sources, and INI + files.
+
+
+ + Changes to autoindexing + + The templates that handle alternative indexing methods + were reworked to avoid errors produced by certain processors not + being able to tolerate the presence of unused functions. With + this release, none of the code for the 'kimber' or 'kosek' + methods is included in the default stylesheets. In order to use + one of those methods, your customization layer must import one + of the optional stylesheet modules: + + + + html/autoidx-kosek.xsl + + + html/autoidx-kimber.xsl + + + fo/autoidx-kosek.xsl + + + fo/autoidx-kimber.xsl + + + See the index.method parameter + reference page for more information. + + Two other changes to note: + + + The default indexing method now can handle accented + characters in latin-based alphabets, not just English. This + means accented latin letters will group and sort with their + unaccented counterpart. + + + The default value for the + index.method parameter was changed + from 'english' to 'basic' because now the default method can + handle latin-based alphabets, not just English. + + + + + +
+The following is a list of changes that have +been made since the 1.70.1 release.
+ + +Common +The following changes have been made to the + common code + since the 1.70.1 release. + + + +Added reference.autolabel parameter for controlling labels on +reference output.M: /trunk/xsl/common/labels.xsl - Michael(tm) Smith + + +Support rows that are *completely* overlapped by the preceding rowM: /trunk/xsl/common/table.xsl - Norman Walsh + + +New modules for supporting indexing extensions.A: /trunk/xsl/common/autoidx-kimber.xsl; A: /trunk/xsl/common/autoidx-kosek.xsl - Robert Stayton + + +Support startinglinenumber on orderedlistM: /trunk/xsl/common/common.xsl - Norman Walsh + + + + + +Extensions +The following changes have been made to the + extensions code + since the 1.70.1 release. + + +Completely reworked extensions build system; now uses NetBeans and antD: /trunk/xsl/extensions/xalan27/.cvsignore; A: /trunk/xsl/extensions/saxon65/nbproject; A: /trunk/xsl/extensions/saxon65/nbproject/project.properties; D: /trunk/xsl/extensions/prj.el; A: /trunk/xsl/extensions/saxon65/src; A: /trunk/xsl/extensions/xalan2/src/com; M: /trunk/xsl/extensions/xalan2/src/com/nwalsh/xalan/Text.java; A: /trunk/xsl/extensions/saxon65/nbproject/project.xml; D: /trunk/xsl/extensions/build.xml; A: /trunk/xsl/extensions/saxon65/build.xml; A: /trunk/xsl/extensions/xalan2/nbproject/genfiles.properties; A: /trunk/xsl/extensions/saxon65; D: /trunk/xsl/extensions/xalan2/com; M: /trunk/xsl/extensions/xalan2/src/com/nwalsh/xalan/Func.java; A: /trunk/xsl/extensions/xalan2/test; A: /trunk/xsl/extensions/saxon65/src/com; A: /trunk/xsl/extensions/xalan2/nbproject/build-impl.xml; A: /trunk/xsl/extensions/xalan2/nbproject; A: /trunk/xsl/extensions/xalan2/src; A: /trunk/xsl/extensions/xalan2/nbproject/project.properties; D: /trunk/xsl/extensions/.cvsignore; M: /trunk/xsl/extensions/Makefile; D: /trunk/xsl/extensions/saxon8; A: /trunk/xsl/extensions/saxon65/nbproject/genfiles.properties; A: /trunk/xsl/extensions/xalan2/nbproject/project.xml; A: /trunk/xsl/extensions/saxon65/test; M: /trunk/xsl/extensions/xalan2/src/com/nwalsh/xalan/Verbatim.java; A: /trunk/xsl/extensions/xalan2/build.xml; M: /trunk/xsl/extensions/xalan2; D: /trunk/xsl/extensions/saxon643; A: /trunk/xsl/extensions/saxon65/nbproject/build-impl.xml - Norman Walsh + + + + + +FO +The following changes have been made to the + fo code + since the 1.70.1 release. + + + +xsl:sort lang attribute now uses two-char substring of lang attribute.M: /trunk/xsl/fo/autoidx-kimber.xsl - Robert Stayton + + + +Support titlecase "Java", "Perl", and "IDL" as values for the +language attribute on classsynopsis, etc. (instead of just +lowercase "java", "perl", and "idl"). Also support "c++" and "C++" +(instead of just "cpp"). + +Affects HTML, FO, and manpages output. Closes bug 1552332. Thanks +to "Brian A. Vanderburg II".M: /trunk/xsl/fo/synop.xsl - Michael(tm) Smith + + + +Added support for the reference.autolabel param in (X)HTML and FO +output.M: /trunk/xsl/fo/param.xweb; M: /trunk/xsl/fo/param.ent - Michael(tm) Smith + + + +Support rows that are *completely* overlapped by the preceding rowM: /trunk/xsl/fo/table.xsl - Norman Walsh + + + +Rearranged templates for the 3 indexing methods +and changed method named 'english' to 'basic'.M: /trunk/xsl/fo/autoidx.xsl - Robert Stayton + + +New modules for supporting indexing extensions.A: /trunk/xsl/fo/autoidx-kimber.xsl; A: /trunk/xsl/fo/autoidx-kosek.xsl - Robert Stayton + + + +Turn off blank-body for fop1.extensions too since fop 0.92 +does not support it either.M: /trunk/xsl/fo/pagesetup.xsl - Robert Stayton + + + +Add Xalan variant to test for exslt:node-set function. +Xalan can use function named node-set(), but doesn't +recognize it using function-available().M: /trunk/xsl/fo/autoidx.xsl - Robert Stayton + + + +Added support to FO stylesheets for handling instances of Org +where it occurs outside of *info content. In HTML stylesheets, +moved handling of Org out of info.xsl and into inline.xsl. In both +FO and HTML stylesheets, added support for correctly processing +Affiliation and Jobtitle.M: /trunk/xsl/fo/inline.xsl - Michael(tm) Smith + + +Don't output punctuation between Refname and Refpurpose if +Refpurpose is empty. Also corrected handling of Refsect2/title +instances, and removed some debugging stuff that was generated in +manpages output to mark the ends of sections.M: /trunk/xsl/fo/refentry.xsl - Michael(tm) Smith + + +Added new email.delimiters.enabled param. If non-zero (the +default), delimiters are generated around e-mail addresses (output +of the email element). If zero, the delimiters are suppressed.M: /trunk/xsl/fo/inline.xsl; M: /trunk/xsl/fo/param.xweb; M: /trunk/xsl/fo/param.ent - Michael(tm) Smith + + + +Initial support of syntax highlighting of programlistings.M: /trunk/xsl/fo/param.ent; M: /trunk/xsl/fo/param.xweb; A: /trunk/xsl/fo/highlight.xsl; M: /trunk/xsl/fo/verbatim.xsl - Jirka Kosek + + +Chapter after preface should restart numbering of pages.M: /trunk/xsl/fo/pagesetup.xsl - Jirka Kosek + + + + + +HTML +The following changes have been made to the + html code + since the 1.70.1 release. + + + +xsl:sort lang attribute now uses two-char substring of lang attribute.M: /trunk/xsl/html/autoidx-kimber.xsl - Robert Stayton + + +Support titlecase "Java", "Perl", and "IDL" as values for the +language attribute on classsynopsis, etc. (instead of just +lowercase "java", "perl", and "idl"). Also support "c++" and "C++" +(instead of just "cpp"). + +Affects HTML, FO, and manpages output. Closes bug 1552332. Thanks +to "Brian A. Vanderburg II".M: /trunk/xsl/html/synop.xsl - Michael(tm) Smith + + + +Added support for the reference.autolabel param in (X)HTML and FO +output.M: /trunk/xsl/html/param.xweb; M: /trunk/xsl/html/param.ent - Michael(tm) Smith + + +Support rows that are *completely* overlapped by the preceding rowM: /trunk/xsl/html/table.xsl - Norman Walsh + + + +Rearranged templates for the 3 indexing methods +and changed method named 'english' to 'basic'.M: /trunk/xsl/html/autoidx.xsl - Robert Stayton + + +New modules for supporting indexing extensions.A: /trunk/xsl/html/autoidx-kimber.xsl; A: /trunk/xsl/html/autoidx-kosek.xsl - Robert Stayton + + + +Added several new HTML parameters for controlling appearance of +content on HTML title pages: + +contrib.inline.enabled: + If non-zero (the default), output of the contrib element is + displayed as inline content rather than as block content. + +othercredit.like.author.enabled: + If non-zero, output of the othercredit element on titlepages is + displayed in the same style as author and editor output. If zero + (the default), othercredit output is displayed using a style + different than that of author and editor. + +blurb.on.titlepage.enabled: + If non-zero, output from authorblurb and personblurb elements is + displayed on title pages. If zero (the default), output from + those elements is suppressed on title pages (unless you are + using a titlepage customization that causes them to be included). + +editedby.enabled + If non-zero (the default), a localized Edited by heading is + displayed above editor names in output of the editor element.M: /trunk/xsl/html/titlepage.xsl; M: /trunk/xsl/html/param.xweb; M: /trunk/xsl/html/param.ent - Michael(tm) Smith + + + +Add Xalan variant to test for exslt:node-set function. +Xalan can use function named node-set(), but doesn't +recognize it using function-available().M: /trunk/xsl/html/autoidx.xsl - Robert Stayton + + + +Added support to FO stylesheets for handling instances of Org +where it occurs outside of *info content. In HTML stylesheets, +moved handling of Org out of info.xsl and into inline.xsl. In both +FO and HTML stylesheets, added support for correctly processing +Affiliation and Jobtitle.M: /trunk/xsl/html/inline.xsl; M: /trunk/xsl/html/info.xsl - Michael(tm) Smith + + +Don't output punctuation between Refname and Refpurpose if +Refpurpose is empty. Also corrected handling of Refsect2/title +instances, and removed some debugging stuff that was generated in +manpages output to mark the ends of sections.M: /trunk/xsl/html/refentry.xsl - Michael(tm) Smith + + +Added new email.delimiters.enabled param. If non-zero (the +default), delimiters are generated around e-mail addresses (output +of the email element). If zero, the delimiters are suppressed.M: /trunk/xsl/html/inline.xsl; M: /trunk/xsl/html/param.xweb; M: /trunk/xsl/html/param.ent - Michael(tm) Smith + + + +Added qanda.nested.in.toc param. Default value is zero. If +non-zero, instances of "nested" Qandaentry (ones that are children +of Answer elements) are displayed in the TOC. Closes patch 1509018 +(from Daniel Leidert). Currently on affects HTML output (no patch +for FO output provided).M: /trunk/xsl/html/param.xweb; M: /trunk/xsl/html/param.ent; M: /trunk/xsl/html/qandaset.xsl - Michael(tm) Smith + + + + +Improved handling of relative locations generated filesM: /trunk/xsl/html/html.xsl - Jirka Kosek + + + +Initial support of syntax highlighting of programlistings.M: /trunk/xsl/html/param.ent; M: /trunk/xsl/html/param.xweb; A: /trunk/xsl/html/highlight.xsl; M: /trunk/xsl/html/verbatim.xsl - Jirka Kosek + + +Support orgM: /trunk/xsl/html/info.xsl - Norman Walsh + + +Support personM: /trunk/xsl/html/inline.xsl - Norman Walsh + + +Support $keep.relative.image.uris also when chunkingM: /trunk/xsl/html/chunk-code.xsl - Jirka Kosek + + + + + +Highlighting +The following changes have been made to the + highlighting code + since the 1.70.1 release. + + + +Initial support of syntax highlighting of programlistings.A: /trunk/xsl/highlighting/php-hl.xml; A: /trunk/xsl/highlighting/common.xsl; A: /trunk/xsl/highlighting/delphi-hl.xml; A: /trunk/xsl/highlighting/myxml-hl.xml; A: /trunk/xsl/highlighting/m2-hl.xml; A: /trunk/xsl/highlighting/ini-hl.xml; A: /trunk/xsl/highlighting/xslthl-config.xml; A: /trunk/xsl/highlighting/java-hl.xml - Jirka Kosek + + + + + +Manpages +The following changes have been made to the + manpages code + since the 1.70.1 release. + + + +Suppress footnote markers and output warning that footnotes are +not yet supported.M: /trunk/xsl/manpages/docbook.xsl; M: /trunk/xsl/manpages/links.xsl; M: /trunk/xsl/manpages/other.xsl - Michael(tm) Smith + + + +Handle instances of address/otheraddr/ulink in author et al in the +same way as email instances; that is, display them on the same +linke as the author, editor, etc., name.M: /trunk/xsl/manpages/info.xsl - Michael(tm) Smith + + +Don't number or link-list any Ulink instance whose string value is +identical to the value of its url attribute. Just display it inline.M: /trunk/xsl/manpages/links.xsl - Michael(tm) Smith + + + +Don't output punctuation between Refname and Refpurpose if +Refpurpose is empty. Also corrected handling of Refsect2/title +instances, and removed some debugging stuff that was generated in +manpages output to mark the ends of sections.M: /trunk/xsl/manpages/refentry.xsl - Michael(tm) Smith + + +Added new email.delimiters.enabled param. If non-zero (the +default), delimiters are generated around e-mail addresses (output +of the email element). If zero, the delimiters are suppressed.M: /trunk/xsl/manpages/param.xweb; M: /trunk/xsl/manpages/param.ent - Michael(tm) Smith + + + +In manpages output, if the last/nearest *info element for +particular Refentry has multiple Copyright and/or Legalnotice +children, process them all (not just the first ones). Closes bug +1524576. Thanks to Sam Steingold for the report and to Daniel +Leidert for providing a patch.M: /trunk/xsl/manpages/info.xsl - Michael(tm) Smith + + + + + + +Params +The following changes have been made to the + params code + since the 1.70.1 release. + + +Added reference.autolabel parameter for controlling labels on +reference output.A: /trunk/xsl/params/reference.autolabel.xml - Michael(tm) Smith + + +Added namespace declarations to document elements for all param files.M: /trunk/xsl/params/toc.line.properties.xml; M: /trunk/xsl/params/title.font.family.xml; M: /trunk/xsl/params/component.label.includes.part.label.xml; M: /trunk/xsl/params/refentry.manual.profile.xml; M: /trunk/xsl/params/orderedlist.properties.xml; M: /trunk/xsl/params/olink.pubid.xml; M: /trunk/xsl/params/informalexample.properties.xml; M: /trunk/xsl/params/appendix.autolabel.xml; M: /trunk/xsl/params/htmlhelp.show.toolbar.text.xml; M: /trunk/xsl/params/index.on.role.xml; M: /trunk/xsl/params/htmlhelp.button.jump2.url.xml; M: /trunk/xsl/params/variablelist.term.separator.xml; M: /trunk/xsl/params/para.propagates.style.xml; M: /trunk/xsl/params/html.stylesheet.xml; M: /trunk/xsl/params/qanda.nested.in.toc.xml; M: /trunk/xsl/params/annotation.css.xml; M: /trunk/xsl/params/funcsynopsis.style.xml; M: /trunk/xsl/params/htmlhelp.encoding.xml; M: /trunk/xsl/params/footer.content.properties.xml; M: /trunk/xsl/params/verbatim.properties.xml; M: /trunk/xsl/params/autotoc.label.in.hyperlink.xml; M: /trunk/xsl/params/body.margin.top.xml; M: /trunk/xsl/params/bibliography.numbered.xml; M: /trunk/xsl/params/figure.properties.xml; M: /trunk/xsl/params/variablelist.max.termlength.xml; M: /trunk/xsl/params/table.cell.border.style.xml; M: /trunk/xsl/params/htmlhelp.button.options.xml; M: /trunk/xsl/params/preferred.mediaobject.role.xml; M: /trunk/xsl/params/htmlhelp.chm.xml; M: /trunk/xsl/params/man.charmap.subset.profile.xml; M: /trunk/xsl/params/qanda.title.level3.properties.xml; M: /trunk/xsl/params/page.width.xml; M: /trunk/xsl/params/firstterm.only.link.xml; M: /trunk/xsl/params/section.level6.properties.xml; M: /trunk/xsl/params/htmlhelp.button.locate.xml; M: /trunk/xsl/params/chunk.sections.xml; M: /trunk/xsl/params/use.local.olink.style.xml; M: /trunk/xsl/params/refentry.date.profile.enabled.xml; M: /trunk/xsl/params/refentry.version.suppress.xml; M: /trunk/xsl/params/refentry.generate.title.xml; M: /trunk/xsl/params/punct.honorific.xml; M: /trunk/xsl/params/column.gap.index.xml; M: /trunk/xsl/params/body.start.indent.xml; M: /trunk/xsl/params/crop.mark.width.xml; M: /trunk/xsl/params/refentry.version.profile.enabled.xml; M: /trunk/xsl/params/superscript.properties.xml; M: /trunk/xsl/params/chunker.output.doctype-public.xml; M: /trunk/xsl/params/saxon.character.representation.xml; M: /trunk/xsl/params/saxon.linenumbering.xml; M: /trunk/xsl/params/shade.verbatim.style.xml; M: /trunk/xsl/params/annotate.toc.xml; M: /trunk/xsl/params/profile.attribute.xml; M: /trunk/xsl/params/callout.graphics.number.limit.xml; M: /trunk/xsl/params/profile.arch.xml; M: /trunk/xsl/params/saxon.tablecolumns.xml; M: /trunk/xsl/params/glossterm.auto.link.xml; M: /trunk/xsl/params/default.units.xml; M: /trunk/xsl/params/qanda.title.level1.properties.xml; M: /trunk/xsl/params/list.block.spacing.xml; M: /trunk/xsl/params/section.level4.properties.xml; M: /trunk/xsl/params/spacing.paras.xml; M: /trunk/xsl/params/column.count.index.xml; M: /trunk/xsl/params/dingbat.font.family.xml; M: /trunk/xsl/params/citerefentry.link.xml; M: /trunk/xsl/params/keep.relative.image.uris.xml; M: /trunk/xsl/params/ulink.footnotes.xml; M: /trunk/xsl/params/prefer.internal.olink.xml; M: /trunk/xsl/params/refentry.title.properties.xml; M: /trunk/xsl/params/variablelist.term.break.after.xml; M: /trunk/xsl/params/use.id.function.xml; M: /trunk/xsl/params/callout.unicode.start.character.xml; M: /trunk/xsl/params/column.gap.titlepage.xml; M: /trunk/xsl/params/editedby.enabled.xml; M: /trunk/xsl/params/funcsynopsis.tabular.threshold.xml; M: /trunk/xsl/params/use.extensions.xml; M: /trunk/xsl/params/index.preferred.page.properties.xml; M: /trunk/xsl/params/man.th.extra3.max.length.xml; M: /trunk/xsl/params/column.gap.back.xml; M: /trunk/xsl/params/tex.math.delims.xml; M: /trunk/xsl/params/article.appendix.title.properties.xml; M: /trunk/xsl/params/ulink.target.xml; M: /trunk/xsl/params/suppress.header.navigation.xml; M: /trunk/xsl/params/olink.resolver.xml; M: /trunk/xsl/params/admon.textlabel.xml; M: /trunk/xsl/params/procedure.properties.xml; M: /trunk/xsl/params/blurb.on.titlepage.enabled.xml; M: /trunk/xsl/params/section.level2.properties.xml; M: /trunk/xsl/params/column.gap.front.xml; M: /trunk/xsl/params/margin.note.title.properties.xml; M: /trunk/xsl/params/glossary.collection.xml; M: /trunk/xsl/params/admon.graphics.xml; M: /trunk/xsl/params/current.docid.xml; M: /trunk/xsl/params/qanda.inherit.numeration.xml; M: /trunk/xsl/params/table.cell.padding.xml; M: /trunk/xsl/params/preface.autolabel.xml; M: /trunk/xsl/params/man.th.extra3.suppress.xml; M: /trunk/xsl/params/wordml.template.xml; M: /trunk/xsl/params/htmlhelp.use.hhk.xml; M: /trunk/xsl/params/textinsert.extension.xml; M: /trunk/xsl/params/ebnf.table.bgcolor.xml; M: /trunk/xsl/params/refentry.source.fallback.profile.xml; M: /trunk/xsl/params/body.font.master.xml; M: /trunk/xsl/params/l10n.gentext.default.language.xml; M: /trunk/xsl/params/list.block.properties.xml; M: /trunk/xsl/params/refentry.source.name.suppress.xml; M: /trunk/xsl/params/htmlhelp.hhp.window.xml; M: /trunk/xsl/params/sidebar.properties.xml; M: /trunk/xsl/params/tex.math.file.xml; M: /trunk/xsl/params/man.justify.xml; M: /trunk/xsl/params/subscript.properties.xml; M: /trunk/xsl/params/column.count.front.xml; M: /trunk/xsl/params/index.term.separator.xml; M: /trunk/xsl/params/biblioentry.properties.xml; M: /trunk/xsl/params/biblioentry.item.separator.xml; M: /trunk/xsl/params/htmlhelp.button.home.url.xml; M: /trunk/xsl/params/column.count.body.xml; M: /trunk/xsl/params/suppress.navigation.xml; M: /trunk/xsl/params/htmlhelp.remember.window.position.xml; M: /trunk/xsl/params/htmlhelp.hhc.section.depth.xml; M: /trunk/xsl/params/xref.with.number.and.title.xml; M: /trunk/xsl/params/make.year.ranges.xml; M: /trunk/xsl/params/region.before.extent.xml; M: /trunk/xsl/params/xref.label-page.separator.xml; M: /trunk/xsl/params/html.longdesc.link.xml; M: /trunk/xsl/params/man.subheading.divider.enabled.xml; M: /trunk/xsl/params/index.entry.properties.xml; M: /trunk/xsl/params/generate.legalnotice.link.xml; M: /trunk/xsl/params/section.autolabel.xml; M: /trunk/xsl/params/html.base.xml; M: /trunk/xsl/params/suppress.footer.navigation.xml; M: /trunk/xsl/params/nominal.image.depth.xml; M: /trunk/xsl/params/table.footnote.number.symbols.xml; M: /trunk/xsl/params/table.footnote.number.format.xml; M: /trunk/xsl/params/callout.graphics.xml; M: /trunk/xsl/params/man.break.after.slash.xml; M: /trunk/xsl/params/function.parens.xml; M: /trunk/xsl/params/part.autolabel.xml; M: /trunk/xsl/params/saxon.callouts.xml; M: /trunk/xsl/params/css.decoration.xml; M: /trunk/xsl/params/htmlhelp.button.home.xml; M: /trunk/xsl/params/email.delimiters.enabled.xml; M: /trunk/xsl/params/column.count.lot.xml; M: /trunk/xsl/params/draft.mode.xml; M: /trunk/xsl/params/use.role.for.mediaobject.xml; M: /trunk/xsl/params/refentry.separator.xml; M: /trunk/xsl/params/man.font.funcsynopsisinfo.xml; M: /trunk/xsl/params/man.output.manifest.filename.xml; M: /trunk/xsl/params/process.empty.source.toc.xml; M: /trunk/xsl/params/man.output.in.separate.dir.xml; M: /trunk/xsl/params/graphicsize.use.img.src.path.xml; M: /trunk/xsl/params/man.output.encoding.xml; M: /trunk/xsl/params/column.gap.lot.xml; M: /trunk/xsl/params/profile.role.xml; M: /trunk/xsl/params/column.count.titlepage.xml; M: /trunk/xsl/params/show.comments.xml; M: /trunk/xsl/params/informalfigure.properties.xml; M: /trunk/xsl/params/entry.propagates.style.xml; M: /trunk/xsl/params/bibliography.collection.xml; M: /trunk/xsl/params/contrib.inline.enabled.xml; M: /trunk/xsl/params/section.title.level5.properties.xml; M: /trunk/xsl/params/fop.extensions.xml; M: /trunk/xsl/params/htmlhelp.button.jump1.xml; M: /trunk/xsl/params/man.hyphenate.urls.xml; M: /trunk/xsl/params/profile.condition.xml; M: /trunk/xsl/params/header.column.widths.xml; M: /trunk/xsl/params/annotation.js.xml; M: /trunk/xsl/params/chunker.output.standalone.xml; M: /trunk/xsl/params/targets.filename.xml; M: /trunk/xsl/params/default.float.class.xml; M: /trunk/xsl/params/chapter.autolabel.xml; M: /trunk/xsl/params/sidebar.float.type.xml; M: /trunk/xsl/params/profile.separator.xml; M: /trunk/xsl/params/generate.index.xml; M: /trunk/xsl/params/nongraphical.admonition.properties.xml; M: /trunk/xsl/params/navig.graphics.xml; M: /trunk/xsl/params/htmlhelp.button.next.xml; M: /trunk/xsl/params/insert.olink.pdf.frag.xml; M: /trunk/xsl/params/htmlhelp.button.stop.xml; M: /trunk/xsl/params/footnote.font.size.xml; M: /trunk/xsl/params/profile.value.xml; M: /trunk/xsl/params/ebnf.table.border.xml; M: /trunk/xsl/params/htmlhelp.hhc.folders.instead.books.xml; M: /trunk/xsl/params/glossary.as.blocks.xml; M: /trunk/xsl/params/body.end.indent.xml; M: /trunk/xsl/params/use.role.as.xrefstyle.xml; M: /trunk/xsl/params/man.indent.blurbs.xml; M: /trunk/xsl/params/chunker.output.encoding.xml; M: /trunk/xsl/params/chunker.output.omit-xml-declaration.xml; M: /trunk/xsl/params/sans.font.family.xml; M: /trunk/xsl/params/html.cleanup.xml; M: /trunk/xsl/params/htmlhelp.hhp.xml; M: /trunk/xsl/params/htmlhelp.only.xml; M: /trunk/xsl/params/eclipse.plugin.name.xml; M: /trunk/xsl/params/section.title.level3.properties.xml; M: /trunk/xsl/params/man.th.extra1.suppress.xml; M: /trunk/xsl/params/chunk.section.depth.xml; M: /trunk/xsl/params/htmlhelp.hhp.tail.xml; M: /trunk/xsl/params/sidebar.title.properties.xml; M: /trunk/xsl/params/hyphenate.xml; M: /trunk/xsl/params/paper.type.xml; M: /trunk/xsl/params/chunk.tocs.and.lots.has.title.xml; M: /trunk/xsl/params/symbol.font.family.xml; M: /trunk/xsl/params/page.margin.bottom.xml; M: /trunk/xsl/params/callout.unicode.number.limit.xml; M: /trunk/xsl/params/itemizedlist.properties.xml; M: /trunk/xsl/params/root.filename.xml; M: /trunk/xsl/params/tablecolumns.extension.xml; M: /trunk/xsl/params/htmlhelp.show.favorities.xml; M: /trunk/xsl/params/informaltable.properties.xml; M: /trunk/xsl/params/revhistory.table.cell.properties.xml; M: /trunk/xsl/params/htmlhelp.default.topic.xml; M: /trunk/xsl/params/compact.list.item.spacing.xml; M: /trunk/xsl/params/page.height.portrait.xml; M: /trunk/xsl/params/html.head.legalnotice.link.types.xml; M: /trunk/xsl/params/passivetex.extensions.xml; M: /trunk/xsl/params/orderedlist.label.properties.xml; M: /trunk/xsl/params/othercredit.like.author.enabled.xml; M: /trunk/xsl/params/header.content.properties.xml; M: /trunk/xsl/params/refentry.meta.get.quietly.xml; M: /trunk/xsl/params/section.properties.xml; M: /trunk/xsl/params/htmlhelp.button.hideshow.xml; M: /trunk/xsl/params/simplesect.in.toc.xml; M: /trunk/xsl/params/chunk.quietly.xml; M: /trunk/xsl/params/htmlhelp.enumerate.images.xml; M: /trunk/xsl/params/section.title.level1.properties.xml; M: /trunk/xsl/params/qanda.defaultlabel.xml; M: /trunk/xsl/params/htmlhelp.enhanced.decompilation.xml; M: /trunk/xsl/params/man.th.title.max.length.xml; M: /trunk/xsl/params/footnote.number.format.xml; M: /trunk/xsl/params/body.margin.bottom.xml; M: /trunk/xsl/params/htmlhelp.window.geometry.xml; M: /trunk/xsl/params/htmlhelp.button.jump2.xml; M: /trunk/xsl/params/use.svg.xml; M: /trunk/xsl/params/qanda.title.level6.properties.xml; M: /trunk/xsl/params/collect.xref.targets.xml; M: /trunk/xsl/params/html.extra.head.links.xml; M: /trunk/xsl/params/variablelist.as.table.xml; M: /trunk/xsl/params/man.indent.width.xml; M: /trunk/xsl/params/eclipse.plugin.id.xml; M: /trunk/xsl/params/linenumbering.width.xml; M: /trunk/xsl/params/axf.extensions.xml; M: /trunk/xsl/params/menuchoice.separator.xml; M: /trunk/xsl/params/glossterm.separation.xml; M: /trunk/xsl/params/htmlhelp.autolabel.xml; M: /trunk/xsl/params/chunk.separate.lots.xml; M: /trunk/xsl/params/man.hyphenate.computer.inlines.xml; M: /trunk/xsl/params/linenumbering.separator.xml; M: /trunk/xsl/params/htmlhelp.title.xml; M: /trunk/xsl/params/index.number.separator.xml; M: /trunk/xsl/params/htmlhelp.button.prev.xml; M: /trunk/xsl/params/refentry.manual.fallback.profile.xml; M: /trunk/xsl/params/table.frame.border.color.xml; M: /trunk/xsl/params/footnote.sep.leader.properties.xml; M: /trunk/xsl/params/hyphenate.verbatim.characters.xml; M: /trunk/xsl/params/table.cell.border.thickness.xml; M: /trunk/xsl/params/template.xml; M: /trunk/xsl/params/margin.note.properties.xml; M: /trunk/xsl/params/man.segtitle.suppress.xml; M: /trunk/xsl/params/generate.toc.xml; M: /trunk/xsl/params/formal.object.properties.xml; M: /trunk/xsl/params/footnote.mark.properties.xml; M: /trunk/xsl/params/header.table.height.xml; M: /trunk/xsl/params/htmlhelp.button.back.xml; M: /trunk/xsl/params/qanda.title.level4.properties.xml; M: /trunk/xsl/params/man.links.are.numbered.xml; M: /trunk/xsl/params/manual.toc.xml; M: /trunk/xsl/params/olink.lang.fallback.sequence.xml; M: /trunk/xsl/params/refentry.manual.profile.enabled.xml; M: /trunk/xsl/params/ulink.hyphenate.chars.xml; M: /trunk/xsl/params/manifest.xml; M: /trunk/xsl/params/olink.fragid.xml; M: /trunk/xsl/params/refentry.date.profile.xml; M: /trunk/xsl/params/linenumbering.extension.xml; M: /trunk/xsl/params/component.title.properties.xml; M: /trunk/xsl/params/alignment.xml; M: /trunk/xsl/params/refentry.version.profile.xml; M: /trunk/xsl/params/ebnf.assignment.xml; M: /trunk/xsl/params/htmlhelp.button.print.xml; M: /trunk/xsl/params/annotation.support.xml; M: /trunk/xsl/params/sidebar.float.width.xml; M: /trunk/xsl/params/normal.para.spacing.xml; M: /trunk/xsl/params/xref.title-page.separator.xml; M: /trunk/xsl/params/callout.unicode.font.xml; M: /trunk/xsl/params/default.table.frame.xml; M: /trunk/xsl/params/pages.template.xml; M: /trunk/xsl/params/htmlhelp.button.zoom.xml; M: /trunk/xsl/params/admonition.title.properties.xml; M: /trunk/xsl/params/callout.graphics.extension.xml; M: /trunk/xsl/params/make.valid.html.xml; M: /trunk/xsl/params/qanda.title.level2.properties.xml; M: /trunk/xsl/params/page.margin.top.xml; M: /trunk/xsl/params/xep.index.item.properties.xml; M: /trunk/xsl/params/section.level5.properties.xml; M: /trunk/xsl/params/line-height.xml; M: /trunk/xsl/params/table.cell.border.color.xml; M: /trunk/xsl/params/qandadiv.autolabel.xml; M: /trunk/xsl/params/xref.label-title.separator.xml; M: /trunk/xsl/params/chunk.tocs.and.lots.xml; M: /trunk/xsl/params/man.font.funcprototype.xml; M: /trunk/xsl/params/process.source.toc.xml; M: /trunk/xsl/params/page.orientation.xml; M: /trunk/xsl/params/refentry.generate.name.xml; M: /trunk/xsl/params/navig.showtitles.xml; M: /trunk/xsl/params/table.table.properties.xml; M: /trunk/xsl/params/arbortext.extensions.xml; M: /trunk/xsl/params/informalequation.properties.xml; M: /trunk/xsl/params/headers.on.blank.pages.xml; M: /trunk/xsl/params/table.footnote.properties.xml; M: /trunk/xsl/params/root.properties.xml; M: /trunk/xsl/params/htmlhelp.display.progress.xml; M: /trunk/xsl/params/htmlhelp.hhp.windows.xml; M: /trunk/xsl/params/graphical.admonition.properties.xml; M: /trunk/xsl/params/refclass.suppress.xml; M: /trunk/xsl/params/profile.conformance.xml; M: /trunk/xsl/params/htmlhelp.button.forward.xml; M: /trunk/xsl/params/segmentedlist.as.table.xml; M: /trunk/xsl/params/margin.note.float.type.xml; M: /trunk/xsl/params/man.table.footnotes.divider.xml; M: /trunk/xsl/params/man.output.quietly.xml; M: /trunk/xsl/params/htmlhelp.hhc.show.root.xml; M: /trunk/xsl/params/footers.on.blank.pages.xml; M: /trunk/xsl/params/crop.mark.offset.xml; M: /trunk/xsl/params/olink.doctitle.xml; M: /trunk/xsl/params/section.level3.properties.xml; M: /trunk/xsl/params/callout.unicode.xml; M: /trunk/xsl/params/formal.procedures.xml; M: /trunk/xsl/params/toc.section.depth.xml; M: /trunk/xsl/params/index.prefer.titleabbrev.xml; M: /trunk/xsl/params/nominal.image.width.xml; M: /trunk/xsl/params/htmlhelp.show.menu.xml; M: /trunk/xsl/params/linenumbering.everyNth.xml; M: /trunk/xsl/params/double.sided.xml; M: /trunk/xsl/params/generate.revhistory.link.xml; M: /trunk/xsl/params/olink.properties.xml; M: /trunk/xsl/params/tex.math.in.alt.xml; M: /trunk/xsl/params/man.output.subdirs.enabled.xml; M: /trunk/xsl/params/section.title.properties.xml; M: /trunk/xsl/params/column.count.back.xml; M: /trunk/xsl/params/toc.indent.width.xml; M: /trunk/xsl/params/man.charmap.uri.xml; M: /trunk/xsl/params/index.method.xml; M: /trunk/xsl/params/generate.section.toc.level.xml; M: /trunk/xsl/params/page.width.portrait.xml; M: /trunk/xsl/params/man.th.extra2.max.length.xml; M: /trunk/xsl/params/abstract.properties.xml; M: /trunk/xsl/params/revhistory.table.properties.xml; M: /trunk/xsl/params/nominal.table.width.xml; M: /trunk/xsl/params/ulink.show.xml; M: /trunk/xsl/params/htmlhelp.button.jump1.title.xml; M: /trunk/xsl/params/index.div.title.properties.xml; M: /trunk/xsl/params/profile.userlevel.xml; M: /trunk/xsl/params/html.cellpadding.xml; M: /trunk/xsl/params/orderedlist.label.width.xml; M: /trunk/xsl/params/crop.marks.xml; M: /trunk/xsl/params/menuchoice.menu.separator.xml; M: /trunk/xsl/params/author.othername.in.middle.xml; M: /trunk/xsl/params/section.level1.properties.xml; M: /trunk/xsl/params/textdata.default.encoding.xml; M: /trunk/xsl/params/label.from.part.xml; M: /trunk/xsl/params/use.embed.for.svg.xml; M: /trunk/xsl/params/list.item.spacing.xml; M: /trunk/xsl/params/htmlhelp.hhc.width.xml; M: /trunk/xsl/params/column.gap.body.xml; M: /trunk/xsl/params/rootid.xml; M: /trunk/xsl/params/glosslist.as.blocks.xml; M: /trunk/xsl/params/index.range.separator.xml; M: /trunk/xsl/params/html.ext.xml; M: /trunk/xsl/params/callout.list.table.xml; M: /trunk/xsl/params/highlight.source.xml; M: /trunk/xsl/params/show.revisionflag.xml; M: /trunk/xsl/params/man.output.manifest.enabled.xml; M: /trunk/xsl/params/make.single.year.ranges.xml; M: /trunk/xsl/params/pgwide.properties.xml; M: /trunk/xsl/params/generate.id.attributes.xml; M: /trunk/xsl/params/emphasis.propagates.style.xml; M: /trunk/xsl/params/abstract.title.properties.xml; M: /trunk/xsl/params/htmlhelp.hhc.xml; M: /trunk/xsl/params/monospace.properties.xml; M: /trunk/xsl/params/htmlhelp.hhk.xml; M: /trunk/xsl/params/table.borders.with.css.xml; M: /trunk/xsl/params/man.links.are.underlined.xml; M: /trunk/xsl/params/profile.vendor.xml; M: /trunk/xsl/params/shade.verbatim.xml; M: /trunk/xsl/params/callout.graphics.path.xml; M: /trunk/xsl/params/olink.debug.xml; M: /trunk/xsl/params/make.graphic.viewport.xml; M: /trunk/xsl/params/footnote.number.symbols.xml; M: /trunk/xsl/params/man.charmap.enabled.xml; M: /trunk/xsl/params/page.height.xml; M: /trunk/xsl/params/htmlhelp.button.jump1.url.xml; M: /trunk/xsl/params/man.font.table.title.xml; M: /trunk/xsl/params/revhistory.title.properties.xml; M: /trunk/xsl/params/chunker.output.media-type.xml; M: /trunk/xsl/params/glossterm.width.xml; M: /trunk/xsl/params/points.per.em.xml; M: /trunk/xsl/params/page.margin.inner.xml; M: /trunk/xsl/params/itemizedlist.label.width.xml; M: /trunk/xsl/params/ulink.hyphenate.xml; M: /trunk/xsl/params/crop.mark.bleed.xml; M: /trunk/xsl/params/use.id.as.filename.xml; M: /trunk/xsl/params/section.title.level6.properties.xml; M: /trunk/xsl/params/highlight.default.language.xml; M: /trunk/xsl/params/man.th.extra2.suppress.xml; M: /trunk/xsl/params/id.warnings.xml; M: /trunk/xsl/params/title.margin.left.xml; M: /trunk/xsl/params/chunker.output.doctype-system.xml; M: /trunk/xsl/params/man.indent.verbatims.xml; M: /trunk/xsl/params/table.frame.border.thickness.xml; M: /trunk/xsl/params/monospace.verbatim.properties.xml; M: /trunk/xsl/params/formal.title.properties.xml; M: /trunk/xsl/params/margin.note.width.xml; M: /trunk/xsl/params/man.hyphenate.filenames.xml; M: /trunk/xsl/params/blockquote.properties.xml; M: /trunk/xsl/params/callout.defaultcolumn.xml; M: /trunk/xsl/params/profile.security.xml; M: /trunk/xsl/params/informal.object.properties.xml; M: /trunk/xsl/params/formal.title.placement.xml; M: /trunk/xsl/params/draft.watermark.image.xml; M: /trunk/xsl/params/equation.properties.xml; M: /trunk/xsl/params/body.font.family.xml; M: /trunk/xsl/params/ignore.image.scaling.xml; M: /trunk/xsl/params/chunk.first.sections.xml; M: /trunk/xsl/params/base.dir.xml; M: /trunk/xsl/params/footnote.properties.xml; M: /trunk/xsl/params/olink.outline.ext.xml; M: /trunk/xsl/params/img.src.path.xml; M: /trunk/xsl/params/qanda.title.properties.xml; M: /trunk/xsl/params/ebnf.statement.terminator.xml; M: /trunk/xsl/params/callouts.extension.xml; M: /trunk/xsl/params/manifest.in.base.dir.xml; M: /trunk/xsl/params/fop1.extensions.xml; M: /trunk/xsl/params/olink.sysid.xml; M: /trunk/xsl/params/section.title.level4.properties.xml; M: /trunk/xsl/params/monospace.font.family.xml; M: /trunk/xsl/params/l10n.gentext.language.xml; M: /trunk/xsl/params/graphic.default.extension.xml; M: /trunk/xsl/params/default.image.width.xml; M: /trunk/xsl/params/htmlhelp.button.refresh.xml; M: /trunk/xsl/params/chunker.output.cdata-section-elements.xml; M: /trunk/xsl/params/admon.graphics.path.xml; M: /trunk/xsl/params/admon.style.xml; M: /trunk/xsl/params/profile.revision.xml; M: /trunk/xsl/params/generate.manifest.xml; M: /trunk/xsl/params/html.longdesc.xml; M: /trunk/xsl/params/footer.rule.xml; M: /trunk/xsl/params/eclipse.plugin.provider.xml; M: /trunk/xsl/params/refentry.source.name.profile.xml; M: /trunk/xsl/params/toc.max.depth.xml; M: /trunk/xsl/params/chunker.output.indent.xml; M: /trunk/xsl/params/html.head.legalnotice.link.multiple.xml; M: /trunk/xsl/params/toc.list.type.xml; M: /trunk/xsl/params/link.mailto.url.xml; M: /trunk/xsl/params/table.properties.xml; M: /trunk/xsl/params/side.float.properties.xml; M: /trunk/xsl/params/man.charmap.use.subset.xml; M: /trunk/xsl/params/annotation.graphic.open.xml; M: /trunk/xsl/params/html.cellspacing.xml; M: /trunk/xsl/params/default.table.width.xml; M: /trunk/xsl/params/xep.extensions.xml; M: /trunk/xsl/params/admonition.properties.xml; M: /trunk/xsl/params/toc.margin.properties.xml; M: /trunk/xsl/params/chunk.toc.xml; M: /trunk/xsl/params/table.entry.padding.xml; M: /trunk/xsl/params/header.rule.xml; M: /trunk/xsl/params/glossentry.show.acronym.xml; M: /trunk/xsl/params/variablelist.as.blocks.xml; M: /trunk/xsl/params/man.hyphenate.xml; M: /trunk/xsl/params/refentry.source.name.profile.enabled.xml; M: /trunk/xsl/params/section.label.includes.component.label.xml; M: /trunk/xsl/params/bridgehead.in.toc.xml; M: /trunk/xsl/params/section.title.level2.properties.xml; M: /trunk/xsl/params/admon.graphics.extension.xml; M: /trunk/xsl/params/inherit.keywords.xml; M: /trunk/xsl/params/insert.xref.page.number.xml; M: /trunk/xsl/params/pixels.per.inch.xml; M: /trunk/xsl/params/refentry.pagebreak.xml; M: /trunk/xsl/params/profile.lang.xml; M: /trunk/xsl/params/insert.olink.page.number.xml; M: /trunk/xsl/params/generate.meta.abstract.xml; M: /trunk/xsl/params/graphicsize.extension.xml; M: /trunk/xsl/params/man.indent.lists.xml; M: /trunk/xsl/params/funcsynopsis.decoration.xml; M: /trunk/xsl/params/runinhead.title.end.punct.xml; M: /trunk/xsl/params/man.string.subst.map.xml; M: /trunk/xsl/params/man.links.list.enabled.xml; M: /trunk/xsl/params/section.autolabel.max.depth.xml; M: /trunk/xsl/params/htmlhelp.show.advanced.search.xml; M: /trunk/xsl/params/htmlhelp.map.file.xml; M: /trunk/xsl/params/l10n.gentext.use.xref.language.xml; M: /trunk/xsl/params/body.font.size.xml; M: /trunk/xsl/params/html.stylesheet.type.xml; M: /trunk/xsl/params/refentry.xref.manvolnum.xml; M: /trunk/xsl/params/runinhead.default.title.end.punct.xml; M: /trunk/xsl/params/navig.graphics.extension.xml; M: /trunk/xsl/params/itemizedlist.label.properties.xml; M: /trunk/xsl/params/htmlhelp.force.map.and.alias.xml; M: /trunk/xsl/params/profile.os.xml; M: /trunk/xsl/params/htmlhelp.alias.file.xml; M: /trunk/xsl/params/page.margin.outer.xml; M: /trunk/xsl/params/annotation.graphic.close.xml; M: /trunk/xsl/params/eclipse.autolabel.xml; M: /trunk/xsl/params/table.frame.border.style.xml; M: /trunk/xsl/params/navig.graphics.path.xml; M: /trunk/xsl/params/htmlhelp.hhc.binary.xml; M: /trunk/xsl/params/index.on.type.xml; M: /trunk/xsl/params/target.database.document.xml; M: /trunk/xsl/params/man.subheading.divider.xml; M: /trunk/xsl/params/chunker.output.method.xml; M: /trunk/xsl/params/make.index.markup.xml; M: /trunk/xsl/params/olink.base.uri.xml; M: /trunk/xsl/params/phrase.propagates.style.xml; M: /trunk/xsl/params/man.indent.refsect.xml; M: /trunk/xsl/params/example.properties.xml; M: /trunk/xsl/params/man.font.table.headings.xml; M: /trunk/xsl/params/profile.revisionflag.xml; M: /trunk/xsl/params/region.after.extent.xml; M: /trunk/xsl/params/qanda.title.level5.properties.xml; M: /trunk/xsl/params/marker.section.level.xml; M: /trunk/xsl/params/footer.table.height.xml; M: /trunk/xsl/params/autotoc.label.separator.xml; M: /trunk/xsl/params/footer.column.widths.xml; M: /trunk/xsl/params/hyphenate.verbatim.xml; M: /trunk/xsl/params/xref.properties.xml; M: /trunk/xsl/params/man.output.base.dir.xml; M: /trunk/xsl/params/man.links.list.heading.xml; M: /trunk/xsl/params/insert.link.page.number.xml; M: /trunk/xsl/params/htmlhelp.button.jump2.title.xml; M: /trunk/xsl/params/l10n.lang.value.rfc.compliant.xml - Michael(tm) Smith + + +Updated index.method doc to describe revised setup for importing index extensions.M: /trunk/xsl/params/index.method.xml - Robert Stayton + + +Added several new HTML parameters for controlling appearance of +content on HTML title pages: + +contrib.inline.enabled: + If non-zero (the default), output of the contrib element is + displayed as inline content rather than as block content. + +othercredit.like.author.enabled: + If non-zero, output of the othercredit element on titlepages is + displayed in the same style as author and editor output. If zero + (the default), othercredit output is displayed using a style + different than that of author and editor. + +blurb.on.titlepage.enabled: + If non-zero, output from authorblurb and personblurb elements is + displayed on title pages. If zero (the default), output from + those elements is suppressed on title pages (unless you are + using a titlepage customization that causes them to be included). + +editedby.enabled + If non-zero (the default), a localized Edited by heading is + displayed above editor names in output of the editor element.A: /trunk/xsl/params/contrib.inline.enabled.xml; A: /trunk/xsl/params/blurb.on.titlepage.enabled.xml; A: /trunk/xsl/params/othercredit.like.author.enabled.xml; A: /trunk/xsl/params/editedby.enabled.xml - Michael(tm) Smith + + +Added new email.delimiters.enabled param. If non-zero (the +default), delimiters are generated around e-mail addresses (output +of the email element). If zero, the delimiters are suppressed.A: /trunk/xsl/params/email.delimiters.enabled.xml - Michael(tm) Smith + + + +Added qanda.nested.in.toc param. Default value is zero. If +non-zero, instances of "nested" Qandaentry (ones that are children +of Answer elements) are displayed in the TOC. Closes patch 1509018 +(from Daniel Leidert). Currently on affects HTML output (no patch +for FO output provided).A: /trunk/xsl/params/qanda.nested.in.toc.xml - Michael(tm) Smith + + + +Initial support of syntax highlighting of programlistings.A: /trunk/xsl/params/highlight.source.xml; A: /trunk/xsl/params/highlight.default.language.xml - Jirka Kosek + + + + + +Tools +The following changes have been made to the + tools code + since the 1.70.1 release. + + + +Racheted down font sizes of headings in example makefile FO output.M: /trunk/xsl/tools/make/Makefile.DocBook - Michael(tm) Smith + + +Added param and attribute set to example makefile, for getting +wrapping in verbatims in FO output.M: /trunk/xsl/tools/make/Makefile.DocBook - Michael(tm) Smith + + +Renamed Makefile.paramDoc to Makefile.docParam.A: /trunk/xsl/tools/make/Makefile.docParam; D: /trunk/xsl/tools/make/Makefile.paramDoc - Michael(tm) Smith + + +Added Makefile.paramDoc file, for creating versions of param.xsl +files with doc embedded.A: /trunk/xsl/tools/make/Makefile.paramDoc - Michael(tm) Smith + + +Added variable to example makefile for controlling whether HTML or +XHTML is generated.M: /trunk/xsl/tools/make/Makefile.DocBook - Michael(tm) Smith + + + + +
+ + +Release: 1.70.1 + +This is a stable release of the 1.70 stylesheets. It includes only a +few small changes from 1.70.0. + +The following is a list of changes that have been made + since the 1.70.0 release. + + +FO +The following changes have been made to the + fo code + since the 1.70.0 release. + + +Added three new attribute sets (revhistory.title.properties, revhistory.table.properties and revhistory.table.cell.properties) for controlling appearance of revhistory in FO output. +Modified: fo/block.xsl,1.34; fo/param.ent,1.101; fo/param.xweb,1.114; fo/titlepage.xsl,1.41; params/revhistory.table.cell.properties.xml,1.1; params/revhistory.table.properties.xml,1.1; params/revhistory.title.properties.xml,1.1 - Jirka Kosek + + +Support DBv5 revisions with full author name (not only authorinitials) +Modified: fo/block.xsl,1.33; fo/titlepage.xsl,1.40 - Jirka Kosek + + + + + +HTML +The following changes have been made to the + html code + since the 1.70.0 release. + + +Support DBv5 revisions with full author name (not only authorinitials) +Modified: html/block.xsl,1.23; html/titlepage.xsl,1.34 - Jirka Kosek + + + + + +HTMLHelp +The following changes have been made to the + htmlhelp code + since the 1.70.0 release. + + +htmlhelp.generate.index is now param, not variable. This means that you can override its setting from outside. This is useful when you generate indexterms on the fly (see http://www.xml.com/pub/a/2004/07/14/dbndx.html?page=3). +Modified: htmlhelp/htmlhelp-common.xsl,1.38 - Jirka Kosek + + +Support chunk.tocs.and.lots in HTML Help +Modified: htmlhelp/htmlhelp-common.xsl,1.37 - Jirka Kosek + + + + + +Params +The following changes have been made to the + params code + since the 1.70.0 release. + + +Added three new attribute sets (revhistory.title.properties, revhistory.table.properties and revhistory.table.cell.properties) for controlling appearance of revhistory in FO output. +Modified: fo/block.xsl,1.34; fo/param.ent,1.101; fo/param.xweb,1.114; fo/titlepage.xsl,1.41; params/revhistory.table.cell.properties.xml,1.1; params/revhistory.table.properties.xml,1.1; params/revhistory.title.properties.xml,1.1 - Jirka Kosek + + + + + + + +Release: 1.70.0 +As with all DocBook Project dot-zero +releases, this is an experimental release. It will be followed shortly +by a stable release. + +This release adds a number of new features, +including: + + + + support for selecting alternative index-collation methods + (in particular, support for using a collation library developed by + Eliot Kimber) + + + improved handling of DocBook 5 document instances (through a + namespace-stripping mechanism) + + + full support for CALS and HTML tables in manpages + output + + + a mechanism for preserving relative URIs in documents that + make use of XInclude + + + support for the "new" .90 version of + FOP + + + enhanced capabilities for controlling formatting of lists in HTML + and FO output + + + autogeneration of AUTHOR and COPYRIGHT sections in manpages + output + + + support for generating crop marks in FO/PDF output + + + support for qandaset as a root element in FO output + + + support for floatstyle and orient on all table types + + + support for floatstyle in figure, and example + + + pgwide.properties attribute-set supports extending figure, + example and table into the left indent area instead of spanning + multiple columns. + + + The following is a detailed list of enhancements and API + changes that have been made since the 1.69.1 release. + + +Common +The following changes have been made to the + common code + since the 1.69.1 release. + + +Add the xsl:key for the kimber +indexing method. +Modified: common/autoidx-ng.xsl,1.2 - Robert +Stayton + + +Add support for +qandaset. +Modified: common/labels.xsl,1.37; +common/subtitles.xsl,1.7; common/titles.xsl,1.35 - Robert +Stayton + + +Support dbhtml/dbfo start PI for +orderedlist numbering in both HTML and +FO +Modified: common/common.xsl,1.61; html/lists.xsl,1.50 - Norman +Walsh + + +Added CVS +header. +Modified: common/stripns.xsl,1.12 - Robert +Stayton + + +Changed content model of text +element to ANY rather than #PCDATA because they could contain +markup. +Modified: common/targetdatabase.dtd,1.7 - Robert +Stayton + + +Added +refentry.meta.get.quietly param. +If zero (the +default), notes and warnings about "missing" markup are generated +during gathering of refentry metadata. If +non-zero, the metadata is gathered "quietly" -- that is, the +notes and warnings are suppressed. +NOTE: If you are +processing a large amount of refentry content, you +may be able to speed up processing significantly by setting a +non-zero value for +refentry.meta.get.quietly. +Modified: common/refentry.xsl,1.17; +manpages/param.ent,1.15; manpages/param.xweb,1.17; +params/refentry.meta.get.quietly.xml,1.1 - Michael(tm) +Smith + + +After namespace stripping, the +source document is the temporary tree created by the stripping +process and it has the wrong base URI for relative +references. Earlier versions of this code used to try to fix that +by patching the elements with relative @fileref attributes. That +was inadequate because it calculated an absolute base URI +without considering that there might be xml:base attributes +already in effect. It seems obvious now that the right thing to +do is simply to put the xml:base on the root of the document. And +that seems to work. +Modified: common/stripns.xsl,1.7 - Norman +Walsh + + +Added support for "software" and +"sectdesc" class values on refmiscinfo; "software" is +treated identically to "source", and "setdesc" is treated +identically to "manual". +Modified: common/refentry.xsl,1.10; +params/man.th.extra2.max.length.xml,1.3; +params/refentry.source.name.profile.xml,1.4 - Michael(tm) +Smith + + +Added support for DocBook 5 +namespace-stripping in manpages stylesheet. Closes request +#1210692. +Modified: common/common.xsl,1.56; manpages/docbook.xsl,1.57 - +Michael(tm) Smith + + +Added <xsl:template +match="/"> to make stripns.xsl usable as a standalone +stylesheet for stripping out DocBook 5/NG to DocBook 4. Note that +DocBook XSLT drivers that include this stylesheet all override +the match="/" template. +Modified: common/stripns.xsl,1.4 - Michael(tm) +Smith + + +Number figures, examples, and +tables from book if there is no prefix (i.e. if +chapter.autolabel is set to 0). This avoids +having the list of figures where the figures mysteriously restart +their numeration periodically when +chapter.autolabel is set to +0. +Modified: common/labels.xsl,1.36 - David Cramer + + +Add task template in +title.markup mode. +Modified: common/titles.xsl,1.34 - Robert +Stayton + + +Add children (with ids) of formal +objects to target data. +Modified: common/targets.xsl,1.10 - Robert +Stayton + + +Added support for case when +personname doesn't contain specific name markup (as allowed +in DocBook 5.0) +Modified: common/common.xsl,1.54 - Jirka +Kosek + + + + + +Extensions +The following changes have been made to the + extensions code + since the 1.69.1 release. + + +Support Xalan +2.7 +Modified: extensions/xalan27/.cvsignore,1.1; +extensions/xalan27/build.xml,1.1; +extensions/xalan27/nbproject/.cvsignore,1.1; +extensions/xalan27/nbproject/build-impl.xml,1.1; +extensions/xalan27/nbproject/genfiles.properties,1.1; +extensions/xalan27/nbproject/project.properties,1.1; +extensions/xalan27/nbproject/project.xml,1.1; +extensions/xalan27/src/com/nwalsh/xalan/CVS.java,1.1; +extensions/xalan27/src/com/nwalsh/xalan/Callout.java,1.1; +extensions/xalan27/src/com/nwalsh/xalan/FormatCallout.java,1.1; +extensions/xalan27/src/com/nwalsh/xalan/FormatDingbatCallout.java,1.1; +extensions/xalan27/src/com/nwalsh/xalan/FormatGraphicCallout.java,1.1; +extensions/xalan27/src/com/nwalsh/xalan/FormatTextCallout.java,1.1; +extensions/xalan27/src/com/nwalsh/xalan/FormatUnicodeCallout.java,1.1; +extensions/xalan27/src/com/nwalsh/xalan/Func.java,1.1; +extensions/xalan27/src/com/nwalsh/xalan/ImageIntrinsics.java,1.1; +extensions/xalan27/src/com/nwalsh/xalan/Params.java,1.1; +extensions/xalan27/src/com/nwalsh/xalan/Table.java,1.1; +extensions/xalan27/src/com/nwalsh/xalan/Text.java,1.1; +extensions/xalan27/src/com/nwalsh/xalan/Verbatim.java,1.1 - Norman +Walsh + + +Handle the case where the imageFn +is actually a URI. This still needs +work. +Modified: extensions/saxon643/com/nwalsh/saxon/ImageIntrinsics.java,1.4 +- Norman Walsh + + + + + +FO +The following changes have been made to the + fo code + since the 1.69.1 release. + + +Adapted to the new indexing +code. Now works just like a wrapper that calls kosek indexing method, +originally implemented here. +Modified: fo/autoidx-ng.xsl,1.5 - Jirka +Kosek + + +Added parameters for header/footer +table minimum height. +Modified: fo/pagesetup.xsl,1.60; +fo/param.ent,1.100; fo/param.xweb,1.113 - Robert +Stayton + + +Add the index.method +parameter. +Modified: fo/param.ent,1.99; fo/param.xweb,1.112 - Robert +Stayton + + +Integrate support for three +indexing methods: - the original English-only method. - +Jirka Kosek's method using EXSLT extensions. - Eliot Kimber's +method using Saxon extensions. Use the 'index.method' +parameter to select. +Modified: fo/autoidx.xsl,1.38 - Robert +Stayton + + +Add support for TOC for +qandaset in fo output. +Modified: fo/autotoc.xsl,1.30; +fo/qandaset.xsl,1.20 - Robert Stayton + + +Added parameter +ulink.hyphenate.chars. Added parameter +insert.link.page.number. +Modified: fo/param.ent,1.98; +fo/param.xweb,1.111 - Robert Stayton + + +Implemented feature request +#942524 to add insert.link.page.number to allow link +element cross references to have a page number. +Modified: fo/xref.xsl,1.67 - +Robert Stayton + + +Add support for +ulink.hyphenate.chars so more characters +can be break points in urls. +Modified: fo/xref.xsl,1.66 - Robert +Stayton + + +Implemented patch #1075144 to make +the url text in a ulink in FO output an active link as +well. +Modified: fo/xref.xsl,1.65 - Robert Stayton + + +table footnotes now +have their own table.footnote.properties +attribute set. +Modified: fo/footnote.xsl,1.23 - Robert +Stayton + + +Add qandaset to +root.elements. +Modified: fo/docbook.xsl,1.41 - Robert +Stayton + + +Added mode="page.sequence" to make +it easier to put content into a page sequence. First used for +qandaset. +Modified: fo/component.xsl,1.37 - Robert +Stayton + + +Implemented feature request +#1434408 to support formatting +of biblioentry. +Modified: fo/biblio.xsl,1.35 - Robert +Stayton + + +Added +biblioentry.properties. +Modified: fo/param.ent,1.97; +fo/param.xweb,1.110 - Robert Stayton + + +Support PTC/Arbortext +bookmarks +Modified: fo/docbook.xsl,1.40; fo/ptc.xsl,1.1 - Norman +Walsh + + +Added +table.footnote.properties to permit +table footnotes to format differently from regular +footnotes. +Modified: fo/param.ent,1.96; fo/param.xweb,1.109 - Robert +Stayton + + +Refactored table +templates to unify their processing and support all options in +all types. Now table and informaltable, in +both Cals and Html markup, use the same templates where possible, +and all support pgwide, rotation, and floats. There is also a +placeholder table.container template to +support wrapping a table in a layout table, +so the XEP table title "continued" +extension can be more easily implemented. +Modified: fo/formal.xsl,1.52; +fo/htmltbl.xsl,1.9; fo/table.xsl,1.48 - Robert +Stayton + + +Added new attribute set +toc.line.properties for controlling appearance of lines in +ToC/LoT +Modified: fo/autotoc.xsl,1.29; fo/param.ent,1.95; +fo/param.xweb,1.108 - Jirka Kosek + + +Added support for float to example +and equation. Added support for pgwide to +figure, example, and equation (the latter +two via a dbfo pgwide="1" processing +instruction). +Modified: fo/formal.xsl,1.51 - Robert +Stayton + + +Add pgwide.properties +attribute-set. +Modified: fo/param.ent,1.94; fo/param.xweb,1.107 - Robert +Stayton + + +Added refclass.suppress +param. +If the value of refclass.suppress is +non-zero, then display refclass contents is suppressed +in output. Affects HTML and FO output +only. +Modified: fo/param.ent,1.93; fo/param.xweb,1.106; html/param.ent,1.90; +html/param.xweb,1.99; params/refclass.suppress.xml,1.1 - Michael(tm) +Smith + + +Improved support for +task subelements +Modified: fo/task.xsl,1.3; html/task.xsl,1.3 - +Jirka Kosek + + +Adjusted spacing around +K&R-formatted Funcdef and Paramdef +output such that it can more easily be discerned where one ends +and the other begins. Closes #1213264. +Modified: fo/synop.xsl,1.18 - +Michael(tm) Smith + + +Made handling of +paramdef/parameter in FO output consistent with that in HTML and +manpages output. Closes #1213259. +Modified: fo/synop.xsl,1.17 - Michael(tm) +Smith + + +Made handling of +Refnamediv consistent with formatting in HTML +and manpages output; specifically, changed so that +Refname (comma-separated list of multiple instances +found) is used (instead of Refentrytitle as +previously), then em-dash, then the Refpurpose. Closes +#1212562. +Modified: fo/refentry.xsl,1.30 - Michael(tm) +Smith + + +Added output of +Releaseinfo to recto titlepage ("copyright" +page) for Book in FO output. This makes it consistent +with HTML output. Closes #1327034. Thanks to Paul DuBois for +reporting. +Modified: fo/titlepage.templates.xml,1.28 - Michael(tm) +Smith + + +Added condition for setting +block-progression-dimension.minimum on table-row, instead of +height, when fop1.extensions is +non-zero. For an explanation of the reason for the change, +see: http://wiki.apache.org/xmlgraphics-fop/Troubleshooting/CommonLogMessages +Modified: fo/pagesetup.xsl,1.59 +- Michael(tm) Smith + + +Added new +refclass.suppress param for suppressing display +of Refclass in HTML and FO output. Did not add it to +manpages because manpages stylesheet is currently just silently +ignoring Refclass anyway. Closes request +#1461065. Thanks to Davor Ocelic (docelic) for +reporting. +Modified: fo/refentry.xsl,1.29; html/refentry.xsl,1.23 - +Michael(tm) Smith + + +Add support for keep-together PI +to informal objects. +Modified: fo/formal.xsl,1.50 - Robert +Stayton + + +Add support for +fop1.extensions. +Modified: fo/formal.xsl,1.49; +fo/graphics.xsl,1.44; fo/table.xsl,1.47 - Robert +Stayton + + +Add support for fop1 +bookmarks. +Modified: fo/docbook.xsl,1.39 - Robert +Stayton + + +Add fop1.extentions parameter to +add support for fop development version. +Modified: fo/param.ent,1.92; +fo/param.xweb,1.105 - Robert Stayton + + +Start supporting fop development +version, which will become fop version 1. +Modified: fo/fop1.xsl,1.1 - +Robert Stayton + + +Add template for task +in mode="xref-to". +Modified: fo/xref.xsl,1.63; html/xref.xsl,1.57 - Robert +Stayton + + +table footnotes now +also get footnote.properties +attribute-set. +Modified: fo/footnote.xsl,1.22 - Robert +Stayton + + +Added index.separator +named template to compute the separator punctuation based on +locale. +Modified: fo/autoidx.xsl,1.36 - Robert Stayton + + +Added support for link, +olink, and xref within OO +Classsynopsis and children. (Because DocBook NG/5 +allows it). +Modified: fo/synop.xsl,1.15; html/synop.xsl,1.19 - Michael(tm) +Smith + + +Support date as an +inline +Modified: fo/inline.xsl,1.43; html/inline.xsl,1.46 - Norman +Walsh + + +Added new parameter +keep.relative.image.uris +Modified: fo/param.ent,1.91; +fo/param.xweb,1.104; html/param.ent,1.87; html/param.xweb,1.96; +params/keep.relative.image.uris.xml,1.1 - Norman +Walsh + + +Map Unicode space characters +U+2000-U+200A to fo:leaders. +Modified: fo/docbook.xsl,1.38; +fo/passivetex.xsl,1.4; fo/spaces.xsl,1.1 - Jirka +Kosek + + +Output a real em dash for em-dash +dingbat (instead of two hypens). +Modified: fo/fo.xsl,1.7 - Michael(tm) +Smith + + +Support default label +width parameters for itemized and ordered lists +Modified: fo/lists.xsl,1.64; +fo/param.ent,1.90; fo/param.xweb,1.103; +params/itemizedlist.label.width.xml,1.1; +params/orderedlist.label.width.xml,1.1 - Norman +Walsh + + +Generate localized +title for Refsynopsisdiv if no +appropriate Title descendant found in source. Closes +#1212398. This change makes behavior for the Synopsis +title consistent with the behavior of HTML and +manpages output. +Also, added +xsl:use-attribute-sets="normal.para.spacing" to +block generated for Cmdsynopsis output. Previously, +that block had no spacing at all specified, which resulted it +being crammed up to closely to the Synopsis +head. +Modified: fo/refentry.xsl,1.28; fo/synop.xsl,1.13 - Michael(tm) +Smith + + +Added parameters to support +localization of index +item punctuation. +Modified: fo/autoidx.xsl,1.35 - Robert +Stayton + + +Added +index.number.separator, +index.range.separator, +and index.term.separator parameters to +support localization of punctuation in index +entries. +Modified: fo/param.ent,1.89; fo/param.xweb,1.102 - Robert +Stayton + + +Added "Cross References" +section in HTML doc (for consistency with the FO +doc). Also, moved the existing FO "Cross +References" section to follow the "Linking" +section. +Modified: fo/param.xweb,1.101; html/param.xweb,1.95 - +Michael(tm) Smith + + +Added ID attribues to all +Reference elements (e.g., id="tables" for the doc for +section on Table params). So pages for +all subsections of ref docs now have stable filenames instead +of arbitrary generated filenames. +Modified: fo/param.xweb,1.100; +html/param.xweb,1.94 - Michael(tm) Smith + + +Added two new parameters for +handling of multi-term +varlistentry elements: +variablelist.term.break.after: +When the variablelist.term.break.after is +non-zero, it will generate a line break after each +term multi-term +varlistentry. +variablelist.term.separator: +When a varlistentry contains multiple term +elements, the string specified in the value of the +variablelist.term.separator parameter is +placed after each term except the last. The default +is ", " (a comma followed by a space). To suppress rendering of +the separator, set the value of +variablelist.term.separator to the empty +string (""). +These parameters are primarily intended to be +useful if you have multi-term varlistentries that have long +terms. +Closes #1306676. Thanks to Sam Steingold for +providing an example "lots of long terms" doc that demonstrated +the value of having these options. +Also, added +normalize-space() call to processing of each +term. +This change affects all output formats +(HTML, PDF, manpages). The default behavior should pretty much +remain the same as before, but it is possible (as always) that +the change may introduce some +new bugginess. +Modified: fo/lists.xsl,1.62; fo/param.ent,1.88; +fo/param.xweb,1.99; html/lists.xsl,1.48; html/param.ent,1.86; +html/param.xweb,1.93; manpages/lists.xsl,1.22; +manpages/param.ent,1.14; manpages/param.xweb,1.16; +params/variablelist.term.break.after.xml,1.1; +params/variablelist.term.separator.xml,1.1 - Michael(tm) +Smith + + +Add sidebar titlepage +placeholder attset for styles. +Modified: fo/titlepage.xsl,1.37 - Robert +Stayton + + +Add titlepage for +sidebar. +Modified: fo/titlepage.templates.xml,1.27 - Robert +Stayton + + +Implemented RFE +#1292615. +Added bunch of new parameters (attribute sets) +that affect list presentation: list.block.properties, +itemizedlist.properties, orderedlist.properties, +itemizedlist.label.properties and +orderedlist.label.properties. Default behaviour +of stylesheets has not been changed but further customizations will be +much more easier. +Modified: fo/lists.xsl,1.61; fo/param.ent,1.87; +fo/param.xweb,1.98; params/itemizedlist.label.properties.xml,1.1; +params/itemizedlist.properties.xml,1.1; +params/list.block.properties.xml,1.1; +params/orderedlist.label.properties.xml,1.1; +params/orderedlist.properties.xml,1.1 - Jirka +Kosek + + +Implemented RFE +#1242092. +You can enable crop marks in your document by +setting crop.marks=1 and xep.extensions=1. Appearance of crop +marks can be controlled by parameters +crop.mark.bleed (6pt), +crop.mark.offset (24pt) and +crop.mark.width (0.5pt). +Also there +is new named template called user-xep-pis. You can overwrite it in +order to produce some PIs that can control XEP as described in +http://www.renderx.com/reference.html#Output_Formats +Modified: fo/docbook.xsl,1.36; +fo/param.ent,1.86; fo/param.xweb,1.97; fo/xep.xsl,1.23; +params/crop.mark.bleed.xml,1.1; params/crop.mark.offset.xml,1.1; +params/crop.mark.width.xml,1.1; params/crop.marks.xml,1.1 - Jirka +Kosek + + + + + +HTML +The following changes have been made to the + html code + since the 1.69.1 release. + + +implemented +index.method parameter and three +methods. +Modified: html/autoidx.xsl,1.28 - Robert +Stayton + + +added index.method +parameter to support 3 indexing methods. +Modified: html/param.ent,1.94; +html/param.xweb,1.103 - Robert Stayton + + +Implemented feature request +#1072510 as a processing instruction to permit including external +HTML content into HTML output. +Modified: html/pi.xsl,1.9 - Robert +Stayton + + +Added new parameter +chunk.tocs.and.lots.has.title which +controls presence of title in a separate chunk with +ToC/LoT. Disabling title can be very useful if you are +generating frameset output (well, yes those frames, but some customers +really want them ;-). +Modified: html/chunk-code.xsl,1.15; +html/param.ent,1.93; html/param.xweb,1.102; +params/chunk.tocs.and.lots.has.title.xml,1.1 - Jirka +Kosek + + +Support dbhtml/dbfo start PI for +orderedlist numbering in both HTML and +FO +Modified: common/common.xsl,1.61; html/lists.xsl,1.50 - Norman +Walsh + + +Allow ToC without +title also for set and +book. +Modified: html/autotoc.xsl,1.37; html/division.xsl,1.12 - +Jirka Kosek + + +Implemented floats uniformly for +figure, example, equation +and informalfigure, informalexample, and +informalequation. +Modified: html/formal.xsl,1.22 - Robert +Stayton + + +Added the +autotoc.label.in.hyperlink param. +If the value +of autotoc.label.in.hyperlink is non-zero, labels +are included in hyperlinked titles in the TOC. If it +is instead zero, labels are still displayed prior to the +hyperlinked titles, but are not hyperlinked along with the +titles. +Closes patch #1065868. Thanks to anatoly techtonik +for the patch. +Modified: html/autotoc.xsl,1.36; html/param.ent,1.92; +html/param.xweb,1.101; params/autotoc.label.in.hyperlink.xml,1.1 - +Michael(tm) Smith + + +Added two new params: +html.head.legalnotice.link.types +and html.head.legalnotice.link.multiple. +If +the value of the generate.legalnotice.link is +non-zero, then the stylesheet generates (in the head +section of the HTML source) either a single HTML +link element or, if the value of +the html.head.legalnotice.link.multiple is +non-zero, one link element for each link +type specified. Each link has the +following attributes: + - a rel attribute whose value +is derived from the value of +html.head.legalnotice.link.types + - +an href attribute whose value is set to the URL of the file +containing the legalnotice + - a title +attribute whose value is set to the title of the +corresponding legalnotice (or a title +programatically determined by the stylesheet) +For +example: + <link rel="copyright" +href="ln-id2524073.html" title="Legal Notice"> +Closes +#1476450. Thanks to Sam Steingold. +Modified: html/chunk-common.xsl,1.45; +html/param.ent,1.91; html/param.xweb,1.100; +params/generate.legalnotice.link.xml,1.4; +params/html.head.legalnotice.link.multiple.xml,1.1; +params/html.head.legalnotice.link.types.xml,1.1 - Michael(tm) +Smith + + +Added refclass.suppress +param. +If the value of refclass.suppress is +non-zero, then display refclass contents is suppressed +in output. Affects HTML and FO output +only. +Modified: fo/param.ent,1.93; fo/param.xweb,1.106; html/param.ent,1.90; +html/param.xweb,1.99; params/refclass.suppress.xml,1.1 - Michael(tm) +Smith + + +Improved support for +task subelements +Modified: fo/task.xsl,1.3; html/task.xsl,1.3 - +Jirka Kosek + + +Added new +refclass.suppress param for suppressing display +of Refclass in HTML and FO output. Did not add it to +manpages because manpages stylesheet is currently just silently +ignoring Refclass anyway. Closes request +#1461065. Thanks to Davor Ocelic (docelic) for +reporting. +Modified: fo/refentry.xsl,1.29; html/refentry.xsl,1.23 - +Michael(tm) Smith + + +Process alt text with +normalize-space(). Replace tab indents with +spaces. +Modified: html/graphics.xsl,1.57 - Robert +Stayton + + +Content of citation +element is automatically linked to the bibliographic entry +with the corresponding abbrev. +Modified: html/biblio.xsl,1.26; +html/inline.xsl,1.47; html/xref.xsl,1.58 - Jirka +Kosek + + +Add template for task +in mode="xref-to". +Modified: fo/xref.xsl,1.63; html/xref.xsl,1.57 - Robert +Stayton + + +Suppress ID warnings if the +.warnings parameter is 0 +Modified: html/html.xsl,1.17 - Norman +Walsh + + +Add support for floatstyle to +figure. +Modified: html/formal.xsl,1.21 - Robert +Stayton + + +Handling of xref to +area/areaset need support in extensions code also. I currently have no +time to touch extensions code, so code is here to be enabled when +extension is fixed also. +Modified: html/xref.xsl,1.56 - Jirka +Kosek + + +Added 3 parameters for overriding +gentext for index +punctuation. +Modified: html/param.ent,1.89; html/param.xweb,1.98 - Robert +Stayton + + +Added parameters to support +localization of index item punctuation. Added +index.separator named template to compute +the separator punctuation based on +locale. +Modified: html/autoidx.xsl,1.27 - Robert +Stayton + + +Added a <div +class="{$class}-contents"> wrapper around output of contents +of all formal objects. Also, added an optional <br +class="{class}-break"/> linebreak after all formal +objects. +WARNING: Because this change places an additional +DIV between the DIV wrapper for the equation and the +equation contents, it may break some existing CSS +stylesheets that have been created with the assumption that there +would never be an intervening DIV there. +The following is +an example of what Equation output looks like as a +result of the changes described above. + <div +class="equation"> <a name="three" +id="three"></a> + <p +class="title"><b>(1.3)</b></p> + +<div class="equation-contents"> <span +class="mathphrase">1+1=3</span> +</div> </div><br +class="equation-break"> +Rationale: These changes allow +CSS control of the placement of the formal-object +title relative to the formal-object +contents. For example, using the CSS "float" property +enables the title and contents to be rendered on the +same line. Example stylesheet: + .equation +{ margin-top: 20px; margin-bottom: 20px; } +.equation-contents { float: left; } + +.equation .title { margin-top: 0; +float: right; margin-right: 200px; } + +.equation .title b { font-weight: +normal; } + .equation-break { clear: both; +} +Note that the purpose of the ".equation-break" class is +to provide a way to clear off the floats. +If you want +to instead have the equation title rendered to +the left of the equation contents, you can do +something like this: + .equation { +margin-top: 20px; width: 300px; margin-bottom: 20px; +} .equation-contents { float: right; } + +.equation .title { margin-top: 0; +float: left; margin-right: 200px; } + +.equation .title b { font-weight: +normal; } + .equation-break { clear: both; +} +Modified: html/formal.xsl,1.20 - Michael(tm) Smith + + +Added a chunker.output.quiet +top-level parameter so that the chunker can be made quiet by +default +Modified: html/chunker.xsl,1.26 - Norman Walsh + + +Added support for link, +olink, and xref within OO +Classsynopsis and children. (Because DocBook NG/5 +allows it). +Modified: fo/synop.xsl,1.15; html/synop.xsl,1.19 - Michael(tm) +Smith + + +New parameter: +id.warnings. If non-zero, warnings are +generated for titled objects that don't have titles. True by default; +I wonder if this will be too aggressive? +Modified: html/biblio.xsl,1.25; +html/component.xsl,1.27; html/division.xsl,1.11; html/formal.xsl,1.19; +html/glossary.xsl,1.20; html/html.xsl,1.13; html/index.xsl,1.16; +html/param.ent,1.88; html/param.xweb,1.97; html/refentry.xsl,1.22; +html/sections.xsl,1.30; params/id.warnings.xml,1.1 - Norman +Walsh + + +If the +keep.relative.image.uris parameter is true, +don't use the absolute URI (as calculated from xml:base) in +the img src attribute, us the value the author +specified. Note that we still have to calculate the absolute +filename for use in the image intrinsics +extension. +Modified: html/graphics.xsl,1.56 - Norman +Walsh + + +Support date as an +inline +Modified: fo/inline.xsl,1.43; html/inline.xsl,1.46 - Norman +Walsh + + +Added new parameter +keep.relative.image.uris +Modified: fo/param.ent,1.91; +fo/param.xweb,1.104; html/param.ent,1.87; html/param.xweb,1.96; +params/keep.relative.image.uris.xml,1.1 - Norman +Walsh + + +Added two new parameters for +handling of multi-term +varlistentry elements: +variablelist.term.break.after: +When the variablelist.term.break.after is +non-zero, it will generate a line break after each +term multi-term +varlistentry. +variablelist.term.separator: +When a varlistentry contains multiple term +elements, the string specified in the value of the +variablelist.term.separator parameter is +placed after each term except the last. The default +is ", " (a comma followed by a space). To suppress rendering of +the separator, set the value of +variablelist.term.separator to the empty +string (""). +These parameters are primarily intended to be +useful if you have multi-term varlistentries that have long +terms. +Closes #1306676. Thanks to Sam Steingold for +providing an example "lots of long terms" doc that demonstrated +the value of having these options. +Also, added +normalize-space() call to processing of each +term. +This change affects all output formats +(HTML, PDF, manpages). The default behavior should pretty much +remain the same as before, but it is possible (as always) that +the change may introduce some +new bugginess. +Modified: fo/lists.xsl,1.62; fo/param.ent,1.88; +fo/param.xweb,1.99; html/lists.xsl,1.48; html/param.ent,1.86; +html/param.xweb,1.93; manpages/lists.xsl,1.22; +manpages/param.ent,1.14; manpages/param.xweb,1.16; +params/variablelist.term.break.after.xml,1.1; +params/variablelist.term.separator.xml,1.1 - Michael(tm) +Smith + + +Added "wrapper-name" param to +inline.charseq named template, enabling it to output inlines +other than just "span". Acronym and Abbrev +templates now use inline.charseq to output HTML +"acronym" and "abbr" elements (instead of +"span"). Closes #1305468. Thanks to Sam Steingold for suggesting +the change. +Modified: html/inline.xsl,1.45 - Michael(tm) +Smith + + + + + +Manpages +The following changes have been made to the + manpages code + since the 1.69.1 release. + + +Added the following +params: + - man.indent.width (string-valued) - +man.indent.refsect (boolean) - man.indent.blurbs (boolean) +- man.indent.lists (boolean) - man.indent.verbatims +(boolean) +Note that in earlier snapshots, man.indent.width +was named man.indentation.default.value and the boolean params +had names like man.indentation.*.adjust. Also the +man.indent.blurbs param was called man.indentation.authors.adjust +(or something). +The behavior now is: If the value of a +particular man.indent.* boolean param is non-zero, the +corresponding contents (refsect*, list items, +authorblurb/personblurb, vervatims) are displayed with a left +margin indented by a width equal to the value +of man.indent.width. +Modified: params/man.indent.blurbs.xml,1.1; +manpages/docbook.xsl,1.74; manpages/info.xsl,1.20; +manpages/lists.xsl,1.30; manpages/other.xsl,1.20; +manpages/param.ent,1.22; manpages/param.xweb,1.24; +manpages/refentry.xsl,1.14; params/man.indent.lists.xml,1.1; +params/man.indent.refsect.xml,1.1; +params/man.indent.verbatims.xml,1.1; params/man.indent.width.xml,1.1 - +Michael(tm) Smith + + +Added +man.table.footnotes.divider param. +In each +table that contains footenotes, the string specified +by the man.table.footnotes.divider parameter is output +before the list of footnotes for the +table. +Modified: manpages/docbook.xsl,1.73; +manpages/links.xsl,1.6; manpages/param.ent,1.21; +manpages/param.xweb,1.23; params/man.table.footnotes.divider.xml,1.1 - +Michael(tm) Smith + + +Added the +man.output.in.separate.dir, +man.output.base.dir, +and man.output.subdirs.enabled parameters. +The +man.output.base.dir parameter specifies the +base directory into which man-page files are +output. The man.output.subdirs.enabled parameter controls whether +the files are output in subdirectories within the base +directory. +The values of the +man.output.base.dir +and man.output.subdirs.enabled parameters are used only if the +value of man.output.in.separate.dir parameter is non-zero. If the +value of man.output.in.separate.dir is zero, man-page files are +not output in a separate +directory. +Modified: manpages/docbook.xsl,1.72; manpages/param.ent,1.20; +manpages/param.xweb,1.22; params/man.output.base.dir.xml,1.1; +params/man.output.in.separate.dir.xml,1.1; +params/man.output.subdirs.enabled.xml,1.1 - Michael(tm) +Smith + + +Added +man.font.table.headings and +man.font.table.title params, for +controlling font in table headings and +titles. +Modified: manpages/docbook.xsl,1.71; manpages/param.ent,1.19; +manpages/param.xweb,1.21; params/man.font.table.headings.xml,1.1; +params/man.font.table.title.xml,1.1 - Michael(tm) +Smith + + +Added +man.font.funcsynopsisinfo and +man.font.funcprototype params, for specifying the roff +font (for example, BI, B, I) for funcsynopsisinfo and +funcprototype output. +Modified: manpages/block.xsl,1.19; +manpages/docbook.xsl,1.69; manpages/param.ent,1.18; +manpages/param.xweb,1.20; manpages/synop.xsl,1.29; +manpages/table.xsl,1.21; params/man.font.funcprototype.xml,1.1; +params/man.font.funcsynopsisinfo.xml,1.1 - Michael(tm) +Smith + + +Added +man.segtitle.suppress param. +If the value of +man.segtitle.suppress is non-zero, then display +of segtitle contents is suppressed in +output. +Modified: manpages/docbook.xsl,1.68; manpages/param.ent,1.17; +manpages/param.xweb,1.19; params/man.segtitle.suppress.xml,1.1 - +Michael(tm) Smith + + +Added +man.output.manifest.enabled and +man.output.manifest.filename params. +If +man.output.manifest.enabled is non-zero, a list +of filenames for man pages generated by the stylesheet +transformation is written to the file named by +man.output.manifest.filename +Modified: manpages/docbook.xsl,1.67; +manpages/other.xsl,1.19; manpages/param.ent,1.16; +manpages/param.xweb,1.18; params/man.output.manifest.enabled.xml,1.1; +params/man.output.manifest.filename.xml,1.1; +tools/make/Makefile.DocBook,1.4 - Michael(tm) +Smith + + +Added +refentry.meta.get.quietly param. +If zero (the +default), notes and warnings about "missing" markup are generated +during gathering of refentry metadata. If +non-zero, the metadata is gathered "quietly" -- that is, the +notes and warnings are suppressed. +NOTE: If you are +processing a large amount of refentry content, you +may be able to speed up processing significantly by setting a +non-zero value for +refentry.meta.get.quietly. +Modified: common/refentry.xsl,1.17; +manpages/param.ent,1.15; manpages/param.xweb,1.17; +params/refentry.meta.get.quietly.xml,1.1 - Michael(tm) +Smith + + +Changed names of all boolean +indentation params to man.indent.* Also discarded individual +man.indent.*.value params and switched to just using a common +man.indent.width param (3n by default). +Modified: manpages/docbook.xsl,1.66; +manpages/info.xsl,1.19; manpages/lists.xsl,1.29; +manpages/other.xsl,1.18; manpages/refentry.xsl,1.13 - Michael(tm) +Smith + + +Added boolean +man.output.in.separate.dir param, to control whether or not man +files are output in separate directory. +Modified: manpages/docbook.xsl,1.65; +manpages/utility.xsl,1.14 - Michael(tm) Smith + + +Added options for controlling +indentation of verbatim output. Controlled through the +man.indentation.verbatims.adjust +and man.indentation.verbatims.value params. Closes +#1242997 +Modified: manpages/block.xsl,1.15; manpages/docbook.xsl,1.64 - +Michael(tm) Smith + + +Added options for controlling +indentation in lists and in *blurb output in the AUTHORS +section. Controlled through +the man.indentation.lists.adjust, +man.indentation.lists.value, man.indentation.authors.adjust, and +man.indentation.authors.value parameters. Default is 3 characters +(instead of the roff default of 8 characters). Closes +#1449369. +Also, removed the indent that was being set on +informalexample outuput. I will instead add an option +for indenting verbatims, which I think is what the +informalexample indent was intended +for originally. +Modified: manpages/block.xsl,1.14; +manpages/docbook.xsl,1.63; manpages/info.xsl,1.18; +manpages/lists.xsl,1.28 - Michael(tm) Smith + + +Changed line-spacing call before +synopfragment to use ".sp -1n" ("n" units specified) +instead of plain ".sp -1" +Modified: manpages/synop.xsl,1.28 - Michael(tm) +Smith + + +Added support for writing man +files into a specific output directory and into appropriate +subdirectories within that output directory. Controlled through +the man.base.dir parameter (similar to the +base.dir support in the HTML stylesheet) and +the man.subdirs.enabled parameter, which automatically determines +the name of an appropriate subdir (for example, man/man7, +man/man1, etc.) based on the section number/manvolnum +of the source Refentry. +Closes #1255036 and +#1170317. Thanks to Denis Bradford for the original feature +request, and to Costin Stroie for submitting a patch that was +very helpful in implementing the +support. +Modified: manpages/docbook.xsl,1.62; manpages/utility.xsl,1.13 - +Michael(tm) Smith + + +Refined XPath statements and +notification messages for refentry metadata +handling. +Modified: common/common.xsl,1.59; common/refentry.xsl,1.14; +manpages/docbook.xsl,1.61; manpages/other.xsl,1.17 - Michael(tm) +Smith + + +Added support for +copyright and legalnotice. The manpages +stylesheets now output a COPYRIGHT section, +after the AUTHORS section, if a copyright +or legalnotice is found in the source. The +section contains the copyright contents followed +by the legalnotice contents. Closes +#1450209. +Modified: manpages/docbook.xsl,1.59; manpages/info.xsl,1.17 - +Michael(tm) Smith + + +Drastically reworked all of the +XPath expressions used in refentry metadata gathering +-- completely removed $parentinfo and turned $info into a set of +nodes that includes the *info contents of the Refentry +plus the *info contents all all of its ancestor elements. The +basic XPath expression now used throughout is (using the example +of checking for a date): + +(($info[//date])[last()]/date)[1]. +That selects the "last" +*info/date date in document order -- that is, the one +eitther on the Refentry itself or on the +closest ancestor to the Refentry. +It's +likely this change may break some things; may need to pick up +some pieces later. +Also, changed the default value for the +man.th.extra2.max.length from 40 to +30. +Modified: common/common.xsl,1.58; common/refentry.xsl,1.7; +params/man.th.extra2.max.length.xml,1.2; +params/refentry.date.profile.xml,1.2; +params/refentry.manual.profile.xml,1.2; +params/refentry.source.name.profile.xml,1.2; +params/refentry.version.profile.xml,1.2; manpages/docbook.xsl,1.58; +manpages/other.xsl,1.15 - Michael(tm) Smith + + +Added support for DocBook 5 +namespace-stripping in manpages stylesheet. Closes request +#1210692. +Modified: common/common.xsl,1.56; manpages/docbook.xsl,1.57 - +Michael(tm) Smith + + +Fixed handling of table +footnotes. With this checkin, the table support in the +manpages stylesheet is now basically feature complete. So this +change closes request #619532, "No support for tables" -- the +oldest currently open manpages feature request, submitted by Ben +Secrest (blsecres) on 2002-10-07. Congratulations to me [patting +myself on the back]. +Modified: manpages/block.xsl,1.11; +manpages/docbook.xsl,1.55; manpages/table.xsl,1.15 - Michael(tm) +Smith + + +Added handling for +table titles. Also fixed handling of nested tables; +nest tables are now "extracted" and displayed just after their +parent tables. +Modified: manpages/docbook.xsl,1.54; manpages/table.xsl,1.14 +- Michael(tm) Smith + + +Added option for turning off bold +formatting in Funcsynopsis. Boldface formatting in +function synopsis is mandated in the +man(7) man page and is used almost universally in existing man +pages. Despite that, it really does look like crap to have an +entire Funcsynopsis output in bold, so I added params +for turning off the bold formatting and/or replacing it with a +different roff special font (e.g., "RI" for alternating +roman/italic instead of the default "BI" for alternating +bold/italic). The new params +are "man.funcprototype.font" and +"man.funcsynopsisinfo.font". To be documented +later. +Closes #1452247. Thanks to Joe Orton for the feature +request. +Modified: params/man.string.subst.map.xml,1.16; +manpages/block.xsl,1.10; manpages/docbook.xsl,1.51; +manpages/inline.xsl,1.16; manpages/synop.xsl,1.27 - Michael(tm) +Smith + + +Use AUTHORS instead of +AUTHOR if we have multiple people to attribute. Also, +fixed checking such that we generate +author section even if we don't have an +author (as long as there is at least one other +person/entity we can put in the +section). Also adjusted assembly of content for +Author metainfo field such that we now not only use +author, but try to find a "best match" if we can't +find an author name to put there. +Closes +#1233592. Thanks to Sam Steingold for the +request. +Modified: manpages/info.xsl,1.12 - Michael(tm) +Smith + + +Changes for request #1243027, +"Impove handling of AUTHOR section." This +adds support for Collab, Corpauthor, Corpcredt, +Orgname, Publishername, and +Publisher. Also adds support for output +of Affiliation and its children, and support for using +gentext strings for auto-attributing roles (Author, +Editor, Publisher, Translator, etc.). Also +did a lot of code cleanup and modularization of all the +AUTHOR handling code. And fixed a bug that was causing +Author info to not be picked up correctly +for metainfo comment we embed in man-page +source. +Modified: manpages/info.xsl,1.11 - Michael(tm) +Smith + + +Support bold output for +"emphasis remap='B'". (because Eric Raymond's +doclifter(1) tool converts groff source marked up with ".B" +request or "\fB" escapes to DocBook "emphasis +remap='B'".) +Modified: manpages/inline.xsl,1.14 - Michael(tm) +Smith + + +Added support for +Segmentedlist. Details: Output is tabular, with no +option for "list" type output. Output for Segtitle +elements can be supressed by +setting man.segtitle.suppress. If Segtitle +content is output, it is rendered in italic type (not bold +because not all terminals support bold and so italic ensures the +stand out on those terminals). Extra space (.sp line) at end of +table code ensures that it gets handled correctly in +the case where its source is the child of a Para. +Closes feature-request #1400097. Thanks to Daniel Leidert for the +patch and push, and to Alastair Rankine for filing the original +feature request. +Modified: manpages/lists.xsl,1.23; +manpages/utility.xsl,1.10 - Michael(tm) Smith + + +Improved handling or +Author/Editor/Othercredit. +Reworked content of +(non-visible) comment added at top of each page (metadata +stuff). +Added support for generating a +manifest file (useful for cleaning up +after builds, etc.) +Modified: manpages/docbook.xsl,1.46; +manpages/info.xsl,1.9; manpages/other.xsl,1.12; +manpages/utility.xsl,1.6 - Michael(tm) Smith + + +Added two new parameters for +handling of multi-term +varlistentry elements: +variablelist.term.break.after: +When the variablelist.term.break.after is +non-zero, it will generate a line break after each +term multi-term +varlistentry. +variablelist.term.separator: +When a varlistentry contains multiple term +elements, the string specified in the value of the +variablelist.term.separator parameter is +placed after each term except the last. The default +is ", " (a comma followed by a space). To suppress rendering of +the separator, set the value of +variablelist.term.separator to the empty +string (""). +These parameters are primarily intended to be +useful if you have multi-term varlistentries that have long +terms. +Closes #1306676. Thanks to Sam Steingold for +providing an example "lots of long terms" doc that demonstrated +the value of having these options. +Also, added +normalize-space() call to processing of each +term. +This change affects all output formats +(HTML, PDF, manpages). The default behavior should pretty much +remain the same as before, but it is possible (as always) that +the change may introduce some +new bugginess. +Modified: fo/lists.xsl,1.62; fo/param.ent,1.88; +fo/param.xweb,1.99; html/lists.xsl,1.48; html/param.ent,1.86; +html/param.xweb,1.93; manpages/lists.xsl,1.22; +manpages/param.ent,1.14; manpages/param.xweb,1.16; +params/variablelist.term.break.after.xml,1.1; +params/variablelist.term.separator.xml,1.1 - Michael(tm) +Smith + + + + + +Params +The following changes have been made to the + params code + since the 1.69.1 release. + + +New parameters to set +header/footer table minimum +height. +Modified: params/footer.table.height.xml,1.1; +params/header.table.height.xml,1.1 - Robert +Stayton + + +Support multiple indexing methods +for different languages. +Modified: params/index.method.xml,1.1 - Robert +Stayton + + +Remove qandaset and +qandadiv from generate.toc for fo +output because formerly it wasn't working, but now it is and +the default behavior should stay the +same. +Modified: params/generate.toc.xml,1.8 - Robert +Stayton + + +add support for page number +references to link element +too. +Modified: params/insert.link.page.number.xml,1.1 - Robert +Stayton + + +Add support for more characters to +hyphen on when ulink.hyphenate is turned +on. +Modified: params/ulink.hyphenate.chars.xml,1.1; +params/ulink.hyphenate.xml,1.3 - Robert Stayton + + +New attribute-set to format +biblioentry and +bibliomixed. +Modified: params/biblioentry.properties.xml,1.1 - +Robert Stayton + + +Added new parameter +chunk.tocs.and.lots.has.title which +controls presence of title in a separate chunk with +ToC/LoT. Disabling title can be very useful if you are +generating frameset output (well, yes those frames, but some customers +really want them ;-). +Modified: html/chunk-code.xsl,1.15; +html/param.ent,1.93; html/param.xweb,1.102; +params/chunk.tocs.and.lots.has.title.xml,1.1 - Jirka +Kosek + + +Added new attribute set +toc.line.properties for controlling appearance of lines in +ToC/LoT +Modified: params/toc.line.properties.xml,1.1 - Jirka +Kosek + + +Allow table footnotes +to have different properties from regular +footnotes. +Modified: params/table.footnote.properties.xml,1.1 - Robert +Stayton + + +Set properties for pgwide="1" +objects. +Modified: params/pgwide.properties.xml,1.1 - Robert +Stayton + + +Added the +autotoc.label.in.hyperlink param. +If the value +of autotoc.label.in.hyperlink is non-zero, labels +are included in hyperlinked titles in the TOC. If it +is instead zero, labels are still displayed prior to the +hyperlinked titles, but are not hyperlinked along with the +titles. +Closes patch #1065868. Thanks to anatoly techtonik +for the patch. +Modified: html/autotoc.xsl,1.36; html/param.ent,1.92; +html/param.xweb,1.101; params/autotoc.label.in.hyperlink.xml,1.1 - +Michael(tm) Smith + + +Added two new params: +html.head.legalnotice.link.types +and html.head.legalnotice.link.multiple. +If +the value of the generate.legalnotice.link is +non-zero, then the stylesheet generates (in the head +section of the HTML source) either a single HTML +link element or, if the value of +the html.head.legalnotice.link.multiple is +non-zero, one link element for each link +type specified. Each link has the +following attributes: + - a rel attribute whose value +is derived from the value of +html.head.legalnotice.link.types + - +an href attribute whose value is set to the URL of the file +containing the legalnotice + - a title +attribute whose value is set to the title of the +corresponding legalnotice (or a title +programatically determined by the stylesheet) +For +example: + <link rel="copyright" +href="ln-id2524073.html" title="Legal Notice"> +Closes +#1476450. Thanks to Sam Steingold. +Modified: html/chunk-common.xsl,1.45; +html/param.ent,1.91; html/param.xweb,1.100; +params/generate.legalnotice.link.xml,1.4; +params/html.head.legalnotice.link.multiple.xml,1.1; +params/html.head.legalnotice.link.types.xml,1.1 - Michael(tm) +Smith + + +Added the following +params: + - man.indent.width (string-valued) - +man.indent.refsect (boolean) - man.indent.blurbs (boolean) +- man.indent.lists (boolean) - man.indent.verbatims +(boolean) +Note that in earlier snapshots, man.indent.width +was named man.indentation.default.value and the boolean params +had names like man.indentation.*.adjust. Also the +man.indent.blurbs param was called man.indentation.authors.adjust +(or something). +The behavior now is: If the value of a +particular man.indent.* boolean param is non-zero, the +corresponding contents (refsect*, list items, +authorblurb/personblurb, vervatims) are displayed with a left +margin indented by a width equal to the value +of man.indent.width. +Modified: params/man.indent.blurbs.xml,1.1; +manpages/docbook.xsl,1.74; manpages/info.xsl,1.20; +manpages/lists.xsl,1.30; manpages/other.xsl,1.20; +manpages/param.ent,1.22; manpages/param.xweb,1.24; +manpages/refentry.xsl,1.14; params/man.indent.lists.xml,1.1; +params/man.indent.refsect.xml,1.1; +params/man.indent.verbatims.xml,1.1; params/man.indent.width.xml,1.1 - +Michael(tm) Smith + + +Added +man.table.footnotes.divider param. +In each +table that contains footenotes, the string specified +by the man.table.footnotes.divider parameter is output +before the list of footnotes for the +table. +Modified: manpages/docbook.xsl,1.73; +manpages/links.xsl,1.6; manpages/param.ent,1.21; +manpages/param.xweb,1.23; params/man.table.footnotes.divider.xml,1.1 - +Michael(tm) Smith + + +Added the +man.output.in.separate.dir, +man.output.base.dir, +and man.output.subdirs.enabled parameters. +The +man.output.base.dir parameter specifies the +base directory into which man-page files are +output. The man.output.subdirs.enabled parameter controls whether +the files are output in subdirectories within the base +directory. +The values of the +man.output.base.dir +and man.output.subdirs.enabled parameters are used only if the +value of man.output.in.separate.dir parameter is non-zero. If the +value of man.output.in.separate.dir is zero, man-page files are +not output in a separate +directory. +Modified: manpages/docbook.xsl,1.72; manpages/param.ent,1.20; +manpages/param.xweb,1.22; params/man.output.base.dir.xml,1.1; +params/man.output.in.separate.dir.xml,1.1; +params/man.output.subdirs.enabled.xml,1.1 - Michael(tm) +Smith + + +Added +man.font.table.headings and +man.font.table.title params, for +controlling font in table headings and +titles. +Modified: manpages/docbook.xsl,1.71; manpages/param.ent,1.19; +manpages/param.xweb,1.21; params/man.font.table.headings.xml,1.1; +params/man.font.table.title.xml,1.1 - Michael(tm) +Smith + + +Added +man.font.funcsynopsisinfo and +man.font.funcprototype params, for specifying the roff +font (for example, BI, B, I) for funcsynopsisinfo and +funcprototype output. +Modified: manpages/block.xsl,1.19; +manpages/docbook.xsl,1.69; manpages/param.ent,1.18; +manpages/param.xweb,1.20; manpages/synop.xsl,1.29; +manpages/table.xsl,1.21; params/man.font.funcprototype.xml,1.1; +params/man.font.funcsynopsisinfo.xml,1.1 - Michael(tm) +Smith + + +Changed to select="0" in +refclass.suppress (instead of +..>0</..) +Modified: params/refclass.suppress.xml,1.3 - Michael(tm) +Smith + + +Added +man.segtitle.suppress param. +If the value of +man.segtitle.suppress is non-zero, then display +of segtitle contents is suppressed in +output. +Modified: manpages/docbook.xsl,1.68; manpages/param.ent,1.17; +manpages/param.xweb,1.19; params/man.segtitle.suppress.xml,1.1 - +Michael(tm) Smith + + +Added +man.output.manifest.enabled and +man.output.manifest.filename params. +If +man.output.manifest.enabled is non-zero, a list +of filenames for man pages generated by the stylesheet +transformation is written to the file named by +man.output.manifest.filename +Modified: manpages/docbook.xsl,1.67; +manpages/other.xsl,1.19; manpages/param.ent,1.16; +manpages/param.xweb,1.18; params/man.output.manifest.enabled.xml,1.1; +params/man.output.manifest.filename.xml,1.1; +tools/make/Makefile.DocBook,1.4 - Michael(tm) +Smith + + +Added refclass.suppress +param. +If the value of refclass.suppress is +non-zero, then display refclass contents is suppressed +in output. Affects HTML and FO output +only. +Modified: fo/param.ent,1.93; fo/param.xweb,1.106; html/param.ent,1.90; +html/param.xweb,1.99; params/refclass.suppress.xml,1.1 - Michael(tm) +Smith + + +Added +refentry.meta.get.quietly param. +If zero (the +default), notes and warnings about "missing" markup are generated +during gathering of refentry metadata. If +non-zero, the metadata is gathered "quietly" -- that is, the +notes and warnings are suppressed. +NOTE: If you are +processing a large amount of refentry content, you +may be able to speed up processing significantly by setting a +non-zero value for +refentry.meta.get.quietly. +Modified: common/refentry.xsl,1.17; +manpages/param.ent,1.15; manpages/param.xweb,1.17; +params/refentry.meta.get.quietly.xml,1.1 - Michael(tm) +Smith + + +Added support for "software" and +"sectdesc" class values on refmiscinfo; "software" is +treated identically to "source", and "setdesc" is treated +identically to "manual". +Modified: common/refentry.xsl,1.10; +params/man.th.extra2.max.length.xml,1.3; +params/refentry.source.name.profile.xml,1.4 - Michael(tm) +Smith + + +Drastically reworked all of the +XPath expressions used in refentry metadata gathering +-- completely removed $parentinfo and turned $info into a set of +nodes that includes the *info contents of the Refentry +plus the *info contents all all of its ancestor elements. The +basic XPath expression now used throughout is (using the example +of checking for a date): + +(($info[//date])[last()]/date)[1]. +That selects the "last" +*info/date date in document order -- that is, the one +eitther on the Refentry itself or on the +closest ancestor to the Refentry. +It's +likely this change may break some things; may need to pick up +some pieces later. +Also, changed the default value for the +man.th.extra2.max.length from 40 to +30. +Modified: common/common.xsl,1.58; common/refentry.xsl,1.7; +params/man.th.extra2.max.length.xml,1.2; +params/refentry.date.profile.xml,1.2; +params/refentry.manual.profile.xml,1.2; +params/refentry.source.name.profile.xml,1.2; +params/refentry.version.profile.xml,1.2; manpages/docbook.xsl,1.58; +manpages/other.xsl,1.15 - Michael(tm) Smith + + +Added option for turning off bold +formatting in Funcsynopsis. Boldface formatting in +function synopsis is mandated in the +man(7) man page and is used almost universally in existing man +pages. Despite that, it really does look like crap to have an +entire Funcsynopsis output in bold, so I added params +for turning off the bold formatting and/or replacing it with a +different roff special font (e.g., "RI" for alternating +roman/italic instead of the default "BI" for alternating +bold/italic). The new params +are "man.funcprototype.font" and +"man.funcsynopsisinfo.font". To be documented +later. +Closes #1452247. Thanks to Joe Orton for the feature +request. +Modified: params/man.string.subst.map.xml,1.16; +manpages/block.xsl,1.10; manpages/docbook.xsl,1.51; +manpages/inline.xsl,1.16; manpages/synop.xsl,1.27 - Michael(tm) +Smith + + +fop.extensions now only +for FOP version 0.20.5 and earlier. +Modified: params/fop.extensions.xml,1.4 +- Robert Stayton + + +Support for fop1 different from +fop 0.20.5 and earlier. +Modified: params/fop1.extensions.xml,1.1 - Robert +Stayton + + +Reset default value to empty +string so template uses gentext first, then the parameter value +if not empty. +Modified: params/index.number.separator.xml,1.2; +params/index.range.separator.xml,1.2; +params/index.term.separator.xml,1.2 - Robert +Stayton + + +New parameter: +id.warnings. If non-zero, warnings are +generated for titled objects that don't have titles. True by default; +I wonder if this will be too aggressive? +Modified: html/biblio.xsl,1.25; +html/component.xsl,1.27; html/division.xsl,1.11; html/formal.xsl,1.19; +html/glossary.xsl,1.20; html/html.xsl,1.13; html/index.xsl,1.16; +html/param.ent,1.88; html/param.xweb,1.97; html/refentry.xsl,1.22; +html/sections.xsl,1.30; params/id.warnings.xml,1.1 - Norman +Walsh + + +Added new parameter +keep.relative.image.uris +Modified: fo/param.ent,1.91; +fo/param.xweb,1.104; html/param.ent,1.87; html/param.xweb,1.96; +params/keep.relative.image.uris.xml,1.1 - Norman +Walsh + + +Support default label +width parameters for itemized and ordered lists +Modified: fo/lists.xsl,1.64; +fo/param.ent,1.90; fo/param.xweb,1.103; +params/itemizedlist.label.width.xml,1.1; +params/orderedlist.label.width.xml,1.1 - Norman +Walsh + + +Added parameters to localize +punctuation in indexes. +Modified: params/index.number.separator.xml,1.1; +params/index.range.separator.xml,1.1; +params/index.term.separator.xml,1.1 - Robert +Stayton + + +Added two new parameters for +handling of multi-term +varlistentry elements: +variablelist.term.break.after: +When the variablelist.term.break.after is +non-zero, it will generate a line break after each +term multi-term +varlistentry. +variablelist.term.separator: +When a varlistentry contains multiple term +elements, the string specified in the value of the +variablelist.term.separator parameter is +placed after each term except the last. The default +is ", " (a comma followed by a space). To suppress rendering of +the separator, set the value of +variablelist.term.separator to the empty +string (""). +These parameters are primarily intended to be +useful if you have multi-term varlistentries that have long +terms. +Closes #1306676. Thanks to Sam Steingold for +providing an example "lots of long terms" doc that demonstrated +the value of having these options. +Also, added +normalize-space() call to processing of each +term. +This change affects all output formats +(HTML, PDF, manpages). The default behavior should pretty much +remain the same as before, but it is possible (as always) that +the change may introduce some +new bugginess. +Modified: fo/lists.xsl,1.62; fo/param.ent,1.88; +fo/param.xweb,1.99; html/lists.xsl,1.48; html/param.ent,1.86; +html/param.xweb,1.93; manpages/lists.xsl,1.22; +manpages/param.ent,1.14; manpages/param.xweb,1.16; +params/variablelist.term.break.after.xml,1.1; +params/variablelist.term.separator.xml,1.1 - Michael(tm) +Smith + + +Convert 'no' to string in default +value. +Modified: params/olink.doctitle.xml,1.4 - Robert +Stayton + + +Implemented RFE +#1292615. +Added bunch of new parameters (attribute sets) +that affect list presentation: list.block.properties, +itemizedlist.properties, orderedlist.properties, +itemizedlist.label.properties and +orderedlist.label.properties. Default behaviour +of stylesheets has not been changed but further customizations will be +much more easier. +Modified: fo/lists.xsl,1.61; fo/param.ent,1.87; +fo/param.xweb,1.98; params/itemizedlist.label.properties.xml,1.1; +params/itemizedlist.properties.xml,1.1; +params/list.block.properties.xml,1.1; +params/orderedlist.label.properties.xml,1.1; +params/orderedlist.properties.xml,1.1 - Jirka +Kosek + + +Implemented RFE +#1242092. +You can enable crop marks in your document by +setting crop.marks=1 and xep.extensions=1. Appearance of crop +marks can be controlled by parameters +crop.mark.bleed (6pt), +crop.mark.offset (24pt) and +crop.mark.width (0.5pt). +Also there +is new named template called user-xep-pis. You can overwrite it in +order to produce some PIs that can control XEP as described in +http://www.renderx.com/reference.html#Output_Formats +Modified: fo/docbook.xsl,1.36; +fo/param.ent,1.86; fo/param.xweb,1.97; fo/xep.xsl,1.23; +params/crop.mark.bleed.xml,1.1; params/crop.mark.offset.xml,1.1; +params/crop.mark.width.xml,1.1; params/crop.marks.xml,1.1 - Jirka +Kosek + + +Changed short descriptions in doc +for *autolabel* params to match new autolabel +behavior. +Modified: params/appendix.autolabel.xml,1.5; +params/chapter.autolabel.xml,1.4; params/part.autolabel.xml,1.5; +params/preface.autolabel.xml,1.4 - Michael(tm) +Smith + + + + + +Profiling +The following changes have been made to the + profiling code + since the 1.69.1 release. + + +Profiling now works together with +namespace stripping (V5 documents). Namespace striping should work +with all stylesheets named profile-, even if they are not supporting +namespace stripping in a non-profiling +variant. +Modified: profiling/profile-mode.xsl,1.4; +profiling/xsl2profile.xsl,1.7 - Jirka Kosek + + +Moved profiling stage out of +templates. This make possible to reuse profiled content by several +templates and still maintaing node indentity (needed for example for +HTML Help where content is processed multiple times). +I +don't know why this was not on the top level before. Maybe some XSLT +processors choked on it. I hope this will be OK +now. +Modified: profiling/xsl2profile.xsl,1.5 - Jirka +Kosek + + + + + +Tools +The following changes have been made to the + tools code + since the 1.69.1 release. + + +Moved Makefile.DocBook from +contrib module to xsl +module. +Modified: tools/make/Makefile.DocBook,1.1 - Michael(tm) +Smith + + + + + +WordML +The following changes have been made to the + wordml code + since the 1.69.1 release. + + +added contrib element, +better handling of default paragraph +style +Modified: wordml/pages-normalise.xsl,1.6; wordml/supported.xml,1.2; +wordml/wordml-final.xsl,1.14 - Steve Ball + + +added +bridgehead +Modified: wordml/docbook-pages.xsl,1.6; +wordml/docbook.xsl,1.17; wordml/pages-normalise.xsl,1.5; +wordml/template-pages.xml,1.7; wordml/template.dot,1.4; +wordml/template.xml,1.14; wordml/wordml-final.xsl,1.13 - Steve +Ball + + +added blocks stylesheet to support +bibliographies, glossaries and qandasets +Modified: wordml/Makefile,1.4; +wordml/README,1.3; wordml/blocks-spec.xml,1.1; +wordml/docbook-pages.xsl,1.5; wordml/docbook.xsl,1.16; +wordml/pages-normalise.xsl,1.4; wordml/sections-spec.xml,1.3; +wordml/specifications.xml,1.13; wordml/template-pages.xml,1.6; +wordml/template.dot,1.3; wordml/template.xml,1.13; +wordml/wordml-blocks.xsl,1.1; wordml/wordml-final.xsl,1.12; +wordml/wordml-sections.xsl,1.3 - Steve Ball + + +added mediaobject +caption +Modified: wordml/docbook-pages.xsl,1.4; +wordml/docbook.xsl,1.15; wordml/specifications.xml,1.12; +wordml/template-pages.xml,1.5; wordml/template.dot,1.2; +wordml/template.xml,1.12; wordml/wordml-final.xsl,1.11 - Steve +Ball + + +added +callouts +Modified: wordml/docbook-pages.xsl,1.3; wordml/docbook.xsl,1.14; +wordml/pages-normalise.xsl,1.3; wordml/specifications.xml,1.11; +wordml/template-pages.xml,1.4; wordml/wordml-final.xsl,1.10 - Steve +Ball + + +added Word template +file +Modified: wordml/template.dot,1.1 - Steve Ball + + +added abstract, fixed +itemizedlist, ulink +Modified: wordml/specifications.xml,1.10; +wordml/wordml-final.xsl,1.9 - Steve Ball + + +fixed Makefile added many +features to Pages support added revhistory, inlines, +highlights, abstract +Modified: wordml/Makefile,1.2; +wordml/docbook-pages.xsl,1.2; wordml/pages-normalise.xsl,1.2; +wordml/sections-spec.xml,1.2; wordml/specifications.xml,1.9; +wordml/template-pages.xml,1.3; wordml/template.xml,1.11; +wordml/wordml-final.xsl,1.8; wordml/wordml-sections.xsl,1.2 - Steve +Ball + + +fixed handling linebreaks when +generating WordML added Apple Pages +support +Modified: wordml/docbook.xsl,1.13; wordml/template-pages.xml,1.2 - +Steve Ball + + + + + + + Release 1.69.1 + This release is a minor bug-fix update to the 1.69.0 + release. Along with bug fixes, it includes one + configuration-parameter change: The default value of the + annotation.support parameter is now + 0 (off). The reason for that change is that + there have been reports that annotation handling is + causing a significant performance degradation in processing of + large documents with xsltproc. + + + + + Release 1.69.0 + The release includes major feature changes, + particularly in the manpages + stylesheets, as well as a large number of bug fixes. + + As with all DocBook Project dot zero releases, this is an + experimental release . + + + Common + + + This release adds localizations for the following + languages: + + + Albanian + Amharic + Azerbaijani + Hindi + Irish (Gaelic) + Gujarati + Kannada + Mongolian + Oriya + Punjabi + Tagalog + Tamil + Welsh + . + + + Added support for specifying number format for auto + labels for chapter, appendix, + part, and preface. Contolled with the + appendix.autolabel, + chapter.autolabel, + part.autolabel, and + preface.autolabel parameters. + + + Added basic support for biblioref cross + referencing. + + + Added support for align + on caption in mediaobject. + + + Added support for processing documents that use the + DocBook V5 namespace. + + + Added support for termdef and + mathphrase. + + + EXPERIMENTAL: Incorporated the Slides and Website + stylesheets into the DocBook XSL stylesheets package. So, + for example, Website documents can now be processed using + the following URI for the driver Website + tabular.xsl file: http://docbook.sourceforge.net/release/xsl/current/website/tabular.xsl + + + A procedure without a title is + now treated as an informal procedure (meaning + that it is not added to any generated list of + procedures and has no affect on numbering of + generated labels for other procedures). + + + docname is no longer added to + olink when pointing to a root element. + + + + Added support for generation of choice separator in + inline simplelist. This enables auto-generation of an + appropriate localized choice separator (for + example, and or or) before the + final item in an inline simplelist. + To indicate that you want a choice separator + generated for a particular list, you need to put a processing + instruction (PI) of the form + dbchoice choice="foo" as a + child of the list. For example: + <para>Choose from + ONE and ONLY ONE of the following: + <simplelist type="inline"> + <?dbchoice choice="or" ?> + <member>A</member> + <member>B</member> + <member>C</member>.</simplelist></para> + + Output (for English): +
+ Choose from ONE and only ONE of the + following choices: A, B, or C. +
+ As a temporary workaround for the fact that most of the + DocBook non-English locale files don't have a localization for + the word or, you can put in a literal string to + be used; example for French: dbchoice choice="ou". That is, use + ou instead of or.
+
+
+
+ + FO + + + Added content-type property to + external-graphic element, based on + imagedata format + attribute. + + + Added support for generating + <rx:meta-field creator="$VERSION"/> + field for XEP output. This makes the DocBook XSL + stylesheet version information available through the + Document Properties menu in Acrobat + Reader and other PDF viewers. + + + Trademark symbol handling made consistent with + handling of same in HTML stylesheets. Prior to this change, + if you processed a document that contained no value for the + class attribute on the + trademark element, the HTML stylesheets would + default to rendering a superscript TM + symbol after the trademark contents, + but the FO stylesheets would render nothing. + + + Added support for generating XEP bookmarks for + refentry. + + + Added support for HTML markup table border attribute, applied to each + table cell. + + + The table.width template can now + sum column specs if none use % or + *. + + + Added fox:destination extension + inside fox:outline to support linking to + internal destinations. + + + Added support for customizing + abstract with property sets. Controlled + with the abstract.properties and + abstract.title.properties + parameters. + + + Add footnotes in table title to + table footnote set, and add support for table footnotes to + HTML table markup. + + + Added support for title in + glosslist. + + + Added support for itemizedlist symbol + none. + + + Implemented the new + graphical.admonition.properties and + nongraphical.admonition.properties + attribute sets. + + + Added id to + formalpara and some other blocks that were + missing it. + + + Changed the anchor template to output + fo:inline instead of + fo:wrapper. + + + Added support for toc.max.depth + parameter. + + + + + + Help + + + Eclipse Help: Added support for generating olink + database. + + + + + + HTML + + + Added a first cut at support in HTML output for + DocBook 5 style annotations. Controlled using the + annotation.support parameter, and + implemented using JavaScript and CSS styling. For more + details, see the documentation for the + annotation.js, + annotation.css, + annotation.graphic.open, and + annotation.graphic.close + parameters. + + + Generate client-side image map for + imageobjectco with areas using + calspair units + + + Added support for img.src.path PI. + + + Added support for passing + img.src.path to DocBook Java XSLT + image extensions when appropriate. Controlled using the + graphicsize.use.img.src.path + parameter. + + + Added support for (not + valid for DocBook 4) xlink:href + on area and (not valid for DocBook 4) + alt in area. + + + Added new parameter + default.table.frame to control table + framing if there is no frame + attribute on a table. + + + Added initial, experimental support for generating + content for the HTML title attribute from + content of the alt element. This change adds + support for the following inline elements only (none of them + are block elements): + + + abbrev + accel + acronym + action + application + authorinitials + beginpage + citation + citerefentry + citetitle + city + classname + code + command + computeroutput + constant + country + database + email + envar + errorcode + errorname + errortext + errortype + exceptionname + fax + filename + firstname + firstterm + foreignphrase + function + glossterm + guibutton + guiicon + guilabel + guimenu + guimenuitem + guisubmenu + hardware + honorific + interface + interfacename + keycap + keycode + keysym + lineage + lineannotation + literal + markup + medialabel + methodname + mousebutton + option + optional + otheraddr + othername + package + parameter + personname + phone + pob + postcode + productname + productnumber + prompt + property + quote + refentrytitle + remark + replaceable + returnvalue + tag + shortcut + state + street + structfield + structname + subscript + superscript + surname + symbol + systemitem + tag + termdef + token + trademark + type + uri + userinput + varname + wordasword + + + + + Added support for chunking revhistory into + separate file (similar to the support for doing same with + legalnotice). Patch from Thomas + Schraitle. Controlled through new + generate.revhistory.link parameter. + + + l10n.xsl: Made language codes RFC compliant. Added a + new boolean config parameter, + l10n.lang.value.rfc.compliant. If it + is non-zero (the default), any underscore in a language code + will be converted to a hyphen in HTML output. If it is zero, + the language code will be left as-is. + + + + + man + This release closes out 44 manpages stylesheet bug reports + and feature requests. It adds more than 35 new configuration + parameters for controlling aspects of man-page output -- + including hyphenation and justification, handling of links, + conversion of Unicode characters, and contents of man-page + headers and footers. + + + + New options for globally disabling/enabling + hyphenation and justification: + man.justify and + man.hyphenate. + Note that the default + for the both of those is zero (off), because justified text + looks good only when it is also hyphenated; to quote the + Hyphenation node from the groff info page: +
+ Since the odds are not great for finding a + set of words, for every output line, which fit nicely on a + line without inserting excessive amounts of space between + words, `gtroff' hyphenates words so that it can justify + lines without inserting too much space between + words. +
+ The problem is that groff can end up hyphenating a lot of + things that you don't want hyphenated (variable names and + command names, for example). Keeping both justification and + hyphenation disabled ensures that hyphens won't get inserted + where you don't want to them, and you don't end up with + lines containing excessive amounts of space between + words. These default settings run counter to how most + existing man pages are formatted. But there are some notable + exceptions, such as the perl man pages.
+
+ + Added parameters for controlling hyphenation of + computer inlines, filenames, and URLs. By default, even when + hyphenation is enabled (globally), hyphenation is now + suppressed for "computer inlines" (currently, just + classname, constant, envar, + errorcode, option, + replaceable, userinput, + type, and varname, and for + filenames, and for URLs from link. It + can be (re)enabled using the + man.hyphenate.computer.inlines, + man.hyphenate.filenames, and + man.hyphenate.urls parameters. + + + + Implemented a new system for replacing Unicode + characters. There are two parts to the new system: a + string substitution map for doing + essential replacements, and a + character map that can optionally be disabled + and enabled. + The new system fixes all open bugs that had to do with + literal Unicode numbered entities such as &#8220; and + &#8221; showing up in output, and greatly expands the + ability of the stylesheets to generate good roff + equivalents for Unicode symbols and special + characters. + Here are some details... + The previous manpages mechanism for replacing Unicode + symbols and special characters with roff equivalents (the + replace-entities template) was not + scalable and not complete. The mechanism handled a somewhat + arbitrary selection of less than 20 or so Unicode + characters. But there are potentially more than + 800 Unicode special characters that + have some groff equivalent they can be mapped to. And there + are about 34 symbols in the Latin-1 (ISO-8859-1) block + alone. Users might reasonably expect that if they include + any of those Latin-1 characters in their DocBook source + documents, they will get correctly converted to known roff + equivalents in output. + In addition to those common symbols, certain users may + have a need to use symbols from other Unicode blocks. Say, + somebody who is documenting an application related to math + might need to use a bunch of symbols from the + Mathematical Operators Unicode block (there + are about 65 characters in that block that have reasonable + roff equivalents). Or somebody else might really like + Dingbats -- such as the checkmark character -- and so might + use a bunch of things from the Dingbat block + (141 characters in that that have roff equivalents or that + can at least be degraded somewhat gracefully + into roff). + So, the old replace-entities + mechanism was replaced with a completely different mechanism + that is based on use of two maps: a + substitution map and a character + map (the latter in a format compliant with the XSLT + 2.0 spec and therefore completely forward + compatible with XSLT 2.0). + The substitution map is controlled through the + man.string.subst.map parameter, and + is used to replace things like the backslash character + (which needs special handling to prevent it from being + interpreted as a roff escape). The substitution map cannot + be disabled, because disabling it will cause the output to + be broken. However, you can add to it and change it if + needed. + + The character map mechanism, on the + other hand, can be completely disabled. It is enabled by + default, and, by default, does replacement of all Latin-1 + symbols, along with most special spaces, dashes, and quotes + (about 75 characters by default). Also, you can optionally + enable a full character map that provides + support for converting all 800 or so of the characters that + have some reasonable groff equivalent. + + The character-map mechanism is controlled through the + following parameters: + + + man.charmap.enabled + turns character-map support + on/off + + + man.charmap.use.subset + specifies that a subset of the character + map is used instead of the full map + + + man.charmap.subset.profile + specifies profile of character-map + subset + + + man.charmap.uri + specifies an alternate character map to + use instead of the standard character map + provided in the distribution + + + + + + + Implemented out-of-line handling of display of URLs + for links (currently, only for ulink). This gives + you three choices for handling of links: + + + Number and list links. Each link is numbered + inline, with a number in square brackets preceding the + link contents, and a numbered list of all links is added + to the end of the document. + + + Only list links. Links are not numbered, but an + (unnumbered) list of links is added to the end of the + document. + + + Suppress links. Don't number links and don't add + any list of links to the end of the document. + + + You can also choose whether links should be underlined. The + default is the works -- list, number, and + underline links. You can use the + man.links.list.enabled, + man.links.are.numbered, and + man.links.are.underlined parameters + to change the defaults. The default heading for the link + list is REFERENCES. You can be change that using the + man.links.list.heading + parameter. + + + Changed default output encoding to UTF-8. This does not mean that man pages are output in + raw UTF-8, because the character map is applied + before final output, causing all UTF-8 characters covered in + the map to be converted to roff equivalents. + + + + Added support for processing refsect3 and + formalpara and nested refsection + elements, down to any arbitrary level of nesting. + + + + Output of the NAME and + SYNOPSIS and AUTHOR + headings and the headings for admonitions (note, + caution, etc.) are no longer hard-coded for + English. Instead, headings are generated for those in the + correct locale (just as the FO and HTML stylesheets + do). + + + + Re-worked mechanism for assembling page + headers/footers (the contents of the .TH + macro title line). + + Here are some details... + + All man pages contain a .TH roff + macro whose contents are used for rendering the title + line displayed in the header and footer of each + page. Here are a couple of examples of real-world man pages + that have useful page headers/footers: + gtk-options(7) GTK+ User's Manual gtk-options(7) <-- header + GTK+ 1.2 2003-10-20 gtk-options(7) <-- footer + + svgalib(7) Svgalib User Manual svgalib(7) <-- header + Svgalib 1.4.1 16 December 1999 svgalib(7) <-- footer + + And here are the terms with which the + groff_man(7) man page refers to the + various parts of the header/footer: + title(section) extra3 title(section) <- header + extra2 extra1 title(section) <- footer + Or, using the names with which the man(7) + man page refers to those same fields: + title(section) manual title(section) <- page header + source date title(section) <- page footer + + The easiest way to control the contents of those + fields is to mark up your refentry content like + the following (note that this is a minimal + example). + <refentry> + <info> + <date>2003-10-20</date> + </info> + <refmeta> + <refentrytitle>gtk-options</refentrytitle> + <manvolnum>7</manvolnum> + <refmiscinfo class="source-name">GTK+</refmiscinfo> + <refmiscinfo class="version">1.2</refmiscinfo> + <refmiscinfo class="manual">GTK+ User's Manual</refmiscinfo> + </refmeta> + <refnamediv> + <refname>gtk-options</refname> + <refpurpose>Standard Command Line Options for GTK+ Programs</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <para>This manual page describes the command line options, which + are common to all GTK+ based applications.</para> + </refsect1> + </refentry> + + + Sets the date part of the header/footer. + + + Sets the title part. + + + Sets the section part. + + + Sets the source name part. + + + Sets the version part. + + + Sets the manual part. + + + + Below are explanations of the steps the stylesheets + take to attempt to assemble and display + good headers and footer. [In the + descriptions, note that *info + is the refentry info child + (whatever its name), and + parentinfo is the + info child of its parent (again, whatever + its name).] + + + extra1 field (date) + + Content of the extra1 field is + what shows up in the center + footer position of each page. The + man(7) man page describes it as + the date of the last revision. + To provide this content, if the + refentry.date.profile.enabled + is non-zero, the stylesheets check the value of + refentry.date.profile. + Otherwise, by default, they check for a + date or pubdate not only in the + *info contents, but also in + the parentinfo + contents. + If a date cannot be found, the stylesheets now + automatically generate a localized long + format date, ensuring that this field always + has content in output. + However, if for some reason you want to suppress + this field, you can do so by setting a non-zero value + for man.th.extra1.suppress. + + + + extra2 field (source) + + On Linux systems and on systems with a modern + groff, the content of the extra2 field + are what shows up in the left + footer position of each page. + + The man(7) man page describes + this as the source of the command, and + provides the following examples: + + + For binaries, use somwething like: GNU, + NET-2, SLS Distribution, MCC Distribution. + + + For system calls, use the version of the + kernel that you are currently looking at: Linux + 0.99.11. + + + For library calls, use the source of the + function: GNU, BSD 4.3, Linux DLL 4.4.1. + + + + + In practice, there are many pages that simply + have a version number in the source + field. So, it looks like what we have is a two-part + field, + Name Version, + where: + + + Name + + product name (e.g., BSD) or org. name + (e.g., GNU) + + + + Version + + version name + + + + Each part is optional. If the + Name is a product name, + then the Version is + probably the version of the product. Or there may be + no Name, in which case, if + there is a Version, it is + probably the version of the item itself, not the + product it is part of. Or, if the + Name is an organization + name, then there probably will be no + Version. + + To provide this content, if the + refentry.source.name.profile.enabled + and + refentry.version.profile.enabled + parameter are non-zero, the stylesheets check the + value of refentry.source.name.profile + refentry.version.profile. + + Otherwise, by default, they check the following + places, in the following order: + + + *info/productnumber + + + *info/productnumber + + + refmeta/refmiscinfo[@class = 'version'] + + + parentinfo/productnumber + + + *info/productname + + + parentinfo/productname + + + refmeta/refmiscinfo + + + [nothing found, so leave it empty] + + + + + + + extra3 field + + On Linux systems and on systems with a modern + groff, the content of the extra3 field + are what shows up in the center + header position of each page. Some man + pages have extra2 content, some + don't. If a particular man page has it, it is most + often context data about some larger + system the documented item belongs to (for example, + the name or description of a group of related + applications). The stylesheets now check the following + places, in the following order, to look for content to + add to the extra3 field. + + + parentinfo/title + + + parent's title + + + refmeta/refmiscinfo + + + [nothing found, so leave it empty] + + + + + + + + + + Reworked *info gathering. For + each refentry found, the stylesheets now cache its + *info content, then check for any + valid parent of it that might have metainfo content and cache + that, if found; they then then do all further matches against + those node-sets (rather than re-selecting the original + *info nodes each time they are + needed). + + + + New option for breaking strings after forward + slashes. This enables long URLs and pathnames to be broken + across lines. Controlled through + man.break.after.slash parameter. + + + + Output for servicemark and trademark are now + (SM) and (TM). There is + a groff "\(tm" escape, but output from that + is not acceptable. + + + + New option for controlling the length of the title + part of the .TH title line. Controlled + through the man.th.title.max.length + parameter. + + + + New option for specifying output encoding of each man + page; controlled with + man.output.encoding (similar to the + HTML chunker.output.encoding + parameter). + + + + New option for suppressing filename messages when + generating output; controlled with + man.output.quietly (similar to the HTML + chunk.quietly parameter). + + + + The text of cross-references to first-level + refentry (refsect1, top-level + refsection, refnamediv, and + refsynopsisdiv) are now capitalized. + + + + Cross-references to refnamediv now use the + localized NAME title instead of using the + first refname child. This makes the output + inconsistent with HTML and FO output, but for man-page output, + it seems to make better sense to have the + NAME. (It may actually make better sense to + do it that way in HTML and FO output as well...) + + + + Added support for processing funcparams. + + + + Removed the space that was being output between + funcdef and paramdef; example: was: + float rand (void); now: + float rand(void) + + + + Turned off bold formatting for the type + element when it occurs within a funcdef or + paramdef + + + + Corrected rendering of simplelist. Any + <simplelist type="inline" instance + is now rendered as a comma-separated list (also with an + optional localized and or or before the last item -- see + description elsewhere in these release notes). Any simplelist + instance whose type is not + inline is rendered as a one-column vertical + list (ignoring the values of the type and columns attributes if present) + + + + Comment added at top of roff source for each page now + includes DocBook XSL stylesheets version number (as in the + HTML stylesheets) + + + + Made change to prevent sticky fonts + changes. Now, when the manpages stylesheets encounter node + sets that need to be boldfaced or italicized, they put the + \fBfoo\fR and \fIbar\fR + groff bold/italic instructions separately around each node in + the set. + + + synop.xsl: Boldface everything in + funcsynopsis output except parameters (which are in + ital). The man(7) man page says: +
+ For functions, the arguments are always specified + using italics, even in the SYNOPSIS section, where the rest + of the function is specified in bold. +
+ A look through the contents of the + man/man2 directory shows that most + (all) existing pages do follow this everything in + funcsynopsis bold rule. That means the + type content and any punctuation (parens, + semicolons, varargs) also must be bolded.
+
+ + + Removed code for adding backslashes before periods/dots + in roff source, because backslashes in front of periods/dots + in roff source are needed only in the very rare case where a + period is the very first character in a line, without any + space in front of it. A better way to deal with that rare case + is for you to add a zero-width space in front of the offending + dot(s) in your source + + + + Removed special handling of the quote + element. That was hard-coded to cause anything marked up with + the quote element to be output preceded by two + backticks and followed by two apostrophes -- that is, that + old-school kludge for generating curly quotes in Emacs and + in X-Windows fonts. While Emacs still seems to support that, I + don't think X-Windows has for a long time now. And, anyway, it + looks (and has always looked) like crap when viewed on a + normal tty/console. In addition, it breaks localiztion of + quote. By default, quote content is + output with localized quotation marks, which, depending on the + locale, may or may not be left and right double quotation + marks. + + + + Changed mappings for left and right single quotation + marks. Those had previously been incorrectly mapped to the + backtick (&#96;) and apostrophe (&39;) characters (for + kludgy reasons -- see above). They are now correctly mapped to + the \(oq and \(cq roff + escapes. If you want the old (broken) behavior, you need to + manually change the mappings for those in the value of the + man.string.subst.map parameter. + + + Removed xref.xsl file. Now, of the + various cross-reference elements, only the ulink + element is handled differently; the rest are handled exactly + as the HTML stylesheets handle them, except that no hypertext + links are generated. (Because there is no equivalent hypertext + mechanism is man pages.) + + + + New option for making subheading dividers in generated + roff source. The dividers are not visible in the rendered man + page; they are just there to make the source + readable. Controlled using + man.subheading.divider. + + + + Fixed many places where too much space was being added + between lines. + +
+ +
+
+ + + + Release 1.68.1 + The release adds localization support for Farsi (thanks to + Sina Heshmati) and improved support for the XLink-based DocBook NG + db:link element. Other than that, it is a minor + bug-fix update to the 1.68.0 release. The main thing it fixes is a + build error that caused the XSLT Java extensions to be jarred up + with the wrong package structure. Thanks to Jens Stavnstrup for + quickly reporting the problem, and to Mauritz Jeanson for + investigating and finding the cause. + + + + + Release 1.68.0 + This release includes some features changes, particularly + for FO/PDF output, and a number of bug fixes. + + FO + + Moved footnote properties to attribute-sets. + + + Added support for side floats, margin notes, and + custom floats. + + + Added new parameters + body.start.indent and + body.end.indent to the + set.flow.properties template. + + + Added support for xml:id + + + Added support for + refdescriptor. + + + Added support for multiple refnamedivs. + + + Added index.entry.properties + attribute-set to support customization of index + entries. + + + Added set.flow.properties + template call to each fo:flow + to support customizations entry point. + + + Add support for @floatstyle in + figure + + + Moved hardcoded properties for index division titles + to the index.div.title.properties + attribute-set. + + + Added support for + table-layout="auto" for XEP. + + + Added index.div.title.properties + attribute-set. + + + $verbose parameter is now + passed to most elements. + + + Added refentry to + toc in part, as it is + permitted by the DocBook schema/DTD. + + + Added backmatter elements and + article to toc in + part, since they are permitted by the + DocBook schema/DTD. + + + Added mode="toc" for + simplesect, since it is now permitted in + the toc if + simplesect.in.toc is set. + + + Moved hard-coded properties to + nongraphical.admonintion.properties + and graphical.admonition.properties + attribute sets. + + + Added support for sidebar-width and + float-type processing instructions in + sidebar. + + + For tables with HTML markup elements, added support + for dbfo bgcolor PI, the attribute-sets + named table.properties, + informaltable.properties, + table.table.properties, and + table.cell.padding. Also added + support for the templates named + table.cell.properties and + table.cell.block.properties so that + tabstyles can be implemented. Also added support for tables + containing only tr instead of + tbody with tr. + + + Added new paramater + hyphenate.verbatim.characters which + can specify characters after which a line break can occur in + verbatim environments. This parameter can be used to extend + the initial set of characters which contain only space and + non-breakable space. + + + Added itemizedlist.label.markup to enable + selection of different bullet symbol. Also added several + potential bullet characters, commented out by default. + + + Enabled all id's in XEP output for external olinking. + + + + + HTML + + Added support for + refdescriptor. + + + Added support for multiple refnamedivs. + + + Added support for xml:id + + + refsynopsisdiv as a section for + counting section levels + + + + Images + + Added new SVG admonition graphics and navigation images. + + + + + + + + Release 1.67.2 + This release fixes a table bug introduced in the 1.67.1 + release. + + + Release 1.67.1 + This release includes a number of bug fixes. + The following lists provide details about API and feature changes. + + FO + + Tables: Inherited cell properties are now passed to the + table.cell.properties template so they can + be overridden by a customization. + + + Tables: Added support for bgcolor PI on table row + element. + + + TOCs: Added new parameter + simplesect.in.toc; default value of + 0 causes simplesect to be omitted from TOCs; to + cause simplesect to be included in TOCs, you + must set the value of simplesect.in.toc to + 1.Comment from Norm: + +
+ Simplesect elements aren't supposed to + appear in the ToC at all... The use case for simplesect + is when, for example, every chapter in a book ends with + "Exercises" or "For More Information" sections and you + don't want those to appear in the ToC. +
+
+
+ + Sections: Reverted change that caused a variable reference + to be used in a template match and rewrote code to preserve + intended semantics. + + + Lists: Added workaround to prevent "* 0.60 + 1em" garbage in + list output from PassiveTeX + + + Moved the literal attributes from + component.title to the + component.title.properties attribute-set so + they can be customized. + + + Lists: Added glossdef's first + para to special handling in + fo:list-item-body. + +
+ + + HTML + + TOCs: Added new parameter + simplesect.in.toc; for details, see + the list of changes for this + release. + + + Indexing: Added new parameter + index.prefer.titleabbrev; when set to + 1, index references will use + titleabbrev instead of + title when available. + + + + HTML Help + + Added support for generating windows-1252-encoded + output using Saxon; for more details, see the list of changes for this release. + + + + man pages + + Replaced named/numeric character-entity references for + non-breaking space with groff equivalent (backslash-tilde). + + + + XSL Java extensions + + Saxon extensions: Added the + Windows1252 class. It extends Saxon + 6.5.x with the windows-1252 character set, which is + particularly useful when generating HTML Help for Western + European Languages (code from + Pontus + Haglund and contributed to the + DocBook community by Sectra AB, Sweden). + To use: + + + Make sure that the Saxon 6.5.x jar file and the jar file for + the DocBook XSL Java extensions are in your CLASSPATH + + + Create a DocBook XSL customization layer -- a file named + mystylesheet.xsl or whatever -- that, at a + minimum, contains the following: + <xsl:stylesheet + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version='1.0'> + <xsl:import href="http://docbook.sourceforge.net/release/xsl/current/htmlhelp/htmlhelp.xsl"/> + <xsl:output method="html" encoding="WINDOWS-1252" indent="no"/> + <xsl:param name="htmlhelp.encoding" select="'WINDOWS-1252'"></xsl:param> + <xsl:param name="chunker.output.encoding" select="'WINDOWS-1252'"></xsl:param> + <xsl:param name="saxon.character.representation" select="'native'"></xsl:param> + </xsl:stylesheet> + + Invoke Saxon with the + encoding.windows-1252 Java system property set + to com.nwalsh.saxon.Windows1252; for example + java \ + -Dencoding.windows-1252=com.nwalsh.saxon.Windows1252 \ + com.icl.saxon.StyleSheet \ + mydoc.xml mystylesheet.xsl + + Or, for a more complete "real world" case showing other + options you'll typically want to use: + java \ + -Dencoding.windows-1252=com.nwalsh.saxon.Windows1252 \ + -Djavax.xml.parsers.DocumentBuilderFactory=org.apache.xerces.jaxp.DocumentBuilderFactoryImpl \ + -Djavax.xml.parsers.SAXParserFactory=org.apache.xerces.jaxp.SAXParserFactoryImpl \ + -Djavax.xml.transform.TransformerFactory=com.icl.saxon.TransformerFactoryImpl \ + com.icl.saxon.StyleSheet \ + -x org.apache.xml.resolver.tools.ResolvingXMLReader \ + -y org.apache.xml.resolver.tools.ResolvingXMLReader \ + -r org.apache.xml.resolver.tools.CatalogResolver \ + mydoc.xml mystylesheet.xsl + + In both cases, the "mystylesheet.xsl" file should be a + DocBook customization layer containing the parameters + show in step 2. + + + + + + Saxon extensions: Removed Saxon 8 extensions from release package + + +
+
+ + Release 1.67.0 + + + A number of important bug fixes. + + + Added Saxon8 extensions + + + Enabled dbfo table-width on + entrytbl in FO output + + + Added support for role=strong on + emphasis in FO output + + + Added new FO parameter + hyphenate.verbatim that can be used to turn + on "intelligent" wrapping of verbatim environments. + + + Replaced all <tt></tt> output with + <code></code> + + + Changed admon.graphic.width template to a + mode so that different admonitions can have different graphical + widths. + + + Deprecated the HTML shade.verbatim + parameter (use CSS instead) + + + Wrapped ToC + refentrytitle/refname and + refpurpose in span with class values. This + makes it possible to style them using a CSS stylesheet. + + + Use strong/em instead of + b/i in HTML output + + + Added support for converting Emphasis to + groff italic and Emphasis role='bold' to + bold. Controlled by + emphasis.propagates.style param, but not + documented yet using litprog system. Will do that next (planning + to add some other parameter-controllable options for hyphenation + and handling of line spacing). + + + callout.graphics.number.limit.xml + param: Changed the default from 10 to + 15. + + + verbatim.properties: Added + hyphenate=false + + + Saxon and Xalan Text.java extensions: Added support for + URIResolver() on insertfile href's + + + Added generated RELEASE-NOTES.txt + file. + + + Added INSTALL file (executable file for + generating catalog.xml) + + + Removed obsolete tools directory from + package + + + + +Release 1.66.1 + + +A number of important bug fixes. + + + + +Now xml:base attributes that are generated by an +XInclude processor are resolved for image files. + + + + +Rewrote olink templates to support several new features. + + + + +Extended full olink support to FO output. + + + + +Add support for xrefstyle attribute in olinks. + + + + +New parameters to support new olink features: +insert.olink.page.number, insert.olink.pdf.frag, +olink.debug, olink.lang.fallback.sequence, olink.properties, +prefer.internal.olink. +See the reference page for each parameter for more +information. + + + + + +Added index.on.type parameter for new type +attribute introduced in DocBook 4.3 for indexterms and index. +This allows you to create multiple indices containing +different categories of entries. +For users of 4.2 and earlier, you can use the new parameter index.on.role +instead. + + + + +Added new +section.autolabel.max.depth parameter to turn off section numbering +below a certain depth. +This permits you to number major section levels and leave minor +section levels unnumbered. + + + +Added footnote.sep.leader.properties attribute set to format +the line separating footnotes in printed output. + + + + +Added parameter img.src.path as a prefix to HTML img src +attributes. +The prefix is added to whatever path is already generated by the +stylesheet for each image file. + + + +Added new attribute-sets +informalequation.properties, +informalexample.properties, +informalfigure.properties, and informaltable.properties, +so each such element type can be formatted +individually if needed. + + + + +Add component.label.includes.part.label +parameter to add any part number to chapter, appendix +and other component labels when +the label.from.part parameter is nonzero. +This permits you to distinguish multiple chapters with the same +chapter number in cross references and the TOC. + + + +Added chunk.separate.lots parameter for HTML output. +This parameter lets you generate separate chunk files for each LOT +(list of tables, list of figures, etc.). + + +Added several table features: + + + +Added table.table.properties attribute set to add +properties to the fo:table element. + + + + +Added placeholder templates named table.cell.properties +and table.cell.block.properties to enable adding properties +to any fo:table-cell or the cell's fo:block, respectively. + These templates are a start for implementing table styles. + + + + + +Added new attribute +set component.title.properties for easy modifications of +component's title formatting in FO output. + + + + +Added Saxon support for an encoding attribute on the textdata element. Added new parameter +textdata.default.encoding which specifies encoding when +encoding attribute on +textdata is missing. + + + + +Template label.this.section now controls whole +section label, not only sub-label which corresponds to +particular label. Former behaviour was IMHO bug as it was +not usable. + + + + +Formatting in titleabbrev for TOC and headers +is preserved when there are no hotlink elements in the title. Formerly the title showed only the text of the title, no font changes or other markup. + + + + +Added intial.page.number template to set the initial-page-number +property for page sequences in print output. +Customizing this template lets you change when page numbering restarts. This is similar to the format.page.number template that lets you change how the page number formatting changes in the output. + + + + +Added force.page.count template to set the force-page-count +property for page sequences in print output. +This is similar to the format.page.number template. + + + + +Sort language for localized index sorting in autoidx-ng.xsl is now taken from document +lang, not from system environment. + + + + +Numbering and formatting of normal +and ulink footnotes (if turned on) has been unified. +Now ulink footnotes are mixed in with any other footnotes. + + + +Added support for renderas attribute in section and +sect1 et al. +This permits you to render a given section title as if it were a different level. + + + +Added support for label attribute in footnote to manually +supply the footnote mark. + + + + +Added support for DocBook 4.3 corpcredit element. + + + + +Added support for a dbfo keep-together PI for +formal objects (table, figure, example, equation, programlisting). That permits a formal object to be kept together if it is not already, or to be broken if it +is very long and the +default keep-together is not appropriate. + + + + +For graphics files, made file extension matching case +insensitive, and updated the list of graphics extensions. + + + + +Allow calloutlist to have block content before +the first callout + + + + +Added dbfo-need processing instruction to provide +soft page breaks. + + + + +Added implementation of existing but unused +default.image.width parameter for graphics. + + + + +Support DocBook NG tag inline element. + + + + +It appears that XEP now supports Unicode characters in +bookmarks. There is no further need to strip accents from +characters. + + + + +Make segmentedlist HTML markup +more semantic and available to CSS styles. + + + + +Added user.preroot placeholder template to +permit xsl-stylesheet and other PIs and comments to be +output before the HTML root element. + + + + +Non-chunked legalnotice now gets an <a +name="id"> element in HTML output +so it can be referenced with xref or link. + + + + +In chunked HTML output, changed link rel="home" to rel="start", +and link rel="previous" to rel="prev", per W3C HTML 4.01 +spec. + + + + +Added several patches to htmlhelp from W. Borgert + + + + +Added Bosnian locale file as common/bs.xml. + + + + + +Release 1.65.0 + + +A number of important bug fixes. + + + +Added a workaround to allow these stylesheets to process DocBook NG +documents. (It’s a hack that pre-processes the document to strip off the +namespace and then uses exsl:node-set to process +the result.) + + + +Added alternative indexing mechanism which has better +internationalization support. New indexing method allows grouping of +accented letters like e, é, ë into the same group under letter "e". It +can also treat special letters (e.g. "ch") as one character and place +them in the correct position (e.g. between "h" and "i" in Czech +language). +In order to use this mechanism you must create customization +layer which imports some base stylesheet (like +fo/docbook.xsl, +html/chunk.xsl) and then includes appropriate +stylesheet with new indexing code +(fo/autoidx-ng.xsl or +html/autoidx-ng.xsl). For example: +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version="1.0"> + +<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/fo/docbook.xsl"/> +<xsl:include href="http://docbook.sourceforge.net/release/xsl/current/fo/autoidx-ng.xsl"/> + +</xsl:stylesheet> +New method is known to work with Saxon and it should also work +with xsltproc 1.1.1 and later. Currently supported languages are +English, Czech, German, French, Spanish and Danish. + + + + +Release 1.64.1 + +General bug fixes and improvements. Sorry about the failure to produce +an updated release notes file for 1.62.0—1.63.2 + +In the course of fixing bug #849787, wrapping Unicode callouts +with an appropriate font change in the Xalan extensions, I discovered +that the Xalan APIs have changed a bit. So xalan2.jar +will work with older Xalan 2 implementations, xalan25.jar +works with Xalan 2.5. + + + + +Release 1.61.0 + +Lots of bug fixes and improvements. + +Initial support for timestamp PI. From now you + can use <?dbtimestamp format="Y-m-d H:M:S"?> to get current + datetime in your document. Added localization support for datetime PI + + + +Added level 6 to test for section depth in +section.level template so that +section.title.level6.properties will be used for sections +that are 6 deep or deeper. This should also cause a h6 to be +created in html output. + + + +Don't use SVG graphics if use.svg=0 + + + +Now uses number-and-title-template for sections + only if section.autolabel is not zero. + + + +Added missing 'english-language-name' attribute to +the l10n element, and the missing 'style' attribute to the +template element so the current gentext documents will +validate. + + + +Corrected several references to parameter + qanda.defaultlabel that were missing the "$". + + + +Now accepts admon.textlabel parameter to turn off + Note, Warning, etc. label. + + + +FeatReq #684561: support more XEP metadata + + + +Added hyphenation support. Added support for coref. +Added beginpage support. (does nothing; see TDG). + + + +Added support for +hyphenation-character, hyphenation-push-character-count, and +hyphenation-remain-character-count + + + +Added root.properties, +ebnf.assignment, +and ebnf.statement.terminator + + + +Support bgcolor PI in table cells; make sure +rowsep and colsep don't have any effect on the last row or +column + + + +Handle othercredit on titlepage a little +better + + + +Applied fix from Jeff Beal that fixed the bug +that put secondary page numbers on primary entries. Same +with tertiary page numbers on secondary entries. + + + +Added definition of missing variable +collection. + + + +Make footnote formatting 'normal' even when it +occurs in a context that has special formatting + + + +Added warning when glossary.collection is not +blank, but it cannot open the specified file. + + + +Pick up the frame attribute on table and +informaltable. + + + +indexdiv/title +in non-autogenerated indexes are +now picked up. + + + +Removed (unused) +component.title.properties + + + +Move IDs from +page-sequences down to titlepage blocks + + + +Use +proportional-column-width(1) on more tables. + +Use proportional-column-width() for +header/footer tables; suppress relative-align when when +using FOP + + + +Check for glossterm.auto.link when linking +firstterms; don't output gl. prefix on glossterm links + + + +Generate Part ToCs + + + +Support glossary, bibliography, +and index in component ToCs. + + + +Refactored chunking code so that +customization of chunk algorithm and chunk elements is more +practical + + + +Support textobject/phrase +on inlinemediaobject. + + + +Support 'start' PI on ordered lists + + + +Fixed test of $toc PI to turn on qandaset TOC. + + + +Added process.chunk.footnotes to sect2 through +5 to fix bug of missing footnotes when chunk level greater +than 1. + + + +Added +paramater toc.max.depth which controls maximal depth of ToC +as requested by PHP-DOC group. + + + +Exempted titleabbrev from preamble processing in +lists, and fixed variablelist preamble code to use the same +syntax as the other lists. + + + +Added support for elements between variablelist +and first varlistentry since DocBook 4.2 supports that now. + + + + + +Release 1.60.1 + +Lots of bug fixes. + +The format of the titlepage.templates.xml files and +the stylesheet that transforms them have been significantly changed. All of the +attributes used to control the templates are now namespace qualified. So what +used to be: +<t:titlepage element="article" wrapper="fo:block"> +is now: +<t:titlepage t:element="article" t:wrapper="fo:block"> +Attributes from other namespaces (including those that are unqualified) are +now copied directly through. In practice, this means that the names that used +to be fo: qualified: +<title named-template="component.title" + param:node="ancestor-or-self::article[1]" + fo:text-align="center" + fo:keep-with-next="always" + fo:font-size="&hsize5;" + fo:font-weight="bold" + fo:font-family="{$title.font.family}"/> +are now unqualified: +<title t:named-template="component.title" + param:node="ancestor-or-self::article[1]" + text-align="center" + keep-with-next="always" + font-size="&hsize5;" + font-weight="bold" + font-family="{$title.font.family}"/> +The t:titlepage and t:titlepage-content +elements both generate wrappers now. And unqualified attributes on those elements +are passed through. This means that you can now make the title font apply to +ane entire titlepage and make the entire recto +titlepage centered by specifying the font and alignment on the those elements: +<t:titlepage t:element="article" t:wrapper="fo:block" + font-family="{$title.font.family}"> + + <t:titlepage-content t:side="recto" + text-align="center"> + + + + + + + +Support use of titleabbrev in running +headers and footers. + + + +Added (experimental) xref.with.number.and.title +parameter to enable number/title cross references even when the +default would +be just the number. + + + +Generate part ToCs if they're requested. + + + +Use proportional-column-width() in header/footer tables. + + + +Handle alignment correctly when screenshot +wraps a graphic in a figure. + + + +Format chapter and appendix +cross references consistently. + + + +Attempt to support tables with multiple tgroups +in FO. + + + +Output fo:table-columns in +simplelist tables. + + + +Use titlepage.templates.xml for +indexdiv and glossdiv formatting. + + + +Improve support for new bibliography elements. + + + +Added +footnote.number.format, +table.footnote.number.format, +footnote.number.symbols, and +table.footnote.number.symbols for better control of +footnote markers. + + + +Added glossentry.show.acronyms. + + + +Suppress the draft-mode page masters when +draft-mode is no. + + + +Make blank pages verso not recto. D'Oh! + + + +Improved formatting of ulink footnotes. + + + +Fixed bugs in graphic width/height calculations. + + + +Added class attributes to inline elements. + + + +Don't add .html to the filenames identified +with the dbhtml PI. + + + +Don't force a ToC when sections contain refentrys. + + + +Make section title sizes a function of the +body.master.size. + + + + + +Release 1.59.2 + +The 1.59.2 fixes an FO bug in the page masters that causes FOP to fail. + + +Removed the region-name from the region-body of blank pages. There's +no reason to give the body of blank pages a unique name and doing so causes +a mismatch that FOP detects. + + + +Output IDs for the first paragraphs in listitems. + + + +Fixed some small bugs in the handling of page numbers in double-sided mode. + + + +Attempt to prevent duplicated IDs from being produced when +endterm on xref points +to something with nested structure. + + + +Fix aligment problems in equations. + + + +Output the type attribute on unordered lists (UL) in HTML only if +the css.decoration parameter is true. + + + +Calculate the font size in formal.title.properties so that it's 1.2 times +the base font size, not a fixed "12pt". + + + + + +Release 1.59.1 + +The 1.59.1 fixes a few bugs. + + +Added Bulgarian localization. + + + +Indexing improvements; localize book indexes to books but allow setindex +to index an entire set. + + + +The default value for rowsep and colsep is now "1" as per CALS. + + + +Added support for titleabbrev (use them for cross +references). + + + +Improvements to mediaobject for selecting print vs. online +images. + + + +Added seperate property sets for figures, +examples, equations, tabless, +and procedures. + + + +Make lineannotations italic. + + + +Support xrefstyle attribute. + + + +Make endterm on +xref higher priority than +xreflabel target. + + + +Glossary formatting improvements. + + + + + +Release 1.58.0 + +The 1.58.0 adds some initial support for extensions in xsltproc, adds +a few features, and fixes bugs. + + +This release contains the first attempt at extension support for xsltproc. +The only extension available to date is the one that adjusts table column widths. +Run extensions/xsltproc/python/xslt.py. + + + +Fixed bugs in calculation of adjusted column widths to correct for rounding +errors. + + + +Support nested refsection elements correctly. + + + +Reworked gentext.template to take context into consideration. +The name of elements in localization files is now an xpath-like context list, not +just a simple name. + + + +Made some improvements to bibliography formatting. + + + +Improved graphical formatting of admonitions. + + + +Added support for entrytbl. + + + +Support spanning index terms. + + + +Support bibliosource. + + + + + +Release 1.57.0 + + +The 1.57.0 release wasn't documented here. Oops. + + + + + +Release 1.56.0 + +The 1.56.0 release fixes bugs. + + +Reworked chunking. This will break all existing customizations +layers that change the chunking algorithm. If you're customizing chunking, +look at the new content parameter that's passed to +process-chunk-element and friends. + + + +Support continued and inherited numeration in orderedlist +formatting for FOs. + + + +Added Thai localization. + + + +Tweaked stylesheet documentation stylesheets to link to TDG and +the parameter references. + + + +Allow title on tables of contents ("Table of Contents") to be optional. +Added new keyword to generate.toc. +Support tables of contents on sections. + + + +Made separate parameters for table borders and table cell borders: +table.frame.border.color, +table.frame.border.style, +table.frame.border.thickness, +table.cell.border.color, +table.cell.border.style, and +table.cell.border.thickness. + + + +Suppress formatting of endofrange indexterms. +This is only half-right. They should generate a range, but I haven't figured out how +to do that yet. + + + +Support revdescription. (Bug #582192) + + + +Added default.float.class and fixed figure +floats. (Bug #497603) + + + +Fixed formatting of sbr in FOs. + + + +Added context to the missing template error message. + + + +Process arg correctly in a group. +(Bug #605150) + + + +Removed 'keep-with-next' from formal.title.properties +attribute set now that the stylesheets support the option of putting +such titles below the object. Now the $placement value determines if +'keep-with-next' or 'keep-with-previous' is used in the title block. + + + +Wrap url() around external-destinations when appropriate. + + + +Fixed typo in compact list spacing. (Bug #615464) + + + +Removed spurious hash in anchor name. (Bug #617717) + + + +Address is now displayed verbatim on title pages. (Bug #618600) + + + +The bridgehead.in.toc parameter is now properly +supported. + + + +Improved effectiveness of HTML cleanup by increasing the number +of places where it is used. Improve use of HTML cleanup in XHTML stylesheets. + + + +Support table of contents for appendix in +article. (Bug #596599) + + + +Don't duplicate footnotes in bibliographys and +glossarys. (Bug #583282) + + + +Added default.image.width. (Bug #516859) + + + +Totally reworked funcsynopsis code; it now +supports a 'tabular' presentation style for 'wide' prototypes; see +funcsynopsis.tabular.threshold. (HTML only +right now, I think, FO support, uh, real soon now.) + + + +Reworked support for difference marking; toned down the colors a bit +and added a system.head.content template so that the diff CSS +wasn't overriding user.head.content. (Bug #610660) + + + +Added call to the *.head.content elements when writing +out long description chunks. + + + +Make sure legalnotice link is correct even when +chunking to a different base.dir. + + + +Use CSS to set viewport characteristics if +css.decoration is non-zero, use div instead of p for making +graphic a block element; make figure titles the +default alt +text for images in a figure. + + +Added space-after to list.block.spacing. + + + +Reworked section.level template to give correct answer +instead of being off by one. + + + +When processing tables, use the tabstyle +attribute as the division class. + + + +Fixed bug in html2xhtml.xsl that was causing the +XHTML chunker to output HTML instead of XHTML. + + + + + + Older releases + To view the release notes for older releases, see http://cvs.sourceforge.net/viewcvs.py/docbook/xsl/RELEASE-NOTES.xml. Be + aware that there were no release notes for releases prior to the + 1.50.0 release. + + + About dot-zero releases + DocBook Project “dot zero” releases should be + considered experimental and are always + followed by stable “dot one plus” releases, usually within + two or three weeks. Please help to ensure the stability of + “dot one plus” releases by carefully testing each + “dot zero” release and reporting back about any + problems you find. + It is not recommended that you use a “dot zero” + release in a production system. Instead, you should wait for + the “dot one” or greater versions. + + diff --git a/doc/help/xslt/TODO b/doc/help/xslt/TODO new file mode 100644 index 00000000..1f421cda --- /dev/null +++ b/doc/help/xslt/TODO @@ -0,0 +1,23 @@ +The "to do" list for the DocBook Project XSL stylesheets is +maintained at Sourceforge. To view a list of all open feature +requests for the stylesheets: + + http://docbook.sf.net/tracker/xsl/requests + +To submit a feature request against the stylesheets: + + http://docbook.sf.net/tracker/submit/request + +To do a full-text search of all DocBook Project issues: + + http://docbook.sf.net/tracker/search + +Discussion about the DocBook Project XSL stylesheets takes place +on the docbook-apps mailing list: + + http://wiki.docbook.org/topic/DocBookAppsMailingList + +Real-time discussion takes place on IRC: + + http://wiki.docbook.org/topic/DocBookIrcChannel + irc://irc.freenode.net/docbook diff --git a/doc/help/xslt/VERSION b/doc/help/xslt/VERSION new file mode 100644 index 00000000..a073fbf1 --- /dev/null +++ b/doc/help/xslt/VERSION @@ -0,0 +1,115 @@ + + + + + + + + + +docbook-xsl +1.76.0 +8900 +$Revision: 8933 $ +$URL: https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/xsl/VERSION $ + + + + + DocBook + XSL Stylesheets + + + 1.76.1 + + + + + + + +* Minor bugfixes + + + + + http://sourceforge.net/projects/docbook/ + http://prdownloads.sourceforge.net/docbook/{DISTRONAME-VERSION}.tar.gz?download + http://prdownloads.sourceforge.net/docbook/{DISTRONAME-VERSION}.zip?download + http://prdownloads.sourceforge.net/docbook/{DISTRONAME-VERSION}.bz2?download + http://sourceforge.net/project/shownotes.php?release_id={SFRELID} + http://docbook.svn.sourceforge.net/viewvc/docbook/ + http://lists.oasis-open.org/archives/docbook-apps/ + This is a release with bugfixes and some enhancements. + + + + + + + + + + + + + + + + + + + + + + + You must specify the sf-relid as a parameter. + + + + + + + + + + + + + + + + + + : + + + + + + + + + : + + + + + + + + + : + + + + + diff --git a/doc/help/xslt/catalog.xml b/doc/help/xslt/catalog.xml new file mode 100644 index 00000000..f0586468 --- /dev/null +++ b/doc/help/xslt/catalog.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/doc/help/xslt/common/af.xml b/doc/help/xslt/common/af.xml new file mode 100644 index 00000000..535b612c --- /dev/null +++ b/doc/help/xslt/common/af.xml @@ -0,0 +1,1229 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Symbols +A +a +À +à +Á +á + +â +à +ã +Ä +ä +Å +Ã¥ +Ā +ā +Ă +ă +Ą +ą +Ǎ +ǎ +Ǟ +ǟ +Ç  +Ç¡ +Ǻ +Ç» +Ȁ +ȁ +Ȃ +ȃ +Ȧ +ȧ +Ḁ +ḁ +ẚ +Ạ +ạ +Ả +ả +Ấ +ấ +Ầ +ầ +Ẩ +ẩ +Ẫ +ẫ +Ậ +ậ +Ắ +ắ +Ằ +ằ +Ẳ +ẳ +Ẵ +ẵ +Ặ +ặ +B +b +ƀ +Ɓ +ɓ +Ƃ +ƃ +Ḃ +ḃ +Ḅ +ḅ +Ḇ +ḇ +C +c +Ç +ç +Ć +ć +Ĉ +ĉ +Ċ +ċ +Č +č +Ƈ +ƈ +ɕ +Ḉ +ḉ +D +d +Ď +ď +Đ +đ +Ɗ +ɗ +Ƌ +ƌ +Dž +Dz +È¡ +ɖ +Ḋ +ḋ +Ḍ +ḍ +Ḏ +ḏ +Ḑ +ḑ +Ḓ +ḓ +E +e +È +è +É +é +Ê +ê +Ë +ë +Ē +ē +Ĕ +ĕ +Ė +ė +Ę +ę +Ě +ě +Ȅ +ȅ +Ȇ +ȇ +Ȩ +È© +Ḕ +ḕ +Ḗ +ḗ +Ḙ +ḙ +Ḛ +ḛ +Ḝ +ḝ +Ẹ +ẹ +Ẻ +ẻ +Ẽ +ẽ +Ế +ế +Ề +ề +Ể +ể +Ễ +ễ +Ệ +ệ +F +f +Ƒ +ƒ +Ḟ +ḟ +G +g +Ĝ +ĝ +Ğ +ğ +Ä  +Ä¡ +Ä¢ +Ä£ +Ɠ +É  +Ǥ +Ç¥ +Ǧ +ǧ +Ç´ +ǵ +Ḡ +ḡ +H +h +Ĥ +Ä¥ +Ħ +ħ +Ȟ +ȟ +ɦ +Ḣ +ḣ +Ḥ +ḥ +Ḧ +ḧ +Ḩ +ḩ +Ḫ +ḫ +ẖ +I +i +Ì +ì +Í +í +Î +î +Ï +ï +Ĩ +Ä© +Ī +Ä« +Ĭ +Ä­ +Ä® +į +Ä° +Ɨ +ɨ +Ǐ +ǐ +Ȉ +ȉ +Ȋ +ȋ +Ḭ +ḭ +Ḯ +ḯ +Ỉ +ỉ +Ị +ị +J +j +Ä´ +ĵ +Ç° +ʝ +K +k +Ķ +Ä· +Ƙ +ƙ +Ǩ +Ç© +Ḱ +ḱ +Ḳ +ḳ +Ḵ +ḵ +L +l +Ĺ +ĺ +Ä» +ļ +Ľ +ľ +Ä¿ +ŀ +Ł +ł +ƚ +Lj +È´ +É« +ɬ +É­ +Ḷ +ḷ +Ḹ +ḹ +Ḻ +ḻ +Ḽ +ḽ +M +m +ɱ +Ḿ +ḿ +Ṁ +ṁ +Ṃ +ṃ +N +n +Ñ +ñ +Ń +ń +Ņ +ņ +Ň +ň +Ɲ +ɲ +ƞ +È  +Nj +Ǹ +ǹ +ȵ +ɳ +Ṅ +ṅ +Ṇ +ṇ +Ṉ +ṉ +Ṋ +ṋ +O +o +Ò +ò +Ó +ó +Ô +ô +Õ +õ +Ö +ö +Ø +ø +Ō +ō +Ŏ +ŏ +Ő +ő +Ɵ +Æ  +Æ¡ +Ǒ +ǒ +Ǫ +Ç« +Ǭ +Ç­ +Ǿ +Ç¿ +Ȍ +ȍ +Ȏ +ȏ +Ȫ +È« +Ȭ +È­ +È® +ȯ +È° +ȱ +Ṍ +ṍ +Ṏ +ṏ +Ṑ +ṑ +Ṓ +ṓ +Ọ +ọ +Ỏ +ỏ +Ố +ố +Ồ +ồ +Ổ +ổ +Ỗ +ỗ +Ộ +ộ +Ớ +ớ +Ờ +ờ +Ở +ở +á»  +ỡ +Ợ +ợ +P +p +Ƥ +Æ¥ +Ṕ +ṕ +Ṗ +ṗ +Q +q +Ê  +R +r +Ŕ +ŕ +Ŗ +ŗ +Ř +ř +Ȑ +ȑ +Ȓ +ȓ +ɼ +ɽ +ɾ +Ṙ +ṙ +Ṛ +ṛ +Ṝ +ṝ +Ṟ +ṟ +S +s +Ś +ś +Ŝ +ŝ +Ş +ş +Å  +Å¡ +Ș +ș +ʂ +á¹  +ṡ +á¹¢ +á¹£ +Ṥ +á¹¥ +Ṧ +ṧ +Ṩ +ṩ +T +t +Å¢ +Å£ +Ť +Å¥ +Ŧ +ŧ +Æ« +Ƭ +Æ­ +Æ® +ʈ +Ț +ț +ȶ +Ṫ +ṫ +Ṭ +á¹­ +á¹® +ṯ +á¹° +á¹± +ẗ +U +u +Ù +ù +Ú +ú +Û +û +Ü +ü +Ũ +Å© +Ū +Å« +Ŭ +Å­ +Å® +ů +Å° +ű +Ų +ų +Ư +Æ° +Ǔ +ǔ +Ǖ +ǖ +Ǘ +ǘ +Ǚ +ǚ +Ǜ +ǜ +Ȕ +ȕ +Ȗ +ȗ +á¹² +á¹³ +á¹´ +á¹µ +Ṷ +á¹· +Ṹ +á¹¹ +Ṻ +á¹» +Ụ +ụ +Ủ +ủ +Ứ +ứ +Ừ +ừ +Ử +á»­ +á»® +ữ +á»° +á»± +V +v +Ʋ +ʋ +á¹¼ +á¹½ +á¹¾ +ṿ +W +w +Å´ +ŵ +Ẁ +ẁ +Ẃ +ẃ +Ẅ +ẅ +Ẇ +ẇ +Ẉ +ẉ +ẘ +X +x +Ẋ +ẋ +Ẍ +ẍ +Y +y +Ý +ý +ÿ +Ÿ +Ŷ +Å· +Ƴ +Æ´ +Ȳ +ȳ +Ẏ +ẏ +ẙ +Ỳ +ỳ +á»´ +ỵ +Ỷ +á»· +Ỹ +ỹ +Z +z +Ź +ź +Å» +ż +Ž +ž +Ƶ +ƶ +Ȥ +È¥ +ʐ +ʑ +Ẑ +ẑ +Ẓ +ẓ +Ẕ +ẕ + + diff --git a/doc/help/xslt/common/am.xml b/doc/help/xslt/common/am.xml new file mode 100644 index 00000000..ddb50351 --- /dev/null +++ b/doc/help/xslt/common/am.xml @@ -0,0 +1,1229 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +ምልክቶች +A +a +À +à +Á +á + +â +à +ã +Ä +ä +Å +Ã¥ +Ā +ā +Ă +ă +Ą +ą +Ǎ +ǎ +Ǟ +ǟ +Ç  +Ç¡ +Ǻ +Ç» +Ȁ +ȁ +Ȃ +ȃ +Ȧ +ȧ +Ḁ +ḁ +ẚ +Ạ +ạ +Ả +ả +Ấ +ấ +Ầ +ầ +Ẩ +ẩ +Ẫ +ẫ +Ậ +ậ +Ắ +ắ +Ằ +ằ +Ẳ +ẳ +Ẵ +ẵ +Ặ +ặ +B +b +ƀ +Ɓ +ɓ +Ƃ +ƃ +Ḃ +ḃ +Ḅ +ḅ +Ḇ +ḇ +C +c +Ç +ç +Ć +ć +Ĉ +ĉ +Ċ +ċ +Č +č +Ƈ +ƈ +ɕ +Ḉ +ḉ +D +d +Ď +ď +Đ +đ +Ɗ +ɗ +Ƌ +ƌ +Dž +Dz +È¡ +ɖ +Ḋ +ḋ +Ḍ +ḍ +Ḏ +ḏ +Ḑ +ḑ +Ḓ +ḓ +E +e +È +è +É +é +Ê +ê +Ë +ë +Ē +ē +Ĕ +ĕ +Ė +ė +Ę +ę +Ě +ě +Ȅ +ȅ +Ȇ +ȇ +Ȩ +È© +Ḕ +ḕ +Ḗ +ḗ +Ḙ +ḙ +Ḛ +ḛ +Ḝ +ḝ +Ẹ +ẹ +Ẻ +ẻ +Ẽ +ẽ +Ế +ế +Ề +ề +Ể +ể +Ễ +ễ +Ệ +ệ +F +f +Ƒ +ƒ +Ḟ +ḟ +G +g +Ĝ +ĝ +Ğ +ğ +Ä  +Ä¡ +Ä¢ +Ä£ +Ɠ +É  +Ǥ +Ç¥ +Ǧ +ǧ +Ç´ +ǵ +Ḡ +ḡ +H +h +Ĥ +Ä¥ +Ħ +ħ +Ȟ +ȟ +ɦ +Ḣ +ḣ +Ḥ +ḥ +Ḧ +ḧ +Ḩ +ḩ +Ḫ +ḫ +ẖ +I +i +Ì +ì +Í +í +Î +î +Ï +ï +Ĩ +Ä© +Ī +Ä« +Ĭ +Ä­ +Ä® +į +Ä° +Ɨ +ɨ +Ǐ +ǐ +Ȉ +ȉ +Ȋ +ȋ +Ḭ +ḭ +Ḯ +ḯ +Ỉ +ỉ +Ị +ị +J +j +Ä´ +ĵ +Ç° +ʝ +K +k +Ķ +Ä· +Ƙ +ƙ +Ǩ +Ç© +Ḱ +ḱ +Ḳ +ḳ +Ḵ +ḵ +L +l +Ĺ +ĺ +Ä» +ļ +Ľ +ľ +Ä¿ +ŀ +Ł +ł +ƚ +Lj +È´ +É« +ɬ +É­ +Ḷ +ḷ +Ḹ +ḹ +Ḻ +ḻ +Ḽ +ḽ +M +m +ɱ +Ḿ +ḿ +Ṁ +ṁ +Ṃ +ṃ +N +n +Ñ +ñ +Ń +ń +Ņ +ņ +Ň +ň +Ɲ +ɲ +ƞ +È  +Nj +Ǹ +ǹ +ȵ +ɳ +Ṅ +ṅ +Ṇ +ṇ +Ṉ +ṉ +Ṋ +ṋ +O +o +Ò +ò +Ó +ó +Ô +ô +Õ +õ +Ö +ö +Ø +ø +Ō +ō +Ŏ +ŏ +Ő +ő +Ɵ +Æ  +Æ¡ +Ǒ +ǒ +Ǫ +Ç« +Ǭ +Ç­ +Ǿ +Ç¿ +Ȍ +ȍ +Ȏ +ȏ +Ȫ +È« +Ȭ +È­ +È® +ȯ +È° +ȱ +Ṍ +ṍ +Ṏ +ṏ +Ṑ +ṑ +Ṓ +ṓ +Ọ +ọ +Ỏ +ỏ +Ố +ố +Ồ +ồ +Ổ +ổ +Ỗ +ỗ +Ộ +ộ +Ớ +ớ +Ờ +ờ +Ở +ở +á»  +ỡ +Ợ +ợ +P +p +Ƥ +Æ¥ +Ṕ +ṕ +Ṗ +ṗ +Q +q +Ê  +R +r +Ŕ +ŕ +Ŗ +ŗ +Ř +ř +Ȑ +ȑ +Ȓ +ȓ +ɼ +ɽ +ɾ +Ṙ +ṙ +Ṛ +ṛ +Ṝ +ṝ +Ṟ +ṟ +S +s +Ś +ś +Ŝ +ŝ +Ş +ş +Å  +Å¡ +Ș +ș +ʂ +á¹  +ṡ +á¹¢ +á¹£ +Ṥ +á¹¥ +Ṧ +ṧ +Ṩ +ṩ +T +t +Å¢ +Å£ +Ť +Å¥ +Ŧ +ŧ +Æ« +Ƭ +Æ­ +Æ® +ʈ +Ț +ț +ȶ +Ṫ +ṫ +Ṭ +á¹­ +á¹® +ṯ +á¹° +á¹± +ẗ +U +u +Ù +ù +Ú +ú +Û +û +Ü +ü +Ũ +Å© +Ū +Å« +Ŭ +Å­ +Å® +ů +Å° +ű +Ų +ų +Ư +Æ° +Ǔ +ǔ +Ǖ +ǖ +Ǘ +ǘ +Ǚ +ǚ +Ǜ +ǜ +Ȕ +ȕ +Ȗ +ȗ +á¹² +á¹³ +á¹´ +á¹µ +Ṷ +á¹· +Ṹ +á¹¹ +Ṻ +á¹» +Ụ +ụ +Ủ +ủ +Ứ +ứ +Ừ +ừ +Ử +á»­ +á»® +ữ +á»° +á»± +V +v +Ʋ +ʋ +á¹¼ +á¹½ +á¹¾ +ṿ +W +w +Å´ +ŵ +Ẁ +ẁ +Ẃ +ẃ +Ẅ +ẅ +Ẇ +ẇ +Ẉ +ẉ +ẘ +X +x +Ẋ +ẋ +Ẍ +ẍ +Y +y +Ý +ý +ÿ +Ÿ +Ŷ +Å· +Ƴ +Æ´ +Ȳ +ȳ +Ẏ +ẏ +ẙ +Ỳ +ỳ +á»´ +ỵ +Ỷ +á»· +Ỹ +ỹ +Z +z +Ź +ź +Å» +ż +Ž +ž +Ƶ +ƶ +Ȥ +È¥ +ʐ +ʑ +Ẑ +ẑ +Ẓ +ẓ +Ẕ +ẕ + + diff --git a/doc/help/xslt/common/ar.xml b/doc/help/xslt/common/ar.xml new file mode 100644 index 00000000..ac554568 --- /dev/null +++ b/doc/help/xslt/common/ar.xml @@ -0,0 +1,1229 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Symbols +A +a +À +à +Á +á + +â +à +ã +Ä +ä +Å +Ã¥ +Ā +ā +Ă +ă +Ą +ą +Ǎ +ǎ +Ǟ +ǟ +Ç  +Ç¡ +Ǻ +Ç» +Ȁ +ȁ +Ȃ +ȃ +Ȧ +ȧ +Ḁ +ḁ +ẚ +Ạ +ạ +Ả +ả +Ấ +ấ +Ầ +ầ +Ẩ +ẩ +Ẫ +ẫ +Ậ +ậ +Ắ +ắ +Ằ +ằ +Ẳ +ẳ +Ẵ +ẵ +Ặ +ặ +B +b +ƀ +Ɓ +ɓ +Ƃ +ƃ +Ḃ +ḃ +Ḅ +ḅ +Ḇ +ḇ +C +c +Ç +ç +Ć +ć +Ĉ +ĉ +Ċ +ċ +Č +č +Ƈ +ƈ +ɕ +Ḉ +ḉ +D +d +Ď +ď +Đ +đ +Ɗ +ɗ +Ƌ +ƌ +Dž +Dz +È¡ +ɖ +Ḋ +ḋ +Ḍ +ḍ +Ḏ +ḏ +Ḑ +ḑ +Ḓ +ḓ +E +e +È +è +É +é +Ê +ê +Ë +ë +Ē +ē +Ĕ +ĕ +Ė +ė +Ę +ę +Ě +ě +Ȅ +ȅ +Ȇ +ȇ +Ȩ +È© +Ḕ +ḕ +Ḗ +ḗ +Ḙ +ḙ +Ḛ +ḛ +Ḝ +ḝ +Ẹ +ẹ +Ẻ +ẻ +Ẽ +ẽ +Ế +ế +Ề +ề +Ể +ể +Ễ +ễ +Ệ +ệ +F +f +Ƒ +ƒ +Ḟ +ḟ +G +g +Ĝ +ĝ +Ğ +ğ +Ä  +Ä¡ +Ä¢ +Ä£ +Ɠ +É  +Ǥ +Ç¥ +Ǧ +ǧ +Ç´ +ǵ +Ḡ +ḡ +H +h +Ĥ +Ä¥ +Ħ +ħ +Ȟ +ȟ +ɦ +Ḣ +ḣ +Ḥ +ḥ +Ḧ +ḧ +Ḩ +ḩ +Ḫ +ḫ +ẖ +I +i +Ì +ì +Í +í +Î +î +Ï +ï +Ĩ +Ä© +Ī +Ä« +Ĭ +Ä­ +Ä® +į +Ä° +Ɨ +ɨ +Ǐ +ǐ +Ȉ +ȉ +Ȋ +ȋ +Ḭ +ḭ +Ḯ +ḯ +Ỉ +ỉ +Ị +ị +J +j +Ä´ +ĵ +Ç° +ʝ +K +k +Ķ +Ä· +Ƙ +ƙ +Ǩ +Ç© +Ḱ +ḱ +Ḳ +ḳ +Ḵ +ḵ +L +l +Ĺ +ĺ +Ä» +ļ +Ľ +ľ +Ä¿ +ŀ +Ł +ł +ƚ +Lj +È´ +É« +ɬ +É­ +Ḷ +ḷ +Ḹ +ḹ +Ḻ +ḻ +Ḽ +ḽ +M +m +ɱ +Ḿ +ḿ +Ṁ +ṁ +Ṃ +ṃ +N +n +Ñ +ñ +Ń +ń +Ņ +ņ +Ň +ň +Ɲ +ɲ +ƞ +È  +Nj +Ǹ +ǹ +ȵ +ɳ +Ṅ +ṅ +Ṇ +ṇ +Ṉ +ṉ +Ṋ +ṋ +O +o +Ò +ò +Ó +ó +Ô +ô +Õ +õ +Ö +ö +Ø +ø +Ō +ō +Ŏ +ŏ +Ő +ő +Ɵ +Æ  +Æ¡ +Ǒ +ǒ +Ǫ +Ç« +Ǭ +Ç­ +Ǿ +Ç¿ +Ȍ +ȍ +Ȏ +ȏ +Ȫ +È« +Ȭ +È­ +È® +ȯ +È° +ȱ +Ṍ +ṍ +Ṏ +ṏ +Ṑ +ṑ +Ṓ +ṓ +Ọ +ọ +Ỏ +ỏ +Ố +ố +Ồ +ồ +Ổ +ổ +Ỗ +ỗ +Ộ +ộ +Ớ +ớ +Ờ +ờ +Ở +ở +á»  +ỡ +Ợ +ợ +P +p +Ƥ +Æ¥ +Ṕ +ṕ +Ṗ +ṗ +Q +q +Ê  +R +r +Ŕ +ŕ +Ŗ +ŗ +Ř +ř +Ȑ +ȑ +Ȓ +ȓ +ɼ +ɽ +ɾ +Ṙ +ṙ +Ṛ +ṛ +Ṝ +ṝ +Ṟ +ṟ +S +s +Ś +ś +Ŝ +ŝ +Ş +ş +Å  +Å¡ +Ș +ș +ʂ +á¹  +ṡ +á¹¢ +á¹£ +Ṥ +á¹¥ +Ṧ +ṧ +Ṩ +ṩ +T +t +Å¢ +Å£ +Ť +Å¥ +Ŧ +ŧ +Æ« +Ƭ +Æ­ +Æ® +ʈ +Ț +ț +ȶ +Ṫ +ṫ +Ṭ +á¹­ +á¹® +ṯ +á¹° +á¹± +ẗ +U +u +Ù +ù +Ú +ú +Û +û +Ü +ü +Ũ +Å© +Ū +Å« +Ŭ +Å­ +Å® +ů +Å° +ű +Ų +ų +Ư +Æ° +Ǔ +ǔ +Ǖ +ǖ +Ǘ +ǘ +Ǚ +ǚ +Ǜ +ǜ +Ȕ +ȕ +Ȗ +ȗ +á¹² +á¹³ +á¹´ +á¹µ +Ṷ +á¹· +Ṹ +á¹¹ +Ṻ +á¹» +Ụ +ụ +Ủ +ủ +Ứ +ứ +Ừ +ừ +Ử +á»­ +á»® +ữ +á»° +á»± +V +v +Ʋ +ʋ +á¹¼ +á¹½ +á¹¾ +ṿ +W +w +Å´ +ŵ +Ẁ +ẁ +Ẃ +ẃ +Ẅ +ẅ +Ẇ +ẇ +Ẉ +ẉ +ẘ +X +x +Ẋ +ẋ +Ẍ +ẍ +Y +y +Ý +ý +ÿ +Ÿ +Ŷ +Å· +Ƴ +Æ´ +Ȳ +ȳ +Ẏ +ẏ +ẙ +Ỳ +ỳ +á»´ +ỵ +Ỷ +á»· +Ỹ +ỹ +Z +z +Ź +ź +Å» +ż +Ž +ž +Ƶ +ƶ +Ȥ +È¥ +ʐ +ʑ +Ẑ +ẑ +Ẓ +ẓ +Ẕ +ẕ + + diff --git a/doc/help/xslt/common/as.xml b/doc/help/xslt/common/as.xml new file mode 100644 index 00000000..28d0b10c --- /dev/null +++ b/doc/help/xslt/common/as.xml @@ -0,0 +1,660 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +চিহ্ন +A +a +B +b +C +c +D +d +E +e +F +f +G +g +H +h +I +i +J +j +K +k +L +l +M +m +N +n +O +o +P +p +Q +q +R +r +S +s +T +t +U +u +V +v +W +w +X +x +Y +y +Z +z + + diff --git a/doc/help/xslt/common/ast.xml b/doc/help/xslt/common/ast.xml new file mode 100644 index 00000000..26a8e186 --- /dev/null +++ b/doc/help/xslt/common/ast.xml @@ -0,0 +1,660 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Símbolos +A +a +B +b +C +c +D +d +E +e +F +f +G +g +H +h +I +i +J +j +K +k +L +l +M +m +N +n +O +o +P +p +Q +q +R +r +S +s +T +t +U +u +V +v +W +w +X +x +Y +y +Z +z + + diff --git a/doc/help/xslt/common/autoidx-kimber.xsl b/doc/help/xslt/common/autoidx-kimber.xsl new file mode 100644 index 00000000..45c785d8 --- /dev/null +++ b/doc/help/xslt/common/autoidx-kimber.xsl @@ -0,0 +1,44 @@ + + +%common.entities; + + + + +]> + + + + + + + + + + ERROR: the 'kimber' index method requires the + Saxon version 6 or 8 XSLT processor. + + + 1 + + + + + + + + diff --git a/doc/help/xslt/common/autoidx-kosek.xsl b/doc/help/xslt/common/autoidx-kosek.xsl new file mode 100644 index 00000000..3d755c4f --- /dev/null +++ b/doc/help/xslt/common/autoidx-kosek.xsl @@ -0,0 +1,154 @@ + + +%common.entities; +]> + + + + + + + + + + ERROR: the 'kosek' index method does not + work with the xsltproc XSLT processor. + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + No " + + " localization of index grouping letters exists + + + . + + + ; using "en". + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No " + + " localization of index grouping letters exists + + + . + + + ; using "en". + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/common/az.xml b/doc/help/xslt/common/az.xml new file mode 100644 index 00000000..c22ec7bf --- /dev/null +++ b/doc/help/xslt/common/az.xml @@ -0,0 +1,672 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +İşarələr +A +a +B +b +C +c +Ç +ç +D +d +E +e +e +e +Ə +ə +G +g +Ğ +ğ +H +h +X +x +I +ı +Ä° +i +J +j +K +k +Q +q +L +l +M +m +N +n +O +o +Ö +ö +P +p +R +r +S +s +Ş +ş +T +t +U +u +Ü +ü +V +v +Y +y +Z +z + + diff --git a/doc/help/xslt/common/bg.xml b/doc/help/xslt/common/bg.xml new file mode 100644 index 00000000..10e379f3 --- /dev/null +++ b/doc/help/xslt/common/bg.xml @@ -0,0 +1,724 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Цифри и знаци +А +а +Б +б +В +в +Г +г +Д +д +Е +е +Ж +ж +З +з +И +и +Й +й +К +к +Л +л +М +м +Н +н +О +о +П +п +Р +р +С +с +Т +т +У +у +Ф +ф +Ð¥ +х +Ц +ц +Ч +ч +Ш +ш +Щ +щ +Ъ +ъ +Ь +ь +Ю +ю +Я +я +Э +э +Ы +ы +A +a +B +b +C +c +D +d +E +e +F +f +G +g +H +h +I +i +J +j +K +k +L +l +M +m +N +n +O +o +P +p +Q +q +R +r +S +s +T +t +U +u +V +v +W +w +X +x +Y +y +Z +z + + diff --git a/doc/help/xslt/common/bn.xml b/doc/help/xslt/common/bn.xml new file mode 100644 index 00000000..8ca9503b --- /dev/null +++ b/doc/help/xslt/common/bn.xml @@ -0,0 +1,1229 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Symbols +A +a +À +à +Á +á + +â +à +ã +Ä +ä +Å +Ã¥ +Ā +ā +Ă +ă +Ą +ą +Ǎ +ǎ +Ǟ +ǟ +Ç  +Ç¡ +Ǻ +Ç» +Ȁ +ȁ +Ȃ +ȃ +Ȧ +ȧ +Ḁ +ḁ +ẚ +Ạ +ạ +Ả +ả +Ấ +ấ +Ầ +ầ +Ẩ +ẩ +Ẫ +ẫ +Ậ +ậ +Ắ +ắ +Ằ +ằ +Ẳ +ẳ +Ẵ +ẵ +Ặ +ặ +B +b +ƀ +Ɓ +ɓ +Ƃ +ƃ +Ḃ +ḃ +Ḅ +ḅ +Ḇ +ḇ +C +c +Ç +ç +Ć +ć +Ĉ +ĉ +Ċ +ċ +Č +č +Ƈ +ƈ +ɕ +Ḉ +ḉ +D +d +Ď +ď +Đ +đ +Ɗ +ɗ +Ƌ +ƌ +Dž +Dz +È¡ +ɖ +Ḋ +ḋ +Ḍ +ḍ +Ḏ +ḏ +Ḑ +ḑ +Ḓ +ḓ +E +e +È +è +É +é +Ê +ê +Ë +ë +Ē +ē +Ĕ +ĕ +Ė +ė +Ę +ę +Ě +ě +Ȅ +ȅ +Ȇ +ȇ +Ȩ +È© +Ḕ +ḕ +Ḗ +ḗ +Ḙ +ḙ +Ḛ +ḛ +Ḝ +ḝ +Ẹ +ẹ +Ẻ +ẻ +Ẽ +ẽ +Ế +ế +Ề +ề +Ể +ể +Ễ +ễ +Ệ +ệ +F +f +Ƒ +ƒ +Ḟ +ḟ +G +g +Ĝ +ĝ +Ğ +ğ +Ä  +Ä¡ +Ä¢ +Ä£ +Ɠ +É  +Ǥ +Ç¥ +Ǧ +ǧ +Ç´ +ǵ +Ḡ +ḡ +H +h +Ĥ +Ä¥ +Ħ +ħ +Ȟ +ȟ +ɦ +Ḣ +ḣ +Ḥ +ḥ +Ḧ +ḧ +Ḩ +ḩ +Ḫ +ḫ +ẖ +I +i +Ì +ì +Í +í +Î +î +Ï +ï +Ĩ +Ä© +Ī +Ä« +Ĭ +Ä­ +Ä® +į +Ä° +Ɨ +ɨ +Ǐ +ǐ +Ȉ +ȉ +Ȋ +ȋ +Ḭ +ḭ +Ḯ +ḯ +Ỉ +ỉ +Ị +ị +J +j +Ä´ +ĵ +Ç° +ʝ +K +k +Ķ +Ä· +Ƙ +ƙ +Ǩ +Ç© +Ḱ +ḱ +Ḳ +ḳ +Ḵ +ḵ +L +l +Ĺ +ĺ +Ä» +ļ +Ľ +ľ +Ä¿ +ŀ +Ł +ł +ƚ +Lj +È´ +É« +ɬ +É­ +Ḷ +ḷ +Ḹ +ḹ +Ḻ +ḻ +Ḽ +ḽ +M +m +ɱ +Ḿ +ḿ +Ṁ +ṁ +Ṃ +ṃ +N +n +Ñ +ñ +Ń +ń +Ņ +ņ +Ň +ň +Ɲ +ɲ +ƞ +È  +Nj +Ǹ +ǹ +ȵ +ɳ +Ṅ +ṅ +Ṇ +ṇ +Ṉ +ṉ +Ṋ +ṋ +O +o +Ò +ò +Ó +ó +Ô +ô +Õ +õ +Ö +ö +Ø +ø +Ō +ō +Ŏ +ŏ +Ő +ő +Ɵ +Æ  +Æ¡ +Ǒ +ǒ +Ǫ +Ç« +Ǭ +Ç­ +Ǿ +Ç¿ +Ȍ +ȍ +Ȏ +ȏ +Ȫ +È« +Ȭ +È­ +È® +ȯ +È° +ȱ +Ṍ +ṍ +Ṏ +ṏ +Ṑ +ṑ +Ṓ +ṓ +Ọ +ọ +Ỏ +ỏ +Ố +ố +Ồ +ồ +Ổ +ổ +Ỗ +ỗ +Ộ +ộ +Ớ +ớ +Ờ +ờ +Ở +ở +á»  +ỡ +Ợ +ợ +P +p +Ƥ +Æ¥ +Ṕ +ṕ +Ṗ +ṗ +Q +q +Ê  +R +r +Ŕ +ŕ +Ŗ +ŗ +Ř +ř +Ȑ +ȑ +Ȓ +ȓ +ɼ +ɽ +ɾ +Ṙ +ṙ +Ṛ +ṛ +Ṝ +ṝ +Ṟ +ṟ +S +s +Ś +ś +Ŝ +ŝ +Ş +ş +Å  +Å¡ +Ș +ș +ʂ +á¹  +ṡ +á¹¢ +á¹£ +Ṥ +á¹¥ +Ṧ +ṧ +Ṩ +ṩ +T +t +Å¢ +Å£ +Ť +Å¥ +Ŧ +ŧ +Æ« +Ƭ +Æ­ +Æ® +ʈ +Ț +ț +ȶ +Ṫ +ṫ +Ṭ +á¹­ +á¹® +ṯ +á¹° +á¹± +ẗ +U +u +Ù +ù +Ú +ú +Û +û +Ü +ü +Ũ +Å© +Ū +Å« +Ŭ +Å­ +Å® +ů +Å° +ű +Ų +ų +Ư +Æ° +Ǔ +ǔ +Ǖ +ǖ +Ǘ +ǘ +Ǚ +ǚ +Ǜ +ǜ +Ȕ +ȕ +Ȗ +ȗ +á¹² +á¹³ +á¹´ +á¹µ +Ṷ +á¹· +Ṹ +á¹¹ +Ṻ +á¹» +Ụ +ụ +Ủ +ủ +Ứ +ứ +Ừ +ừ +Ử +á»­ +á»® +ữ +á»° +á»± +V +v +Ʋ +ʋ +á¹¼ +á¹½ +á¹¾ +ṿ +W +w +Å´ +ŵ +Ẁ +ẁ +Ẃ +ẃ +Ẅ +ẅ +Ẇ +ẇ +Ẉ +ẉ +ẘ +X +x +Ẋ +ẋ +Ẍ +ẍ +Y +y +Ý +ý +ÿ +Ÿ +Ŷ +Å· +Ƴ +Æ´ +Ȳ +ȳ +Ẏ +ẏ +ẙ +Ỳ +ỳ +á»´ +ỵ +Ỷ +á»· +Ỹ +ỹ +Z +z +Ź +ź +Å» +ż +Ž +ž +Ƶ +ƶ +Ȥ +È¥ +ʐ +ʑ +Ẑ +ẑ +Ẓ +ẓ +Ẕ +ẕ + + diff --git a/doc/help/xslt/common/bn_in.xml b/doc/help/xslt/common/bn_in.xml new file mode 100644 index 00000000..88404a0f --- /dev/null +++ b/doc/help/xslt/common/bn_in.xml @@ -0,0 +1,660 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +সংকেত +A +a +B +b +C +c +D +d +E +e +F +f +G +g +H +h +I +i +J +j +K +k +L +l +M +m +N +n +O +o +P +p +Q +q +R +r +S +s +T +t +U +u +V +v +W +w +X +x +Y +y +Z +z + + diff --git a/doc/help/xslt/common/bs.xml b/doc/help/xslt/common/bs.xml new file mode 100644 index 00000000..bd9b281b --- /dev/null +++ b/doc/help/xslt/common/bs.xml @@ -0,0 +1,662 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Simboli +A +a +B +b +C +c +Ć +ć +Č +č +D +d +Đ +đ +E +e +F +f +G +g +H +h +I +i +J +j +K +k +L +l +M +m +N +n +O +o +P +p +R +r +S +s +Å  +Å¡ +T +t +U +u +V +v +Z +z +Ž +ž + + diff --git a/doc/help/xslt/common/ca.xml b/doc/help/xslt/common/ca.xml new file mode 100644 index 00000000..95fd48b4 --- /dev/null +++ b/doc/help/xslt/common/ca.xml @@ -0,0 +1,660 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Símbols +A +a +B +b +C +c +D +d +E +e +F +f +G +g +H +h +I +i +J +j +K +k +L +l +M +m +N +n +O +o +P +p +Q +q +R +r +S +s +T +t +U +u +V +v +W +w +X +x +Y +y +Z +z + + diff --git a/doc/help/xslt/common/charmap.xml b/doc/help/xslt/common/charmap.xml new file mode 100644 index 00000000..a12a84f2 --- /dev/null +++ b/doc/help/xslt/common/charmap.xml @@ -0,0 +1,185 @@ + + + + + Common » Character-Map Template Reference + + $Id: charmap.xsl 7266 2007-08-22 11:58:42Z xmldoc $ + + + + + Introduction + +This is technical reference documentation for the + character-map templates in the DocBook XSL Stylesheets. + + + +These templates are defined in a separate file from the set + of “common” templates because some of the common templates + reference DocBook XSL stylesheet parameters, requiring the + entire set of parameters to be imported/included in any + stylesheet that imports/includes the common templates. + + +The character-map templates don’t import or include + any DocBook XSL stylesheet parameters, so the + character-map templates can be used without importing the + whole set of parameters. + + + +This is not intended to be user documentation. It is + provided for developers writing customization layers for the + stylesheets. + + + + + +apply-character-map +Applies an XSLT character map + + +<xsl:template name="apply-character-map"> +<xsl:param name="content"/> +<xsl:param name="map.contents"/> + ... +</xsl:template> + +Description + +This template applies an XSLT character map; that is, it causes certain + individual characters to be substituted with strings of one + or more characters. It is useful mainly for replacing + multiple “special” characters or symbols in the same target + content. It uses the value of + map.contents to do substitution on + content, and then returns the + modified contents. + + + +This template is a very slightly modified version of + Jeni Tennison’s replace_strings + template in the multiple string replacements section of Dave Pawson’s + XSLT FAQ. + + +The apply-string-subst-map + template is essentially the same template as the + apply-character-map template; the + only difference is that in the map that + apply-string-subst-map expects, oldstring and newstring attributes are used + instead of character and string attributes. + + + Parameters + + + content + + +The content on which to perform the character-map + substitution. + + + + map.contents + + +A node set of elements, with each element having + the following attributes: + + + + character, a + character to be replaced + + + string, a + string with which to replace character + + + + + + + + + + + + + +read-character-map +Reads in all or part of an XSLT character map + + +<xsl:template name="read-character-map"> +<xsl:param name="use.subset"/> +<xsl:param name="subset.profile"/> +<xsl:param name="uri"/> + ... +</xsl:template> + +Description + +The XSLT 2.0 specification describes character maps and explains how they may be used + to allow a specific character appearing in a text or + attribute node in a final result tree to be substituted by + a specified string of characters during serialization. The + read-character-map template provides a + means for reading and using character maps with XSLT + 1.0-based tools. + + +This template reads the character-map contents from + uri (in full or in part, depending on + the value of the use.subset + parameter), then passes those contents to the + apply-character-map template, along with + content, the data on which to perform + the character substitution. + + +Using the character map “in part” means that it uses only + those output-character elements that match the + XPath expression given in the value of the + subset.profile parameter. The current + implementation of that capability here relies on the + evaluate extension XSLT function. + + Parameters + + + use.subset + + +Specifies whether to use a subset of the character + map instead of the whole map; boolean + 0 or 1 + + + + subset.profile + + +XPath expression that specifies what subset of the + character map to use + + + + uri + + +URI for a character map + + + + + + + + diff --git a/doc/help/xslt/common/charmap.xsl b/doc/help/xslt/common/charmap.xsl new file mode 100644 index 00000000..3e0f5d4d --- /dev/null +++ b/doc/help/xslt/common/charmap.xsl @@ -0,0 +1,221 @@ + + + + + + + Common » Character-Map Template Reference + + $Id: charmap.xsl 7266 2007-08-22 11:58:42Z xmldoc $ + + + + + Introduction + This is technical reference documentation for the + character-map templates in the DocBook XSL Stylesheets. + + These templates are defined in a separate file from the set + of “common” templates because some of the common templates + reference DocBook XSL stylesheet parameters, requiring the + entire set of parameters to be imported/included in any + stylesheet that imports/includes the common templates. + The character-map templates don’t import or include + any DocBook XSL stylesheet parameters, so the + character-map templates can be used without importing the + whole set of parameters. + + This is not intended to be user documentation. It is + provided for developers writing customization layers for the + stylesheets. + + + + + + Applies an XSLT character map + + This template applies an XSLT character map; that is, it causes certain + individual characters to be substituted with strings of one + or more characters. It is useful mainly for replacing + multiple “special” characters or symbols in the same target + content. It uses the value of + map.contents to do substitution on + content, and then returns the + modified contents. + + This template is a very slightly modified version of + Jeni Tennison’s replace_strings + template in the multiple string replacements section of Dave Pawson’s + XSLT FAQ. + The apply-string-subst-map + template is essentially the same template as the + apply-character-map template; the + only difference is that in the map that + apply-string-subst-map expects, oldstring and newstring attributes are used + instead of character and string attributes. + + + + + content + + The content on which to perform the character-map + substitution. + + + map.contents + + A node set of elements, with each element having + the following attributes: + + + character, a + character to be replaced + + + string, a + string with which to replace character + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Reads in all or part of an XSLT character map + + The XSLT 2.0 specification describes character maps and explains how they may be used + to allow a specific character appearing in a text or + attribute node in a final result tree to be substituted by + a specified string of characters during serialization. The + read-character-map template provides a + means for reading and using character maps with XSLT + 1.0-based tools. + This template reads the character-map contents from + uri (in full or in part, depending on + the value of the use.subset + parameter), then passes those contents to the + apply-character-map template, along with + content, the data on which to perform + the character substitution. + Using the character map “in part” means that it uses only + those output-character elements that match the + XPath expression given in the value of the + subset.profile parameter. The current + implementation of that capability here relies on the + evaluate extension XSLT function. + + + + use.subset + + Specifies whether to use a subset of the character + map instead of the whole map; boolean + 0 or 1 + + + subset.profile + + XPath expression that specifies what subset of the + character map to use + + + uri + + URI for a character map + + + + + + + + + + + + + + + + + + + + + + + +Error: To process character-map subsets, you must use an XSLT engine +that supports the evaluate() XSLT extension function. Your XSLT engine +does not support it. + + + + + + + + + + + + diff --git a/doc/help/xslt/common/common.xml b/doc/help/xslt/common/common.xml new file mode 100644 index 00000000..da79980e --- /dev/null +++ b/doc/help/xslt/common/common.xml @@ -0,0 +1,622 @@ + + + + + Common » Base Template Reference + + $Id: common.xsl 8784 2010-07-28 12:32:54Z mzjn $ + + + + + Introduction + +This is technical reference documentation for the “base” + set of common templates in the DocBook XSL Stylesheets. + + +This is not intended to be user documentation. It is + provided for developers writing customization layers for the + stylesheets. + + + + + +is.component +Tests if a given node is a component-level element + + +<xsl:template name="is.component"> +<xsl:param name="node" select="."/> + ... +</xsl:template> + +Description + +This template returns '1' if the specified node is a component +(Chapter, Appendix, etc.), and '0' otherwise. + +Parameters + + +node + + +The node which is to be tested. + + + + + +Returns + +This template returns '1' if the specified node is a component +(Chapter, Appendix, etc.), and '0' otherwise. + + + + + +is.section +Tests if a given node is a section-level element + + +<xsl:template name="is.section"> +<xsl:param name="node" select="."/> + ... +</xsl:template> + +Description + +This template returns '1' if the specified node is a section +(Section, Sect1, Sect2, etc.), and '0' otherwise. + +Parameters + + +node + + +The node which is to be tested. + + + + + +Returns + +This template returns '1' if the specified node is a section +(Section, Sect1, Sect2, etc.), and '0' otherwise. + + + + + +section.level +Returns the hierarchical level of a section + + +<xsl:template name="section.level"> +<xsl:param name="node" select="."/> + ... +</xsl:template> + +Description + +This template calculates the hierarchical level of a section. +The element sect1 is at level 1, sect2 is +at level 2, etc. + + + +Recursive sections are calculated down to the fifth level. + +Parameters + + +node + + +The section node for which the level should be calculated. +Defaults to the context node. + + + + + +Returns + +The section level, 1, 2, etc. + + + + + + +qanda.section.level +Returns the hierarchical level of a QandASet + + +<xsl:template name="qanda.section.level"/> + +Description + +This template calculates the hierarchical level of a QandASet. + + +Returns + +The level, 1, 2, etc. + + + + + + +select.mediaobject +Selects and processes an appropriate media object from a list + + +<xsl:template name="select.mediaobject"> +<xsl:param name="olist" select="imageobject|imageobjectco |videoobject|audioobject|textobject"/> + ... +</xsl:template> + +Description + +This template takes a list of media objects (usually the +children of a mediaobject or inlinemediaobject) and processes +the "right" object. + + + +This template relies on a template named +"select.mediaobject.index" to determine which object +in the list is appropriate. + + + +If no acceptable object is located, nothing happens. + +Parameters + + +olist + + +The node list of potential objects to examine. + + + + + +Returns + +Calls <xsl:apply-templates> on the selected object. + + + + + +select.mediaobject.index +Selects the position of the appropriate media object from a list + + +<xsl:template name="select.mediaobject.index"> +<xsl:param name="olist" select="imageobject|imageobjectco |videoobject|audioobject|textobject"/> +<xsl:param name="count">1</xsl:param> + ... +</xsl:template> + +Description + +This template takes a list of media objects (usually the +children of a mediaobject or inlinemediaobject) and determines +the "right" object. It returns the position of that object +to be used by the calling template. + + + +If the parameter use.role.for.mediaobject +is nonzero, then it first checks for an object with +a role attribute of the appropriate value. It takes the first +of those. Otherwise, it takes the first acceptable object +through a recursive pass through the list. + + + +This template relies on a template named "is.acceptable.mediaobject" +to determine if a given object is an acceptable graphic. The semantics +of media objects is that the first acceptable graphic should be used. + + + + +If no acceptable object is located, no index is returned. + +Parameters + + +olist + + +The node list of potential objects to examine. + + + +count + + +The position in the list currently being considered by the +recursive process. + + + + + +Returns + +Returns the position in the original list of the selected object. + + + + + +is.acceptable.mediaobject +Returns '1' if the specified media object is recognized + + +<xsl:template name="is.acceptable.mediaobject"> +<xsl:param name="object"/> + ... +</xsl:template> + +Description + +This template examines a media object and returns '1' if the +object is recognized as a graphic. + +Parameters + + +object + + +The media object to consider. + + + + + +Returns + +0 or 1 + + + + + +check.id.unique +Warn users about references to non-unique IDs + + +<xsl:template name="check.id.unique"> +<xsl:param name="linkend"/> + ... +</xsl:template> + +Description + +If passed an ID in linkend, +check.id.unique prints +a warning message to the user if either the ID does not exist or +the ID is not unique. + + + + + +check.idref.targets +Warn users about incorrectly typed references + + +<xsl:template name="check.idref.targets"> +<xsl:param name="linkend"/> +<xsl:param name="element-list"/> + ... +</xsl:template> + +Description + +If passed an ID in linkend, +check.idref.targets makes sure that the element +pointed to by the link is one of the elements listed in +element-list and warns the user otherwise. + + + + + +copyright.years +Print a set of years with collapsed ranges + + +<xsl:template name="copyright.years"> +<xsl:param name="years"/> +<xsl:param name="print.ranges" select="1"/> +<xsl:param name="single.year.ranges" select="0"/> +<xsl:param name="firstyear" select="0"/> +<xsl:param name="nextyear" select="0"/> + ... +</xsl:template> + +Description + +This template prints a list of year elements with consecutive +years printed as a range. In other words: + + +<year>1992</year> +<year>1993</year> +<year>1994</year> + + +is printed 1992-1994, whereas: + + +<year>1992</year> +<year>1994</year> + + +is printed 1992, 1994. + + + +This template assumes that all the year elements contain only +decimal year numbers, that the elements are sorted in increasing +numerical order, that there are no duplicates, and that all the years +are expressed in full century+year +(1999 not 99) notation. + +Parameters + + +years + + +The initial set of year elements. + + + +print.ranges + + +If non-zero, multi-year ranges are collapsed. If zero, all years +are printed discretely. + + + +single.year.ranges + + +If non-zero, two consecutive years will be printed as a range, +otherwise, they will be printed discretely. In other words, a single +year range is 1991-1992 but discretely it's +1991, 1992. + + + + + +Returns + +This template returns the formatted list of years. + + + + + +find.path.params +Search in a table for the "best" match for the node + + +<xsl:template name="find.path.params"> +<xsl:param name="node" select="."/> +<xsl:param name="table" select="''"/> +<xsl:param name="location"> + <xsl:call-template name="xpath.location"> + <xsl:with-param name="node" select="$node"/> + </xsl:call-template> + </xsl:param> + ... +</xsl:template> + +Description + +This template searches in a table for the value that most-closely +(in the typical best-match sense of XSLT) matches the current (element) +node location. + + + + + +string.upper +Converts a string to all uppercase letters + + +<xsl:template name="string.upper"> +<xsl:param name="string" select="''"/> + ... +</xsl:template> + +Description + +Given a string, this template does a language-aware conversion +of that string to all uppercase letters, based on the values of the +lowercase.alpha and +uppercase.alpha gentext keys for the current +locale. It affects only those characters found in the values of +lowercase.alpha and +uppercase.alpha. All other characters are left +unchanged. + +Parameters + + +string + + +The string to convert to uppercase. + + + + + + + + + +string.lower +Converts a string to all lowercase letters + + +<xsl:template name="string.lower"> +<xsl:param name="string" select="''"/> + ... +</xsl:template> + +Description + +Given a string, this template does a language-aware conversion +of that string to all lowercase letters, based on the values of the +uppercase.alpha and +lowercase.alpha gentext keys for the current +locale. It affects only those characters found in the values of +uppercase.alpha and +lowercase.alpha. All other characters are left +unchanged. + +Parameters + + +string + + +The string to convert to lowercase. + + + + + + + + + +select.choice.separator +Returns localized choice separator + + +<xsl:template name="select.choice.separator"/> + +Description + +This template enables auto-generation of an appropriate + localized "choice" separator (for example, "and" or "or") before + the final item in an inline list (though it could also be useful + for generating choice separators for non-inline lists). + + +It currently works by evaluating a processing instruction + (PI) of the form <?dbchoice choice="foo"?> : + + + + if the value of the choice + pseudo-attribute is "and" or "or", returns a localized "and" + or "or" + + + otherwise returns the literal value of the + choice pseudo-attribute + + + + The latter is provided only as a temporary workaround because the + locale files do not currently have translations for the word + or. So if you want to generate a a + logical "or" separator in French (for example), you currently need + to do this: + <?dbchoice choice="ou"?> + + + + +The dbchoice processing instruction is + an unfortunate hack; support for it may disappear in the future + (particularly if and when a more appropriate means for marking + up "choice" lists becomes available in DocBook). + + + + + + +evaluate.info.profile +Evaluates an info profile + + +<xsl:template name="evaluate.info.profile"> +<xsl:param name="profile"/> +<xsl:param name="info"/> + ... +</xsl:template> + +Description + +This template evaluates an "info profile" matching the XPath + expression given by the profile + parameter. It relies on the XSLT evaluate() + extension function. + + + +The value of the profile parameter + can include the literal string $info. If found + in the value of the profile parameter, the + literal string $info string is replaced with + the value of the info parameter, which + should be a set of *info nodes; the + expression is then evaluated using the XSLT + evaluate() extension function. + + Parameters + + + + profile + + +A string representing an XPath expression + + + + + info + + +A set of *info nodes + + + + + + Returns + +Returns a node (the result of evaluating the + profile parameter) + + + + diff --git a/doc/help/xslt/common/common.xsl b/doc/help/xslt/common/common.xsl new file mode 100644 index 00000000..ab8fbb01 --- /dev/null +++ b/doc/help/xslt/common/common.xsl @@ -0,0 +1,2039 @@ + + + + + + + + Common » Base Template Reference + + $Id: common.xsl 8784 2010-07-28 12:32:54Z mzjn $ + + + + + Introduction + This is technical reference documentation for the “base” + set of common templates in the DocBook XSL Stylesheets. + This is not intended to be user documentation. It is + provided for developers writing customization layers for the + stylesheets. + + + + + + + + + + + + +Tests if a given node is a component-level element + + +This template returns '1' if the specified node is a component +(Chapter, Appendix, etc.), and '0' otherwise. + + + + +node + +The node which is to be tested. + + + + + + +This template returns '1' if the specified node is a component +(Chapter, Appendix, etc.), and '0' otherwise. + + + + + + + 1 + 0 + + + + + + +Tests if a given node is a section-level element + + +This template returns '1' if the specified node is a section +(Section, Sect1, Sect2, etc.), and '0' otherwise. + + + + +node + +The node which is to be tested. + + + + + + +This template returns '1' if the specified node is a section +(Section, Sect1, Sect2, etc.), and '0' otherwise. + + + + + + + 1 + 0 + + + + + + +Returns the hierarchical level of a section + + +This template calculates the hierarchical level of a section. +The element sect1 is at level 1, sect2 is +at level 2, etc. + +Recursive sections are calculated down to the fifth level. + + + + +node + +The section node for which the level should be calculated. +Defaults to the context node. + + + + + + +The section level, 1, 2, etc. + + + + + + + + 1 + 2 + 3 + 4 + 5 + + + 6 + 5 + 4 + 3 + 2 + 1 + + + + + + + + + + 2 + 3 + 4 + 5 + 5 + + + 5 + 4 + 3 + 2 + + + 1 + + + 1 + + + + +Returns the hierarchical level of a QandASet + + +This template calculates the hierarchical level of a QandASet. + + + + +The level, 1, 2, etc. + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + 1 + 1 + 2 + 3 + + + 5 + 4 + 3 + 2 + 1 + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + question + answer + qandadiv + qandaset + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [FAMILY Given] + + + + + + + + + , + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + , + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +[ +] +{ +} + + +[ +] +... + + + | +4pi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Selects and processes an appropriate media object from a list + + +This template takes a list of media objects (usually the +children of a mediaobject or inlinemediaobject) and processes +the "right" object. + +This template relies on a template named +"select.mediaobject.index" to determine which object +in the list is appropriate. + +If no acceptable object is located, nothing happens. + + + + +olist + +The node list of potential objects to examine. + + + + + + +Calls <xsl:apply-templates> on the selected object. + + + + + + + + + + + + + + + + + + + + + +Selects the position of the appropriate media object from a list + + +This template takes a list of media objects (usually the +children of a mediaobject or inlinemediaobject) and determines +the "right" object. It returns the position of that object +to be used by the calling template. + +If the parameter use.role.for.mediaobject +is nonzero, then it first checks for an object with +a role attribute of the appropriate value. It takes the first +of those. Otherwise, it takes the first acceptable object +through a recursive pass through the list. + +This template relies on a template named "is.acceptable.mediaobject" +to determine if a given object is an acceptable graphic. The semantics +of media objects is that the first acceptable graphic should be used. + + +If no acceptable object is located, no index is returned. + + + + +olist + +The node list of potential objects to examine. + + +count + +The position in the list currently being considered by the +recursive process. + + + + + + +Returns the position in the original list of the selected object. + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Returns '1' if the specified media object is recognized + + +This template examines a media object and returns '1' if the +object is recognized as a graphic. + + + + +object + +The media object to consider. + + + + + + +0 or 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + 1 + 1 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . + + + + + + + + + + + + . + + + + + + + + + + + + + + + + +Warn users about references to non-unique IDs + +If passed an ID in linkend, +check.id.unique prints +a warning message to the user if either the ID does not exist or +the ID is not unique. + + + + + + + + + + + + Error: no ID for constraint linkend: + + . + + + + + + + Warning: multiple "IDs" for constraint linkend: + + . + + + + + + +Warn users about incorrectly typed references + +If passed an ID in linkend, +check.idref.targets makes sure that the element +pointed to by the link is one of the elements listed in +element-list and warns the user otherwise. + + + + + + + + + + + + + + Error: linkend ( + + ) points to " + + " not (one of): + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Unexpected context in procedure.step.numeration: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + loweralpha + lowerroman + upperalpha + upperroman + arabic + arabic + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1. + a. + i. + A. + I. + + + + Unexpected numeration: + + + + + + + + + + + + + + + + + + + + + + + + + + circle + square + disc + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Print a set of years with collapsed ranges + + +This template prints a list of year elements with consecutive +years printed as a range. In other words: + +1992 +1993 +1994]]> + +is printed 1992-1994, whereas: + +1992 +1994]]> + +is printed 1992, 1994. + +This template assumes that all the year elements contain only +decimal year numbers, that the elements are sorted in increasing +numerical order, that there are no duplicates, and that all the years +are expressed in full century+year +(1999 not 99) notation. + + + + +years + +The initial set of year elements. + + +print.ranges + +If non-zero, multi-year ranges are collapsed. If zero, all years +are printed discretely. + + +single.year.ranges + +If non-zero, two consecutive years will be printed as a range, +otherwise, they will be printed discretely. In other words, a single +year range is 1991-1992 but discretely it's +1991, 1992. + + + + + + +This template returns the formatted list of years. + + + + + + + + + + + + + + + + + + + + + , + + + + + + + + + + + + + + + + + + + + + + + + , + + + + + - + + + + + + + + + , + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + , + + + + , + + , + + + + - + + , + + + + + + + + + + + + + + + + +Search in a table for the "best" match for the node + + +This template searches in a table for the value that most-closely +(in the typical best-match sense of XSLT) matches the current (element) +node location. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + / + + + + + + + + + +Converts a string to all uppercase letters + + +Given a string, this template does a language-aware conversion +of that string to all uppercase letters, based on the values of the +lowercase.alpha and +uppercase.alpha gentext keys for the current +locale. It affects only those characters found in the values of +lowercase.alpha and +uppercase.alpha. All other characters are left +unchanged. + + + + +string + +The string to convert to uppercase. + + + + + + + + + + + + + + + + + + + + + + + +Converts a string to all lowercase letters + + +Given a string, this template does a language-aware conversion +of that string to all lowercase letters, based on the values of the +uppercase.alpha and +lowercase.alpha gentext keys for the current +locale. It affects only those characters found in the values of +uppercase.alpha and +lowercase.alpha. All other characters are left +unchanged. + + + + +string + +The string to convert to lowercase. + + + + + + + + + + + + + + + + + + + + + + + + Returns localized choice separator + + This template enables auto-generation of an appropriate + localized "choice" separator (for example, "and" or "or") before + the final item in an inline list (though it could also be useful + for generating choice separators for non-inline lists). + It currently works by evaluating a processing instruction + (PI) of the form <?dbchoice choice="foo"?> : + + + if the value of the choice + pseudo-attribute is "and" or "or", returns a localized "and" + or "or" + + + otherwise returns the literal value of the + choice pseudo-attribute + + + The latter is provided only as a temporary workaround because the + locale files do not currently have translations for the word + or. So if you want to generate a a + logical "or" separator in French (for example), you currently need + to do this: + <?dbchoice choice="ou"?> + + + The dbchoice processing instruction is + an unfortunate hack; support for it may disappear in the future + (particularly if and when a more appropriate means for marking + up "choice" lists becomes available in DocBook). + + + + + + + + + + + + + + + + + + + + + + + + + + Evaluates an info profile + + This template evaluates an "info profile" matching the XPath + expression given by the profile + parameter. It relies on the XSLT evaluate() + extension function. + + The value of the profile parameter + can include the literal string $info. If found + in the value of the profile parameter, the + literal string $info string is replaced with + the value of the info parameter, which + should be a set of *info nodes; the + expression is then evaluated using the XSLT + evaluate() extension function. + + + + + profile + + A string representing an XPath expression + + + + info + + A set of *info nodes + + + + + + + Returns a node (the result of evaluating the + profile parameter) + + + + + + + + + + + + + + + + +Error: The "info profiling" mechanism currently requires an XSLT +engine that supports the evaluate() XSLT extension function. Your XSLT +engine does not support it. + + + + + diff --git a/doc/help/xslt/common/cs.xml b/doc/help/xslt/common/cs.xml new file mode 100644 index 00000000..b803f79b --- /dev/null +++ b/doc/help/xslt/common/cs.xml @@ -0,0 +1,700 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Symboly +A +a +Á +á +B +b +C +c +Č +č +D +d +Ď +ď +E +e +É +é +Ě +ě +Ë +ë +F +f +G +g +H +h +Ch +ch +cH +CH +I +i +Í +í +J +j +K +k +L +l +M +m +N +n +Ň +ň +O +o +Ó +ó +Ö +ö +P +p +Q +q +R +r +Ř +ř +S +s +Å  +Å¡ +T +t +Ť +Å¥ +U +u +Ú +ú +Å® +ů +Ü +ü +V +v +W +w +X +x +Y +y +Ý +ý +Z +z +Ž +ž + + diff --git a/doc/help/xslt/common/cy.xml b/doc/help/xslt/common/cy.xml new file mode 100644 index 00000000..bc0f08a4 --- /dev/null +++ b/doc/help/xslt/common/cy.xml @@ -0,0 +1,1245 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Symbols +A +a +À +à +Á +á + +â +à +ã +Ä +ä +Å +Ã¥ +Ā +ā +Ă +ă +Ą +ą +Ǎ +ǎ +Ǟ +ǟ +Ç  +Ç¡ +Ǻ +Ç» +Ȁ +ȁ +Ȃ +ȃ +Ȧ +ȧ +Ḁ +ḁ +ẚ +Ạ +ạ +Ả +ả +Ấ +ấ +Ầ +ầ +Ẩ +ẩ +Ẫ +ẫ +Ậ +ậ +Ắ +ắ +Ằ +ằ +Ẳ +ẳ +Ẵ +ẵ +Ặ +ặ +B +b +ƀ +Ɓ +ɓ +Ƃ +ƃ +Ḃ +ḃ +Ḅ +ḅ +Ḇ +ḇ +C +c +Ç +ç +Ć +ć +Ĉ +ĉ +Ċ +ċ +Č +č +Ƈ +ƈ +ɕ +Ḉ +ḉ +Ch +ch +D +d +Ď +ď +Đ +đ +Ɗ +ɗ +Ƌ +ƌ +Dž +Dz +È¡ +ɖ +Ḋ +ḋ +Ḍ +ḍ +Ḏ +ḏ +Ḑ +ḑ +Ḓ +ḓ +Dd +dd +E +e +È +è +É +é +Ê +ê +Ë +ë +Ē +ē +Ĕ +ĕ +Ė +ė +Ę +ę +Ě +ě +Ȅ +ȅ +Ȇ +ȇ +Ȩ +È© +Ḕ +ḕ +Ḗ +ḗ +Ḙ +ḙ +Ḛ +ḛ +Ḝ +ḝ +Ẹ +ẹ +Ẻ +ẻ +Ẽ +ẽ +Ế +ế +Ề +ề +Ể +ể +Ễ +ễ +Ệ +ệ +F +f +Ƒ +ƒ +Ḟ +ḟ +Ff +ff +G +g +Ĝ +ĝ +Ğ +ğ +Ä  +Ä¡ +Ä¢ +Ä£ +Ɠ +É  +Ǥ +Ç¥ +Ǧ +ǧ +Ç´ +ǵ +Ḡ +ḡ +Ng +ng +H +h +Ĥ +Ä¥ +Ħ +ħ +Ȟ +ȟ +ɦ +Ḣ +ḣ +Ḥ +ḥ +Ḧ +ḧ +Ḩ +ḩ +Ḫ +ḫ +ẖ +I +i +Ì +ì +Í +í +Î +î +Ï +ï +Ĩ +Ä© +Ī +Ä« +Ĭ +Ä­ +Ä® +į +Ä° +Ɨ +ɨ +Ǐ +ǐ +Ȉ +ȉ +Ȋ +ȋ +Ḭ +ḭ +Ḯ +ḯ +Ỉ +ỉ +Ị +ị +J +j +Ä´ +ĵ +Ç° +ʝ +K +k +Ķ +Ä· +Ƙ +ƙ +Ǩ +Ç© +Ḱ +ḱ +Ḳ +ḳ +Ḵ +ḵ +L +l +Ĺ +ĺ +Ä» +ļ +Ľ +ľ +Ä¿ +ŀ +Ł +ł +ƚ +Lj +È´ +É« +ɬ +É­ +Ḷ +ḷ +Ḹ +ḹ +Ḻ +ḻ +Ḽ +ḽ +Ll +ll +M +m +ɱ +Ḿ +ḿ +Ṁ +ṁ +Ṃ +ṃ +N +n +Ñ +ñ +Ń +ń +Ņ +ņ +Ň +ň +Ɲ +ɲ +ƞ +È  +Nj +Ǹ +ǹ +ȵ +ɳ +Ṅ +ṅ +Ṇ +ṇ +Ṉ +ṉ +Ṋ +ṋ +O +o +Ò +ò +Ó +ó +Ô +ô +Õ +õ +Ö +ö +Ø +ø +Ō +ō +Ŏ +ŏ +Ő +ő +Ɵ +Æ  +Æ¡ +Ǒ +ǒ +Ǫ +Ç« +Ǭ +Ç­ +Ǿ +Ç¿ +Ȍ +ȍ +Ȏ +ȏ +Ȫ +È« +Ȭ +È­ +È® +ȯ +È° +ȱ +Ṍ +ṍ +Ṏ +ṏ +Ṑ +ṑ +Ṓ +ṓ +Ọ +ọ +Ỏ +ỏ +Ố +ố +Ồ +ồ +Ổ +ổ +Ỗ +ỗ +Ộ +ộ +Ớ +ớ +Ờ +ờ +Ở +ở +á»  +ỡ +Ợ +ợ +P +p +Ƥ +Æ¥ +Ṕ +ṕ +Ṗ +ṗ +Ph +ph +Q +q +Ê  +R +r +Ŕ +ŕ +Ŗ +ŗ +Ř +ř +Ȑ +ȑ +Ȓ +ȓ +ɼ +ɽ +ɾ +Ṙ +ṙ +Ṛ +ṛ +Ṝ +ṝ +Ṟ +ṟ +Rh +rh +S +s +Ś +ś +Ŝ +ŝ +Ş +ş +Å  +Å¡ +Ș +ș +ʂ +á¹  +ṡ +á¹¢ +á¹£ +Ṥ +á¹¥ +Ṧ +ṧ +Ṩ +ṩ +T +t +Å¢ +Å£ +Ť +Å¥ +Ŧ +ŧ +Æ« +Ƭ +Æ­ +Æ® +ʈ +Ț +ț +ȶ +Ṫ +ṫ +Ṭ +á¹­ +á¹® +ṯ +á¹° +á¹± +ẗ +Th +th +U +u +Ù +ù +Ú +ú +Û +û +Ü +ü +Ũ +Å© +Ū +Å« +Ŭ +Å­ +Å® +ů +Å° +ű +Ų +ų +Ư +Æ° +Ǔ +ǔ +Ǖ +ǖ +Ǘ +ǘ +Ǚ +ǚ +Ǜ +ǜ +Ȕ +ȕ +Ȗ +ȗ +á¹² +á¹³ +á¹´ +á¹µ +Ṷ +á¹· +Ṹ +á¹¹ +Ṻ +á¹» +Ụ +ụ +Ủ +ủ +Ứ +ứ +Ừ +ừ +Ử +á»­ +á»® +ữ +á»° +á»± +V +v +Ʋ +ʋ +á¹¼ +á¹½ +á¹¾ +ṿ +W +w +Å´ +ŵ +Ẁ +ẁ +Ẃ +ẃ +Ẅ +ẅ +Ẇ +ẇ +Ẉ +ẉ +ẘ +X +x +Ẋ +ẋ +Ẍ +ẍ +Y +y +Ý +ý +ÿ +Ÿ +Ŷ +Å· +Ƴ +Æ´ +Ȳ +ȳ +Ẏ +ẏ +ẙ +Ỳ +ỳ +á»´ +ỵ +Ỷ +á»· +Ỹ +ỹ +Z +z +Ź +ź +Å» +ż +Ž +ž +Ƶ +ƶ +Ȥ +È¥ +ʐ +ʑ +Ẑ +ẑ +Ẓ +ẓ +Ẕ +ẕ + + diff --git a/doc/help/xslt/common/da.xml b/doc/help/xslt/common/da.xml new file mode 100644 index 00000000..90eb01c2 --- /dev/null +++ b/doc/help/xslt/common/da.xml @@ -0,0 +1,664 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +A +a +B +b +C +c +D +d +E +e +F +f +G +g +H +h +I +i +J +j +K +k +L +l +M +m +N +n +O +o +P +p +Q +q +R +r +S +s +T +t +U +u +V +v +W +w +X +x +Y +y +Z +z +Æ +æ +Ø +ø +Å +Ã¥ + + diff --git a/doc/help/xslt/common/de.xml b/doc/help/xslt/common/de.xml new file mode 100644 index 00000000..0403153f --- /dev/null +++ b/doc/help/xslt/common/de.xml @@ -0,0 +1,666 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Symbole +A +a +Ä +ä +B +b +C +c +D +d +E +e +F +f +G +g +H +h +I +i +J +j +K +k +L +l +M +m +N +n +O +o +Ö +ö +P +p +Q +q +R +r +S +s +T +t +U +u +Ü +ü +V +v +W +w +X +x +Y +y +Z +z + + diff --git a/doc/help/xslt/common/el.xml b/doc/help/xslt/common/el.xml new file mode 100644 index 00000000..f8461d1e --- /dev/null +++ b/doc/help/xslt/common/el.xml @@ -0,0 +1,729 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Σύμβολα +A +a +B +b +C +c +D +d +E +e +F +f +G +g +H +h +I +i +J +j +K +k +L +l +M +m +N +n +O +o +P +p +Q +q +R +r +S +s +T +t +U +u +V +v +W +w +X +x +Y +y +Z +z +Α +α +Ά +ά +Β +β +Γ +γ +Δ +δ +Ε +ε +Έ +έ +Ζ +ζ +Η +η +Ή +ή +Θ +θ +Ι +ι +Ί +ί +Ϊ +ϊ +ΐ +Κ +κ +Λ +λ +Μ +μ +Ν +ν +Ξ +ξ +Ο +ο +Ό +ό +Π +π +Ρ +ρ +Σ +σ +ς +Τ +τ +Î¥ +υ +Ύ +ύ +Ϋ +ϋ +ΰ +Φ +φ +Χ +χ +Ψ +ψ +Ω +ω +Ώ +ώ + + diff --git a/doc/help/xslt/common/en.xml b/doc/help/xslt/common/en.xml new file mode 100644 index 00000000..b77f2c22 --- /dev/null +++ b/doc/help/xslt/common/en.xml @@ -0,0 +1,1229 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Symbols +A +a +À +à +Á +á + +â +à +ã +Ä +ä +Å +Ã¥ +Ā +ā +Ă +ă +Ą +ą +Ǎ +ǎ +Ǟ +ǟ +Ç  +Ç¡ +Ǻ +Ç» +Ȁ +ȁ +Ȃ +ȃ +Ȧ +ȧ +Ḁ +ḁ +ẚ +Ạ +ạ +Ả +ả +Ấ +ấ +Ầ +ầ +Ẩ +ẩ +Ẫ +ẫ +Ậ +ậ +Ắ +ắ +Ằ +ằ +Ẳ +ẳ +Ẵ +ẵ +Ặ +ặ +B +b +ƀ +Ɓ +ɓ +Ƃ +ƃ +Ḃ +ḃ +Ḅ +ḅ +Ḇ +ḇ +C +c +Ç +ç +Ć +ć +Ĉ +ĉ +Ċ +ċ +Č +č +Ƈ +ƈ +ɕ +Ḉ +ḉ +D +d +Ď +ď +Đ +đ +Ɗ +ɗ +Ƌ +ƌ +Dž +Dz +È¡ +ɖ +Ḋ +ḋ +Ḍ +ḍ +Ḏ +ḏ +Ḑ +ḑ +Ḓ +ḓ +E +e +È +è +É +é +Ê +ê +Ë +ë +Ē +ē +Ĕ +ĕ +Ė +ė +Ę +ę +Ě +ě +Ȅ +ȅ +Ȇ +ȇ +Ȩ +È© +Ḕ +ḕ +Ḗ +ḗ +Ḙ +ḙ +Ḛ +ḛ +Ḝ +ḝ +Ẹ +ẹ +Ẻ +ẻ +Ẽ +ẽ +Ế +ế +Ề +ề +Ể +ể +Ễ +ễ +Ệ +ệ +F +f +Ƒ +ƒ +Ḟ +ḟ +G +g +Ĝ +ĝ +Ğ +ğ +Ä  +Ä¡ +Ä¢ +Ä£ +Ɠ +É  +Ǥ +Ç¥ +Ǧ +ǧ +Ç´ +ǵ +Ḡ +ḡ +H +h +Ĥ +Ä¥ +Ħ +ħ +Ȟ +ȟ +ɦ +Ḣ +ḣ +Ḥ +ḥ +Ḧ +ḧ +Ḩ +ḩ +Ḫ +ḫ +ẖ +I +i +Ì +ì +Í +í +Î +î +Ï +ï +Ĩ +Ä© +Ī +Ä« +Ĭ +Ä­ +Ä® +į +Ä° +Ɨ +ɨ +Ǐ +ǐ +Ȉ +ȉ +Ȋ +ȋ +Ḭ +ḭ +Ḯ +ḯ +Ỉ +ỉ +Ị +ị +J +j +Ä´ +ĵ +Ç° +ʝ +K +k +Ķ +Ä· +Ƙ +ƙ +Ǩ +Ç© +Ḱ +ḱ +Ḳ +ḳ +Ḵ +ḵ +L +l +Ĺ +ĺ +Ä» +ļ +Ľ +ľ +Ä¿ +ŀ +Ł +ł +ƚ +Lj +È´ +É« +ɬ +É­ +Ḷ +ḷ +Ḹ +ḹ +Ḻ +ḻ +Ḽ +ḽ +M +m +ɱ +Ḿ +ḿ +Ṁ +ṁ +Ṃ +ṃ +N +n +Ñ +ñ +Ń +ń +Ņ +ņ +Ň +ň +Ɲ +ɲ +ƞ +È  +Nj +Ǹ +ǹ +ȵ +ɳ +Ṅ +ṅ +Ṇ +ṇ +Ṉ +ṉ +Ṋ +ṋ +O +o +Ò +ò +Ó +ó +Ô +ô +Õ +õ +Ö +ö +Ø +ø +Ō +ō +Ŏ +ŏ +Ő +ő +Ɵ +Æ  +Æ¡ +Ǒ +ǒ +Ǫ +Ç« +Ǭ +Ç­ +Ǿ +Ç¿ +Ȍ +ȍ +Ȏ +ȏ +Ȫ +È« +Ȭ +È­ +È® +ȯ +È° +ȱ +Ṍ +ṍ +Ṏ +ṏ +Ṑ +ṑ +Ṓ +ṓ +Ọ +ọ +Ỏ +ỏ +Ố +ố +Ồ +ồ +Ổ +ổ +Ỗ +ỗ +Ộ +ộ +Ớ +ớ +Ờ +ờ +Ở +ở +á»  +ỡ +Ợ +ợ +P +p +Ƥ +Æ¥ +Ṕ +ṕ +Ṗ +ṗ +Q +q +Ê  +R +r +Ŕ +ŕ +Ŗ +ŗ +Ř +ř +Ȑ +ȑ +Ȓ +ȓ +ɼ +ɽ +ɾ +Ṙ +ṙ +Ṛ +ṛ +Ṝ +ṝ +Ṟ +ṟ +S +s +Ś +ś +Ŝ +ŝ +Ş +ş +Å  +Å¡ +Ș +ș +ʂ +á¹  +ṡ +á¹¢ +á¹£ +Ṥ +á¹¥ +Ṧ +ṧ +Ṩ +ṩ +T +t +Å¢ +Å£ +Ť +Å¥ +Ŧ +ŧ +Æ« +Ƭ +Æ­ +Æ® +ʈ +Ț +ț +ȶ +Ṫ +ṫ +Ṭ +á¹­ +á¹® +ṯ +á¹° +á¹± +ẗ +U +u +Ù +ù +Ú +ú +Û +û +Ü +ü +Ũ +Å© +Ū +Å« +Ŭ +Å­ +Å® +ů +Å° +ű +Ų +ų +Ư +Æ° +Ǔ +ǔ +Ǖ +ǖ +Ǘ +ǘ +Ǚ +ǚ +Ǜ +ǜ +Ȕ +ȕ +Ȗ +ȗ +á¹² +á¹³ +á¹´ +á¹µ +Ṷ +á¹· +Ṹ +á¹¹ +Ṻ +á¹» +Ụ +ụ +Ủ +ủ +Ứ +ứ +Ừ +ừ +Ử +á»­ +á»® +ữ +á»° +á»± +V +v +Ʋ +ʋ +á¹¼ +á¹½ +á¹¾ +ṿ +W +w +Å´ +ŵ +Ẁ +ẁ +Ẃ +ẃ +Ẅ +ẅ +Ẇ +ẇ +Ẉ +ẉ +ẘ +X +x +Ẋ +ẋ +Ẍ +ẍ +Y +y +Ý +ý +ÿ +Ÿ +Ŷ +Å· +Ƴ +Æ´ +Ȳ +ȳ +Ẏ +ẏ +ẙ +Ỳ +ỳ +á»´ +ỵ +Ỷ +á»· +Ỹ +ỹ +Z +z +Ź +ź +Å» +ż +Ž +ž +Ƶ +ƶ +Ȥ +È¥ +ʐ +ʑ +Ẑ +ẑ +Ẓ +ẓ +Ẕ +ẕ + + diff --git a/doc/help/xslt/common/entities.ent b/doc/help/xslt/common/entities.ent new file mode 100644 index 00000000..fb3e9322 --- /dev/null +++ b/doc/help/xslt/common/entities.ent @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + normalize.sort.input + + + + + + normalize.sort.output + + +'> + + + diff --git a/doc/help/xslt/common/eo.xml b/doc/help/xslt/common/eo.xml new file mode 100644 index 00000000..c6b95d08 --- /dev/null +++ b/doc/help/xslt/common/eo.xml @@ -0,0 +1,1229 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Symbols +A +a +À +à +Á +á + +â +à +ã +Ä +ä +Å +Ã¥ +Ā +ā +Ă +ă +Ą +ą +Ǎ +ǎ +Ǟ +ǟ +Ç  +Ç¡ +Ǻ +Ç» +Ȁ +ȁ +Ȃ +ȃ +Ȧ +ȧ +Ḁ +ḁ +ẚ +Ạ +ạ +Ả +ả +Ấ +ấ +Ầ +ầ +Ẩ +ẩ +Ẫ +ẫ +Ậ +ậ +Ắ +ắ +Ằ +ằ +Ẳ +ẳ +Ẵ +ẵ +Ặ +ặ +B +b +ƀ +Ɓ +ɓ +Ƃ +ƃ +Ḃ +ḃ +Ḅ +ḅ +Ḇ +ḇ +C +c +Ç +ç +Ć +ć +Ĉ +ĉ +Ċ +ċ +Č +č +Ƈ +ƈ +ɕ +Ḉ +ḉ +D +d +Ď +ď +Đ +đ +Ɗ +ɗ +Ƌ +ƌ +Dž +Dz +È¡ +ɖ +Ḋ +ḋ +Ḍ +ḍ +Ḏ +ḏ +Ḑ +ḑ +Ḓ +ḓ +E +e +È +è +É +é +Ê +ê +Ë +ë +Ē +ē +Ĕ +ĕ +Ė +ė +Ę +ę +Ě +ě +Ȅ +ȅ +Ȇ +ȇ +Ȩ +È© +Ḕ +ḕ +Ḗ +ḗ +Ḙ +ḙ +Ḛ +ḛ +Ḝ +ḝ +Ẹ +ẹ +Ẻ +ẻ +Ẽ +ẽ +Ế +ế +Ề +ề +Ể +ể +Ễ +ễ +Ệ +ệ +F +f +Ƒ +ƒ +Ḟ +ḟ +G +g +Ĝ +ĝ +Ğ +ğ +Ä  +Ä¡ +Ä¢ +Ä£ +Ɠ +É  +Ǥ +Ç¥ +Ǧ +ǧ +Ç´ +ǵ +Ḡ +ḡ +H +h +Ĥ +Ä¥ +Ħ +ħ +Ȟ +ȟ +ɦ +Ḣ +ḣ +Ḥ +ḥ +Ḧ +ḧ +Ḩ +ḩ +Ḫ +ḫ +ẖ +I +i +Ì +ì +Í +í +Î +î +Ï +ï +Ĩ +Ä© +Ī +Ä« +Ĭ +Ä­ +Ä® +į +Ä° +Ɨ +ɨ +Ǐ +ǐ +Ȉ +ȉ +Ȋ +ȋ +Ḭ +ḭ +Ḯ +ḯ +Ỉ +ỉ +Ị +ị +J +j +Ä´ +ĵ +Ç° +ʝ +K +k +Ķ +Ä· +Ƙ +ƙ +Ǩ +Ç© +Ḱ +ḱ +Ḳ +ḳ +Ḵ +ḵ +L +l +Ĺ +ĺ +Ä» +ļ +Ľ +ľ +Ä¿ +ŀ +Ł +ł +ƚ +Lj +È´ +É« +ɬ +É­ +Ḷ +ḷ +Ḹ +ḹ +Ḻ +ḻ +Ḽ +ḽ +M +m +ɱ +Ḿ +ḿ +Ṁ +ṁ +Ṃ +ṃ +N +n +Ñ +ñ +Ń +ń +Ņ +ņ +Ň +ň +Ɲ +ɲ +ƞ +È  +Nj +Ǹ +ǹ +ȵ +ɳ +Ṅ +ṅ +Ṇ +ṇ +Ṉ +ṉ +Ṋ +ṋ +O +o +Ò +ò +Ó +ó +Ô +ô +Õ +õ +Ö +ö +Ø +ø +Ō +ō +Ŏ +ŏ +Ő +ő +Ɵ +Æ  +Æ¡ +Ǒ +ǒ +Ǫ +Ç« +Ǭ +Ç­ +Ǿ +Ç¿ +Ȍ +ȍ +Ȏ +ȏ +Ȫ +È« +Ȭ +È­ +È® +ȯ +È° +ȱ +Ṍ +ṍ +Ṏ +ṏ +Ṑ +ṑ +Ṓ +ṓ +Ọ +ọ +Ỏ +ỏ +Ố +ố +Ồ +ồ +Ổ +ổ +Ỗ +ỗ +Ộ +ộ +Ớ +ớ +Ờ +ờ +Ở +ở +á»  +ỡ +Ợ +ợ +P +p +Ƥ +Æ¥ +Ṕ +ṕ +Ṗ +ṗ +Q +q +Ê  +R +r +Ŕ +ŕ +Ŗ +ŗ +Ř +ř +Ȑ +ȑ +Ȓ +ȓ +ɼ +ɽ +ɾ +Ṙ +ṙ +Ṛ +ṛ +Ṝ +ṝ +Ṟ +ṟ +S +s +Ś +ś +Ŝ +ŝ +Ş +ş +Å  +Å¡ +Ș +ș +ʂ +á¹  +ṡ +á¹¢ +á¹£ +Ṥ +á¹¥ +Ṧ +ṧ +Ṩ +ṩ +T +t +Å¢ +Å£ +Ť +Å¥ +Ŧ +ŧ +Æ« +Ƭ +Æ­ +Æ® +ʈ +Ț +ț +ȶ +Ṫ +ṫ +Ṭ +á¹­ +á¹® +ṯ +á¹° +á¹± +ẗ +U +u +Ù +ù +Ú +ú +Û +û +Ü +ü +Ũ +Å© +Ū +Å« +Ŭ +Å­ +Å® +ů +Å° +ű +Ų +ų +Ư +Æ° +Ǔ +ǔ +Ǖ +ǖ +Ǘ +ǘ +Ǚ +ǚ +Ǜ +ǜ +Ȕ +ȕ +Ȗ +ȗ +á¹² +á¹³ +á¹´ +á¹µ +Ṷ +á¹· +Ṹ +á¹¹ +Ṻ +á¹» +Ụ +ụ +Ủ +ủ +Ứ +ứ +Ừ +ừ +Ử +á»­ +á»® +ữ +á»° +á»± +V +v +Ʋ +ʋ +á¹¼ +á¹½ +á¹¾ +ṿ +W +w +Å´ +ŵ +Ẁ +ẁ +Ẃ +ẃ +Ẅ +ẅ +Ẇ +ẇ +Ẉ +ẉ +ẘ +X +x +Ẋ +ẋ +Ẍ +ẍ +Y +y +Ý +ý +ÿ +Ÿ +Ŷ +Å· +Ƴ +Æ´ +Ȳ +ȳ +Ẏ +ẏ +ẙ +Ỳ +ỳ +á»´ +ỵ +Ỷ +á»· +Ỹ +ỹ +Z +z +Ź +ź +Å» +ż +Ž +ž +Ƶ +ƶ +Ȥ +È¥ +ʐ +ʑ +Ẑ +ẑ +Ẓ +ẓ +Ẕ +ẕ + + diff --git a/doc/help/xslt/common/es.xml b/doc/help/xslt/common/es.xml new file mode 100644 index 00000000..aad19800 --- /dev/null +++ b/doc/help/xslt/common/es.xml @@ -0,0 +1,676 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Símbolos +A +a +á +Á +B +b +C +c +CH +ch +D +d +E +e +É +é +F +f +G +g +H +h +I +i +Í +í +J +j +K +k +L +l +LL +ll +M +m +N +n +Ñ +ñ +O +o +Ó +ó +P +p +Q +q +R +r +S +s +T +t +U +u +Ú +ú +V +v +W +w +X +x +Y +y +Z +z + + diff --git a/doc/help/xslt/common/et.xml b/doc/help/xslt/common/et.xml new file mode 100644 index 00000000..b7d224ff --- /dev/null +++ b/doc/help/xslt/common/et.xml @@ -0,0 +1,1229 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Symbols +A +a +À +à +Á +á + +â +à +ã +Ä +ä +Å +Ã¥ +Ā +ā +Ă +ă +Ą +ą +Ǎ +ǎ +Ǟ +ǟ +Ç  +Ç¡ +Ǻ +Ç» +Ȁ +ȁ +Ȃ +ȃ +Ȧ +ȧ +Ḁ +ḁ +ẚ +Ạ +ạ +Ả +ả +Ấ +ấ +Ầ +ầ +Ẩ +ẩ +Ẫ +ẫ +Ậ +ậ +Ắ +ắ +Ằ +ằ +Ẳ +ẳ +Ẵ +ẵ +Ặ +ặ +B +b +ƀ +Ɓ +ɓ +Ƃ +ƃ +Ḃ +ḃ +Ḅ +ḅ +Ḇ +ḇ +C +c +Ç +ç +Ć +ć +Ĉ +ĉ +Ċ +ċ +Č +č +Ƈ +ƈ +ɕ +Ḉ +ḉ +D +d +Ď +ď +Đ +đ +Ɗ +ɗ +Ƌ +ƌ +Dž +Dz +È¡ +ɖ +Ḋ +ḋ +Ḍ +ḍ +Ḏ +ḏ +Ḑ +ḑ +Ḓ +ḓ +E +e +È +è +É +é +Ê +ê +Ë +ë +Ē +ē +Ĕ +ĕ +Ė +ė +Ę +ę +Ě +ě +Ȅ +ȅ +Ȇ +ȇ +Ȩ +È© +Ḕ +ḕ +Ḗ +ḗ +Ḙ +ḙ +Ḛ +ḛ +Ḝ +ḝ +Ẹ +ẹ +Ẻ +ẻ +Ẽ +ẽ +Ế +ế +Ề +ề +Ể +ể +Ễ +ễ +Ệ +ệ +F +f +Ƒ +ƒ +Ḟ +ḟ +G +g +Ĝ +ĝ +Ğ +ğ +Ä  +Ä¡ +Ä¢ +Ä£ +Ɠ +É  +Ǥ +Ç¥ +Ǧ +ǧ +Ç´ +ǵ +Ḡ +ḡ +H +h +Ĥ +Ä¥ +Ħ +ħ +Ȟ +ȟ +ɦ +Ḣ +ḣ +Ḥ +ḥ +Ḧ +ḧ +Ḩ +ḩ +Ḫ +ḫ +ẖ +I +i +Ì +ì +Í +í +Î +î +Ï +ï +Ĩ +Ä© +Ī +Ä« +Ĭ +Ä­ +Ä® +į +Ä° +Ɨ +ɨ +Ǐ +ǐ +Ȉ +ȉ +Ȋ +ȋ +Ḭ +ḭ +Ḯ +ḯ +Ỉ +ỉ +Ị +ị +J +j +Ä´ +ĵ +Ç° +ʝ +K +k +Ķ +Ä· +Ƙ +ƙ +Ǩ +Ç© +Ḱ +ḱ +Ḳ +ḳ +Ḵ +ḵ +L +l +Ĺ +ĺ +Ä» +ļ +Ľ +ľ +Ä¿ +ŀ +Ł +ł +ƚ +Lj +È´ +É« +ɬ +É­ +Ḷ +ḷ +Ḹ +ḹ +Ḻ +ḻ +Ḽ +ḽ +M +m +ɱ +Ḿ +ḿ +Ṁ +ṁ +Ṃ +ṃ +N +n +Ñ +ñ +Ń +ń +Ņ +ņ +Ň +ň +Ɲ +ɲ +ƞ +È  +Nj +Ǹ +ǹ +ȵ +ɳ +Ṅ +ṅ +Ṇ +ṇ +Ṉ +ṉ +Ṋ +ṋ +O +o +Ò +ò +Ó +ó +Ô +ô +Õ +õ +Ö +ö +Ø +ø +Ō +ō +Ŏ +ŏ +Ő +ő +Ɵ +Æ  +Æ¡ +Ǒ +ǒ +Ǫ +Ç« +Ǭ +Ç­ +Ǿ +Ç¿ +Ȍ +ȍ +Ȏ +ȏ +Ȫ +È« +Ȭ +È­ +È® +ȯ +È° +ȱ +Ṍ +ṍ +Ṏ +ṏ +Ṑ +ṑ +Ṓ +ṓ +Ọ +ọ +Ỏ +ỏ +Ố +ố +Ồ +ồ +Ổ +ổ +Ỗ +ỗ +Ộ +ộ +Ớ +ớ +Ờ +ờ +Ở +ở +á»  +ỡ +Ợ +ợ +P +p +Ƥ +Æ¥ +Ṕ +ṕ +Ṗ +ṗ +Q +q +Ê  +R +r +Ŕ +ŕ +Ŗ +ŗ +Ř +ř +Ȑ +ȑ +Ȓ +ȓ +ɼ +ɽ +ɾ +Ṙ +ṙ +Ṛ +ṛ +Ṝ +ṝ +Ṟ +ṟ +S +s +Ś +ś +Ŝ +ŝ +Ş +ş +Å  +Å¡ +Ș +ș +ʂ +á¹  +ṡ +á¹¢ +á¹£ +Ṥ +á¹¥ +Ṧ +ṧ +Ṩ +ṩ +T +t +Å¢ +Å£ +Ť +Å¥ +Ŧ +ŧ +Æ« +Ƭ +Æ­ +Æ® +ʈ +Ț +ț +ȶ +Ṫ +ṫ +Ṭ +á¹­ +á¹® +ṯ +á¹° +á¹± +ẗ +U +u +Ù +ù +Ú +ú +Û +û +Ü +ü +Ũ +Å© +Ū +Å« +Ŭ +Å­ +Å® +ů +Å° +ű +Ų +ų +Ư +Æ° +Ǔ +ǔ +Ǖ +ǖ +Ǘ +ǘ +Ǚ +ǚ +Ǜ +ǜ +Ȕ +ȕ +Ȗ +ȗ +á¹² +á¹³ +á¹´ +á¹µ +Ṷ +á¹· +Ṹ +á¹¹ +Ṻ +á¹» +Ụ +ụ +Ủ +ủ +Ứ +ứ +Ừ +ừ +Ử +á»­ +á»® +ữ +á»° +á»± +V +v +Ʋ +ʋ +á¹¼ +á¹½ +á¹¾ +ṿ +W +w +Å´ +ŵ +Ẁ +ẁ +Ẃ +ẃ +Ẅ +ẅ +Ẇ +ẇ +Ẉ +ẉ +ẘ +X +x +Ẋ +ẋ +Ẍ +ẍ +Y +y +Ý +ý +ÿ +Ÿ +Ŷ +Å· +Ƴ +Æ´ +Ȳ +ȳ +Ẏ +ẏ +ẙ +Ỳ +ỳ +á»´ +ỵ +Ỷ +á»· +Ỹ +ỹ +Z +z +Ź +ź +Å» +ż +Ž +ž +Ƶ +ƶ +Ȥ +È¥ +ʐ +ʑ +Ẑ +ẑ +Ẓ +ẓ +Ẕ +ẕ + + diff --git a/doc/help/xslt/common/eu.xml b/doc/help/xslt/common/eu.xml new file mode 100644 index 00000000..3841d3f9 --- /dev/null +++ b/doc/help/xslt/common/eu.xml @@ -0,0 +1,1229 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Symbols +A +a +À +à +Á +á + +â +à +ã +Ä +ä +Å +Ã¥ +Ā +ā +Ă +ă +Ą +ą +Ǎ +ǎ +Ǟ +ǟ +Ç  +Ç¡ +Ǻ +Ç» +Ȁ +ȁ +Ȃ +ȃ +Ȧ +ȧ +Ḁ +ḁ +ẚ +Ạ +ạ +Ả +ả +Ấ +ấ +Ầ +ầ +Ẩ +ẩ +Ẫ +ẫ +Ậ +ậ +Ắ +ắ +Ằ +ằ +Ẳ +ẳ +Ẵ +ẵ +Ặ +ặ +B +b +ƀ +Ɓ +ɓ +Ƃ +ƃ +Ḃ +ḃ +Ḅ +ḅ +Ḇ +ḇ +C +c +Ç +ç +Ć +ć +Ĉ +ĉ +Ċ +ċ +Č +č +Ƈ +ƈ +ɕ +Ḉ +ḉ +D +d +Ď +ď +Đ +đ +Ɗ +ɗ +Ƌ +ƌ +Dž +Dz +È¡ +ɖ +Ḋ +ḋ +Ḍ +ḍ +Ḏ +ḏ +Ḑ +ḑ +Ḓ +ḓ +E +e +È +è +É +é +Ê +ê +Ë +ë +Ē +ē +Ĕ +ĕ +Ė +ė +Ę +ę +Ě +ě +Ȅ +ȅ +Ȇ +ȇ +Ȩ +È© +Ḕ +ḕ +Ḗ +ḗ +Ḙ +ḙ +Ḛ +ḛ +Ḝ +ḝ +Ẹ +ẹ +Ẻ +ẻ +Ẽ +ẽ +Ế +ế +Ề +ề +Ể +ể +Ễ +ễ +Ệ +ệ +F +f +Ƒ +ƒ +Ḟ +ḟ +G +g +Ĝ +ĝ +Ğ +ğ +Ä  +Ä¡ +Ä¢ +Ä£ +Ɠ +É  +Ǥ +Ç¥ +Ǧ +ǧ +Ç´ +ǵ +Ḡ +ḡ +H +h +Ĥ +Ä¥ +Ħ +ħ +Ȟ +ȟ +ɦ +Ḣ +ḣ +Ḥ +ḥ +Ḧ +ḧ +Ḩ +ḩ +Ḫ +ḫ +ẖ +I +i +Ì +ì +Í +í +Î +î +Ï +ï +Ĩ +Ä© +Ī +Ä« +Ĭ +Ä­ +Ä® +į +Ä° +Ɨ +ɨ +Ǐ +ǐ +Ȉ +ȉ +Ȋ +ȋ +Ḭ +ḭ +Ḯ +ḯ +Ỉ +ỉ +Ị +ị +J +j +Ä´ +ĵ +Ç° +ʝ +K +k +Ķ +Ä· +Ƙ +ƙ +Ǩ +Ç© +Ḱ +ḱ +Ḳ +ḳ +Ḵ +ḵ +L +l +Ĺ +ĺ +Ä» +ļ +Ľ +ľ +Ä¿ +ŀ +Ł +ł +ƚ +Lj +È´ +É« +ɬ +É­ +Ḷ +ḷ +Ḹ +ḹ +Ḻ +ḻ +Ḽ +ḽ +M +m +ɱ +Ḿ +ḿ +Ṁ +ṁ +Ṃ +ṃ +N +n +Ñ +ñ +Ń +ń +Ņ +ņ +Ň +ň +Ɲ +ɲ +ƞ +È  +Nj +Ǹ +ǹ +ȵ +ɳ +Ṅ +ṅ +Ṇ +ṇ +Ṉ +ṉ +Ṋ +ṋ +O +o +Ò +ò +Ó +ó +Ô +ô +Õ +õ +Ö +ö +Ø +ø +Ō +ō +Ŏ +ŏ +Ő +ő +Ɵ +Æ  +Æ¡ +Ǒ +ǒ +Ǫ +Ç« +Ǭ +Ç­ +Ǿ +Ç¿ +Ȍ +ȍ +Ȏ +ȏ +Ȫ +È« +Ȭ +È­ +È® +ȯ +È° +ȱ +Ṍ +ṍ +Ṏ +ṏ +Ṑ +ṑ +Ṓ +ṓ +Ọ +ọ +Ỏ +ỏ +Ố +ố +Ồ +ồ +Ổ +ổ +Ỗ +ỗ +Ộ +ộ +Ớ +ớ +Ờ +ờ +Ở +ở +á»  +ỡ +Ợ +ợ +P +p +Ƥ +Æ¥ +Ṕ +ṕ +Ṗ +ṗ +Q +q +Ê  +R +r +Ŕ +ŕ +Ŗ +ŗ +Ř +ř +Ȑ +ȑ +Ȓ +ȓ +ɼ +ɽ +ɾ +Ṙ +ṙ +Ṛ +ṛ +Ṝ +ṝ +Ṟ +ṟ +S +s +Ś +ś +Ŝ +ŝ +Ş +ş +Å  +Å¡ +Ș +ș +ʂ +á¹  +ṡ +á¹¢ +á¹£ +Ṥ +á¹¥ +Ṧ +ṧ +Ṩ +ṩ +T +t +Å¢ +Å£ +Ť +Å¥ +Ŧ +ŧ +Æ« +Ƭ +Æ­ +Æ® +ʈ +Ț +ț +ȶ +Ṫ +ṫ +Ṭ +á¹­ +á¹® +ṯ +á¹° +á¹± +ẗ +U +u +Ù +ù +Ú +ú +Û +û +Ü +ü +Ũ +Å© +Ū +Å« +Ŭ +Å­ +Å® +ů +Å° +ű +Ų +ų +Ư +Æ° +Ǔ +ǔ +Ǖ +ǖ +Ǘ +ǘ +Ǚ +ǚ +Ǜ +ǜ +Ȕ +ȕ +Ȗ +ȗ +á¹² +á¹³ +á¹´ +á¹µ +Ṷ +á¹· +Ṹ +á¹¹ +Ṻ +á¹» +Ụ +ụ +Ủ +ủ +Ứ +ứ +Ừ +ừ +Ử +á»­ +á»® +ữ +á»° +á»± +V +v +Ʋ +ʋ +á¹¼ +á¹½ +á¹¾ +ṿ +W +w +Å´ +ŵ +Ẁ +ẁ +Ẃ +ẃ +Ẅ +ẅ +Ẇ +ẇ +Ẉ +ẉ +ẘ +X +x +Ẋ +ẋ +Ẍ +ẍ +Y +y +Ý +ý +ÿ +Ÿ +Ŷ +Å· +Ƴ +Æ´ +Ȳ +ȳ +Ẏ +ẏ +ẙ +Ỳ +ỳ +á»´ +ỵ +Ỷ +á»· +Ỹ +ỹ +Z +z +Ź +ź +Å» +ż +Ž +ž +Ƶ +ƶ +Ȥ +È¥ +ʐ +ʑ +Ẑ +ẑ +Ẓ +ẓ +Ẕ +ẕ + + diff --git a/doc/help/xslt/common/fa.xml b/doc/help/xslt/common/fa.xml new file mode 100644 index 00000000..257dc0bf --- /dev/null +++ b/doc/help/xslt/common/fa.xml @@ -0,0 +1,660 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +سمبل‌های راهنم +A +a +B +b +C +c +D +d +E +e +F +f +G +g +H +h +I +i +J +j +K +k +L +l +M +m +N +n +O +o +P +p +Q +q +R +r +S +s +T +t +U +u +V +v +W +w +X +x +Y +y +Z +z + + diff --git a/doc/help/xslt/common/fi.xml b/doc/help/xslt/common/fi.xml new file mode 100644 index 00000000..232d057a --- /dev/null +++ b/doc/help/xslt/common/fi.xml @@ -0,0 +1,670 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Symbole +A +a +B +b +C +c +D +d +E +e +F +f +G +g +H +h +I +i +J +j +K +k +L +l +M +m +N +n +O +o +P +p +Q +q +R +r +S +s +Å  +Å¡ +T +t +U +u +V +v +W +w +X +x +Y +y +Z +z +Ž +ž +Å +Ã¥ +Ä +ä +Ö +ö + + diff --git a/doc/help/xslt/common/fr.xml b/doc/help/xslt/common/fr.xml new file mode 100644 index 00000000..5ca52482 --- /dev/null +++ b/doc/help/xslt/common/fr.xml @@ -0,0 +1,690 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Symboles +A +a +à +À +â + +Æ +æ +B +b +C +c +ç +D +d +E +e +ê +Ê +é +É +è +È +ë +Ë +€ +F +f +G +g +H +h +I +i +Î +î +Ï +ï +J +j +K +k +L +l +M +m +N +n +O +o +Ö +ö +Œ +œ +P +p +Q +q +R +r +S +s +T +t +U +u +Ù +ù +Û +û +Ü +ü +V +v +W +w +X +x +Y +y +Z +z + + diff --git a/doc/help/xslt/common/ga.xml b/doc/help/xslt/common/ga.xml new file mode 100644 index 00000000..054036be --- /dev/null +++ b/doc/help/xslt/common/ga.xml @@ -0,0 +1,1229 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Siombailí +A +a +À +à +Á +á + +â +à +ã +Ä +ä +Å +Ã¥ +Ā +ā +Ă +ă +Ą +ą +Ǎ +ǎ +Ǟ +ǟ +Ç  +Ç¡ +Ǻ +Ç» +Ȁ +ȁ +Ȃ +ȃ +Ȧ +ȧ +Ḁ +ḁ +ẚ +Ạ +ạ +Ả +ả +Ấ +ấ +Ầ +ầ +Ẩ +ẩ +Ẫ +ẫ +Ậ +ậ +Ắ +ắ +Ằ +ằ +Ẳ +ẳ +Ẵ +ẵ +Ặ +ặ +B +b +ƀ +Ɓ +ɓ +Ƃ +ƃ +Ḃ +ḃ +Ḅ +ḅ +Ḇ +ḇ +C +c +Ç +ç +Ć +ć +Ĉ +ĉ +Ċ +ċ +Č +č +Ƈ +ƈ +ɕ +Ḉ +ḉ +D +d +Ď +ď +Đ +đ +Ɗ +ɗ +Ƌ +ƌ +Dž +Dz +È¡ +ɖ +Ḋ +ḋ +Ḍ +ḍ +Ḏ +ḏ +Ḑ +ḑ +Ḓ +ḓ +E +e +È +è +É +é +Ê +ê +Ë +ë +Ē +ē +Ĕ +ĕ +Ė +ė +Ę +ę +Ě +ě +Ȅ +ȅ +Ȇ +ȇ +Ȩ +È© +Ḕ +ḕ +Ḗ +ḗ +Ḙ +ḙ +Ḛ +ḛ +Ḝ +ḝ +Ẹ +ẹ +Ẻ +ẻ +Ẽ +ẽ +Ế +ế +Ề +ề +Ể +ể +Ễ +ễ +Ệ +ệ +F +f +Ƒ +ƒ +Ḟ +ḟ +G +g +Ĝ +ĝ +Ğ +ğ +Ä  +Ä¡ +Ä¢ +Ä£ +Ɠ +É  +Ǥ +Ç¥ +Ǧ +ǧ +Ç´ +ǵ +Ḡ +ḡ +H +h +Ĥ +Ä¥ +Ħ +ħ +Ȟ +ȟ +ɦ +Ḣ +ḣ +Ḥ +ḥ +Ḧ +ḧ +Ḩ +ḩ +Ḫ +ḫ +ẖ +I +i +Ì +ì +Í +í +Î +î +Ï +ï +Ĩ +Ä© +Ī +Ä« +Ĭ +Ä­ +Ä® +į +Ä° +Ɨ +ɨ +Ǐ +ǐ +Ȉ +ȉ +Ȋ +ȋ +Ḭ +ḭ +Ḯ +ḯ +Ỉ +ỉ +Ị +ị +J +j +Ä´ +ĵ +Ç° +ʝ +K +k +Ķ +Ä· +Ƙ +ƙ +Ǩ +Ç© +Ḱ +ḱ +Ḳ +ḳ +Ḵ +ḵ +L +l +Ĺ +ĺ +Ä» +ļ +Ľ +ľ +Ä¿ +ŀ +Ł +ł +ƚ +Lj +È´ +É« +ɬ +É­ +Ḷ +ḷ +Ḹ +ḹ +Ḻ +ḻ +Ḽ +ḽ +M +m +ɱ +Ḿ +ḿ +Ṁ +ṁ +Ṃ +ṃ +N +n +Ñ +ñ +Ń +ń +Ņ +ņ +Ň +ň +Ɲ +ɲ +ƞ +È  +Nj +Ǹ +ǹ +ȵ +ɳ +Ṅ +ṅ +Ṇ +ṇ +Ṉ +ṉ +Ṋ +ṋ +O +o +Ò +ò +Ó +ó +Ô +ô +Õ +õ +Ö +ö +Ø +ø +Ō +ō +Ŏ +ŏ +Ő +ő +Ɵ +Æ  +Æ¡ +Ǒ +ǒ +Ǫ +Ç« +Ǭ +Ç­ +Ǿ +Ç¿ +Ȍ +ȍ +Ȏ +ȏ +Ȫ +È« +Ȭ +È­ +È® +ȯ +È° +ȱ +Ṍ +ṍ +Ṏ +ṏ +Ṑ +ṑ +Ṓ +ṓ +Ọ +ọ +Ỏ +ỏ +Ố +ố +Ồ +ồ +Ổ +ổ +Ỗ +ỗ +Ộ +ộ +Ớ +ớ +Ờ +ờ +Ở +ở +á»  +ỡ +Ợ +ợ +P +p +Ƥ +Æ¥ +Ṕ +ṕ +Ṗ +ṗ +Q +q +Ê  +R +r +Ŕ +ŕ +Ŗ +ŗ +Ř +ř +Ȑ +ȑ +Ȓ +ȓ +ɼ +ɽ +ɾ +Ṙ +ṙ +Ṛ +ṛ +Ṝ +ṝ +Ṟ +ṟ +S +s +Ś +ś +Ŝ +ŝ +Ş +ş +Å  +Å¡ +Ș +ș +ʂ +á¹  +ṡ +á¹¢ +á¹£ +Ṥ +á¹¥ +Ṧ +ṧ +Ṩ +ṩ +T +t +Å¢ +Å£ +Ť +Å¥ +Ŧ +ŧ +Æ« +Ƭ +Æ­ +Æ® +ʈ +Ț +ț +ȶ +Ṫ +ṫ +Ṭ +á¹­ +á¹® +ṯ +á¹° +á¹± +ẗ +U +u +Ù +ù +Ú +ú +Û +û +Ü +ü +Ũ +Å© +Ū +Å« +Ŭ +Å­ +Å® +ů +Å° +ű +Ų +ų +Ư +Æ° +Ǔ +ǔ +Ǖ +ǖ +Ǘ +ǘ +Ǚ +ǚ +Ǜ +ǜ +Ȕ +ȕ +Ȗ +ȗ +á¹² +á¹³ +á¹´ +á¹µ +Ṷ +á¹· +Ṹ +á¹¹ +Ṻ +á¹» +Ụ +ụ +Ủ +ủ +Ứ +ứ +Ừ +ừ +Ử +á»­ +á»® +ữ +á»° +á»± +V +v +Ʋ +ʋ +á¹¼ +á¹½ +á¹¾ +ṿ +W +w +Å´ +ŵ +Ẁ +ẁ +Ẃ +ẃ +Ẅ +ẅ +Ẇ +ẇ +Ẉ +ẉ +ẘ +X +x +Ẋ +ẋ +Ẍ +ẍ +Y +y +Ý +ý +ÿ +Ÿ +Ŷ +Å· +Ƴ +Æ´ +Ȳ +ȳ +Ẏ +ẏ +ẙ +Ỳ +ỳ +á»´ +ỵ +Ỷ +á»· +Ỹ +ỹ +Z +z +Ź +ź +Å» +ż +Ž +ž +Ƶ +ƶ +Ȥ +È¥ +ʐ +ʑ +Ẑ +ẑ +Ẓ +ẓ +Ẕ +ẕ + + diff --git a/doc/help/xslt/common/gentext.xsl b/doc/help/xslt/common/gentext.xsl new file mode 100644 index 00000000..2417e776 --- /dev/null +++ b/doc/help/xslt/common/gentext.xsl @@ -0,0 +1,839 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + .formal + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + object.xref.markup: empty xref template + for linkend=" + + " and @xrefstyle=" + + " + + + + + + + + + + + + + + + + + + + + + + + + + + + Xref is only supported to listitems in an + orderedlist: + + + ??? + + + + + + + + + + + + + + + + + + + + + + + + %n + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + Attempt to use %d in gentext with no referrer! + + + + + + + % + + + % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + labelnumber + + + labelname + + + label + + + + + + + + quotedtitle + + + title + + + + + + + + + + + + + + nopage + + + pagenumber + + + pageabbrev + + + Page + + + page + + + + + + + + + + + nodocname + + + docnamelong + + + docname + + + + + + + + + + + + + + + + + + + + + + %n + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + %t + + + + + + %t + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + %p + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/common/gl.xml b/doc/help/xslt/common/gl.xml new file mode 100644 index 00000000..7346088b --- /dev/null +++ b/doc/help/xslt/common/gl.xml @@ -0,0 +1,1229 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Symbols +A +a +À +à +Á +á + +â +à +ã +Ä +ä +Å +Ã¥ +Ā +ā +Ă +ă +Ą +ą +Ǎ +ǎ +Ǟ +ǟ +Ç  +Ç¡ +Ǻ +Ç» +Ȁ +ȁ +Ȃ +ȃ +Ȧ +ȧ +Ḁ +ḁ +ẚ +Ạ +ạ +Ả +ả +Ấ +ấ +Ầ +ầ +Ẩ +ẩ +Ẫ +ẫ +Ậ +ậ +Ắ +ắ +Ằ +ằ +Ẳ +ẳ +Ẵ +ẵ +Ặ +ặ +B +b +ƀ +Ɓ +ɓ +Ƃ +ƃ +Ḃ +ḃ +Ḅ +ḅ +Ḇ +ḇ +C +c +Ç +ç +Ć +ć +Ĉ +ĉ +Ċ +ċ +Č +č +Ƈ +ƈ +ɕ +Ḉ +ḉ +D +d +Ď +ď +Đ +đ +Ɗ +ɗ +Ƌ +ƌ +Dž +Dz +È¡ +ɖ +Ḋ +ḋ +Ḍ +ḍ +Ḏ +ḏ +Ḑ +ḑ +Ḓ +ḓ +E +e +È +è +É +é +Ê +ê +Ë +ë +Ē +ē +Ĕ +ĕ +Ė +ė +Ę +ę +Ě +ě +Ȅ +ȅ +Ȇ +ȇ +Ȩ +È© +Ḕ +ḕ +Ḗ +ḗ +Ḙ +ḙ +Ḛ +ḛ +Ḝ +ḝ +Ẹ +ẹ +Ẻ +ẻ +Ẽ +ẽ +Ế +ế +Ề +ề +Ể +ể +Ễ +ễ +Ệ +ệ +F +f +Ƒ +ƒ +Ḟ +ḟ +G +g +Ĝ +ĝ +Ğ +ğ +Ä  +Ä¡ +Ä¢ +Ä£ +Ɠ +É  +Ǥ +Ç¥ +Ǧ +ǧ +Ç´ +ǵ +Ḡ +ḡ +H +h +Ĥ +Ä¥ +Ħ +ħ +Ȟ +ȟ +ɦ +Ḣ +ḣ +Ḥ +ḥ +Ḧ +ḧ +Ḩ +ḩ +Ḫ +ḫ +ẖ +I +i +Ì +ì +Í +í +Î +î +Ï +ï +Ĩ +Ä© +Ī +Ä« +Ĭ +Ä­ +Ä® +į +Ä° +Ɨ +ɨ +Ǐ +ǐ +Ȉ +ȉ +Ȋ +ȋ +Ḭ +ḭ +Ḯ +ḯ +Ỉ +ỉ +Ị +ị +J +j +Ä´ +ĵ +Ç° +ʝ +K +k +Ķ +Ä· +Ƙ +ƙ +Ǩ +Ç© +Ḱ +ḱ +Ḳ +ḳ +Ḵ +ḵ +L +l +Ĺ +ĺ +Ä» +ļ +Ľ +ľ +Ä¿ +ŀ +Ł +ł +ƚ +Lj +È´ +É« +ɬ +É­ +Ḷ +ḷ +Ḹ +ḹ +Ḻ +ḻ +Ḽ +ḽ +M +m +ɱ +Ḿ +ḿ +Ṁ +ṁ +Ṃ +ṃ +N +n +Ñ +ñ +Ń +ń +Ņ +ņ +Ň +ň +Ɲ +ɲ +ƞ +È  +Nj +Ǹ +ǹ +ȵ +ɳ +Ṅ +ṅ +Ṇ +ṇ +Ṉ +ṉ +Ṋ +ṋ +O +o +Ò +ò +Ó +ó +Ô +ô +Õ +õ +Ö +ö +Ø +ø +Ō +ō +Ŏ +ŏ +Ő +ő +Ɵ +Æ  +Æ¡ +Ǒ +ǒ +Ǫ +Ç« +Ǭ +Ç­ +Ǿ +Ç¿ +Ȍ +ȍ +Ȏ +ȏ +Ȫ +È« +Ȭ +È­ +È® +ȯ +È° +ȱ +Ṍ +ṍ +Ṏ +ṏ +Ṑ +ṑ +Ṓ +ṓ +Ọ +ọ +Ỏ +ỏ +Ố +ố +Ồ +ồ +Ổ +ổ +Ỗ +ỗ +Ộ +ộ +Ớ +ớ +Ờ +ờ +Ở +ở +á»  +ỡ +Ợ +ợ +P +p +Ƥ +Æ¥ +Ṕ +ṕ +Ṗ +ṗ +Q +q +Ê  +R +r +Ŕ +ŕ +Ŗ +ŗ +Ř +ř +Ȑ +ȑ +Ȓ +ȓ +ɼ +ɽ +ɾ +Ṙ +ṙ +Ṛ +ṛ +Ṝ +ṝ +Ṟ +ṟ +S +s +Ś +ś +Ŝ +ŝ +Ş +ş +Å  +Å¡ +Ș +ș +ʂ +á¹  +ṡ +á¹¢ +á¹£ +Ṥ +á¹¥ +Ṧ +ṧ +Ṩ +ṩ +T +t +Å¢ +Å£ +Ť +Å¥ +Ŧ +ŧ +Æ« +Ƭ +Æ­ +Æ® +ʈ +Ț +ț +ȶ +Ṫ +ṫ +Ṭ +á¹­ +á¹® +ṯ +á¹° +á¹± +ẗ +U +u +Ù +ù +Ú +ú +Û +û +Ü +ü +Ũ +Å© +Ū +Å« +Ŭ +Å­ +Å® +ů +Å° +ű +Ų +ų +Ư +Æ° +Ǔ +ǔ +Ǖ +ǖ +Ǘ +ǘ +Ǚ +ǚ +Ǜ +ǜ +Ȕ +ȕ +Ȗ +ȗ +á¹² +á¹³ +á¹´ +á¹µ +Ṷ +á¹· +Ṹ +á¹¹ +Ṻ +á¹» +Ụ +ụ +Ủ +ủ +Ứ +ứ +Ừ +ừ +Ử +á»­ +á»® +ữ +á»° +á»± +V +v +Ʋ +ʋ +á¹¼ +á¹½ +á¹¾ +ṿ +W +w +Å´ +ŵ +Ẁ +ẁ +Ẃ +ẃ +Ẅ +ẅ +Ẇ +ẇ +Ẉ +ẉ +ẘ +X +x +Ẋ +ẋ +Ẍ +ẍ +Y +y +Ý +ý +ÿ +Ÿ +Ŷ +Å· +Ƴ +Æ´ +Ȳ +ȳ +Ẏ +ẏ +ẙ +Ỳ +ỳ +á»´ +ỵ +Ỷ +á»· +Ỹ +ỹ +Z +z +Ź +ź +Å» +ż +Ž +ž +Ƶ +ƶ +Ȥ +È¥ +ʐ +ʑ +Ẑ +ẑ +Ẓ +ẓ +Ẕ +ẕ + + diff --git a/doc/help/xslt/common/gu.xml b/doc/help/xslt/common/gu.xml new file mode 100644 index 00000000..ae7ae2e5 --- /dev/null +++ b/doc/help/xslt/common/gu.xml @@ -0,0 +1,660 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +સંકેતો +A +a +B +b +C +c +D +d +E +e +F +f +G +g +H +h +I +i +J +j +K +k +L +l +M +m +N +n +O +o +P +p +Q +q +R +r +S +s +T +t +U +u +V +v +W +w +X +x +Y +y +Z +z + + diff --git a/doc/help/xslt/common/he.xml b/doc/help/xslt/common/he.xml new file mode 100644 index 00000000..d084df4b --- /dev/null +++ b/doc/help/xslt/common/he.xml @@ -0,0 +1,1229 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Symbols +A +a +À +à +Á +á + +â +à +ã +Ä +ä +Å +Ã¥ +Ā +ā +Ă +ă +Ą +ą +Ǎ +ǎ +Ǟ +ǟ +Ç  +Ç¡ +Ǻ +Ç» +Ȁ +ȁ +Ȃ +ȃ +Ȧ +ȧ +Ḁ +ḁ +ẚ +Ạ +ạ +Ả +ả +Ấ +ấ +Ầ +ầ +Ẩ +ẩ +Ẫ +ẫ +Ậ +ậ +Ắ +ắ +Ằ +ằ +Ẳ +ẳ +Ẵ +ẵ +Ặ +ặ +B +b +ƀ +Ɓ +ɓ +Ƃ +ƃ +Ḃ +ḃ +Ḅ +ḅ +Ḇ +ḇ +C +c +Ç +ç +Ć +ć +Ĉ +ĉ +Ċ +ċ +Č +č +Ƈ +ƈ +ɕ +Ḉ +ḉ +D +d +Ď +ď +Đ +đ +Ɗ +ɗ +Ƌ +ƌ +Dž +Dz +È¡ +ɖ +Ḋ +ḋ +Ḍ +ḍ +Ḏ +ḏ +Ḑ +ḑ +Ḓ +ḓ +E +e +È +è +É +é +Ê +ê +Ë +ë +Ē +ē +Ĕ +ĕ +Ė +ė +Ę +ę +Ě +ě +Ȅ +ȅ +Ȇ +ȇ +Ȩ +È© +Ḕ +ḕ +Ḗ +ḗ +Ḙ +ḙ +Ḛ +ḛ +Ḝ +ḝ +Ẹ +ẹ +Ẻ +ẻ +Ẽ +ẽ +Ế +ế +Ề +ề +Ể +ể +Ễ +ễ +Ệ +ệ +F +f +Ƒ +ƒ +Ḟ +ḟ +G +g +Ĝ +ĝ +Ğ +ğ +Ä  +Ä¡ +Ä¢ +Ä£ +Ɠ +É  +Ǥ +Ç¥ +Ǧ +ǧ +Ç´ +ǵ +Ḡ +ḡ +H +h +Ĥ +Ä¥ +Ħ +ħ +Ȟ +ȟ +ɦ +Ḣ +ḣ +Ḥ +ḥ +Ḧ +ḧ +Ḩ +ḩ +Ḫ +ḫ +ẖ +I +i +Ì +ì +Í +í +Î +î +Ï +ï +Ĩ +Ä© +Ī +Ä« +Ĭ +Ä­ +Ä® +į +Ä° +Ɨ +ɨ +Ǐ +ǐ +Ȉ +ȉ +Ȋ +ȋ +Ḭ +ḭ +Ḯ +ḯ +Ỉ +ỉ +Ị +ị +J +j +Ä´ +ĵ +Ç° +ʝ +K +k +Ķ +Ä· +Ƙ +ƙ +Ǩ +Ç© +Ḱ +ḱ +Ḳ +ḳ +Ḵ +ḵ +L +l +Ĺ +ĺ +Ä» +ļ +Ľ +ľ +Ä¿ +ŀ +Ł +ł +ƚ +Lj +È´ +É« +ɬ +É­ +Ḷ +ḷ +Ḹ +ḹ +Ḻ +ḻ +Ḽ +ḽ +M +m +ɱ +Ḿ +ḿ +Ṁ +ṁ +Ṃ +ṃ +N +n +Ñ +ñ +Ń +ń +Ņ +ņ +Ň +ň +Ɲ +ɲ +ƞ +È  +Nj +Ǹ +ǹ +ȵ +ɳ +Ṅ +ṅ +Ṇ +ṇ +Ṉ +ṉ +Ṋ +ṋ +O +o +Ò +ò +Ó +ó +Ô +ô +Õ +õ +Ö +ö +Ø +ø +Ō +ō +Ŏ +ŏ +Ő +ő +Ɵ +Æ  +Æ¡ +Ǒ +ǒ +Ǫ +Ç« +Ǭ +Ç­ +Ǿ +Ç¿ +Ȍ +ȍ +Ȏ +ȏ +Ȫ +È« +Ȭ +È­ +È® +ȯ +È° +ȱ +Ṍ +ṍ +Ṏ +ṏ +Ṑ +ṑ +Ṓ +ṓ +Ọ +ọ +Ỏ +ỏ +Ố +ố +Ồ +ồ +Ổ +ổ +Ỗ +ỗ +Ộ +ộ +Ớ +ớ +Ờ +ờ +Ở +ở +á»  +ỡ +Ợ +ợ +P +p +Ƥ +Æ¥ +Ṕ +ṕ +Ṗ +ṗ +Q +q +Ê  +R +r +Ŕ +ŕ +Ŗ +ŗ +Ř +ř +Ȑ +ȑ +Ȓ +ȓ +ɼ +ɽ +ɾ +Ṙ +ṙ +Ṛ +ṛ +Ṝ +ṝ +Ṟ +ṟ +S +s +Ś +ś +Ŝ +ŝ +Ş +ş +Å  +Å¡ +Ș +ș +ʂ +á¹  +ṡ +á¹¢ +á¹£ +Ṥ +á¹¥ +Ṧ +ṧ +Ṩ +ṩ +T +t +Å¢ +Å£ +Ť +Å¥ +Ŧ +ŧ +Æ« +Ƭ +Æ­ +Æ® +ʈ +Ț +ț +ȶ +Ṫ +ṫ +Ṭ +á¹­ +á¹® +ṯ +á¹° +á¹± +ẗ +U +u +Ù +ù +Ú +ú +Û +û +Ü +ü +Ũ +Å© +Ū +Å« +Ŭ +Å­ +Å® +ů +Å° +ű +Ų +ų +Ư +Æ° +Ǔ +ǔ +Ǖ +ǖ +Ǘ +ǘ +Ǚ +ǚ +Ǜ +ǜ +Ȕ +ȕ +Ȗ +ȗ +á¹² +á¹³ +á¹´ +á¹µ +Ṷ +á¹· +Ṹ +á¹¹ +Ṻ +á¹» +Ụ +ụ +Ủ +ủ +Ứ +ứ +Ừ +ừ +Ử +á»­ +á»® +ữ +á»° +á»± +V +v +Ʋ +ʋ +á¹¼ +á¹½ +á¹¾ +ṿ +W +w +Å´ +ŵ +Ẁ +ẁ +Ẃ +ẃ +Ẅ +ẅ +Ẇ +ẇ +Ẉ +ẉ +ẘ +X +x +Ẋ +ẋ +Ẍ +ẍ +Y +y +Ý +ý +ÿ +Ÿ +Ŷ +Å· +Ƴ +Æ´ +Ȳ +ȳ +Ẏ +ẏ +ẙ +Ỳ +ỳ +á»´ +ỵ +Ỷ +á»· +Ỹ +ỹ +Z +z +Ź +ź +Å» +ż +Ž +ž +Ƶ +ƶ +Ȥ +È¥ +ʐ +ʑ +Ẑ +ẑ +Ẓ +ẓ +Ẕ +ẕ + + diff --git a/doc/help/xslt/common/hi.xml b/doc/help/xslt/common/hi.xml new file mode 100644 index 00000000..76a075fb --- /dev/null +++ b/doc/help/xslt/common/hi.xml @@ -0,0 +1,660 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +संकेत +A +a +B +b +C +c +D +d +E +e +F +f +G +g +H +h +I +i +J +j +K +k +L +l +M +m +N +n +O +o +P +p +Q +q +R +r +S +s +T +t +U +u +V +v +W +w +X +x +Y +y +Z +z + + diff --git a/doc/help/xslt/common/hr.xml b/doc/help/xslt/common/hr.xml new file mode 100644 index 00000000..2db7030f --- /dev/null +++ b/doc/help/xslt/common/hr.xml @@ -0,0 +1,662 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Oznake +A +a +B +b +C +c +Ć +ć +Č +č +D +d +Đ +đ +E +e +F +f +G +g +H +h +I +i +J +j +K +k +L +l +M +m +N +n +O +o +P +p +R +r +S +s +Å  +Å¡ +T +t +U +u +V +v +Z +z +Ž +ž + + diff --git a/doc/help/xslt/common/hu.xml b/doc/help/xslt/common/hu.xml new file mode 100644 index 00000000..ab90c948 --- /dev/null +++ b/doc/help/xslt/common/hu.xml @@ -0,0 +1,678 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Jelzések +A +a +Á +á +B +b +C +c +D +d +E +e +É +é +F +f +G +g +H +h +I +i +Í +í +J +j +K +k +L +l +M +m +N +n +O +o +Ó +ó +Ö +ö +Ő +ő +P +p +Q +q +R +r +S +s +T +t +U +u +Ú +ú +Ü +ü +Å° +ű +V +v +W +w +X +x +Y +y +Z +z + + diff --git a/doc/help/xslt/common/id.xml b/doc/help/xslt/common/id.xml new file mode 100644 index 00000000..b730ad89 --- /dev/null +++ b/doc/help/xslt/common/id.xml @@ -0,0 +1,1229 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Simbol +A +a +À +à +Á +á + +â +à +ã +Ä +ä +Å +Ã¥ +Ā +ā +Ă +ă +Ą +ą +Ǎ +ǎ +Ǟ +ǟ +Ç  +Ç¡ +Ǻ +Ç» +Ȁ +ȁ +Ȃ +ȃ +Ȧ +ȧ +Ḁ +ḁ +ẚ +Ạ +ạ +Ả +ả +Ấ +ấ +Ầ +ầ +Ẩ +ẩ +Ẫ +ẫ +Ậ +ậ +Ắ +ắ +Ằ +ằ +Ẳ +ẳ +Ẵ +ẵ +Ặ +ặ +B +b +ƀ +Ɓ +ɓ +Ƃ +ƃ +Ḃ +ḃ +Ḅ +ḅ +Ḇ +ḇ +C +c +Ç +ç +Ć +ć +Ĉ +ĉ +Ċ +ċ +Č +č +Ƈ +ƈ +ɕ +Ḉ +ḉ +D +d +Ď +ď +Đ +đ +Ɗ +ɗ +Ƌ +ƌ +Dž +Dz +È¡ +ɖ +Ḋ +ḋ +Ḍ +ḍ +Ḏ +ḏ +Ḑ +ḑ +Ḓ +ḓ +E +e +È +è +É +é +Ê +ê +Ë +ë +Ē +ē +Ĕ +ĕ +Ė +ė +Ę +ę +Ě +ě +Ȅ +ȅ +Ȇ +ȇ +Ȩ +È© +Ḕ +ḕ +Ḗ +ḗ +Ḙ +ḙ +Ḛ +ḛ +Ḝ +ḝ +Ẹ +ẹ +Ẻ +ẻ +Ẽ +ẽ +Ế +ế +Ề +ề +Ể +ể +Ễ +ễ +Ệ +ệ +F +f +Ƒ +ƒ +Ḟ +ḟ +G +g +Ĝ +ĝ +Ğ +ğ +Ä  +Ä¡ +Ä¢ +Ä£ +Ɠ +É  +Ǥ +Ç¥ +Ǧ +ǧ +Ç´ +ǵ +Ḡ +ḡ +H +h +Ĥ +Ä¥ +Ħ +ħ +Ȟ +ȟ +ɦ +Ḣ +ḣ +Ḥ +ḥ +Ḧ +ḧ +Ḩ +ḩ +Ḫ +ḫ +ẖ +I +i +Ì +ì +Í +í +Î +î +Ï +ï +Ĩ +Ä© +Ī +Ä« +Ĭ +Ä­ +Ä® +į +Ä° +Ɨ +ɨ +Ǐ +ǐ +Ȉ +ȉ +Ȋ +ȋ +Ḭ +ḭ +Ḯ +ḯ +Ỉ +ỉ +Ị +ị +J +j +Ä´ +ĵ +Ç° +ʝ +K +k +Ķ +Ä· +Ƙ +ƙ +Ǩ +Ç© +Ḱ +ḱ +Ḳ +ḳ +Ḵ +ḵ +L +l +Ĺ +ĺ +Ä» +ļ +Ľ +ľ +Ä¿ +ŀ +Ł +ł +ƚ +Lj +È´ +É« +ɬ +É­ +Ḷ +ḷ +Ḹ +ḹ +Ḻ +ḻ +Ḽ +ḽ +M +m +ɱ +Ḿ +ḿ +Ṁ +ṁ +Ṃ +ṃ +N +n +Ñ +ñ +Ń +ń +Ņ +ņ +Ň +ň +Ɲ +ɲ +ƞ +È  +Nj +Ǹ +ǹ +ȵ +ɳ +Ṅ +ṅ +Ṇ +ṇ +Ṉ +ṉ +Ṋ +ṋ +O +o +Ò +ò +Ó +ó +Ô +ô +Õ +õ +Ö +ö +Ø +ø +Ō +ō +Ŏ +ŏ +Ő +ő +Ɵ +Æ  +Æ¡ +Ǒ +ǒ +Ǫ +Ç« +Ǭ +Ç­ +Ǿ +Ç¿ +Ȍ +ȍ +Ȏ +ȏ +Ȫ +È« +Ȭ +È­ +È® +ȯ +È° +ȱ +Ṍ +ṍ +Ṏ +ṏ +Ṑ +ṑ +Ṓ +ṓ +Ọ +ọ +Ỏ +ỏ +Ố +ố +Ồ +ồ +Ổ +ổ +Ỗ +ỗ +Ộ +ộ +Ớ +ớ +Ờ +ờ +Ở +ở +á»  +ỡ +Ợ +ợ +P +p +Ƥ +Æ¥ +Ṕ +ṕ +Ṗ +ṗ +Q +q +Ê  +R +r +Ŕ +ŕ +Ŗ +ŗ +Ř +ř +Ȑ +ȑ +Ȓ +ȓ +ɼ +ɽ +ɾ +Ṙ +ṙ +Ṛ +ṛ +Ṝ +ṝ +Ṟ +ṟ +S +s +Ś +ś +Ŝ +ŝ +Ş +ş +Å  +Å¡ +Ș +ș +ʂ +á¹  +ṡ +á¹¢ +á¹£ +Ṥ +á¹¥ +Ṧ +ṧ +Ṩ +ṩ +T +t +Å¢ +Å£ +Ť +Å¥ +Ŧ +ŧ +Æ« +Ƭ +Æ­ +Æ® +ʈ +Ț +ț +ȶ +Ṫ +ṫ +Ṭ +á¹­ +á¹® +ṯ +á¹° +á¹± +ẗ +U +u +Ù +ù +Ú +ú +Û +û +Ü +ü +Ũ +Å© +Ū +Å« +Ŭ +Å­ +Å® +ů +Å° +ű +Ų +ų +Ư +Æ° +Ǔ +ǔ +Ǖ +ǖ +Ǘ +ǘ +Ǚ +ǚ +Ǜ +ǜ +Ȕ +ȕ +Ȗ +ȗ +á¹² +á¹³ +á¹´ +á¹µ +Ṷ +á¹· +Ṹ +á¹¹ +Ṻ +á¹» +Ụ +ụ +Ủ +ủ +Ứ +ứ +Ừ +ừ +Ử +á»­ +á»® +ữ +á»° +á»± +V +v +Ʋ +ʋ +á¹¼ +á¹½ +á¹¾ +ṿ +W +w +Å´ +ŵ +Ẁ +ẁ +Ẃ +ẃ +Ẅ +ẅ +Ẇ +ẇ +Ẉ +ẉ +ẘ +X +x +Ẋ +ẋ +Ẍ +ẍ +Y +y +Ý +ý +ÿ +Ÿ +Ŷ +Å· +Ƴ +Æ´ +Ȳ +ȳ +Ẏ +ẏ +ẙ +Ỳ +ỳ +á»´ +ỵ +Ỷ +á»· +Ỹ +ỹ +Z +z +Ź +ź +Å» +ż +Ž +ž +Ƶ +ƶ +Ȥ +È¥ +ʐ +ʑ +Ẑ +ẑ +Ẓ +ẓ +Ẕ +ẕ + + diff --git a/doc/help/xslt/common/insertfile.xsl b/doc/help/xslt/common/insertfile.xsl new file mode 100644 index 00000000..66bcf410 --- /dev/null +++ b/doc/help/xslt/common/insertfile.xsl @@ -0,0 +1,111 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/common/is.xml b/doc/help/xslt/common/is.xml new file mode 100644 index 00000000..6a5b07ff --- /dev/null +++ b/doc/help/xslt/common/is.xml @@ -0,0 +1,672 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +tákn +A +a +Á +á +B +b +D +d +Đ +ð +E +e +É +é +F +f +G +g +H +h +I +i +Í +í +J +j +K +k +L +l +M +m +N +n +O +o +Ó +ó +P +p +R +r +S +s +T +t +U +u +Ú +ú +V +v +X +x +Y +y +Ý +ý +Þ +þ +Æ +æ +Ö +ö + + diff --git a/doc/help/xslt/common/it.xml b/doc/help/xslt/common/it.xml new file mode 100644 index 00000000..691e4d25 --- /dev/null +++ b/doc/help/xslt/common/it.xml @@ -0,0 +1,1229 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Simboli +A +a +À +à +Á +á + +â +à +ã +Ä +ä +Å +Ã¥ +Ā +ā +Ă +ă +Ą +ą +Ǎ +ǎ +Ǟ +ǟ +Ç  +Ç¡ +Ǻ +Ç» +Ȁ +ȁ +Ȃ +ȃ +Ȧ +ȧ +Ḁ +ḁ +ẚ +Ạ +ạ +Ả +ả +Ấ +ấ +Ầ +ầ +Ẩ +ẩ +Ẫ +ẫ +Ậ +ậ +Ắ +ắ +Ằ +ằ +Ẳ +ẳ +Ẵ +ẵ +Ặ +ặ +B +b +ƀ +Ɓ +ɓ +Ƃ +ƃ +Ḃ +ḃ +Ḅ +ḅ +Ḇ +ḇ +C +c +Ç +ç +Ć +ć +Ĉ +ĉ +Ċ +ċ +Č +č +Ƈ +ƈ +ɕ +Ḉ +ḉ +D +d +Ď +ď +Đ +đ +Ɗ +ɗ +Ƌ +ƌ +Dž +Dz +È¡ +ɖ +Ḋ +ḋ +Ḍ +ḍ +Ḏ +ḏ +Ḑ +ḑ +Ḓ +ḓ +E +e +È +è +É +é +Ê +ê +Ë +ë +Ē +ē +Ĕ +ĕ +Ė +ė +Ę +ę +Ě +ě +Ȅ +ȅ +Ȇ +ȇ +Ȩ +È© +Ḕ +ḕ +Ḗ +ḗ +Ḙ +ḙ +Ḛ +ḛ +Ḝ +ḝ +Ẹ +ẹ +Ẻ +ẻ +Ẽ +ẽ +Ế +ế +Ề +ề +Ể +ể +Ễ +ễ +Ệ +ệ +F +f +Ƒ +ƒ +Ḟ +ḟ +G +g +Ĝ +ĝ +Ğ +ğ +Ä  +Ä¡ +Ä¢ +Ä£ +Ɠ +É  +Ǥ +Ç¥ +Ǧ +ǧ +Ç´ +ǵ +Ḡ +ḡ +H +h +Ĥ +Ä¥ +Ħ +ħ +Ȟ +ȟ +ɦ +Ḣ +ḣ +Ḥ +ḥ +Ḧ +ḧ +Ḩ +ḩ +Ḫ +ḫ +ẖ +I +i +Ì +ì +Í +í +Î +î +Ï +ï +Ĩ +Ä© +Ī +Ä« +Ĭ +Ä­ +Ä® +į +Ä° +Ɨ +ɨ +Ǐ +ǐ +Ȉ +ȉ +Ȋ +ȋ +Ḭ +ḭ +Ḯ +ḯ +Ỉ +ỉ +Ị +ị +J +j +Ä´ +ĵ +Ç° +ʝ +K +k +Ķ +Ä· +Ƙ +ƙ +Ǩ +Ç© +Ḱ +ḱ +Ḳ +ḳ +Ḵ +ḵ +L +l +Ĺ +ĺ +Ä» +ļ +Ľ +ľ +Ä¿ +ŀ +Ł +ł +ƚ +Lj +È´ +É« +ɬ +É­ +Ḷ +ḷ +Ḹ +ḹ +Ḻ +ḻ +Ḽ +ḽ +M +m +ɱ +Ḿ +ḿ +Ṁ +ṁ +Ṃ +ṃ +N +n +Ñ +ñ +Ń +ń +Ņ +ņ +Ň +ň +Ɲ +ɲ +ƞ +È  +Nj +Ǹ +ǹ +ȵ +ɳ +Ṅ +ṅ +Ṇ +ṇ +Ṉ +ṉ +Ṋ +ṋ +O +o +Ò +ò +Ó +ó +Ô +ô +Õ +õ +Ö +ö +Ø +ø +Ō +ō +Ŏ +ŏ +Ő +ő +Ɵ +Æ  +Æ¡ +Ǒ +ǒ +Ǫ +Ç« +Ǭ +Ç­ +Ǿ +Ç¿ +Ȍ +ȍ +Ȏ +ȏ +Ȫ +È« +Ȭ +È­ +È® +ȯ +È° +ȱ +Ṍ +ṍ +Ṏ +ṏ +Ṑ +ṑ +Ṓ +ṓ +Ọ +ọ +Ỏ +ỏ +Ố +ố +Ồ +ồ +Ổ +ổ +Ỗ +ỗ +Ộ +ộ +Ớ +ớ +Ờ +ờ +Ở +ở +á»  +ỡ +Ợ +ợ +P +p +Ƥ +Æ¥ +Ṕ +ṕ +Ṗ +ṗ +Q +q +Ê  +R +r +Ŕ +ŕ +Ŗ +ŗ +Ř +ř +Ȑ +ȑ +Ȓ +ȓ +ɼ +ɽ +ɾ +Ṙ +ṙ +Ṛ +ṛ +Ṝ +ṝ +Ṟ +ṟ +S +s +Ś +ś +Ŝ +ŝ +Ş +ş +Å  +Å¡ +Ș +ș +ʂ +á¹  +ṡ +á¹¢ +á¹£ +Ṥ +á¹¥ +Ṧ +ṧ +Ṩ +ṩ +T +t +Å¢ +Å£ +Ť +Å¥ +Ŧ +ŧ +Æ« +Ƭ +Æ­ +Æ® +ʈ +Ț +ț +ȶ +Ṫ +ṫ +Ṭ +á¹­ +á¹® +ṯ +á¹° +á¹± +ẗ +U +u +Ù +ù +Ú +ú +Û +û +Ü +ü +Ũ +Å© +Ū +Å« +Ŭ +Å­ +Å® +ů +Å° +ű +Ų +ų +Ư +Æ° +Ǔ +ǔ +Ǖ +ǖ +Ǘ +ǘ +Ǚ +ǚ +Ǜ +ǜ +Ȕ +ȕ +Ȗ +ȗ +á¹² +á¹³ +á¹´ +á¹µ +Ṷ +á¹· +Ṹ +á¹¹ +Ṻ +á¹» +Ụ +ụ +Ủ +ủ +Ứ +ứ +Ừ +ừ +Ử +á»­ +á»® +ữ +á»° +á»± +V +v +Ʋ +ʋ +á¹¼ +á¹½ +á¹¾ +ṿ +W +w +Å´ +ŵ +Ẁ +ẁ +Ẃ +ẃ +Ẅ +ẅ +Ẇ +ẇ +Ẉ +ẉ +ẘ +X +x +Ẋ +ẋ +Ẍ +ẍ +Y +y +Ý +ý +ÿ +Ÿ +Ŷ +Å· +Ƴ +Æ´ +Ȳ +ȳ +Ẏ +ẏ +ẙ +Ỳ +ỳ +á»´ +ỵ +Ỷ +á»· +Ỹ +ỹ +Z +z +Ź +ź +Å» +ż +Ž +ž +Ƶ +ƶ +Ȥ +È¥ +ʐ +ʑ +Ẑ +ẑ +Ẓ +ẓ +Ẕ +ẕ + + diff --git a/doc/help/xslt/common/ja.xml b/doc/help/xslt/common/ja.xml new file mode 100644 index 00000000..4dd809ba --- /dev/null +++ b/doc/help/xslt/common/ja.xml @@ -0,0 +1,660 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +シンボル +A +a +B +b +C +c +D +d +E +e +F +f +G +g +H +h +I +i +J +j +K +k +L +l +M +m +N +n +O +o +P +p +Q +q +R +r +S +s +T +t +U +u +V +v +W +w +X +x +Y +y +Z +z + + diff --git a/doc/help/xslt/common/ka.xml b/doc/help/xslt/common/ka.xml new file mode 100644 index 00000000..bd6d29c4 --- /dev/null +++ b/doc/help/xslt/common/ka.xml @@ -0,0 +1,700 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +სიმბოლოები +A +a +B +b +C +c +D +d +E +e +F +f +G +g +H +h +I +i +J +j +K +k +L +l +M +m +N +n +O +o +P +p +Q +q +R +r +S +s +T +t +U +u +V +v +W +w +X +x +Y +y +Z +z +ა +ბ +გ +დ +ე +ვ +ზ +ჱ +თ +ი +კ +ლ +მ +ნ +ჲ +ო +პ +ჟ +რ +ს +ტ +ჳ +უ +ფ +ქ +ღ +ყ +შ +ჩ +ც +ძ +წ +ჭ +ხ +ჴ +ჯ +ჰ +ჵ +ჶ +ჷ + + diff --git a/doc/help/xslt/common/kn.xml b/doc/help/xslt/common/kn.xml new file mode 100644 index 00000000..5c246f1c --- /dev/null +++ b/doc/help/xslt/common/kn.xml @@ -0,0 +1,1229 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +ಸಂಕೇತಗಳು +A +a +À +à +Á +á + +â +à +ã +Ä +ä +Å +Ã¥ +Ā +ā +Ă +ă +Ą +ą +Ǎ +ǎ +Ǟ +ǟ +Ç  +Ç¡ +Ǻ +Ç» +Ȁ +ȁ +Ȃ +ȃ +Ȧ +ȧ +Ḁ +ḁ +ẚ +Ạ +ạ +Ả +ả +Ấ +ấ +Ầ +ầ +Ẩ +ẩ +Ẫ +ẫ +Ậ +ậ +Ắ +ắ +Ằ +ằ +Ẳ +ẳ +Ẵ +ẵ +Ặ +ặ +B +b +ƀ +Ɓ +ɓ +Ƃ +ƃ +Ḃ +ḃ +Ḅ +ḅ +Ḇ +ḇ +C +c +Ç +ç +Ć +ć +Ĉ +ĉ +Ċ +ċ +Č +č +Ƈ +ƈ +ɕ +Ḉ +ḉ +D +d +Ď +ď +Đ +đ +Ɗ +ɗ +Ƌ +ƌ +Dž +Dz +È¡ +ɖ +Ḋ +ḋ +Ḍ +ḍ +Ḏ +ḏ +Ḑ +ḑ +Ḓ +ḓ +E +e +È +è +É +é +Ê +ê +Ë +ë +Ē +ē +Ĕ +ĕ +Ė +ė +Ę +ę +Ě +ě +Ȅ +ȅ +Ȇ +ȇ +Ȩ +È© +Ḕ +ḕ +Ḗ +ḗ +Ḙ +ḙ +Ḛ +ḛ +Ḝ +ḝ +Ẹ +ẹ +Ẻ +ẻ +Ẽ +ẽ +Ế +ế +Ề +ề +Ể +ể +Ễ +ễ +Ệ +ệ +F +f +Ƒ +ƒ +Ḟ +ḟ +G +g +Ĝ +ĝ +Ğ +ğ +Ä  +Ä¡ +Ä¢ +Ä£ +Ɠ +É  +Ǥ +Ç¥ +Ǧ +ǧ +Ç´ +ǵ +Ḡ +ḡ +H +h +Ĥ +Ä¥ +Ħ +ħ +Ȟ +ȟ +ɦ +Ḣ +ḣ +Ḥ +ḥ +Ḧ +ḧ +Ḩ +ḩ +Ḫ +ḫ +ẖ +I +i +Ì +ì +Í +í +Î +î +Ï +ï +Ĩ +Ä© +Ī +Ä« +Ĭ +Ä­ +Ä® +į +Ä° +Ɨ +ɨ +Ǐ +ǐ +Ȉ +ȉ +Ȋ +ȋ +Ḭ +ḭ +Ḯ +ḯ +Ỉ +ỉ +Ị +ị +J +j +Ä´ +ĵ +Ç° +ʝ +K +k +Ķ +Ä· +Ƙ +ƙ +Ǩ +Ç© +Ḱ +ḱ +Ḳ +ḳ +Ḵ +ḵ +L +l +Ĺ +ĺ +Ä» +ļ +Ľ +ľ +Ä¿ +ŀ +Ł +ł +ƚ +Lj +È´ +É« +ɬ +É­ +Ḷ +ḷ +Ḹ +ḹ +Ḻ +ḻ +Ḽ +ḽ +M +m +ɱ +Ḿ +ḿ +Ṁ +ṁ +Ṃ +ṃ +N +n +Ñ +ñ +Ń +ń +Ņ +ņ +Ň +ň +Ɲ +ɲ +ƞ +È  +Nj +Ǹ +ǹ +ȵ +ɳ +Ṅ +ṅ +Ṇ +ṇ +Ṉ +ṉ +Ṋ +ṋ +O +o +Ò +ò +Ó +ó +Ô +ô +Õ +õ +Ö +ö +Ø +ø +Ō +ō +Ŏ +ŏ +Ő +ő +Ɵ +Æ  +Æ¡ +Ǒ +ǒ +Ǫ +Ç« +Ǭ +Ç­ +Ǿ +Ç¿ +Ȍ +ȍ +Ȏ +ȏ +Ȫ +È« +Ȭ +È­ +È® +ȯ +È° +ȱ +Ṍ +ṍ +Ṏ +ṏ +Ṑ +ṑ +Ṓ +ṓ +Ọ +ọ +Ỏ +ỏ +Ố +ố +Ồ +ồ +Ổ +ổ +Ỗ +ỗ +Ộ +ộ +Ớ +ớ +Ờ +ờ +Ở +ở +á»  +ỡ +Ợ +ợ +P +p +Ƥ +Æ¥ +Ṕ +ṕ +Ṗ +ṗ +Q +q +Ê  +R +r +Ŕ +ŕ +Ŗ +ŗ +Ř +ř +Ȑ +ȑ +Ȓ +ȓ +ɼ +ɽ +ɾ +Ṙ +ṙ +Ṛ +ṛ +Ṝ +ṝ +Ṟ +ṟ +S +s +Ś +ś +Ŝ +ŝ +Ş +ş +Å  +Å¡ +Ș +ș +ʂ +á¹  +ṡ +á¹¢ +á¹£ +Ṥ +á¹¥ +Ṧ +ṧ +Ṩ +ṩ +T +t +Å¢ +Å£ +Ť +Å¥ +Ŧ +ŧ +Æ« +Ƭ +Æ­ +Æ® +ʈ +Ț +ț +ȶ +Ṫ +ṫ +Ṭ +á¹­ +á¹® +ṯ +á¹° +á¹± +ẗ +U +u +Ù +ù +Ú +ú +Û +û +Ü +ü +Ũ +Å© +Ū +Å« +Ŭ +Å­ +Å® +ů +Å° +ű +Ų +ų +Ư +Æ° +Ǔ +ǔ +Ǖ +ǖ +Ǘ +ǘ +Ǚ +ǚ +Ǜ +ǜ +Ȕ +ȕ +Ȗ +ȗ +á¹² +á¹³ +á¹´ +á¹µ +Ṷ +á¹· +Ṹ +á¹¹ +Ṻ +á¹» +Ụ +ụ +Ủ +ủ +Ứ +ứ +Ừ +ừ +Ử +á»­ +á»® +ữ +á»° +á»± +V +v +Ʋ +ʋ +á¹¼ +á¹½ +á¹¾ +ṿ +W +w +Å´ +ŵ +Ẁ +ẁ +Ẃ +ẃ +Ẅ +ẅ +Ẇ +ẇ +Ẉ +ẉ +ẘ +X +x +Ẋ +ẋ +Ẍ +ẍ +Y +y +Ý +ý +ÿ +Ÿ +Ŷ +Å· +Ƴ +Æ´ +Ȳ +ȳ +Ẏ +ẏ +ẙ +Ỳ +ỳ +á»´ +ỵ +Ỷ +á»· +Ỹ +ỹ +Z +z +Ź +ź +Å» +ż +Ž +ž +Ƶ +ƶ +Ȥ +È¥ +ʐ +ʑ +Ẑ +ẑ +Ẓ +ẓ +Ẕ +ẕ + + diff --git a/doc/help/xslt/common/ko.xml b/doc/help/xslt/common/ko.xml new file mode 100644 index 00000000..52640773 --- /dev/null +++ b/doc/help/xslt/common/ko.xml @@ -0,0 +1,1229 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Symbols +A +a +À +à +Á +á + +â +à +ã +Ä +ä +Å +Ã¥ +Ā +ā +Ă +ă +Ą +ą +Ǎ +ǎ +Ǟ +ǟ +Ç  +Ç¡ +Ǻ +Ç» +Ȁ +ȁ +Ȃ +ȃ +Ȧ +ȧ +Ḁ +ḁ +ẚ +Ạ +ạ +Ả +ả +Ấ +ấ +Ầ +ầ +Ẩ +ẩ +Ẫ +ẫ +Ậ +ậ +Ắ +ắ +Ằ +ằ +Ẳ +ẳ +Ẵ +ẵ +Ặ +ặ +B +b +ƀ +Ɓ +ɓ +Ƃ +ƃ +Ḃ +ḃ +Ḅ +ḅ +Ḇ +ḇ +C +c +Ç +ç +Ć +ć +Ĉ +ĉ +Ċ +ċ +Č +č +Ƈ +ƈ +ɕ +Ḉ +ḉ +D +d +Ď +ď +Đ +đ +Ɗ +ɗ +Ƌ +ƌ +Dž +Dz +È¡ +ɖ +Ḋ +ḋ +Ḍ +ḍ +Ḏ +ḏ +Ḑ +ḑ +Ḓ +ḓ +E +e +È +è +É +é +Ê +ê +Ë +ë +Ē +ē +Ĕ +ĕ +Ė +ė +Ę +ę +Ě +ě +Ȅ +ȅ +Ȇ +ȇ +Ȩ +È© +Ḕ +ḕ +Ḗ +ḗ +Ḙ +ḙ +Ḛ +ḛ +Ḝ +ḝ +Ẹ +ẹ +Ẻ +ẻ +Ẽ +ẽ +Ế +ế +Ề +ề +Ể +ể +Ễ +ễ +Ệ +ệ +F +f +Ƒ +ƒ +Ḟ +ḟ +G +g +Ĝ +ĝ +Ğ +ğ +Ä  +Ä¡ +Ä¢ +Ä£ +Ɠ +É  +Ǥ +Ç¥ +Ǧ +ǧ +Ç´ +ǵ +Ḡ +ḡ +H +h +Ĥ +Ä¥ +Ħ +ħ +Ȟ +ȟ +ɦ +Ḣ +ḣ +Ḥ +ḥ +Ḧ +ḧ +Ḩ +ḩ +Ḫ +ḫ +ẖ +I +i +Ì +ì +Í +í +Î +î +Ï +ï +Ĩ +Ä© +Ī +Ä« +Ĭ +Ä­ +Ä® +į +Ä° +Ɨ +ɨ +Ǐ +ǐ +Ȉ +ȉ +Ȋ +ȋ +Ḭ +ḭ +Ḯ +ḯ +Ỉ +ỉ +Ị +ị +J +j +Ä´ +ĵ +Ç° +ʝ +K +k +Ķ +Ä· +Ƙ +ƙ +Ǩ +Ç© +Ḱ +ḱ +Ḳ +ḳ +Ḵ +ḵ +L +l +Ĺ +ĺ +Ä» +ļ +Ľ +ľ +Ä¿ +ŀ +Ł +ł +ƚ +Lj +È´ +É« +ɬ +É­ +Ḷ +ḷ +Ḹ +ḹ +Ḻ +ḻ +Ḽ +ḽ +M +m +ɱ +Ḿ +ḿ +Ṁ +ṁ +Ṃ +ṃ +N +n +Ñ +ñ +Ń +ń +Ņ +ņ +Ň +ň +Ɲ +ɲ +ƞ +È  +Nj +Ǹ +ǹ +ȵ +ɳ +Ṅ +ṅ +Ṇ +ṇ +Ṉ +ṉ +Ṋ +ṋ +O +o +Ò +ò +Ó +ó +Ô +ô +Õ +õ +Ö +ö +Ø +ø +Ō +ō +Ŏ +ŏ +Ő +ő +Ɵ +Æ  +Æ¡ +Ǒ +ǒ +Ǫ +Ç« +Ǭ +Ç­ +Ǿ +Ç¿ +Ȍ +ȍ +Ȏ +ȏ +Ȫ +È« +Ȭ +È­ +È® +ȯ +È° +ȱ +Ṍ +ṍ +Ṏ +ṏ +Ṑ +ṑ +Ṓ +ṓ +Ọ +ọ +Ỏ +ỏ +Ố +ố +Ồ +ồ +Ổ +ổ +Ỗ +ỗ +Ộ +ộ +Ớ +ớ +Ờ +ờ +Ở +ở +á»  +ỡ +Ợ +ợ +P +p +Ƥ +Æ¥ +Ṕ +ṕ +Ṗ +ṗ +Q +q +Ê  +R +r +Ŕ +ŕ +Ŗ +ŗ +Ř +ř +Ȑ +ȑ +Ȓ +ȓ +ɼ +ɽ +ɾ +Ṙ +ṙ +Ṛ +ṛ +Ṝ +ṝ +Ṟ +ṟ +S +s +Ś +ś +Ŝ +ŝ +Ş +ş +Å  +Å¡ +Ș +ș +ʂ +á¹  +ṡ +á¹¢ +á¹£ +Ṥ +á¹¥ +Ṧ +ṧ +Ṩ +ṩ +T +t +Å¢ +Å£ +Ť +Å¥ +Ŧ +ŧ +Æ« +Ƭ +Æ­ +Æ® +ʈ +Ț +ț +ȶ +Ṫ +ṫ +Ṭ +á¹­ +á¹® +ṯ +á¹° +á¹± +ẗ +U +u +Ù +ù +Ú +ú +Û +û +Ü +ü +Ũ +Å© +Ū +Å« +Ŭ +Å­ +Å® +ů +Å° +ű +Ų +ų +Ư +Æ° +Ǔ +ǔ +Ǖ +ǖ +Ǘ +ǘ +Ǚ +ǚ +Ǜ +ǜ +Ȕ +ȕ +Ȗ +ȗ +á¹² +á¹³ +á¹´ +á¹µ +Ṷ +á¹· +Ṹ +á¹¹ +Ṻ +á¹» +Ụ +ụ +Ủ +ủ +Ứ +ứ +Ừ +ừ +Ử +á»­ +á»® +ữ +á»° +á»± +V +v +Ʋ +ʋ +á¹¼ +á¹½ +á¹¾ +ṿ +W +w +Å´ +ŵ +Ẁ +ẁ +Ẃ +ẃ +Ẅ +ẅ +Ẇ +ẇ +Ẉ +ẉ +ẘ +X +x +Ẋ +ẋ +Ẍ +ẍ +Y +y +Ý +ý +ÿ +Ÿ +Ŷ +Å· +Ƴ +Æ´ +Ȳ +ȳ +Ẏ +ẏ +ẙ +Ỳ +ỳ +á»´ +ỵ +Ỷ +á»· +Ỹ +ỹ +Z +z +Ź +ź +Å» +ż +Ž +ž +Ƶ +ƶ +Ȥ +È¥ +ʐ +ʑ +Ẑ +ẑ +Ẓ +ẓ +Ẕ +ẕ + + diff --git a/doc/help/xslt/common/ky.xml b/doc/help/xslt/common/ky.xml new file mode 100644 index 00000000..eb2e50ec --- /dev/null +++ b/doc/help/xslt/common/ky.xml @@ -0,0 +1,732 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Символдор +A +a +B +b +C +c +D +d +E +e +F +f +G +g +H +h +I +i +J +j +K +k +L +l +M +m +N +n +O +o +P +p +Q +q +R +r +S +s +T +t +U +u +V +v +W +w +X +x +Y +y +Z +z +А +а +Б +б +В +в +Г +г +Д +д +Е +е +Ё +ё +Ж +ж +З +з +И +и +Й +й +К +к +Л +л +М +м +Н +н +Ò¢ +Ò£ +О +о +Ó¨ +Ó© +П +п +Р +р +С +с +Т +т +У +у +Ò® +Ò¯ +Ф +ф +Ð¥ +х +Ц +ц +Ч +ч +Ш +ш +Щ +щ +Ъ +ъ +Ы +ы +Ь +ь +Э +э +Ю +ю +Я +я + + diff --git a/doc/help/xslt/common/l10n.dtd b/doc/help/xslt/common/l10n.dtd new file mode 100644 index 00000000..9bf2f66b --- /dev/null +++ b/doc/help/xslt/common/l10n.dtd @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/common/l10n.xml b/doc/help/xslt/common/l10n.xml new file mode 100644 index 00000000..da3df278 --- /dev/null +++ b/doc/help/xslt/common/l10n.xml @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/common/l10n.xsl b/doc/help/xslt/common/l10n.xsl new file mode 100644 index 00000000..f35a0b6e --- /dev/null +++ b/doc/help/xslt/common/l10n.xsl @@ -0,0 +1,593 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No localization exists for " + + " or " + + ". Using default " + + ". + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No " + + " localization of " + + " exists + + + . + + + ; using "en". + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + bullet + + + + + + + + + + + + + + + + + + + + No " + + " localization of dingbat + + exists; using "en". + + + + + + + + + + + + + + + + startquote + + + + + + endquote + + + + + + nestedstartquote + + + + + + nestedendquote + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No " + + " localization exists. + + + + + + + + No context named " + + " exists in the " + + " localization. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No template for " + + " (or any of its leaves) exists in the context named " + + " in the " + + " localization. + + + + + + + + + + + + + + + + + + + + No " + + " localization exists. + + + + + + + + + + No context named " + + " exists in the " + + " localization. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No template for " + + " (or any of its leaves) exists in the context named " + + " in the " + + " localization. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + 0 + + + + \ No newline at end of file diff --git a/doc/help/xslt/common/la.xml b/doc/help/xslt/common/la.xml new file mode 100644 index 00000000..f8a7013c --- /dev/null +++ b/doc/help/xslt/common/la.xml @@ -0,0 +1,1229 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Symbols +A +a +À +à +Á +á + +â +à +ã +Ä +ä +Å +Ã¥ +Ā +ā +Ă +ă +Ą +ą +Ǎ +ǎ +Ǟ +ǟ +Ç  +Ç¡ +Ǻ +Ç» +Ȁ +ȁ +Ȃ +ȃ +Ȧ +ȧ +Ḁ +ḁ +ẚ +Ạ +ạ +Ả +ả +Ấ +ấ +Ầ +ầ +Ẩ +ẩ +Ẫ +ẫ +Ậ +ậ +Ắ +ắ +Ằ +ằ +Ẳ +ẳ +Ẵ +ẵ +Ặ +ặ +B +b +ƀ +Ɓ +ɓ +Ƃ +ƃ +Ḃ +ḃ +Ḅ +ḅ +Ḇ +ḇ +C +c +Ç +ç +Ć +ć +Ĉ +ĉ +Ċ +ċ +Č +č +Ƈ +ƈ +ɕ +Ḉ +ḉ +D +d +Ď +ď +Đ +đ +Ɗ +ɗ +Ƌ +ƌ +Dž +Dz +È¡ +ɖ +Ḋ +ḋ +Ḍ +ḍ +Ḏ +ḏ +Ḑ +ḑ +Ḓ +ḓ +E +e +È +è +É +é +Ê +ê +Ë +ë +Ē +ē +Ĕ +ĕ +Ė +ė +Ę +ę +Ě +ě +Ȅ +ȅ +Ȇ +ȇ +Ȩ +È© +Ḕ +ḕ +Ḗ +ḗ +Ḙ +ḙ +Ḛ +ḛ +Ḝ +ḝ +Ẹ +ẹ +Ẻ +ẻ +Ẽ +ẽ +Ế +ế +Ề +ề +Ể +ể +Ễ +ễ +Ệ +ệ +F +f +Ƒ +ƒ +Ḟ +ḟ +G +g +Ĝ +ĝ +Ğ +ğ +Ä  +Ä¡ +Ä¢ +Ä£ +Ɠ +É  +Ǥ +Ç¥ +Ǧ +ǧ +Ç´ +ǵ +Ḡ +ḡ +H +h +Ĥ +Ä¥ +Ħ +ħ +Ȟ +ȟ +ɦ +Ḣ +ḣ +Ḥ +ḥ +Ḧ +ḧ +Ḩ +ḩ +Ḫ +ḫ +ẖ +I +i +Ì +ì +Í +í +Î +î +Ï +ï +Ĩ +Ä© +Ī +Ä« +Ĭ +Ä­ +Ä® +į +Ä° +Ɨ +ɨ +Ǐ +ǐ +Ȉ +ȉ +Ȋ +ȋ +Ḭ +ḭ +Ḯ +ḯ +Ỉ +ỉ +Ị +ị +J +j +Ä´ +ĵ +Ç° +ʝ +K +k +Ķ +Ä· +Ƙ +ƙ +Ǩ +Ç© +Ḱ +ḱ +Ḳ +ḳ +Ḵ +ḵ +L +l +Ĺ +ĺ +Ä» +ļ +Ľ +ľ +Ä¿ +ŀ +Ł +ł +ƚ +Lj +È´ +É« +ɬ +É­ +Ḷ +ḷ +Ḹ +ḹ +Ḻ +ḻ +Ḽ +ḽ +M +m +ɱ +Ḿ +ḿ +Ṁ +ṁ +Ṃ +ṃ +N +n +Ñ +ñ +Ń +ń +Ņ +ņ +Ň +ň +Ɲ +ɲ +ƞ +È  +Nj +Ǹ +ǹ +ȵ +ɳ +Ṅ +ṅ +Ṇ +ṇ +Ṉ +ṉ +Ṋ +ṋ +O +o +Ò +ò +Ó +ó +Ô +ô +Õ +õ +Ö +ö +Ø +ø +Ō +ō +Ŏ +ŏ +Ő +ő +Ɵ +Æ  +Æ¡ +Ǒ +ǒ +Ǫ +Ç« +Ǭ +Ç­ +Ǿ +Ç¿ +Ȍ +ȍ +Ȏ +ȏ +Ȫ +È« +Ȭ +È­ +È® +ȯ +È° +ȱ +Ṍ +ṍ +Ṏ +ṏ +Ṑ +ṑ +Ṓ +ṓ +Ọ +ọ +Ỏ +ỏ +Ố +ố +Ồ +ồ +Ổ +ổ +Ỗ +ỗ +Ộ +ộ +Ớ +ớ +Ờ +ờ +Ở +ở +á»  +ỡ +Ợ +ợ +P +p +Ƥ +Æ¥ +Ṕ +ṕ +Ṗ +ṗ +Q +q +Ê  +R +r +Ŕ +ŕ +Ŗ +ŗ +Ř +ř +Ȑ +ȑ +Ȓ +ȓ +ɼ +ɽ +ɾ +Ṙ +ṙ +Ṛ +ṛ +Ṝ +ṝ +Ṟ +ṟ +S +s +Ś +ś +Ŝ +ŝ +Ş +ş +Å  +Å¡ +Ș +ș +ʂ +á¹  +ṡ +á¹¢ +á¹£ +Ṥ +á¹¥ +Ṧ +ṧ +Ṩ +ṩ +T +t +Å¢ +Å£ +Ť +Å¥ +Ŧ +ŧ +Æ« +Ƭ +Æ­ +Æ® +ʈ +Ț +ț +ȶ +Ṫ +ṫ +Ṭ +á¹­ +á¹® +ṯ +á¹° +á¹± +ẗ +U +u +Ù +ù +Ú +ú +Û +û +Ü +ü +Ũ +Å© +Ū +Å« +Ŭ +Å­ +Å® +ů +Å° +ű +Ų +ų +Ư +Æ° +Ǔ +ǔ +Ǖ +ǖ +Ǘ +ǘ +Ǚ +ǚ +Ǜ +ǜ +Ȕ +ȕ +Ȗ +ȗ +á¹² +á¹³ +á¹´ +á¹µ +Ṷ +á¹· +Ṹ +á¹¹ +Ṻ +á¹» +Ụ +ụ +Ủ +ủ +Ứ +ứ +Ừ +ừ +Ử +á»­ +á»® +ữ +á»° +á»± +V +v +Ʋ +ʋ +á¹¼ +á¹½ +á¹¾ +ṿ +W +w +Å´ +ŵ +Ẁ +ẁ +Ẃ +ẃ +Ẅ +ẅ +Ẇ +ẇ +Ẉ +ẉ +ẘ +X +x +Ẋ +ẋ +Ẍ +ẍ +Y +y +Ý +ý +ÿ +Ÿ +Ŷ +Å· +Ƴ +Æ´ +Ȳ +ȳ +Ẏ +ẏ +ẙ +Ỳ +ỳ +á»´ +ỵ +Ỷ +á»· +Ỹ +ỹ +Z +z +Ź +ź +Å» +ż +Ž +ž +Ƶ +ƶ +Ȥ +È¥ +ʐ +ʑ +Ẑ +ẑ +Ẓ +ẓ +Ẕ +ẕ + + diff --git a/doc/help/xslt/common/labels.xsl b/doc/help/xslt/common/labels.xsl new file mode 100644 index 00000000..c5f74f3d --- /dev/null +++ b/doc/help/xslt/common/labels.xsl @@ -0,0 +1,890 @@ + + + + + + + + + + +Provides access to element labels + +Processing an element in the +label.markup mode produces the +element label. +Trailing punctuation is not added to the label. + + + + + + . + + + + + + + Request for label of unexpected element: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + label.markup: this can't happen! + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +   + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + a + i + A + I + + + + Unexpected numeration: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + +Returns true if $section should be labelled + +Returns true if the specified section should be labelled. +By default, this template returns zero unless +the section level is less than or equal to the value of the +$section.autolabel.max.depth parameter, in +which case it returns +$section.autolabel. +Custom stylesheets may override it to get more selective behavior. + + + + + + + + + + + + + + + 1 + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + Unexpected .autolabel value: + ; using default. + + + + + + + + + +Returns format for autolabel parameters + +Returns format passed as parameter if non zero. Supported + format are 'arabic' or '1', 'loweralpha' or 'a', 'lowerroman' or 'i', + 'upperlapha' or 'A', 'upperroman' or 'I', 'arabicindic' or '١'. + If its not one of these then + returns the default format. + + + + + + diff --git a/doc/help/xslt/common/lt.xml b/doc/help/xslt/common/lt.xml new file mode 100644 index 00000000..9f9a5452 --- /dev/null +++ b/doc/help/xslt/common/lt.xml @@ -0,0 +1,678 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Simboliai +A +a +Ą +ą +B +b +C +c +Č +č +D +d +E +e +Ę +ę +Ė +ė +F +f +G +g +H +h +I +i +Ä® +į +Y +y +J +j +K +k +L +l +M +m +N +n +O +o +P +p +R +r +S +s +Å  +Å¡ +T +t +U +u +Ų +ų +Ū +Å« +V +v +Z +z +Ž +ž +Q +q +W +w +X +x + + diff --git a/doc/help/xslt/common/lv.xml b/doc/help/xslt/common/lv.xml new file mode 100644 index 00000000..ce6ba498 --- /dev/null +++ b/doc/help/xslt/common/lv.xml @@ -0,0 +1,1229 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Symbols +A +a +À +à +Á +á + +â +à +ã +Ä +ä +Å +Ã¥ +Ā +ā +Ă +ă +Ą +ą +Ǎ +ǎ +Ǟ +ǟ +Ç  +Ç¡ +Ǻ +Ç» +Ȁ +ȁ +Ȃ +ȃ +Ȧ +ȧ +Ḁ +ḁ +ẚ +Ạ +ạ +Ả +ả +Ấ +ấ +Ầ +ầ +Ẩ +ẩ +Ẫ +ẫ +Ậ +ậ +Ắ +ắ +Ằ +ằ +Ẳ +ẳ +Ẵ +ẵ +Ặ +ặ +B +b +ƀ +Ɓ +ɓ +Ƃ +ƃ +Ḃ +ḃ +Ḅ +ḅ +Ḇ +ḇ +C +c +Ç +ç +Ć +ć +Ĉ +ĉ +Ċ +ċ +Č +č +Ƈ +ƈ +ɕ +Ḉ +ḉ +D +d +Ď +ď +Đ +đ +Ɗ +ɗ +Ƌ +ƌ +Dž +Dz +È¡ +ɖ +Ḋ +ḋ +Ḍ +ḍ +Ḏ +ḏ +Ḑ +ḑ +Ḓ +ḓ +E +e +È +è +É +é +Ê +ê +Ë +ë +Ē +ē +Ĕ +ĕ +Ė +ė +Ę +ę +Ě +ě +Ȅ +ȅ +Ȇ +ȇ +Ȩ +È© +Ḕ +ḕ +Ḗ +ḗ +Ḙ +ḙ +Ḛ +ḛ +Ḝ +ḝ +Ẹ +ẹ +Ẻ +ẻ +Ẽ +ẽ +Ế +ế +Ề +ề +Ể +ể +Ễ +ễ +Ệ +ệ +F +f +Ƒ +ƒ +Ḟ +ḟ +G +g +Ĝ +ĝ +Ğ +ğ +Ä  +Ä¡ +Ä¢ +Ä£ +Ɠ +É  +Ǥ +Ç¥ +Ǧ +ǧ +Ç´ +ǵ +Ḡ +ḡ +H +h +Ĥ +Ä¥ +Ħ +ħ +Ȟ +ȟ +ɦ +Ḣ +ḣ +Ḥ +ḥ +Ḧ +ḧ +Ḩ +ḩ +Ḫ +ḫ +ẖ +I +i +Ì +ì +Í +í +Î +î +Ï +ï +Ĩ +Ä© +Ī +Ä« +Ĭ +Ä­ +Ä® +į +Ä° +Ɨ +ɨ +Ǐ +ǐ +Ȉ +ȉ +Ȋ +ȋ +Ḭ +ḭ +Ḯ +ḯ +Ỉ +ỉ +Ị +ị +J +j +Ä´ +ĵ +Ç° +ʝ +K +k +Ķ +Ä· +Ƙ +ƙ +Ǩ +Ç© +Ḱ +ḱ +Ḳ +ḳ +Ḵ +ḵ +L +l +Ĺ +ĺ +Ä» +ļ +Ľ +ľ +Ä¿ +ŀ +Ł +ł +ƚ +Lj +È´ +É« +ɬ +É­ +Ḷ +ḷ +Ḹ +ḹ +Ḻ +ḻ +Ḽ +ḽ +M +m +ɱ +Ḿ +ḿ +Ṁ +ṁ +Ṃ +ṃ +N +n +Ñ +ñ +Ń +ń +Ņ +ņ +Ň +ň +Ɲ +ɲ +ƞ +È  +Nj +Ǹ +ǹ +ȵ +ɳ +Ṅ +ṅ +Ṇ +ṇ +Ṉ +ṉ +Ṋ +ṋ +O +o +Ò +ò +Ó +ó +Ô +ô +Õ +õ +Ö +ö +Ø +ø +Ō +ō +Ŏ +ŏ +Ő +ő +Ɵ +Æ  +Æ¡ +Ǒ +ǒ +Ǫ +Ç« +Ǭ +Ç­ +Ǿ +Ç¿ +Ȍ +ȍ +Ȏ +ȏ +Ȫ +È« +Ȭ +È­ +È® +ȯ +È° +ȱ +Ṍ +ṍ +Ṏ +ṏ +Ṑ +ṑ +Ṓ +ṓ +Ọ +ọ +Ỏ +ỏ +Ố +ố +Ồ +ồ +Ổ +ổ +Ỗ +ỗ +Ộ +ộ +Ớ +ớ +Ờ +ờ +Ở +ở +á»  +ỡ +Ợ +ợ +P +p +Ƥ +Æ¥ +Ṕ +ṕ +Ṗ +ṗ +Q +q +Ê  +R +r +Ŕ +ŕ +Ŗ +ŗ +Ř +ř +Ȑ +ȑ +Ȓ +ȓ +ɼ +ɽ +ɾ +Ṙ +ṙ +Ṛ +ṛ +Ṝ +ṝ +Ṟ +ṟ +S +s +Ś +ś +Ŝ +ŝ +Ş +ş +Å  +Å¡ +Ș +ș +ʂ +á¹  +ṡ +á¹¢ +á¹£ +Ṥ +á¹¥ +Ṧ +ṧ +Ṩ +ṩ +T +t +Å¢ +Å£ +Ť +Å¥ +Ŧ +ŧ +Æ« +Ƭ +Æ­ +Æ® +ʈ +Ț +ț +ȶ +Ṫ +ṫ +Ṭ +á¹­ +á¹® +ṯ +á¹° +á¹± +ẗ +U +u +Ù +ù +Ú +ú +Û +û +Ü +ü +Ũ +Å© +Ū +Å« +Ŭ +Å­ +Å® +ů +Å° +ű +Ų +ų +Ư +Æ° +Ǔ +ǔ +Ǖ +ǖ +Ǘ +ǘ +Ǚ +ǚ +Ǜ +ǜ +Ȕ +ȕ +Ȗ +ȗ +á¹² +á¹³ +á¹´ +á¹µ +Ṷ +á¹· +Ṹ +á¹¹ +Ṻ +á¹» +Ụ +ụ +Ủ +ủ +Ứ +ứ +Ừ +ừ +Ử +á»­ +á»® +ữ +á»° +á»± +V +v +Ʋ +ʋ +á¹¼ +á¹½ +á¹¾ +ṿ +W +w +Å´ +ŵ +Ẁ +ẁ +Ẃ +ẃ +Ẅ +ẅ +Ẇ +ẇ +Ẉ +ẉ +ẘ +X +x +Ẋ +ẋ +Ẍ +ẍ +Y +y +Ý +ý +ÿ +Ÿ +Ŷ +Å· +Ƴ +Æ´ +Ȳ +ȳ +Ẏ +ẏ +ẙ +Ỳ +ỳ +á»´ +ỵ +Ỷ +á»· +Ỹ +ỹ +Z +z +Ź +ź +Å» +ż +Ž +ž +Ƶ +ƶ +Ȥ +È¥ +ʐ +ʑ +Ẑ +ẑ +Ẓ +ẓ +Ẕ +ẕ + + diff --git a/doc/help/xslt/common/ml.xml b/doc/help/xslt/common/ml.xml new file mode 100644 index 00000000..280e7dbb --- /dev/null +++ b/doc/help/xslt/common/ml.xml @@ -0,0 +1,660 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +ചിഹ്നങ്ങള്‍ +A +a +B +b +C +c +D +d +E +e +F +f +G +g +H +h +I +i +J +j +K +k +L +l +M +m +N +n +O +o +P +p +Q +q +R +r +S +s +T +t +U +u +V +v +W +w +X +x +Y +y +Z +z + + diff --git a/doc/help/xslt/common/mn.xml b/doc/help/xslt/common/mn.xml new file mode 100644 index 00000000..ef955266 --- /dev/null +++ b/doc/help/xslt/common/mn.xml @@ -0,0 +1,730 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Тэмдэгтүүд +A +a +B +b +C +c +D +d +E +e +F +f +G +g +H +h +I +i +J +j +K +k +L +l +M +m +N +n +O +o +P +p +Q +q +R +r +S +s +T +t +U +u +V +v +W +w +X +x +Y +y +Z +z +А +а +Б +б +В +в +Г +г +Д +д +Е +е +Ё +ё +Ж +ж +З +з +И +и +Й +й +К +к +Л +л +М +м +Н +н +О +о +Ó¨ +Ó© +П +п +Р +р +С +с +Т +т +У +у +Ò® +Ò¯ +Ф +ф +Ð¥ +х +Ц +ц +Ч +ч +Ш +ш +Щ +щ +Ъ +ъ +Ы +ы +Ь +ь +Э +э +Ю +ю +Я +я + + diff --git a/doc/help/xslt/common/mr.xml b/doc/help/xslt/common/mr.xml new file mode 100644 index 00000000..798fff56 --- /dev/null +++ b/doc/help/xslt/common/mr.xml @@ -0,0 +1,660 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +प्रतीक +A +a +B +b +C +c +D +d +E +e +F +f +G +g +H +h +I +i +J +j +K +k +L +l +M +m +N +n +O +o +P +p +Q +q +R +r +S +s +T +t +U +u +V +v +W +w +X +x +Y +y +Z +z + + diff --git a/doc/help/xslt/common/nb.xml b/doc/help/xslt/common/nb.xml new file mode 100644 index 00000000..b9d8a4f1 --- /dev/null +++ b/doc/help/xslt/common/nb.xml @@ -0,0 +1,1229 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Symbols +A +a +À +à +Á +á + +â +à +ã +Ä +ä +Å +Ã¥ +Ā +ā +Ă +ă +Ą +ą +Ǎ +ǎ +Ǟ +ǟ +Ç  +Ç¡ +Ǻ +Ç» +Ȁ +ȁ +Ȃ +ȃ +Ȧ +ȧ +Ḁ +ḁ +ẚ +Ạ +ạ +Ả +ả +Ấ +ấ +Ầ +ầ +Ẩ +ẩ +Ẫ +ẫ +Ậ +ậ +Ắ +ắ +Ằ +ằ +Ẳ +ẳ +Ẵ +ẵ +Ặ +ặ +B +b +ƀ +Ɓ +ɓ +Ƃ +ƃ +Ḃ +ḃ +Ḅ +ḅ +Ḇ +ḇ +C +c +Ç +ç +Ć +ć +Ĉ +ĉ +Ċ +ċ +Č +č +Ƈ +ƈ +ɕ +Ḉ +ḉ +D +d +Ď +ď +Đ +đ +Ɗ +ɗ +Ƌ +ƌ +Dž +Dz +È¡ +ɖ +Ḋ +ḋ +Ḍ +ḍ +Ḏ +ḏ +Ḑ +ḑ +Ḓ +ḓ +E +e +È +è +É +é +Ê +ê +Ë +ë +Ē +ē +Ĕ +ĕ +Ė +ė +Ę +ę +Ě +ě +Ȅ +ȅ +Ȇ +ȇ +Ȩ +È© +Ḕ +ḕ +Ḗ +ḗ +Ḙ +ḙ +Ḛ +ḛ +Ḝ +ḝ +Ẹ +ẹ +Ẻ +ẻ +Ẽ +ẽ +Ế +ế +Ề +ề +Ể +ể +Ễ +ễ +Ệ +ệ +F +f +Ƒ +ƒ +Ḟ +ḟ +G +g +Ĝ +ĝ +Ğ +ğ +Ä  +Ä¡ +Ä¢ +Ä£ +Ɠ +É  +Ǥ +Ç¥ +Ǧ +ǧ +Ç´ +ǵ +Ḡ +ḡ +H +h +Ĥ +Ä¥ +Ħ +ħ +Ȟ +ȟ +ɦ +Ḣ +ḣ +Ḥ +ḥ +Ḧ +ḧ +Ḩ +ḩ +Ḫ +ḫ +ẖ +I +i +Ì +ì +Í +í +Î +î +Ï +ï +Ĩ +Ä© +Ī +Ä« +Ĭ +Ä­ +Ä® +į +Ä° +Ɨ +ɨ +Ǐ +ǐ +Ȉ +ȉ +Ȋ +ȋ +Ḭ +ḭ +Ḯ +ḯ +Ỉ +ỉ +Ị +ị +J +j +Ä´ +ĵ +Ç° +ʝ +K +k +Ķ +Ä· +Ƙ +ƙ +Ǩ +Ç© +Ḱ +ḱ +Ḳ +ḳ +Ḵ +ḵ +L +l +Ĺ +ĺ +Ä» +ļ +Ľ +ľ +Ä¿ +ŀ +Ł +ł +ƚ +Lj +È´ +É« +ɬ +É­ +Ḷ +ḷ +Ḹ +ḹ +Ḻ +ḻ +Ḽ +ḽ +M +m +ɱ +Ḿ +ḿ +Ṁ +ṁ +Ṃ +ṃ +N +n +Ñ +ñ +Ń +ń +Ņ +ņ +Ň +ň +Ɲ +ɲ +ƞ +È  +Nj +Ǹ +ǹ +ȵ +ɳ +Ṅ +ṅ +Ṇ +ṇ +Ṉ +ṉ +Ṋ +ṋ +O +o +Ò +ò +Ó +ó +Ô +ô +Õ +õ +Ö +ö +Ø +ø +Ō +ō +Ŏ +ŏ +Ő +ő +Ɵ +Æ  +Æ¡ +Ǒ +ǒ +Ǫ +Ç« +Ǭ +Ç­ +Ǿ +Ç¿ +Ȍ +ȍ +Ȏ +ȏ +Ȫ +È« +Ȭ +È­ +È® +ȯ +È° +ȱ +Ṍ +ṍ +Ṏ +ṏ +Ṑ +ṑ +Ṓ +ṓ +Ọ +ọ +Ỏ +ỏ +Ố +ố +Ồ +ồ +Ổ +ổ +Ỗ +ỗ +Ộ +ộ +Ớ +ớ +Ờ +ờ +Ở +ở +á»  +ỡ +Ợ +ợ +P +p +Ƥ +Æ¥ +Ṕ +ṕ +Ṗ +ṗ +Q +q +Ê  +R +r +Ŕ +ŕ +Ŗ +ŗ +Ř +ř +Ȑ +ȑ +Ȓ +ȓ +ɼ +ɽ +ɾ +Ṙ +ṙ +Ṛ +ṛ +Ṝ +ṝ +Ṟ +ṟ +S +s +Ś +ś +Ŝ +ŝ +Ş +ş +Å  +Å¡ +Ș +ș +ʂ +á¹  +ṡ +á¹¢ +á¹£ +Ṥ +á¹¥ +Ṧ +ṧ +Ṩ +ṩ +T +t +Å¢ +Å£ +Ť +Å¥ +Ŧ +ŧ +Æ« +Ƭ +Æ­ +Æ® +ʈ +Ț +ț +ȶ +Ṫ +ṫ +Ṭ +á¹­ +á¹® +ṯ +á¹° +á¹± +ẗ +U +u +Ù +ù +Ú +ú +Û +û +Ü +ü +Ũ +Å© +Ū +Å« +Ŭ +Å­ +Å® +ů +Å° +ű +Ų +ų +Ư +Æ° +Ǔ +ǔ +Ǖ +ǖ +Ǘ +ǘ +Ǚ +ǚ +Ǜ +ǜ +Ȕ +ȕ +Ȗ +ȗ +á¹² +á¹³ +á¹´ +á¹µ +Ṷ +á¹· +Ṹ +á¹¹ +Ṻ +á¹» +Ụ +ụ +Ủ +ủ +Ứ +ứ +Ừ +ừ +Ử +á»­ +á»® +ữ +á»° +á»± +V +v +Ʋ +ʋ +á¹¼ +á¹½ +á¹¾ +ṿ +W +w +Å´ +ŵ +Ẁ +ẁ +Ẃ +ẃ +Ẅ +ẅ +Ẇ +ẇ +Ẉ +ẉ +ẘ +X +x +Ẋ +ẋ +Ẍ +ẍ +Y +y +Ý +ý +ÿ +Ÿ +Ŷ +Å· +Ƴ +Æ´ +Ȳ +ȳ +Ẏ +ẏ +ẙ +Ỳ +ỳ +á»´ +ỵ +Ỷ +á»· +Ỹ +ỹ +Z +z +Ź +ź +Å» +ż +Ž +ž +Ƶ +ƶ +Ȥ +È¥ +ʐ +ʑ +Ẑ +ẑ +Ẓ +ẓ +Ẕ +ẕ + + diff --git a/doc/help/xslt/common/nds.xml b/doc/help/xslt/common/nds.xml new file mode 100644 index 00000000..af4b296b --- /dev/null +++ b/doc/help/xslt/common/nds.xml @@ -0,0 +1,666 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Symbole +A +a +Ä +ä +B +b +C +c +D +d +E +e +F +f +G +g +H +h +I +i +J +j +K +k +L +l +M +m +N +n +O +o +Ö +ö +P +p +Q +q +R +r +S +s +T +t +U +u +Ü +ü +V +v +W +w +X +x +Y +y +Z +z + + diff --git a/doc/help/xslt/common/nl.xml b/doc/help/xslt/common/nl.xml new file mode 100644 index 00000000..33fb1f41 --- /dev/null +++ b/doc/help/xslt/common/nl.xml @@ -0,0 +1,660 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Symbolen +A +a +B +b +C +c +D +d +E +e +F +f +G +g +H +h +I +i +J +j +K +k +L +l +M +m +N +n +O +o +P +p +Q +q +R +r +S +s +T +t +U +u +V +v +W +w +X +x +Y +y +Z +z + + diff --git a/doc/help/xslt/common/nn.xml b/doc/help/xslt/common/nn.xml new file mode 100644 index 00000000..4898d427 --- /dev/null +++ b/doc/help/xslt/common/nn.xml @@ -0,0 +1,1229 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Symbols +A +a +À +à +Á +á + +â +à +ã +Ä +ä +Å +Ã¥ +Ā +ā +Ă +ă +Ą +ą +Ǎ +ǎ +Ǟ +ǟ +Ç  +Ç¡ +Ǻ +Ç» +Ȁ +ȁ +Ȃ +ȃ +Ȧ +ȧ +Ḁ +ḁ +ẚ +Ạ +ạ +Ả +ả +Ấ +ấ +Ầ +ầ +Ẩ +ẩ +Ẫ +ẫ +Ậ +ậ +Ắ +ắ +Ằ +ằ +Ẳ +ẳ +Ẵ +ẵ +Ặ +ặ +B +b +ƀ +Ɓ +ɓ +Ƃ +ƃ +Ḃ +ḃ +Ḅ +ḅ +Ḇ +ḇ +C +c +Ç +ç +Ć +ć +Ĉ +ĉ +Ċ +ċ +Č +č +Ƈ +ƈ +ɕ +Ḉ +ḉ +D +d +Ď +ď +Đ +đ +Ɗ +ɗ +Ƌ +ƌ +Dž +Dz +È¡ +ɖ +Ḋ +ḋ +Ḍ +ḍ +Ḏ +ḏ +Ḑ +ḑ +Ḓ +ḓ +E +e +È +è +É +é +Ê +ê +Ë +ë +Ē +ē +Ĕ +ĕ +Ė +ė +Ę +ę +Ě +ě +Ȅ +ȅ +Ȇ +ȇ +Ȩ +È© +Ḕ +ḕ +Ḗ +ḗ +Ḙ +ḙ +Ḛ +ḛ +Ḝ +ḝ +Ẹ +ẹ +Ẻ +ẻ +Ẽ +ẽ +Ế +ế +Ề +ề +Ể +ể +Ễ +ễ +Ệ +ệ +F +f +Ƒ +ƒ +Ḟ +ḟ +G +g +Ĝ +ĝ +Ğ +ğ +Ä  +Ä¡ +Ä¢ +Ä£ +Ɠ +É  +Ǥ +Ç¥ +Ǧ +ǧ +Ç´ +ǵ +Ḡ +ḡ +H +h +Ĥ +Ä¥ +Ħ +ħ +Ȟ +ȟ +ɦ +Ḣ +ḣ +Ḥ +ḥ +Ḧ +ḧ +Ḩ +ḩ +Ḫ +ḫ +ẖ +I +i +Ì +ì +Í +í +Î +î +Ï +ï +Ĩ +Ä© +Ī +Ä« +Ĭ +Ä­ +Ä® +į +Ä° +Ɨ +ɨ +Ǐ +ǐ +Ȉ +ȉ +Ȋ +ȋ +Ḭ +ḭ +Ḯ +ḯ +Ỉ +ỉ +Ị +ị +J +j +Ä´ +ĵ +Ç° +ʝ +K +k +Ķ +Ä· +Ƙ +ƙ +Ǩ +Ç© +Ḱ +ḱ +Ḳ +ḳ +Ḵ +ḵ +L +l +Ĺ +ĺ +Ä» +ļ +Ľ +ľ +Ä¿ +ŀ +Ł +ł +ƚ +Lj +È´ +É« +ɬ +É­ +Ḷ +ḷ +Ḹ +ḹ +Ḻ +ḻ +Ḽ +ḽ +M +m +ɱ +Ḿ +ḿ +Ṁ +ṁ +Ṃ +ṃ +N +n +Ñ +ñ +Ń +ń +Ņ +ņ +Ň +ň +Ɲ +ɲ +ƞ +È  +Nj +Ǹ +ǹ +ȵ +ɳ +Ṅ +ṅ +Ṇ +ṇ +Ṉ +ṉ +Ṋ +ṋ +O +o +Ò +ò +Ó +ó +Ô +ô +Õ +õ +Ö +ö +Ø +ø +Ō +ō +Ŏ +ŏ +Ő +ő +Ɵ +Æ  +Æ¡ +Ǒ +ǒ +Ǫ +Ç« +Ǭ +Ç­ +Ǿ +Ç¿ +Ȍ +ȍ +Ȏ +ȏ +Ȫ +È« +Ȭ +È­ +È® +ȯ +È° +ȱ +Ṍ +ṍ +Ṏ +ṏ +Ṑ +ṑ +Ṓ +ṓ +Ọ +ọ +Ỏ +ỏ +Ố +ố +Ồ +ồ +Ổ +ổ +Ỗ +ỗ +Ộ +ộ +Ớ +ớ +Ờ +ờ +Ở +ở +á»  +ỡ +Ợ +ợ +P +p +Ƥ +Æ¥ +Ṕ +ṕ +Ṗ +ṗ +Q +q +Ê  +R +r +Ŕ +ŕ +Ŗ +ŗ +Ř +ř +Ȑ +ȑ +Ȓ +ȓ +ɼ +ɽ +ɾ +Ṙ +ṙ +Ṛ +ṛ +Ṝ +ṝ +Ṟ +ṟ +S +s +Ś +ś +Ŝ +ŝ +Ş +ş +Å  +Å¡ +Ș +ș +ʂ +á¹  +ṡ +á¹¢ +á¹£ +Ṥ +á¹¥ +Ṧ +ṧ +Ṩ +ṩ +T +t +Å¢ +Å£ +Ť +Å¥ +Ŧ +ŧ +Æ« +Ƭ +Æ­ +Æ® +ʈ +Ț +ț +ȶ +Ṫ +ṫ +Ṭ +á¹­ +á¹® +ṯ +á¹° +á¹± +ẗ +U +u +Ù +ù +Ú +ú +Û +û +Ü +ü +Ũ +Å© +Ū +Å« +Ŭ +Å­ +Å® +ů +Å° +ű +Ų +ų +Ư +Æ° +Ǔ +ǔ +Ǖ +ǖ +Ǘ +ǘ +Ǚ +ǚ +Ǜ +ǜ +Ȕ +ȕ +Ȗ +ȗ +á¹² +á¹³ +á¹´ +á¹µ +Ṷ +á¹· +Ṹ +á¹¹ +Ṻ +á¹» +Ụ +ụ +Ủ +ủ +Ứ +ứ +Ừ +ừ +Ử +á»­ +á»® +ữ +á»° +á»± +V +v +Ʋ +ʋ +á¹¼ +á¹½ +á¹¾ +ṿ +W +w +Å´ +ŵ +Ẁ +ẁ +Ẃ +ẃ +Ẅ +ẅ +Ẇ +ẇ +Ẉ +ẉ +ẘ +X +x +Ẋ +ẋ +Ẍ +ẍ +Y +y +Ý +ý +ÿ +Ÿ +Ŷ +Å· +Ƴ +Æ´ +Ȳ +ȳ +Ẏ +ẏ +ẙ +Ỳ +ỳ +á»´ +ỵ +Ỷ +á»· +Ỹ +ỹ +Z +z +Ź +ź +Å» +ż +Ž +ž +Ƶ +ƶ +Ȥ +È¥ +ʐ +ʑ +Ẑ +ẑ +Ẓ +ẓ +Ẕ +ẕ + + diff --git a/doc/help/xslt/common/olink.xsl b/doc/help/xslt/common/olink.xsl new file mode 100644 index 00000000..a790eb71 --- /dev/null +++ b/doc/help/xslt/common/olink.xsl @@ -0,0 +1,1225 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Olinks not processed: must specify a + $target.database.document parameter + when using olinks with targetdoc + and targetptr attributes. + + + + + + Olink error: could not open target database ' + + '. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Olink debug: cases for targetdoc=' + + ' and targetptr=' + + ' in language ' + + '. + + + + + + + + + + + + + + Olink debug: CaseA matched. + + + + Olink debug: CaseA NOT matched + + + + + + + + + + + + + + + + Olink debug: CaseB matched. + + + + Olink debug: CaseB NOT matched + + + + + + + + + + + + + + + + + Olink debug: CaseC matched. + + + + Olink debug: CaseC NOT matched. + + + + + + + + + + + + + + + + + Olink debug: CaseD matched. + + + + Olink debug: CaseD NOT matched + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Olink debug: CaseE matched. + + + + Olink debug: CaseE NOT matched. + + + + + + + + + + + + + + + + + + + + + + + + + + + + Olink debug: CaseF matched. + + + + Olink debug: CaseF NOT matched. + + + + + + + + + + + + + + Olink debug: CaseB key is the final selection: + + + + + + + + + Olink debug: CaseA key is the final selection: + + + + + + + + + Olink debug: CaseC key is the final selection: + + + + + + + + + Olink debug: CaseD key is the final selection: + + + + + + + + + Olink debug: CaseF key is the final selection: + + + + + + + + + Olink debug: CaseE key is the final selection: + + + + + + + + Olink debug: No case matched for lang ' + + '. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Olink error: cannot compute relative + sitemap path because $current.docid ' + + ' not found in target database. + + + + + + + Olink warning: cannot compute relative + sitemap path without $current.docid parameter + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xrefstyle is ' + + '. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Olink error: no gentext template + exists for xrefstyle ' + + ' for element ' + + ' in language ' + + ' in context 'xref-number-and-title + '. Using template without @style. + + + + + + + + Olink error: no gentext template + exists for xrefstyle ' + + ' for element ' + + ' in language ' + + ' in context 'xref-number + '. Using template without @style. + + + + + + + + Olink error: no gentext template + exists for xrefstyle ' + + ' for element ' + + ' in language ' + + ' in context 'xref + '. Using template without @style. + + + + + + Olink error: no gentext template + exists for xrefstyle ' + + ' for element ' + + ' in language ' + + '. Trying '%t'. + + + + + + + + + + + Olink debug: xrefstyle template is ' + + '. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Olink error: no generated text for + targetdoc/targetptr/lang = ' + + '. + + ???? + + + + + + + Olink error: no generated text for + targetdoc/targetptr/lang = ' + + '. + + + ???? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Olink error: cannot locate targetdoc in sitemap + + + + + + + / + + + + + + + + + + + ../ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/common/or.xml b/doc/help/xslt/common/or.xml new file mode 100644 index 00000000..2995ac0f --- /dev/null +++ b/doc/help/xslt/common/or.xml @@ -0,0 +1,1229 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +ପ୍ରତୀକ +A +a +À +à +Á +á + +â +à +ã +Ä +ä +Å +Ã¥ +Ā +ā +Ă +ă +Ą +ą +Ǎ +ǎ +Ǟ +ǟ +Ç  +Ç¡ +Ǻ +Ç» +Ȁ +ȁ +Ȃ +ȃ +Ȧ +ȧ +Ḁ +ḁ +ẚ +Ạ +ạ +Ả +ả +Ấ +ấ +Ầ +ầ +Ẩ +ẩ +Ẫ +ẫ +Ậ +ậ +Ắ +ắ +Ằ +ằ +Ẳ +ẳ +Ẵ +ẵ +Ặ +ặ +B +b +ƀ +Ɓ +ɓ +Ƃ +ƃ +Ḃ +ḃ +Ḅ +ḅ +Ḇ +ḇ +C +c +Ç +ç +Ć +ć +Ĉ +ĉ +Ċ +ċ +Č +č +Ƈ +ƈ +ɕ +Ḉ +ḉ +D +d +Ď +ď +Đ +đ +Ɗ +ɗ +Ƌ +ƌ +Dž +Dz +È¡ +ɖ +Ḋ +ḋ +Ḍ +ḍ +Ḏ +ḏ +Ḑ +ḑ +Ḓ +ḓ +E +e +È +è +É +é +Ê +ê +Ë +ë +Ē +ē +Ĕ +ĕ +Ė +ė +Ę +ę +Ě +ě +Ȅ +ȅ +Ȇ +ȇ +Ȩ +È© +Ḕ +ḕ +Ḗ +ḗ +Ḙ +ḙ +Ḛ +ḛ +Ḝ +ḝ +Ẹ +ẹ +Ẻ +ẻ +Ẽ +ẽ +Ế +ế +Ề +ề +Ể +ể +Ễ +ễ +Ệ +ệ +F +f +Ƒ +ƒ +Ḟ +ḟ +G +g +Ĝ +ĝ +Ğ +ğ +Ä  +Ä¡ +Ä¢ +Ä£ +Ɠ +É  +Ǥ +Ç¥ +Ǧ +ǧ +Ç´ +ǵ +Ḡ +ḡ +H +h +Ĥ +Ä¥ +Ħ +ħ +Ȟ +ȟ +ɦ +Ḣ +ḣ +Ḥ +ḥ +Ḧ +ḧ +Ḩ +ḩ +Ḫ +ḫ +ẖ +I +i +Ì +ì +Í +í +Î +î +Ï +ï +Ĩ +Ä© +Ī +Ä« +Ĭ +Ä­ +Ä® +į +Ä° +Ɨ +ɨ +Ǐ +ǐ +Ȉ +ȉ +Ȋ +ȋ +Ḭ +ḭ +Ḯ +ḯ +Ỉ +ỉ +Ị +ị +J +j +Ä´ +ĵ +Ç° +ʝ +K +k +Ķ +Ä· +Ƙ +ƙ +Ǩ +Ç© +Ḱ +ḱ +Ḳ +ḳ +Ḵ +ḵ +L +l +Ĺ +ĺ +Ä» +ļ +Ľ +ľ +Ä¿ +ŀ +Ł +ł +ƚ +Lj +È´ +É« +ɬ +É­ +Ḷ +ḷ +Ḹ +ḹ +Ḻ +ḻ +Ḽ +ḽ +M +m +ɱ +Ḿ +ḿ +Ṁ +ṁ +Ṃ +ṃ +N +n +Ñ +ñ +Ń +ń +Ņ +ņ +Ň +ň +Ɲ +ɲ +ƞ +È  +Nj +Ǹ +ǹ +ȵ +ɳ +Ṅ +ṅ +Ṇ +ṇ +Ṉ +ṉ +Ṋ +ṋ +O +o +Ò +ò +Ó +ó +Ô +ô +Õ +õ +Ö +ö +Ø +ø +Ō +ō +Ŏ +ŏ +Ő +ő +Ɵ +Æ  +Æ¡ +Ǒ +ǒ +Ǫ +Ç« +Ǭ +Ç­ +Ǿ +Ç¿ +Ȍ +ȍ +Ȏ +ȏ +Ȫ +È« +Ȭ +È­ +È® +ȯ +È° +ȱ +Ṍ +ṍ +Ṏ +ṏ +Ṑ +ṑ +Ṓ +ṓ +Ọ +ọ +Ỏ +ỏ +Ố +ố +Ồ +ồ +Ổ +ổ +Ỗ +ỗ +Ộ +ộ +Ớ +ớ +Ờ +ờ +Ở +ở +á»  +ỡ +Ợ +ợ +P +p +Ƥ +Æ¥ +Ṕ +ṕ +Ṗ +ṗ +Q +q +Ê  +R +r +Ŕ +ŕ +Ŗ +ŗ +Ř +ř +Ȑ +ȑ +Ȓ +ȓ +ɼ +ɽ +ɾ +Ṙ +ṙ +Ṛ +ṛ +Ṝ +ṝ +Ṟ +ṟ +S +s +Ś +ś +Ŝ +ŝ +Ş +ş +Å  +Å¡ +Ș +ș +ʂ +á¹  +ṡ +á¹¢ +á¹£ +Ṥ +á¹¥ +Ṧ +ṧ +Ṩ +ṩ +T +t +Å¢ +Å£ +Ť +Å¥ +Ŧ +ŧ +Æ« +Ƭ +Æ­ +Æ® +ʈ +Ț +ț +ȶ +Ṫ +ṫ +Ṭ +á¹­ +á¹® +ṯ +á¹° +á¹± +ẗ +U +u +Ù +ù +Ú +ú +Û +û +Ü +ü +Ũ +Å© +Ū +Å« +Ŭ +Å­ +Å® +ů +Å° +ű +Ų +ų +Ư +Æ° +Ǔ +ǔ +Ǖ +ǖ +Ǘ +ǘ +Ǚ +ǚ +Ǜ +ǜ +Ȕ +ȕ +Ȗ +ȗ +á¹² +á¹³ +á¹´ +á¹µ +Ṷ +á¹· +Ṹ +á¹¹ +Ṻ +á¹» +Ụ +ụ +Ủ +ủ +Ứ +ứ +Ừ +ừ +Ử +á»­ +á»® +ữ +á»° +á»± +V +v +Ʋ +ʋ +á¹¼ +á¹½ +á¹¾ +ṿ +W +w +Å´ +ŵ +Ẁ +ẁ +Ẃ +ẃ +Ẅ +ẅ +Ẇ +ẇ +Ẉ +ẉ +ẘ +X +x +Ẋ +ẋ +Ẍ +ẍ +Y +y +Ý +ý +ÿ +Ÿ +Ŷ +Å· +Ƴ +Æ´ +Ȳ +ȳ +Ẏ +ẏ +ẙ +Ỳ +ỳ +á»´ +ỵ +Ỷ +á»· +Ỹ +ỹ +Z +z +Ź +ź +Å» +ż +Ž +ž +Ƶ +ƶ +Ȥ +È¥ +ʐ +ʑ +Ẑ +ẑ +Ẓ +ẓ +Ẕ +ẕ + + diff --git a/doc/help/xslt/common/pa.xml b/doc/help/xslt/common/pa.xml new file mode 100644 index 00000000..08ef7714 --- /dev/null +++ b/doc/help/xslt/common/pa.xml @@ -0,0 +1,660 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +ਚਿੰਨ +A +a +B +b +C +c +D +d +E +e +F +f +G +g +H +h +I +i +J +j +K +k +L +l +M +m +N +n +O +o +P +p +Q +q +R +r +S +s +T +t +U +u +V +v +W +w +X +x +Y +y +Z +z + + diff --git a/doc/help/xslt/common/pi.xml b/doc/help/xslt/common/pi.xml new file mode 100644 index 00000000..64efdcae --- /dev/null +++ b/doc/help/xslt/common/pi.xml @@ -0,0 +1,168 @@ + + +Common Processing Instruction Reference + + $Id: pi.xsl 8782 2010-07-27 21:15:17Z mzjn $ + + + + Introduction + +This is generated reference documentation for all + user-specifiable processing instructions (PIs) in the + “common” part of the DocBook XSL stylesheets. + + +You add these PIs at particular points in a document to + cause specific “exceptions” to formatting/output behavior. To + make global changes in formatting/output behavior across an + entire document, it’s better to do it by setting an + appropriate stylesheet parameter (if there is one). + + + + + + + + +dbchoice_choice +Generates a localized choice separator + + + + dbchoice choice="and"|"or"|string" + + +Description + +Use the dbchoice choice PI to + generate an appropriate localized “choice” separator (for + example, and or or) + before the final item in an inline simplelist + + + +This PI is a less-than-ideal hack; support for it may + disappear in the future (particularly if and when a more + appropriate means for marking up "choice" lists becomes + available in DocBook). + + + Parameters + + + choice="and" + + +generates a localized and separator + + + + choice="or" + + +generates a localized or separator + + + + choice="string" + + +generates a literal string separator + + + + + + + + + +dbtimestamp +Inserts a date timestamp + + + + dbtimestamp format="formatstring" [padding="0"|"1"] + + +Description + +Use the dbtimestamp PI at any point in a + source document to cause a date timestamp (a formatted + string representing the current date and time) to be + inserted in output of the document. + + Parameters + + + format="formatstring" + + +Specifies format in which the date and time are + output + + + +For details of the content of the format string, + see Date and time. + + + + + padding="0"|"1" + + +Specifies padding behavior; if non-zero, padding is is added + + + + + + + + + +dbtex_delims +Generates delimiters around embedded TeX equations + in output + + + + dbtex delims="no"|"yes" + + +Description + +Use the dbtex delims PI as a + child of a textobject containing embedded TeX + markup, to cause that markup to be surrounded by + $ delimiter characters in output. + + + +This feature is useful for print/PDF output only if you + use the obsolete and now unsupported PassiveTeX XSL-FO + engine. + + + Parameters + + + dbtex delims="no"|"yes" + + +Specifies whether delimiters are output + + + + + + Related Global Parameters + +tex.math.delims + + + + diff --git a/doc/help/xslt/common/pi.xsl b/doc/help/xslt/common/pi.xsl new file mode 100644 index 00000000..42aac0d5 --- /dev/null +++ b/doc/help/xslt/common/pi.xsl @@ -0,0 +1,346 @@ + + + + + +Common Processing Instruction Reference + + $Id: pi.xsl 8782 2010-07-27 21:15:17Z mzjn $ + + + + Introduction + This is generated reference documentation for all + user-specifiable processing instructions (PIs) in the + “common” part of the DocBook XSL stylesheets. + + You add these PIs at particular points in a document to + cause specific “exceptions” to formatting/output behavior. To + make global changes in formatting/output behavior across an + entire document, it’s better to do it by setting an + appropriate stylesheet parameter (if there is one). + + + + + + + + Generates a localized choice separator + + Use the dbchoice choice PI to + generate an appropriate localized “choice” separator (for + example, and or or) + before the final item in an inline simplelist + + This PI is a less-than-ideal hack; support for it may + disappear in the future (particularly if and when a more + appropriate means for marking up "choice" lists becomes + available in DocBook). + + + + dbchoice choice="and"|"or"|string" + + + + choice="and" + + generates a localized and separator + + + choice="or" + + generates a localized or separator + + + choice="string" + + generates a literal string separator + + + + + + + + + + choice + + + + + Inserts a date timestamp + + Use the dbtimestamp PI at any point in a + source document to cause a date timestamp (a formatted + string representing the current date and time) to be + inserted in output of the document. + + + dbtimestamp format="formatstring" [padding="0"|"1"] + + + + format="formatstring" + + Specifies format in which the date and time are + output + + For details of the content of the format string, + see Date and time. + + + + padding="0"|"1" + + Specifies padding behavior; if non-zero, padding is is added + + + + + + + + + + + format + + + + + + + + + + + + + + + + + + + padding + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + Timestamp processing requires XSLT processor with EXSLT date support. + + + + + + + Generates delimiters around embedded TeX equations + in output + + Use the dbtex delims PI as a + child of a textobject containing embedded TeX + markup, to cause that markup to be surrounded by + $ delimiter characters in output. + + This feature is useful for print/PDF output only if you + use the obsolete and now unsupported PassiveTeX XSL-FO + engine. + + + + dbtex delims="no"|"yes" + + + + dbtex delims="no"|"yes" + + Specifies whether delimiters are output + + + + + + + tex.math.delims + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + 0 + + + + + + + 0 + + + + 0 + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + Timestamp processing requires an XSLT processor with support + for the EXSLT node-set() function. + + + + + + + diff --git a/doc/help/xslt/common/pl.xml b/doc/help/xslt/common/pl.xml new file mode 100644 index 00000000..186ed3bb --- /dev/null +++ b/doc/help/xslt/common/pl.xml @@ -0,0 +1,678 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Symbole +A +a +Ą +ą +B +b +C +c +Ć +ć +D +d +E +e +Ę +ę +F +f +G +g +H +h +I +i +J +j +K +k +L +l +Ł +ł +M +m +N +n +Ń +ń +O +o +Ó +ó +P +p +Q +q +R +r +S +s +Ś +ś +T +t +U +u +V +v +W +w +X +x +Y +y +Z +z +Ź +ź +Å» +ż + + diff --git a/doc/help/xslt/common/pt.xml b/doc/help/xslt/common/pt.xml new file mode 100644 index 00000000..4a07359e --- /dev/null +++ b/doc/help/xslt/common/pt.xml @@ -0,0 +1,1229 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Símbolos +A +a +À +à +Á +á + +â +à +ã +Ä +ä +Å +Ã¥ +Ā +ā +Ă +ă +Ą +ą +Ǎ +ǎ +Ǟ +ǟ +Ç  +Ç¡ +Ǻ +Ç» +Ȁ +ȁ +Ȃ +ȃ +Ȧ +ȧ +Ḁ +ḁ +ẚ +Ạ +ạ +Ả +ả +Ấ +ấ +Ầ +ầ +Ẩ +ẩ +Ẫ +ẫ +Ậ +ậ +Ắ +ắ +Ằ +ằ +Ẳ +ẳ +Ẵ +ẵ +Ặ +ặ +B +b +ƀ +Ɓ +ɓ +Ƃ +ƃ +Ḃ +ḃ +Ḅ +ḅ +Ḇ +ḇ +C +c +Ç +ç +Ć +ć +Ĉ +ĉ +Ċ +ċ +Č +č +Ƈ +ƈ +ɕ +Ḉ +ḉ +D +d +Ď +ď +Đ +đ +Ɗ +ɗ +Ƌ +ƌ +Dž +Dz +È¡ +ɖ +Ḋ +ḋ +Ḍ +ḍ +Ḏ +ḏ +Ḑ +ḑ +Ḓ +ḓ +E +e +È +è +É +é +Ê +ê +Ë +ë +Ē +ē +Ĕ +ĕ +Ė +ė +Ę +ę +Ě +ě +Ȅ +ȅ +Ȇ +ȇ +Ȩ +È© +Ḕ +ḕ +Ḗ +ḗ +Ḙ +ḙ +Ḛ +ḛ +Ḝ +ḝ +Ẹ +ẹ +Ẻ +ẻ +Ẽ +ẽ +Ế +ế +Ề +ề +Ể +ể +Ễ +ễ +Ệ +ệ +F +f +Ƒ +ƒ +Ḟ +ḟ +G +g +Ĝ +ĝ +Ğ +ğ +Ä  +Ä¡ +Ä¢ +Ä£ +Ɠ +É  +Ǥ +Ç¥ +Ǧ +ǧ +Ç´ +ǵ +Ḡ +ḡ +H +h +Ĥ +Ä¥ +Ħ +ħ +Ȟ +ȟ +ɦ +Ḣ +ḣ +Ḥ +ḥ +Ḧ +ḧ +Ḩ +ḩ +Ḫ +ḫ +ẖ +I +i +Ì +ì +Í +í +Î +î +Ï +ï +Ĩ +Ä© +Ī +Ä« +Ĭ +Ä­ +Ä® +į +Ä° +Ɨ +ɨ +Ǐ +ǐ +Ȉ +ȉ +Ȋ +ȋ +Ḭ +ḭ +Ḯ +ḯ +Ỉ +ỉ +Ị +ị +J +j +Ä´ +ĵ +Ç° +ʝ +K +k +Ķ +Ä· +Ƙ +ƙ +Ǩ +Ç© +Ḱ +ḱ +Ḳ +ḳ +Ḵ +ḵ +L +l +Ĺ +ĺ +Ä» +ļ +Ľ +ľ +Ä¿ +ŀ +Ł +ł +ƚ +Lj +È´ +É« +ɬ +É­ +Ḷ +ḷ +Ḹ +ḹ +Ḻ +ḻ +Ḽ +ḽ +M +m +ɱ +Ḿ +ḿ +Ṁ +ṁ +Ṃ +ṃ +N +n +Ñ +ñ +Ń +ń +Ņ +ņ +Ň +ň +Ɲ +ɲ +ƞ +È  +Nj +Ǹ +ǹ +ȵ +ɳ +Ṅ +ṅ +Ṇ +ṇ +Ṉ +ṉ +Ṋ +ṋ +O +o +Ò +ò +Ó +ó +Ô +ô +Õ +õ +Ö +ö +Ø +ø +Ō +ō +Ŏ +ŏ +Ő +ő +Ɵ +Æ  +Æ¡ +Ǒ +ǒ +Ǫ +Ç« +Ǭ +Ç­ +Ǿ +Ç¿ +Ȍ +ȍ +Ȏ +ȏ +Ȫ +È« +Ȭ +È­ +È® +ȯ +È° +ȱ +Ṍ +ṍ +Ṏ +ṏ +Ṑ +ṑ +Ṓ +ṓ +Ọ +ọ +Ỏ +ỏ +Ố +ố +Ồ +ồ +Ổ +ổ +Ỗ +ỗ +Ộ +ộ +Ớ +ớ +Ờ +ờ +Ở +ở +á»  +ỡ +Ợ +ợ +P +p +Ƥ +Æ¥ +Ṕ +ṕ +Ṗ +ṗ +Q +q +Ê  +R +r +Ŕ +ŕ +Ŗ +ŗ +Ř +ř +Ȑ +ȑ +Ȓ +ȓ +ɼ +ɽ +ɾ +Ṙ +ṙ +Ṛ +ṛ +Ṝ +ṝ +Ṟ +ṟ +S +s +Ś +ś +Ŝ +ŝ +Ş +ş +Å  +Å¡ +Ș +ș +ʂ +á¹  +ṡ +á¹¢ +á¹£ +Ṥ +á¹¥ +Ṧ +ṧ +Ṩ +ṩ +T +t +Å¢ +Å£ +Ť +Å¥ +Ŧ +ŧ +Æ« +Ƭ +Æ­ +Æ® +ʈ +Ț +ț +ȶ +Ṫ +ṫ +Ṭ +á¹­ +á¹® +ṯ +á¹° +á¹± +ẗ +U +u +Ù +ù +Ú +ú +Û +û +Ü +ü +Ũ +Å© +Ū +Å« +Ŭ +Å­ +Å® +ů +Å° +ű +Ų +ų +Ư +Æ° +Ǔ +ǔ +Ǖ +ǖ +Ǘ +ǘ +Ǚ +ǚ +Ǜ +ǜ +Ȕ +ȕ +Ȗ +ȗ +á¹² +á¹³ +á¹´ +á¹µ +Ṷ +á¹· +Ṹ +á¹¹ +Ṻ +á¹» +Ụ +ụ +Ủ +ủ +Ứ +ứ +Ừ +ừ +Ử +á»­ +á»® +ữ +á»° +á»± +V +v +Ʋ +ʋ +á¹¼ +á¹½ +á¹¾ +ṿ +W +w +Å´ +ŵ +Ẁ +ẁ +Ẃ +ẃ +Ẅ +ẅ +Ẇ +ẇ +Ẉ +ẉ +ẘ +X +x +Ẋ +ẋ +Ẍ +ẍ +Y +y +Ý +ý +ÿ +Ÿ +Ŷ +Å· +Ƴ +Æ´ +Ȳ +ȳ +Ẏ +ẏ +ẙ +Ỳ +ỳ +á»´ +ỵ +Ỷ +á»· +Ỹ +ỹ +Z +z +Ź +ź +Å» +ż +Ž +ž +Ƶ +ƶ +Ȥ +È¥ +ʐ +ʑ +Ẑ +ẑ +Ẓ +ẓ +Ẕ +ẕ + + diff --git a/doc/help/xslt/common/pt_br.xml b/doc/help/xslt/common/pt_br.xml new file mode 100644 index 00000000..3e71821c --- /dev/null +++ b/doc/help/xslt/common/pt_br.xml @@ -0,0 +1,1229 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Símbolos +A +a +À +à +Á +á + +â +à +ã +Ä +ä +Å +Ã¥ +Ā +ā +Ă +ă +Ą +ą +Ǎ +ǎ +Ǟ +ǟ +Ç  +Ç¡ +Ǻ +Ç» +Ȁ +ȁ +Ȃ +ȃ +Ȧ +ȧ +Ḁ +ḁ +ẚ +Ạ +ạ +Ả +ả +Ấ +ấ +Ầ +ầ +Ẩ +ẩ +Ẫ +ẫ +Ậ +ậ +Ắ +ắ +Ằ +ằ +Ẳ +ẳ +Ẵ +ẵ +Ặ +ặ +B +b +ƀ +Ɓ +ɓ +Ƃ +ƃ +Ḃ +ḃ +Ḅ +ḅ +Ḇ +ḇ +C +c +Ç +ç +Ć +ć +Ĉ +ĉ +Ċ +ċ +Č +č +Ƈ +ƈ +ɕ +Ḉ +ḉ +D +d +Ď +ď +Đ +đ +Ɗ +ɗ +Ƌ +ƌ +Dž +Dz +È¡ +ɖ +Ḋ +ḋ +Ḍ +ḍ +Ḏ +ḏ +Ḑ +ḑ +Ḓ +ḓ +E +e +È +è +É +é +Ê +ê +Ë +ë +Ē +ē +Ĕ +ĕ +Ė +ė +Ę +ę +Ě +ě +Ȅ +ȅ +Ȇ +ȇ +Ȩ +È© +Ḕ +ḕ +Ḗ +ḗ +Ḙ +ḙ +Ḛ +ḛ +Ḝ +ḝ +Ẹ +ẹ +Ẻ +ẻ +Ẽ +ẽ +Ế +ế +Ề +ề +Ể +ể +Ễ +ễ +Ệ +ệ +F +f +Ƒ +ƒ +Ḟ +ḟ +G +g +Ĝ +ĝ +Ğ +ğ +Ä  +Ä¡ +Ä¢ +Ä£ +Ɠ +É  +Ǥ +Ç¥ +Ǧ +ǧ +Ç´ +ǵ +Ḡ +ḡ +H +h +Ĥ +Ä¥ +Ħ +ħ +Ȟ +ȟ +ɦ +Ḣ +ḣ +Ḥ +ḥ +Ḧ +ḧ +Ḩ +ḩ +Ḫ +ḫ +ẖ +I +i +Ì +ì +Í +í +Î +î +Ï +ï +Ĩ +Ä© +Ī +Ä« +Ĭ +Ä­ +Ä® +į +Ä° +Ɨ +ɨ +Ǐ +ǐ +Ȉ +ȉ +Ȋ +ȋ +Ḭ +ḭ +Ḯ +ḯ +Ỉ +ỉ +Ị +ị +J +j +Ä´ +ĵ +Ç° +ʝ +K +k +Ķ +Ä· +Ƙ +ƙ +Ǩ +Ç© +Ḱ +ḱ +Ḳ +ḳ +Ḵ +ḵ +L +l +Ĺ +ĺ +Ä» +ļ +Ľ +ľ +Ä¿ +ŀ +Ł +ł +ƚ +Lj +È´ +É« +ɬ +É­ +Ḷ +ḷ +Ḹ +ḹ +Ḻ +ḻ +Ḽ +ḽ +M +m +ɱ +Ḿ +ḿ +Ṁ +ṁ +Ṃ +ṃ +N +n +Ñ +ñ +Ń +ń +Ņ +ņ +Ň +ň +Ɲ +ɲ +ƞ +È  +Nj +Ǹ +ǹ +ȵ +ɳ +Ṅ +ṅ +Ṇ +ṇ +Ṉ +ṉ +Ṋ +ṋ +O +o +Ò +ò +Ó +ó +Ô +ô +Õ +õ +Ö +ö +Ø +ø +Ō +ō +Ŏ +ŏ +Ő +ő +Ɵ +Æ  +Æ¡ +Ǒ +ǒ +Ǫ +Ç« +Ǭ +Ç­ +Ǿ +Ç¿ +Ȍ +ȍ +Ȏ +ȏ +Ȫ +È« +Ȭ +È­ +È® +ȯ +È° +ȱ +Ṍ +ṍ +Ṏ +ṏ +Ṑ +ṑ +Ṓ +ṓ +Ọ +ọ +Ỏ +ỏ +Ố +ố +Ồ +ồ +Ổ +ổ +Ỗ +ỗ +Ộ +ộ +Ớ +ớ +Ờ +ờ +Ở +ở +á»  +ỡ +Ợ +ợ +P +p +Ƥ +Æ¥ +Ṕ +ṕ +Ṗ +ṗ +Q +q +Ê  +R +r +Ŕ +ŕ +Ŗ +ŗ +Ř +ř +Ȑ +ȑ +Ȓ +ȓ +ɼ +ɽ +ɾ +Ṙ +ṙ +Ṛ +ṛ +Ṝ +ṝ +Ṟ +ṟ +S +s +Ś +ś +Ŝ +ŝ +Ş +ş +Å  +Å¡ +Ș +ș +ʂ +á¹  +ṡ +á¹¢ +á¹£ +Ṥ +á¹¥ +Ṧ +ṧ +Ṩ +ṩ +T +t +Å¢ +Å£ +Ť +Å¥ +Ŧ +ŧ +Æ« +Ƭ +Æ­ +Æ® +ʈ +Ț +ț +ȶ +Ṫ +ṫ +Ṭ +á¹­ +á¹® +ṯ +á¹° +á¹± +ẗ +U +u +Ù +ù +Ú +ú +Û +û +Ü +ü +Ũ +Å© +Ū +Å« +Ŭ +Å­ +Å® +ů +Å° +ű +Ų +ų +Ư +Æ° +Ǔ +ǔ +Ǖ +ǖ +Ǘ +ǘ +Ǚ +ǚ +Ǜ +ǜ +Ȕ +ȕ +Ȗ +ȗ +á¹² +á¹³ +á¹´ +á¹µ +Ṷ +á¹· +Ṹ +á¹¹ +Ṻ +á¹» +Ụ +ụ +Ủ +ủ +Ứ +ứ +Ừ +ừ +Ử +á»­ +á»® +ữ +á»° +á»± +V +v +Ʋ +ʋ +á¹¼ +á¹½ +á¹¾ +ṿ +W +w +Å´ +ŵ +Ẁ +ẁ +Ẃ +ẃ +Ẅ +ẅ +Ẇ +ẇ +Ẉ +ẉ +ẘ +X +x +Ẋ +ẋ +Ẍ +ẍ +Y +y +Ý +ý +ÿ +Ÿ +Ŷ +Å· +Ƴ +Æ´ +Ȳ +ȳ +Ẏ +ẏ +ẙ +Ỳ +ỳ +á»´ +ỵ +Ỷ +á»· +Ỹ +ỹ +Z +z +Ź +ź +Å» +ż +Ž +ž +Ƶ +ƶ +Ȥ +È¥ +ʐ +ʑ +Ẑ +ẑ +Ẓ +ẓ +Ẕ +ẕ + + diff --git a/doc/help/xslt/common/refentry.xml b/doc/help/xslt/common/refentry.xml new file mode 100644 index 00000000..4741ce0d --- /dev/null +++ b/doc/help/xslt/common/refentry.xml @@ -0,0 +1,781 @@ + + + + + Common » Refentry Metadata Template Reference + + $Id: refentry.xsl 7867 2008-03-07 09:54:25Z xmldoc $ + + + + + Introduction + +This is technical reference documentation for the “refentry + metadata” templates in the DocBook XSL Stylesheets. + + +This is not intended to be user documentation. It is provided + for developers writing customization layers for the stylesheets. + + + +Currently, only the manpages stylesheets make use of these + templates. They are, however, potentially useful elsewhere. + + + + + + +get.refentry.metadata +Gathers metadata from a refentry and its ancestors + + +<xsl:template name="get.refentry.metadata"> +<xsl:param name="refname"/> +<xsl:param name="info"/> +<xsl:param name="prefs"/> + ... +</xsl:template> + +Description + +Reference documentation for particular commands, functions, + etc., is sometimes viewed in isolation from its greater "context". For + example, users view Unix man pages as, well, individual pages, not as + part of a "book" of some kind. Therefore, it is sometimes necessary to + embed "context" information in output for each refentry. + + + +However, one problem is that different users mark up that + context information in different ways. Often (usually), the + context information is not actually part of the content of the + refentry itself, but instead part of the content of a + parent or ancestor element to the refentry. And + even then, DocBook provides a variety of elements that users might + potentially use to mark up the same kind of information. One user + might use the productnumber element to mark up version + information about a particular product, while another might use + the releaseinfo element. + + + +Taking all that in mind, the + get.refentry.metadata template tries to gather + metadata from a refentry element and its ancestor + elements in an intelligent and user-configurable way. The basic + mechanism used in the XPath expressions throughout this stylesheet + is to select the relevant metadata from the *info element that is + closest to the actual refentry – either on the + refentry itself, or on its nearest ancestor. + + + + +The get.refentry.metadata + template is actually just sort of a "driver" template; it + calls other templates that do the actual data collection, + then returns the data as a set. + + + + Parameters + + + + refname + + +The first refname in the refentry + + + + + info + + +A set of info nodes (from a refentry + element and its ancestors) + + + + + prefs + + +A node containing user preferences (from global + stylesheet parameters) + + + + + + Returns + +Returns a node set with the following elements. The + descriptions are verbatim from the man(7) man + page. + + + + title + + +the title of the man page (e.g., MAN) + + + + + section + + +the section number the man page should be placed in (e.g., + 7) + + + + + date + + +the date of the last revision + + + + + source + + +the source of the command + + + + + manual + + +the title of the manual (e.g., Linux + Programmer's Manual) + + + + + + + + + + + +get.refentry.title +Gets title metadata for a refentry + + +<xsl:template name="get.refentry.title"> +<xsl:param name="refname"/> + ... +</xsl:template> + +Description + +The man(7) man page describes this as "the + title of the man page (e.g., MAN). This differs + from refname in that, if the refentry has a + refentrytitle, we use that as the title; + otherwise, we just use first refname in the first + refnamediv in the source. + + Parameters + + + + refname + + +The first refname in the refentry + + + + + + Returns + +Returns a title node. + + + + +get.refentry.section +Gets section metadata for a refentry + + +<xsl:template name="get.refentry.section"> +<xsl:param name="refname"/> +<xsl:param name="quiet" select="0"/> + ... +</xsl:template> + +Description + +The man(7) man page describes this as "the + section number the man page should be placed in (e.g., + 7)". If we do not find a manvolnum + specified in the source, and we find that the refentry is + for a function, we use the section number 3 + ["Library calls (functions within program libraries)"]; otherwise, we + default to using 1 ["Executable programs or shell + commands"]. + + Parameters + + + + refname + + +The first refname in the refentry + + + + + quiet + + +If non-zero, no "missing" message is emitted + + + + + + Returns + +Returns a string representing a section number. + + + + +get.refentry.date +Gets date metadata for a refentry + + +<xsl:template name="get.refentry.date"> +<xsl:param name="refname"/> +<xsl:param name="info"/> +<xsl:param name="prefs"/> + ... +</xsl:template> + +Description + +The man(7) man page describes this as "the + date of the last revision". If we cannot find a date in the source, we + generate one. + + Parameters + + + + refname + + +The first refname in the refentry + + + + + info + + +A set of info nodes (from a refentry + element and its ancestors) + + + + + prefs + + +A node containing users preferences (from global stylesheet parameters) + + + + + + Returns + +Returns a date node. + + + + + +get.refentry.source +Gets source metadata for a refentry + + +<xsl:template name="get.refentry.source"> +<xsl:param name="refname"/> +<xsl:param name="info"/> +<xsl:param name="prefs"/> + ... +</xsl:template> + +Description + +The man(7) man page describes this as "the + source of the command", and provides the following examples: + + + + +For binaries, use something like: GNU, NET-2, SLS + Distribution, MCC Distribution. + + + + +For system calls, use the version of the kernel that you are + currently looking at: Linux 0.99.11. + + + + +For library calls, use the source of the function: GNU, BSD + 4.3, Linux DLL 4.4.1. + + + + + + + + +The solbook(5) man page describes + something very much like what man(7) calls + "source", except that solbook(5) names it + "software" and describes it like this: +
+ +This is the name of the software product that the topic + discussed on the reference page belongs to. For example UNIX + commands are part of the SunOS x.x + release. + +
+
+ + + +In practice, there are many pages that simply have a version + number in the "source" field. So, it looks like what we have is a + two-part field, + Name Version, + where: + + + + Name + + +product name (e.g., BSD) or org. name (e.g., GNU) + + + + + Version + + +version name + + + + + + Each part is optional. If the Name is a + product name, then the Version is probably + the version of the product. Or there may be no + Name, in which case, if there is a + Version, it is probably the version of the + item itself, not the product it is part of. Or, if the + Name is an organization name, then there + probably will be no Version. + + +
Parameters + + + + refname + + +The first refname in the refentry + + + + + info + + +A set of info nodes (from a refentry + element and its ancestors) + + + + + prefs + + +A node containing users preferences (from global + stylesheet parameters) + + + + + + Returns + +Returns a source node. + +
+ + + +get.refentry.source.name +Gets source-name metadata for a refentry + + +<xsl:template name="get.refentry.source.name"> +<xsl:param name="refname"/> +<xsl:param name="info"/> +<xsl:param name="prefs"/> + ... +</xsl:template> + +Description + +A "source name" is one part of a (potentially) two-part + Name Version + source field. For more details, see the documentation for the + get.refentry.source template. + + Parameters + + + + refname + + +The first refname in the refentry + + + + + info + + +A set of info nodes (from a refentry + element and its ancestors) + + + + + prefs + + +A node containing users preferences (from global + stylesheet parameters) + + + + + + Returns + +Depending on what output method is used for the + current stylesheet, either returns a text node or possibly an element + node, containing "source name" data. + + + + + +get.refentry.version +Gets version metadata for a refentry + + +<xsl:template name="get.refentry.version"> +<xsl:param name="refname"/> +<xsl:param name="info"/> +<xsl:param name="prefs"/> + ... +</xsl:template> + +Description + +A "version" is one part of a (potentially) two-part + Name Version + source field. For more details, see the documentation for the + get.refentry.source template. + + Parameters + + + + refname + + +The first refname in the refentry + + + + + info + + +A set of info nodes (from a refentry + element and its ancestors) + + + + + prefs + + +A node containing users preferences (from global + stylesheet parameters) + + + + + + Returns + +Depending on what output method is used for the + current stylesheet, either returns a text node or possibly an element + node, containing "version" data. + + + + + +get.refentry.manual +Gets source metadata for a refentry + + +<xsl:template name="get.refentry.manual"> +<xsl:param name="refname"/> +<xsl:param name="info"/> +<xsl:param name="prefs"/> + ... +</xsl:template> + +Description + +The man(7) man page describes this as "the + title of the manual (e.g., Linux Programmer's + Manual)". Here are some examples from existing man pages: + + + + +dpkg utilities + (dpkg-name) + + + + +User Contributed Perl Documentation + (GET) + + + + +GNU Development Tools + (ld) + + + + +Emperor Norton Utilities + (ddate) + + + + +Debian GNU/Linux manual + (faked) + + + + +GIMP Manual Pages + (gimp) + + + + +KDOC Documentation System + (qt2kdoc) + + + + + + + + +The solbook(5) man page describes + something very much like what man(7) calls + "manual", except that solbook(5) names it + "sectdesc" and describes it like this: +
+ +This is the section title of the reference page; for + example User Commands. + +
+
+ + +
Parameters + + + + refname + + +The first refname in the refentry + + + + + info + + +A set of info nodes (from a refentry + element and its ancestors) + + + + + prefs + + +A node containing users preferences (from global + stylesheet parameters) + + + + + + Returns + +Returns a manual node. + +
+ + + +get.refentry.metadata.prefs +Gets user preferences for refentry metadata gathering + + +<xsl:template name="get.refentry.metadata.prefs"/> + +Description + +The DocBook XSL stylesheets include several user-configurable + global stylesheet parameters for controlling refentry + metadata gathering. Those parameters are not read directly by the + other refentry metadata-gathering + templates. Instead, they are read only by the + get.refentry.metadata.prefs template, + which assembles them into a structure that is then passed to + the other refentry metadata-gathering + templates. + + + +So the, get.refentry.metadata.prefs + template is the only interface to collecting stylesheet parameters for + controlling refentry metadata gathering. + + Parameters + +There are no local parameters for this template; however, it + does rely on a number of global parameters. + + Returns + +Returns a manual node. + + + + + +set.refentry.metadata +Sets content of a refentry metadata item + + +<xsl:template name="set.refentry.metadata"> +<xsl:param name="refname"/> +<xsl:param name="info"/> +<xsl:param name="contents"/> +<xsl:param name="context"/> +<xsl:param name="preferred"/> + ... +</xsl:template> + +Description + +The set.refentry.metadata template is + called each time a suitable source element is found for a certain + metadata field. + + Parameters + + + + refname + + +The first refname in the refentry + + + + + info + + +A single *info node that contains the selected source element. + + + + + contents + + +A node containing the selected source element. + + + + + context + + +A string describing the metadata context in which the + set.refentry.metadata template was + called: either "date", "source", "version", or "manual". + + + + + + Returns + +Returns formatted contents of a selected source element. + +
+ diff --git a/doc/help/xslt/common/refentry.xsl b/doc/help/xslt/common/refentry.xsl new file mode 100644 index 00000000..5a04b60c --- /dev/null +++ b/doc/help/xslt/common/refentry.xsl @@ -0,0 +1,1352 @@ + + + + + + + + + Common » Refentry Metadata Template Reference + + $Id: refentry.xsl 7867 2008-03-07 09:54:25Z xmldoc $ + + + + + Introduction + This is technical reference documentation for the “refentry + metadata” templates in the DocBook XSL Stylesheets. + This is not intended to be user documentation. It is provided + for developers writing customization layers for the stylesheets. + + Currently, only the manpages stylesheets make use of these + templates. They are, however, potentially useful elsewhere. + + + + + + + Gathers metadata from a refentry and its ancestors + + Reference documentation for particular commands, functions, + etc., is sometimes viewed in isolation from its greater "context". For + example, users view Unix man pages as, well, individual pages, not as + part of a "book" of some kind. Therefore, it is sometimes necessary to + embed "context" information in output for each refentry. + + However, one problem is that different users mark up that + context information in different ways. Often (usually), the + context information is not actually part of the content of the + refentry itself, but instead part of the content of a + parent or ancestor element to the refentry. And + even then, DocBook provides a variety of elements that users might + potentially use to mark up the same kind of information. One user + might use the productnumber element to mark up version + information about a particular product, while another might use + the releaseinfo element. + + Taking all that in mind, the + get.refentry.metadata template tries to gather + metadata from a refentry element and its ancestor + elements in an intelligent and user-configurable way. The basic + mechanism used in the XPath expressions throughout this stylesheet + is to select the relevant metadata from the *info element that is + closest to the actual refentry â€“ either on the + refentry itself, or on its nearest ancestor. + + + The get.refentry.metadata + template is actually just sort of a "driver" template; it + calls other templates that do the actual data collection, + then returns the data as a set. + + + + + + + refname + + The first refname in the refentry + + + + info + + A set of info nodes (from a refentry + element and its ancestors) + + + + prefs + + A node containing user preferences (from global + stylesheet parameters) + + + + + + Returns a node set with the following elements. The + descriptions are verbatim from the man(7) man + page. + + + title + + the title of the man page (e.g., MAN) + + + + section + + the section number the man page should be placed in (e.g., + 7) + + + + date + + the date of the last revision + + + + source + + the source of the command + + + + manual + + the title of the manual (e.g., Linux + Programmer's Manual) + + + + + + + + + + + + <xsl:call-template name="get.refentry.title"> + <xsl:with-param name="refname" select="$refname"/> + </xsl:call-template> + +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + +
+ + + + Gets title metadata for a refentry + + The man(7) man page describes this as "the + title of the man page (e.g., MAN). This differs + from refname in that, if the refentry has a + refentrytitle, we use that as the title; + otherwise, we just use first refname in the first + refnamediv in the source. + + + + + refname + + The first refname in the refentry + + + + + + Returns a title node. + + + + + + + + + + + + + + + + + + Gets section metadata for a refentry + + The man(7) man page describes this as "the + section number the man page should be placed in (e.g., + 7)". If we do not find a manvolnum + specified in the source, and we find that the refentry is + for a function, we use the section number 3 + ["Library calls (functions within program libraries)"]; otherwise, we + default to using 1 ["Executable programs or shell + commands"]. + + + + + refname + + The first refname in the refentry + + + + quiet + + If non-zero, no "missing" message is emitted + + + + + + Returns a string representing a section number. + + + + + + + + + + + + + Note + + meta manvol + + no refentry/refmeta/manvolnum + + + + Note + + meta manvol + + see http://docbook.sf.net/el/manvolnum + + + + + + + + + + Note + + meta manvol + + Setting man section to 3 + + + + + 3 + + + 1 + + + + + + + + + Gets date metadata for a refentry + + The man(7) man page describes this as "the + date of the last revision". If we cannot find a date in the source, we + generate one. + + + + + refname + + The first refname in the refentry + + + + info + + A set of info nodes (from a refentry + element and its ancestors) + + + + prefs + + A node containing users preferences (from global stylesheet parameters) + + + + + + Returns a date node. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets source metadata for a refentry + + The man(7) man page describes this as "the + source of the command", and provides the following examples: + + + For binaries, use something like: GNU, NET-2, SLS + Distribution, MCC Distribution. + + + For system calls, use the version of the kernel that you are + currently looking at: Linux 0.99.11. + + + For library calls, use the source of the function: GNU, BSD + 4.3, Linux DLL 4.4.1. + + + + + The solbook(5) man page describes + something very much like what man(7) calls + "source", except that solbook(5) names it + "software" and describes it like this: +
+ This is the name of the software product that the topic + discussed on the reference page belongs to. For example UNIX + commands are part of the SunOS x.x + release. +
+
+ + In practice, there are many pages that simply have a version + number in the "source" field. So, it looks like what we have is a + two-part field, + Name Version, + where: + + + Name + + product name (e.g., BSD) or org. name (e.g., GNU) + + + + Version + + version name + + + + Each part is optional. If the Name is a + product name, then the Version is probably + the version of the product. Or there may be no + Name, in which case, if there is a + Version, it is probably the version of the + item itself, not the product it is part of. Or, if the + Name is an organization name, then there + probably will be no Version. + +
+ + + + refname + + The first refname in the refentry + + + + info + + A set of info nodes (from a refentry + element and its ancestors) + + + + prefs + + A node containing users preferences (from global + stylesheet parameters) + + + + + + Returns a source node. + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Warn + + meta source + + using + " + + " + for "source" + + + + + + + + [FIXME: source] + + + Warn + + meta source + + no fallback for source, so inserted a fixme + + + + + + + + + + [FIXME: source] + + + Warn + + meta source + + no source fallback given, so inserted a fixme + + + + + + + + + + Gets source-name metadata for a refentry + + A "source name" is one part of a (potentially) two-part + Name Version + source field. For more details, see the documentation for the + get.refentry.source template. + + + + + refname + + The first refname in the refentry + + + + info + + A set of info nodes (from a refentry + element and its ancestors) + + + + prefs + + A node containing users preferences (from global + stylesheet parameters) + + + + + + Depending on what output method is used for the + current stylesheet, either returns a text node or possibly an element + node, containing "source name" data. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + source + + + + + + + + source + productname + + + + + + + + source + productname + + + + + + + + source + productname + + + + + + + + source + productname + + + + + + + + source + productname + + + + + + + + + + + + + Note + + meta source + + no *info/productname or alternative + + + + Note + + meta source + + see http://docbook.sf.net/el/productname + + + + Note + + meta source + + no refentry/refmeta/refmiscinfo@class=source + + + + Note + + meta source + + see http://docbook.sf.net/el/refmiscinfo + + + + + + + Gets version metadata for a refentry + + A "version" is one part of a (potentially) two-part + Name Version + source field. For more details, see the documentation for the + get.refentry.source template. + + + + + refname + + The first refname in the refentry + + + + info + + A set of info nodes (from a refentry + element and its ancestors) + + + + prefs + + A node containing users preferences (from global + stylesheet parameters) + + + + + + Depending on what output method is used for the + current stylesheet, either returns a text node or possibly an element + node, containing "version" data. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + version + + + + + + + + version + productnumber + + + + + + + + version + productnumber + + + + + + + + + + + + + Note + + meta version + + no *info/productnumber or alternative + + + + Note + + meta version + + see http://docbook.sf.net/el/productnumber + + + + Note + + meta version + + no refentry/refmeta/refmiscinfo@class=version + + + + Note + + meta version + + see http://docbook.sf.net/el/refmiscinfo + + + + + + + Gets source metadata for a refentry + + The man(7) man page describes this as "the + title of the manual (e.g., Linux Programmer's + Manual)". Here are some examples from existing man pages: + + + dpkg utilities + (dpkg-name) + + + User Contributed Perl Documentation + (GET) + + + GNU Development Tools + (ld) + + + Emperor Norton Utilities + (ddate) + + + Debian GNU/Linux manual + (faked) + + + GIMP Manual Pages + (gimp) + + + KDOC Documentation System + (qt2kdoc) + + + + + The solbook(5) man page describes + something very much like what man(7) calls + "manual", except that solbook(5) names it + "sectdesc" and describes it like this: +
+ This is the section title of the reference page; for + example User Commands. +
+
+ +
+ + + + refname + + The first refname in the refentry + + + + info + + A set of info nodes (from a refentry + element and its ancestors) + + + + prefs + + A node containing users preferences (from global + stylesheet parameters) + + + + + + Returns a manual node. + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + manual + + + + + + + + manual + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Warn + + meta manual + + using + " + + " + for "manual" + + + + + + + + [FIXME: manual] + + + Warn + + meta manual + + no fallback for manual, so inserted a fixme + + + + + + + + + + [FIXME: manual] + + + Warn + + meta manual + + no manual fallback given, so inserted a fixme + + + + + + + + + + + Note + + meta manual + + no titled ancestor of refentry + + + + Note + + meta manual + + no refentry/refmeta/refmiscinfo@class=manual + + + + Note + + meta manual + + see http://docbook.sf.net/el/refmiscinfo + + + + + + Gets user preferences for refentry metadata gathering + + The DocBook XSL stylesheets include several user-configurable + global stylesheet parameters for controlling refentry + metadata gathering. Those parameters are not read directly by the + other refentry metadata-gathering + templates. Instead, they are read only by the + get.refentry.metadata.prefs template, + which assembles them into a structure that is then passed to + the other refentry metadata-gathering + templates. + + So the, get.refentry.metadata.prefs + template is the only interface to collecting stylesheet parameters for + controlling refentry metadata gathering. + + + There are no local parameters for this template; however, it + does rely on a number of global parameters. + + + Returns a manual node. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Sets content of a refentry metadata item + + The set.refentry.metadata template is + called each time a suitable source element is found for a certain + metadata field. + + + + + refname + + The first refname in the refentry + + + + info + + A single *info node that contains the selected source element. + + + + contents + + A node containing the selected source element. + + + + context + + A string describing the metadata context in which the + set.refentry.metadata template was + called: either "date", "source", "version", or "manual". + + + + + + Returns formatted contents of a selected source element. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/doc/help/xslt/common/ro.xml b/doc/help/xslt/common/ro.xml new file mode 100644 index 00000000..49263117 --- /dev/null +++ b/doc/help/xslt/common/ro.xml @@ -0,0 +1,1229 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Symbols +A +a +À +à +Á +á +Â +â +Ã +ã +Ä +ä +Å +å +Ā +ā +Ă +ă +Ą +ą +Ǎ +ǎ +Ǟ +ǟ +Ǡ +ǡ +Ǻ +ǻ +Ȁ +ȁ +Ȃ +ȃ +Ȧ +ȧ +Ḁ +ḁ +ẚ +Ạ +ạ +Ả +ả +Ấ +ấ +Ầ +ầ +Ẩ +ẩ +Ẫ +ẫ +Ậ +ậ +Ắ +ắ +Ằ +ằ +Ẳ +ẳ +Ẵ +ẵ +Ặ +ặ +B +b +ƀ +Ɓ +ɓ +Ƃ +ƃ +Ḃ +ḃ +Ḅ +ḅ +Ḇ +ḇ +C +c +Ç +ç +Ć +ć +Ĉ +ĉ +Ċ +ċ +Č +č +Ƈ +ƈ +ɕ +Ḉ +ḉ +D +d +Ď +ď +Đ +đ +Ɗ +ɗ +Ƌ +ƌ +Dž +Dz +ȡ +ɖ +Ḋ +ḋ +Ḍ +ḍ +Ḏ +ḏ +Ḑ +ḑ +Ḓ +ḓ +E +e +È +è +É +é +Ê +ê +Ë +ë +Ē +ē +Ĕ +ĕ +Ė +ė +Ę +ę +Ě +ě +Ȅ +ȅ +Ȇ +ȇ +Ȩ +ȩ +Ḕ +ḕ +Ḗ +ḗ +Ḙ +ḙ +Ḛ +ḛ +Ḝ +ḝ +Ẹ +ẹ +Ẻ +ẻ +Ẽ +ẽ +Ế +ế +Ề +ề +Ể +ể +Ễ +ễ +Ệ +ệ +F +f +Ƒ +ƒ +Ḟ +ḟ +G +g +Ĝ +ĝ +Ğ +ğ +Ġ +ġ +Ģ +ģ +Ɠ +ɠ +Ǥ +ǥ +Ǧ +ǧ +Ǵ +ǵ +Ḡ +ḡ +H +h +Ĥ +ĥ +Ħ +ħ +Ȟ +ȟ +ɦ +Ḣ +ḣ +Ḥ +ḥ +Ḧ +ḧ +Ḩ +ḩ +Ḫ +ḫ +ẖ +I +i +Ì +ì +Í +í +Î +î +Ï +ï +Ĩ +ĩ +Ī +ī +Ĭ +ĭ +Į +į +İ +Ɨ +ɨ +Ǐ +ǐ +Ȉ +ȉ +Ȋ +ȋ +Ḭ +ḭ +Ḯ +ḯ +Ỉ +ỉ +Ị +ị +J +j +Ĵ +ĵ +ǰ +ʝ +K +k +Ķ +ķ +Ƙ +ƙ +Ǩ +ǩ +Ḱ +ḱ +Ḳ +ḳ +Ḵ +ḵ +L +l +Ĺ +ĺ +Ļ +ļ +Ľ +ľ +Ŀ +ŀ +Ł +ł +ƚ +Lj +ȴ +ɫ +ɬ +ɭ +Ḷ +ḷ +Ḹ +ḹ +Ḻ +ḻ +Ḽ +ḽ +M +m +ɱ +Ḿ +ḿ +Ṁ +ṁ +Ṃ +ṃ +N +n +Ñ +ñ +Ń +ń +Ņ +ņ +Ň +ň +Ɲ +ɲ +ƞ +Ƞ +Nj +Ǹ +ǹ +ȵ +ɳ +Ṅ +ṅ +Ṇ +ṇ +Ṉ +ṉ +Ṋ +ṋ +O +o +Ò +ò +Ó +ó +Ô +ô +Õ +õ +Ö +ö +Ø +ø +Ō +ō +Ŏ +ŏ +Ő +ő +Ɵ +Ơ +ơ +Ǒ +ǒ +Ǫ +ǫ +Ǭ +ǭ +Ǿ +ǿ +Ȍ +ȍ +Ȏ +ȏ +Ȫ +ȫ +Ȭ +ȭ +Ȯ +ȯ +Ȱ +ȱ +Ṍ +ṍ +Ṏ +ṏ +Ṑ +ṑ +Ṓ +ṓ +Ọ +ọ +Ỏ +ỏ +Ố +ố +Ồ +ồ +Ổ +ổ +Ỗ +ỗ +Ộ +ộ +Ớ +ớ +Ờ +ờ +Ở +ở +Ỡ +ỡ +Ợ +ợ +P +p +Ƥ +ƥ +Ṕ +ṕ +Ṗ +ṗ +Q +q +ʠ +R +r +Ŕ +ŕ +Ŗ +ŗ +Ř +ř +Ȑ +ȑ +Ȓ +ȓ +ɼ +ɽ +ɾ +Ṙ +ṙ +Ṛ +ṛ +Ṝ +ṝ +Ṟ +ṟ +S +s +Ś +ś +Ŝ +ŝ +Ş +ş +Š +š +Ș +ș +ʂ +Ṡ +ṡ +Ṣ +ṣ +Ṥ +ṥ +Ṧ +ṧ +Ṩ +ṩ +T +t +Ţ +ţ +Ť +ť +Ŧ +ŧ +ƫ +Ƭ +ƭ +Ʈ +ʈ +Ț +ț +ȶ +Ṫ +ṫ +Ṭ +ṭ +Ṯ +ṯ +Ṱ +ṱ +ẗ +U +u +Ù +ù +Ú +ú +Û +û +Ü +ü +Ũ +ũ +Ū +ū +Ŭ +ŭ +Ů +ů +Ű +ű +Ų +ų +Ư +ư +Ǔ +ǔ +Ǖ +ǖ +Ǘ +ǘ +Ǚ +ǚ +Ǜ +ǜ +Ȕ +ȕ +Ȗ +ȗ +Ṳ +ṳ +Ṵ +ṵ +Ṷ +ṷ +Ṹ +ṹ +Ṻ +ṻ +Ụ +ụ +Ủ +ủ +Ứ +ứ +Ừ +ừ +Ử +ử +Ữ +ữ +Ự +ự +V +v +Ʋ +ʋ +Ṽ +ṽ +Ṿ +ṿ +W +w +Ŵ +ŵ +Ẁ +ẁ +Ẃ +ẃ +Ẅ +ẅ +Ẇ +ẇ +Ẉ +ẉ +ẘ +X +x +Ẋ +ẋ +Ẍ +ẍ +Y +y +Ý +ý +ÿ +Ÿ +Ŷ +ŷ +Ƴ +ƴ +Ȳ +ȳ +Ẏ +ẏ +ẙ +Ỳ +ỳ +Ỵ +ỵ +Ỷ +ỷ +Ỹ +ỹ +Z +z +Ź +ź +Ż +ż +Ž +ž +Ƶ +ƶ +Ȥ +ȥ +ʐ +ʑ +Ẑ +ẑ +Ẓ +ẓ +Ẕ +ẕ + + diff --git a/doc/help/xslt/common/ru.xml b/doc/help/xslt/common/ru.xml new file mode 100644 index 00000000..67d2c9aa --- /dev/null +++ b/doc/help/xslt/common/ru.xml @@ -0,0 +1,726 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +A +a +B +b +C +c +D +d +E +e +F +f +G +g +H +h +I +i +J +j +K +k +L +l +M +m +N +n +O +o +P +p +Q +q +R +r +S +s +T +t +U +u +V +v +W +w +X +x +Y +y +Z +z +А +а +Б +б +В +в +Г +г +Д +д +Е +е +Ё +ё +Ж +ж +З +з +И +и +Й +й +К +к +Л +л +М +м +Н +н +О +о +П +п +Р +р +С +с +Т +т +У +у +Ф +ф +Х +х +Ц +ц +Ч +ч +Ш +ш +Щ +щ +Ъ +ъ +Ы +ы +Ь +ь +Э +э +Ю +ю +Я +я + + diff --git a/doc/help/xslt/common/sk.xml b/doc/help/xslt/common/sk.xml new file mode 100644 index 00000000..09309b68 --- /dev/null +++ b/doc/help/xslt/common/sk.xml @@ -0,0 +1,1229 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Symbols +A +a +À +à +Á +á +Â +â +Ã +ã +Ä +ä +Å +å +Ā +ā +Ă +ă +Ą +ą +Ǎ +ǎ +Ǟ +ǟ +Ǡ +ǡ +Ǻ +ǻ +Ȁ +ȁ +Ȃ +ȃ +Ȧ +ȧ +Ḁ +ḁ +ẚ +Ạ +ạ +Ả +ả +Ấ +ấ +Ầ +ầ +Ẩ +ẩ +Ẫ +ẫ +Ậ +ậ +Ắ +ắ +Ằ +ằ +Ẳ +ẳ +Ẵ +ẵ +Ặ +ặ +B +b +ƀ +Ɓ +ɓ +Ƃ +ƃ +Ḃ +ḃ +Ḅ +ḅ +Ḇ +ḇ +C +c +Ç +ç +Ć +ć +Ĉ +ĉ +Ċ +ċ +Č +č +Ƈ +ƈ +ɕ +Ḉ +ḉ +D +d +Ď +ď +Đ +đ +Ɗ +ɗ +Ƌ +ƌ +Dž +Dz +ȡ +ɖ +Ḋ +ḋ +Ḍ +ḍ +Ḏ +ḏ +Ḑ +ḑ +Ḓ +ḓ +E +e +È +è +É +é +Ê +ê +Ë +ë +Ē +ē +Ĕ +ĕ +Ė +ė +Ę +ę +Ě +ě +Ȅ +ȅ +Ȇ +ȇ +Ȩ +ȩ +Ḕ +ḕ +Ḗ +ḗ +Ḙ +ḙ +Ḛ +ḛ +Ḝ +ḝ +Ẹ +ẹ +Ẻ +ẻ +Ẽ +ẽ +Ế +ế +Ề +ề +Ể +ể +Ễ +ễ +Ệ +ệ +F +f +Ƒ +ƒ +Ḟ +ḟ +G +g +Ĝ +ĝ +Ğ +ğ +Ġ +ġ +Ģ +ģ +Ɠ +ɠ +Ǥ +ǥ +Ǧ +ǧ +Ǵ +ǵ +Ḡ +ḡ +H +h +Ĥ +ĥ +Ħ +ħ +Ȟ +ȟ +ɦ +Ḣ +ḣ +Ḥ +ḥ +Ḧ +ḧ +Ḩ +ḩ +Ḫ +ḫ +ẖ +I +i +Ì +ì +Í +í +Î +î +Ï +ï +Ĩ +ĩ +Ī +ī +Ĭ +ĭ +Į +į +İ +Ɨ +ɨ +Ǐ +ǐ +Ȉ +ȉ +Ȋ +ȋ +Ḭ +ḭ +Ḯ +ḯ +Ỉ +ỉ +Ị +ị +J +j +Ĵ +ĵ +ǰ +ʝ +K +k +Ķ +ķ +Ƙ +ƙ +Ǩ +ǩ +Ḱ +ḱ +Ḳ +ḳ +Ḵ +ḵ +L +l +Ĺ +ĺ +Ļ +ļ +Ľ +ľ +Ŀ +ŀ +Ł +ł +ƚ +Lj +ȴ +ɫ +ɬ +ɭ +Ḷ +ḷ +Ḹ +ḹ +Ḻ +ḻ +Ḽ +ḽ +M +m +ɱ +Ḿ +ḿ +Ṁ +ṁ +Ṃ +ṃ +N +n +Ñ +ñ +Ń +ń +Ņ +ņ +Ň +ň +Ɲ +ɲ +ƞ +Ƞ +Nj +Ǹ +ǹ +ȵ +ɳ +Ṅ +ṅ +Ṇ +ṇ +Ṉ +ṉ +Ṋ +ṋ +O +o +Ò +ò +Ó +ó +Ô +ô +Õ +õ +Ö +ö +Ø +ø +Ō +ō +Ŏ +ŏ +Ő +ő +Ɵ +Ơ +ơ +Ǒ +ǒ +Ǫ +ǫ +Ǭ +ǭ +Ǿ +ǿ +Ȍ +ȍ +Ȏ +ȏ +Ȫ +ȫ +Ȭ +ȭ +Ȯ +ȯ +Ȱ +ȱ +Ṍ +ṍ +Ṏ +ṏ +Ṑ +ṑ +Ṓ +ṓ +Ọ +ọ +Ỏ +ỏ +Ố +ố +Ồ +ồ +Ổ +ổ +Ỗ +ỗ +Ộ +ộ +Ớ +ớ +Ờ +ờ +Ở +ở +Ỡ +ỡ +Ợ +ợ +P +p +Ƥ +ƥ +Ṕ +ṕ +Ṗ +ṗ +Q +q +ʠ +R +r +Ŕ +ŕ +Ŗ +ŗ +Ř +ř +Ȑ +ȑ +Ȓ +ȓ +ɼ +ɽ +ɾ +Ṙ +ṙ +Ṛ +ṛ +Ṝ +ṝ +Ṟ +ṟ +S +s +Ś +ś +Ŝ +ŝ +Ş +ş +Š +š +Ș +ș +ʂ +Ṡ +ṡ +Ṣ +ṣ +Ṥ +ṥ +Ṧ +ṧ +Ṩ +ṩ +T +t +Ţ +ţ +Ť +ť +Ŧ +ŧ +ƫ +Ƭ +ƭ +Ʈ +ʈ +Ț +ț +ȶ +Ṫ +ṫ +Ṭ +ṭ +Ṯ +ṯ +Ṱ +ṱ +ẗ +U +u +Ù +ù +Ú +ú +Û +û +Ü +ü +Ũ +ũ +Ū +ū +Ŭ +ŭ +Ů +ů +Ű +ű +Ų +ų +Ư +ư +Ǔ +ǔ +Ǖ +ǖ +Ǘ +ǘ +Ǚ +ǚ +Ǜ +ǜ +Ȕ +ȕ +Ȗ +ȗ +Ṳ +ṳ +Ṵ +ṵ +Ṷ +ṷ +Ṹ +ṹ +Ṻ +ṻ +Ụ +ụ +Ủ +ủ +Ứ +ứ +Ừ +ừ +Ử +ử +Ữ +ữ +Ự +ự +V +v +Ʋ +ʋ +Ṽ +ṽ +Ṿ +ṿ +W +w +Ŵ +ŵ +Ẁ +ẁ +Ẃ +ẃ +Ẅ +ẅ +Ẇ +ẇ +Ẉ +ẉ +ẘ +X +x +Ẋ +ẋ +Ẍ +ẍ +Y +y +Ý +ý +ÿ +Ÿ +Ŷ +ŷ +Ƴ +ƴ +Ȳ +ȳ +Ẏ +ẏ +ẙ +Ỳ +ỳ +Ỵ +ỵ +Ỷ +ỷ +Ỹ +ỹ +Z +z +Ź +ź +Ż +ż +Ž +ž +Ƶ +ƶ +Ȥ +ȥ +ʐ +ʑ +Ẑ +ẑ +Ẓ +ẓ +Ẕ +ẕ + + diff --git a/doc/help/xslt/common/sl.xml b/doc/help/xslt/common/sl.xml new file mode 100644 index 00000000..43aa2576 --- /dev/null +++ b/doc/help/xslt/common/sl.xml @@ -0,0 +1,1229 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Symbols +A +a +À +à +Á +á +Â +â +Ã +ã +Ä +ä +Å +å +Ā +ā +Ă +ă +Ą +ą +Ǎ +ǎ +Ǟ +ǟ +Ǡ +ǡ +Ǻ +ǻ +Ȁ +ȁ +Ȃ +ȃ +Ȧ +ȧ +Ḁ +ḁ +ẚ +Ạ +ạ +Ả +ả +Ấ +ấ +Ầ +ầ +Ẩ +ẩ +Ẫ +ẫ +Ậ +ậ +Ắ +ắ +Ằ +ằ +Ẳ +ẳ +Ẵ +ẵ +Ặ +ặ +B +b +ƀ +Ɓ +ɓ +Ƃ +ƃ +Ḃ +ḃ +Ḅ +ḅ +Ḇ +ḇ +C +c +Ç +ç +Ć +ć +Ĉ +ĉ +Ċ +ċ +Č +č +Ƈ +ƈ +ɕ +Ḉ +ḉ +D +d +Ď +ď +Đ +đ +Ɗ +ɗ +Ƌ +ƌ +Dž +Dz +ȡ +ɖ +Ḋ +ḋ +Ḍ +ḍ +Ḏ +ḏ +Ḑ +ḑ +Ḓ +ḓ +E +e +È +è +É +é +Ê +ê +Ë +ë +Ē +ē +Ĕ +ĕ +Ė +ė +Ę +ę +Ě +ě +Ȅ +ȅ +Ȇ +ȇ +Ȩ +ȩ +Ḕ +ḕ +Ḗ +ḗ +Ḙ +ḙ +Ḛ +ḛ +Ḝ +ḝ +Ẹ +ẹ +Ẻ +ẻ +Ẽ +ẽ +Ế +ế +Ề +ề +Ể +ể +Ễ +ễ +Ệ +ệ +F +f +Ƒ +ƒ +Ḟ +ḟ +G +g +Ĝ +ĝ +Ğ +ğ +Ġ +ġ +Ģ +ģ +Ɠ +ɠ +Ǥ +ǥ +Ǧ +ǧ +Ǵ +ǵ +Ḡ +ḡ +H +h +Ĥ +ĥ +Ħ +ħ +Ȟ +ȟ +ɦ +Ḣ +ḣ +Ḥ +ḥ +Ḧ +ḧ +Ḩ +ḩ +Ḫ +ḫ +ẖ +I +i +Ì +ì +Í +í +Î +î +Ï +ï +Ĩ +ĩ +Ī +ī +Ĭ +ĭ +Į +į +İ +Ɨ +ɨ +Ǐ +ǐ +Ȉ +ȉ +Ȋ +ȋ +Ḭ +ḭ +Ḯ +ḯ +Ỉ +ỉ +Ị +ị +J +j +Ĵ +ĵ +ǰ +ʝ +K +k +Ķ +ķ +Ƙ +ƙ +Ǩ +ǩ +Ḱ +ḱ +Ḳ +ḳ +Ḵ +ḵ +L +l +Ĺ +ĺ +Ļ +ļ +Ľ +ľ +Ŀ +ŀ +Ł +ł +ƚ +Lj +ȴ +ɫ +ɬ +ɭ +Ḷ +ḷ +Ḹ +ḹ +Ḻ +ḻ +Ḽ +ḽ +M +m +ɱ +Ḿ +ḿ +Ṁ +ṁ +Ṃ +ṃ +N +n +Ñ +ñ +Ń +ń +Ņ +ņ +Ň +ň +Ɲ +ɲ +ƞ +Ƞ +Nj +Ǹ +ǹ +ȵ +ɳ +Ṅ +ṅ +Ṇ +ṇ +Ṉ +ṉ +Ṋ +ṋ +O +o +Ò +ò +Ó +ó +Ô +ô +Õ +õ +Ö +ö +Ø +ø +Ō +ō +Ŏ +ŏ +Ő +ő +Ɵ +Ơ +ơ +Ǒ +ǒ +Ǫ +ǫ +Ǭ +ǭ +Ǿ +ǿ +Ȍ +ȍ +Ȏ +ȏ +Ȫ +ȫ +Ȭ +ȭ +Ȯ +ȯ +Ȱ +ȱ +Ṍ +ṍ +Ṏ +ṏ +Ṑ +ṑ +Ṓ +ṓ +Ọ +ọ +Ỏ +ỏ +Ố +ố +Ồ +ồ +Ổ +ổ +Ỗ +ỗ +Ộ +ộ +Ớ +ớ +Ờ +ờ +Ở +ở +Ỡ +ỡ +Ợ +ợ +P +p +Ƥ +ƥ +Ṕ +ṕ +Ṗ +ṗ +Q +q +ʠ +R +r +Ŕ +ŕ +Ŗ +ŗ +Ř +ř +Ȑ +ȑ +Ȓ +ȓ +ɼ +ɽ +ɾ +Ṙ +ṙ +Ṛ +ṛ +Ṝ +ṝ +Ṟ +ṟ +S +s +Ś +ś +Ŝ +ŝ +Ş +ş +Š +š +Ș +ș +ʂ +Ṡ +ṡ +Ṣ +ṣ +Ṥ +ṥ +Ṧ +ṧ +Ṩ +ṩ +T +t +Ţ +ţ +Ť +ť +Ŧ +ŧ +ƫ +Ƭ +ƭ +Ʈ +ʈ +Ț +ț +ȶ +Ṫ +ṫ +Ṭ +ṭ +Ṯ +ṯ +Ṱ +ṱ +ẗ +U +u +Ù +ù +Ú +ú +Û +û +Ü +ü +Ũ +ũ +Ū +ū +Ŭ +ŭ +Ů +ů +Ű +ű +Ų +ų +Ư +ư +Ǔ +ǔ +Ǖ +ǖ +Ǘ +ǘ +Ǚ +ǚ +Ǜ +ǜ +Ȕ +ȕ +Ȗ +ȗ +Ṳ +ṳ +Ṵ +ṵ +Ṷ +ṷ +Ṹ +ṹ +Ṻ +ṻ +Ụ +ụ +Ủ +ủ +Ứ +ứ +Ừ +ừ +Ử +ử +Ữ +ữ +Ự +ự +V +v +Ʋ +ʋ +Ṽ +ṽ +Ṿ +ṿ +W +w +Ŵ +ŵ +Ẁ +ẁ +Ẃ +ẃ +Ẅ +ẅ +Ẇ +ẇ +Ẉ +ẉ +ẘ +X +x +Ẋ +ẋ +Ẍ +ẍ +Y +y +Ý +ý +ÿ +Ÿ +Ŷ +ŷ +Ƴ +ƴ +Ȳ +ȳ +Ẏ +ẏ +ẙ +Ỳ +ỳ +Ỵ +ỵ +Ỷ +ỷ +Ỹ +ỹ +Z +z +Ź +ź +Ż +ż +Ž +ž +Ƶ +ƶ +Ȥ +ȥ +ʐ +ʑ +Ẑ +ẑ +Ẓ +ẓ +Ẕ +ẕ + + diff --git a/doc/help/xslt/common/sq.xml b/doc/help/xslt/common/sq.xml new file mode 100644 index 00000000..b566918d --- /dev/null +++ b/doc/help/xslt/common/sq.xml @@ -0,0 +1,1229 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Symbols +A +a +À +à +Á +á +Â +â +Ã +ã +Ä +ä +Å +å +Ā +ā +Ă +ă +Ą +ą +Ǎ +ǎ +Ǟ +ǟ +Ǡ +ǡ +Ǻ +ǻ +Ȁ +ȁ +Ȃ +ȃ +Ȧ +ȧ +Ḁ +ḁ +ẚ +Ạ +ạ +Ả +ả +Ấ +ấ +Ầ +ầ +Ẩ +ẩ +Ẫ +ẫ +Ậ +ậ +Ắ +ắ +Ằ +ằ +Ẳ +ẳ +Ẵ +ẵ +Ặ +ặ +B +b +ƀ +Ɓ +ɓ +Ƃ +ƃ +Ḃ +ḃ +Ḅ +ḅ +Ḇ +ḇ +C +c +Ç +ç +Ć +ć +Ĉ +ĉ +Ċ +ċ +Č +č +Ƈ +ƈ +ɕ +Ḉ +ḉ +D +d +Ď +ď +Đ +đ +Ɗ +ɗ +Ƌ +ƌ +Dž +Dz +ȡ +ɖ +Ḋ +ḋ +Ḍ +ḍ +Ḏ +ḏ +Ḑ +ḑ +Ḓ +ḓ +E +e +È +è +É +é +Ê +ê +Ë +ë +Ē +ē +Ĕ +ĕ +Ė +ė +Ę +ę +Ě +ě +Ȅ +ȅ +Ȇ +ȇ +Ȩ +ȩ +Ḕ +ḕ +Ḗ +ḗ +Ḙ +ḙ +Ḛ +ḛ +Ḝ +ḝ +Ẹ +ẹ +Ẻ +ẻ +Ẽ +ẽ +Ế +ế +Ề +ề +Ể +ể +Ễ +ễ +Ệ +ệ +F +f +Ƒ +ƒ +Ḟ +ḟ +G +g +Ĝ +ĝ +Ğ +ğ +Ġ +ġ +Ģ +ģ +Ɠ +ɠ +Ǥ +ǥ +Ǧ +ǧ +Ǵ +ǵ +Ḡ +ḡ +H +h +Ĥ +ĥ +Ħ +ħ +Ȟ +ȟ +ɦ +Ḣ +ḣ +Ḥ +ḥ +Ḧ +ḧ +Ḩ +ḩ +Ḫ +ḫ +ẖ +I +i +Ì +ì +Í +í +Î +î +Ï +ï +Ĩ +ĩ +Ī +ī +Ĭ +ĭ +Į +į +İ +Ɨ +ɨ +Ǐ +ǐ +Ȉ +ȉ +Ȋ +ȋ +Ḭ +ḭ +Ḯ +ḯ +Ỉ +ỉ +Ị +ị +J +j +Ĵ +ĵ +ǰ +ʝ +K +k +Ķ +ķ +Ƙ +ƙ +Ǩ +ǩ +Ḱ +ḱ +Ḳ +ḳ +Ḵ +ḵ +L +l +Ĺ +ĺ +Ļ +ļ +Ľ +ľ +Ŀ +ŀ +Ł +ł +ƚ +Lj +ȴ +ɫ +ɬ +ɭ +Ḷ +ḷ +Ḹ +ḹ +Ḻ +ḻ +Ḽ +ḽ +M +m +ɱ +Ḿ +ḿ +Ṁ +ṁ +Ṃ +ṃ +N +n +Ñ +ñ +Ń +ń +Ņ +ņ +Ň +ň +Ɲ +ɲ +ƞ +Ƞ +Nj +Ǹ +ǹ +ȵ +ɳ +Ṅ +ṅ +Ṇ +ṇ +Ṉ +ṉ +Ṋ +ṋ +O +o +Ò +ò +Ó +ó +Ô +ô +Õ +õ +Ö +ö +Ø +ø +Ō +ō +Ŏ +ŏ +Ő +ő +Ɵ +Ơ +ơ +Ǒ +ǒ +Ǫ +ǫ +Ǭ +ǭ +Ǿ +ǿ +Ȍ +ȍ +Ȏ +ȏ +Ȫ +ȫ +Ȭ +ȭ +Ȯ +ȯ +Ȱ +ȱ +Ṍ +ṍ +Ṏ +ṏ +Ṑ +ṑ +Ṓ +ṓ +Ọ +ọ +Ỏ +ỏ +Ố +ố +Ồ +ồ +Ổ +ổ +Ỗ +ỗ +Ộ +ộ +Ớ +ớ +Ờ +ờ +Ở +ở +Ỡ +ỡ +Ợ +ợ +P +p +Ƥ +ƥ +Ṕ +ṕ +Ṗ +ṗ +Q +q +ʠ +R +r +Ŕ +ŕ +Ŗ +ŗ +Ř +ř +Ȑ +ȑ +Ȓ +ȓ +ɼ +ɽ +ɾ +Ṙ +ṙ +Ṛ +ṛ +Ṝ +ṝ +Ṟ +ṟ +S +s +Ś +ś +Ŝ +ŝ +Ş +ş +Š +š +Ș +ș +ʂ +Ṡ +ṡ +Ṣ +ṣ +Ṥ +ṥ +Ṧ +ṧ +Ṩ +ṩ +T +t +Ţ +ţ +Ť +ť +Ŧ +ŧ +ƫ +Ƭ +ƭ +Ʈ +ʈ +Ț +ț +ȶ +Ṫ +ṫ +Ṭ +ṭ +Ṯ +ṯ +Ṱ +ṱ +ẗ +U +u +Ù +ù +Ú +ú +Û +û +Ü +ü +Ũ +ũ +Ū +ū +Ŭ +ŭ +Ů +ů +Ű +ű +Ų +ų +Ư +ư +Ǔ +ǔ +Ǖ +ǖ +Ǘ +ǘ +Ǚ +ǚ +Ǜ +ǜ +Ȕ +ȕ +Ȗ +ȗ +Ṳ +ṳ +Ṵ +ṵ +Ṷ +ṷ +Ṹ +ṹ +Ṻ +ṻ +Ụ +ụ +Ủ +ủ +Ứ +ứ +Ừ +ừ +Ử +ử +Ữ +ữ +Ự +ự +V +v +Ʋ +ʋ +Ṽ +ṽ +Ṿ +ṿ +W +w +Ŵ +ŵ +Ẁ +ẁ +Ẃ +ẃ +Ẅ +ẅ +Ẇ +ẇ +Ẉ +ẉ +ẘ +X +x +Ẋ +ẋ +Ẍ +ẍ +Y +y +Ý +ý +ÿ +Ÿ +Ŷ +ŷ +Ƴ +ƴ +Ȳ +ȳ +Ẏ +ẏ +ẙ +Ỳ +ỳ +Ỵ +ỵ +Ỷ +ỷ +Ỹ +ỹ +Z +z +Ź +ź +Ż +ż +Ž +ž +Ƶ +ƶ +Ȥ +ȥ +ʐ +ʑ +Ẑ +ẑ +Ẓ +ẓ +Ẕ +ẕ + + diff --git a/doc/help/xslt/common/sr.xml b/doc/help/xslt/common/sr.xml new file mode 100644 index 00000000..413ca4c1 --- /dev/null +++ b/doc/help/xslt/common/sr.xml @@ -0,0 +1,720 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Симболи +А +а +Б +б +В +в +Г +г +Д +д +Ђ +ђ +Е +е +Ж +ж +З +з +И +и +Ј +ј +К +к +Л +л +Љ +љ +М +м +Н +н +Њ +њ +О +о +П +п +Р +р +С +с +Т +т +Ћ +ћ +У +у +Ф +ф +Х +х +Ц +ц +Ч +ч +Џ +џ +Ш +ш +A +a +B +b +C +c +D +d +E +e +F +f +G +g +H +h +I +i +J +j +K +k +L +l +M +m +N +n +O +o +P +p +Q +Q +R +r +S +s +T +t +U +u +V +v +W +w +X +x +Y +y +Z +z + + diff --git a/doc/help/xslt/common/sr_Latn.xml b/doc/help/xslt/common/sr_Latn.xml new file mode 100644 index 00000000..7ebb8daf --- /dev/null +++ b/doc/help/xslt/common/sr_Latn.xml @@ -0,0 +1,679 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Simboli +A +a +B +b +C +c +Č +č +Ć +ć +D +d +DŽ +Dž +dž +Đ +đ +E +e +F +f +G +g +H +h +I +i +J +j +K +k +L +l +LJ +Lj +lj +M +m +N +n +NJ +Nj +nj +O +o +P +p +Q +Q +R +r +S +s +Š +š +T +t +U +u +V +v +W +w +X +x +Y +y +Z +z +Ž +ž + + diff --git a/doc/help/xslt/common/stripns.xsl b/doc/help/xslt/common/stripns.xsl new file mode 100644 index 00000000..56009d04 --- /dev/null +++ b/doc/help/xslt/common/stripns.xsl @@ -0,0 +1,352 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + info + + + objectinfo + + blockinfo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + WARNING: cannot add @xml:base to node + set root element. + Relative paths may not work. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + / + + + + + + + + + + + + + + + 1 + 0 + + + + + + Stripping namespace from DocBook 5 document. + It is suggested to use namespaced version of the stylesheets + available in distribution file 'docbook-xsl-ns' + at //http://sourceforge.net/projects/docbook/files/ + which does not require namespace stripping step. + + + + + Processing stripped document. + + + + + + + + + diff --git a/doc/help/xslt/common/subtitles.xsl b/doc/help/xslt/common/subtitles.xsl new file mode 100644 index 00000000..8211c84b --- /dev/null +++ b/doc/help/xslt/common/subtitles.xsl @@ -0,0 +1,155 @@ + + + + + + + + + + +Provides access to element subtitles + +Processing an element in the +subtitle.markup mode produces the +subtitle of the element. + + + + + + + Request for subtitle of unexpected element: + + + ???SUBTITLE??? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/common/sv.xml b/doc/help/xslt/common/sv.xml new file mode 100644 index 00000000..354c48b3 --- /dev/null +++ b/doc/help/xslt/common/sv.xml @@ -0,0 +1,664 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +A +a +B +b +C +c +D +d +E +e +F +f +G +g +H +h +I +i +J +j +K +k +L +l +M +m +N +n +O +o +P +p +Q +q +R +r +S +s +T +t +U +u +V +v +W +w +X +x +Y +y +Z +z +Å +å +Ä +ä +Ö +ö + + diff --git a/doc/help/xslt/common/ta.xml b/doc/help/xslt/common/ta.xml new file mode 100644 index 00000000..873f1f97 --- /dev/null +++ b/doc/help/xslt/common/ta.xml @@ -0,0 +1,660 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +குறியீடுகள் +A +a +B +b +C +c +D +d +E +e +F +f +G +g +H +h +I +i +J +j +K +k +L +l +M +m +N +n +O +o +P +p +Q +q +R +r +S +s +T +t +U +u +V +v +W +w +X +x +Y +y +Z +z + + diff --git a/doc/help/xslt/common/table.xsl b/doc/help/xslt/common/table.xsl new file mode 100644 index 00000000..aefdb07f --- /dev/null +++ b/doc/help/xslt/common/table.xsl @@ -0,0 +1,514 @@ + + + + + + + + + + + 0: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0: + + + : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + +Determine the column number in which a given entry occurs + +If an entry has a +colname or +namest attribute, this template +will determine the number of the column in which the entry should occur. +For other entrys, nothing is returned. + + + +entry + +The entry-element which is to be tested. + + + + + + +This template returns the column number if it can be determined, +or 0 (the empty string) + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/common/targetdatabase.dtd b/doc/help/xslt/common/targetdatabase.dtd new file mode 100644 index 00000000..2ace1e00 --- /dev/null +++ b/doc/help/xslt/common/targetdatabase.dtd @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/common/targets.xsl b/doc/help/xslt/common/targets.xsl new file mode 100644 index 00000000..294c304a --- /dev/null +++ b/doc/help/xslt/common/targets.xsl @@ -0,0 +1,333 @@ + + + + + + + + + + +Collects information for potential cross reference targets + +Processing the root element in the +collect.targets mode produces +a set of target database elements that can be used by +the olink mechanism to resolve external cross references. +The collection process is controlled by the +collect.xref.targets parameter, which can be +yes to collect targets and process +the document for output, only to +only collect the targets, and no +(default) to not collect the targets and only process the document. + + +A targets.filename parameter must be +specified to receive the output if +collect.xref.targets is +set to yes so as to +redirect the target data to a file separate from the +document output. + + + + + + + + + + + Must specify a $targets.filename parameter when + $collect.xref.targets is set to 'yes'. + The xref targets were not collected. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Warning: processing automatic glossary + without a glossary.collection file. + + + + + + Warning: processing automatic glossary but unable to + open glossary.collection file ' + + ' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/doc/help/xslt/common/te.xml b/doc/help/xslt/common/te.xml new file mode 100644 index 00000000..c912fc20 --- /dev/null +++ b/doc/help/xslt/common/te.xml @@ -0,0 +1,660 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +చిహ్నములు +A +a +B +b +C +c +D +d +E +e +F +f +G +g +H +h +I +i +J +j +K +k +L +l +M +m +N +n +O +o +P +p +Q +q +R +r +S +s +T +t +U +u +V +v +W +w +X +x +Y +y +Z +z + + diff --git a/doc/help/xslt/common/th.xml b/doc/help/xslt/common/th.xml new file mode 100644 index 00000000..f2e8109a --- /dev/null +++ b/doc/help/xslt/common/th.xml @@ -0,0 +1,1229 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Symbols +A +a +À +à +Á +á + +â +à +ã +Ä +ä +Å +Ã¥ +Ā +ā +Ă +ă +Ą +ą +Ǎ +ǎ +Ǟ +ǟ +Ç  +Ç¡ +Ǻ +Ç» +Ȁ +ȁ +Ȃ +ȃ +Ȧ +ȧ +Ḁ +ḁ +ẚ +Ạ +ạ +Ả +ả +Ấ +ấ +Ầ +ầ +Ẩ +ẩ +Ẫ +ẫ +Ậ +ậ +Ắ +ắ +Ằ +ằ +Ẳ +ẳ +Ẵ +ẵ +Ặ +ặ +B +b +ƀ +Ɓ +ɓ +Ƃ +ƃ +Ḃ +ḃ +Ḅ +ḅ +Ḇ +ḇ +C +c +Ç +ç +Ć +ć +Ĉ +ĉ +Ċ +ċ +Č +č +Ƈ +ƈ +ɕ +Ḉ +ḉ +D +d +Ď +ď +Đ +đ +Ɗ +ɗ +Ƌ +ƌ +Dž +Dz +È¡ +ɖ +Ḋ +ḋ +Ḍ +ḍ +Ḏ +ḏ +Ḑ +ḑ +Ḓ +ḓ +E +e +È +è +É +é +Ê +ê +Ë +ë +Ē +ē +Ĕ +ĕ +Ė +ė +Ę +ę +Ě +ě +Ȅ +ȅ +Ȇ +ȇ +Ȩ +È© +Ḕ +ḕ +Ḗ +ḗ +Ḙ +ḙ +Ḛ +ḛ +Ḝ +ḝ +Ẹ +ẹ +Ẻ +ẻ +Ẽ +ẽ +Ế +ế +Ề +ề +Ể +ể +Ễ +ễ +Ệ +ệ +F +f +Ƒ +ƒ +Ḟ +ḟ +G +g +Ĝ +ĝ +Ğ +ğ +Ä  +Ä¡ +Ä¢ +Ä£ +Ɠ +É  +Ǥ +Ç¥ +Ǧ +ǧ +Ç´ +ǵ +Ḡ +ḡ +H +h +Ĥ +Ä¥ +Ħ +ħ +Ȟ +ȟ +ɦ +Ḣ +ḣ +Ḥ +ḥ +Ḧ +ḧ +Ḩ +ḩ +Ḫ +ḫ +ẖ +I +i +Ì +ì +Í +í +Î +î +Ï +ï +Ĩ +Ä© +Ī +Ä« +Ĭ +Ä­ +Ä® +į +Ä° +Ɨ +ɨ +Ǐ +ǐ +Ȉ +ȉ +Ȋ +ȋ +Ḭ +ḭ +Ḯ +ḯ +Ỉ +ỉ +Ị +ị +J +j +Ä´ +ĵ +Ç° +ʝ +K +k +Ķ +Ä· +Ƙ +ƙ +Ǩ +Ç© +Ḱ +ḱ +Ḳ +ḳ +Ḵ +ḵ +L +l +Ĺ +ĺ +Ä» +ļ +Ľ +ľ +Ä¿ +ŀ +Ł +ł +ƚ +Lj +È´ +É« +ɬ +É­ +Ḷ +ḷ +Ḹ +ḹ +Ḻ +ḻ +Ḽ +ḽ +M +m +ɱ +Ḿ +ḿ +Ṁ +ṁ +Ṃ +ṃ +N +n +Ñ +ñ +Ń +ń +Ņ +ņ +Ň +ň +Ɲ +ɲ +ƞ +È  +Nj +Ǹ +ǹ +ȵ +ɳ +Ṅ +ṅ +Ṇ +ṇ +Ṉ +ṉ +Ṋ +ṋ +O +o +Ò +ò +Ó +ó +Ô +ô +Õ +õ +Ö +ö +Ø +ø +Ō +ō +Ŏ +ŏ +Ő +ő +Ɵ +Æ  +Æ¡ +Ǒ +ǒ +Ǫ +Ç« +Ǭ +Ç­ +Ǿ +Ç¿ +Ȍ +ȍ +Ȏ +ȏ +Ȫ +È« +Ȭ +È­ +È® +ȯ +È° +ȱ +Ṍ +ṍ +Ṏ +ṏ +Ṑ +ṑ +Ṓ +ṓ +Ọ +ọ +Ỏ +ỏ +Ố +ố +Ồ +ồ +Ổ +ổ +Ỗ +ỗ +Ộ +ộ +Ớ +ớ +Ờ +ờ +Ở +ở +á»  +ỡ +Ợ +ợ +P +p +Ƥ +Æ¥ +Ṕ +ṕ +Ṗ +ṗ +Q +q +Ê  +R +r +Ŕ +ŕ +Ŗ +ŗ +Ř +ř +Ȑ +ȑ +Ȓ +ȓ +ɼ +ɽ +ɾ +Ṙ +ṙ +Ṛ +ṛ +Ṝ +ṝ +Ṟ +ṟ +S +s +Ś +ś +Ŝ +ŝ +Ş +ş +Å  +Å¡ +Ș +ș +ʂ +á¹  +ṡ +á¹¢ +á¹£ +Ṥ +á¹¥ +Ṧ +ṧ +Ṩ +ṩ +T +t +Å¢ +Å£ +Ť +Å¥ +Ŧ +ŧ +Æ« +Ƭ +Æ­ +Æ® +ʈ +Ț +ț +ȶ +Ṫ +ṫ +Ṭ +á¹­ +á¹® +ṯ +á¹° +á¹± +ẗ +U +u +Ù +ù +Ú +ú +Û +û +Ü +ü +Ũ +Å© +Ū +Å« +Ŭ +Å­ +Å® +ů +Å° +ű +Ų +ų +Ư +Æ° +Ǔ +ǔ +Ǖ +ǖ +Ǘ +ǘ +Ǚ +ǚ +Ǜ +ǜ +Ȕ +ȕ +Ȗ +ȗ +á¹² +á¹³ +á¹´ +á¹µ +Ṷ +á¹· +Ṹ +á¹¹ +Ṻ +á¹» +Ụ +ụ +Ủ +ủ +Ứ +ứ +Ừ +ừ +Ử +á»­ +á»® +ữ +á»° +á»± +V +v +Ʋ +ʋ +á¹¼ +á¹½ +á¹¾ +ṿ +W +w +Å´ +ŵ +Ẁ +ẁ +Ẃ +ẃ +Ẅ +ẅ +Ẇ +ẇ +Ẉ +ẉ +ẘ +X +x +Ẋ +ẋ +Ẍ +ẍ +Y +y +Ý +ý +ÿ +Ÿ +Ŷ +Å· +Ƴ +Æ´ +Ȳ +ȳ +Ẏ +ẏ +ẙ +Ỳ +ỳ +á»´ +ỵ +Ỷ +á»· +Ỹ +ỹ +Z +z +Ź +ź +Å» +ż +Ž +ž +Ƶ +ƶ +Ȥ +È¥ +ʐ +ʑ +Ẑ +ẑ +Ẓ +ẓ +Ẕ +ẕ + + diff --git a/doc/help/xslt/common/titles.xsl b/doc/help/xslt/common/titles.xsl new file mode 100644 index 00000000..84fcf791 --- /dev/null +++ b/doc/help/xslt/common/titles.xsl @@ -0,0 +1,805 @@ + + + + + + + + + + +Provides access to element titles + +Processing an element in the +title.markup mode produces the +title of the element. This does not include the label. + + + + + + + + + + + + + + + + + + + + + + + Request for title of element with no title: + + + + (id=" + + ") + + + (xml:id=" + + ") + + + + + ???TITLE??? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + REFENTRY WITHOUT TITLE??? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ERROR: glossdiv missing its required title + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Note + Important + Caution + Warning + Tip + + + + + + + + + + Question + + + + + Answer + + + + + Question + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Endterm points to nonexistent ID: + + + ??? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + XRef to nonexistent id: + + + + ??? + + + + + + + + + + Endterm points to nonexistent ID: + + + ??? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/common/tl.xml b/doc/help/xslt/common/tl.xml new file mode 100644 index 00000000..b081d8e0 --- /dev/null +++ b/doc/help/xslt/common/tl.xml @@ -0,0 +1,1229 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Symbols +A +a +À +à +Á +á + +â +à +ã +Ä +ä +Å +Ã¥ +Ā +ā +Ă +ă +Ą +ą +Ǎ +ǎ +Ǟ +ǟ +Ç  +Ç¡ +Ǻ +Ç» +Ȁ +ȁ +Ȃ +ȃ +Ȧ +ȧ +Ḁ +ḁ +ẚ +Ạ +ạ +Ả +ả +Ấ +ấ +Ầ +ầ +Ẩ +ẩ +Ẫ +ẫ +Ậ +ậ +Ắ +ắ +Ằ +ằ +Ẳ +ẳ +Ẵ +ẵ +Ặ +ặ +B +b +ƀ +Ɓ +ɓ +Ƃ +ƃ +Ḃ +ḃ +Ḅ +ḅ +Ḇ +ḇ +C +c +Ç +ç +Ć +ć +Ĉ +ĉ +Ċ +ċ +Č +č +Ƈ +ƈ +ɕ +Ḉ +ḉ +D +d +Ď +ď +Đ +đ +Ɗ +ɗ +Ƌ +ƌ +Dž +Dz +È¡ +ɖ +Ḋ +ḋ +Ḍ +ḍ +Ḏ +ḏ +Ḑ +ḑ +Ḓ +ḓ +E +e +È +è +É +é +Ê +ê +Ë +ë +Ē +ē +Ĕ +ĕ +Ė +ė +Ę +ę +Ě +ě +Ȅ +ȅ +Ȇ +ȇ +Ȩ +È© +Ḕ +ḕ +Ḗ +ḗ +Ḙ +ḙ +Ḛ +ḛ +Ḝ +ḝ +Ẹ +ẹ +Ẻ +ẻ +Ẽ +ẽ +Ế +ế +Ề +ề +Ể +ể +Ễ +ễ +Ệ +ệ +F +f +Ƒ +ƒ +Ḟ +ḟ +G +g +Ĝ +ĝ +Ğ +ğ +Ä  +Ä¡ +Ä¢ +Ä£ +Ɠ +É  +Ǥ +Ç¥ +Ǧ +ǧ +Ç´ +ǵ +Ḡ +ḡ +H +h +Ĥ +Ä¥ +Ħ +ħ +Ȟ +ȟ +ɦ +Ḣ +ḣ +Ḥ +ḥ +Ḧ +ḧ +Ḩ +ḩ +Ḫ +ḫ +ẖ +I +i +Ì +ì +Í +í +Î +î +Ï +ï +Ĩ +Ä© +Ī +Ä« +Ĭ +Ä­ +Ä® +į +Ä° +Ɨ +ɨ +Ǐ +ǐ +Ȉ +ȉ +Ȋ +ȋ +Ḭ +ḭ +Ḯ +ḯ +Ỉ +ỉ +Ị +ị +J +j +Ä´ +ĵ +Ç° +ʝ +K +k +Ķ +Ä· +Ƙ +ƙ +Ǩ +Ç© +Ḱ +ḱ +Ḳ +ḳ +Ḵ +ḵ +L +l +Ĺ +ĺ +Ä» +ļ +Ľ +ľ +Ä¿ +ŀ +Ł +ł +ƚ +Lj +È´ +É« +ɬ +É­ +Ḷ +ḷ +Ḹ +ḹ +Ḻ +ḻ +Ḽ +ḽ +M +m +ɱ +Ḿ +ḿ +Ṁ +ṁ +Ṃ +ṃ +N +n +Ñ +ñ +Ń +ń +Ņ +ņ +Ň +ň +Ɲ +ɲ +ƞ +È  +Nj +Ǹ +ǹ +ȵ +ɳ +Ṅ +ṅ +Ṇ +ṇ +Ṉ +ṉ +Ṋ +ṋ +O +o +Ò +ò +Ó +ó +Ô +ô +Õ +õ +Ö +ö +Ø +ø +Ō +ō +Ŏ +ŏ +Ő +ő +Ɵ +Æ  +Æ¡ +Ǒ +ǒ +Ǫ +Ç« +Ǭ +Ç­ +Ǿ +Ç¿ +Ȍ +ȍ +Ȏ +ȏ +Ȫ +È« +Ȭ +È­ +È® +ȯ +È° +ȱ +Ṍ +ṍ +Ṏ +ṏ +Ṑ +ṑ +Ṓ +ṓ +Ọ +ọ +Ỏ +ỏ +Ố +ố +Ồ +ồ +Ổ +ổ +Ỗ +ỗ +Ộ +ộ +Ớ +ớ +Ờ +ờ +Ở +ở +á»  +ỡ +Ợ +ợ +P +p +Ƥ +Æ¥ +Ṕ +ṕ +Ṗ +ṗ +Q +q +Ê  +R +r +Ŕ +ŕ +Ŗ +ŗ +Ř +ř +Ȑ +ȑ +Ȓ +ȓ +ɼ +ɽ +ɾ +Ṙ +ṙ +Ṛ +ṛ +Ṝ +ṝ +Ṟ +ṟ +S +s +Ś +ś +Ŝ +ŝ +Ş +ş +Å  +Å¡ +Ș +ș +ʂ +á¹  +ṡ +á¹¢ +á¹£ +Ṥ +á¹¥ +Ṧ +ṧ +Ṩ +ṩ +T +t +Å¢ +Å£ +Ť +Å¥ +Ŧ +ŧ +Æ« +Ƭ +Æ­ +Æ® +ʈ +Ț +ț +ȶ +Ṫ +ṫ +Ṭ +á¹­ +á¹® +ṯ +á¹° +á¹± +ẗ +U +u +Ù +ù +Ú +ú +Û +û +Ü +ü +Ũ +Å© +Ū +Å« +Ŭ +Å­ +Å® +ů +Å° +ű +Ų +ų +Ư +Æ° +Ǔ +ǔ +Ǖ +ǖ +Ǘ +ǘ +Ǚ +ǚ +Ǜ +ǜ +Ȕ +ȕ +Ȗ +ȗ +á¹² +á¹³ +á¹´ +á¹µ +Ṷ +á¹· +Ṹ +á¹¹ +Ṻ +á¹» +Ụ +ụ +Ủ +ủ +Ứ +ứ +Ừ +ừ +Ử +á»­ +á»® +ữ +á»° +á»± +V +v +Ʋ +ʋ +á¹¼ +á¹½ +á¹¾ +ṿ +W +w +Å´ +ŵ +Ẁ +ẁ +Ẃ +ẃ +Ẅ +ẅ +Ẇ +ẇ +Ẉ +ẉ +ẘ +X +x +Ẋ +ẋ +Ẍ +ẍ +Y +y +Ý +ý +ÿ +Ÿ +Ŷ +Å· +Ƴ +Æ´ +Ȳ +ȳ +Ẏ +ẏ +ẙ +Ỳ +ỳ +á»´ +ỵ +Ỷ +á»· +Ỹ +ỹ +Z +z +Ź +ź +Å» +ż +Ž +ž +Ƶ +ƶ +Ȥ +È¥ +ʐ +ʑ +Ẑ +ẑ +Ẓ +ẓ +Ẕ +ẕ + + diff --git a/doc/help/xslt/common/tr.xml b/doc/help/xslt/common/tr.xml new file mode 100644 index 00000000..652911d8 --- /dev/null +++ b/doc/help/xslt/common/tr.xml @@ -0,0 +1,666 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Semboller +A +a +B +b +C +c +Ç +ç +D +d +E +e +F +f +G +g +Ğ +ğ +H +h +I +ı +Ä° +i +J +j +K +k +L +l +M +m +N +n +O +o +Ö +ö +P +p +R +r +S +s +Ş +ş +T +t +U +u +Ü +ü +V +v +Y +y +Z +z + + diff --git a/doc/help/xslt/common/uk.xml b/doc/help/xslt/common/uk.xml new file mode 100644 index 00000000..4caf73f9 --- /dev/null +++ b/doc/help/xslt/common/uk.xml @@ -0,0 +1,726 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +A +a +B +b +C +c +D +d +E +e +F +f +G +g +H +h +I +i +J +j +K +k +L +l +M +m +N +n +O +o +P +p +Q +q +R +r +S +s +T +t +U +u +V +v +W +w +X +x +Y +y +Z +z +А +а +Б +б +В +в +Г +г +Ґ +ґ +Д +д +Е +е +Є +є +Ж +ж +З +з +И +и +І +і +Ї +ї +Й +й +К +к +Л +л +М +м +Н +н +О +о +П +п +Р +р +С +с +Т +т +У +у +Ф +ф +Ð¥ +х +Ц +ц +Ч +ч +Ш +ш +Щ +щ +Ь +ь +Ю +ю +Я +я + + diff --git a/doc/help/xslt/common/utility.xml b/doc/help/xslt/common/utility.xml new file mode 100644 index 00000000..d9cbe3ca --- /dev/null +++ b/doc/help/xslt/common/utility.xml @@ -0,0 +1,259 @@ + + + + + Common » Utility Template Reference + + $Id: utility.xsl 7101 2007-07-20 15:32:12Z xmldoc $ + + + + + Introduction + +This is technical reference documentation for the + miscellaneous utility templates in the DocBook XSL + Stylesheets. + + + +These templates are defined in a separate file from the set + of “common” templates because some of the common templates + reference DocBook XSL stylesheet parameters, requiring the + entire set of parameters to be imported/included in any + stylesheet that imports/includes the common templates. + + +The utility templates don’t import or include any DocBook + XSL stylesheet parameters, so the utility templates can be used + without importing the whole set of parameters. + + + +This is not intended to be user documentation. It is + provided for developers writing customization layers for the + stylesheets. + + + + + +log.message +Logs/emits formatted notes and warnings + + +<xsl:template name="log.message"> +<xsl:param name="level"/> +<xsl:param name="source"/> +<xsl:param name="context-desc"/> +<xsl:param name="context-desc-field-length">12</xsl:param> +<xsl:param name="context-desc-padded"> + <xsl:if test="not($context-desc = '')"> + <xsl:call-template name="pad-string"> + <xsl:with-param name="leftRight">right</xsl:with-param> + <xsl:with-param name="padVar" select="substring($context-desc, 1, $context-desc-field-length)"/> + <xsl:with-param name="length" select="$context-desc-field-length"/> + </xsl:call-template> + </xsl:if> + </xsl:param> +<xsl:param name="message"/> +<xsl:param name="message-field-length" select="45"/> +<xsl:param name="message-padded"> + <xsl:variable name="spaces-for-blank-level"> + <!-- * if the level field is blank, we'll need to pad out --> + <!-- * the message field with spaces to compensate --> + <xsl:choose> + <xsl:when test="$level = ''"> + <xsl:value-of select="4 + 2"/> + <!-- * 4 = hard-coded length of comment text ("Note" or "Warn") --> + <!-- * + 2 = length of colon-plus-space separator ": " --> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="0"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:variable name="spaces-for-blank-context-desc"> + <!-- * if the context-description field is blank, we'll need --> + <!-- * to pad out the message field with spaces to compensate --> + <xsl:choose> + <xsl:when test="$context-desc = ''"> + <xsl:value-of select="$context-desc-field-length + 2"/> + <!-- * + 2 = length of colon-plus-space separator ": " --> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="0"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:variable name="extra-spaces" select="$spaces-for-blank-level + $spaces-for-blank-context-desc"/> + <xsl:call-template name="pad-string"> + <xsl:with-param name="leftRight">right</xsl:with-param> + <xsl:with-param name="padVar" select="substring($message, 1, ($message-field-length + $extra-spaces))"/> + <xsl:with-param name="length" select="$message-field-length + $extra-spaces"/> + </xsl:call-template> + </xsl:param> + ... +</xsl:template> + +Description + +The log.message template is a utility + template for logging/emitting formatted messages – that is, + notes and warnings, along with a given log “level” and an + identifier for the “source” that the message relates to. + + Parameters + + + level + + +Text to log/emit in the message-level field to + indicate the message level + (Note or + Warning) + + + + source + + +Text to log/emit in the source field to identify the + “source” to which the notification/warning relates. + This can be any arbitrary string, but because the + message lacks line and column numbers to identify the + exact part of the source document to which it + relates, the intention is that the value you pass + into the source parameter should + give the user some way to identify the portion of + their source document on which to take potentially + take action in response to the log message (for + example, to edit, change, or add content). + + +So the source value should be, + for example, an ID, book/chapter/article title, title + of some formal object, or even a string giving an + XPath expression. + + + + context-desc + + +Text to log/emit in the context-description field to + describe the context for the message. + + + + context-desc-field-length + + +Specifies length of the context-description field + (in characters); default is 12 + + +If the text specified by the + context-desc parameter is longer + than the number of characters specified in + context-desc-field-length, it is + truncated to context-desc-field-length + (12 characters by default). + + +If the specified text is shorter than + context-desc-field-length, + it is right-padded out to + context-desc-field-length (12 by + default). + + +If no value has been specified for the + context-desc parameter, the field is + left empty and the text of the log message begins with + the value of the message + parameter. + + + + message + + +Text to log/emit in the actual message field + + + + message-field-length + + +Specifies length of the message + field (in characters); default is 45 + + + + + + Returns + +Outputs a message (generally, to standard error). + + + + +get.doc.title +Gets a title from the current document + + +<xsl:template name="get.doc.title"/> + +Description + +The get.doc.title template is a + utility template for returning the first title found in the + current document. + + Returns + +Returns a string containing some identifying title for the + current document . + + + + +pad-string +Right-pads or left-pads a string out to a certain length + + +<xsl:template name="pad-string"> +<xsl:param name="padChar" select="' '"/> +<xsl:param name="leftRight">left</xsl:param> +<xsl:param name="padVar"/> +<xsl:param name="length"/> + ... +</xsl:template> + +Description + +This function takes string padVar and + pads it out in the direction rightLeft to + the string-length length, using string + padChar (a space character by default) as + the padding string (note that padChar can + be a string; it is not limited to just being a single + character). + + + +This function began as a copy of Nate Austin's + prepend-pad function in the Padding + Content section of Dave Pawson's XSLT + FAQ. + + + Returns + +Returns a (padded) string. + + + diff --git a/doc/help/xslt/common/utility.xsl b/doc/help/xslt/common/utility.xsl new file mode 100644 index 00000000..37092b7c --- /dev/null +++ b/doc/help/xslt/common/utility.xsl @@ -0,0 +1,290 @@ + + + + + + + Common » Utility Template Reference + + $Id: utility.xsl 7101 2007-07-20 15:32:12Z xmldoc $ + + + + + Introduction + This is technical reference documentation for the + miscellaneous utility templates in the DocBook XSL + Stylesheets. + + These templates are defined in a separate file from the set + of “common” templates because some of the common templates + reference DocBook XSL stylesheet parameters, requiring the + entire set of parameters to be imported/included in any + stylesheet that imports/includes the common templates. + The utility templates don’t import or include any DocBook + XSL stylesheet parameters, so the utility templates can be used + without importing the whole set of parameters. + + This is not intended to be user documentation. It is + provided for developers writing customization layers for the + stylesheets. + + + + + + + Logs/emits formatted notes and warnings + + + The log.message template is a utility + template for logging/emitting formatted messages â€“ that is, + notes and warnings, along with a given log “level” and an + identifier for the “source” that the message relates to. + + + + + level + + Text to log/emit in the message-level field to + indicate the message level + (Note or + Warning) + + + source + + Text to log/emit in the source field to identify the + “source” to which the notification/warning relates. + This can be any arbitrary string, but because the + message lacks line and column numbers to identify the + exact part of the source document to which it + relates, the intention is that the value you pass + into the source parameter should + give the user some way to identify the portion of + their source document on which to take potentially + take action in response to the log message (for + example, to edit, change, or add content). + So the source value should be, + for example, an ID, book/chapter/article title, title + of some formal object, or even a string giving an + XPath expression. + + + context-desc + + Text to log/emit in the context-description field to + describe the context for the message. + + + context-desc-field-length + + Specifies length of the context-description field + (in characters); default is 12 + If the text specified by the + context-desc parameter is longer + than the number of characters specified in + context-desc-field-length, it is + truncated to context-desc-field-length + (12 characters by default). + If the specified text is shorter than + context-desc-field-length, + it is right-padded out to + context-desc-field-length (12 by + default). + If no value has been specified for the + context-desc parameter, the field is + left empty and the text of the log message begins with + the value of the message + parameter. + + + message + + Text to log/emit in the actual message field + + + message-field-length + + Specifies length of the message + field (in characters); default is 45 + + + + + + Outputs a message (generally, to standard error). + + + + + + 12 + + + + right + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + right + + + + + + + + + : + + + + : + + + + + + + + + + Gets a title from the current document + + The get.doc.title template is a + utility template for returning the first title found in the + current document. + + + Returns a string containing some identifying title for the + current document . + + + + + + + + + + + + + + + Right-pads or left-pads a string out to a certain length + + This function takes string padVar and + pads it out in the direction rightLeft to + the string-length length, using string + padChar (a space character by default) as + the padding string (note that padChar can + be a string; it is not limited to just being a single + character). + + This function began as a copy of Nate Austin's + prepend-pad function in the Padding + Content section of Dave Pawson's XSLT + FAQ. + + + + Returns a (padded) string. + + + + + + left + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/common/vi.xml b/doc/help/xslt/common/vi.xml new file mode 100644 index 00000000..682c4676 --- /dev/null +++ b/doc/help/xslt/common/vi.xml @@ -0,0 +1,1229 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Symbols +A +a +À +à +Á +á + +â +à +ã +Ä +ä +Å +Ã¥ +Ā +ā +Ă +ă +Ą +ą +Ǎ +ǎ +Ǟ +ǟ +Ç  +Ç¡ +Ǻ +Ç» +Ȁ +ȁ +Ȃ +ȃ +Ȧ +ȧ +Ḁ +ḁ +ẚ +Ạ +ạ +Ả +ả +Ấ +ấ +Ầ +ầ +Ẩ +ẩ +Ẫ +ẫ +Ậ +ậ +Ắ +ắ +Ằ +ằ +Ẳ +ẳ +Ẵ +ẵ +Ặ +ặ +B +b +ƀ +Ɓ +ɓ +Ƃ +ƃ +Ḃ +ḃ +Ḅ +ḅ +Ḇ +ḇ +C +c +Ç +ç +Ć +ć +Ĉ +ĉ +Ċ +ċ +Č +č +Ƈ +ƈ +ɕ +Ḉ +ḉ +D +d +Ď +ď +Đ +đ +Ɗ +ɗ +Ƌ +ƌ +Dž +Dz +È¡ +ɖ +Ḋ +ḋ +Ḍ +ḍ +Ḏ +ḏ +Ḑ +ḑ +Ḓ +ḓ +E +e +È +è +É +é +Ê +ê +Ë +ë +Ē +ē +Ĕ +ĕ +Ė +ė +Ę +ę +Ě +ě +Ȅ +ȅ +Ȇ +ȇ +Ȩ +È© +Ḕ +ḕ +Ḗ +ḗ +Ḙ +ḙ +Ḛ +ḛ +Ḝ +ḝ +Ẹ +ẹ +Ẻ +ẻ +Ẽ +ẽ +Ế +ế +Ề +ề +Ể +ể +Ễ +ễ +Ệ +ệ +F +f +Ƒ +ƒ +Ḟ +ḟ +G +g +Ĝ +ĝ +Ğ +ğ +Ä  +Ä¡ +Ä¢ +Ä£ +Ɠ +É  +Ǥ +Ç¥ +Ǧ +ǧ +Ç´ +ǵ +Ḡ +ḡ +H +h +Ĥ +Ä¥ +Ħ +ħ +Ȟ +ȟ +ɦ +Ḣ +ḣ +Ḥ +ḥ +Ḧ +ḧ +Ḩ +ḩ +Ḫ +ḫ +ẖ +I +i +Ì +ì +Í +í +Î +î +Ï +ï +Ĩ +Ä© +Ī +Ä« +Ĭ +Ä­ +Ä® +į +Ä° +Ɨ +ɨ +Ǐ +ǐ +Ȉ +ȉ +Ȋ +ȋ +Ḭ +ḭ +Ḯ +ḯ +Ỉ +ỉ +Ị +ị +J +j +Ä´ +ĵ +Ç° +ʝ +K +k +Ķ +Ä· +Ƙ +ƙ +Ǩ +Ç© +Ḱ +ḱ +Ḳ +ḳ +Ḵ +ḵ +L +l +Ĺ +ĺ +Ä» +ļ +Ľ +ľ +Ä¿ +ŀ +Ł +ł +ƚ +Lj +È´ +É« +ɬ +É­ +Ḷ +ḷ +Ḹ +ḹ +Ḻ +ḻ +Ḽ +ḽ +M +m +ɱ +Ḿ +ḿ +Ṁ +ṁ +Ṃ +ṃ +N +n +Ñ +ñ +Ń +ń +Ņ +ņ +Ň +ň +Ɲ +ɲ +ƞ +È  +Nj +Ǹ +ǹ +ȵ +ɳ +Ṅ +ṅ +Ṇ +ṇ +Ṉ +ṉ +Ṋ +ṋ +O +o +Ò +ò +Ó +ó +Ô +ô +Õ +õ +Ö +ö +Ø +ø +Ō +ō +Ŏ +ŏ +Ő +ő +Ɵ +Æ  +Æ¡ +Ǒ +ǒ +Ǫ +Ç« +Ǭ +Ç­ +Ǿ +Ç¿ +Ȍ +ȍ +Ȏ +ȏ +Ȫ +È« +Ȭ +È­ +È® +ȯ +È° +ȱ +Ṍ +ṍ +Ṏ +ṏ +Ṑ +ṑ +Ṓ +ṓ +Ọ +ọ +Ỏ +ỏ +Ố +ố +Ồ +ồ +Ổ +ổ +Ỗ +ỗ +Ộ +ộ +Ớ +ớ +Ờ +ờ +Ở +ở +á»  +ỡ +Ợ +ợ +P +p +Ƥ +Æ¥ +Ṕ +ṕ +Ṗ +ṗ +Q +q +Ê  +R +r +Ŕ +ŕ +Ŗ +ŗ +Ř +ř +Ȑ +ȑ +Ȓ +ȓ +ɼ +ɽ +ɾ +Ṙ +ṙ +Ṛ +ṛ +Ṝ +ṝ +Ṟ +ṟ +S +s +Ś +ś +Ŝ +ŝ +Ş +ş +Å  +Å¡ +Ș +ș +ʂ +á¹  +ṡ +á¹¢ +á¹£ +Ṥ +á¹¥ +Ṧ +ṧ +Ṩ +ṩ +T +t +Å¢ +Å£ +Ť +Å¥ +Ŧ +ŧ +Æ« +Ƭ +Æ­ +Æ® +ʈ +Ț +ț +ȶ +Ṫ +ṫ +Ṭ +á¹­ +á¹® +ṯ +á¹° +á¹± +ẗ +U +u +Ù +ù +Ú +ú +Û +û +Ü +ü +Ũ +Å© +Ū +Å« +Ŭ +Å­ +Å® +ů +Å° +ű +Ų +ų +Ư +Æ° +Ǔ +ǔ +Ǖ +ǖ +Ǘ +ǘ +Ǚ +ǚ +Ǜ +ǜ +Ȕ +ȕ +Ȗ +ȗ +á¹² +á¹³ +á¹´ +á¹µ +Ṷ +á¹· +Ṹ +á¹¹ +Ṻ +á¹» +Ụ +ụ +Ủ +ủ +Ứ +ứ +Ừ +ừ +Ử +á»­ +á»® +ữ +á»° +á»± +V +v +Ʋ +ʋ +á¹¼ +á¹½ +á¹¾ +ṿ +W +w +Å´ +ŵ +Ẁ +ẁ +Ẃ +ẃ +Ẅ +ẅ +Ẇ +ẇ +Ẉ +ẉ +ẘ +X +x +Ẋ +ẋ +Ẍ +ẍ +Y +y +Ý +ý +ÿ +Ÿ +Ŷ +Å· +Ƴ +Æ´ +Ȳ +ȳ +Ẏ +ẏ +ẙ +Ỳ +ỳ +á»´ +ỵ +Ỷ +á»· +Ỹ +ỹ +Z +z +Ź +ź +Å» +ż +Ž +ž +Ƶ +ƶ +Ȥ +È¥ +ʐ +ʑ +Ẑ +ẑ +Ẓ +ẓ +Ẕ +ẕ + + diff --git a/doc/help/xslt/common/xh.xml b/doc/help/xslt/common/xh.xml new file mode 100644 index 00000000..db22550c --- /dev/null +++ b/doc/help/xslt/common/xh.xml @@ -0,0 +1,1229 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Symbols +A +a +À +à +Á +á + +â +à +ã +Ä +ä +Å +Ã¥ +Ā +ā +Ă +ă +Ą +ą +Ǎ +ǎ +Ǟ +ǟ +Ç  +Ç¡ +Ǻ +Ç» +Ȁ +ȁ +Ȃ +ȃ +Ȧ +ȧ +Ḁ +ḁ +ẚ +Ạ +ạ +Ả +ả +Ấ +ấ +Ầ +ầ +Ẩ +ẩ +Ẫ +ẫ +Ậ +ậ +Ắ +ắ +Ằ +ằ +Ẳ +ẳ +Ẵ +ẵ +Ặ +ặ +B +b +ƀ +Ɓ +ɓ +Ƃ +ƃ +Ḃ +ḃ +Ḅ +ḅ +Ḇ +ḇ +C +c +Ç +ç +Ć +ć +Ĉ +ĉ +Ċ +ċ +Č +č +Ƈ +ƈ +ɕ +Ḉ +ḉ +D +d +Ď +ď +Đ +đ +Ɗ +ɗ +Ƌ +ƌ +Dž +Dz +È¡ +ɖ +Ḋ +ḋ +Ḍ +ḍ +Ḏ +ḏ +Ḑ +ḑ +Ḓ +ḓ +E +e +È +è +É +é +Ê +ê +Ë +ë +Ē +ē +Ĕ +ĕ +Ė +ė +Ę +ę +Ě +ě +Ȅ +ȅ +Ȇ +ȇ +Ȩ +È© +Ḕ +ḕ +Ḗ +ḗ +Ḙ +ḙ +Ḛ +ḛ +Ḝ +ḝ +Ẹ +ẹ +Ẻ +ẻ +Ẽ +ẽ +Ế +ế +Ề +ề +Ể +ể +Ễ +ễ +Ệ +ệ +F +f +Ƒ +ƒ +Ḟ +ḟ +G +g +Ĝ +ĝ +Ğ +ğ +Ä  +Ä¡ +Ä¢ +Ä£ +Ɠ +É  +Ǥ +Ç¥ +Ǧ +ǧ +Ç´ +ǵ +Ḡ +ḡ +H +h +Ĥ +Ä¥ +Ħ +ħ +Ȟ +ȟ +ɦ +Ḣ +ḣ +Ḥ +ḥ +Ḧ +ḧ +Ḩ +ḩ +Ḫ +ḫ +ẖ +I +i +Ì +ì +Í +í +Î +î +Ï +ï +Ĩ +Ä© +Ī +Ä« +Ĭ +Ä­ +Ä® +į +Ä° +Ɨ +ɨ +Ǐ +ǐ +Ȉ +ȉ +Ȋ +ȋ +Ḭ +ḭ +Ḯ +ḯ +Ỉ +ỉ +Ị +ị +J +j +Ä´ +ĵ +Ç° +ʝ +K +k +Ķ +Ä· +Ƙ +ƙ +Ǩ +Ç© +Ḱ +ḱ +Ḳ +ḳ +Ḵ +ḵ +L +l +Ĺ +ĺ +Ä» +ļ +Ľ +ľ +Ä¿ +ŀ +Ł +ł +ƚ +Lj +È´ +É« +ɬ +É­ +Ḷ +ḷ +Ḹ +ḹ +Ḻ +ḻ +Ḽ +ḽ +M +m +ɱ +Ḿ +ḿ +Ṁ +ṁ +Ṃ +ṃ +N +n +Ñ +ñ +Ń +ń +Ņ +ņ +Ň +ň +Ɲ +ɲ +ƞ +È  +Nj +Ǹ +ǹ +ȵ +ɳ +Ṅ +ṅ +Ṇ +ṇ +Ṉ +ṉ +Ṋ +ṋ +O +o +Ò +ò +Ó +ó +Ô +ô +Õ +õ +Ö +ö +Ø +ø +Ō +ō +Ŏ +ŏ +Ő +ő +Ɵ +Æ  +Æ¡ +Ǒ +ǒ +Ǫ +Ç« +Ǭ +Ç­ +Ǿ +Ç¿ +Ȍ +ȍ +Ȏ +ȏ +Ȫ +È« +Ȭ +È­ +È® +ȯ +È° +ȱ +Ṍ +ṍ +Ṏ +ṏ +Ṑ +ṑ +Ṓ +ṓ +Ọ +ọ +Ỏ +ỏ +Ố +ố +Ồ +ồ +Ổ +ổ +Ỗ +ỗ +Ộ +ộ +Ớ +ớ +Ờ +ờ +Ở +ở +á»  +ỡ +Ợ +ợ +P +p +Ƥ +Æ¥ +Ṕ +ṕ +Ṗ +ṗ +Q +q +Ê  +R +r +Ŕ +ŕ +Ŗ +ŗ +Ř +ř +Ȑ +ȑ +Ȓ +ȓ +ɼ +ɽ +ɾ +Ṙ +ṙ +Ṛ +ṛ +Ṝ +ṝ +Ṟ +ṟ +S +s +Ś +ś +Ŝ +ŝ +Ş +ş +Å  +Å¡ +Ș +ș +ʂ +á¹  +ṡ +á¹¢ +á¹£ +Ṥ +á¹¥ +Ṧ +ṧ +Ṩ +ṩ +T +t +Å¢ +Å£ +Ť +Å¥ +Ŧ +ŧ +Æ« +Ƭ +Æ­ +Æ® +ʈ +Ț +ț +ȶ +Ṫ +ṫ +Ṭ +á¹­ +á¹® +ṯ +á¹° +á¹± +ẗ +U +u +Ù +ù +Ú +ú +Û +û +Ü +ü +Ũ +Å© +Ū +Å« +Ŭ +Å­ +Å® +ů +Å° +ű +Ų +ų +Ư +Æ° +Ǔ +ǔ +Ǖ +ǖ +Ǘ +ǘ +Ǚ +ǚ +Ǜ +ǜ +Ȕ +ȕ +Ȗ +ȗ +á¹² +á¹³ +á¹´ +á¹µ +Ṷ +á¹· +Ṹ +á¹¹ +Ṻ +á¹» +Ụ +ụ +Ủ +ủ +Ứ +ứ +Ừ +ừ +Ử +á»­ +á»® +ữ +á»° +á»± +V +v +Ʋ +ʋ +á¹¼ +á¹½ +á¹¾ +ṿ +W +w +Å´ +ŵ +Ẁ +ẁ +Ẃ +ẃ +Ẅ +ẅ +Ẇ +ẇ +Ẉ +ẉ +ẘ +X +x +Ẋ +ẋ +Ẍ +ẍ +Y +y +Ý +ý +ÿ +Ÿ +Ŷ +Å· +Ƴ +Æ´ +Ȳ +ȳ +Ẏ +ẏ +ẙ +Ỳ +ỳ +á»´ +ỵ +Ỷ +á»· +Ỹ +ỹ +Z +z +Ź +ź +Å» +ż +Ž +ž +Ƶ +ƶ +Ȥ +È¥ +ʐ +ʑ +Ẑ +ẑ +Ẓ +ẓ +Ẕ +ẕ + + diff --git a/doc/help/xslt/common/zh.xml b/doc/help/xslt/common/zh.xml new file mode 100644 index 00000000..d976ed00 --- /dev/null +++ b/doc/help/xslt/common/zh.xml @@ -0,0 +1,660 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +符号 +A +a +B +b +C +c +D +d +E +e +F +f +G +g +H +h +I +i +J +j +K +k +L +l +M +m +N +n +O +o +P +p +Q +q +R +r +S +s +T +t +U +u +V +v +W +w +X +x +Y +y +Z +z + + diff --git a/doc/help/xslt/common/zh_cn.xml b/doc/help/xslt/common/zh_cn.xml new file mode 100644 index 00000000..f42774ce --- /dev/null +++ b/doc/help/xslt/common/zh_cn.xml @@ -0,0 +1,660 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +符号 +A +a +B +b +C +c +D +d +E +e +F +f +G +g +H +h +I +i +J +j +K +k +L +l +M +m +N +n +O +o +P +p +Q +q +R +r +S +s +T +t +U +u +V +v +W +w +X +x +Y +y +Z +z + + diff --git a/doc/help/xslt/common/zh_tw.xml b/doc/help/xslt/common/zh_tw.xml new file mode 100644 index 00000000..49cb5b60 --- /dev/null +++ b/doc/help/xslt/common/zh_tw.xml @@ -0,0 +1,660 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +符號 +A +a +B +b +C +c +D +d +E +e +F +f +G +g +H +h +I +i +J +j +K +k +L +l +M +m +N +n +O +o +P +p +Q +q +R +r +S +s +T +t +U +u +V +v +W +w +X +x +Y +y +Z +z + + diff --git a/doc/help/xslt/docsrc/authors.xml b/doc/help/xslt/docsrc/authors.xml new file mode 100644 index 00000000..ea4bf024 --- /dev/null +++ b/doc/help/xslt/docsrc/authors.xml @@ -0,0 +1,10 @@ + + + + WalshNorman + + + + The DocBook Project + + diff --git a/doc/help/xslt/docsrc/copyright.xml b/doc/help/xslt/docsrc/copyright.xml new file mode 100644 index 00000000..505f7f8e --- /dev/null +++ b/doc/help/xslt/docsrc/copyright.xml @@ -0,0 +1,18 @@ + + + 1999-2007 + Norman Walsh + + + 2003 + Jiří Kosek + + + 2004-2007 + Steve Ball + + + 2001-2007 + The DocBook Project + + diff --git a/doc/help/xslt/docsrc/license.xml b/doc/help/xslt/docsrc/license.xml new file mode 100644 index 00000000..c265ce8e --- /dev/null +++ b/doc/help/xslt/docsrc/license.xml @@ -0,0 +1,23 @@ +License +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation files +(the Software), to deal in the Software without +restriction, including without limitation the rights to use, copy, +modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished +to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. +Except as contained in this notice, the names of individuals +credited with contribution to this software shall not be used in +advertising or otherwise to promote the sale, use or other dealings in +this Software without prior written authorization from the individuals +in question. +Any stylesheet derived from this Software that is publically +distributed will be identified with a different name and the version +strings in any derived Software will be changed so that no possibility +of confusion between the derived package and this Software will +exist. + diff --git a/doc/help/xslt/docsrc/page.png b/doc/help/xslt/docsrc/page.png new file mode 100644 index 0000000000000000000000000000000000000000..9c15d8883d9d6e2b5be3be69470fb443f78a641a GIT binary patch literal 17578 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 JK6v`-{{khUc#Qx6 literal 0 HcmV?d00001 diff --git a/doc/help/xslt/docsrc/reference.css b/doc/help/xslt/docsrc/reference.css new file mode 100644 index 00000000..9e7e5113 --- /dev/null +++ b/doc/help/xslt/docsrc/reference.css @@ -0,0 +1,79 @@ +/* reference.css, a stylesheet for reference documentation + * generated by the DocBook XSL Stylesheets */ +/* $Id: reference.css 8234 2009-02-09 12:10:48Z xmldoc $ */ + +div.legalnotice { + font-size: 80%; +} + +div.note, div.tip, div.warning { + margin-left: 5%; + margin-right: 10%; + padding: 5px; +} + +div.note, div.tip { + border-left: solid #d5dee3 20px; + border-right: solid #d5dee3 20px; +} + +div.note, div.tip { + border-left: solid palegreen 20px; + border-right: solid palegreen 20px; +} + +div.warning { + border-left: solid yellow 20px; + border-right: solid yellow 20px; +} + +div.note p, div.tip p, div.warning p { + margin-top: 0px; + margin-bottom: 4px; +} + +div.note h3, div.tip h3, div.warning h3 { + margin-top: 0; +} + +div.informalexample { + background-color: #d5dee3; + border-top-width: 2px; + border-top-style: double; + border-top-color: #d3d3d3; + border-bottom-width: 2px; + border-bottom-style: double; + border-bottom-color: #d3d3d3; + padding: 4px; + margin: 0em; + margin-left: 2em; +} + +pre.programlisting, pre.synopsis { + whitespace: pre; + font-family: monospace; + background-color: #d5dee3; + border-top-width: 1px; + border-top-style: single; + border-top-color: #d3d3d3; + border-bottom-width: 1px; + border-bottom-style: single; + border-bottom-color: #d3d3d3; + padding: 4px; + margin: 0em; + margin-top: 6px; + margin-bottom: 6px; +} + +div.informalexample pre { + whitespace: pre; + font-family: monospace; + border-top-width: 0px; + border-bottom-width: 0px; + padding: 0px; +} + +/* Parameter and PI titles */ + div.refnamediv h2 { + font-size: 2em; +} diff --git a/doc/help/xslt/docsrc/reference.xml b/doc/help/xslt/docsrc/reference.xml new file mode 100644 index 00000000..7d493060 --- /dev/null +++ b/doc/help/xslt/docsrc/reference.xml @@ -0,0 +1,229 @@ + + + + + + + + + + + DocBook XSL Stylesheets: Reference Documentation + $Id: reference.xml 8321 2009-03-12 18:20:36Z mzjn $ + + + + + + About this document + This is generated reference documentation for the DocBook + XSL stylesheets. It is available in the following formats: + + + HTML, + PDF, + plain text + + + This is primarily documentation on the parameters and processing instructions you can use + to control the behavior of the stylesheets. + + This is purely reference documentation â€“ not how-to + documentation. For a thorough step-by-step how-to guide to + publishing content using the DocBook XSL stylesheets, see + Bob Stayton’s DocBook XSL: The Complete Guide, available online + at http://www.sagehill.net/docbookxsl/index.html + + + This document is divided into three sets of references: + the first two sets provides user documentation; the third, + developer documentation. + + + DocBook XSL Stylesheets User Reference: Parameters + + + This is generated reference documentation for all + user-configurable parameters in the DocBook XSL + stylesheets. + + This is purely reference documentation â€“ not how-to + documentation. For a thorough step-by-step how-to guide to + publishing content using the DocBook XSL stylesheets, see + Bob Stayton’s DocBook XSL: The Complete Guide, available online + at http://www.sagehill.net/docbookxsl/index.html + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Slides Parameter Reference + + + + This is reference documentation for all + user-configurable parameters in the DocBook XSL Slides + stylesheets (for generating HTML and PDF slide + presentations). + + The Slides stylesheet for HTML output is a + customization layer of the DocBook XSL HTML + stylesheet; the Slides stylesheet for FO output is a + customization layer of the DocBook XSL FO stylesheet. + Therefore, in addition to the slides-specific + parameters listed in this section, you can also use a + number of HTML stylesheet + parameters and FO + stylesheet parameters to control Slides + output. + + + + + + + + + + + + + + + + DocBook XSL Stylesheets User Reference: PIs + + + + + This is generated reference documentation for all + user-specifiable processing instructions in the DocBook + XSL stylesheets. + + You add these PIs at particular points in a document to + cause specific “exceptions” to formatting/output behavior. To + make global changes in formatting/output behavior across an + entire document, it’s better to do it by setting an + appropriate stylesheet parameter (if there is one). + + + + + + + + + + + + + + + + + + DocBook XSL Stylesheets Developer Reference + + + This is technical reference documentation for + developers using the DocBook XSL Stylesheets. It is not + intended to be user documentation, but is instead + provided for developers writing customization layers for + the stylesheets. + + + + + + + + + + + + Common Template Reference + + + + + This is technical reference documentation for the + “base”, “refentry”, and “utility” sets of common + templates in the DocBook XSL Stylesheets. These + templates are “common” in that they are shared across + output formats (that is, they’re not + output-format-dependent) + This documentation is not intended to be user + documentation. It is provided for developers writing + customization layers for the stylesheets. + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/docsrc/reference.xml.included b/doc/help/xslt/docsrc/reference.xml.included new file mode 100644 index 00000000..94869ee7 --- /dev/null +++ b/doc/help/xslt/docsrc/reference.xml.included @@ -0,0 +1,33905 @@ + + + + + + + + + + + DocBook XSL Stylesheets: Reference Documentation + $Id: reference.xml 8321 2009-03-12 18:20:36Z mzjn $ + + + + WalshNorman + + + + The DocBook Project + + + + 1999-2007 + Norman Walsh + + 2003 + Jiří Kosek + + 2004-2007 + Steve Ball + + 2001-2007 + The DocBook Project + + License +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation files +(the Software), to deal in the Software without +restriction, including without limitation the rights to use, copy, +modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished +to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. +Except as contained in this notice, the names of individuals +credited with contribution to this software shall not be used in +advertising or otherwise to promote the sale, use or other dealings in +this Software without prior written authorization from the individuals +in question. +Any stylesheet derived from this Software that is publically +distributed will be identified with a different name and the version +strings in any derived Software will be changed so that no possibility +of confusion between the derived package and this Software will +exist. + + Warranty +THE SOFTWARE IS PROVIDED AS IS, +WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT +LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR +PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL NORMAN WALSH OR ANY +OTHER CONTRIBUTOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT +OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + + About this document + This is generated reference documentation for the DocBook + XSL stylesheets. It is available in the following formats: + + + HTML, + PDF, + plain text + + + This is primarily documentation on the parameters and processing instructions you can use + to control the behavior of the stylesheets. + + This is purely reference documentation – not how-to + documentation. For a thorough step-by-step how-to guide to + publishing content using the DocBook XSL stylesheets, see + Bob Stayton’s DocBook XSL: The Complete Guide, available online + at http://www.sagehill.net/docbookxsl/index.html + + + This document is divided into three sets of references: + the first two sets provides user documentation; the third, + developer documentation. + + + DocBook XSL Stylesheets User Reference: Parameters + + + This is generated reference documentation for all + user-configurable parameters in the DocBook XSL + stylesheets. + + This is purely reference documentation – not how-to + documentation. For a thorough step-by-step how-to guide to + publishing content using the DocBook XSL stylesheets, see + Bob Stayton’s DocBook XSL: The Complete Guide, available online + at http://www.sagehill.net/docbookxsl/index.html + + + + + + + + + HTML Parameter Reference + + + This is reference documentation for all user-configurable + parameters in the DocBook XSL HTML stylesheets (for generating + HTML output). + + + Admonitions + + +admon.graphics.extension +string + + +admon.graphics.extension +Filename extension for admonition graphics + + + + +<xsl:param name="admon.graphics.extension">.png</xsl:param> + + + +Description + +Sets the filename extension to use on admonition graphics. + + + + + + +admon.graphics.path +string + + +admon.graphics.path +Path to admonition graphics + + + +<xsl:param name="admon.graphics.path">images/</xsl:param> + + +Description + +Sets the path to the directory containing the admonition graphics +(caution.png, important.png etc). This location is normally relative +to the output html directory. See base.dir + + + + + + +admon.graphics +boolean + + +admon.graphics +Use graphics in admonitions? + + + + +<xsl:param name="admon.graphics" select="0"></xsl:param> + + + +Description + +If true (non-zero), admonitions are presented in an alternate style that uses +a graphic. Default graphics are provided in the distribution. + + + + + + + +admon.textlabel +boolean + + +admon.textlabel +Use text label in admonitions? + + + + +<xsl:param name="admon.textlabel" select="1"></xsl:param> + + + +Description + +If true (non-zero), admonitions are presented with a generated +text label such as Note or Warning in the appropriate language. +If zero, such labels are turned off, but any title child +of the admonition element are still output. +The default value is 1. + + + + + + + +admon.style +string + + +admon.style +Specifies the CSS style attribute that should be added to +admonitions. + + + +<xsl:param name="admon.style"> + <xsl:value-of select="concat('margin-', $direction.align.start, ': 0.5in; margin-', $direction.align.end, ': 0.5in;')"></xsl:value-of> +</xsl:param> + + +Description + +Specifies the value of the CSS style +attribute that should be added to admonitions. + + + + + +Callouts + + +callout.defaultcolumn +integer + + +callout.defaultcolumn +Indicates what column callouts appear in by default + + + + +<xsl:param name="callout.defaultcolumn">60</xsl:param> + + + +Description + +If a callout does not identify a column (for example, if it uses +the linerange unit), +it will appear in the default column. + + + + + + + +callout.graphics.extension +string + + +callout.graphics.extension +Filename extension for callout graphics + + + + +<xsl:param name="callout.graphics.extension">.png</xsl:param> + + + + +Description +Sets the filename extension to use on callout graphics. + + +The Docbook XSL distribution provides callout graphics in the following formats: +SVG (extension: .svg) +PNG (extension: .png) +GIF (extension: .gif) + + + + + + +callout.graphics.number.limit +integer + + +callout.graphics.number.limit +Number of the largest callout graphic + + + + +<xsl:param name="callout.graphics.number.limit">15</xsl:param> + + + + +Description + +If callout.graphics is non-zero, graphics +are used to represent callout numbers instead of plain text. The value +of callout.graphics.number.limit is the largest +number for which a graphic exists. If the callout number exceeds this +limit, the default presentation "(plain text instead of a graphic)" +will be used. + + + + + + + +callout.graphics.path +string + + +callout.graphics.path +Path to callout graphics + + + + +<xsl:param name="callout.graphics.path">images/callouts/</xsl:param> + + + +Description + +Sets the path to the directory holding the callout graphics. his +location is normally relative to the output html directory. see +base.dir. Always terminate the directory with / since the graphic file +is appended to this string, hence needs the separator. + + + + + + + +callout.graphics +boolean + + +callout.graphics +Use graphics for callouts? + + + + +<xsl:param name="callout.graphics" select="1"></xsl:param> + + + +Description + +If non-zero, callouts are presented with graphics (e.g., reverse-video +circled numbers instead of "(1)", "(2)", etc.). +Default graphics are provided in the distribution. + + + + + + + +callout.list.table +boolean + + +callout.list.table +Present callout lists using a table? + + + + +<xsl:param name="callout.list.table" select="1"></xsl:param> + + + +Description + +The default presentation of calloutlists uses +an HTML DL element. Some browsers don't align DLs very well +if callout.graphics is used. With this option +turned on, calloutlists are presented in an HTML +TABLE, which usually results in better alignment +of the callout number with the callout description. + + + + + + +callout.unicode.number.limit +integer + + +callout.unicode.number.limit +Number of the largest unicode callout character + + + + +<xsl:param name="callout.unicode.number.limit">10</xsl:param> + + + +Description + +If callout.unicode +is non-zero, unicode characters are used to represent +callout numbers. The value of +callout.unicode.number.limit +is +the largest number for which a unicode character exists. If the callout number +exceeds this limit, the default presentation "(nnn)" will always +be used. + + + + + + + +callout.unicode.start.character +integer + + +callout.unicode.start.character +First Unicode character to use, decimal value. + + + + +<xsl:param name="callout.unicode.start.character">10102</xsl:param> + + + +Description + +If callout.graphics is zero and callout.unicode +is non-zero, unicode characters are used to represent +callout numbers. The value of +callout.unicode.start.character +is the decimal unicode value used for callout number one. Currently, +only 10102 is supported in the stylesheets for this parameter. + + + + + + + +callout.unicode +boolean + + +callout.unicode +Use Unicode characters rather than images for callouts. + + + +<xsl:param name="callout.unicode" select="0"></xsl:param> + + +Description + +The stylesheets can use either an image of the numbers one to ten, or the single Unicode character which represents the numeral, in white on a black background. Use this to select the Unicode character option. + + + + + + + +callouts.extension +boolean + + +callouts.extension +Enable the callout extension + + + + +<xsl:param name="callouts.extension" select="1"></xsl:param> + + + +Description + +The callouts extension processes areaset +elements in programlistingco and other text-based +callout elements. + + + + + +EBNF + + +ebnf.table.bgcolor +color + + +ebnf.table.bgcolor +Background color for EBNF tables + + + + +<xsl:param name="ebnf.table.bgcolor">#F5DCB3</xsl:param> + + + +Description + +Sets the background color for EBNF tables (a pale brown). No +bgcolor attribute is output if +ebnf.table.bgcolor is set to the null string. + + + + + + + +ebnf.table.border +boolean + + +ebnf.table.border +Selects border on EBNF tables + + + +<xsl:param name="ebnf.table.border" select="1"></xsl:param> + + +Description + +Selects the border on EBNF tables. If non-zero, the tables have +borders, otherwise they don't. + + + + + + +ebnf.assignment +rtf + + +ebnf.assignment +The EBNF production assignment operator + + + + +<xsl:param name="ebnf.assignment"> +<code>::=</code> +</xsl:param> + + + + +Description + +The ebnf.assignment parameter determines what +text is used to show assignment in productions +in productionsets. + +While ::= is common, so are several +other operators. + + + + + + +ebnf.statement.terminator +rtf + + +ebnf.statement.terminator +Punctuation that ends an EBNF statement. + + + + +<xsl:param name="ebnf.statement.terminator"></xsl:param> + + + + +Description + +The ebnf.statement.terminator parameter determines what +text is used to terminate each production +in productionset. + +Some notations end each statement with a period. + + + + +ToC/LoT/Index Generation + + +annotate.toc +boolean + + +annotate.toc +Annotate the Table of Contents? + + + +<xsl:param name="annotate.toc" select="1"></xsl:param> + + +Description + +If true, TOCs will be annotated. At present, this just means +that the refpurpose of refentry +TOC entries will be displayed. + + + + + + + +autotoc.label.separator +string + + +autotoc.label.separator +Separator between labels and titles in the ToC + + + + +<xsl:param name="autotoc.label.separator">. </xsl:param> + + + +Description + +String used to separate labels and titles in a table of contents. + + + + + + +autotoc.label.in.hyperlink +boolean + + +autotoc.label.in.hyperlink +Include label in hyperlinked titles in TOC? + + + +<xsl:param name="autotoc.label.in.hyperlink" select="1"></xsl:param> + + +Description + +If the value of +autotoc.label.in.hyperlink is non-zero, labels +are included in hyperlinked titles in the TOC. If it is instead zero, +labels are still displayed prior to the hyperlinked titles, but +are not hyperlinked along with the titles. + + + + + + +process.source.toc +boolean + + +process.source.toc +Process a non-empty toc element if it occurs in a source document? + + + +<xsl:param name="process.source.toc" select="0"></xsl:param> + + +Description + +Specifies that the contents of a non-empty "hard-coded" +toc element in a source document are processed to +generate a TOC in output. + + This parameter has no effect on automated generation of + TOCs. An automated TOC may still be generated along with the + "hard-coded" TOC. To suppress automated TOC generation, adjust the + value of the generate.toc paramameter. + + The process.source.toc parameter also has + no effect if the toc element is empty; handling + for empty toc is controlled by the + process.empty.source.toc parameter. + + + + + + + + +process.empty.source.toc +boolean + + +process.empty.source.toc +Generate automated TOC if toc element occurs in a source document? + + + +<xsl:param name="process.empty.source.toc" select="0"></xsl:param> + + +Description + +Specifies that if an empty toc element is found in a +source document, an automated TOC is generated at this point in the +document. + + Depending on what the value of the + generate.toc parameter is, setting this + parameter to 1 could result in generation of + duplicate automated TOCs. So the + process.empty.source.toc is primarily useful + as an "override": by placing an empty toc in your + document and setting this parameter to 1, you can + force a TOC to be generated even if generate.toc + says not to. + + + + + + + + +bridgehead.in.toc +boolean + + +bridgehead.in.toc +Should bridgehead elements appear in the TOC? + + + +<xsl:param name="bridgehead.in.toc" select="0"></xsl:param> + + +Description + +If non-zero, bridgeheads appear in the TOC. Note that +this option is not fully supported and may be removed in a future +version of the stylesheets. + + + + + + + +simplesect.in.toc +boolean + + +simplesect.in.toc +Should simplesect elements appear in the TOC? + + + +<xsl:param name="simplesect.in.toc" select="0"></xsl:param> + + +Description + +If non-zero, simplesects will be included in the TOC. + + + + + + + +manual.toc +string + + +manual.toc +An explicit TOC to be used for the TOC + + + + +<xsl:param name="manual.toc"></xsl:param> + + + +Description + +The manual.toc identifies an explicit TOC that +will be used for building the printed TOC. + + + + + + + +toc.list.type +list +dl +ul +ol + + +toc.list.type +Type of HTML list element to use for Tables of Contents + + + +<xsl:param name="toc.list.type">dl</xsl:param> + + +Description + +When an automatically generated Table of Contents (or List of Titles) +is produced, this HTML element will be used to make the list. + + + + + + + +toc.section.depth +integer + + +toc.section.depth +How deep should recursive sections appear +in the TOC? + + + +<xsl:param name="toc.section.depth">2</xsl:param> + + +Description + +Specifies the depth to which recursive sections should appear in the +TOC. + + + + + + + +toc.max.depth +integer + + +toc.max.depth +How many levels should be created for each TOC? + + + +<xsl:param name="toc.max.depth">8</xsl:param> + + +Description + +Specifies the maximal depth of TOC on all levels. + + + + + + +generate.toc +table + + +generate.toc +Control generation of ToCs and LoTs + + + + +<xsl:param name="generate.toc"> +appendix toc,title +article/appendix nop +article toc,title +book toc,title,figure,table,example,equation +chapter toc,title +part toc,title +preface toc,title +qandadiv toc +qandaset toc +reference toc,title +sect1 toc +sect2 toc +sect3 toc +sect4 toc +sect5 toc +section toc +set toc,title +</xsl:param> + + + + +Description + +This parameter has a structured value. It is a table of space-delimited +path/value pairs. Each path identifies some element in the source document +using a restricted subset of XPath (only the implicit child axis, no wildcards, +no predicates). Paths can be either relative or absolute. + +When processing a particular element, the stylesheets consult this table to +determine if a ToC (or LoT(s)) should be generated. + +For example, consider the entry: + +book toc,figure + +This indicates that whenever a book is formatted, a +Table Of Contents and a List of Figures should be generated. Similarly, + +/chapter toc + +indicates that whenever a document that has a root +of chapter is formatted, a Table of +Contents should be generated. The entry chapter would match +all chapters, but /chapter matches only chapter +document elements. + +Generally, the longest match wins. So, for example, if you want to distinguish +articles in books from articles in parts, you could use these two entries: + +book/article toc,figure +part/article toc + +Note that an article in a part can never match a book/article, +so if you want nothing to be generated for articles in parts, you can simply leave +that rule out. + +If you want to leave the rule in, to make it explicit that you're turning +something off, use the value nop. For example, the following +entry disables ToCs and LoTs for articles: + +article nop + +Do not simply leave the word article in the file +without a matching value. That'd be just begging the silly little +path/value parser to get confused. + +Section ToCs are further controlled by the +generate.section.toc.level parameter. +For a given section level to have a ToC, it must have both an entry in +generate.toc and be within the range enabled by +generate.section.toc.level. + + + + + +generate.section.toc.level +integer + + +generate.section.toc.level +Control depth of TOC generation in sections + + + + +<xsl:param name="generate.section.toc.level" select="0"></xsl:param> + + + +Description + +The generate.section.toc.level parameter +controls the depth of section in which TOCs will be generated. Note +that this is related to, but not the same as +toc.section.depth, which controls the depth to +which TOC entries will be generated in a given TOC. +If, for example, generate.section.toc.level +is 3, TOCs will be generated in first, second, and third +level sections, but not in fourth level sections. + + + + + + + +generate.index +boolean + + +generate.index +Do you want an index? + + + +<xsl:param name="generate.index" select="1"></xsl:param> + + +Description + +Specify if an index should be generated. + + + + + + +index.method +list +basic +kosek +kimber + + +index.method +Select method used to group index entries in an index + + + + +<xsl:param name="index.method">basic</xsl:param> + + + +Description + +This parameter lets you select which method to use for sorting and grouping + index entries in an index. +Indexes in Latin-based languages that have accented characters typically +sort together accented words and unaccented words. +Thus Á (U+00C1 LATIN CAPITAL LETTER A WITH ACUTE) would sort together +with A (U+0041 LATIN CAPITAL LETTER A), so both would appear in the A +section of the index. +Languages using other alphabets (such as Russian, which is written in the Cyrillic alphabet) +and languages using ideographic chararacters (such as Japanese) +require grouping specific to the languages and alphabets. + + +The default indexing method is limited. +It can group accented characters in Latin-based languages only. +It cannot handle non-Latin alphabets or ideographic languages. +The other indexing methods require extensions of one type or +another, and do not work with +all XSLT processors, which is why they are not used by default. + +The three choices for indexing method are: + + +basic + + +(default) Sort and groups words based only on the Latin alphabet. +Words with accented Latin letters will group and sort with +their respective primary letter, but +words in non-Latin alphabets will be +put in the Symbols section of the index. + + + + +kosek + + +This method sorts and groups words based on letter groups configured in +the DocBook locale file for the given language. +See, for example, the French locale file common/fr.xml. +This method requires that the XSLT processor +supports the EXSLT extensions (most do). +It also requires support for using +user-defined functions in xsl:key (xsltproc does not). + +This method is suitable for any language for which you can +list all the individual characters that should appear +in each letter group in an index. +It is probably not practical to use it for ideographic languages +such as Chinese that have hundreds or thousands of characters. + + +To use the kosek method, you must: + + + +Use a processor that supports its extensions, such as +Saxon 6 or Xalan (xsltproc and Saxon 8 do not). + + + +Set the index.method parameter's value to kosek. + + + +Import the appropriate index extensions stylesheet module +fo/autoidx-kosek.xsl or +html/autoidx-kosek.xsl into your +customization. + + + + + + + +kimber + + +This method uses extensions to the Saxon processor to implement +sophisticated indexing processes. It uses its own +configuration file, which can include information for any number of +languages. Each language's configuration can group +words using one of two processes. In the +enumerated process similar to that used in the kosek method, +you indicate the groupings character-by-character. +In the between-key process, you specify the +break-points in the sort order that should start a new group. +The latter configuration is useful for ideographic languages +such as Chinese, Japanese, and Korean. +You can also define your own collation algorithms and how you +want mixed Latin-alphabet words sorted. + + +For a whitepaper describing the extensions, see: +http://www.innodata-isogen.com/knowledge_center/white_papers/back_of_book_for_xsl_fo.pdf. + + + +To download the extension library, see +http://www.innodata-isogen.com/knowledge_center/tools_downloads/i18nsupport. + + + + +To use the kimber method, you must: + + + +Use Saxon (version 6 or 8) as your XSLT processor. + + + +Install and configure the Innodata Isogen library, using +the documentation that comes with it. + + + +Set the index.method parameter's value to kimber. + + + +Import the appropriate index extensions stylesheet module +fo/autoidx-kimber.xsl or +html/autoidx-kimber.xsl into your +customization. + + + + + + + + + + + + + +index.on.type +boolean + + +index.on.type +Select indexterms based on type +attribute value + + + + +<xsl:param name="index.on.type" select="0"></xsl:param> + + + +Description + + +If non-zero, +then an index element that has a +type attribute +value will contain only those indexterm +elements with a matching type attribute value. +If an index has no type +attribute or it is blank, then the index will contain +all indexterms in the current scope. + + + +If index.on.type is zero, then the +type attribute has no effect +on selecting indexterms for an index. + + +For those using DocBook version 4.2 or earlier, +the type attribute is not available +for index terms. However, you can achieve the same +effect by using the role attribute +in the same manner on indexterm +and index, and setting the stylesheet parameter +index.on.role to a nonzero value. + + + + + + + +index.on.role +boolean + + +index.on.role +Select indexterms based on role value + + + + +<xsl:param name="index.on.role" select="0"></xsl:param> + + + +Description + + +If non-zero, +then an index element that has a +role attribute +value will contain only those indexterm +elements with a matching role value. +If an index has no role +attribute or it is blank, then the index will contain +all indexterms in the current scope. + + +If index.on.role is zero, then the +role attribute has no effect +on selecting indexterms for an index. + + +If you are using DocBook version 4.3 or later, you should +use the type attribute instead of role +on indexterm and index, +and set the index.on.type to a nonzero +value. + + + + + + + +index.links.to.section +boolean + + +index.links.to.section +HTML index entries link to container section title + + + + +<xsl:param name="index.links.to.section" select="1"></xsl:param> + + + +Description + +If zero, then an index entry in an index links +directly to the location of the +generated anchor that is output +for the indexterm. If two identical indexterm elements +exist in the same section, then both entries appear +in the index with the same title but link to different +locations. + +If non-zero, then an index entry in an index links to the +section title containing the indexterm, rather than +directly to the anchor output for the indexterm. +Duplicate indexterm entries in the same section are dropped. + + +The default value is 1, so index entries link to +section titles by default. + +In both cases, the link text in an index entry is the +title of the section containing the indexterm. +That is because HTML does not have numbered pages. +It also provides the reader with context information +for each link. + +This parameter lets you choose which style of +index linking you want. + + + +When set to 0, an index entry takes you +to the precise location of its corresponding indexterm. +However, if you have a lot of duplicate +entries in sections, then you have a lot of duplicate +titles in the index, which makes it more cluttered. +The reader may not recognize why duplicate titles +appear until they follow the links. Also, the links +may land the reader in the middle of a section where the +section title is not visible, which may also be +confusing to the reader. + + +When set to 1, an index entry link is +less precise, but duplicate titles in the +index entries are eliminated. +Landing on the section title location may confirm the reader's +expectation that a link that +shows a section title will take them to that section title, +not a location within the section. + + + + + + + + + +index.prefer.titleabbrev +boolean + + +index.prefer.titleabbrev +Should abbreviated titles be used as back references? + + + + +<xsl:param name="index.prefer.titleabbrev" select="0"></xsl:param> + + + +Description + +If non-zero, and if a titleabbrev is defined, the abbreviated title +is used as the link text of a back reference in the index. + + + + + + + +index.term.separator +string + + +index.term.separator +Override for punctuation separating an index term +from its list of page references in an index + + + + +<xsl:param name="index.term.separator"></xsl:param> + + + +Description + +This parameter permits you to override +the text to insert between +the end of an index term and its list of page references. +Typically that might be a comma and a space. + + +Because this text may be locale dependent, +this parameter's value is normally taken from a gentext +template named 'term-separator' in the +context 'index' in the stylesheet +locale file for the language +of the current document. +This parameter can be used to override the gentext string, +and would typically be used on the command line. +This parameter would apply to all languages. + + +So this text string can be customized in two ways. +You can reset the default gentext string using +the local.l10n.xml parameter, or you can +fill in the content for this normally empty +override parameter. +The content can be a simple string, or it can be +something more complex such as a call-template. +For fo output, it could be an fo:leader +element to provide space of a specific length, or a dot leader. + + + + + + + +index.number.separator +string + + +index.number.separator +Override for punctuation separating page numbers in index + + + + +<xsl:param name="index.number.separator"></xsl:param> + + + +Description + +This parameter permits you to override the text to insert between +page references in a formatted index entry. Typically +that would be a comma and a space. + + +Because this text may be locale dependent, +this parameter's value is normally taken from a gentext +template named 'number-separator' in the +context 'index' in the stylesheet +locale file for the language +of the current document. +This parameter can be used to override the gentext string, +and would typically be used on the command line. +This parameter would apply to all languages. + + +So this text string can be customized in two ways. +You can reset the default gentext string using +the local.l10n.xml parameter, or you can +override the gentext with the content of this parameter. +The content can be a simple string, or it can be +something more complex such as a call-template. + + +In HTML index output, section title references are used instead of +page number references. This punctuation appears between +such section titles in an HTML index. + + + + + + + +index.range.separator +string + + +index.range.separator +Override for punctuation separating the two numbers +in a page range in index + + + + +<xsl:param name="index.range.separator"></xsl:param> + + + +Description + +This parameter permits you +to override the text to insert between +the two numbers of a page range in an index. +This parameter is only used by those XSL-FO processors +that support an extension for generating such page ranges +(such as XEP). + +Because this text may be locale dependent, +this parameter's value is normally taken from a gentext +template named 'range-separator' in the +context 'index' in the stylesheet +locale file for the language +of the current document. +This parameter can be used to override the gentext string, +and would typically be used on the command line. +This parameter would apply to all languages. + + +So this text string can be customized in two ways. +You can reset the default gentext string using +the local.l10n.xml parameter, or you can +override the gentext with the content of this parameter. +The content can be a simple string, or it can be +something more complex such as a call-template. + + +In HTML index output, section title references are used instead of +page number references. So there are no page ranges +and this parameter has no effect. + + + + + +Stylesheet Extensions + + +linenumbering.everyNth +integer + + +linenumbering.everyNth +Indicate which lines should be numbered + + + + +<xsl:param name="linenumbering.everyNth">5</xsl:param> + + + +Description + +If line numbering is enabled, everyNth line will be +numbered. Note that numbering is one based, not zero based. + + + + + + + +linenumbering.extension +boolean + + +linenumbering.extension +Enable the line numbering extension + + + + +<xsl:param name="linenumbering.extension" select="1"></xsl:param> + + + +Description + +If non-zero, verbatim environments (address, literallayout, +programlisting, screen, synopsis) that specify line numbering will +have line numbers. + + + + + + + +linenumbering.separator +string + + +linenumbering.separator +Specify a separator between line numbers and lines + + + + +<xsl:param name="linenumbering.separator"><xsl:text> </xsl:text></xsl:param> + + + +Description + +The separator is inserted between line numbers and lines in the +verbatim environment. The default value is a single white space. + Note the interaction with linenumbering.width + + + + + + + +linenumbering.width +integer + + +linenumbering.width +Indicates the width of line numbers + + + + +<xsl:param name="linenumbering.width">3</xsl:param> + + + +Description + +If line numbering is enabled, line numbers will appear right +justified in a field "width" characters wide. + + + + + + + +tablecolumns.extension +boolean + + +tablecolumns.extension +Enable the table columns extension function + + + + +<xsl:param name="tablecolumns.extension" select="1"></xsl:param> + + + +Description + +The table columns extension function adjusts the widths of table +columns in the HTML result to more accurately reflect the specifications +in the CALS table. + + + + + + + + textinsert.extension + boolean + + + textinsert.extension + Enables the textinsert extension element + + + + <xsl:param name="textinsert.extension" select="1"></xsl:param> + + + Description + The textinsert extension element inserts the contents of + a file into the result tree (as text). + + To use the textinsert extension element, you must use + either Saxon or Xalan as your XSLT processor (it doesn’t + work with xsltproc), along with either the DocBook Saxon + extensions or DocBook Xalan extensions (for more + information about those extensions, see DocBook Saxon Extensions and DocBook Xalan Extensions), and you must set both + the use.extensions and + textinsert.extension parameters to + 1. + As an alternative to using the textinsert element, + consider using an Xinclude element with the + parse="text" attribute and value + specified, as detailed in Using XInclude for text inclusions. + + + See Also + You can also use the dbhtml-include href processing + instruction to insert external files — both files containing + plain text and files with markup content (including HTML + content). + + More information + For how-to documentation on inserting contents of + external code files and other text files into output, see + External code files. + For guidelines on inserting contents of + HTML files into output, see Inserting external HTML code. + + + + + +textdata.default.encoding +string + + +textdata.default.encoding +Default encoding of external text files which are included +using textdata element + + + + +<xsl:param name="textdata.default.encoding"></xsl:param> + + + +Description + +Specifies the encoding of any external text files included using +textdata element. This value is used only when you do +not specify encoding by the appropriate attribute +directly on textdata. An empty string is interpreted as the system +default encoding. + + + + + + +graphicsize.extension +boolean + + +graphicsize.extension +Enable the getWidth()/getDepth() extension functions + + + + +<xsl:param name="graphicsize.extension" select="1"></xsl:param> + + + +Description + +If non-zero (and if use.extensions is non-zero +and if you're using a processor that supports extension functions), the +getWidth and getDepth functions +will be used to extract image sizes from graphics. + + + + + + +graphicsize.use.img.src.path +boolean + + +graphicsize.use.img.src.path +Prepend img.src.path before +filenames passed to extension functions + + + + +<xsl:param name="graphicsize.use.img.src.path" select="0"></xsl:param> + + + +Description + +If non-zero img.src.path parameter will +be appended before filenames passed to extension functions for +measuring image dimensions. + + + + + + +use.extensions +boolean + + +use.extensions +Enable extensions + + + + +<xsl:param name="use.extensions" select="0"></xsl:param> + + + +Description + +If non-zero, extensions may be used. Each extension is +further controlled by its own parameter. But if +use.extensions is zero, no extensions will +be used. + + + + + +Automatic labelling + + +chapter.autolabel +list +0none +11,2,3... +AA,B,C... +aa,b,c... +ii,ii,iii... +II,II,III... + + +chapter.autolabel +Specifies the labeling format for Chapter titles + + + + +<xsl:param name="chapter.autolabel" select="1"></xsl:param> + + +Description + +If non-zero, then chapters will be numbered using the parameter +value as the number format if the value matches one of the following: + + + + + 1 or arabic + + Arabic numeration (1, 2, 3 ...). + + + + A or upperalpha + + Uppercase letter numeration (A, B, C ...). + + + + a or loweralpha + + Lowercase letter numeration (a, b, c ...). + + + + I or upperroman + + Uppercase roman numeration (I, II, III ...). + + + + i or lowerroman + + Lowercase roman letter numeration (i, ii, iii ...). + + + + +Any nonzero value other than the above will generate +the default number format (arabic). + + + + + + + +appendix.autolabel +list +0none +11,2,3... +AA,B,C... +aa,b,c... +ii,ii,iii... +II,II,III... + + +appendix.autolabel +Specifies the labeling format for Appendix titles + + + + +<xsl:param name="appendix.autolabel">A</xsl:param> + + + +Description + +If non-zero, then appendices will be numbered using the +parameter value as the number format if the value matches one of the +following: + + + + + 1 or arabic + + Arabic numeration (1, 2, 3 ...). + + + + A or upperalpha + + Uppercase letter numeration (A, B, C ...). + + + + a or loweralpha + + Lowercase letter numeration (a, b, c ...). + + + + I or upperroman + + Uppercase roman numeration (I, II, III ...). + + + + i or lowerroman + + Lowercase roman letter numeration (i, ii, iii ...). + + + + +Any nonzero value other than the above will generate +the default number format (upperalpha). + + + + + + + +part.autolabel +list +0none +11,2,3... +AA,B,C... +aa,b,c... +ii,ii,iii... +II,II,III... + + +part.autolabel +Specifies the labeling format for Part titles + + + + +<xsl:param name="part.autolabel">I</xsl:param> + + + +Description + +If non-zero, then parts will be numbered using the parameter +value as the number format if the value matches one of the following: + + + + + 1 or arabic + + Arabic numeration (1, 2, 3 ...). + + + + A or upperalpha + + Uppercase letter numeration (A, B, C ...). + + + + a or loweralpha + + Lowercase letter numeration (a, b, c ...). + + + + I or upperroman + + Uppercase roman numeration (I, II, III ...). + + + + i or lowerroman + + Lowercase roman letter numeration (i, ii, iii ...). + + + + +Any nonzero value other than the above will generate +the default number format (upperroman). + + + + + + + + +reference.autolabel +list +0none +11,2,3... +AA,B,C... +aa,b,c... +ii,ii,iii... +II,II,III... + + +reference.autolabel +Specifies the labeling format for Reference titles + + + + <xsl:param name="reference.autolabel">I</xsl:param> + + +Description +If non-zero, references will be numbered using the parameter + value as the number format if the value matches one of the + following: + + + + 1 or arabic + + Arabic numeration (1, 2, 3 ...). + + + + A or upperalpha + + Uppercase letter numeration (A, B, C ...). + + + + a or loweralpha + + Lowercase letter numeration (a, b, c ...). + + + + I or upperroman + + Uppercase roman numeration (I, II, III ...). + + + + i or lowerroman + + Lowercase roman letter numeration (i, ii, iii ...). + + + +Any non-zero value other than the above will generate +the default number format (upperroman). + + + + + + +preface.autolabel +list +0none +11,2,3... +AA,B,C... +aa,b,c... +ii,ii,iii... +II,II,III... + + +preface.autolabel +Specifices the labeling format for Preface titles + + + +<xsl:param name="preface.autolabel" select="0"></xsl:param> + + +Description + +If non-zero then prefaces will be numbered using the parameter +value as the number format if the value matches one of the following: + + + + + 1 or arabic + + Arabic numeration (1, 2, 3 ...). + + + + A or upperalpha + + Uppercase letter numeration (A, B, C ...). + + + + a or loweralpha + + Lowercase letter numeration (a, b, c ...). + + + + I or upperroman + + Uppercase roman numeration (I, II, III ...). + + + + i or lowerroman + + Lowercase roman letter numeration (i, ii, iii ...). + + + + +Any nonzero value other than the above will generate +the default number format (arabic). + + + + + + + + +qandadiv.autolabel +boolean + + +qandadiv.autolabel +Are divisions in QAndASets enumerated? + + + +<xsl:param name="qandadiv.autolabel" select="1"></xsl:param> + + +Description + +If non-zero, unlabeled qandadivs will be enumerated. + + + + + + + +section.autolabel +boolean + + +section.autolabel +Are sections enumerated? + + + +<xsl:param name="section.autolabel" select="0"></xsl:param> + + +Description + +If true (non-zero), unlabeled sections will be enumerated. + + + + + + + +section.autolabel.max.depth +integer + + +section.autolabel.max.depth +The deepest level of sections that are numbered. + + + + +<xsl:param name="section.autolabel.max.depth">8</xsl:param> + + + +Description + +When section numbering is turned on by the +section.autolabel parameter, then this +parameter controls the depth of section nesting that is +numbered. Sections nested to a level deeper than this value will not +be numbered. + + + + + + + +section.label.includes.component.label +boolean + + +section.label.includes.component.label +Do section labels include the component label? + + + +<xsl:param name="section.label.includes.component.label" select="0"></xsl:param> + + +Description + +If non-zero, section labels are prefixed with the label of the +component that contains them. + + + + + + + +label.from.part +boolean + + +label.from.part +Renumber components in each part? + + + + +<xsl:param name="label.from.part" select="0"></xsl:param> + + + +Description + +If label.from.part is non-zero, then + numbering of components — preface, + chapter, appendix, and + reference (when reference occurs at the + component level) — is re-started within each + part. +If label.from.part is zero (the + default), numbering of components is not + re-started within each part; instead, components are + numbered sequentially throughout each book, + regardless of whether or not they occur within part + instances. + + + + + + +component.label.includes.part.label +boolean + + +component.label.includes.part.label +Do component labels include the part label? + + + +<xsl:param name="component.label.includes.part.label" select="0"></xsl:param> + + +Description + +If non-zero, number labels for chapter, +appendix, and other component elements are prefixed with +the label of the part element that contains them. So you might see +Chapter II.3 instead of Chapter 3. Also, the labels for formal +elements such as table and figure will include +the part label. If there is no part element container, then no prefix +is generated. + + +This feature is most useful when the +label.from.part parameter is turned on. +In that case, there would be more than one chapter +1, and the extra part label prefix will identify +each chapter unambiguously. + + + + + +HTML + + +html.base +uri + + +html.base +An HTML base URI + + + + +<xsl:param name="html.base"></xsl:param> + + +Description + +If html.base is set, it is used for the base element +in the head of the html documents. The parameter specifies +the base URL for all relative URLs in the document. This is useful +for dynamically served html where the base URI needs to be +shifted. + + + + + + +html.stylesheet.type +string + + +html.stylesheet.type +The type of the stylesheet used in the generated HTML + + + +<xsl:param name="html.stylesheet.type">text/css</xsl:param> + + +Description + +The type of the stylesheet to place in the HTML link tag. + + + + + + + +html.stylesheet +string + + +html.stylesheet +Name of the stylesheet(s) to use in the generated HTML + + + + +<xsl:param name="html.stylesheet"></xsl:param> + + + +Description + +The html.stylesheet parameter is either +empty, indicating that no stylesheet link tag should be +generated in the html output, or it is a list of one or more +stylesheet files. + +Multiple stylesheets are space-delimited. If you need to +reference a stylesheet URI that includes a space, encode it with +%20. A separate html link element will +be generated for each stylesheet in the order they are listed in the +parameter. + + + + + + +css.decoration +boolean + + +css.decoration +Enable CSS decoration of elements + + + + +<xsl:param name="css.decoration" select="1"></xsl:param> + + + +Description + + +If non-zero, then html elements produced by the stylesheet may be +decorated with style attributes. For example, the +li tags produced for list items may include a +fragment of CSS in the style attribute which sets +the CSS property "list-style-type". + + + + + + + +spacing.paras +boolean + + +spacing.paras +Insert additional <p> elements for spacing? + + + + +<xsl:param name="spacing.paras" select="0"></xsl:param> + + + +Description + +When non-zero, additional, empty paragraphs are inserted in +several contexts (for example, around informal figures), to create a +more pleasing visual appearance in many browsers. + + + + + + + +emphasis.propagates.style +boolean + + +emphasis.propagates.style +Pass emphasis role attribute through to HTML? + + + +<xsl:param name="emphasis.propagates.style" select="1"></xsl:param> + + +Description +If non-zero, the role attribute of +emphasis elements will be passed through to the HTML as a +class attribute on a span that surrounds the +emphasis. + + + + + +para.propagates.style +boolean + + +para.propagates.style +Pass para role attribute through to HTML? + + + + +<xsl:param name="para.propagates.style" select="1"></xsl:param> + + + +Description + +If true, the role attribute of para elements +will be passed through to the HTML as a class attribute on the +p generated for the paragraph. + + + + + + +phrase.propagates.style +boolean + + +phrase.propagates.style +Pass phrase role attribute through to HTML? + + + + +<xsl:param name="phrase.propagates.style" select="1"></xsl:param> + + +Description + +If non-zero, the role attribute of phrase elements +will be passed through to the HTML as a class +attribute on a span that surrounds the +phrase. + + + + + + +entry.propagates.style +boolean + + +entry.propagates.style +Pass entry role attribute through to HTML? + + + + +<xsl:param name="entry.propagates.style" select="1"></xsl:param> + + + +Description + +If true, the role attribute of entry elements +will be passed through to the HTML as a class attribute on the +td or th generated for the table +cell. + + + + + + +html.longdesc +boolean + + +html.longdesc +Should longdesc URIs be created? + + + +<xsl:param name="html.longdesc" select="1"></xsl:param> + + +Description +If non-zero, HTML files will be created for the +longdesc attribute. These files +are created from the textobjects in +mediaobjects and +inlinemediaobject. + + + + + + +html.longdesc.link +boolean + + +html.longdesc.link +Should a link to the longdesc be included in the HTML? + + + + +<xsl:param name="html.longdesc.link" select="$html.longdesc"></xsl:param> + + + +Description + +If non-zero, links will be created to the +HTML files created for the +longdesc attribute. It makes no +sense to enable this option without also enabling the +html.longdesc parameter. + + + + + + + + +make.valid.html +boolean + + +make.valid.html +Attempt to make sure the HTML output is valid HTML + + + + +<xsl:param name="make.valid.html" select="0"></xsl:param> + + + +Description + +If make.valid.html is true, the stylesheets take +extra effort to ensure that the resulting HTML is valid. This may mean that some +para tags are translated into HTML divs or +that other substitutions occur. + +This parameter is different from html.cleanup +because it changes the resulting markup; it does not use extension functions +to manipulate result-tree-fragments and is therefore applicable to any +XSLT processor. + + + + + + +html.cleanup +boolean + + +html.cleanup +Attempt to clean up the resulting HTML? + + + + +<xsl:param name="html.cleanup" select="1"></xsl:param> + + + +Description + +If non-zero, and if the EXSLT +extensions are supported by your processor, the resulting HTML will be +cleaned up. This improves the chances that the +resulting HTML will be valid. It may also improve the formatting of +some elements. + +This parameter is different from make.valid.html +because it uses extension functions to manipulate result-tree-fragments. + + + + + + +html.append +string + + +html.append +Specifies content to append to HTML output + + + +<xsl:param name="html.append"></xsl:param> + + +Description + +Specifies content to append to the end of HTML files output by +the html/docbook.xsl stylesheet, after the +closing <html> tag. You probably don’t want to set any +value for this parameter; but if you do, the only value it should ever +be set to is a newline character: &#x0a; or +&#10; + + + + + + +draft.mode +list +no +yes +maybe + + +draft.mode +Select draft mode + + + + +<xsl:param name="draft.mode">no</xsl:param> + + + +Description + +Selects draft mode. If draft.mode is +yes, the entire document will be treated +as a draft. If it is no, the entire document +will be treated as a final copy. If it is maybe, +individual sections will be treated as draft or final independently, depending +on how their status attribute is set. + + + + + + + +draft.watermark.image +uri + + +draft.watermark.image +The URI of the image to be used for draft watermarks + + + + +<xsl:param name="draft.watermark.image">images/draft.png</xsl:param> + + + +Description + +The image to be used for draft watermarks. + + + + + + +generate.id.attributes +boolean + + +generate.id.attributes +Generate ID attributes on container elements? + + + + +<xsl:param name="generate.id.attributes" select="0"></xsl:param> + + + +Description + +If non-zero, the HTML stylesheet will generate ID attributes on +containers. For example, the markup: + +<section id="foo"><title>Some Title</title> +<para>Some para.</para> +</section> + +might produce: + +<div class="section" id="foo"> +<h2>Some Title</h2> +<p>Some para.</p> +</div> + +The alternative is to generate anchors: + +<div class="section"> +<h2><a name="foo"></a>Some Title</h2> +<p>Some para.</p> +</div> + +Because the name attribute of +the a element and the id +attribute of other tags are both of type ID, producing both +generates invalid documents. + +As of version 1.50, you can use this switch to control which type of +identifier is generated. For backwards-compatibility, generating +a anchors is preferred. + +Note: at present, this switch is incompletely implemented. +Disabling ID attributes will suppress them, but enabling ID attributes +will not suppress the anchors. + + + + + + +generate.meta.abstract +boolean + + +generate.meta.abstract +Generate HTML META element from abstract? + + + + +<xsl:param name="generate.meta.abstract" select="1"></xsl:param> + + + +Description + +If non-zero, document abstracts will be reproduced in the HTML +head, with >meta name="description" content="..." + + + + + + + +make.clean.html +boolean + + +make.clean.html +Make HTML conform to modern coding standards + + + + +<xsl:param name="make.clean.html" select="0"></xsl:param> + + + +Description + +If make.clean.html is true, the stylesheets take +extra effort to ensure that the resulting HTML is conforms to +modern HTML coding standards. In addition to eliminating +excessive and noncompliant coding, it moves presentation +HTML coding to a CSS stylesheet. + +The resulting HTML is dependent on +CSS for formatting, and so the stylesheet is capable of +generating a supporting CSS file. The docbook.css.source +and custom.css.source parameters control +how a CSS file is generated. + +If you require your CSS to reside in the HTML +head element, then the generate.css.header +can be used to do that. + +The make.clean.html parameter is +different from html.cleanup +because the former changes the resulting markup; it does not use extension functions +like the latter to manipulate result-tree-fragments, +and is therefore applicable to any XSLT processor. + +If make.clean.html is set to zero (the default), +then the stylesheet retains its original +old style +HTML formatting features. + + + + + + docbook.css.source + string + + + docbook.css.source + Name of the default CSS input file + + + + <xsl:param name="docbook.css.source">docbook.css.xml</xsl:param> + + + Description + +The docbook.css.source parameter +specifies the name of the file containing the default DocBook +CSS styles. Those styles are necessary when the +make.clean.html parameter is nonzero. + +The file is a well-formed XML file that +must consist of a single style root +element that contains CSS styles as its text content. +The default value of the parameter (and filename) +is docbook.css.xml. +The stylesheets ship with the default file. You can substitute +your own and specify its path in this parameter. + +If docbook.css.source is not blank, +and make.clean.html is nonzero, then +the stylesheet takes the following actions: + + + + The stylesheet uses the XSLT document() + function to open the file specified by the parameter and + load it into a variable. + + + The stylesheet forms an output pathname consisting of the + value of the base.dir parameter (if it is set) + and the value of docbook.css.source, + with the .xml suffix stripped off. + + + + The stylesheet removes the style + wrapper element and writes just the CSS text content to the output file. + + + The stylesheet adds a link element to the + HTML HEAD element to reference the external CSS stylesheet. + For example: + <link rel="stylesheet" href="docbook.css" type="text/css"> + + However, if the docbook.css.link + parameter is set to zero, then no link is written + for the default CSS file. That is useful if a custom + CSS file will import the default CSS stylesheet to ensure + proper cascading of styles. + + + +If the docbook.css.source parameter +is changed from its default docbook.css.xml to blank, +then no default CSS is generated. Likewise if the +make.clean.html parameter is set to zero, +then no default CSS is generated. The +custom.css.source parameter can be used +instead to generate a complete custom CSS file. + +You can use the generate.css.header +parameter to instead write the CSS to each HTML HEAD +element in a style tag instead of an external CSS file. + + + + + + +docbook.css.link +boolean + + +docbook.css.link +Insert a link referencing the default CSS stylesheet + + + + +<xsl:param name="docbook.css.link" select="1"></xsl:param> + + + +Description + +The stylesheets are capable of generating a default +CSS stylesheet file. The parameters +make.clean.html and +docbook.css.source control that feature. + +Normally if a default CSS file is generated, then +the stylesheet inserts a link tag in the HTML +HEAD element to reference it. +However, you can omit that link reference if +you set the docbook.css.link to zero +(1 is the default). + +This parameter is useful when you want to import the +default CSS into a custom CSS file generated using the +custom.css.source parameter. + + + + + + + + custom.css.source + string + + + custom.css.source + Name of a custom CSS input file + + + + <xsl:param name="custom.css.source"></xsl:param> + + + Description + +The custom.css.source +parameter enables you to add CSS styles to DocBook's +HTML output. + +The parameter +specifies the name of a file containing custom +CSS styles. The file must be a well-formed XML file that +consists of a single style root +element that contains CSS styles as its text content. +For example: +<?xml version="1.0"?> +<style> +h2 { + font-weight: bold; + color: blue; +} +... +</style> + + +The filename specified by the parameter +should have a .xml +filename suffix, although that is not required. +The default value of this parameter is blank. + +If custom.css.source is not blank, then +the stylesheet takes the following actions. +These actions take place regardless of the value of +the make.clean.html parameter. + + + + The stylesheet uses the XSLT document() + function to open the file specified by the parameter and + load it into a variable. + + + The stylesheet forms an output pathname consisting of the + value of the base.dir parameter (if it is set) + and the value of custom.css.source, + with the .xml suffix stripped off. + + + + The stylesheet removes the style + wrapper element and writes just the CSS text content to the output file. + + + The stylesheet adds a link element to the + HTML HEAD element to reference this external CSS stylesheet. + For example: + <link rel="stylesheet" href="custom.css" type="text/css"> + + + + + + + +If the make.clean.html parameter is nonzero +(the default is zero), +and if the docbook.css.source parameter +is not blank (the default is not blank), +then the stylesheet will also generate a default CSS file +and add a link tag to reference it. +The link to the custom CSS comes after the +link to the default, so it should cascade properly +in most browsers. +If you do not want two link tags, and +instead want your custom CSS to import the default generated +CSS file, then do the following: + + + + + Add a line like the following to your custom CSS source file: + @import url("docbook.css") + + + + Set the docbook.css.link parameter + to zero. This will omit the link tag + that references the default CSS file. + + + +If you set make.clean.html to nonzero but +you do not want the default CSS generated, then also set +the docbook.css.source parameter to blank. +Then no default CSS will be generated, and so +all CSS styles must come from your custom CSS file. + +You can use the generate.css.header +parameter to instead write the CSS to each HTML HEAD +element in a style tag instead of an external CSS file. + + + + + + +generate.css.header +boolean + + +generate.css.header +Insert generated CSS styles in HEAD element + + + + +<xsl:param name="generate.css.header" select="0"></xsl:param> + + + +Description + +The stylesheets are capable of generating both default +and custom CSS stylesheet files. The parameters +make.clean.html, +docbook.css.source, and +custom.css.source control that feature. + +If you require that CSS styles reside in the HTML +HEAD element instead of external CSS files, +then set the generate.css.header +parameter to nonzero (it is zero by default). +Then instead of generating the CSS in external files, +they are wrapped in style elements in +the HEAD element of each HTML output file. + + + + + +XSLT Processing + + +rootid +string + + +rootid +Specify the root element to format + + + + +<xsl:param name="rootid"></xsl:param> + + +Description + +If rootid is not empty, it must be the +value of an ID that occurs in the document being formatted. The entire +document will be loaded and parsed, but formatting will begin at the +element identified, rather than at the root. For example, this allows +you to process only chapter 4 of a book. +Because the entire document is available to the processor, automatic +numbering, cross references, and other dependencies are correctly +resolved. + + + + + + +suppress.navigation +boolean + + +suppress.navigation +Disable header and footer navigation + + + + +<xsl:param name="suppress.navigation" select="0"></xsl:param> + + + +Description + + +If non-zero, header and footer navigation will be suppressed. + + + + + + +suppress.header.navigation +boolean + + +suppress.header.navigation +Disable header navigation + + + + +<xsl:param name="suppress.header.navigation" select="0"></xsl:param> + + + +Description + +If non-zero, header navigation will be suppressed. + + + + + + +suppress.footer.navigation +boolean + + +suppress.footer.navigation +Disable footer navigation + + + +<xsl:param name="suppress.footer.navigation">0</xsl:param> + + +Description + + +If non-zero, footer navigation will be suppressed. + + + + + + +header.rule +boolean + + +header.rule +Rule under headers? + + + + +<xsl:param name="header.rule" select="1"></xsl:param> + + + +Description + +If non-zero, a rule will be drawn below the page headers. + + + + + + +footer.rule +boolean + + +footer.rule +Rule over footers? + + + + +<xsl:param name="footer.rule" select="1"></xsl:param> + + + +Description + +If non-zero, a rule will be drawn above the page footers. + + + + + + +id.warnings +boolean + + +id.warnings +Should warnings be generated for titled elements without IDs? + + + +<xsl:param name="id.warnings" select="0"></xsl:param> + + +Description +If non-zero, the stylesheet will issue a warning for any element +(other than the root element) which has a title but does not have an +ID. + + + +Meta/*Info and Titlepages + + +inherit.keywords +boolean + + +inherit.keywords +Inherit keywords from ancestor elements? + + + + +<xsl:param name="inherit.keywords" select="1"></xsl:param> + + +Description + +If inherit.keywords +is non-zero, the keyword meta for each HTML +head element will include all of the keywords from +ancestor elements. Otherwise, only the keywords from the current section +will be used. + + + + + + + +make.single.year.ranges +boolean + + +make.single.year.ranges +Print single-year ranges (e.g., 1998-1999) + + + + +<xsl:param name="make.single.year.ranges" select="0"></xsl:param> + + +Description + +If non-zero, year ranges that span a single year will be printed +in range notation (1998-1999) instead of discrete notation +(1998, 1999). + + + + + + +make.year.ranges +boolean + + +make.year.ranges +Collate copyright years into ranges? + + + +<xsl:param name="make.year.ranges" select="0"></xsl:param> + + +Description + +If non-zero, multiple copyright year elements will be +collated into ranges. +This works only if each year number is put into a separate +year element. The copyright element permits multiple +year elements. If a year element contains a dash or +a comma, then that year element will not be merged into +any range. + + + + + + + +author.othername.in.middle +boolean + + +author.othername.in.middle +Is othername in author a +middle name? + + + + +<xsl:param name="author.othername.in.middle" select="1"></xsl:param> + + +Description + +If non-zero, the othername of an author +appears between the firstname and +surname. Otherwise, othername +is suppressed. + + + + + + + +blurb.on.titlepage.enabled +boolean + + +blurb.on.titlepage.enabled +Display personblurb and authorblurb on title pages? + + + + +<xsl:param name="blurb.on.titlepage.enabled" select="0"></xsl:param> + + + +Description + +If non-zero, output from authorblurb and +personblurb elements is displayed on title pages. If zero +(the default), output from those elements is suppressed on title pages +(unless you are using a titlepage customization +that causes them to be included). + + + + + + +contrib.inline.enabled +boolean + + +contrib.inline.enabled +Display contrib output inline? + + + +<xsl:param name="contrib.inline.enabled">1</xsl:param> + + +Description + +If non-zero (the default), output of the contrib element is +displayed as inline content rather than as block content. + + + + + + +editedby.enabled +boolean + + +editedby.enabled +Display “Edited by” heading above editor name? + + + +<xsl:param name="editedby.enabled">1</xsl:param> + + +Description + +If non-zero, a localized Edited +by heading is displayed above editor names in output of the +editor element. + + + + + + +abstract.notitle.enabled +boolean + + +abstract.notitle.enabled +Suppress display of abstract titles? + + + <xsl:param name="abstract.notitle.enabled" select="0"></xsl:param> + +Description +If non-zero, in output of the abstract element on titlepages, +display of the abstract title is suppressed. + + + + + +othercredit.like.author.enabled +boolean + + +othercredit.like.author.enabled +Display othercredit in same style as author? + + + +<xsl:param name="othercredit.like.author.enabled">0</xsl:param> + + +Description + +If non-zero, output of the +othercredit element on titlepages is displayed in +the same style as author and +editor output. If zero then +othercredit output is displayed using a style +different than that of author and +editor. + + + + + + +generate.legalnotice.link +boolean + + +generate.legalnotice.link +Write legalnotice to separate chunk and generate link? + + + +<xsl:param name="generate.legalnotice.link" select="0"></xsl:param> + + +Description + +If the value of generate.legalnotice.link +is non-zero, the stylesheet: + + + + writes the contents of legalnotice to a separate + HTML file + + + inserts a hyperlink to the legalnotice file + + + adds (in the HTML head) either a single + link or element or multiple + link elements (depending on the value of the + html.head.legalnotice.link.multiple + parameter), with the value or values derived from the + html.head.legalnotice.link.types + parameter + + + + Otherwise, if generate.legalnotice.link is + zero, legalnotice contents are rendered on the title + page. + +The name of the separate HTML file is computed as follows: + + + + If a filename is given by the dbhtml filename +processing instruction, that filename is used. + + + If the legalnotice has an id/xml:id +attribute, and if use.id.as.filename != 0, the filename +is the concatenation of the id value and the value of the html.ext +parameter. + + + If the legalnotice does not have an id/xml:id + attribute, or if use.id.as.filename = 0, the filename is the concatenation of "ln-", +auto-generated id value, and html.ext value. + + + + + + + + + + + +generate.revhistory.link +boolean + + +generate.revhistory.link +Write revhistory to separate chunk and generate link? + + + +<xsl:param name="generate.revhistory.link" select="0"></xsl:param> + + +Description + +If non-zero, the contents of revhistory are written +to a separate HTML file and a link to the file is +generated. Otherwise, revhistory contents are rendered on +the title page. + +The name of the separate HTML file is computed as follows: + + + + If a filename is given by the dbhtml filename processing instruction, +that filename is used. + + + If the revhistory has an id/xml:id +attribute, and if use.id.as.filename != 0, the filename is the concatenation of +the id value and the value of the html.ext parameter. + + + If the revhistory does not have an id/xml:id +attribute, or if use.id.as.filename = 0, the filename is the concatenation of "rh-", +auto-generated id value, and html.ext value. + + + + + + + + + + + +html.head.legalnotice.link.types +string + + +html.head.legalnotice.link.types +Specifies link types for legalnotice link in html head + + + + +<xsl:param name="html.head.legalnotice.link.types">copyright</xsl:param> + + + +Description + +The value of +html.head.legalnotice.link.types is a +space-separated list of link types, as described in Section 6.12 +of the HTML 4.01 specification. If the value of the +generate.legalnotice.link parameter is +non-zero, then the stylesheet generates (in the +head section of the HTML source) either a single +HTML link element or, if the value of the +html.head.legalnotice.link.multiple is +non-zero, one link element for each link type +specified. Each link has the following attributes: + + + + a rel attribute whose + value is derived from the value of + html.head.legalnotice.link.types + + + an href attribute whose + value is set to the URL of the file containing the + legalnotice + + + a title attribute whose + value is set to the title of the corresponding + legalnotice (or a title programatically + determined by the stylesheet) + + + +For example: + + <link rel="license" href="ln-id2524073.html" title="Legal Notice"> + + +About the default value + + In an ideal world, the default value of + html.head.legalnotice.link.types would + probably be “license”, since the content of the + DocBook legalnotice is typically license + information, not copyright information. However, the default value + is “copyright” for pragmatic reasons: because + that’s among the set of “recognized link types” listed in Section + 6.12 of the HTML 4.01 specification, and because certain + browsers and browser extensions are preconfigured to recognize that + value. + + + + + + + +html.head.legalnotice.link.multiple +boolean + + +html.head.legalnotice.link.multiple +Generate multiple link instances in html head for legalnotice? + + + + +<xsl:param name="html.head.legalnotice.link.multiple" select="1"></xsl:param> + + + +Description + +If html.head.legalnotice.link.multiple is +non-zero and the value of +html.head.legalnotice.link.types contains +multiple link types, then the stylesheet generates (in the +head section of the HTML source) one +link element for each link type specified. For +example, if the value of +html.head.legalnotice.link.types is +“copyright license”: + + <link rel="copyright" href="ln-id2524073.html" title="Legal Notice"> + <link rel="license" href="ln-id2524073.html" title="Legal Notice"> + + Otherwise, the stylesheet generates generates a single + link instance; for example: + + <link rel="copyright license" href="ln-id2524073.html" title="Legal Notice"> + + + + + +Reference Pages + + +funcsynopsis.decoration +boolean + + +funcsynopsis.decoration +Decorate elements of a funcsynopsis? + + + + +<xsl:param name="funcsynopsis.decoration" select="1"></xsl:param> + + + +Description + +If non-zero, elements of the funcsynopsis will be +decorated (e.g. rendered as bold or italic text). The decoration is controlled by +templates that can be redefined in a customization layer. + + + + + + + +funcsynopsis.style +list +ansi +kr + + +funcsynopsis.style +What style of funcsynopsis should be generated? + + + +<xsl:param name="funcsynopsis.style">kr</xsl:param> + + +Description + +If funcsynopsis.style is ansi, +ANSI-style function synopses are generated for a +funcsynopsis, otherwise K&R-style +function synopses are generated. + + + + + + + +function.parens +boolean + + +function.parens +Generate parens after a function? + + + + +<xsl:param name="function.parens" select="0"></xsl:param> + + + +Description + +If non-zero, the formatting of a function element +will include generated parentheses. + + + + + + + +refentry.generate.name +boolean + + +refentry.generate.name +Output NAME header before refnames? + + + + +<xsl:param name="refentry.generate.name" select="1"></xsl:param> + + + +Description + +If non-zero, a "NAME" section title is output before the list +of refnames. This parameter and +refentry.generate.title are mutually +exclusive. This means that if you change this parameter to zero, you +should set refentry.generate.title to non-zero unless +you want get quite strange output. + + + + + + + +refentry.generate.title +boolean + + +refentry.generate.title +Output title before refnames? + + + + +<xsl:param name="refentry.generate.title" select="0"></xsl:param> + + + +Description + +If non-zero, the reference page title or first name is +output before the list of refnames. This parameter and +refentry.generate.name are mutually exclusive. +This means that if you change this parameter to non-zero, you +should set refentry.generate.name to zero unless +you want get quite strange output. + + + + + + + +refentry.xref.manvolnum +boolean + + +refentry.xref.manvolnum +Output manvolnum as part of +refentry cross-reference? + + + + +<xsl:param name="refentry.xref.manvolnum" select="1"></xsl:param> + + + +Description + +if non-zero, the manvolnum is used when cross-referencing +refentrys, either with xref +or citerefentry. + + + + + + + +citerefentry.link +boolean + + +citerefentry.link +Generate URL links when cross-referencing RefEntrys? + + + + +<xsl:param name="citerefentry.link" select="0"></xsl:param> + + +Description + +If non-zero, a web link will be generated, presumably +to an online man->HTML gateway. The text of the link is +generated by the generate.citerefentry.link template. + + + + + + + +refentry.separator +boolean + + +refentry.separator +Generate a separator between consecutive RefEntry elements? + + + + +<xsl:param name="refentry.separator" select="1"></xsl:param> + + + +Description + +If true, a separator will be generated between consecutive +reference pages. + + + + + + + +refclass.suppress +boolean + + +refclass.suppress +Suppress display of refclass contents? + + + + +<xsl:param name="refclass.suppress" select="0"></xsl:param> + + +Description + +If the value of refclass.suppress is +non-zero, then display of refclass contents is +suppressed in output. + + + + +Tables + + +default.table.width +length + + +default.table.width +The default width of tables + + + +<xsl:param name="default.table.width"></xsl:param> + + +Description +If non-zero, this value will be used for the +width attribute on tables that do not specify an +alternate width (with the dbhtml table-width or +dbfo table-width processing instruction). + + + + + +nominal.table.width +length + + +nominal.table.width +The (absolute) nominal width of tables + + + + +<xsl:param name="nominal.table.width">6in</xsl:param> + + + +Description + +In order to convert CALS column widths into HTML column widths, it +is sometimes necessary to have an absolute table width to use for conversion +of mixed absolute and relative widths. This value must be an absolute +length (not a percentage). + + + + + + +table.borders.with.css +boolean + + +table.borders.with.css +Use CSS to specify table, row, and cell borders? + + + + +<xsl:param name="table.borders.with.css" select="0"></xsl:param> + + + +Description + +If non-zero, CSS will be used to draw table borders. + + + + + + + +table.cell.border.style +list +none +solid +dotted +dashed +double +groove +ridge +inset +outset +solid + + +table.cell.border.style +Specifies the border style of table cells + + + + +<xsl:param name="table.cell.border.style">solid</xsl:param> + + + +Description + +Specifies the border style of table cells. + + + To control properties of cell borders in HTML output, you must also turn on the + table.borders.with.css parameter. + + + + + + + +table.cell.border.thickness +length + + +table.cell.border.thickness +Specifies the thickness of table cell borders + + + + +<xsl:param name="table.cell.border.thickness">0.5pt</xsl:param> + + + +Description + +If non-zero, specifies the thickness of borders on table +cells. The units are points. See +CSS + + + To control properties of cell borders in HTML output, you must also turn on the + table.borders.with.css parameter. + + + + + + + +table.cell.border.color +color + + +table.cell.border.color +Specifies the border color of table cells + + + + +<xsl:param name="table.cell.border.color"></xsl:param> + + + + +Description + +Set the color of table cell borders. If non-zero, the value is used +for the border coloration. See CSS. A +color is either a keyword or a numerical RGB specification. +Keywords are aqua, black, blue, fuchsia, gray, green, lime, maroon, +navy, olive, orange, purple, red, silver, teal, white, and +yellow. + + + To control properties of cell borders in HTML output, you must also turn on the + table.borders.with.css parameter. + + + + + + + +table.frame.border.style +list +none +solid +dotted +dashed +double +groove +ridge +inset +outset +solid + + +table.frame.border.style +Specifies the border style of table frames + + + + +<xsl:param name="table.frame.border.style">solid</xsl:param> + + + +Description + +Specifies the border style of table frames. + + + + + + +table.frame.border.thickness +length + + +table.frame.border.thickness +Specifies the thickness of the frame border + + + + +<xsl:param name="table.frame.border.thickness">0.5pt</xsl:param> + + + +Description + +Specifies the thickness of the border on the table's frame. + + + + + + +table.frame.border.color +color + + +table.frame.border.color +Specifies the border color of table frames + + + + +<xsl:param name="table.frame.border.color"></xsl:param> + + + + +Description + +Specifies the border color of table frames. + + + + + + +default.table.frame +string + + +default.table.frame +The default framing of tables + + + + +<xsl:param name="default.table.frame">all</xsl:param> + + + +Description + +This value will be used when there is no frame attribute on the +table. + + + + + + +html.cellspacing +integer + + +html.cellspacing +Default value for cellspacing in HTML tables + + + + +<xsl:param name="html.cellspacing"></xsl:param> + + + +Description + +If non-zero, this value will be used as the default cellspacing +value in HTML tables. nn for pixels or nn% for percentage +length. E.g. 5 or 5% + + + + + + +html.cellpadding +integer + + +html.cellpadding +Default value for cellpadding in HTML tables + + + + +<xsl:param name="html.cellpadding"></xsl:param> + + + +Description + +If non-zero, this value will be used as the default cellpadding value +in HTML tables. nn for pixels or nn% for percentage length. E.g. 5 or +5% + + + + +QAndASet + + +qanda.defaultlabel +list +number +qanda +none + + +qanda.defaultlabel +Sets the default for defaultlabel on QandASet. + + + + +<xsl:param name="qanda.defaultlabel">number</xsl:param> + + + +Description + +If no defaultlabel attribute is specified on +a qandaset, this value is used. It is generally one of the legal +values for the defaultlabel attribute (none, +number or +qanda), or one of the additional stylesheet-specific values +(qnumber or qnumberanda). +The default value is 'number'. + +The values are rendered as follows: + +qanda + +questions are labeled "Q:" and +answers are labeled "A:". + + + +number + +The questions are enumerated and the answers +are not labeled. + + + +qnumber + +The questions are labeled "Q:" followed by a number, and answers are not +labeled. +When sections are numbered, adding a label +to the number distinguishes the question numbers +from the section numbers. +This value is not allowed in the +defaultlabel attribute +of a qandaset element. + + + +qnumberanda + +The questions are labeled "Q:" followed by a number, and +the answers are labeled "A:". +When sections are numbered, adding a label +to the number distinguishes the question numbers +from the section numbers. +This value is not allowed in the +defaultlabel attribute +of a qandaset element. + + + +none + +No distinguishing label precedes Questions or Answers. + + + + + + + + + + +qanda.inherit.numeration +boolean + + +qanda.inherit.numeration +Does enumeration of QandASet components inherit the numeration of parent elements? + + + + +<xsl:param name="qanda.inherit.numeration" select="1"></xsl:param> + + + +Description + +If non-zero, numbered qandadiv elements and +question and answer inherit the enumeration of +the ancestors of the qandaset. + + + + + + + +qanda.in.toc +boolean + + +qanda.in.toc +Should qandaentry questions appear in +the document table of contents? + + + +<xsl:param name="qanda.in.toc" select="0"></xsl:param> + + +Description + +If true (non-zero), then the generated table of contents +for a document will include qandaset titles, +qandadiv titles, +and question elements. The default value (zero) excludes +them from the TOC. + +This parameter does not affect any tables of contents +that may be generated inside a qandaset or qandadiv. + + + + + + + +qanda.nested.in.toc +boolean + + +qanda.nested.in.toc +Should nested answer/qandaentry instances appear in TOC? + + + + +<xsl:param name="qanda.nested.in.toc" select="0"></xsl:param> + + + +Description + +If non-zero, instances of qandaentry +that are children of answer elements are shown in +the TOC. + + + + +Linking + + +target.database.document +uri + + +target.database.document +Name of master database file for resolving +olinks + + + + <xsl:param name="target.database.document">olinkdb.xml</xsl:param> + + +Description + + +To resolve olinks between documents, the stylesheets use a master +database document that identifies the target datafiles for all the +documents within the scope of the olinks. This parameter value is the +URI of the master document to be read during processing to resolve +olinks. The default value is olinkdb.xml. + +The data structure of the file is defined in the +targetdatabase.dtd DTD. The database file +provides the high level elements to record the identifiers, locations, +and relationships of documents. The cross reference data for +individual documents is generally pulled into the database using +system entity references or XIncludes. See also +targets.filename. + + + + +targets.filename +string + + +targets.filename +Name of cross reference targets data file + + +<xsl:param name="targets.filename">target.db</xsl:param> + + +Description + + +In order to resolve olinks efficiently, the stylesheets can +generate an external data file containing information about +all potential cross reference endpoints in a document. +This parameter lets you change the name of the generated +file from the default name target.db. +The name must agree with that used in the target database +used to resolve olinks during processing. +See also target.database.document. + + + + + + +olink.base.uri +uri + + +olink.base.uri +Base URI used in olink hrefs + + +<xsl:param name="olink.base.uri"></xsl:param> + + +Description + +When cross reference data is collected for resolving olinks, it +may be necessary to prepend a base URI to each target's href. This +parameter lets you set that base URI when cross reference data is +collected. This feature is needed when you want to link to a document +that is processed without chunking. The output filename for such a +document is not known to the XSL stylesheet; the only target +information consists of fragment identifiers such as +#idref. To enable the resolution of olinks between +documents, you should pass the name of the HTML output file as the +value of this parameter. Then the hrefs recorded in the cross +reference data collection look like +outfile.html#idref, which can be reached as links +from other documents. + + + + + +use.local.olink.style +boolean + + +use.local.olink.style +Process olinks using xref style of current +document + + +<xsl:param name="use.local.olink.style" select="0"></xsl:param> + +Description + +When cross reference data is collected for use by olinks, the data for each potential target includes one field containing a completely assembled cross reference string, as if it were an xref generated in that document. Other fields record the separate title, number, and element name of each target. When an olink is formed to a target from another document, the olink resolves to that preassembled string by default. If the use.local.olink.style parameter is set to non-zero, then instead the cross +reference string is formed again from the target title, number, and +element name, using the stylesheet processing the targeting document. +Then olinks will match the xref style in the targeting document +rather than in the target document. If both documents are processed +with the same stylesheet, then the results will be the same. + + + + + +current.docid +string + + +current.docid +targetdoc identifier for the document being +processed + + +<xsl:param name="current.docid"></xsl:param> + + +Description + +When olinks between documents are resolved for HTML output, the stylesheet can compute the relative path between the current document and the target document. The stylesheet needs to know the targetdoc identifiers for both documents, as they appear in the target.database.document database file. This parameter passes to the stylesheet +the targetdoc identifier of the current document, since that +identifier does not appear in the document itself. +This parameter can also be used for print output. If an olink's targetdoc id differs from the current.docid, then the stylesheet can append the target document's title to the generated olink text. That identifies to the reader that the link is to a different document, not the current document. See also olink.doctitle to enable that feature. + + + + + +olink.doctitle +list +no +yes +maybe + + +olink.doctitle +show the document title for external olinks? + + + +<xsl:param name="olink.doctitle">no</xsl:param> + + +Description + +When olinks between documents are resolved, the generated text +may not make it clear that the reference is to another document. +It is possible for the stylesheets to append the other document's +title to external olinks. For this to happen, two parameters must +be set. + + +This olink.doctitle parameter +should be set to either yes or maybe +to enable this feature. + + + +And you should also set the current.docid +parameter to the document id for the document currently +being processed for output. + + + + + +Then if an olink's targetdoc id differs from +the current.docid value, the stylesheet knows +that it is a reference to another document and can +append the target document's +title to the generated olink text. + +The text for the target document's title is copied from the +olink database from the ttl element +of the top-level div for that document. +If that ttl element is missing or empty, +no title is output. + + +The supported values for olink.doctitle are: + + + +yes + + +Always insert the title to the target document if it is not +the current document. + + + + +no + + +Never insert the title to the target document, even if requested +in an xrefstyle attribute. + + + + +maybe + + +Only insert the title to the target document, if requested +in an xrefstyle attribute. + + + + +An xrefstyle attribute +may override the global setting for individual olinks. +The following values are supported in an +xrefstyle +attribute using the select: syntax: + + + + +docname + + +Insert the target document name for this olink using the +docname gentext template, but only +if the value of olink.doctitle +is not no. + + + + +docnamelong + + +Insert the target document name for this olink using the +docnamelong gentext template, but only +if the value of olink.doctitle +is not no. + + + + +nodocname + + +Omit the target document name even if +the value of olink.doctitle +is yes. + + + + +Another way of inserting the target document name +for a single olink is to employ an +xrefstyle +attribute using the template: syntax. +The %o placeholder (the letter o, not zero) +in such a template +will be filled in with the target document's title when it is processed. +This will occur regardless of +the value of olink.doctitle. + +Note that prior to version 1.66 of the XSL stylesheets, +the allowed values for this parameter were 0 and 1. Those +values are still supported and mapped to 'no' and 'yes', respectively. + + + + + + +olink.debug +boolean + + +olink.debug +Turn on debugging messages for olinks + + + + +<xsl:param name="olink.debug" select="0"></xsl:param> + + + +Description + +If non-zero, then each olink will generate several +messages about how it is being resolved during processing. +This is useful when an olink does not resolve properly +and the standard error messages are not sufficient to +find the problem. + + +You may need to read through the olink XSL templates +to understand the context for some of the debug messages. + + + + + + + +olink.properties +attribute set + + +olink.properties +Properties associated with the cross-reference +text of an olink. + + + + +<xsl:attribute-set name="olink.properties"> + <xsl:attribute name="show-destination">replace</xsl:attribute> +</xsl:attribute-set> + + + +Description + +This attribute set is applied to the +fo:basic-link element of an olink. It is not applied to the +optional page number or optional title of the external +document. + + + + + + +olink.lang.fallback.sequence +string + + +olink.lang.fallback.sequence +look up translated documents if olink not found? + + + +<xsl:param name="olink.lang.fallback.sequence"></xsl:param> + + +Description + + +This parameter defines a list of lang values +to search among to resolve olinks. + + +Normally an olink tries to resolve to a document in the same +language as the olink itself. The language of an olink +is determined by its nearest ancestor element with a +lang attribute, otherwise the +value of the l10n.gentext.default.lang +parameter. + + +An olink database can contain target data for the same +document in multiple languages. Each set of data has the +same value for the targetdoc attribute in +the document element in the database, but with a +different lang attribute value. + + +When an olink is being resolved, the target is first +sought in the document with the same language as the olink. +If no match is found there, then this parameter is consulted +for additional languages to try. + +The olink.lang.fallback.sequence +must be a whitespace separated list of lang values to +try. The first one with a match in the olink database is used. +The default value is empty. + +For example, a document might be written in German +and contain an olink with +targetdoc="adminguide". +When the document is processed, the processor +first looks for a target dataset in the +olink database starting with: + +<document targetdoc="adminguide" lang="de">. + + +If there is no such element, then the +olink.lang.fallback.sequence +parameter is consulted. +If its value is, for example, fr en, then the processor next +looks for targetdoc="adminguide" lang="fr", and +then for targetdoc="adminguide" lang="en". +If there is still no match, it looks for +targetdoc="adminguide" with no +lang attribute. + + +This parameter is useful when a set of documents is only +partially translated, or is in the process of being translated. +If a target of an olink has not yet been translated, then this +parameter permits the processor to look for the document in +other languages. This assumes the reader would rather have +a link to a document in a different language than to have +a broken link. + + + + + + + +insert.olink.page.number +list +no +yes +maybe + + +insert.olink.page.number +Turns page numbers in olinks on and off + + + + +<xsl:param name="insert.olink.page.number">no</xsl:param> + + + +Description + +The value of this parameter determines if +cross references made between documents with +olink will +include page number citations. +In most cases this is only applicable to references in printed output. + +The parameter has three possible values. + + + +no +No page number references will be generated for olinks. + + + +yes +Page number references will be generated +for all olink references. +The style of page reference may be changed +if an xrefstyle +attribute is used. + + + +maybe +Page number references will not be generated +for an olink element unless +it has an +xrefstyle +attribute whose value specifies a page reference. + + + +Olinks that point to targets within the same document +are treated as xrefs, and controlled by +the insert.xref.page.number parameter. + + +Page number references for olinks to +external documents can only be inserted if the +information exists in the olink database. +This means each olink target element +(div or obj) +must have a page attribute +whose value is its page number in the target document. +The XSL stylesheets are not able to extract that information +during processing because pages have not yet been created in +XSLT transformation. Only the XSL-FO processor knows what +page each element is placed on. +Therefore some postprocessing must take place to populate +page numbers in the olink database. + + + + + + + + + +insert.olink.pdf.frag +boolean + + +insert.olink.pdf.frag +Add fragment identifiers for links into PDF files + + + + +<xsl:param name="insert.olink.pdf.frag" select="0"></xsl:param> + + + +Description + +The value of this parameter determines whether +the cross reference URIs to PDF documents made with +olink will +include fragment identifiers. + + +When forming a URI to link to a PDF document, +a fragment identifier (typically a '#' followed by an +id value) appended to the PDF filename can be used by +the PDF viewer to open +the PDF file to a location within the document instead of +the first page. +However, not all PDF files have id +values embedded in them, and not all PDF viewers can +handle fragment identifiers. + + +If insert.olink.pdf.frag is set +to a non-zero value, then any olink targeting a +PDF file will have the fragment identifier appended to the URI. +The URI is formed by concatenating the value of the +olink.base.uri parameter, the +value of the baseuri +attribute from the document +element in the olink database with the matching +targetdoc value, +and the value of the href +attribute for the targeted element in the olink database. +The href attribute +contains the fragment identifier. + + +If insert.olink.pdf.frag is set +to zero (the default value), then +the href attribute +from the olink database +is not appended to PDF olinks, so the fragment identifier is left off. +A PDF olink is any olink for which the +baseuri attribute +from the matching document +element in the olink database ends with '.pdf'. +Any other olinks will still have the fragment identifier added. + + + + + + +prefer.internal.olink +boolean + + +prefer.internal.olink +Prefer a local olink reference to an external reference + + + + +<xsl:param name="prefer.internal.olink" select="0"></xsl:param> + + + +Description + +If you are re-using XML content modules in multiple documents, +you may want to redirect some of your olinks. This parameter +permits you to redirect an olink to the current document. + + +For example: you are writing documentation for a product, +which includes 3 manuals: a little installation +booklet (booklet.xml), a user +guide (user.xml), and a reference manual (reference.xml). +All 3 documents begin with the same introduction section (intro.xml) that +contains a reference to the customization section (custom.xml) which is +included in both user.xml and reference.xml documents. + + +How do you write the link to custom.xml in intro.xml +so that it is interpreted correctly in all 3 documents? + +If you use xref, it will fail in user.xml. + +If you use olink (pointing to reference.xml), +the reference in user.xml +will point to the customization section of the reference manual, while it is +actually available in user.xml. + + + +If you set the prefer.internal.olink +parameter to a non-zero value, then the processor will +first look in the olink database +for the olink's targetptr attribute value +in document matching the current.docid +parameter value. If it isn't found there, then +it tries the document in the database +with the targetdoc +value that matches the olink's targetdoc +attribute. + + +This feature permits an olink reference to resolve to +the current document if there is an element +with an id matching the olink's targetptr +value. The current document's olink data must be +included in the target database for this to work. + + +There is a potential for incorrect links if +the same id attribute value is used for different +content in different documents. +Some of your olinks may be redirected to the current document +when they shouldn't be. It is not possible to control +individual olink instances. + + + + + + + +link.mailto.url +string + + +link.mailto.url +Mailto URL for the LINK REL=made HTML HEAD element + + + + +<xsl:param name="link.mailto.url"></xsl:param> + + + +Description + +If not the empty string, this address will be used for the +rel=made link element in the html head + + + + + + + +ulink.target +string + + +ulink.target +The HTML anchor target for ULinks + + + + +<xsl:param name="ulink.target">_top</xsl:param> + + + +Description + +If ulink.target is non-zero, its value will +be used for the target attribute +on anchors generated for ulinks. + + + + + + +olink.fragid +string + + +olink.fragid +Names the fragment identifier portion of an OLink resolver query + + + +<xsl:param name="olink.fragid">fragid=</xsl:param> + + +Description +The fragment identifier portion of an olink target. + + + + + +olink.outline.ext +string + + +olink.outline.ext +The extension of OLink outline files + + + + +<xsl:param name="olink.outline.ext">.olink</xsl:param> + + + +Description + +The extension to be expected for OLink outline files +Bob has this parameter as dead. Please don't use + + + + + + +olink.pubid +string + + +olink.pubid +Names the public identifier portion of an OLink resolver query + + + + +<xsl:param name="olink.pubid">pubid</xsl:param> + + + +Description + + + + + + + + +olink.sysid +string + + +olink.sysid +Names the system identifier portion of an OLink resolver query + + + + +<xsl:param name="olink.sysid">sysid</xsl:param> + + + +Description + +FIXME + + + + + + +olink.resolver +string + + +olink.resolver +The root name of the OLink resolver (usually a script) + + + + <xsl:param name="olink.resolver">/cgi-bin/olink</xsl:param> + + +Description +FIXME: + + + +Cross References + + +collect.xref.targets +list +no +yes +only + + +collect.xref.targets +Controls whether cross reference data is +collected + + +<xsl:param name="collect.xref.targets">no</xsl:param> + + +Description + + +In order to resolve olinks efficiently, the stylesheets can +generate an external data file containing information about +all potential cross reference endpoints in a document. +This parameter determines whether the collection process is run when the document is processed by the stylesheet. The default value is no, which means the data file is not generated during processing. The other choices are yes, which means the data file is created and the document is processed for output, and only, which means the data file is created but the document is not processed for output. +See also targets.filename. + + + + + + +insert.xref.page.number +list +no +yes +maybe + + +insert.xref.page.number +Turns page numbers in xrefs on and off + + + + +<xsl:param name="insert.xref.page.number">no</xsl:param> + + + +Description + +The value of this parameter determines if +cross references (xrefs) in +printed output will +include page number citations. +It has three possible values. + + + +no +No page number references will be generated. + + + +yes +Page number references will be generated +for all xref elements. +The style of page reference may be changed +if an xrefstyle +attribute is used. + + + +maybe +Page number references will not be generated +for an xref element unless +it has an +xrefstyle +attribute whose value specifies a page reference. + + + + + + + + + +use.role.as.xrefstyle +boolean + + +use.role.as.xrefstyle +Use role attribute for +xrefstyle on xref? + + + + +<xsl:param name="use.role.as.xrefstyle" select="1"></xsl:param> + + + +Description + +In DocBook documents that conform to a schema older than V4.3, this parameter allows +role to serve the purpose of specifying the cross reference style. + +If non-zero, the role attribute on +xref will be used to select the cross reference style. +In DocBook V4.3, the xrefstyle attribute was added for this purpose. +If the xrefstyle attribute is present, +role will be ignored, regardless of the setting +of this parameter. + + + +Example + +The following small stylesheet shows how to configure the +stylesheets to make use of the cross reference style: + +<?xml version="1.0"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version="1.0"> + +<xsl:import href="../xsl/html/docbook.xsl"/> + +<xsl:output method="html"/> + +<xsl:param name="local.l10n.xml" select="document('')"/> +<l:i18n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0"> + <l:l10n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" language="en"> + <l:context name="xref"> + <l:template name="chapter" style="title" text="Chapter %n, %t"/> + <l:template name="chapter" text="Chapter %n"/> + </l:context> + </l:l10n> +</l:i18n> + +</xsl:stylesheet> + +With this stylesheet, the cross references in the following document: + +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> +<book id="book"><title>Book</title> + +<preface> +<title>Preface</title> + +<para>Normal: <xref linkend="ch1"/>.</para> +<para>Title: <xref xrefstyle="title" linkend="ch1"/>.</para> + +</preface> + +<chapter id="ch1"> +<title>First Chapter</title> + +<para>Irrelevant.</para> + +</chapter> +</book> + +will appear as: + + +Normal: Chapter 1. +Title: Chapter 1, First Chapter. + + + + + + + +xref.with.number.and.title +boolean + + +xref.with.number.and.title +Use number and title in cross references + + + + +<xsl:param name="xref.with.number.and.title" select="1"></xsl:param> + + + +Description + +A cross reference may include the number (for example, the number of +an example or figure) and the title which is a required child of some +targets. This parameter inserts both the relevant number as well as +the title into the link. + + + + + + +xref.label-page.separator +string + + +xref.label-page.separator +Punctuation or space separating label from page number in xref + + + +<xsl:param name="xref.label-page.separator"><xsl:text> </xsl:text></xsl:param> + + +Description + + +This parameter allows you to control the punctuation of certain +types of generated cross reference text. +When cross reference text is generated for an +xref or +olink element +using an xrefstyle attribute +that makes use of the select: feature, +and the selected components include both label and page +but no title, +then the value of this parameter is inserted between +label and page number in the output. +If a title is included, then other separators are used. + + + + + + + +xref.label-title.separator +string + + +xref.label-title.separator +Punctuation or space separating label from title in xref + + + +<xsl:param name="xref.label-title.separator">: </xsl:param> + + +Description + + +This parameter allows you to control the punctuation of certain +types of generated cross reference text. +When cross reference text is generated for an +xref or +olink element +using an xrefstyle attribute +that makes use of the select: feature, +and the selected components include both label and title, +then the value of this parameter is inserted between +label and title in the output. + + + + + + + +xref.title-page.separator +string + + +xref.title-page.separator +Punctuation or space separating title from page number in xref + + + +<xsl:param name="xref.title-page.separator"><xsl:text> </xsl:text></xsl:param> + + +Description + + +This parameter allows you to control the punctuation of certain +types of generated cross reference text. +When cross reference text is generated for an +xref or +olink element +using an xrefstyle attribute +that makes use of the select: feature, +and the selected components include both title and page number, +then the value of this parameter is inserted between +title and page number in the output. + + + + + +Lists + + +segmentedlist.as.table +boolean + + +segmentedlist.as.table +Format segmented lists as tables? + + + + +<xsl:param name="segmentedlist.as.table" select="0"></xsl:param> + + + +Description + +If non-zero, segmentedlists will be formatted as +tables. + + + + + + +variablelist.as.table +boolean + + +variablelist.as.table +Format variablelists as tables? + + + + +<xsl:param name="variablelist.as.table" select="0"></xsl:param> + + + +Description + +If non-zero, variablelists will be formatted as +tables. A processing instruction exists to specify a particular width for the +column containing the terms: +dbhtml term-width=".25in" + +You can override this setting with a processing instruction as the +child of variablelist: dbhtml +list-presentation="table" or dbhtml +list-presentation="list". + +This parameter only applies to the HTML transformations. In the +FO case, proper list markup is robust enough to handle the formatting. +But see also variablelist.as.blocks. + + <variablelist> + <?dbhtml list-presentation="table"?> + <?dbhtml term-width="1.5in"?> + <?dbfo list-presentation="list"?> + <?dbfo term-width="1in"?> + <varlistentry> + <term>list</term> + <listitem> + <para> + Formatted as a table even if variablelist.as.table is set to 0. + </para> + </listitem> + </varlistentry> + </variablelist> + + + + + + +variablelist.term.separator +string + + +variablelist.term.separator +Text to separate terms within a multi-term +varlistentry + + + + +<xsl:param name="variablelist.term.separator">, </xsl:param> + + +Description + +When a varlistentry contains multiple term +elements, the string specified in the value of the +variablelist.term.separator parameter is placed +after each term except the last. + + + To generate a line break between multiple terms in + a varlistentry, set a non-zero value for the + variablelist.term.break.after parameter. If + you do so, you may also want to set the value of the + variablelist.term.separator parameter to an + empty string (to suppress rendering of the default comma and space + after each term). + + + + + + + +variablelist.term.break.after +boolean + + +variablelist.term.break.after +Generate line break after each term within a +multi-term varlistentry? + + + + +<xsl:param name="variablelist.term.break.after">0</xsl:param> + + +Description + +Set a non-zero value for the +variablelist.term.break.after parameter to +generate a line break between terms in a +multi-term varlistentry. + + +If you set a non-zero value for +variablelist.term.break.after, you may also +want to set the value of the +variablelist.term.separator parameter to an +empty string (to suppress rendering of the default comma and space +after each term). + + + + + +Bibliography + + +bibliography.style +list +normal +iso690 + + +bibliography.style +Style used for formatting of biblioentries. + + + + +<xsl:param name="bibliography.style">normal</xsl:param> + + + +Description + +Currently only normal and +iso690 styles are supported. + +In order to use ISO690 style to the full extent you might need +to use additional markup described on the +following WiKi page. + + + + + + +biblioentry.item.separator +string + + +biblioentry.item.separator +Text to separate bibliography entries + + + +<xsl:param name="biblioentry.item.separator">. </xsl:param> + + +Description + +Text to separate bibliography entries + + + + + + + +bibliography.collection +string + + +bibliography.collection +Name of the bibliography collection file + + + + +<xsl:param name="bibliography.collection">http://docbook.sourceforge.net/release/bibliography/bibliography.xml</xsl:param> + + + + +Description + +Maintaining bibliography entries across a set of documents is tedious, time +consuming, and error prone. It makes much more sense, usually, to store all of +the bibliography entries in a single place and simply extract +the ones you need in each document. + +That's the purpose of the +bibliography.collection parameter. To setup a global +bibliography database, follow these steps: + +First, create a stand-alone bibliography document that contains all of +the documents that you wish to reference. Make sure that each bibliography +entry (whether you use biblioentry or bibliomixed) +has an ID. + +My global bibliography, ~/bibliography.xml begins +like this: + + +<!DOCTYPE bibliography + PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" + "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"> +<bibliography><title>References</title> + +<bibliomixed id="xml-rec"><abbrev>XML 1.0</abbrev>Tim Bray, +Jean Paoli, C. M. Sperberg-McQueen, and Eve Maler, editors. +<citetitle><ulink url="http://www.w3.org/TR/REC-xml">Extensible Markup +Language (XML) 1.0 Second Edition</ulink></citetitle>. +World Wide Web Consortium, 2000. +</bibliomixed> + +<bibliomixed id="xml-names"><abbrev>Namespaces</abbrev>Tim Bray, +Dave Hollander, +and Andrew Layman, editors. +<citetitle><ulink url="http://www.w3.org/TR/REC-xml-names/">Namespaces in +XML</ulink></citetitle>. +World Wide Web Consortium, 1999. +</bibliomixed> + +<!-- ... --> +</bibliography> + + + +When you create a bibliography in your document, simply +provide empty bibliomixed +entries for each document that you wish to cite. Make sure that these +elements have the same ID as the corresponding real +entry in your global bibliography. + +For example: + + +<bibliography><title>Bibliography</title> + +<bibliomixed id="xml-rec"/> +<bibliomixed id="xml-names"/> +<bibliomixed id="DKnuth86">Donald E. Knuth. <citetitle>Computers and +Typesetting: Volume B, TeX: The Program</citetitle>. Addison-Wesley, +1986. ISBN 0-201-13437-3. +</bibliomixed> +<bibliomixed id="relaxng"/> + +</bibliography> + + +Note that it's perfectly acceptable to mix entries from your +global bibliography with normal entries. You can use +xref or other elements to cross-reference your +bibliography entries in exactly the same way you do now. + +Finally, when you are ready to format your document, simply set the +bibliography.collection parameter (in either a +customization layer or directly through your processor's interface) to +point to your global bibliography. + +The stylesheets will format the bibliography in your document as if +all of the entries referenced appeared there literally. + + + + + + +bibliography.numbered +boolean + + +bibliography.numbered +Should bibliography entries be numbered? + + + + +<xsl:param name="bibliography.numbered" select="0"></xsl:param> + + + +Description + +If non-zero bibliography entries will be numbered + + + + +Glossary + + +glossterm.auto.link +boolean + + +glossterm.auto.link +Generate links from glossterm to glossentry automatically? + + + + +<xsl:param name="glossterm.auto.link" select="0"></xsl:param> + + + +Description + +If non-zero, links from inline glossterms to the corresponding +glossentry elements in a glossary or glosslist +will be automatically generated. This is useful when your glossterms are consistent +and you don't want to add links manually. + +The automatic link generation feature is not used on glossterm elements +that have a linkend attribute. + + + + + + +firstterm.only.link +boolean + + +firstterm.only.link +Does automatic glossterm linking only apply to firstterms? + + + + +<xsl:param name="firstterm.only.link" select="0"></xsl:param> + + + +Description + +If non-zero, only firstterms will be automatically linked +to the glossary. If glossary linking is not enabled, this parameter +has no effect. + + + + + + +glossary.collection +string + + +glossary.collection +Name of the glossary collection file + + + + +<xsl:param name="glossary.collection"></xsl:param> + + + +Description + +Glossaries maintained independently across a set of documents +are likely to become inconsistent unless considerable effort is +expended to keep them in sync. It makes much more sense, usually, to +store all of the glossary entries in a single place and simply +extract the ones you need in each document. + +That's the purpose of the +glossary.collection parameter. To setup a global +glossary database, follow these steps: + +Setting Up the Glossary Database + +First, create a stand-alone glossary document that contains all of +the entries that you wish to reference. Make sure that each glossary +entry has an ID. + +Here's an example glossary: + + + +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE glossary + PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" + "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"> +<glossary> +<glossaryinfo> +<editor><firstname>Eric</firstname><surname>Raymond</surname></editor> +<title>Jargon File 4.2.3 (abridged)</title> +<releaseinfo>Just some test data</releaseinfo> +</glossaryinfo> + +<glossdiv><title>0</title> + +<glossentry> +<glossterm>0</glossterm> +<glossdef> +<para>Numeric zero, as opposed to the letter `O' (the 15th letter of +the English alphabet). In their unmodified forms they look a lot +alike, and various kluges invented to make them visually distinct have +compounded the confusion. If your zero is center-dotted and letter-O +is not, or if letter-O looks almost rectangular but zero looks more +like an American football stood on end (or the reverse), you're +probably looking at a modern character display (though the dotted zero +seems to have originated as an option on IBM 3270 controllers). If +your zero is slashed but letter-O is not, you're probably looking at +an old-style ASCII graphic set descended from the default typewheel on +the venerable ASR-33 Teletype (Scandinavians, for whom /O is a letter, +curse this arrangement). (Interestingly, the slashed zero long +predates computers; Florian Cajori's monumental "A History of +Mathematical Notations" notes that it was used in the twelfth and +thirteenth centuries.) If letter-O has a slash across it and the zero +does not, your display is tuned for a very old convention used at IBM +and a few other early mainframe makers (Scandinavians curse <emphasis>this</emphasis> +arrangement even more, because it means two of their letters collide). +Some Burroughs/Unisys equipment displays a zero with a <emphasis>reversed</emphasis> +slash. Old CDC computers rendered letter O as an unbroken oval and 0 +as an oval broken at upper right and lower left. And yet another +convention common on early line printers left zero unornamented but +added a tail or hook to the letter-O so that it resembled an inverted +Q or cursive capital letter-O (this was endorsed by a draft ANSI +standard for how to draw ASCII characters, but the final standard +changed the distinguisher to a tick-mark in the upper-left corner). +Are we sufficiently confused yet?</para> +</glossdef> +</glossentry> + +<glossentry> +<glossterm>1TBS</glossterm> +<glossdef> +<para role="accidence"> +<phrase role="pronounce"></phrase> +<phrase role="partsofspeach">n</phrase> +</para> +<para>The "One True Brace Style"</para> +<glossseealso>indent style</glossseealso> +</glossdef> +</glossentry> + +<!-- ... --> + +</glossdiv> + +<!-- ... --> + +</glossary> + + + + +Marking Up Glossary Terms + +That takes care of the glossary database, now you have to get the entries +into your document. Unlike bibliography entries, which can be empty, creating +placeholder glossary entries would be very tedious. So instead, +support for glossary.collection relies on implicit linking. + +In your source document, simply use firstterm and +glossterm to identify the terms you wish to have included +in the glossary. The stylesheets assume that you will either set the +baseform attribute correctly, or that the +content of the element exactly matches a term in your glossary. + +If you're using a glossary.collection, don't +make explicit links on the terms in your document. + +So, in your document, you might write things like this: + + +<para>This is dummy text, without any real meaning. +The point is simply to reference glossary terms like <glossterm>0</glossterm> +and the <firstterm baseform="1TBS">One True Brace Style (1TBS)</firstterm>. +The <glossterm>1TBS</glossterm>, as you can probably imagine, is a nearly +religious issue.</para> + + +If you set the firstterm.only.link parameter, +only the terms marked with firstterm will be links. +Otherwise, all the terms will be linked. + + + +Marking Up the Glossary + +The glossary itself has to be identified for the stylesheets. For lack +of a better choice, the role is used. +To identify the glossary as the target for automatic processing, set +the role to auto. The title of this +glossary (and any other information from the glossaryinfo +that's rendered by your stylesheet) will be displayed, but the entries will +come from the database. + + +Unfortunately, the glossary can't be empty, so you must put in +at least one glossentry. The content of this entry +is irrelevant, it will not be rendered: + + +<glossary role="auto"> +<glossentry> +<glossterm>Irrelevant</glossterm> +<glossdef> +<para>If you can see this, the document was processed incorrectly. Use +the <parameter>glossary.collection</parameter> parameter.</para> +</glossdef> +</glossentry> +</glossary> + + +What about glossary divisions? If your glossary database has glossary +divisions and your automatic glossary contains at least +one glossdiv, the automic glossary will have divisions. +If the glossdiv is missing from either location, no divisions +will be rendered. + +Glossary entries (and divisions, if appropriate) in the glossary will +occur in precisely the order they occur in your database. + + + +Formatting the Document + +Finally, when you are ready to format your document, simply set the +glossary.collection parameter (in either a +customization layer or directly through your processor's interface) to +point to your global glossary. + +The stylesheets will format the glossary in your document as if +all of the entries implicilty referenced appeared there literally. + + +Limitations + +Glossary cross-references within the glossary are +not supported. For example, this will not work: + + +<glossentry> +<glossterm>gloss-1</glossterm> +<glossdef><para>A description that references <glossterm>gloss-2</glossterm>.</para> +<glossseealso>gloss-2</glossseealso> +</glossdef> +</glossentry> + + +If you put glossary cross-references in your glossary that way, +you'll get the cryptic error: Warning: +glossary.collection specified, but there are 0 automatic +glossaries. + +Instead, you must do two things: + + + +Markup your glossary using glossseealso: + + +<glossentry> +<glossterm>gloss-1</glossterm> +<glossdef><para>A description that references <glossterm>gloss-2</glossterm>.</para> +<glossseealso>gloss-2</glossseealso> +</glossdef> +</glossentry> + + + + +Make sure there is at least one glossterm reference to +gloss-2 in your document. The +easiest way to do that is probably within a remark in your +automatic glossary: + + +<glossary role="auto"> +<remark>Make sure there's a reference to <glossterm>gloss-2</glossterm>.</remark> +<glossentry> +<glossterm>Irrelevant</glossterm> +<glossdef> +<para>If you can see this, the document was processed incorrectly. Use +the <parameter>glossary.collection</parameter> parameter.</para> +</glossdef> +</glossentry> +</glossary> + + + + + + + + + + +glossary.sort +boolean + + +glossary.sort +Sort glossentry elements? + + + + +<xsl:param name="glossary.sort" select="0"></xsl:param> + + + +Description + +If non-zero, then the glossentry elements within a +glossary, glossdiv, or glosslist are sorted on the glossterm, using +the current lang setting. If zero (the default), then +glossentry elements are not sorted and are presented +in document order. + + + + + + + +glossentry.show.acronym +list +no +yes +primary + + +glossentry.show.acronym +Display glossentry acronyms? + + + + +<xsl:param name="glossentry.show.acronym">no</xsl:param> + + + +Description + +A setting of yes means they should be displayed; +no means they shouldn't. If primary is used, +then they are shown as the primary text for the entry. + + +This setting controls both acronym and +abbrev elements in the glossentry. + + + + + +Miscellaneous + + +formal.procedures +boolean + + +formal.procedures +Selects formal or informal procedures + + + + +<xsl:param name="formal.procedures" select="1"></xsl:param> + + + +Description + +Formal procedures are numbered and always have a title. + + + + + + + +formal.title.placement +table + + +formal.title.placement +Specifies where formal object titles should occur + + + + +<xsl:param name="formal.title.placement"> +figure before +example before +equation before +table before +procedure before +task before +</xsl:param> + + + +Description + +Specifies where formal object titles should occur. For each formal object +type (figure, +example, +equation, +table, and procedure) +you can specify either the keyword +before or +after. + + + + + + +runinhead.default.title.end.punct +string + + +runinhead.default.title.end.punct +Default punctuation character on a run-in-head + + + +<xsl:param name="runinhead.default.title.end.punct">.</xsl:param> + + + +Description + +If non-zero, For a formalpara, use the specified +string as the separator between the title and following text. The period is the default value. + + + + + + +runinhead.title.end.punct +string + + +runinhead.title.end.punct +Characters that count as punctuation on a run-in-head + + + + +<xsl:param name="runinhead.title.end.punct">.!?:</xsl:param> + + + +Description + +Specify which characters are to be counted as punctuation. These +characters are checked for a match with the last character of the +title. If no match is found, the +runinhead.default.title.end.punct contents are +inserted. This is to avoid duplicated punctuation in the output. + + + + + + + +show.comments +boolean + + +show.comments +Display remark elements? + + + + +<xsl:param name="show.comments" select="1"></xsl:param> + + + +Description + +If non-zero, comments will be displayed, otherwise they +are suppressed. Comments here refers to the remark element +(which was called comment prior to DocBook +4.0), not XML comments (<-- like this -->) which are +unavailable. + + + + + + + +show.revisionflag +boolean + + +show.revisionflag +Enable decoration of elements that have a revisionflag + + + + +<xsl:param name="show.revisionflag" select="0"></xsl:param> + + + +Description + + +If show.revisionflag is turned on, then the stylesheets +may produce additional markup designed to allow a CSS stylesheet to +highlight elements that have specific revisionflag settings. + +The markup inserted will be usually be either a <span> or +<div> with an appropriate class +attribute. (The value of the class attribute will be the same as the +value of the revisionflag attribute). In some contexts, for example +tables, where extra markup would be structurally illegal, the class +attribute will be added to the appropriate container element. + +In general, the stylesheets only test for revisionflag in contexts +where an importing stylesheet would have to redefine whole templates. +Most of the revisionflag processing is expected to be done by another +stylesheet, for example changebars.xsl. + + + + + + +shade.verbatim +boolean + + +shade.verbatim +Should verbatim environments be shaded? + + + +<xsl:param name="shade.verbatim" select="0"></xsl:param> + + +Description + +In the FO stylesheet, if this parameter is non-zero then the +shade.verbatim.style properties will be applied +to verbatim environments. + +In the HTML stylesheet, this parameter is now deprecated. Use +CSS instead. + + + + + + +shade.verbatim.style +attribute set + + +shade.verbatim.style +Properties that specify the style of shaded verbatim listings + + + + +<xsl:attribute-set name="shade.verbatim.style"> + <xsl:attribute name="border">0</xsl:attribute> + <xsl:attribute name="bgcolor">#E0E0E0</xsl:attribute> +</xsl:attribute-set> + + + + +Description + +Properties that specify the style of shaded verbatim listings. The +parameters specified (the border and background color) are added to +the styling of the xsl-fo output. A border might be specified as "thin +black solid" for example. See xsl-fo + + + + + + +punct.honorific +string + + +punct.honorific +Punctuation after an honorific in a personal name. + + + + +<xsl:param name="punct.honorific">.</xsl:param> + + + +Description + +This parameter specifies the punctuation that should be added after an +honorific in a personal name. + + + + + + +tex.math.in.alt +list +plain +latex + + +tex.math.in.alt +TeX notation used for equations + + + + +<xsl:param name="tex.math.in.alt"></xsl:param> + + + +Description + +If you want type math directly in TeX notation in equations, +this parameter specifies notation used. Currently are supported two +values -- plain and latex. Empty +value means that you are not using TeX math at all. + +Preferred way for including TeX alternative of math is inside of +textobject element. Eg.: + +<inlineequation> +<inlinemediaobject> +<imageobject> +<imagedata fileref="eq1.gif"/> +</imageobject> +<textobject><phrase>E=mc squared</phrase></textobject> +<textobject role="tex"><phrase>E=mc^2</phrase></textobject> +</inlinemediaobject> +</inlineequation> + +If you are using graphic element, you can +store TeX inside alt element: + +<inlineequation> +<alt role="tex">a^2+b^2=c^2</alt> +<graphic fileref="a2b2c2.gif"/> +</inlineequation> + +If you want use this feature, you should process your FO with +PassiveTeX, which only supports TeX math notation. When calling +stylsheet, don't forget to specify also +passivetex.extensions=1. + +If you want equations in HTML, just process generated file +tex-math-equations.tex by TeX or LaTeX. Then run +dvi2bitmap program on result DVI file. You will get images for +equations in your document. + + + This feature is useful for print/PDF output only if you + use the obsolete and now unsupported PassiveTeX XSL-FO + engine. + + + + +Related Parameters + tex.math.delims, + passivetex.extensions, + tex.math.file + + + + + + +tex.math.file +string + + +tex.math.file +Name of temporary file for generating images from equations + + + + +<xsl:param name="tex.math.file">tex-math-equations.tex</xsl:param> + + + +Description + +Name of auxiliary file for TeX equations. This file can be +processed by dvi2bitmap to get bitmap versions of equations for HTML +output. + + +Related Parameters + tex.math.in.alt, + tex.math.delims, + + +More information + For how-to documentation on embedding TeX equations and + generating output from them, see + DBTeXMath. + + + + + +tex.math.delims +boolean + + +tex.math.delims +Should equations output for processing by TeX be +surrounded by math mode delimiters? + + + + +<xsl:param name="tex.math.delims" select="1"></xsl:param> + + + +Description + +For compatibility with DSSSL based DBTeXMath from Allin Cottrell +you should set this parameter to 0. + + + This feature is useful for print/PDF output only if you + use the obsolete and now unsupported PassiveTeX XSL-FO + engine. + + + +Related Parameters + tex.math.in.alt, + passivetex.extensions + + +See Also + You can also use the dbtex delims processing + instruction to control whether delimiters are output. + + + + + + + +pixels.per.inch +integer + + +pixels.per.inch +How many pixels are there per inch? + + + + +<xsl:param name="pixels.per.inch">90</xsl:param> + + + +Description + +When lengths are converted to pixels, this value is used to +determine the size of a pixel. The default value is taken from the +XSL +Recommendation. + + + + + + + +points.per.em +number + + +points.per.em +Specify the nominal size of an em-space in points + + + + +<xsl:param name="points.per.em">10</xsl:param> + + + +Description + +The fixed value used for calculations based upon the size of a +character. The assumption made is that ten point font is in use. This +assumption may not be valid. + + + + + + +use.svg +boolean + + +use.svg +Allow SVG in the result tree? + + + + +<xsl:param name="use.svg" select="1"></xsl:param> + + + +Description + +If non-zero, SVG will be considered an acceptable image format. SVG +is passed through to the result tree, so correct rendering of the resulting +diagram depends on the formatter (FO processor or web browser) that is used +to process the output from the stylesheet. + + + + + + +menuchoice.separator +string + + +menuchoice.separator +Separator between items of a menuchoice +other than guimenuitem and +guisubmenu + + + + +<xsl:param name="menuchoice.separator">+</xsl:param> + + + +Description + +Separator used to connect items of a menuchoice other +than guimenuitem and guisubmenu. The latter +elements are linked with menuchoice.menu.separator. + + + + + + + +menuchoice.menu.separator +string + + +menuchoice.menu.separator +Separator between items of a menuchoice +with guimenuitem or +guisubmenu + + + + +<xsl:param name="menuchoice.menu.separator"> → </xsl:param> + + + +Description + +Separator used to connect items of a menuchoice with +guimenuitem or guisubmenu. Other elements +are linked with menuchoice.separator. + +The default value is &#x2192;, which is the +&rarr; (right arrow) character entity. +The current FOP (0.20.5) requires setting the font-family +explicitly. + +The default value also includes spaces around the arrow, +which will allow a line to break. Replace the spaces with +&#xA0; (nonbreaking space) if you don't want those +spaces to break. + + + + + + + +default.float.class +string + + +default.float.class +Specifies the default float class + + + + +<xsl:param name="default.float.class"> + <xsl:choose> + <xsl:when test="contains($stylesheet.result.type,'html')">left</xsl:when> + <xsl:otherwise>before</xsl:otherwise> + </xsl:choose> +</xsl:param> + + + +Description + +Selects the direction in which a float should be placed. for +xsl-fo this is before, for html it is left. For Western texts, the +before direction is the top of the page. + + + + + + +footnote.number.format +list +11,2,3... +AA,B,C... +aa,b,c... +ii,ii,iii... +II,II,III... + + +footnote.number.format +Identifies the format used for footnote numbers + + + + +<xsl:param name="footnote.number.format">1</xsl:param> + + + +Description + +The footnote.number.format specifies the format +to use for footnote numeration (1, i, I, a, or A). + + + + + + +table.footnote.number.format +list +11,2,3... +AA,B,C... +aa,b,c... +ii,ii,iii... +II,II,III... + + +table.footnote.number.format +Identifies the format used for footnote numbers in tables + + + + +<xsl:param name="table.footnote.number.format">a</xsl:param> + + + +Description + +The table.footnote.number.format specifies the format +to use for footnote numeration (1, i, I, a, or A) in tables. + + + + + + +footnote.number.symbols + + + +footnote.number.symbols +Special characters to use as footnote markers + + + + +<xsl:param name="footnote.number.symbols"></xsl:param> + + + +Description + +If footnote.number.symbols is not the empty string, +footnotes will use the characters it contains as footnote symbols. For example, +*&#x2020;&#x2021;&#x25CA;&#x2720; will identify +footnotes with *, , , +, and . If there are more footnotes +than symbols, the stylesheets will fall back to numbered footnotes using +footnote.number.format. + +The use of symbols for footnotes depends on the ability of your +processor (or browser) to render the symbols you select. Not all systems are +capable of displaying the full range of Unicode characters. If the quoted characters +in the preceding paragraph are not displayed properly, that's a good indicator +that you may have trouble using those symbols for footnotes. + + + + + + +table.footnote.number.symbols +string + + +table.footnote.number.symbols +Special characters to use a footnote markers in tables + + + + +<xsl:param name="table.footnote.number.symbols"></xsl:param> + + + +Description + +If table.footnote.number.symbols is not the empty string, +table footnotes will use the characters it contains as footnote symbols. For example, +*&#x2020;&#x2021;&#x25CA;&#x2720; will identify +footnotes with *, , , +, and . If there are more footnotes +than symbols, the stylesheets will fall back to numbered footnotes using +table.footnote.number.format. + +The use of symbols for footnotes depends on the ability of your +processor (or browser) to render the symbols you select. Not all systems are +capable of displaying the full range of Unicode characters. If the quoted characters +in the preceding paragraph are not displayed properly, that's a good indicator +that you may have trouble using those symbols for footnotes. + + + + + + +highlight.source +boolean + + +highlight.source +Should the content of programlisting +be syntactically highlighted? + + + + +<xsl:param name="highlight.source" select="0"></xsl:param> + + + +Description + +When this parameter is non-zero, the stylesheets will try to do syntax highlighting of the +content of programlisting elements. You specify the language for each programlisting +by using the language attribute. The highlight.default.language +parameter can be used to specify the language for programlistings without a language +attribute. Syntax highlighting also works for screen and synopsis elements. + +The actual highlighting work is done by the XSLTHL extension module. This is an external Java library that has to be +downloaded separately (see below). + + +In order to use this extension, you must + +add xslthl-2.x.x.jar to your Java classpath. The latest version is available +from the XSLT syntax highlighting project +at SourceForge. + + +use a customization layer in which you import one of the following stylesheet modules: + + + html/highlight.xsl + + + + xhtml/highlight.xsl + + + + xhtml-1_1/highlight.xsl + + + + fo/highlight.xsl + + + + + +let either the xslthl.config Java system property or the +highlight.xslthl.config parameter point to the configuration file for syntax +highlighting (using URL syntax). DocBook XSL comes with a ready-to-use configuration file, +highlighting/xslthl-config.xml. + + + +The extension works with Saxon 6.5.x and Xalan-J. (Saxon 8.5 or later is also supported, but since it is +an XSLT 2.0 processor it is not guaranteed to work with DocBook XSL in all circumstances.) + +The following is an example of a Saxon 6 command adapted for syntax highlighting, to be used on Windows: + + +java -cp c:/Java/saxon.jar;c:/Java/xslthl-2.0.1.jar +-Dxslthl.config=file:///c:/docbook-xsl/highlighting/xslthl-config.xml com.icl.saxon.StyleSheet +-o test.html test.xml myhtml.xsl + + + + + + + +highlight.xslthl.config +uri + + +highlight.xslthl.config +Location of XSLTHL configuration file + + + + +<xsl:param name="highlight.xslthl.config"></xsl:param> + + + +Description + +This location has precedence over the corresponding Java property. + +Please note that usually you have to specify location as URL not +just as a simple path on the local +filesystem. E.g. file:///home/user/xslthl/my-xslthl-config.xml. + + + + + + + + +highlight.default.language +string + + +highlight.default.language +Default language of programlisting + + + + +<xsl:param name="highlight.default.language"></xsl:param> + + + +Description + +This language is used when there is no language attribute on programlisting. + + + + + + +email.delimiters.enabled +boolean + + +email.delimiters.enabled +Generate delimiters around email addresses? + + + + +<xsl:param name="email.delimiters.enabled" select="1"></xsl:param> + + + +Description + +If non-zero, delimiters + +For delimiters, the +stylesheets are currently hard-coded to output angle +brackets. + +are generated around e-mail addresses +(the output of the email element). + + + + + + +exsl.node.set.available +boolean + + +exsl.node.set.available +Is the test function-available('exsl:node-set') true? + + + +<xsl:param name="exsl.node.set.available"> + <xsl:choose> + <xsl:when exsl:foo="" test="function-available('exsl:node-set') or contains(system-property('xsl:vendor'), 'Apache Software Foundation')">1</xsl:when> + <xsl:otherwise>0</xsl:otherwise> + </xsl:choose> +</xsl:param> + + + +Description + +If non-zero, +then the exsl:node-set() function is available to be used in +the stylesheet. +If zero, then the function is not available. +This param automatically detects the presence of +the function and does not normally need to be set manually. + +This param was created to handle a long-standing +bug in the Xalan processor that fails to detect the +function even though it is available. + + + + +Annotations + + +annotation.support +boolean + + +annotation.support +Enable annotations? + + + + +<xsl:param name="annotation.support" select="0"></xsl:param> + + + +Description + +If non-zero, the stylesheets will attempt to support annotation +elements in HTML by including some JavaScript (see +annotation.js). + + + + + + +annotation.js +string + + +annotation.js +URIs identifying JavaScript files with support for annotation popups + + + + + +<xsl:param name="annotation.js"> +<xsl:text>http://docbook.sourceforge.net/release/script/AnchorPosition.js http://docbook.sourceforge.net/release/script/PopupWindow.js</xsl:text></xsl:param> + + + + +Description + +If annotation.support is enabled and the +document contains annotations, then the URIs listed +in this parameter will be included. These JavaScript files are required +for popup annotation support. + + + + + + +annotation.css +string + + +annotation.css +CSS rules for annotations + + + + +<xsl:param name="annotation.css"> +/* ====================================================================== + Annotations +*/ + +div.annotation-list { visibility: hidden; + } + +div.annotation-nocss { position: absolute; + visibility: hidden; + } + +div.annotation-popup { position: absolute; + z-index: 4; + visibility: hidden; + padding: 0px; + margin: 2px; + border-style: solid; + border-width: 1px; + width: 200px; + background-color: white; + } + +div.annotation-title { padding: 1px; + font-weight: bold; + border-bottom-style: solid; + border-bottom-width: 1px; + color: white; + background-color: black; + } + +div.annotation-body { padding: 2px; + } + +div.annotation-body p { margin-top: 0px; + padding-top: 0px; + } + +div.annotation-close { position: absolute; + top: 2px; + right: 2px; + } +</xsl:param> + + + +Description + +If annotation.support is enabled and the +document contains annotations, then the CSS in this +parameter will be included in the document. + + + + + + +annotation.graphic.open +uri + + +annotation.graphic.open +Image for identifying a link that opens an annotation popup + + + + +<xsl:param name="annotation.graphic.open">http://docbook.sourceforge.net/release/images/annot-open.png</xsl:param> + + + +Description + +This image is used inline to identify the location of +annotations. It may be replaced by a user provided graphic. The size should be approximately 10x10 pixels. + + + + + + +annotation.graphic.close +uri + + +annotation.graphic.close +Image for identifying a link that closes an annotation popup + + + + +<xsl:param name="annotation.graphic.close"> +http://docbook.sourceforge.net/release/images/annot-close.png</xsl:param> + + + +Description + +This image is used on popup annotations as the “x” that the +user can click to dismiss the popup. +This image is used on popup annotations as the “x” that the user can +click to dismiss the popup. It may be replaced by a user provided graphic. The size should be approximately 10x10 pixels. + + + + +Graphics + + +img.src.path +string + + +img.src.path +Path to HTML/FO image files + + + +<xsl:param name="img.src.path"></xsl:param> + + +Description + +Add a path prefix to the value of the fileref +attribute of graphic, inlinegraphic, and imagedata elements. The resulting +compound path is used in the output as the value of the src +attribute of img (HTML) or external-graphic (FO). + + + +The path given by img.src.path could be relative to the directory where the HTML/FO +files are created, or it could be an absolute URI. +The default value is empty. +Be sure to include a trailing slash if needed. + + +This prefix is not applied to any filerefs that start +with "/" or contain "//:". + + + + + + + +keep.relative.image.uris +boolean + + +keep.relative.image.uris +Should image URIs be resolved against xml:base? + + + + +<xsl:param name="keep.relative.image.uris" select="1"></xsl:param> + + + + +Description + +If non-zero, relative URIs (in, for example +fileref attributes) will be used in the generated +output. Otherwise, the URIs will be made absolute with respect to the +base URI. + +Note that the stylesheets calculate (and use) the absolute form +for some purposes, this only applies to the resulting output. + + + + + + +graphic.default.extension +string + + +graphic.default.extension +Default extension for graphic filenames + + + +<xsl:param name="graphic.default.extension"></xsl:param> + + +Description + +If a graphic or mediaobject +includes a reference to a filename that does not include an extension, +and the format attribute is +unspecified, the default extension will be used. + + + + + + + +default.image.width +length + + +default.image.width +The default width of images + + + + +<xsl:param name="default.image.width"></xsl:param> + + + +Description + +If specified, this value will be used for the +width attribute on images that do not specify any +viewport dimensions. + + + + + + +nominal.image.width +length + + +nominal.image.width +The nominal image width + + + + +<xsl:param name="nominal.image.width" select="6 * $pixels.per.inch"></xsl:param> + + + +Description + +Graphic widths expressed as a percentage are problematic. In the +following discussion, we speak of width and contentwidth, but +the same issues apply to depth and contentdepth. + +A width of 50% means "half of the available space for the image." +That's fine. But note that in HTML, this is a dynamic property and +the image size will vary if the browser window is resized. + +A contentwidth of 50% means "half of the actual image width". +But what does that mean if the stylesheets cannot assess the image's +actual size? Treating this as a width of 50% is one possibility, but +it produces behavior (dynamic scaling) that seems entirely out of +character with the meaning. + +Instead, the stylesheets define a +nominal.image.width and convert percentages to +actual values based on that nominal size. + + + + + + +nominal.image.depth +length + + +nominal.image.depth +Nominal image depth + + + + +<xsl:param name="nominal.image.depth" select="4 * $pixels.per.inch"></xsl:param> + + + +Description + +See nominal.image.width. + + + + + + +use.embed.for.svg +boolean + + +use.embed.for.svg +Use HTML embed for SVG? + + + + +<xsl:param name="use.embed.for.svg" select="0"></xsl:param> + + + +Description + +If non-zero, an embed element will be created for +SVG figures. An object is always created, +this parameter merely controls whether or not an additional embed +is generated inside the object. + +On the plus side, this may be more portable among browsers and plug-ins. +On the minus side, it isn't valid HTML. + + + + + + +make.graphic.viewport +boolean + + +make.graphic.viewport +Use tables in HTML to make viewports for graphics + + + + +<xsl:param name="make.graphic.viewport" select="1"></xsl:param> + + + +Description + +The HTML img element only supports the notion +of content-area scaling; it doesn't support the distinction between a +content-area and a viewport-area, so we have to make some compromises. + +If make.graphic.viewport is non-zero, a table +will be used to frame the image. This creates an effective viewport-area. + + +Tables and alignment don't work together, so this parameter is ignored +if alignment is specified on an image. + + + + + +preferred.mediaobject.role +string + + +preferred.mediaobject.role +Select which mediaobject to use based on +this value of an object's role attribute. + + + + + +<xsl:param name="preferred.mediaobject.role"></xsl:param> + + + +Description + +A mediaobject may contain several objects such as imageobjects. +If the parameter use.role.for.mediaobject is +non-zero, then the role attribute on +imageobjects and other objects within a +mediaobject container will be used to select which object +will be used. If one of the objects has a role value that matches the +preferred.mediaobject.role parameter, then it +has first priority for selection. If more than one has such a role +value, the first one is used. + + +See the use.role.for.mediaobject parameter +for the sequence of selection. + + + + + +use.role.for.mediaobject +boolean + + +use.role.for.mediaobject +Use role attribute +value for selecting which of several objects within a mediaobject to use. + + + + + +<xsl:param name="use.role.for.mediaobject" select="1"></xsl:param> + + + +Description + +If non-zero, the role attribute on +imageobjects or other objects within a mediaobject container will be used to select which object will be +used. + + +The order of selection when then parameter is non-zero is: + + + + If the stylesheet parameter preferred.mediaobject.role has a value, then the object whose role equals that value is selected. + + +Else if an object's role attribute has a value of +html for HTML processing or +fo for FO output, then the first +of such objects is selected. + + + +Else the first suitable object is selected. + + + +If the value of +use.role.for.mediaobject +is zero, then role attributes are not considered +and the first suitable object +with or without a role value is used. + + + + + + +ignore.image.scaling +boolean + + +ignore.image.scaling +Tell the stylesheets to ignore the author's image scaling attributes + + + + +<xsl:param name="ignore.image.scaling" select="0"></xsl:param> + + + +Description + +If non-zero, the scaling attributes on graphics and media objects are +ignored. + + + + +Chunking + + +chunker.output.cdata-section-elements +string + + +chunker.output.cdata-section-elements +List of elements to escape with CDATA sections + + + +<xsl:param name="chunker.output.cdata-section-elements"></xsl:param> + + +Description +This parameter specifies the list of elements that should be escaped +as CDATA sections by the chunking stylesheet. Not all processors support +specification of this parameter. + + +This parameter is documented here, but the declaration is actually +in the chunker.xsl stylesheet module. + + + + + + +chunker.output.doctype-public +string + + +chunker.output.doctype-public +Public identifer to use in the document type of generated pages + + + +<xsl:param name="chunker.output.doctype-public"></xsl:param> + + +Description +This parameter specifies the public identifier that should be used by +the chunking stylesheet in the document type declaration of chunked pages. +Not all processors support specification of +this parameter. + + +This parameter is documented here, but the declaration is actually +in the chunker.xsl stylesheet module. + + + + + + +chunker.output.doctype-system +uri + + +chunker.output.doctype-system +System identifier to use for the document type in generated pages + + + +<xsl:param name="chunker.output.doctype-system"></xsl:param> + + +Description +This parameter specifies the system identifier that should be used by +the chunking stylesheet in the document type declaration of chunked pages. +Not all processors support specification of +this parameter. + + +This parameter is documented here, but the declaration is actually +in the chunker.xsl stylesheet module. + + + + + + +chunker.output.encoding +string + + +chunker.output.encoding +Encoding used in generated pages + + + +<xsl:param name="chunker.output.encoding">ISO-8859-1</xsl:param> + + +Description +This parameter specifies the encoding to be used in files +generated by the chunking stylesheet. Not all processors support +specification of this parameter. + +This parameter used to be named default.encoding. + +This parameter is documented here, but the declaration is actually +in the chunker.xsl stylesheet module. + + + + + + +chunker.output.indent +string + + +chunker.output.indent +Specification of indentation on generated pages + + + +<xsl:param name="chunker.output.indent">no</xsl:param> + + +Description +This parameter specifies the value of the indent +specification for generated pages. Not all processors support +specification of this parameter. + + +This parameter is documented here, but the declaration is actually +in the chunker.xsl stylesheet module. + + + + + + +chunker.output.media-type +string + + +chunker.output.media-type +Media type to use in generated pages + + + +<xsl:param name="chunker.output.media-type"></xsl:param> + + +Description +This parameter specifies the media type that should be used by +the chunking stylesheet. Not all processors support specification of +this parameter. + +This parameter specifies the media type that should be used by the +chunking stylesheet. This should be one from those defined in +[RFC2045] and + [RFC2046] + +This parameter is documented here, but the declaration is actually +in the chunker.xsl stylesheet module. +It must be one from html, xml or text + + + + + + +chunker.output.method +list +html +xml + + +chunker.output.method +Method used in generated pages + + + +<xsl:param name="chunker.output.method">html</xsl:param> + + +Description +This parameter specifies the output method to be used in files +generated by the chunking stylesheet. + +This parameter used to be named output.method. + +This parameter is documented here, but the declaration is actually +in the chunker.xsl stylesheet module. + + + + + + +chunker.output.omit-xml-declaration +string + + +chunker.output.omit-xml-declaration +Omit-xml-declaration for generated pages + + + +<xsl:param name="chunker.output.omit-xml-declaration">no</xsl:param> + + +Description +This parameter specifies the value of the omit-xml-declaration +specification for generated pages. Not all processors support +specification of this parameter. + + +This parameter is documented here, but the declaration is actually +in the chunker.xsl stylesheet module. + + + + + + +chunker.output.standalone +string + + +chunker.output.standalone +Standalone declaration for generated pages + + + +<xsl:param name="chunker.output.standalone">no</xsl:param> + + +Description +This parameter specifies the value of the standalone + specification for generated pages. It must be either + yes or no. Not all + processors support specification of this parameter. + + +This parameter is documented here, but the declaration is actually +in the chunker.xsl stylesheet module. + + + + + + +saxon.character.representation +string + + +saxon.character.representation +Saxon character representation used in generated HTML pages + + + + <xsl:param name="saxon.character.representation" select="'entity;decimal'"></xsl:param> + + +Description + +This parameter has effect only when Saxon 6 is used (version 6.4.2 or later). +It sets the character representation in files generated by the chunking stylesheets. +If you want to suppress entity references for characters with direct representations in +chunker.output.encoding, set the parameter value to native. + + + For more information, see Saxon output character representation. + + +This parameter is documented here, but the declaration is actually +in the chunker.xsl stylesheet module. + + + + + + + + +html.ext +string + + +html.ext +Identifies the extension of generated HTML files + + + + +<xsl:param name="html.ext">.html</xsl:param> + + + +Description + +The extension identified by html.ext will +be used as the filename extension for chunks created by this +stylesheet. + + + + + + +use.id.as.filename +boolean + + +use.id.as.filename +Use ID value of chunk elements as the filename? + + + + +<xsl:param name="use.id.as.filename" select="0"></xsl:param> + + + +Description + +If use.id.as.filename +is non-zero, the filename of chunk elements that have IDs will be +derived from the ID value. + + + + + + + +html.extra.head.links +boolean + + +html.extra.head.links +Toggle extra HTML head link information + + + + +<xsl:param name="html.extra.head.links" select="0"></xsl:param> + + + +Description + +If non-zero, extra link elements will be +generated in the head of chunked HTML files. These +extra links point to chapters, appendixes, sections, etc. as supported +by the Site Navigation Bar in Mozilla 1.0 (as of CR1, at least). + + + + + + + +root.filename +uri + + +root.filename +Identifies the name of the root HTML file when chunking + + + + +<xsl:param name="root.filename">index</xsl:param> + + + +Description + +The root.filename is the base filename for +the chunk created for the root of each document processed. + + + + + + + +base.dir +uri + + +base.dir +The base directory of chunks + + + + +<xsl:param name="base.dir"></xsl:param> + + + +Description + +If specified, the base.dir identifies +the output directory for chunks. (If not specified, the output directory +is system dependent.) + + + + + + + generate.manifest + boolean + + + generate.manifest + Generate a manifest file? + + + + <xsl:param name="generate.manifest" select="0"></xsl:param> + + + Description + + If non-zero, a list of HTML files generated by the + stylesheet transformation is written to the file named by + the manifest parameter. + + + + + + + manifest + string + + + manifest + Name of manifest file + + + + + <xsl:param name="manifest">HTML.manifest</xsl:param> + + + + Description + + The name of the file to which a manifest is written (if the + value of the generate.manifest parameter + is non-zero). + + + + + + +manifest.in.base.dir +boolean + + +manifest.in.base.dir +Should the manifest file be written into base.dir? + + + + +<xsl:param name="manifest.in.base.dir" select="0"></xsl:param> + + + +Description + +If non-zero, the manifest file as well as project files for HTML Help and +Eclipse Help are written into base.dir instead +of the current directory. + + + + + + +chunk.toc +string + + +chunk.toc +An explicit TOC to be used for chunking + + + + +<xsl:param name="chunk.toc"></xsl:param> + + + +Description + +The chunk.toc identifies an explicit TOC that +will be used for chunking. This parameter is only used by the +chunktoc.xsl stylesheet (and customization layers built +from it). + + + + + + +chunk.tocs.and.lots +boolean + + +chunk.tocs.and.lots +Should ToC and LoTs be in separate chunks? + + + + +<xsl:param name="chunk.tocs.and.lots" select="0"></xsl:param> + + + +Description + +If non-zero, ToC and LoT (List of Examples, List of Figures, etc.) +will be put in a separate chunk. At the moment, this chunk is not in the +normal forward/backward navigation list. Instead, a new link is added to the +navigation footer. + +This feature is still somewhat experimental. Feedback welcome. + + + + + + +chunk.separate.lots +boolean + + +chunk.separate.lots +Should each LoT be in its own separate chunk? + + + + +<xsl:param name="chunk.separate.lots" select="0"></xsl:param> + + + +Description + +If non-zero, each of the ToC and LoTs +(List of Examples, List of Figures, etc.) +will be put in its own separate chunk. +The title page includes generated links to each of the separate files. + + +This feature depends on the +chunk.tocs.and.lots +parameter also being non-zero. + + + + + + + +chunk.tocs.and.lots.has.title +boolean + + +chunk.tocs.and.lots.has.title +Should ToC and LoTs in a separate chunks have title? + + + + +<xsl:param name="chunk.tocs.and.lots.has.title" select="1"></xsl:param> + + + +Description + +If non-zero title of document is shown before ToC/LoT in +separate chunk. + + + + + + +chunk.section.depth +integer + + +chunk.section.depth +Depth to which sections should be chunked + + + + +<xsl:param name="chunk.section.depth" select="1"></xsl:param> + + + +Description + +This parameter sets the depth of section chunking. + + + + + + +chunk.first.sections +boolean + + +chunk.first.sections +Chunk the first top-level section? + + + + +<xsl:param name="chunk.first.sections" select="0"></xsl:param> + + + +Description + +If non-zero, a chunk will be created for the first top-level +sect1 or section elements in +each component. Otherwise, that section will be part of the chunk for +its parent. + + + + + + + +chunk.quietly +boolean + + +chunk.quietly +Omit the chunked filename messages. + + + + +<xsl:param name="chunk.quietly" select="0"></xsl:param> + + + +Description + +If zero (the default), the XSL processor emits a message naming +each separate chunk filename as it is being output. +If nonzero, then the messages are suppressed. + + + + + + + +chunk.append +string + + +chunk.append +Specifies content to append to chunked HTML output + + + +<xsl:param name="chunk.append"></xsl:param> + + +Description + +Specifies content to append to the end of HTML files output by +the html/chunk.xsl stylesheet, after the closing +<html> tag. You probably don’t want to set any value +for this parameter; but if you do, the only value it should ever be +set to is a newline character: &#x0a; or +&#10; + + + + + + +navig.graphics +boolean + + +navig.graphics +Use graphics in navigational headers and footers? + + + + +<xsl:param name="navig.graphics" select="0"></xsl:param> + + + +Description + +If non-zero, the navigational headers and footers in chunked +HTML are presented in an alternate style that uses graphical icons for +Next, Previous, Up, and Home. Default graphics are provided in the +distribution. If zero, text is used instead of graphics. + + + + + + + +navig.graphics.extension +string + + +navig.graphics.extension +Extension for navigational graphics + + + + +<xsl:param name="navig.graphics.extension">.gif</xsl:param> + + + +Description + +Sets the filename extension to use on navigational graphics used +in the headers and footers of chunked HTML. + + + + + + +navig.graphics.path +string + + +navig.graphics.path +Path to navigational graphics + + + + +<xsl:param name="navig.graphics.path">images/</xsl:param> + + + +Description + +Sets the path, probably relative to the directory where the HTML +files are created, to the navigational graphics used in the +headers and footers of chunked HTML. + + + + + + + +navig.showtitles +boolean + + +navig.showtitles +Display titles in HTML headers and footers? + + + +<xsl:param name="navig.showtitles">1</xsl:param> + + +Description + +If non-zero, +the headers and footers of chunked HTML +display the titles of the next and previous chunks, +along with the words 'Next' and 'Previous' (or the +equivalent graphical icons if navig.graphics is true). +If false (zero), then only the words 'Next' and 'Previous' +(or the icons) are displayed. + + + + + +Profiling + +The following parameters can be used for attribute-based +profiling of your document. For more information about profiling, see +Profiling (conditional text). + + + +profile.arch +string + + +profile.arch +Target profile for arch +attribute + + + + +<xsl:param name="profile.arch"></xsl:param> + + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.audience +string + + +profile.audience +Target profile for audience +attribute + + + + +<xsl:param name="profile.audience"></xsl:param> + + + +Description + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.condition +string + + +profile.condition +Target profile for condition +attribute + + + + +<xsl:param name="profile.condition"></xsl:param> + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.conformance +string + + +profile.conformance +Target profile for conformance +attribute + + + + +<xsl:param name="profile.conformance"></xsl:param> + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.lang +string + + +profile.lang +Target profile for lang +attribute + + + + +<xsl:param name="profile.lang"></xsl:param> + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.os +string + + +profile.os +Target profile for os +attribute + + + + +<xsl:param name="profile.os"></xsl:param> + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.revision +string + + +profile.revision +Target profile for revision +attribute + + + + +<xsl:param name="profile.revision"></xsl:param> + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.revisionflag +string + + +profile.revisionflag +Target profile for revisionflag +attribute + + + + +<xsl:param name="profile.revisionflag"></xsl:param> + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.role +string + + +profile.role +Target profile for role +attribute + + + + +<xsl:param name="profile.role"></xsl:param> + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + +Note that role is often +used for other purposes than profiling. For example it is commonly +used to get emphasize in bold font: + +<emphasis role="bold">very important</emphasis> + +If you are using role for +these purposes do not forget to add values like bold to +value of this parameter. If you forgot you will get document with +small pieces missing which are very hard to track. + +For this reason it is not recommended to use role attribute for profiling. You should +rather use profiling specific attributes like userlevel, os, arch, condition, etc. + + + + + + + +profile.security +string + + +profile.security +Target profile for security +attribute + + + + +<xsl:param name="profile.security"></xsl:param> + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.status +string + + +profile.status +Target profile for status +attribute + + + + +<xsl:param name="profile.status"></xsl:param> + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.userlevel +string + + +profile.userlevel +Target profile for userlevel +attribute + + + + +<xsl:param name="profile.userlevel"></xsl:param> + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.vendor +string + + +profile.vendor +Target profile for vendor +attribute + + + + +<xsl:param name="profile.vendor"></xsl:param> + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.wordsize +string + + +profile.wordsize +Target profile for wordsize +attribute + + + + +<xsl:param name="profile.wordsize"></xsl:param> + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.attribute +string + + +profile.attribute +Name of user-specified profiling attribute + + + + +<xsl:param name="profile.attribute"></xsl:param> + + + +Description + +This parameter is used in conjuction with +profile.value. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.value +string + + +profile.value +Target profile for user-specified attribute + + + + +<xsl:param name="profile.value"></xsl:param> + + + +Description + +When you are using this parameter you must also specify name of +profiling attribute with parameter +profile.attribute. + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.separator +string + + +profile.separator +Separator character for compound profile values + + + + +<xsl:param name="profile.separator">;</xsl:param> + + + +Description + +Separator character used for compound profile values. See profile.arch + + + + +HTML Help + + +htmlhelp.encoding +string + + +htmlhelp.encoding +Character encoding to use in files for HTML Help compiler. + + + + +<xsl:param name="htmlhelp.encoding">iso-8859-1</xsl:param> + + + +Description + +HTML Help Compiler is not UTF-8 aware, so you should always use an +appropriate single-byte encoding here. Use one from iana, the registered charset values. + + + + + + +htmlhelp.autolabel +boolean + + +htmlhelp.autolabel +Should tree-like ToC use autonumbering feature? + + + + +<xsl:param name="htmlhelp.autolabel" select="0"></xsl:param> + + + +Description + +Set this to non-zero to include chapter and section numbers into ToC +in the left panel. + + + + + + +htmlhelp.chm +string + + +htmlhelp.chm +Filename of output HTML Help file. + + + + +<xsl:param name="htmlhelp.chm">htmlhelp.chm</xsl:param> + + + +Description + +Set the name of resulting CHM file + + + + + + +htmlhelp.default.topic +string + + +htmlhelp.default.topic +Name of file with default topic + + + + +<xsl:param name="htmlhelp.default.topic"></xsl:param> + + + +Description + +Normally first chunk of document is displayed when you open HTML +Help file. If you want to display another topic, simply set its +filename by this parameter. + +This is useful especially if you don't generate ToC in front of +your document and you also hide root element in ToC. E.g.: + +<xsl:param name="generate.book.toc" select="0"/> +<xsl:param name="htmlhelp.hhc.show.root" select="0"/> +<xsl:param name="htmlhelp.default.topic">pr01.html</xsl:param> + + + + + + + +htmlhelp.display.progress +boolean + + +htmlhelp.display.progress +Display compile progress? + + + + +<xsl:param name="htmlhelp.display.progress" select="1"></xsl:param> + + + +Description + +Set to non-zero to to display compile progress + + + + + + + +htmlhelp.hhp +string + + +htmlhelp.hhp +Filename of project file. + + + + +<xsl:param name="htmlhelp.hhp">htmlhelp.hhp</xsl:param> + + + +Description + +Change this parameter if you want different name of project +file than htmlhelp.hhp. + + + + + + +htmlhelp.hhc +string + + +htmlhelp.hhc +Filename of TOC file. + + + + +<xsl:param name="htmlhelp.hhc">toc.hhc</xsl:param> + + + +Description + +Set the name of the TOC file. The default is toc.hhc. + + + + + + +htmlhelp.hhk +string + + +htmlhelp.hhk +Filename of index file. + + + + +<xsl:param name="htmlhelp.hhk">index.hhk</xsl:param> + + + +Description + +set the name of the index file. The default is index.hhk. + + + + + + +htmlhelp.hhp.tail +string + + +htmlhelp.hhp.tail +Additional content for project file. + + + + +<xsl:param name="htmlhelp.hhp.tail"></xsl:param> + + + +Description + +If you want to include some additional parameters into project file, +store appropriate part of project file into this parameter. + + + + + + +htmlhelp.hhp.window +string + + +htmlhelp.hhp.window +Name of default window. + + + + +<xsl:param name="htmlhelp.hhp.window">Main</xsl:param> + + + +Description + +Name of default window. If empty no [WINDOWS] section will be +added to project file. + + + + + + +htmlhelp.hhp.windows +string + + +htmlhelp.hhp.windows +Definition of additional windows + + + + +<xsl:param name="htmlhelp.hhp.windows"></xsl:param> + + + +Description + +Content of this parameter is placed at the end of [WINDOWS] +section of project file. You can use it for defining your own +addtional windows. + + + + + + +htmlhelp.enhanced.decompilation +boolean + + +htmlhelp.enhanced.decompilation +Allow enhanced decompilation of CHM? + + + + +<xsl:param name="htmlhelp.enhanced.decompilation" select="0"></xsl:param> + + + +Description + +When non-zero this parameter enables enhanced decompilation of CHM. + + + + + + +htmlhelp.enumerate.images +boolean + + +htmlhelp.enumerate.images +Should the paths to all used images be added to the project file? + + + + +<xsl:param name="htmlhelp.enumerate.images" select="0"></xsl:param> + + + +Description + +Set to non-zero if you insert images into your documents as +external binary entities or if you are using absolute image paths. + + + + + + +htmlhelp.force.map.and.alias +boolean + + +htmlhelp.force.map.and.alias +Should [MAP] and [ALIAS] sections be added to the project file unconditionally? + + + +<xsl:param name="htmlhelp.force.map.and.alias" select="0"></xsl:param> + + +Description + Set to non-zero if you have your own + alias.h and context.h + files and you want to include references to them in the project + file. + + + + + +htmlhelp.map.file +string + + +htmlhelp.map.file +Filename of map file. + + + +<xsl:param name="htmlhelp.map.file">context.h</xsl:param> + + +Description +Set the name of map file. The default is + context.h. (used for context-sensitive + help). + + + + + +htmlhelp.alias.file +string + + +htmlhelp.alias.file +Filename of alias file. + + + + +<xsl:param name="htmlhelp.alias.file">alias.h</xsl:param> + + + +Description + +Specifies the filename of the alias file (used for context-sensitive help). + + + + + + +htmlhelp.hhc.section.depth +integer + + +htmlhelp.hhc.section.depth +Depth of TOC for sections in a left pane. + + + + +<xsl:param name="htmlhelp.hhc.section.depth">5</xsl:param> + + + +Description + +Set the section depth in the left pane of HTML Help viewer. + + + + + + +htmlhelp.hhc.show.root +boolean + + +htmlhelp.hhc.show.root +Should there be an entry for the root element in the ToC? + + + + +<xsl:param name="htmlhelp.hhc.show.root" select="1"></xsl:param> + + + +Description + +If set to zero, there will be no entry for the root element in the +ToC. This is useful when you want to provide the user with an expanded +ToC as a default. + + + + + + +htmlhelp.hhc.folders.instead.books +boolean + + +htmlhelp.hhc.folders.instead.books +Use folder icons in ToC (instead of book icons)? + + + + +<xsl:param name="htmlhelp.hhc.folders.instead.books" select="1"></xsl:param> + + + +Description + +Set to non-zero for folder-like icons or zero for book-like icons in the ToC. +If you want to use folder-like icons, you must switch off the binary ToC using +htmlhelp.hhc.binary. + + + + + + + + +htmlhelp.hhc.binary +boolean + + +htmlhelp.hhc.binary +Generate binary ToC? + + + + +<xsl:param name="htmlhelp.hhc.binary" select="1"></xsl:param> + + + +Description + +Set to non-zero to generate a binary TOC. You must create a binary TOC +if you want to add Prev/Next buttons to toolbar (which is default +behaviour). Files with binary TOC can't be merged. + + + + + + +htmlhelp.hhc.width +integer + + +htmlhelp.hhc.width +Width of navigation pane + + + + +<xsl:param name="htmlhelp.hhc.width"></xsl:param> + + + +Description + +This parameter specifies the width of the navigation pane (containing TOC and +other navigation tabs) in pixels. + + + + + + +htmlhelp.title +string + + +htmlhelp.title +Title of HTML Help + + + + +<xsl:param name="htmlhelp.title"></xsl:param> + + + +Description + +Content of this parameter will be used as a title for generated +HTML Help. If empty, title will be automatically taken from document. + + + + + + +htmlhelp.show.menu +boolean + + +htmlhelp.show.menu +Should the menu bar be shown? + + + + +<xsl:param name="htmlhelp.show.menu" select="0"></xsl:param> + + + +Description + +Set to non-zero to have an application menu bar in your HTML Help window. + + + + + + + +htmlhelp.show.toolbar.text +boolean + + +htmlhelp.show.toolbar.text +Show text under toolbar buttons? + + + + +<xsl:param name="htmlhelp.show.toolbar.text" select="1"></xsl:param> + + + +Description + +Set to non-zero to display texts under toolbar buttons, zero to switch +off displays. + + + + + + +htmlhelp.show.advanced.search +boolean + + +htmlhelp.show.advanced.search +Should advanced search features be available? + + + + +<xsl:param name="htmlhelp.show.advanced.search" select="0"></xsl:param> + + + +Description + +If you want advanced search features in your help, turn this +parameter to 1. + + + + + + +htmlhelp.show.favorities +boolean + + +htmlhelp.show.favorities +Should the Favorites tab be shown? + + + + +<xsl:param name="htmlhelp.show.favorities" select="0"></xsl:param> + + + +Description + +Set to non-zero to include a Favorites tab in the navigation pane +of the help window. + + + + + + +htmlhelp.button.hideshow +boolean + + +htmlhelp.button.hideshow +Should the Hide/Show button be shown? + + + + +<xsl:param name="htmlhelp.button.hideshow" select="1"></xsl:param> + + + +Description + +Set to non-zero to include the Hide/Show button shown on toolbar + + + + + + +htmlhelp.button.back +boolean + + +htmlhelp.button.back +Should the Back button be shown? + + + + +<xsl:param name="htmlhelp.button.back" select="1"></xsl:param> + + + +Description + +Set to non-zero to include the Hide/Show button shown on toolbar + + + + + + +htmlhelp.button.forward +boolean + + +htmlhelp.button.forward +Should the Forward button be shown? + + + + +<xsl:param name="htmlhelp.button.forward" select="0"></xsl:param> + + + +Description + +Set to non-zero to include the Forward button on the toolbar. + + + + + + +htmlhelp.button.stop +boolean + + +htmlhelp.button.stop +Should the Stop button be shown? + + + + +<xsl:param name="htmlhelp.button.stop" select="0"></xsl:param> + + + +Description + +If you want Stop button shown on toolbar, turn this +parameter to 1. + + + + + + +htmlhelp.button.refresh +boolean + + +htmlhelp.button.refresh +Should the Refresh button be shown? + + + + +<xsl:param name="htmlhelp.button.refresh" select="0"></xsl:param> + + + +Description + +Set to non-zero to include the Stop button on the toolbar. + + + + + + +htmlhelp.button.home +boolean + + +htmlhelp.button.home +Should the Home button be shown? + + + + +<xsl:param name="htmlhelp.button.home" select="0"></xsl:param> + + + +Description + +Set to non-zero to include the Home button on the toolbar. + + + + + + +htmlhelp.button.home.url +string + + +htmlhelp.button.home.url +URL address of page accessible by Home button + + + + +<xsl:param name="htmlhelp.button.home.url"></xsl:param> + + + +Description + +URL address of page accessible by Home button. + + + + + + +htmlhelp.button.options +boolean + + +htmlhelp.button.options +Should the Options button be shown? + + + + +<xsl:param name="htmlhelp.button.options" select="1"></xsl:param> + + + +Description + +If you want Options button shown on toolbar, turn this +parameter to 1. + + + + + + +htmlhelp.button.print +boolean + + +htmlhelp.button.print +Should the Print button be shown? + + + + +<xsl:param name="htmlhelp.button.print" select="1"></xsl:param> + + + +Description + +Set to non-zero to include the Print button on the toolbar. + + + + + + + +htmlhelp.button.locate +boolean + + +htmlhelp.button.locate +Should the Locate button be shown? + + + + +<xsl:param name="htmlhelp.button.locate" select="0"></xsl:param> + + + +Description + +If you want Locate button shown on toolbar, turn this +parameter to 1. + + + + + + +htmlhelp.button.jump1 +boolean + + +htmlhelp.button.jump1 +Should the Jump1 button be shown? + + + +<xsl:param name="htmlhelp.button.jump1" select="0"></xsl:param> + + +Description + Set to non-zero to include the Jump1 button on the toolbar. + + + + + +htmlhelp.button.jump1.url +string + + +htmlhelp.button.jump1.url +URL address of page accessible by Jump1 button + + + + +<xsl:param name="htmlhelp.button.jump1.url"></xsl:param> + + + +Description + +URL address of page accessible by Jump1 button. + + + + + + +htmlhelp.button.jump1.title +string + + +htmlhelp.button.jump1.title +Title of Jump1 button + + + + +<xsl:param name="htmlhelp.button.jump1.title">User1</xsl:param> + + + +Description + +Title of Jump1 button. + + + + + + +htmlhelp.button.jump2 +boolean + + +htmlhelp.button.jump2 +Should the Jump2 button be shown? + + + + +<xsl:param name="htmlhelp.button.jump2" select="0"></xsl:param> + + + +Description + +Set to non-zero to include the Jump2 button on the toolbar. + + + + + + +htmlhelp.button.jump2.url +string + + +htmlhelp.button.jump2.url +URL address of page accessible by Jump2 button + + + + +<xsl:param name="htmlhelp.button.jump2.url"></xsl:param> + + + +Description + +URL address of page accessible by Jump2 button. + + + + + + +htmlhelp.button.jump2.title +string + + +htmlhelp.button.jump2.title +Title of Jump2 button + + + + +<xsl:param name="htmlhelp.button.jump2.title">User2</xsl:param> + + + +Description + +Title of Jump2 button. + + + + + + +htmlhelp.button.next +boolean + + +htmlhelp.button.next +Should the Next button be shown? + + + + +<xsl:param name="htmlhelp.button.next" select="1"></xsl:param> + + + +Description + +Set to non-zero to include the Next button on the toolbar. + + + + + + +htmlhelp.button.prev +boolean + + +htmlhelp.button.prev +Should the Prev button be shown? + + + + +<xsl:param name="htmlhelp.button.prev" select="1"></xsl:param> + + + +Description + +Set to non-zero to include the Prev button on the toolbar. + + + + + + + +htmlhelp.button.zoom +boolean + + +htmlhelp.button.zoom +Should the Zoom button be shown? + + + + +<xsl:param name="htmlhelp.button.zoom" select="0"></xsl:param> + + + +Description + +Set to non-zero to include the Zoom button on the toolbar. + + + + + + + +htmlhelp.remember.window.position +boolean + + +htmlhelp.remember.window.position +Remember help window position? + + + + +<xsl:param name="htmlhelp.remember.window.position" select="0"></xsl:param> + + + +Description + +Set to non-zero to remember help window position between starts. + + + + + + +htmlhelp.window.geometry +string + + +htmlhelp.window.geometry +Set initial geometry of help window + + + + +<xsl:param name="htmlhelp.window.geometry"></xsl:param> + + + +Description + +This parameter specifies initial position of help +window. E.g. + +<xsl:param name="htmlhelp.window.geometry">[160,64,992,704]</xsl:param> + + + + + + +htmlhelp.use.hhk +boolean + + +htmlhelp.use.hhk +Should the index be built using the HHK file? + + + + +<xsl:param name="htmlhelp.use.hhk" select="0"></xsl:param> + + + +Description + +If non-zero, the index is created using the HHK file (instead of using object +elements in the HTML files). For more information, see Generating an index. + + + + + +htmlhelp.only +boolean + + +htmlhelp.only +Should only project files be generated? + + + + +<xsl:param name="htmlhelp.only" select="0"></xsl:param> + + + +Description + + +Set to non-zero if you want to play with various HTML Help parameters +and you don't need to regenerate all HTML files. This setting will not +process whole document, only project files (hhp, hhc, hhk,...) will be +generated. + + + + + +Eclipse Help Platform + + +eclipse.autolabel +boolean + + +eclipse.autolabel +Should tree-like ToC use autonumbering feature? + + + + +<xsl:param name="eclipse.autolabel" select="0"></xsl:param> + + + +Description + +If you want to include chapter and section numbers into ToC in +the left panel, set this parameter to 1. + + + + + + +eclipse.plugin.name +string + + +eclipse.plugin.name +Eclipse Help plugin name + + + + +<xsl:param name="eclipse.plugin.name">DocBook Online Help Sample</xsl:param> + + + +Description + +Eclipse Help plugin name. + + + + + + +eclipse.plugin.id +string + + +eclipse.plugin.id +Eclipse Help plugin id + + + + +<xsl:param name="eclipse.plugin.id">com.example.help</xsl:param> + + + +Description + +Eclipse Help plugin id. You should change this id to something +unique for each help. + + + + + + +eclipse.plugin.provider +string + + +eclipse.plugin.provider +Eclipse Help plugin provider name + + + + +<xsl:param name="eclipse.plugin.provider">Example provider</xsl:param> + + + +Description + +Eclipse Help plugin provider name. + + + + +JavaHelp + + +javahelp.encoding +string + + +javahelp.encoding +Character encoding to use in control files for JavaHelp. + + + + +<xsl:param name="javahelp.encoding">iso-8859-1</xsl:param> + + + +Description + +JavaHelp crashes on some characters when written as character +references. In that case you can use this parameter to select an appropriate encoding. + + + + + + + +Localization + + +l10n.gentext.language +string + + +l10n.gentext.language +Sets the gentext language + + + + +<xsl:param name="l10n.gentext.language"></xsl:param> + + + +Description + +If this parameter is set to any value other than the empty string, its +value will be used as the value for the language when generating text. Setting +l10n.gentext.language overrides any settings within the +document being formatted. + +It's much more likely that you might want to set the +l10n.gentext.default.language parameter. + + + + + + + l10n.gentext.default.language + string + + + l10n.gentext.default.language + Sets the default language for generated text + + + + +<xsl:param name="l10n.gentext.default.language">en</xsl:param> + + + +Description + +The value of the l10n.gentext.default.language +parameter is used as the language for generated text if no setting is provided +in the source document. + + + + + + +l10n.gentext.use.xref.language +boolean + + +l10n.gentext.use.xref.language +Use the language of target when generating cross-reference text? + + + + +<xsl:param name="l10n.gentext.use.xref.language" select="0"></xsl:param> + + + +Description + +If non-zero, the language of the target will be used when +generating cross reference text. Usually, the current +language is used when generating text (that is, the language of the +element that contains the cross-reference element). But setting this parameter +allows the language of the element pointed to to control +the generated text. + +Consider the following example: + + +<para lang="en">See also <xref linkend="chap3"/>.</para> + + + +Suppose that Chapter 3 happens to be written in German. +If l10n.gentext.use.xref.language is non-zero, the +resulting text will be something like this: + +
+See also Kapital 3. +
+ +Where the more traditional rendering would be: + +
+See also Chapter 3. +
+ +
+
+ + + +l10n.lang.value.rfc.compliant +boolean + + +l10n.lang.value.rfc.compliant +Make value of lang attribute RFC compliant? + + + + +<xsl:param name="l10n.lang.value.rfc.compliant" select="1"></xsl:param> + + + +Description + +If non-zero, ensure that the values for all lang attributes in HTML output are RFC +compliantSection 8.1.1, Language Codes, in the HTML 4.0 Recommendation states that: + +
[RFC1766] defines and explains the language codes +that must be used in HTML documents. +Briefly, language codes consist of a primary code and a possibly +empty series of subcodes: + +language-code = primary-code ( "-" subcode )* + +And in RFC 1766, Tags for the Identification +of Languages, the EBNF for "language tag" is given as: + +Language-Tag = Primary-tag *( "-" Subtag ) +Primary-tag = 1*8ALPHA +Subtag = 1*8ALPHA + +
+
. + +by taking any underscore characters in any lang values found in source documents, and +replacing them with hyphen characters in output HTML files. For +example, zh_CN in a source document becomes +zh-CN in the HTML output form that source. + + +This parameter does not cause any case change in lang values, because RFC 1766 +explicitly states that all "language tags" (as it calls them) "are +to be treated as case insensitive". + +
+ +
+
+ + + +writing.mode +string + + +writing.mode +Direction of text flow based on locale + + + + +<xsl:param name="writing.mode"> + <xsl:call-template name="gentext"> + <xsl:with-param name="key">writing-mode</xsl:with-param> + <xsl:with-param name="lang"> + <xsl:call-template name="l10n.language"> + <xsl:with-param name="target" select="/*[1]"></xsl:with-param> + </xsl:call-template> + </xsl:with-param> + </xsl:call-template> +</xsl:param> + + + +Description + +Sets direction of text flow and text alignment based on locale. +The value is normally taken from the gentext file for the +lang attribute of the document's root element, using the +key name 'writing-mode' to look it up in the gentext file. +But the param can also be +set on the command line to override that gentext value. + +Accepted values are: + + + lr-tb + + Left-to-right text flow in each line, lines stack top to bottom. + + + + rl-tb + + Right-to-left text flow in each line, lines stack top to bottom. + + + + tb-rl + + Top-to-bottom text flow in each vertical line, lines stack right to left. + Supported by only a few XSL-FO processors. Not supported in HTML output. + + + + lr + + Shorthand for lr-tb. + + + + rl + + Shorthand for rl-tb. + + + + tb + + Shorthand for tb-rl. + + + + + + + + +
+
+ + + + FO Parameter Reference + + + This is reference documentation for all user-configurable + parameters in the DocBook XSL FO stylesheets (for generating + XSL-FO output destined for final print/PDF output). + + + Admonitions + + +admon.graphics +boolean + + +admon.graphics +Use graphics in admonitions? + + + + +<xsl:param name="admon.graphics" select="0"></xsl:param> + + + +Description + +If true (non-zero), admonitions are presented in an alternate style that uses +a graphic. Default graphics are provided in the distribution. + + + + + + + +admon.graphics.extension +string + + +admon.graphics.extension +Filename extension for admonition graphics + + + + +<xsl:param name="admon.graphics.extension">.png</xsl:param> + + + +Description + +Sets the filename extension to use on admonition graphics. + + + + + + +admon.graphics.path +string + + +admon.graphics.path +Path to admonition graphics + + + +<xsl:param name="admon.graphics.path">images/</xsl:param> + + +Description + +Sets the path to the directory containing the admonition graphics +(caution.png, important.png etc). This location is normally relative +to the output html directory. See base.dir + + + + + + +admon.textlabel +boolean + + +admon.textlabel +Use text label in admonitions? + + + + +<xsl:param name="admon.textlabel" select="1"></xsl:param> + + + +Description + +If true (non-zero), admonitions are presented with a generated +text label such as Note or Warning in the appropriate language. +If zero, such labels are turned off, but any title child +of the admonition element are still output. +The default value is 1. + + + + + + + + + admonition.title.properties + attribute set + + +admonition.title.properties +To set the style for admonitions titles. + + + + +<xsl:attribute-set name="admonition.title.properties"> + <xsl:attribute name="font-size">14pt</xsl:attribute> + <xsl:attribute name="font-weight">bold</xsl:attribute> + <xsl:attribute name="hyphenate">false</xsl:attribute> + <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute> +</xsl:attribute-set> + + +Description +How do you want admonitions titles styled? +Set the font-size, weight etc to the style required. + + + + + + + admonition.properties + attribute set + + +admonition.properties +To set the style for admonitions. + + + +<xsl:attribute-set name="admonition.properties"></xsl:attribute-set> + + +Description +How do you want admonitions styled? +Set the font-size, weight, etc. to the style required + + + + + + +graphical.admonition.properties +attribute set + + +graphical.admonition.properties +To add properties to the outer block of a graphical admonition. + + + +<xsl:attribute-set name="graphical.admonition.properties"> + <xsl:attribute name="space-before.optimum">1em</xsl:attribute> + <xsl:attribute name="space-before.minimum">0.8em</xsl:attribute> + <xsl:attribute name="space-before.maximum">1.2em</xsl:attribute> + <xsl:attribute name="space-after.optimum">1em</xsl:attribute> + <xsl:attribute name="space-after.minimum">0.8em</xsl:attribute> + <xsl:attribute name="space-after.maximum">1.2em</xsl:attribute> +</xsl:attribute-set> + + +Description +These properties are added to the outer block containing the +entire graphical admonition, including its title. +It is used when the parameter +admon.graphics is set to nonzero. +Use this attribute-set to set the space above and below, +and any indent for the whole admonition. + +In addition to these properties, a graphical admonition +also applies the admonition.title.properties +attribute-set to the title, and applies the +admonition.properties attribute-set +to the rest of the content. + + + + + + +nongraphical.admonition.properties +attribute set + + +nongraphical.admonition.properties +To add properties to the outer block of a nongraphical admonition. + + + +<xsl:attribute-set name="nongraphical.admonition.properties"> + <xsl:attribute name="space-before.minimum">0.8em</xsl:attribute> + <xsl:attribute name="space-before.optimum">1em</xsl:attribute> + <xsl:attribute name="space-before.maximum">1.2em</xsl:attribute> + <xsl:attribute name="margin-{$direction.align.start}">0.25in</xsl:attribute> + <xsl:attribute name="margin-{$direction.align.end}">0.25in</xsl:attribute> +</xsl:attribute-set> + + +Description +These properties are added to the outer block containing the +entire nongraphical admonition, including its title. +It is used when the parameter +admon.graphics is set to zero. +Use this attribute-set to set the space above and below, +and any indent for the whole admonition. + +In addition to these properties, a nongraphical admonition +also applies the admonition.title.properties +attribute-set to the title, and the +admonition.properties attribute-set +to the rest of the content. + + + + +Callouts + + +callout.defaultcolumn +integer + + +callout.defaultcolumn +Indicates what column callouts appear in by default + + + + +<xsl:param name="callout.defaultcolumn">60</xsl:param> + + + +Description + +If a callout does not identify a column (for example, if it uses +the linerange unit), +it will appear in the default column. + + + + + + + +callout.graphics +boolean + + +callout.graphics +Use graphics for callouts? + + + + +<xsl:param name="callout.graphics" select="1"></xsl:param> + + + +Description + +If non-zero, callouts are presented with graphics (e.g., reverse-video +circled numbers instead of "(1)", "(2)", etc.). +Default graphics are provided in the distribution. + + + + + + + +callout.graphics.extension +string + + +callout.graphics.extension +Filename extension for callout graphics + + + + + +<xsl:param name="callout.graphics.extension">.svg</xsl:param> + + + +Description +Sets the filename extension to use on callout graphics. + + +The Docbook XSL distribution provides callout graphics in the following formats: +SVG (extension: .svg) +PNG (extension: .png) +GIF (extension: .gif) + + + + + + +callout.graphics.number.limit +integer + + +callout.graphics.number.limit +Number of the largest callout graphic + + + + + +<xsl:param name="callout.graphics.number.limit">30</xsl:param> + + + +Description + +If callout.graphics is non-zero, graphics +are used to represent callout numbers instead of plain text. The value +of callout.graphics.number.limit is the largest +number for which a graphic exists. If the callout number exceeds this +limit, the default presentation "(plain text instead of a graphic)" +will be used. + + + + + + + +callout.graphics.path +string + + +callout.graphics.path +Path to callout graphics + + + + +<xsl:param name="callout.graphics.path">images/callouts/</xsl:param> + + + +Description + +Sets the path to the directory holding the callout graphics. his +location is normally relative to the output html directory. see +base.dir. Always terminate the directory with / since the graphic file +is appended to this string, hence needs the separator. + + + + + + + +callout.icon.size +length + + +callout.icon.size +Specifies the size of callout marker icons + + + + +<xsl:param name="callout.icon.size">7pt</xsl:param> + + + +Description + +Specifies the size of the callout marker icons. +The default size is 7 points. + + + + + + +callout.unicode +boolean + + +callout.unicode +Use Unicode characters rather than images for callouts. + + + +<xsl:param name="callout.unicode" select="0"></xsl:param> + + +Description + +The stylesheets can use either an image of the numbers one to ten, or the single Unicode character which represents the numeral, in white on a black background. Use this to select the Unicode character option. + + + + + + + +callout.unicode.font +string + + +callout.unicode.font +Specify a font for Unicode glyphs + + + + +<xsl:param name="callout.unicode.font">ZapfDingbats</xsl:param> + + + +Description + +The name of the font to specify around Unicode callout glyphs. +If set to the empty string, no font change will occur. + + + + + + + +callout.unicode.number.limit +integer + + +callout.unicode.number.limit +Number of the largest unicode callout character + + + + +<xsl:param name="callout.unicode.number.limit">10</xsl:param> + + + +Description + +If callout.unicode +is non-zero, unicode characters are used to represent +callout numbers. The value of +callout.unicode.number.limit +is +the largest number for which a unicode character exists. If the callout number +exceeds this limit, the default presentation "(nnn)" will always +be used. + + + + + + + +callout.unicode.start.character +integer + + +callout.unicode.start.character +First Unicode character to use, decimal value. + + + + +<xsl:param name="callout.unicode.start.character">10102</xsl:param> + + + +Description + +If callout.graphics is zero and callout.unicode +is non-zero, unicode characters are used to represent +callout numbers. The value of +callout.unicode.start.character +is the decimal unicode value used for callout number one. Currently, +only 10102 is supported in the stylesheets for this parameter. + + + + + + + +callouts.extension +boolean + + +callouts.extension +Enable the callout extension + + + + +<xsl:param name="callouts.extension" select="1"></xsl:param> + + + +Description + +The callouts extension processes areaset +elements in programlistingco and other text-based +callout elements. + + + + + +ToC/LoT/Index Generation + + +autotoc.label.separator +string + + +autotoc.label.separator +Separator between labels and titles in the ToC + + + + +<xsl:param name="autotoc.label.separator">. </xsl:param> + + + +Description + +String used to separate labels and titles in a table of contents. + + + + + + +process.empty.source.toc +boolean + + +process.empty.source.toc +Generate automated TOC if toc element occurs in a source document? + + + +<xsl:param name="process.empty.source.toc" select="0"></xsl:param> + + +Description + +Specifies that if an empty toc element is found in a +source document, an automated TOC is generated at this point in the +document. + + Depending on what the value of the + generate.toc parameter is, setting this + parameter to 1 could result in generation of + duplicate automated TOCs. So the + process.empty.source.toc is primarily useful + as an "override": by placing an empty toc in your + document and setting this parameter to 1, you can + force a TOC to be generated even if generate.toc + says not to. + + + + + + + + +process.source.toc +boolean + + +process.source.toc +Process a non-empty toc element if it occurs in a source document? + + + +<xsl:param name="process.source.toc" select="0"></xsl:param> + + +Description + +Specifies that the contents of a non-empty "hard-coded" +toc element in a source document are processed to +generate a TOC in output. + + This parameter has no effect on automated generation of + TOCs. An automated TOC may still be generated along with the + "hard-coded" TOC. To suppress automated TOC generation, adjust the + value of the generate.toc paramameter. + + The process.source.toc parameter also has + no effect if the toc element is empty; handling + for empty toc is controlled by the + process.empty.source.toc parameter. + + + + + + + + +generate.toc +table + + +generate.toc +Control generation of ToCs and LoTs + + + + + +<xsl:param name="generate.toc"> +/appendix toc,title +article/appendix nop +/article toc,title +book toc,title,figure,table,example,equation +/chapter toc,title +part toc,title +/preface toc,title +reference toc,title +/sect1 toc +/sect2 toc +/sect3 toc +/sect4 toc +/sect5 toc +/section toc +set toc,title +</xsl:param> + + + +Description + +This parameter has a structured value. It is a table of space-delimited +path/value pairs. Each path identifies some element in the source document +using a restricted subset of XPath (only the implicit child axis, no wildcards, +no predicates). Paths can be either relative or absolute. + +When processing a particular element, the stylesheets consult this table to +determine if a ToC (or LoT(s)) should be generated. + +For example, consider the entry: + +book toc,figure + +This indicates that whenever a book is formatted, a +Table Of Contents and a List of Figures should be generated. Similarly, + +/chapter toc + +indicates that whenever a document that has a root +of chapter is formatted, a Table of +Contents should be generated. The entry chapter would match +all chapters, but /chapter matches only chapter +document elements. + +Generally, the longest match wins. So, for example, if you want to distinguish +articles in books from articles in parts, you could use these two entries: + +book/article toc,figure +part/article toc + +Note that an article in a part can never match a book/article, +so if you want nothing to be generated for articles in parts, you can simply leave +that rule out. + +If you want to leave the rule in, to make it explicit that you're turning +something off, use the value nop. For example, the following +entry disables ToCs and LoTs for articles: + +article nop + +Do not simply leave the word article in the file +without a matching value. That'd be just begging the silly little +path/value parser to get confused. + +Section ToCs are further controlled by the +generate.section.toc.level parameter. +For a given section level to have a ToC, it must have both an entry in +generate.toc and be within the range enabled by +generate.section.toc.level. + + + + + +generate.index +boolean + + +generate.index +Do you want an index? + + + +<xsl:param name="generate.index" select="1"></xsl:param> + + +Description + +Specify if an index should be generated. + + + + + + +make.index.markup +boolean + + +make.index.markup +Generate XML index markup in the index? + + + + +<xsl:param name="make.index.markup" select="0"></xsl:param> + + + +Description + +This parameter enables a very neat trick for getting properly +merged, collated back-of-the-book indexes. G. Ken Holman suggested +this trick at Extreme Markup Languages 2002 and I'm indebted to him +for it. + +Jeni Tennison's excellent code in +autoidx.xsl does a great job of merging and +sorting indexterms in the document and building a +back-of-the-book index. However, there's one thing that it cannot +reasonably be expected to do: merge page numbers into ranges. (I would +not have thought that it could collate and suppress duplicate page +numbers, but in fact it appears to manage that task somehow.) + +Ken's trick is to produce a document in which the index at the +back of the book is displayed in XML. Because the index +is generated by the FO processor, all of the page numbers have been resolved. +It's a bit hard to explain, but what it boils down to is that instead of having +an index at the back of the book that looks like this: + +
+A +ap1, 1, 2, 3 + +
+ +you get one that looks like this: + +
+<indexdiv>A</indexdiv> +<indexentry> +<primaryie>ap1</primaryie>, +<phrase role="pageno">1</phrase>, +<phrase role="pageno">2</phrase>, +<phrase role="pageno">3</phrase> +</indexentry> +
+ +After building a PDF file with this sort of odd-looking index, you can +extract the text from the PDF file and the result is a proper index expressed in +XML. + +Now you have data that's amenable to processing and a simple Perl script +(such as fo/pdf2index) can +merge page ranges and generate a proper index. + +Finally, reformat your original document using this literal index instead of +an automatically generated one and bingo! + +
+
+ + + +index.method +list +basic +kosek +kimber + + +index.method +Select method used to group index entries in an index + + + + +<xsl:param name="index.method">basic</xsl:param> + + + +Description + +This parameter lets you select which method to use for sorting and grouping + index entries in an index. +Indexes in Latin-based languages that have accented characters typically +sort together accented words and unaccented words. +Thus Á (U+00C1 LATIN CAPITAL LETTER A WITH ACUTE) would sort together +with A (U+0041 LATIN CAPITAL LETTER A), so both would appear in the A +section of the index. +Languages using other alphabets (such as Russian, which is written in the Cyrillic alphabet) +and languages using ideographic chararacters (such as Japanese) +require grouping specific to the languages and alphabets. + + +The default indexing method is limited. +It can group accented characters in Latin-based languages only. +It cannot handle non-Latin alphabets or ideographic languages. +The other indexing methods require extensions of one type or +another, and do not work with +all XSLT processors, which is why they are not used by default. + +The three choices for indexing method are: + + +basic + + +(default) Sort and groups words based only on the Latin alphabet. +Words with accented Latin letters will group and sort with +their respective primary letter, but +words in non-Latin alphabets will be +put in the Symbols section of the index. + + + + +kosek + + +This method sorts and groups words based on letter groups configured in +the DocBook locale file for the given language. +See, for example, the French locale file common/fr.xml. +This method requires that the XSLT processor +supports the EXSLT extensions (most do). +It also requires support for using +user-defined functions in xsl:key (xsltproc does not). + +This method is suitable for any language for which you can +list all the individual characters that should appear +in each letter group in an index. +It is probably not practical to use it for ideographic languages +such as Chinese that have hundreds or thousands of characters. + + +To use the kosek method, you must: + + + +Use a processor that supports its extensions, such as +Saxon 6 or Xalan (xsltproc and Saxon 8 do not). + + + +Set the index.method parameter's value to kosek. + + + +Import the appropriate index extensions stylesheet module +fo/autoidx-kosek.xsl or +html/autoidx-kosek.xsl into your +customization. + + + + + + + +kimber + + +This method uses extensions to the Saxon processor to implement +sophisticated indexing processes. It uses its own +configuration file, which can include information for any number of +languages. Each language's configuration can group +words using one of two processes. In the +enumerated process similar to that used in the kosek method, +you indicate the groupings character-by-character. +In the between-key process, you specify the +break-points in the sort order that should start a new group. +The latter configuration is useful for ideographic languages +such as Chinese, Japanese, and Korean. +You can also define your own collation algorithms and how you +want mixed Latin-alphabet words sorted. + + +For a whitepaper describing the extensions, see: +http://www.innodata-isogen.com/knowledge_center/white_papers/back_of_book_for_xsl_fo.pdf. + + + +To download the extension library, see +http://www.innodata-isogen.com/knowledge_center/tools_downloads/i18nsupport. + + + + +To use the kimber method, you must: + + + +Use Saxon (version 6 or 8) as your XSLT processor. + + + +Install and configure the Innodata Isogen library, using +the documentation that comes with it. + + + +Set the index.method parameter's value to kimber. + + + +Import the appropriate index extensions stylesheet module +fo/autoidx-kimber.xsl or +html/autoidx-kimber.xsl into your +customization. + + + + + + + + + + + + + +index.on.type +boolean + + +index.on.type +Select indexterms based on type +attribute value + + + + +<xsl:param name="index.on.type" select="0"></xsl:param> + + + +Description + + +If non-zero, +then an index element that has a +type attribute +value will contain only those indexterm +elements with a matching type attribute value. +If an index has no type +attribute or it is blank, then the index will contain +all indexterms in the current scope. + + + +If index.on.type is zero, then the +type attribute has no effect +on selecting indexterms for an index. + + +For those using DocBook version 4.2 or earlier, +the type attribute is not available +for index terms. However, you can achieve the same +effect by using the role attribute +in the same manner on indexterm +and index, and setting the stylesheet parameter +index.on.role to a nonzero value. + + + + + + + +index.on.role +boolean + + +index.on.role +Select indexterms based on role value + + + + +<xsl:param name="index.on.role" select="0"></xsl:param> + + + +Description + + +If non-zero, +then an index element that has a +role attribute +value will contain only those indexterm +elements with a matching role value. +If an index has no role +attribute or it is blank, then the index will contain +all indexterms in the current scope. + + +If index.on.role is zero, then the +role attribute has no effect +on selecting indexterms for an index. + + +If you are using DocBook version 4.3 or later, you should +use the type attribute instead of role +on indexterm and index, +and set the index.on.type to a nonzero +value. + + + + + + + +index.preferred.page.properties +attribute set + + +index.preferred.page.properties +Properties used to emphasize page number references for +significant index terms + + + + +<xsl:attribute-set name="index.preferred.page.properties"> + <xsl:attribute name="font-weight">bold</xsl:attribute> +</xsl:attribute-set> + + + +Description + +Properties used to emphasize page number references for +significant index terms (significance=preferred). Currently works only with +XEP. + + + + + + +index.entry.properties +attribute set + + +index.entry.properties +Properties applied to the formatted entries +in an index + + + + +<xsl:attribute-set name="index.entry.properties"> + <xsl:attribute name="start-indent">0pt</xsl:attribute> +</xsl:attribute-set> + + + +Description + +This attribute set is applied to the block containing +the entries in a letter division in an index. It can be used to set the +font-size, font-family, and other inheritable properties that will be +applied to all index entries. + + + + + + +index.div.title.properties +attribute set + + +index.div.title.properties +Properties associated with the letter headings in an +index + + + + +<xsl:attribute-set name="index.div.title.properties"> + <xsl:attribute name="margin-{$direction.align.start}">0pt</xsl:attribute> + <xsl:attribute name="font-size">14.4pt</xsl:attribute> + <xsl:attribute name="font-family"><xsl:value-of select="$title.fontset"></xsl:value-of></xsl:attribute> + <xsl:attribute name="font-weight">bold</xsl:attribute> + <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute> + <xsl:attribute name="space-before.optimum"><xsl:value-of select="concat($body.font.master,'pt')"></xsl:value-of></xsl:attribute> + <xsl:attribute name="space-before.minimum"><xsl:value-of select="concat($body.font.master,'pt * 0.8')"></xsl:value-of></xsl:attribute> + <xsl:attribute name="space-before.maximum"><xsl:value-of select="concat($body.font.master,'pt * 1.2')"></xsl:value-of></xsl:attribute> + <xsl:attribute name="start-indent">0pt</xsl:attribute> +</xsl:attribute-set> + + + +Description + +This attribute set is used on the letter headings that separate +the divisions in an index. + + + + + + +index.number.separator +string + + +index.number.separator +Override for punctuation separating page numbers in index + + + + +<xsl:param name="index.number.separator"></xsl:param> + + + +Description + +This parameter permits you to override the text to insert between +page references in a formatted index entry. Typically +that would be a comma and a space. + + +Because this text may be locale dependent, +this parameter's value is normally taken from a gentext +template named 'number-separator' in the +context 'index' in the stylesheet +locale file for the language +of the current document. +This parameter can be used to override the gentext string, +and would typically be used on the command line. +This parameter would apply to all languages. + + +So this text string can be customized in two ways. +You can reset the default gentext string using +the local.l10n.xml parameter, or you can +override the gentext with the content of this parameter. +The content can be a simple string, or it can be +something more complex such as a call-template. + + +In HTML index output, section title references are used instead of +page number references. This punctuation appears between +such section titles in an HTML index. + + + + + + + +index.range.separator +string + + +index.range.separator +Override for punctuation separating the two numbers +in a page range in index + + + + +<xsl:param name="index.range.separator"></xsl:param> + + + +Description + +This parameter permits you +to override the text to insert between +the two numbers of a page range in an index. +This parameter is only used by those XSL-FO processors +that support an extension for generating such page ranges +(such as XEP). + +Because this text may be locale dependent, +this parameter's value is normally taken from a gentext +template named 'range-separator' in the +context 'index' in the stylesheet +locale file for the language +of the current document. +This parameter can be used to override the gentext string, +and would typically be used on the command line. +This parameter would apply to all languages. + + +So this text string can be customized in two ways. +You can reset the default gentext string using +the local.l10n.xml parameter, or you can +override the gentext with the content of this parameter. +The content can be a simple string, or it can be +something more complex such as a call-template. + + +In HTML index output, section title references are used instead of +page number references. So there are no page ranges +and this parameter has no effect. + + + + + + + +index.term.separator +string + + +index.term.separator +Override for punctuation separating an index term +from its list of page references in an index + + + + +<xsl:param name="index.term.separator"></xsl:param> + + + +Description + +This parameter permits you to override +the text to insert between +the end of an index term and its list of page references. +Typically that might be a comma and a space. + + +Because this text may be locale dependent, +this parameter's value is normally taken from a gentext +template named 'term-separator' in the +context 'index' in the stylesheet +locale file for the language +of the current document. +This parameter can be used to override the gentext string, +and would typically be used on the command line. +This parameter would apply to all languages. + + +So this text string can be customized in two ways. +You can reset the default gentext string using +the local.l10n.xml parameter, or you can +fill in the content for this normally empty +override parameter. +The content can be a simple string, or it can be +something more complex such as a call-template. +For fo output, it could be an fo:leader +element to provide space of a specific length, or a dot leader. + + + + + + + +xep.index.item.properties +attribute set + + +xep.index.item.properties +Properties associated with XEP index-items + + + + +<xsl:attribute-set name="xep.index.item.properties" use-attribute-sets="index.page.number.properties"> + <xsl:attribute name="merge-subsequent-page-numbers">true</xsl:attribute> + <xsl:attribute name="link-back">true</xsl:attribute> +</xsl:attribute-set> + + + +Description + +Properties associated with XEP index-items, which generate +page numbers in an index processed by XEP. For more info see +the XEP documentation section "Indexes" in +http://www.renderx.com/reference.html#Indexes. + +This attribute-set also adds by default any properties from the +index.page.number.properties +attribute-set. + + + + + +toc.section.depth +integer + + +toc.section.depth +How deep should recursive sections appear +in the TOC? + + + +<xsl:param name="toc.section.depth">2</xsl:param> + + +Description + +Specifies the depth to which recursive sections should appear in the +TOC. + + + + + + + +toc.max.depth +integer + + +toc.max.depth +How many levels should be created for each TOC? + + + +<xsl:param name="toc.max.depth">8</xsl:param> + + +Description + +Specifies the maximal depth of TOC on all levels. + + + + + + +toc.indent.width +float + + +toc.indent.width +Amount of indentation for TOC entries + + + + +<xsl:param name="toc.indent.width">24</xsl:param> +<!-- inconsistant point specification? --> + + + +Description + +Specifies, in points, the distance by which each level of the +TOC is indented from its parent. + +This value is expressed in points, without +a unit (in other words, it is a bare number). Using a bare number allows the stylesheet +to perform calculations that would otherwise have to be performed by the FO processor +because not all processors support expressions. + + + + + + +toc.line.properties +attribute set + + +toc.line.properties +Properties for lines in ToCs and LoTs + + + + +<xsl:attribute-set name="toc.line.properties"> + <xsl:attribute name="text-align-last">justify</xsl:attribute> + <xsl:attribute name="text-align">start</xsl:attribute> + <xsl:attribute name="end-indent"><xsl:value-of select="concat($toc.indent.width, 'pt')"></xsl:value-of></xsl:attribute> + <xsl:attribute name="last-line-end-indent"><xsl:value-of select="concat('-', $toc.indent.width, 'pt')"></xsl:value-of></xsl:attribute> +</xsl:attribute-set> + + + +Description + +Properties which are applied to every line in ToC (or LoT). You can +modify them in order to change appearance of all, or some lines. For +example, in order to make lines for chapters bold, specify the +following in your customization layer: + +<xsl:attribute-set name="toc.line.properties"> + <xsl:attribute name="font-weight"> + <xsl:choose> + <xsl:when test="self::chapter">bold</xsl:when> + <xsl:otherwise>normal</xsl:otherwise> + </xsl:choose> + </xsl:attribute> +</xsl:attribute-set> + + + + + + +toc.margin.properties +attribute set + + +toc.margin.properties +Margin properties used on Tables of Contents + + + + +<xsl:attribute-set name="toc.margin.properties"> + <xsl:attribute name="space-before.minimum">0.5em</xsl:attribute> + <xsl:attribute name="space-before.optimum">1em</xsl:attribute> + <xsl:attribute name="space-before.maximum">2em</xsl:attribute> + <xsl:attribute name="space-after.minimum">0.5em</xsl:attribute> + <xsl:attribute name="space-after.optimum">1em</xsl:attribute> + <xsl:attribute name="space-after.maximum">2em</xsl:attribute> +</xsl:attribute-set> + + + +Description +This attribute set is used on Tables of Contents. These attributes are set +on the wrapper that surrounds the ToC block, not on each individual lines. + + + + + +bridgehead.in.toc +boolean + + +bridgehead.in.toc +Should bridgehead elements appear in the TOC? + + + +<xsl:param name="bridgehead.in.toc" select="0"></xsl:param> + + +Description + +If non-zero, bridgeheads appear in the TOC. Note that +this option is not fully supported and may be removed in a future +version of the stylesheets. + + + + + + + +simplesect.in.toc +boolean + + +simplesect.in.toc +Should simplesect elements appear in the TOC? + + + +<xsl:param name="simplesect.in.toc" select="0"></xsl:param> + + +Description + +If non-zero, simplesects will be included in the TOC. + + + + + + + +generate.section.toc.level +integer + + +generate.section.toc.level +Control depth of TOC generation in sections + + + + +<xsl:param name="generate.section.toc.level" select="0"></xsl:param> + + + +Description + +The generate.section.toc.level parameter +controls the depth of section in which TOCs will be generated. Note +that this is related to, but not the same as +toc.section.depth, which controls the depth to +which TOC entries will be generated in a given TOC. +If, for example, generate.section.toc.level +is 3, TOCs will be generated in first, second, and third +level sections, but not in fourth level sections. + + + + + + + + +
Processor Extensions + + +arbortext.extensions +boolean + + +arbortext.extensions +Enable Arbortext extensions? + + + +<xsl:param name="arbortext.extensions" select="0"></xsl:param> + + +Description + +If non-zero, +Arbortext +extensions will be used. + +This parameter can also affect which graphics file formats +are supported + + + + + + +axf.extensions +boolean + + +axf.extensions +Enable XSL Formatter extensions? + + + + +<xsl:param name="axf.extensions" select="0"></xsl:param> + + + +Description + +If non-zero, +XSL Formatter +extensions will be used. XSL Formatter extensions consists of PDF bookmarks, +document information and better index processing. + +This parameter can also affect which graphics file formats +are supported + + + + + + +fop.extensions +boolean + + +fop.extensions +Enable extensions for FOP version 0.20.5 and earlier + + + +<xsl:param name="fop.extensions" select="0"></xsl:param> + + +Description + +If non-zero, extensions intended for +FOP +version 0.20.5 and earlier will be used. +At present, this consists of PDF bookmarks. + + +This parameter can also affect which graphics file formats +are supported. + +If you are using a version of FOP beyond +version 0.20.5, then use the fop1.extensions parameter +instead. + + + + + + +fop1.extensions +boolean + + +fop1.extensions +Enable extensions for FOP version 0.90 and later + + + +<xsl:param name="fop1.extensions" select="0"></xsl:param> + + +Description + +If non-zero, extensions for +FOP +version 0.90 and later will be used. + + +This parameter can also affect which graphics file formats +are supported. + +The original fop.extensions parameter +should still be used for FOP version 0.20.5 and earlier. + + + + + + +passivetex.extensions +boolean + + +passivetex.extensions +Enable PassiveTeX extensions? + + + +<xsl:param name="passivetex.extensions" select="0"></xsl:param> + + +Description + +If non-zero, +PassiveTeX +extensions will be used. At present, this consists of PDF bookmarks +and sorted index terms. + + +This parameter can also affect which graphics file formats +are supported + + + PassiveTeX is incomplete and development has ceased. In most cases, +another XSL-FO engine is probably a better choice. + + + + + + + +tex.math.in.alt +list +plain +latex + + +tex.math.in.alt +TeX notation used for equations + + + + +<xsl:param name="tex.math.in.alt"></xsl:param> + + + +Description + +If you want type math directly in TeX notation in equations, +this parameter specifies notation used. Currently are supported two +values -- plain and latex. Empty +value means that you are not using TeX math at all. + +Preferred way for including TeX alternative of math is inside of +textobject element. Eg.: + +<inlineequation> +<inlinemediaobject> +<imageobject> +<imagedata fileref="eq1.gif"/> +</imageobject> +<textobject><phrase>E=mc squared</phrase></textobject> +<textobject role="tex"><phrase>E=mc^2</phrase></textobject> +</inlinemediaobject> +</inlineequation> + +If you are using graphic element, you can +store TeX inside alt element: + +<inlineequation> +<alt role="tex">a^2+b^2=c^2</alt> +<graphic fileref="a2b2c2.gif"/> +</inlineequation> + +If you want use this feature, you should process your FO with +PassiveTeX, which only supports TeX math notation. When calling +stylsheet, don't forget to specify also +passivetex.extensions=1. + +If you want equations in HTML, just process generated file +tex-math-equations.tex by TeX or LaTeX. Then run +dvi2bitmap program on result DVI file. You will get images for +equations in your document. + + + This feature is useful for print/PDF output only if you + use the obsolete and now unsupported PassiveTeX XSL-FO + engine. + + + + +Related Parameters + tex.math.delims, + passivetex.extensions, + tex.math.file + + + + + + +tex.math.delims +boolean + + +tex.math.delims +Should equations output for processing by TeX be +surrounded by math mode delimiters? + + + + +<xsl:param name="tex.math.delims" select="1"></xsl:param> + + + +Description + +For compatibility with DSSSL based DBTeXMath from Allin Cottrell +you should set this parameter to 0. + + + This feature is useful for print/PDF output only if you + use the obsolete and now unsupported PassiveTeX XSL-FO + engine. + + + +Related Parameters + tex.math.in.alt, + passivetex.extensions + + +See Also + You can also use the dbtex delims processing + instruction to control whether delimiters are output. + + + + + + + +xep.extensions +boolean + + +xep.extensions +Enable XEP extensions? + + + +<xsl:param name="xep.extensions" select="0"></xsl:param> + + +Description + +If non-zero, +XEP +extensions will be used. XEP extensions consists of PDF bookmarks, +document information and better index processing. + + +This parameter can also affect which graphics file formats +are supported + + + +Stylesheet Extensions + + +linenumbering.everyNth +integer + + +linenumbering.everyNth +Indicate which lines should be numbered + + + + +<xsl:param name="linenumbering.everyNth">5</xsl:param> + + + +Description + +If line numbering is enabled, everyNth line will be +numbered. Note that numbering is one based, not zero based. + + + + + + + +linenumbering.extension +boolean + + +linenumbering.extension +Enable the line numbering extension + + + + +<xsl:param name="linenumbering.extension" select="1"></xsl:param> + + + +Description + +If non-zero, verbatim environments (address, literallayout, +programlisting, screen, synopsis) that specify line numbering will +have line numbers. + + + + + + + +linenumbering.separator +string + + +linenumbering.separator +Specify a separator between line numbers and lines + + + + +<xsl:param name="linenumbering.separator"><xsl:text> </xsl:text></xsl:param> + + + +Description + +The separator is inserted between line numbers and lines in the +verbatim environment. The default value is a single white space. + Note the interaction with linenumbering.width + + + + + + + +linenumbering.width +integer + + +linenumbering.width +Indicates the width of line numbers + + + + +<xsl:param name="linenumbering.width">3</xsl:param> + + + +Description + +If line numbering is enabled, line numbers will appear right +justified in a field "width" characters wide. + + + + + + + +tablecolumns.extension +boolean + + +tablecolumns.extension +Enable the table columns extension function + + + + +<xsl:param name="tablecolumns.extension" select="1"></xsl:param> + + + +Description + +The table columns extension function adjusts the widths of table +columns in the HTML result to more accurately reflect the specifications +in the CALS table. + + + + + + + + textinsert.extension + boolean + + + textinsert.extension + Enables the textinsert extension element + + + + <xsl:param name="textinsert.extension" select="1"></xsl:param> + + + Description + The textinsert extension element inserts the contents of + a file into the result tree (as text). + + To use the textinsert extension element, you must use + either Saxon or Xalan as your XSLT processor (it doesn’t + work with xsltproc), along with either the DocBook Saxon + extensions or DocBook Xalan extensions (for more + information about those extensions, see DocBook Saxon Extensions and DocBook Xalan Extensions), and you must set both + the use.extensions and + textinsert.extension parameters to + 1. + As an alternative to using the textinsert element, + consider using an Xinclude element with the + parse="text" attribute and value + specified, as detailed in Using XInclude for text inclusions. + + + See Also + You can also use the dbhtml-include href processing + instruction to insert external files — both files containing + plain text and files with markup content (including HTML + content). + + More information + For how-to documentation on inserting contents of + external code files and other text files into output, see + External code files. + For guidelines on inserting contents of + HTML files into output, see Inserting external HTML code. + + + + + +textdata.default.encoding +string + + +textdata.default.encoding +Default encoding of external text files which are included +using textdata element + + + + +<xsl:param name="textdata.default.encoding"></xsl:param> + + + +Description + +Specifies the encoding of any external text files included using +textdata element. This value is used only when you do +not specify encoding by the appropriate attribute +directly on textdata. An empty string is interpreted as the system +default encoding. + + + + + + +use.extensions +boolean + + +use.extensions +Enable extensions + + + + +<xsl:param name="use.extensions" select="0"></xsl:param> + + + +Description + +If non-zero, extensions may be used. Each extension is +further controlled by its own parameter. But if +use.extensions is zero, no extensions will +be used. + + + + + +Automatic labelling + + +appendix.autolabel +list +0none +11,2,3... +AA,B,C... +aa,b,c... +ii,ii,iii... +II,II,III... + + +appendix.autolabel +Specifies the labeling format for Appendix titles + + + + +<xsl:param name="appendix.autolabel">A</xsl:param> + + + +Description + +If non-zero, then appendices will be numbered using the +parameter value as the number format if the value matches one of the +following: + + + + + 1 or arabic + + Arabic numeration (1, 2, 3 ...). + + + + A or upperalpha + + Uppercase letter numeration (A, B, C ...). + + + + a or loweralpha + + Lowercase letter numeration (a, b, c ...). + + + + I or upperroman + + Uppercase roman numeration (I, II, III ...). + + + + i or lowerroman + + Lowercase roman letter numeration (i, ii, iii ...). + + + + +Any nonzero value other than the above will generate +the default number format (upperalpha). + + + + + + + +chapter.autolabel +list +0none +11,2,3... +AA,B,C... +aa,b,c... +ii,ii,iii... +II,II,III... + + +chapter.autolabel +Specifies the labeling format for Chapter titles + + + + +<xsl:param name="chapter.autolabel" select="1"></xsl:param> + + +Description + +If non-zero, then chapters will be numbered using the parameter +value as the number format if the value matches one of the following: + + + + + 1 or arabic + + Arabic numeration (1, 2, 3 ...). + + + + A or upperalpha + + Uppercase letter numeration (A, B, C ...). + + + + a or loweralpha + + Lowercase letter numeration (a, b, c ...). + + + + I or upperroman + + Uppercase roman numeration (I, II, III ...). + + + + i or lowerroman + + Lowercase roman letter numeration (i, ii, iii ...). + + + + +Any nonzero value other than the above will generate +the default number format (arabic). + + + + + + + +part.autolabel +list +0none +11,2,3... +AA,B,C... +aa,b,c... +ii,ii,iii... +II,II,III... + + +part.autolabel +Specifies the labeling format for Part titles + + + + +<xsl:param name="part.autolabel">I</xsl:param> + + + +Description + +If non-zero, then parts will be numbered using the parameter +value as the number format if the value matches one of the following: + + + + + 1 or arabic + + Arabic numeration (1, 2, 3 ...). + + + + A or upperalpha + + Uppercase letter numeration (A, B, C ...). + + + + a or loweralpha + + Lowercase letter numeration (a, b, c ...). + + + + I or upperroman + + Uppercase roman numeration (I, II, III ...). + + + + i or lowerroman + + Lowercase roman letter numeration (i, ii, iii ...). + + + + +Any nonzero value other than the above will generate +the default number format (upperroman). + + + + + + + + +reference.autolabel +list +0none +11,2,3... +AA,B,C... +aa,b,c... +ii,ii,iii... +II,II,III... + + +reference.autolabel +Specifies the labeling format for Reference titles + + + + <xsl:param name="reference.autolabel">I</xsl:param> + + +Description +If non-zero, references will be numbered using the parameter + value as the number format if the value matches one of the + following: + + + + 1 or arabic + + Arabic numeration (1, 2, 3 ...). + + + + A or upperalpha + + Uppercase letter numeration (A, B, C ...). + + + + a or loweralpha + + Lowercase letter numeration (a, b, c ...). + + + + I or upperroman + + Uppercase roman numeration (I, II, III ...). + + + + i or lowerroman + + Lowercase roman letter numeration (i, ii, iii ...). + + + +Any non-zero value other than the above will generate +the default number format (upperroman). + + + + + + +preface.autolabel +list +0none +11,2,3... +AA,B,C... +aa,b,c... +ii,ii,iii... +II,II,III... + + +preface.autolabel +Specifices the labeling format for Preface titles + + + +<xsl:param name="preface.autolabel" select="0"></xsl:param> + + +Description + +If non-zero then prefaces will be numbered using the parameter +value as the number format if the value matches one of the following: + + + + + 1 or arabic + + Arabic numeration (1, 2, 3 ...). + + + + A or upperalpha + + Uppercase letter numeration (A, B, C ...). + + + + a or loweralpha + + Lowercase letter numeration (a, b, c ...). + + + + I or upperroman + + Uppercase roman numeration (I, II, III ...). + + + + i or lowerroman + + Lowercase roman letter numeration (i, ii, iii ...). + + + + +Any nonzero value other than the above will generate +the default number format (arabic). + + + + + + + + +section.autolabel +boolean + + +section.autolabel +Are sections enumerated? + + + +<xsl:param name="section.autolabel" select="0"></xsl:param> + + +Description + +If true (non-zero), unlabeled sections will be enumerated. + + + + + + + +section.autolabel.max.depth +integer + + +section.autolabel.max.depth +The deepest level of sections that are numbered. + + + + +<xsl:param name="section.autolabel.max.depth">8</xsl:param> + + + +Description + +When section numbering is turned on by the +section.autolabel parameter, then this +parameter controls the depth of section nesting that is +numbered. Sections nested to a level deeper than this value will not +be numbered. + + + + + + + +section.label.includes.component.label +boolean + + +section.label.includes.component.label +Do section labels include the component label? + + + +<xsl:param name="section.label.includes.component.label" select="0"></xsl:param> + + +Description + +If non-zero, section labels are prefixed with the label of the +component that contains them. + + + + + + + +label.from.part +boolean + + +label.from.part +Renumber components in each part? + + + + +<xsl:param name="label.from.part" select="0"></xsl:param> + + + +Description + +If label.from.part is non-zero, then + numbering of components — preface, + chapter, appendix, and + reference (when reference occurs at the + component level) — is re-started within each + part. +If label.from.part is zero (the + default), numbering of components is not + re-started within each part; instead, components are + numbered sequentially throughout each book, + regardless of whether or not they occur within part + instances. + + + + + + +component.label.includes.part.label +boolean + + +component.label.includes.part.label +Do component labels include the part label? + + + +<xsl:param name="component.label.includes.part.label" select="0"></xsl:param> + + +Description + +If non-zero, number labels for chapter, +appendix, and other component elements are prefixed with +the label of the part element that contains them. So you might see +Chapter II.3 instead of Chapter 3. Also, the labels for formal +elements such as table and figure will include +the part label. If there is no part element container, then no prefix +is generated. + + +This feature is most useful when the +label.from.part parameter is turned on. +In that case, there would be more than one chapter +1, and the extra part label prefix will identify +each chapter unambiguously. + + + + + +XSLT Processing + + +rootid +string + + +rootid +Specify the root element to format + + + + +<xsl:param name="rootid"></xsl:param> + + +Description + +If rootid is not empty, it must be the +value of an ID that occurs in the document being formatted. The entire +document will be loaded and parsed, but formatting will begin at the +element identified, rather than at the root. For example, this allows +you to process only chapter 4 of a book. +Because the entire document is available to the processor, automatic +numbering, cross references, and other dependencies are correctly +resolved. + + + + +Meta/*Info + + +make.single.year.ranges +boolean + + +make.single.year.ranges +Print single-year ranges (e.g., 1998-1999) + + + + +<xsl:param name="make.single.year.ranges" select="0"></xsl:param> + + +Description + +If non-zero, year ranges that span a single year will be printed +in range notation (1998-1999) instead of discrete notation +(1998, 1999). + + + + + + +make.year.ranges +boolean + + +make.year.ranges +Collate copyright years into ranges? + + + +<xsl:param name="make.year.ranges" select="0"></xsl:param> + + +Description + +If non-zero, multiple copyright year elements will be +collated into ranges. +This works only if each year number is put into a separate +year element. The copyright element permits multiple +year elements. If a year element contains a dash or +a comma, then that year element will not be merged into +any range. + + + + + + + +author.othername.in.middle +boolean + + +author.othername.in.middle +Is othername in author a +middle name? + + + + +<xsl:param name="author.othername.in.middle" select="1"></xsl:param> + + +Description + +If non-zero, the othername of an author +appears between the firstname and +surname. Otherwise, othername +is suppressed. + + + + + +Reference Pages + + +funcsynopsis.decoration +boolean + + +funcsynopsis.decoration +Decorate elements of a funcsynopsis? + + + + +<xsl:param name="funcsynopsis.decoration" select="1"></xsl:param> + + + +Description + +If non-zero, elements of the funcsynopsis will be +decorated (e.g. rendered as bold or italic text). The decoration is controlled by +templates that can be redefined in a customization layer. + + + + + + + +funcsynopsis.style +list +ansi +kr + + +funcsynopsis.style +What style of funcsynopsis should be generated? + + + +<xsl:param name="funcsynopsis.style">kr</xsl:param> + + +Description + +If funcsynopsis.style is ansi, +ANSI-style function synopses are generated for a +funcsynopsis, otherwise K&R-style +function synopses are generated. + + + + + + + +function.parens +boolean + + +function.parens +Generate parens after a function? + + + + +<xsl:param name="function.parens" select="0"></xsl:param> + + + +Description + +If non-zero, the formatting of a function element +will include generated parentheses. + + + + + + + +refentry.generate.name +boolean + + +refentry.generate.name +Output NAME header before refnames? + + + + +<xsl:param name="refentry.generate.name" select="1"></xsl:param> + + + +Description + +If non-zero, a "NAME" section title is output before the list +of refnames. This parameter and +refentry.generate.title are mutually +exclusive. This means that if you change this parameter to zero, you +should set refentry.generate.title to non-zero unless +you want get quite strange output. + + + + + + + +refentry.generate.title +boolean + + +refentry.generate.title +Output title before refnames? + + + + +<xsl:param name="refentry.generate.title" select="0"></xsl:param> + + + +Description + +If non-zero, the reference page title or first name is +output before the list of refnames. This parameter and +refentry.generate.name are mutually exclusive. +This means that if you change this parameter to non-zero, you +should set refentry.generate.name to zero unless +you want get quite strange output. + + + + + + + +refentry.pagebreak +boolean + + +refentry.pagebreak +Start each refentry on a new page + + + +<xsl:param name="refentry.pagebreak" select="1"></xsl:param> + + +Description + +If non-zero (the default), each refentry +element will start on a new page. If zero, a page +break will not be generated between refentry elements. +The exception is when the refentry elements are children of +a part element, in which case the page breaks are always +retained. That is because a part element does not generate +a page-sequence for its children, so each refentry must +start its own page-sequence. + + + + + + + +refentry.title.properties +attribute set + + +refentry.title.properties +Title properties for a refentry title + + + + +<xsl:attribute-set name="refentry.title.properties"> + <xsl:attribute name="font-family"> + <xsl:value-of select="$title.font.family"></xsl:value-of> + </xsl:attribute> + <xsl:attribute name="font-size">18pt</xsl:attribute> + <xsl:attribute name="font-weight">bold</xsl:attribute> + <xsl:attribute name="space-after">1em</xsl:attribute> + <xsl:attribute name="hyphenate">false</xsl:attribute> + <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute> + <xsl:attribute name="space-before.minimum">0.8em</xsl:attribute> + <xsl:attribute name="space-before.optimum">1.0em</xsl:attribute> + <xsl:attribute name="space-before.maximum">1.2em</xsl:attribute> + <xsl:attribute name="space-after.optimum">0.5em</xsl:attribute> + <xsl:attribute name="space-after.minimum">0.4em</xsl:attribute> + <xsl:attribute name="space-after.maximum">0.6em</xsl:attribute> + <xsl:attribute name="start-indent"><xsl:value-of select="$title.margin.left"></xsl:value-of></xsl:attribute> +</xsl:attribute-set> + + + +Description + +Formatting properties applied to the title generated for the +refnamediv part of output for +refentry when the value of the +refentry.generate.title parameter is +non-zero. The font size is supplied by the appropriate section.levelX.title.properties +attribute-set, computed from the location of the +refentry in the section hierarchy. + + + This parameter has no effect on the the title generated for + the refnamediv part of output for + refentry when the value of the + refentry.generate.name parameter is + non-zero. By default, that title is formatted with the same + properties as the titles for all other first-level children of + refentry. + + + + + + + +refentry.xref.manvolnum +boolean + + +refentry.xref.manvolnum +Output manvolnum as part of +refentry cross-reference? + + + + +<xsl:param name="refentry.xref.manvolnum" select="1"></xsl:param> + + + +Description + +if non-zero, the manvolnum is used when cross-referencing +refentrys, either with xref +or citerefentry. + + + + + + + +refclass.suppress +boolean + + +refclass.suppress +Suppress display of refclass contents? + + + + +<xsl:param name="refclass.suppress" select="0"></xsl:param> + + +Description + +If the value of refclass.suppress is +non-zero, then display of refclass contents is +suppressed in output. + + + + +Tables + + +default.table.width +length + + +default.table.width +The default width of tables + + + +<xsl:param name="default.table.width"></xsl:param> + + +Description +If non-zero, this value will be used for the +width attribute on tables that do not specify an +alternate width (with the dbhtml table-width or +dbfo table-width processing instruction). + + + + + +nominal.table.width +length + + +nominal.table.width +The (absolute) nominal width of tables + + + + +<xsl:param name="nominal.table.width">6in</xsl:param> + + + +Description + +In order to convert CALS column widths into HTML column widths, it +is sometimes necessary to have an absolute table width to use for conversion +of mixed absolute and relative widths. This value must be an absolute +length (not a percentage). + + + + + + +default.table.frame +string + + +default.table.frame +The default framing of tables + + + + +<xsl:param name="default.table.frame">all</xsl:param> + + + +Description + +This value will be used when there is no frame attribute on the +table. + + + + + + +default.table.rules +string + + +default.table.rules +The default column and row rules for tables using HTML markup + + + + +<xsl:param name="default.table.rules">none</xsl:param> + + + +Description + +Tables using HTML markup elements can use an attribute +named rules on the table or +informaltable element +to specify whether column and row border rules should be +displayed. This parameter lets you specify a global default +style for all HTML tables that don't otherwise have +that attribute. +These are the supported values: + + +all + +Rules will appear between all rows and columns. + + + +rows + +Rules will appear between rows only. + + + +cols + +Rules will appear between columns only. + + + +groups + +Rules will appear between row groups (thead, tfoot, tbody). +No support for rules between column groups yet. + + + + +none + +No rules. This is the default value. + + + + + + +The border after the last row and the border after +the last column are not affected by +this setting. Those borders are controlled by +the frame attribute on the table element. + + + + + + + +table.cell.padding +attribute set + + +table.cell.padding +Specifies the padding of table cells + + + + +<xsl:attribute-set name="table.cell.padding"> + <xsl:attribute name="padding-start">2pt</xsl:attribute> + <xsl:attribute name="padding-end">2pt</xsl:attribute> + <xsl:attribute name="padding-top">2pt</xsl:attribute> + <xsl:attribute name="padding-bottom">2pt</xsl:attribute> +</xsl:attribute-set> + + + +Description + +Specifies the padding of table cells. + + + + + + +table.frame.border.thickness +length + + +table.frame.border.thickness +Specifies the thickness of the frame border + + + + +<xsl:param name="table.frame.border.thickness">0.5pt</xsl:param> + + + +Description + +Specifies the thickness of the border on the table's frame. + + + + + + +table.frame.border.style +list +none +solid +dotted +dashed +double +groove +ridge +inset +outset +solid + + +table.frame.border.style +Specifies the border style of table frames + + + + +<xsl:param name="table.frame.border.style">solid</xsl:param> + + + +Description + +Specifies the border style of table frames. + + + + + + +table.frame.border.color +color + + +table.frame.border.color +Specifies the border color of table frames + + + + + +<xsl:param name="table.frame.border.color">black</xsl:param> + + + +Description + +Specifies the border color of table frames. + + + + + + +table.cell.border.thickness +length + + +table.cell.border.thickness +Specifies the thickness of table cell borders + + + + +<xsl:param name="table.cell.border.thickness">0.5pt</xsl:param> + + + +Description + +If non-zero, specifies the thickness of borders on table +cells. The units are points. See +CSS + + + To control properties of cell borders in HTML output, you must also turn on the + table.borders.with.css parameter. + + + + + + + +table.cell.border.style +list +none +solid +dotted +dashed +double +groove +ridge +inset +outset +solid + + +table.cell.border.style +Specifies the border style of table cells + + + + +<xsl:param name="table.cell.border.style">solid</xsl:param> + + + +Description + +Specifies the border style of table cells. + + + To control properties of cell borders in HTML output, you must also turn on the + table.borders.with.css parameter. + + + + + + + +table.cell.border.color +color + + +table.cell.border.color +Specifies the border color of table cells + + + + + +<xsl:param name="table.cell.border.color">black</xsl:param> + + + +Description + +Set the color of table cell borders. If non-zero, the value is used +for the border coloration. See CSS. A +color is either a keyword or a numerical RGB specification. +Keywords are aqua, black, blue, fuchsia, gray, green, lime, maroon, +navy, olive, orange, purple, red, silver, teal, white, and +yellow. + + + To control properties of cell borders in HTML output, you must also turn on the + table.borders.with.css parameter. + + + + + + + +table.table.properties +attribute set + + +table.table.properties +Properties associated with a table + + + + +<xsl:attribute-set name="table.table.properties"> + <xsl:attribute name="border-before-width.conditionality">retain</xsl:attribute> + <xsl:attribute name="border-collapse">collapse</xsl:attribute> +</xsl:attribute-set> + + + +Description + +The styling for tables. This parameter should really +have been called table.properties, but that parameter +name was inadvertently established for the block-level properties +of the table as a whole. + + +See also table.properties. + + + + +Linking + + +current.docid +string + + +current.docid +targetdoc identifier for the document being +processed + + +<xsl:param name="current.docid"></xsl:param> + + +Description + +When olinks between documents are resolved for HTML output, the stylesheet can compute the relative path between the current document and the target document. The stylesheet needs to know the targetdoc identifiers for both documents, as they appear in the target.database.document database file. This parameter passes to the stylesheet +the targetdoc identifier of the current document, since that +identifier does not appear in the document itself. +This parameter can also be used for print output. If an olink's targetdoc id differs from the current.docid, then the stylesheet can append the target document's title to the generated olink text. That identifies to the reader that the link is to a different document, not the current document. See also olink.doctitle to enable that feature. + + + + + +collect.xref.targets +list +no +yes +only + + +collect.xref.targets +Controls whether cross reference data is +collected + + +<xsl:param name="collect.xref.targets">no</xsl:param> + + +Description + + +In order to resolve olinks efficiently, the stylesheets can +generate an external data file containing information about +all potential cross reference endpoints in a document. +This parameter determines whether the collection process is run when the document is processed by the stylesheet. The default value is no, which means the data file is not generated during processing. The other choices are yes, which means the data file is created and the document is processed for output, and only, which means the data file is created but the document is not processed for output. +See also targets.filename. + + + + + + +insert.olink.page.number +list +no +yes +maybe + + +insert.olink.page.number +Turns page numbers in olinks on and off + + + + +<xsl:param name="insert.olink.page.number">no</xsl:param> + + + +Description + +The value of this parameter determines if +cross references made between documents with +olink will +include page number citations. +In most cases this is only applicable to references in printed output. + +The parameter has three possible values. + + + +no +No page number references will be generated for olinks. + + + +yes +Page number references will be generated +for all olink references. +The style of page reference may be changed +if an xrefstyle +attribute is used. + + + +maybe +Page number references will not be generated +for an olink element unless +it has an +xrefstyle +attribute whose value specifies a page reference. + + + +Olinks that point to targets within the same document +are treated as xrefs, and controlled by +the insert.xref.page.number parameter. + + +Page number references for olinks to +external documents can only be inserted if the +information exists in the olink database. +This means each olink target element +(div or obj) +must have a page attribute +whose value is its page number in the target document. +The XSL stylesheets are not able to extract that information +during processing because pages have not yet been created in +XSLT transformation. Only the XSL-FO processor knows what +page each element is placed on. +Therefore some postprocessing must take place to populate +page numbers in the olink database. + + + + + + + + + +insert.olink.pdf.frag +boolean + + +insert.olink.pdf.frag +Add fragment identifiers for links into PDF files + + + + +<xsl:param name="insert.olink.pdf.frag" select="0"></xsl:param> + + + +Description + +The value of this parameter determines whether +the cross reference URIs to PDF documents made with +olink will +include fragment identifiers. + + +When forming a URI to link to a PDF document, +a fragment identifier (typically a '#' followed by an +id value) appended to the PDF filename can be used by +the PDF viewer to open +the PDF file to a location within the document instead of +the first page. +However, not all PDF files have id +values embedded in them, and not all PDF viewers can +handle fragment identifiers. + + +If insert.olink.pdf.frag is set +to a non-zero value, then any olink targeting a +PDF file will have the fragment identifier appended to the URI. +The URI is formed by concatenating the value of the +olink.base.uri parameter, the +value of the baseuri +attribute from the document +element in the olink database with the matching +targetdoc value, +and the value of the href +attribute for the targeted element in the olink database. +The href attribute +contains the fragment identifier. + + +If insert.olink.pdf.frag is set +to zero (the default value), then +the href attribute +from the olink database +is not appended to PDF olinks, so the fragment identifier is left off. +A PDF olink is any olink for which the +baseuri attribute +from the matching document +element in the olink database ends with '.pdf'. +Any other olinks will still have the fragment identifier added. + + + + + + +olink.base.uri +uri + + +olink.base.uri +Base URI used in olink hrefs + + +<xsl:param name="olink.base.uri"></xsl:param> + + +Description + +When cross reference data is collected for resolving olinks, it +may be necessary to prepend a base URI to each target's href. This +parameter lets you set that base URI when cross reference data is +collected. This feature is needed when you want to link to a document +that is processed without chunking. The output filename for such a +document is not known to the XSL stylesheet; the only target +information consists of fragment identifiers such as +#idref. To enable the resolution of olinks between +documents, you should pass the name of the HTML output file as the +value of this parameter. Then the hrefs recorded in the cross +reference data collection look like +outfile.html#idref, which can be reached as links +from other documents. + + + + + +olink.debug +boolean + + +olink.debug +Turn on debugging messages for olinks + + + + +<xsl:param name="olink.debug" select="0"></xsl:param> + + + +Description + +If non-zero, then each olink will generate several +messages about how it is being resolved during processing. +This is useful when an olink does not resolve properly +and the standard error messages are not sufficient to +find the problem. + + +You may need to read through the olink XSL templates +to understand the context for some of the debug messages. + + + + + + + +olink.doctitle +list +no +yes +maybe + + +olink.doctitle +show the document title for external olinks? + + + +<xsl:param name="olink.doctitle">no</xsl:param> + + +Description + +When olinks between documents are resolved, the generated text +may not make it clear that the reference is to another document. +It is possible for the stylesheets to append the other document's +title to external olinks. For this to happen, two parameters must +be set. + + +This olink.doctitle parameter +should be set to either yes or maybe +to enable this feature. + + + +And you should also set the current.docid +parameter to the document id for the document currently +being processed for output. + + + + + +Then if an olink's targetdoc id differs from +the current.docid value, the stylesheet knows +that it is a reference to another document and can +append the target document's +title to the generated olink text. + +The text for the target document's title is copied from the +olink database from the ttl element +of the top-level div for that document. +If that ttl element is missing or empty, +no title is output. + + +The supported values for olink.doctitle are: + + + +yes + + +Always insert the title to the target document if it is not +the current document. + + + + +no + + +Never insert the title to the target document, even if requested +in an xrefstyle attribute. + + + + +maybe + + +Only insert the title to the target document, if requested +in an xrefstyle attribute. + + + + +An xrefstyle attribute +may override the global setting for individual olinks. +The following values are supported in an +xrefstyle +attribute using the select: syntax: + + + + +docname + + +Insert the target document name for this olink using the +docname gentext template, but only +if the value of olink.doctitle +is not no. + + + + +docnamelong + + +Insert the target document name for this olink using the +docnamelong gentext template, but only +if the value of olink.doctitle +is not no. + + + + +nodocname + + +Omit the target document name even if +the value of olink.doctitle +is yes. + + + + +Another way of inserting the target document name +for a single olink is to employ an +xrefstyle +attribute using the template: syntax. +The %o placeholder (the letter o, not zero) +in such a template +will be filled in with the target document's title when it is processed. +This will occur regardless of +the value of olink.doctitle. + +Note that prior to version 1.66 of the XSL stylesheets, +the allowed values for this parameter were 0 and 1. Those +values are still supported and mapped to 'no' and 'yes', respectively. + + + + + + +olink.lang.fallback.sequence +string + + +olink.lang.fallback.sequence +look up translated documents if olink not found? + + + +<xsl:param name="olink.lang.fallback.sequence"></xsl:param> + + +Description + + +This parameter defines a list of lang values +to search among to resolve olinks. + + +Normally an olink tries to resolve to a document in the same +language as the olink itself. The language of an olink +is determined by its nearest ancestor element with a +lang attribute, otherwise the +value of the l10n.gentext.default.lang +parameter. + + +An olink database can contain target data for the same +document in multiple languages. Each set of data has the +same value for the targetdoc attribute in +the document element in the database, but with a +different lang attribute value. + + +When an olink is being resolved, the target is first +sought in the document with the same language as the olink. +If no match is found there, then this parameter is consulted +for additional languages to try. + +The olink.lang.fallback.sequence +must be a whitespace separated list of lang values to +try. The first one with a match in the olink database is used. +The default value is empty. + +For example, a document might be written in German +and contain an olink with +targetdoc="adminguide". +When the document is processed, the processor +first looks for a target dataset in the +olink database starting with: + +<document targetdoc="adminguide" lang="de">. + + +If there is no such element, then the +olink.lang.fallback.sequence +parameter is consulted. +If its value is, for example, fr en, then the processor next +looks for targetdoc="adminguide" lang="fr", and +then for targetdoc="adminguide" lang="en". +If there is still no match, it looks for +targetdoc="adminguide" with no +lang attribute. + + +This parameter is useful when a set of documents is only +partially translated, or is in the process of being translated. +If a target of an olink has not yet been translated, then this +parameter permits the processor to look for the document in +other languages. This assumes the reader would rather have +a link to a document in a different language than to have +a broken link. + + + + + + + +olink.properties +attribute set + + +olink.properties +Properties associated with the cross-reference +text of an olink. + + + + +<xsl:attribute-set name="olink.properties"> + <xsl:attribute name="show-destination">replace</xsl:attribute> +</xsl:attribute-set> + + + +Description + +This attribute set is applied to the +fo:basic-link element of an olink. It is not applied to the +optional page number or optional title of the external +document. + + + + + + +prefer.internal.olink +boolean + + +prefer.internal.olink +Prefer a local olink reference to an external reference + + + + +<xsl:param name="prefer.internal.olink" select="0"></xsl:param> + + + +Description + +If you are re-using XML content modules in multiple documents, +you may want to redirect some of your olinks. This parameter +permits you to redirect an olink to the current document. + + +For example: you are writing documentation for a product, +which includes 3 manuals: a little installation +booklet (booklet.xml), a user +guide (user.xml), and a reference manual (reference.xml). +All 3 documents begin with the same introduction section (intro.xml) that +contains a reference to the customization section (custom.xml) which is +included in both user.xml and reference.xml documents. + + +How do you write the link to custom.xml in intro.xml +so that it is interpreted correctly in all 3 documents? + +If you use xref, it will fail in user.xml. + +If you use olink (pointing to reference.xml), +the reference in user.xml +will point to the customization section of the reference manual, while it is +actually available in user.xml. + + + +If you set the prefer.internal.olink +parameter to a non-zero value, then the processor will +first look in the olink database +for the olink's targetptr attribute value +in document matching the current.docid +parameter value. If it isn't found there, then +it tries the document in the database +with the targetdoc +value that matches the olink's targetdoc +attribute. + + +This feature permits an olink reference to resolve to +the current document if there is an element +with an id matching the olink's targetptr +value. The current document's olink data must be +included in the target database for this to work. + + +There is a potential for incorrect links if +the same id attribute value is used for different +content in different documents. +Some of your olinks may be redirected to the current document +when they shouldn't be. It is not possible to control +individual olink instances. + + + + + + + +target.database.document +uri + + +target.database.document +Name of master database file for resolving +olinks + + + + <xsl:param name="target.database.document">olinkdb.xml</xsl:param> + + +Description + + +To resolve olinks between documents, the stylesheets use a master +database document that identifies the target datafiles for all the +documents within the scope of the olinks. This parameter value is the +URI of the master document to be read during processing to resolve +olinks. The default value is olinkdb.xml. + +The data structure of the file is defined in the +targetdatabase.dtd DTD. The database file +provides the high level elements to record the identifiers, locations, +and relationships of documents. The cross reference data for +individual documents is generally pulled into the database using +system entity references or XIncludes. See also +targets.filename. + + + + +targets.filename +string + + +targets.filename +Name of cross reference targets data file + + +<xsl:param name="targets.filename">target.db</xsl:param> + + +Description + + +In order to resolve olinks efficiently, the stylesheets can +generate an external data file containing information about +all potential cross reference endpoints in a document. +This parameter lets you change the name of the generated +file from the default name target.db. +The name must agree with that used in the target database +used to resolve olinks during processing. +See also target.database.document. + + + + + + +use.local.olink.style +boolean + + +use.local.olink.style +Process olinks using xref style of current +document + + +<xsl:param name="use.local.olink.style" select="0"></xsl:param> + +Description + +When cross reference data is collected for use by olinks, the data for each potential target includes one field containing a completely assembled cross reference string, as if it were an xref generated in that document. Other fields record the separate title, number, and element name of each target. When an olink is formed to a target from another document, the olink resolves to that preassembled string by default. If the use.local.olink.style parameter is set to non-zero, then instead the cross +reference string is formed again from the target title, number, and +element name, using the stylesheet processing the targeting document. +Then olinks will match the xref style in the targeting document +rather than in the target document. If both documents are processed +with the same stylesheet, then the results will be the same. + + + +Cross References + + +insert.xref.page.number +list +no +yes +maybe + + +insert.xref.page.number +Turns page numbers in xrefs on and off + + + + +<xsl:param name="insert.xref.page.number">no</xsl:param> + + + +Description + +The value of this parameter determines if +cross references (xrefs) in +printed output will +include page number citations. +It has three possible values. + + + +no +No page number references will be generated. + + + +yes +Page number references will be generated +for all xref elements. +The style of page reference may be changed +if an xrefstyle +attribute is used. + + + +maybe +Page number references will not be generated +for an xref element unless +it has an +xrefstyle +attribute whose value specifies a page reference. + + + + + + + + + +xref.properties +attribute set + + +xref.properties +Properties associated with cross-reference text + + + + +<xsl:attribute-set name="xref.properties"> +</xsl:attribute-set> + + + +Description + +This attribute set is used to set properties +on cross reference text. + + + + + + +xref.label-title.separator +string + + +xref.label-title.separator +Punctuation or space separating label from title in xref + + + +<xsl:param name="xref.label-title.separator">: </xsl:param> + + +Description + + +This parameter allows you to control the punctuation of certain +types of generated cross reference text. +When cross reference text is generated for an +xref or +olink element +using an xrefstyle attribute +that makes use of the select: feature, +and the selected components include both label and title, +then the value of this parameter is inserted between +label and title in the output. + + + + + + + +xref.label-page.separator +string + + +xref.label-page.separator +Punctuation or space separating label from page number in xref + + + +<xsl:param name="xref.label-page.separator"><xsl:text> </xsl:text></xsl:param> + + +Description + + +This parameter allows you to control the punctuation of certain +types of generated cross reference text. +When cross reference text is generated for an +xref or +olink element +using an xrefstyle attribute +that makes use of the select: feature, +and the selected components include both label and page +but no title, +then the value of this parameter is inserted between +label and page number in the output. +If a title is included, then other separators are used. + + + + + + + +xref.title-page.separator +string + + +xref.title-page.separator +Punctuation or space separating title from page number in xref + + + +<xsl:param name="xref.title-page.separator"><xsl:text> </xsl:text></xsl:param> + + +Description + + +This parameter allows you to control the punctuation of certain +types of generated cross reference text. +When cross reference text is generated for an +xref or +olink element +using an xrefstyle attribute +that makes use of the select: feature, +and the selected components include both title and page number, +then the value of this parameter is inserted between +title and page number in the output. + + + + + + + +insert.link.page.number +list +no +yes +maybe + + +insert.link.page.number +Turns page numbers in link elements on and off + + + + +<xsl:param name="insert.link.page.number">no</xsl:param> + + + +Description + +The value of this parameter determines if +cross references using the link element in +printed output will +include standard page number citations. +It has three possible values. + + + +no +No page number references will be generated. + + + +yes +Page number references will be generated +for all link elements. +The style of page reference may be changed +if an xrefstyle +attribute is used. + + + +maybe +Page number references will not be generated +for a link element unless +it has an +xrefstyle +attribute whose value specifies a page reference. + + + + +Although the xrefstyle attribute +can be used to turn the page reference on or off, it cannot be +used to control the formatting of the page number as it +can in xref. +In link it will always format with +the style established by the +gentext template with name="page.citation" +in the l:context name="xref". + + + + +Lists + + +compact.list.item.spacing +attribute set + + +compact.list.item.spacing +What space do you want between list items (when spacing="compact")? + + + +<xsl:attribute-set name="compact.list.item.spacing"> + <xsl:attribute name="space-before.optimum">0em</xsl:attribute> + <xsl:attribute name="space-before.minimum">0em</xsl:attribute> + <xsl:attribute name="space-before.maximum">0.2em</xsl:attribute> +</xsl:attribute-set> + +Description +Specify what spacing you want between each list item when +spacing is +compact. + + + + + +itemizedlist.properties +attribute set + + +itemizedlist.properties +Properties that apply to each list-block generated by itemizedlist. + + + +<xsl:attribute-set name="itemizedlist.properties" use-attribute-sets="list.block.properties"> +</xsl:attribute-set> + +Description +Properties that apply to each fo:list-block generated by itemizedlist. + + + + + +itemizedlist.label.properties +attribute set + + +itemizedlist.label.properties +Properties that apply to each label inside itemized list. + + + +<xsl:attribute-set name="itemizedlist.label.properties"> +</xsl:attribute-set> + +Description +Properties that apply to each label inside itemized list. E.g.: +<xsl:attribute-set name="itemizedlist.label.properties"> + <xsl:attribute name="text-align">right</xsl:attribute> +</xsl:attribute-set> + + + + + +itemizedlist.label.width +length + + + itemizedlist.label.width +The default width of the label (bullet) in an itemized list. + + + + + <xsl:param name="itemizedlist.label.width">1.0em</xsl:param> + + + +Description +Specifies the default width of the label (usually a bullet or other +symbol) in an itemized list. You can override the default value on any +particular list with the “dbfo” processing instruction using the +“label-width” pseudoattribute. + + + + + +list.block.properties +attribute set + + +list.block.properties +Properties that apply to each list-block generated by list. + + + +<xsl:attribute-set name="list.block.properties"> + <xsl:attribute name="provisional-label-separation">0.2em</xsl:attribute> + <xsl:attribute name="provisional-distance-between-starts">1.5em</xsl:attribute> +</xsl:attribute-set> + +Description +Properties that apply to each fo:list-block generated by itemizedlist/orderedlist. + + + + + +list.block.spacing +attribute set + + +list.block.spacing +What spacing do you want before and after lists? + + + +<xsl:attribute-set name="list.block.spacing"> + <xsl:attribute name="space-before.optimum">1em</xsl:attribute> + <xsl:attribute name="space-before.minimum">0.8em</xsl:attribute> + <xsl:attribute name="space-before.maximum">1.2em</xsl:attribute> + <xsl:attribute name="space-after.optimum">1em</xsl:attribute> + <xsl:attribute name="space-after.minimum">0.8em</xsl:attribute> + <xsl:attribute name="space-after.maximum">1.2em</xsl:attribute> +</xsl:attribute-set> + +Description +Specify the spacing required before and after a list. It is necessary to specify the space after a list block because lists can come inside of paras. + + + + + +list.item.spacing +attribute set + + +list.item.spacing +What space do you want between list items? + + + +<xsl:attribute-set name="list.item.spacing"> + <xsl:attribute name="space-before.optimum">1em</xsl:attribute> + <xsl:attribute name="space-before.minimum">0.8em</xsl:attribute> + <xsl:attribute name="space-before.maximum">1.2em</xsl:attribute> +</xsl:attribute-set> + +Description +Specify what spacing you want between each list item. + + + + + +orderedlist.properties +attribute set + + +orderedlist.properties +Properties that apply to each list-block generated by orderedlist. + + + +<xsl:attribute-set name="orderedlist.properties" use-attribute-sets="list.block.properties"> + <xsl:attribute name="provisional-distance-between-starts">2em</xsl:attribute> +</xsl:attribute-set> + +Description +Properties that apply to each fo:list-block generated by orderedlist. + + + + + +orderedlist.label.properties +attribute set + + +orderedlist.label.properties +Properties that apply to each label inside ordered list. + + + +<xsl:attribute-set name="orderedlist.label.properties"> +</xsl:attribute-set> + +Description +Properties that apply to each label inside ordered list. E.g.: +<xsl:attribute-set name="orderedlist.label.properties"> + <xsl:attribute name="text-align">right</xsl:attribute> +</xsl:attribute-set> + + + + + +orderedlist.label.width +length + + +orderedlist.label.width +The default width of the label (number) in an ordered list. + + + + +<xsl:param name="orderedlist.label.width">1.2em</xsl:param> + + + +Description +Specifies the default width of the label (usually a number or +sequence of numbers) in an ordered list. You can override the default +value on any particular list with the “dbfo” processing instruction +using the “label-width” pseudoattribute. + + + + + +variablelist.max.termlength +number + + +variablelist.max.termlength +Specifies the longest term in variablelists + + + + +<xsl:param name="variablelist.max.termlength">24</xsl:param> + + + +Description + +In variablelists, the listitem +is indented to leave room for the +term elements. That indent may be computed +if it is not specified with a termlength +attribute on the variablelist element. + + +The computation counts characters in the +term elements in the list +to find the longest term. However, some terms are very long +and would produce extreme indents. This parameter lets you +set a maximum character count. Any terms longer than the maximum +would line wrap. The default value is 24. + + +The character counts are converted to physical widths +by multiplying by 0.50em. There will be some variability +in how many actual characters fit in the space +since some characters are wider than others. + + + + + + + +variablelist.term.separator +string + + +variablelist.term.separator +Text to separate terms within a multi-term +varlistentry + + + + +<xsl:param name="variablelist.term.separator">, </xsl:param> + + +Description + +When a varlistentry contains multiple term +elements, the string specified in the value of the +variablelist.term.separator parameter is placed +after each term except the last. + + + To generate a line break between multiple terms in + a varlistentry, set a non-zero value for the + variablelist.term.break.after parameter. If + you do so, you may also want to set the value of the + variablelist.term.separator parameter to an + empty string (to suppress rendering of the default comma and space + after each term). + + + + + + + +variablelist.term.properties +attribute set + + +variablelist.term.properties +To add properties to the term elements in a variablelist. + + + + +<xsl:attribute-set name="variablelist.term.properties"> +</xsl:attribute-set> + + +Description +These properties are added to the block containing a +term in a variablelist. +Use this attribute-set to set +font properties or alignment, for example. + + + + + + +variablelist.term.break.after +boolean + + +variablelist.term.break.after +Generate line break after each term within a +multi-term varlistentry? + + + + +<xsl:param name="variablelist.term.break.after">0</xsl:param> + + +Description + +Set a non-zero value for the +variablelist.term.break.after parameter to +generate a line break between terms in a +multi-term varlistentry. + + +If you set a non-zero value for +variablelist.term.break.after, you may also +want to set the value of the +variablelist.term.separator parameter to an +empty string (to suppress rendering of the default comma and space +after each term). + + + + + +QAndASet + + +qandadiv.autolabel +boolean + + +qandadiv.autolabel +Are divisions in QAndASets enumerated? + + + +<xsl:param name="qandadiv.autolabel" select="1"></xsl:param> + + +Description + +If non-zero, unlabeled qandadivs will be enumerated. + + + + + + + +qanda.inherit.numeration +boolean + + +qanda.inherit.numeration +Does enumeration of QandASet components inherit the numeration of parent elements? + + + + +<xsl:param name="qanda.inherit.numeration" select="1"></xsl:param> + + + +Description + +If non-zero, numbered qandadiv elements and +question and answer inherit the enumeration of +the ancestors of the qandaset. + + + + + + + +qanda.defaultlabel +list +number +qanda +none + + +qanda.defaultlabel +Sets the default for defaultlabel on QandASet. + + + + +<xsl:param name="qanda.defaultlabel">number</xsl:param> + + + +Description + +If no defaultlabel attribute is specified on +a qandaset, this value is used. It is generally one of the legal +values for the defaultlabel attribute (none, +number or +qanda), or one of the additional stylesheet-specific values +(qnumber or qnumberanda). +The default value is 'number'. + +The values are rendered as follows: + +qanda + +questions are labeled "Q:" and +answers are labeled "A:". + + + +number + +The questions are enumerated and the answers +are not labeled. + + + +qnumber + +The questions are labeled "Q:" followed by a number, and answers are not +labeled. +When sections are numbered, adding a label +to the number distinguishes the question numbers +from the section numbers. +This value is not allowed in the +defaultlabel attribute +of a qandaset element. + + + +qnumberanda + +The questions are labeled "Q:" followed by a number, and +the answers are labeled "A:". +When sections are numbered, adding a label +to the number distinguishes the question numbers +from the section numbers. +This value is not allowed in the +defaultlabel attribute +of a qandaset element. + + + +none + +No distinguishing label precedes Questions or Answers. + + + + + + + + + + +qanda.in.toc +boolean + + +qanda.in.toc +Should qandaentry questions appear in +the document table of contents? + + + +<xsl:param name="qanda.in.toc" select="0"></xsl:param> + + +Description + +If true (non-zero), then the generated table of contents +for a document will include qandaset titles, +qandadiv titles, +and question elements. The default value (zero) excludes +them from the TOC. + +This parameter does not affect any tables of contents +that may be generated inside a qandaset or qandadiv. + + + + + + + +qanda.nested.in.toc +boolean + + +qanda.nested.in.toc +Should nested answer/qandaentry instances appear in TOC? + + + + +<xsl:param name="qanda.nested.in.toc" select="0"></xsl:param> + + + +Description + +If non-zero, instances of qandaentry +that are children of answer elements are shown in +the TOC. + + + + +Bibliography + + +bibliography.style +list +normal +iso690 + + +bibliography.style +Style used for formatting of biblioentries. + + + + +<xsl:param name="bibliography.style">normal</xsl:param> + + + +Description + +Currently only normal and +iso690 styles are supported. + +In order to use ISO690 style to the full extent you might need +to use additional markup described on the +following WiKi page. + + + + + + +biblioentry.item.separator +string + + +biblioentry.item.separator +Text to separate bibliography entries + + + +<xsl:param name="biblioentry.item.separator">. </xsl:param> + + +Description + +Text to separate bibliography entries + + + + + + + +bibliography.collection +string + + +bibliography.collection +Name of the bibliography collection file + + + + +<xsl:param name="bibliography.collection">http://docbook.sourceforge.net/release/bibliography/bibliography.xml</xsl:param> + + + + +Description + +Maintaining bibliography entries across a set of documents is tedious, time +consuming, and error prone. It makes much more sense, usually, to store all of +the bibliography entries in a single place and simply extract +the ones you need in each document. + +That's the purpose of the +bibliography.collection parameter. To setup a global +bibliography database, follow these steps: + +First, create a stand-alone bibliography document that contains all of +the documents that you wish to reference. Make sure that each bibliography +entry (whether you use biblioentry or bibliomixed) +has an ID. + +My global bibliography, ~/bibliography.xml begins +like this: + + +<!DOCTYPE bibliography + PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" + "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"> +<bibliography><title>References</title> + +<bibliomixed id="xml-rec"><abbrev>XML 1.0</abbrev>Tim Bray, +Jean Paoli, C. M. Sperberg-McQueen, and Eve Maler, editors. +<citetitle><ulink url="http://www.w3.org/TR/REC-xml">Extensible Markup +Language (XML) 1.0 Second Edition</ulink></citetitle>. +World Wide Web Consortium, 2000. +</bibliomixed> + +<bibliomixed id="xml-names"><abbrev>Namespaces</abbrev>Tim Bray, +Dave Hollander, +and Andrew Layman, editors. +<citetitle><ulink url="http://www.w3.org/TR/REC-xml-names/">Namespaces in +XML</ulink></citetitle>. +World Wide Web Consortium, 1999. +</bibliomixed> + +<!-- ... --> +</bibliography> + + + +When you create a bibliography in your document, simply +provide empty bibliomixed +entries for each document that you wish to cite. Make sure that these +elements have the same ID as the corresponding real +entry in your global bibliography. + +For example: + + +<bibliography><title>Bibliography</title> + +<bibliomixed id="xml-rec"/> +<bibliomixed id="xml-names"/> +<bibliomixed id="DKnuth86">Donald E. Knuth. <citetitle>Computers and +Typesetting: Volume B, TeX: The Program</citetitle>. Addison-Wesley, +1986. ISBN 0-201-13437-3. +</bibliomixed> +<bibliomixed id="relaxng"/> + +</bibliography> + + +Note that it's perfectly acceptable to mix entries from your +global bibliography with normal entries. You can use +xref or other elements to cross-reference your +bibliography entries in exactly the same way you do now. + +Finally, when you are ready to format your document, simply set the +bibliography.collection parameter (in either a +customization layer or directly through your processor's interface) to +point to your global bibliography. + +The stylesheets will format the bibliography in your document as if +all of the entries referenced appeared there literally. + + + + + + +bibliography.numbered +boolean + + +bibliography.numbered +Should bibliography entries be numbered? + + + + +<xsl:param name="bibliography.numbered" select="0"></xsl:param> + + + +Description + +If non-zero bibliography entries will be numbered + + + + + + + biblioentry.properties + attribute set + + +biblioentry.properties +To set the style for biblioentry. + + + +<xsl:attribute-set name="biblioentry.properties" use-attribute-sets="normal.para.spacing"> + <xsl:attribute name="start-indent">0.5in</xsl:attribute> + <xsl:attribute name="text-indent">-0.5in</xsl:attribute> +</xsl:attribute-set> + + +Description +How do you want biblioentry styled? +Set the font-size, weight, space-above and space-below, indents, etc. to the style required + + + + +Glossary + + +glossterm.auto.link +boolean + + +glossterm.auto.link +Generate links from glossterm to glossentry automatically? + + + + +<xsl:param name="glossterm.auto.link" select="0"></xsl:param> + + + +Description + +If non-zero, links from inline glossterms to the corresponding +glossentry elements in a glossary or glosslist +will be automatically generated. This is useful when your glossterms are consistent +and you don't want to add links manually. + +The automatic link generation feature is not used on glossterm elements +that have a linkend attribute. + + + + + + +firstterm.only.link +boolean + + +firstterm.only.link +Does automatic glossterm linking only apply to firstterms? + + + + +<xsl:param name="firstterm.only.link" select="0"></xsl:param> + + + +Description + +If non-zero, only firstterms will be automatically linked +to the glossary. If glossary linking is not enabled, this parameter +has no effect. + + + + + + +glossary.collection +string + + +glossary.collection +Name of the glossary collection file + + + + +<xsl:param name="glossary.collection"></xsl:param> + + + +Description + +Glossaries maintained independently across a set of documents +are likely to become inconsistent unless considerable effort is +expended to keep them in sync. It makes much more sense, usually, to +store all of the glossary entries in a single place and simply +extract the ones you need in each document. + +That's the purpose of the +glossary.collection parameter. To setup a global +glossary database, follow these steps: + +Setting Up the Glossary Database + +First, create a stand-alone glossary document that contains all of +the entries that you wish to reference. Make sure that each glossary +entry has an ID. + +Here's an example glossary: + + + +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE glossary + PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" + "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"> +<glossary> +<glossaryinfo> +<editor><firstname>Eric</firstname><surname>Raymond</surname></editor> +<title>Jargon File 4.2.3 (abridged)</title> +<releaseinfo>Just some test data</releaseinfo> +</glossaryinfo> + +<glossdiv><title>0</title> + +<glossentry> +<glossterm>0</glossterm> +<glossdef> +<para>Numeric zero, as opposed to the letter `O' (the 15th letter of +the English alphabet). In their unmodified forms they look a lot +alike, and various kluges invented to make them visually distinct have +compounded the confusion. If your zero is center-dotted and letter-O +is not, or if letter-O looks almost rectangular but zero looks more +like an American football stood on end (or the reverse), you're +probably looking at a modern character display (though the dotted zero +seems to have originated as an option on IBM 3270 controllers). If +your zero is slashed but letter-O is not, you're probably looking at +an old-style ASCII graphic set descended from the default typewheel on +the venerable ASR-33 Teletype (Scandinavians, for whom /O is a letter, +curse this arrangement). (Interestingly, the slashed zero long +predates computers; Florian Cajori's monumental "A History of +Mathematical Notations" notes that it was used in the twelfth and +thirteenth centuries.) If letter-O has a slash across it and the zero +does not, your display is tuned for a very old convention used at IBM +and a few other early mainframe makers (Scandinavians curse <emphasis>this</emphasis> +arrangement even more, because it means two of their letters collide). +Some Burroughs/Unisys equipment displays a zero with a <emphasis>reversed</emphasis> +slash. Old CDC computers rendered letter O as an unbroken oval and 0 +as an oval broken at upper right and lower left. And yet another +convention common on early line printers left zero unornamented but +added a tail or hook to the letter-O so that it resembled an inverted +Q or cursive capital letter-O (this was endorsed by a draft ANSI +standard for how to draw ASCII characters, but the final standard +changed the distinguisher to a tick-mark in the upper-left corner). +Are we sufficiently confused yet?</para> +</glossdef> +</glossentry> + +<glossentry> +<glossterm>1TBS</glossterm> +<glossdef> +<para role="accidence"> +<phrase role="pronounce"></phrase> +<phrase role="partsofspeach">n</phrase> +</para> +<para>The "One True Brace Style"</para> +<glossseealso>indent style</glossseealso> +</glossdef> +</glossentry> + +<!-- ... --> + +</glossdiv> + +<!-- ... --> + +</glossary> + + + + +Marking Up Glossary Terms + +That takes care of the glossary database, now you have to get the entries +into your document. Unlike bibliography entries, which can be empty, creating +placeholder glossary entries would be very tedious. So instead, +support for glossary.collection relies on implicit linking. + +In your source document, simply use firstterm and +glossterm to identify the terms you wish to have included +in the glossary. The stylesheets assume that you will either set the +baseform attribute correctly, or that the +content of the element exactly matches a term in your glossary. + +If you're using a glossary.collection, don't +make explicit links on the terms in your document. + +So, in your document, you might write things like this: + + +<para>This is dummy text, without any real meaning. +The point is simply to reference glossary terms like <glossterm>0</glossterm> +and the <firstterm baseform="1TBS">One True Brace Style (1TBS)</firstterm>. +The <glossterm>1TBS</glossterm>, as you can probably imagine, is a nearly +religious issue.</para> + + +If you set the firstterm.only.link parameter, +only the terms marked with firstterm will be links. +Otherwise, all the terms will be linked. + + + +Marking Up the Glossary + +The glossary itself has to be identified for the stylesheets. For lack +of a better choice, the role is used. +To identify the glossary as the target for automatic processing, set +the role to auto. The title of this +glossary (and any other information from the glossaryinfo +that's rendered by your stylesheet) will be displayed, but the entries will +come from the database. + + +Unfortunately, the glossary can't be empty, so you must put in +at least one glossentry. The content of this entry +is irrelevant, it will not be rendered: + + +<glossary role="auto"> +<glossentry> +<glossterm>Irrelevant</glossterm> +<glossdef> +<para>If you can see this, the document was processed incorrectly. Use +the <parameter>glossary.collection</parameter> parameter.</para> +</glossdef> +</glossentry> +</glossary> + + +What about glossary divisions? If your glossary database has glossary +divisions and your automatic glossary contains at least +one glossdiv, the automic glossary will have divisions. +If the glossdiv is missing from either location, no divisions +will be rendered. + +Glossary entries (and divisions, if appropriate) in the glossary will +occur in precisely the order they occur in your database. + + + +Formatting the Document + +Finally, when you are ready to format your document, simply set the +glossary.collection parameter (in either a +customization layer or directly through your processor's interface) to +point to your global glossary. + +The stylesheets will format the glossary in your document as if +all of the entries implicilty referenced appeared there literally. + + +Limitations + +Glossary cross-references within the glossary are +not supported. For example, this will not work: + + +<glossentry> +<glossterm>gloss-1</glossterm> +<glossdef><para>A description that references <glossterm>gloss-2</glossterm>.</para> +<glossseealso>gloss-2</glossseealso> +</glossdef> +</glossentry> + + +If you put glossary cross-references in your glossary that way, +you'll get the cryptic error: Warning: +glossary.collection specified, but there are 0 automatic +glossaries. + +Instead, you must do two things: + + + +Markup your glossary using glossseealso: + + +<glossentry> +<glossterm>gloss-1</glossterm> +<glossdef><para>A description that references <glossterm>gloss-2</glossterm>.</para> +<glossseealso>gloss-2</glossseealso> +</glossdef> +</glossentry> + + + + +Make sure there is at least one glossterm reference to +gloss-2 in your document. The +easiest way to do that is probably within a remark in your +automatic glossary: + + +<glossary role="auto"> +<remark>Make sure there's a reference to <glossterm>gloss-2</glossterm>.</remark> +<glossentry> +<glossterm>Irrelevant</glossterm> +<glossdef> +<para>If you can see this, the document was processed incorrectly. Use +the <parameter>glossary.collection</parameter> parameter.</para> +</glossdef> +</glossentry> +</glossary> + + + + + + + + + + +glossary.as.blocks +boolean + + +glossary.as.blocks +Present glossarys using blocks instead of lists? + + + + +<xsl:param name="glossary.as.blocks" select="0"></xsl:param> + + + +Description + +If non-zero, glossarys will be formatted as +blocks. + +If you have long glossterms, proper list +markup in the FO case may produce unattractive lists. By setting this +parameter, you can force the stylesheets to produce block markup +instead of proper lists. + +You can override this setting with a processing instruction as the +child of glossary: dbfo +glossary-presentation="blocks" or dbfo +glossary-presentation="list" + + + + + + +glosslist.as.blocks +boolean + + +glosslist.as.blocks +Use blocks for glosslists? + + + + +<xsl:param name="glosslist.as.blocks" select="0"></xsl:param> + + + +Description + +See glossary.as.blocks. + + + + + + +glossentry.list.item.properties +attribute set + + +glossentry.list.item.properties +To add properties to each glossentry in a list. + + + +<xsl:attribute-set name="glossentry.list.item.properties"> + <xsl:attribute name="space-before.optimum">1em</xsl:attribute> + <xsl:attribute name="space-before.minimum">0.8em</xsl:attribute> + <xsl:attribute name="space-before.maximum">1.2em</xsl:attribute> +</xsl:attribute-set> + + +Description +These properties are added to the fo:list-item containing a +glossentry in a glossary when the glossary.as.blocks parameter +is zero. +Use this attribute-set to set +spacing between entries, for example. + + + + + + +glossterm.block.properties +attribute set + + +glossterm.block.properties +To add properties to the block of a glossentry's glossterm. + + + +<xsl:attribute-set name="glossterm.block.properties"> + <xsl:attribute name="space-before.optimum">1em</xsl:attribute> + <xsl:attribute name="space-before.minimum">0.8em</xsl:attribute> + <xsl:attribute name="space-before.maximum">1.2em</xsl:attribute> + <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute> + <xsl:attribute name="keep-together.within-column">always</xsl:attribute> +</xsl:attribute-set> + + +Description +These properties are added to the block containing a +glossary term in a glossary when the glossary.as.blocks parameter +is non-zero. +Use this attribute-set to set the space above and below, +font properties, +and any indent for the glossary term. + + + + + + +glossdef.block.properties +attribute set + + +glossdef.block.properties +To add properties to the block of a glossary definition. + + + +<xsl:attribute-set name="glossdef.block.properties"> + <xsl:attribute name="margin-{$direction.align.start}">.25in</xsl:attribute> +</xsl:attribute-set> + + +Description +These properties are added to the block containing a +glossary definition in a glossary when +the glossary.as.blocks parameter +is non-zero. +Use this attribute-set to set the space above and below, +any font properties, +and any indent for the glossary definition. + + + + + + +glossterm.list.properties +attribute set + + +glossterm.list.properties +To add properties to the glossterm in a list. + + + + +<xsl:attribute-set name="glossterm.list.properties"> +</xsl:attribute-set> + + +Description +These properties are added to the block containing a +glossary term in a glossary when the glossary.as.blocks parameter +is zero. +Use this attribute-set to set +font properties, for example. + + + + + + +glossdef.list.properties +attribute set + + +glossdef.list.properties +To add properties to the glossary definition in a list. + + + + +<xsl:attribute-set name="glossdef.list.properties"> +</xsl:attribute-set> + + +Description +These properties are added to the block containing a +glossary definition in a glossary when +the glossary.as.blocks parameter +is zero. +Use this attribute-set to set font properties, for example. + + + + + + +glossterm.width +length + + +glossterm.width +Width of glossterm in list presentation mode + + + + +<xsl:param name="glossterm.width">2in</xsl:param> + + + +Description + +This parameter specifies the width reserved for glossary terms when +a list presentation is used. + + + + + + +glossterm.separation +length + + +glossterm.separation +Separation between glossary terms and descriptions in list mode + + + + +<xsl:param name="glossterm.separation">0.25in</xsl:param> + + + +Description + +Specifies the miminum horizontal +separation between glossary terms and descriptions when +they are presented side-by-side using lists +when the glossary.as.blocks +is zero. + + + + + + +glossentry.show.acronym +list +no +yes +primary + + +glossentry.show.acronym +Display glossentry acronyms? + + + + +<xsl:param name="glossentry.show.acronym">no</xsl:param> + + + +Description + +A setting of yes means they should be displayed; +no means they shouldn't. If primary is used, +then they are shown as the primary text for the entry. + + +This setting controls both acronym and +abbrev elements in the glossentry. + + + + + + + +glossary.sort +boolean + + +glossary.sort +Sort glossentry elements? + + + + +<xsl:param name="glossary.sort" select="0"></xsl:param> + + + +Description + +If non-zero, then the glossentry elements within a +glossary, glossdiv, or glosslist are sorted on the glossterm, using +the current lang setting. If zero (the default), then +glossentry elements are not sorted and are presented +in document order. + + + + + +Miscellaneous + + +formal.procedures +boolean + + +formal.procedures +Selects formal or informal procedures + + + + +<xsl:param name="formal.procedures" select="1"></xsl:param> + + + +Description + +Formal procedures are numbered and always have a title. + + + + + + + +formal.title.placement +table + + +formal.title.placement +Specifies where formal object titles should occur + + + + +<xsl:param name="formal.title.placement"> +figure before +example before +equation before +table before +procedure before +task before +</xsl:param> + + + +Description + +Specifies where formal object titles should occur. For each formal object +type (figure, +example, +equation, +table, and procedure) +you can specify either the keyword +before or +after. + + + + + + +runinhead.default.title.end.punct +string + + +runinhead.default.title.end.punct +Default punctuation character on a run-in-head + + + +<xsl:param name="runinhead.default.title.end.punct">.</xsl:param> + + + +Description + +If non-zero, For a formalpara, use the specified +string as the separator between the title and following text. The period is the default value. + + + + + + +runinhead.title.end.punct +string + + +runinhead.title.end.punct +Characters that count as punctuation on a run-in-head + + + + +<xsl:param name="runinhead.title.end.punct">.!?:</xsl:param> + + + +Description + +Specify which characters are to be counted as punctuation. These +characters are checked for a match with the last character of the +title. If no match is found, the +runinhead.default.title.end.punct contents are +inserted. This is to avoid duplicated punctuation in the output. + + + + + + + +show.comments +boolean + + +show.comments +Display remark elements? + + + + +<xsl:param name="show.comments" select="1"></xsl:param> + + + +Description + +If non-zero, comments will be displayed, otherwise they +are suppressed. Comments here refers to the remark element +(which was called comment prior to DocBook +4.0), not XML comments (<-- like this -->) which are +unavailable. + + + + + + + +punct.honorific +string + + +punct.honorific +Punctuation after an honorific in a personal name. + + + + +<xsl:param name="punct.honorific">.</xsl:param> + + + +Description + +This parameter specifies the punctuation that should be added after an +honorific in a personal name. + + + + + + +segmentedlist.as.table +boolean + + +segmentedlist.as.table +Format segmented lists as tables? + + + + +<xsl:param name="segmentedlist.as.table" select="0"></xsl:param> + + + +Description + +If non-zero, segmentedlists will be formatted as +tables. + + + + + + +variablelist.as.blocks +boolean + + +variablelist.as.blocks +Format variablelists lists as blocks? + + + + +<xsl:param name="variablelist.as.blocks" select="0"></xsl:param> + + + +Description + +If non-zero, variablelists will be formatted as +blocks. + +If you have long terms, proper list markup in the FO case may produce +unattractive lists. By setting this parameter, you can force the stylesheets +to produce block markup instead of proper lists. + +You can override this setting with a processing instruction as the +child of variablelist: dbfo +list-presentation="blocks" or dbfo +list-presentation="list". + +When using list-presentation="list", +you can also control the amount of space used for the terms with +the dbfo term-width=".25in" processing instruction, +the termlength attribute on variablelist, +or allow the stylesheets to attempt to calculate the amount of space to leave based on the +number of letters in the longest term. + + + <variablelist> + <?dbfo list-presentation="list"?> + <?dbfo term-width="1.5in"?> + <?dbhtml list-presentation="table"?> + <?dbhtml term-width="1.5in"?> + <varlistentry> + <term>list</term> + <listitem> + <para> + Formatted as a list even if variablelist.as.blocks is set to 1. + </para> + </listitem> + </varlistentry> + </variablelist> + + + + + + + + + blockquote.properties + attribute set + + +blockquote.properties +To set the style for block quotations. + + + + +<xsl:attribute-set name="blockquote.properties"> +<xsl:attribute name="margin-{$direction.align.start}">0.5in</xsl:attribute> +<xsl:attribute name="margin-{$direction.align.end}">0.5in</xsl:attribute> +<xsl:attribute name="space-after.minimum">0.5em</xsl:attribute> +<xsl:attribute name="space-after.optimum">1em</xsl:attribute> +<xsl:attribute name="space-after.maximum">2em</xsl:attribute> +</xsl:attribute-set> + + + +Description + +The blockquote.properties attribute set specifies +the formating properties of block quotations. + + + + + + +ulink.show +boolean + + +ulink.show +Display URLs after ulinks? + + + + +<xsl:param name="ulink.show" select="1"></xsl:param> + + + +Description + +If non-zero, the URL of each ulink will +appear after the text of the link. If the text of the link and the URL +are identical, the URL is suppressed. + +See also ulink.footnotes. + +DocBook 5 does not have an ulink element. When processing +DocBoook 5 documents, ulink.show applies to all inline +elements that are marked up with xlink:href attributes +that point to external resources. + + + + + + + +ulink.footnotes +boolean + + +ulink.footnotes +Generate footnotes for ulinks? + + + + +<xsl:param name="ulink.footnotes" select="0"></xsl:param> + + + +Description + +If non-zero, and if ulink.show also is non-zero, +the URL of each ulink will appear as a footnote. + +DocBook 5 does not have an ulink element. When processing +DocBoook 5 documents, ulink.footnotes applies to all inline +elements that are marked up with xlink:href attributes +that point to external resources. + + + + + + + +ulink.hyphenate +string + + +ulink.hyphenate +Allow URLs to be automatically hyphenated + + + + +<xsl:param name="ulink.hyphenate"></xsl:param> + + + +Description + +If not empty, the specified character (or more generally, content) is +added to URLs after every character included in the string +in the ulink.hyphenate.chars parameter (default +is /). If the character in this parameter is a +Unicode soft hyphen (0x00AD) or Unicode zero-width space (0x200B), some FO +processors will be able to reasonably hyphenate long URLs. + +As of 28 Jan 2002, discretionary hyphens are more widely and correctly +supported than zero-width spaces for this purpose. + + + + + + +ulink.hyphenate.chars +string + + +ulink.hyphenate.chars +List of characters to allow ulink URLs to be automatically hyphenated on + + + + +<xsl:param name="ulink.hyphenate.chars">/</xsl:param> + + + +Description + +If the ulink.hyphenate is not empty, then +hyphenation of ulinks is turned on, and any +character contained in this parameter is treated as an allowable +hyphenation point. + +The default value is /, but the parameter +could be customized +to contain other URL characters, as for example: + +<xsl:param name="ulink.hyphenate.chars">:/@&?.#</xsl:param> + + + + + + + +shade.verbatim +boolean + + +shade.verbatim +Should verbatim environments be shaded? + + + +<xsl:param name="shade.verbatim" select="0"></xsl:param> + + +Description + +In the FO stylesheet, if this parameter is non-zero then the +shade.verbatim.style properties will be applied +to verbatim environments. + +In the HTML stylesheet, this parameter is now deprecated. Use +CSS instead. + + + + + + +shade.verbatim.style +attribute set + + +shade.verbatim.style +Properties that specify the style of shaded verbatim listings + + + + + +<xsl:attribute-set name="shade.verbatim.style"> + <xsl:attribute name="background-color">#E0E0E0</xsl:attribute> +</xsl:attribute-set> + + + +Description + +Properties that specify the style of shaded verbatim listings. The +parameters specified (the border and background color) are added to +the styling of the xsl-fo output. A border might be specified as "thin +black solid" for example. See xsl-fo + + + + + + +hyphenate.verbatim +boolean + + +hyphenate.verbatim +Should verbatim environments be hyphenated on space characters? + + + +<xsl:param name="hyphenate.verbatim" select="0"></xsl:param> + + +Description + +If the lines of program listing are too long to fit into one +line it is quite common to split them at space and indicite by hook +arrow that code continues on the next line. You can turn on this +behaviour for programlisting, +screen and synopsis elements by +using this parameter. + +Note that you must also enable line wrapping for verbatim environments and +select appropriate hyphenation character (e.g. hook arrow). This can +be done using monospace.verbatim.properties +attribute set: + +<xsl:attribute-set name="monospace.verbatim.properties" + use-attribute-sets="verbatim.properties monospace.properties"> + <xsl:attribute name="wrap-option">wrap</xsl:attribute> + <xsl:attribute name="hyphenation-character">&#x25BA;</xsl:attribute> +</xsl:attribute-set> + +For a list of arrows available in Unicode see http://www.unicode.org/charts/PDF/U2190.pdf and http://www.unicode.org/charts/PDF/U2900.pdf and make sure that +selected character is available in the font you are using for verbatim +environments. + + + + + + +hyphenate.verbatim.characters +string + + +hyphenate.verbatim.characters +List of characters after which a line break can occur in listings + + + + +<xsl:param name="hyphenate.verbatim.characters"></xsl:param> + + + +Description + +If you enable hyphenate.verbatim line +breaks are allowed only on space characters. If this is not enough for +your document, you can specify list of additional characters after +which line break is allowed in this parameter. + + + + + + +use.svg +boolean + + +use.svg +Allow SVG in the result tree? + + + + +<xsl:param name="use.svg" select="1"></xsl:param> + + + +Description + +If non-zero, SVG will be considered an acceptable image format. SVG +is passed through to the result tree, so correct rendering of the resulting +diagram depends on the formatter (FO processor or web browser) that is used +to process the output from the stylesheet. + + + + + + +use.role.as.xrefstyle +boolean + + +use.role.as.xrefstyle +Use role attribute for +xrefstyle on xref? + + + + +<xsl:param name="use.role.as.xrefstyle" select="1"></xsl:param> + + + +Description + +In DocBook documents that conform to a schema older than V4.3, this parameter allows +role to serve the purpose of specifying the cross reference style. + +If non-zero, the role attribute on +xref will be used to select the cross reference style. +In DocBook V4.3, the xrefstyle attribute was added for this purpose. +If the xrefstyle attribute is present, +role will be ignored, regardless of the setting +of this parameter. + + + +Example + +The following small stylesheet shows how to configure the +stylesheets to make use of the cross reference style: + +<?xml version="1.0"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version="1.0"> + +<xsl:import href="../xsl/html/docbook.xsl"/> + +<xsl:output method="html"/> + +<xsl:param name="local.l10n.xml" select="document('')"/> +<l:i18n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0"> + <l:l10n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" language="en"> + <l:context name="xref"> + <l:template name="chapter" style="title" text="Chapter %n, %t"/> + <l:template name="chapter" text="Chapter %n"/> + </l:context> + </l:l10n> +</l:i18n> + +</xsl:stylesheet> + +With this stylesheet, the cross references in the following document: + +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> +<book id="book"><title>Book</title> + +<preface> +<title>Preface</title> + +<para>Normal: <xref linkend="ch1"/>.</para> +<para>Title: <xref xrefstyle="title" linkend="ch1"/>.</para> + +</preface> + +<chapter id="ch1"> +<title>First Chapter</title> + +<para>Irrelevant.</para> + +</chapter> +</book> + +will appear as: + + +Normal: Chapter 1. +Title: Chapter 1, First Chapter. + + + + + + + +menuchoice.separator +string + + +menuchoice.separator +Separator between items of a menuchoice +other than guimenuitem and +guisubmenu + + + + +<xsl:param name="menuchoice.separator">+</xsl:param> + + + +Description + +Separator used to connect items of a menuchoice other +than guimenuitem and guisubmenu. The latter +elements are linked with menuchoice.menu.separator. + + + + + + + +menuchoice.menu.separator +string + + +menuchoice.menu.separator +Separator between items of a menuchoice +with guimenuitem or +guisubmenu + + + + +<xsl:param name="menuchoice.menu.separator"> → </xsl:param> + + + +Description + +Separator used to connect items of a menuchoice with +guimenuitem or guisubmenu. Other elements +are linked with menuchoice.separator. + +The default value is &#x2192;, which is the +&rarr; (right arrow) character entity. +The current FOP (0.20.5) requires setting the font-family +explicitly. + +The default value also includes spaces around the arrow, +which will allow a line to break. Replace the spaces with +&#xA0; (nonbreaking space) if you don't want those +spaces to break. + + + + + + + +default.float.class +string + + +default.float.class +Specifies the default float class + + + + +<xsl:param name="default.float.class"> + <xsl:choose> + <xsl:when test="contains($stylesheet.result.type,'html')">left</xsl:when> + <xsl:otherwise>before</xsl:otherwise> + </xsl:choose> +</xsl:param> + + + +Description + +Selects the direction in which a float should be placed. for +xsl-fo this is before, for html it is left. For Western texts, the +before direction is the top of the page. + + + + + + +footnote.number.format +list +11,2,3... +AA,B,C... +aa,b,c... +ii,ii,iii... +II,II,III... + + +footnote.number.format +Identifies the format used for footnote numbers + + + + +<xsl:param name="footnote.number.format">1</xsl:param> + + + +Description + +The footnote.number.format specifies the format +to use for footnote numeration (1, i, I, a, or A). + + + + + + +table.footnote.number.format +list +11,2,3... +AA,B,C... +aa,b,c... +ii,ii,iii... +II,II,III... + + +table.footnote.number.format +Identifies the format used for footnote numbers in tables + + + + +<xsl:param name="table.footnote.number.format">a</xsl:param> + + + +Description + +The table.footnote.number.format specifies the format +to use for footnote numeration (1, i, I, a, or A) in tables. + + + + + + +footnote.number.symbols + + + +footnote.number.symbols +Special characters to use as footnote markers + + + + +<xsl:param name="footnote.number.symbols"></xsl:param> + + + +Description + +If footnote.number.symbols is not the empty string, +footnotes will use the characters it contains as footnote symbols. For example, +*&#x2020;&#x2021;&#x25CA;&#x2720; will identify +footnotes with *, , , +, and . If there are more footnotes +than symbols, the stylesheets will fall back to numbered footnotes using +footnote.number.format. + +The use of symbols for footnotes depends on the ability of your +processor (or browser) to render the symbols you select. Not all systems are +capable of displaying the full range of Unicode characters. If the quoted characters +in the preceding paragraph are not displayed properly, that's a good indicator +that you may have trouble using those symbols for footnotes. + + + + + + +table.footnote.number.symbols +string + + +table.footnote.number.symbols +Special characters to use a footnote markers in tables + + + + +<xsl:param name="table.footnote.number.symbols"></xsl:param> + + + +Description + +If table.footnote.number.symbols is not the empty string, +table footnotes will use the characters it contains as footnote symbols. For example, +*&#x2020;&#x2021;&#x25CA;&#x2720; will identify +footnotes with *, , , +, and . If there are more footnotes +than symbols, the stylesheets will fall back to numbered footnotes using +table.footnote.number.format. + +The use of symbols for footnotes depends on the ability of your +processor (or browser) to render the symbols you select. Not all systems are +capable of displaying the full range of Unicode characters. If the quoted characters +in the preceding paragraph are not displayed properly, that's a good indicator +that you may have trouble using those symbols for footnotes. + + + + + + +footnote.properties +attribute set + + +footnote.properties +Properties applied to each footnote body + + + + + +<xsl:attribute-set name="footnote.properties"> + <xsl:attribute name="font-family"><xsl:value-of select="$body.fontset"></xsl:value-of></xsl:attribute> + <xsl:attribute name="font-size"><xsl:value-of select="$footnote.font.size"></xsl:value-of></xsl:attribute> + <xsl:attribute name="font-weight">normal</xsl:attribute> + <xsl:attribute name="font-style">normal</xsl:attribute> + <xsl:attribute name="text-align"><xsl:value-of select="$alignment"></xsl:value-of></xsl:attribute> + <xsl:attribute name="start-indent">0pt</xsl:attribute> + <xsl:attribute name="text-indent">0pt</xsl:attribute> + <xsl:attribute name="hyphenate"><xsl:value-of select="$hyphenate"></xsl:value-of></xsl:attribute> + <xsl:attribute name="wrap-option">wrap</xsl:attribute> + <xsl:attribute name="linefeed-treatment">treat-as-space</xsl:attribute> +</xsl:attribute-set> + + + +Description + +This attribute set is applied to the footnote-block +for each footnote. +It can be used to set the +font-size, font-family, and other inheritable properties that will be +applied to all footnotes. + + + + + + +table.footnote.properties +attribute set + + +table.footnote.properties +Properties applied to each table footnote body + + + + + +<xsl:attribute-set name="table.footnote.properties"> + <xsl:attribute name="font-family"><xsl:value-of select="$body.fontset"></xsl:value-of></xsl:attribute> + <xsl:attribute name="font-size"><xsl:value-of select="$footnote.font.size"></xsl:value-of></xsl:attribute> + <xsl:attribute name="font-weight">normal</xsl:attribute> + <xsl:attribute name="font-style">normal</xsl:attribute> + <xsl:attribute name="space-before">2pt</xsl:attribute> + <xsl:attribute name="text-align"><xsl:value-of select="$alignment"></xsl:value-of></xsl:attribute> +</xsl:attribute-set> + + + +Description + +This attribute set is applied to the footnote-block +for each table footnote. +It can be used to set the +font-size, font-family, and other inheritable properties that will be +applied to all table footnotes. + + + + + + +footnote.mark.properties +attribute set + + +footnote.mark.properties +Properties applied to each footnote mark + + + + + +<xsl:attribute-set name="footnote.mark.properties"> + <xsl:attribute name="font-family"><xsl:value-of select="$body.fontset"></xsl:value-of></xsl:attribute> + <xsl:attribute name="font-size">75%</xsl:attribute> + <xsl:attribute name="font-weight">normal</xsl:attribute> + <xsl:attribute name="font-style">normal</xsl:attribute> +</xsl:attribute-set> + + + +Description + +This attribute set is applied to the footnote mark used +for each footnote. +It should contain only inline properties. + + +The property to make the mark a superscript is contained in the +footnote template itself, because the current version of FOP reports +an error if baseline-shift is used. + + + + + + + +footnote.sep.leader.properties +attribute set + + +footnote.sep.leader.properties +Properties associated with footnote separators + + + + +<xsl:attribute-set name="footnote.sep.leader.properties"> + <xsl:attribute name="color">black</xsl:attribute> + <xsl:attribute name="leader-pattern">rule</xsl:attribute> + <xsl:attribute name="leader-length">1in</xsl:attribute> +</xsl:attribute-set> + + + +Description + +The styling for the rule line that separates the +footnotes from the body text. +These are properties applied to the fo:leader used as +the separator. + +If you want to do more than just set properties on +the leader element, then you can customize the template +named footnote.separator in +fo/pagesetup.xsl. + + + + + + +xref.with.number.and.title +boolean + + +xref.with.number.and.title +Use number and title in cross references + + + + +<xsl:param name="xref.with.number.and.title" select="1"></xsl:param> + + + +Description + +A cross reference may include the number (for example, the number of +an example or figure) and the title which is a required child of some +targets. This parameter inserts both the relevant number as well as +the title into the link. + + + + + + +superscript.properties +attribute set + + +superscript.properties +Properties associated with superscripts + + + + +<xsl:attribute-set name="superscript.properties"> + <xsl:attribute name="font-size">75%</xsl:attribute> +</xsl:attribute-set> + + + +Description + +Specifies styling properties for superscripts. + + + + + + +subscript.properties +attribute set + + +subscript.properties +Properties associated with subscripts + + + + +<xsl:attribute-set name="subscript.properties"> + <xsl:attribute name="font-size">75%</xsl:attribute> +</xsl:attribute-set> + + + +Description + +Specifies styling properties for subscripts. + + + + + + +pgwide.properties +attribute set + + +pgwide.properties +Properties to make a figure or table page wide. + + + + + +<xsl:attribute-set name="pgwide.properties"> + <xsl:attribute name="start-indent">0pt</xsl:attribute> +</xsl:attribute-set> + + + +Description + +This attribute set is used to set the properties +that make a figure or table "page wide" in fo output. +It comes into effect when an attribute pgwide="1" +is used. + + + +By default, it sets start-indent +to 0pt. +In a stylesheet that sets the parameter +body.start.indent +to a non-zero value in order to indent body text, +this attribute set can be used to outdent pgwide +figures to the start margin. + + +If a document uses a multi-column page layout, +then this attribute set could try setting span +to a value of all. However, this may +not work with some processors because a span property must be on an +fo:block that is a direct child of fo:flow. It may work in +some processors anyway. + + + + + + + +highlight.source +boolean + + +highlight.source +Should the content of programlisting +be syntactically highlighted? + + + + +<xsl:param name="highlight.source" select="0"></xsl:param> + + + +Description + +When this parameter is non-zero, the stylesheets will try to do syntax highlighting of the +content of programlisting elements. You specify the language for each programlisting +by using the language attribute. The highlight.default.language +parameter can be used to specify the language for programlistings without a language +attribute. Syntax highlighting also works for screen and synopsis elements. + +The actual highlighting work is done by the XSLTHL extension module. This is an external Java library that has to be +downloaded separately (see below). + + +In order to use this extension, you must + +add xslthl-2.x.x.jar to your Java classpath. The latest version is available +from the XSLT syntax highlighting project +at SourceForge. + + +use a customization layer in which you import one of the following stylesheet modules: + + + html/highlight.xsl + + + + xhtml/highlight.xsl + + + + xhtml-1_1/highlight.xsl + + + + fo/highlight.xsl + + + + + +let either the xslthl.config Java system property or the +highlight.xslthl.config parameter point to the configuration file for syntax +highlighting (using URL syntax). DocBook XSL comes with a ready-to-use configuration file, +highlighting/xslthl-config.xml. + + + +The extension works with Saxon 6.5.x and Xalan-J. (Saxon 8.5 or later is also supported, but since it is +an XSLT 2.0 processor it is not guaranteed to work with DocBook XSL in all circumstances.) + +The following is an example of a Saxon 6 command adapted for syntax highlighting, to be used on Windows: + + +java -cp c:/Java/saxon.jar;c:/Java/xslthl-2.0.1.jar +-Dxslthl.config=file:///c:/docbook-xsl/highlighting/xslthl-config.xml com.icl.saxon.StyleSheet +-o test.html test.xml myhtml.xsl + + + + + + + +highlight.xslthl.config +uri + + +highlight.xslthl.config +Location of XSLTHL configuration file + + + + +<xsl:param name="highlight.xslthl.config"></xsl:param> + + + +Description + +This location has precedence over the corresponding Java property. + +Please note that usually you have to specify location as URL not +just as a simple path on the local +filesystem. E.g. file:///home/user/xslthl/my-xslthl-config.xml. + + + + + + + + +highlight.default.language +string + + +highlight.default.language +Default language of programlisting + + + + +<xsl:param name="highlight.default.language"></xsl:param> + + + +Description + +This language is used when there is no language attribute on programlisting. + + + + + + +email.delimiters.enabled +boolean + + +email.delimiters.enabled +Generate delimiters around email addresses? + + + + +<xsl:param name="email.delimiters.enabled" select="1"></xsl:param> + + + +Description + +If non-zero, delimiters + +For delimiters, the +stylesheets are currently hard-coded to output angle +brackets. + +are generated around e-mail addresses +(the output of the email element). + + + + + + +email.mailto.enabled +boolean + + +email.mailto.enabled +Generate mailto: links for email addresses? + + + + +<xsl:param name="email.mailto.enabled" select="0"></xsl:param> + + + +Description + +If non-zero the generated output for the email element +will be a clickable mailto: link that brings up the default mail client +on the system. + + + + + + +section.container.element +list +block +wrapper + + +section.container.element +Select XSL-FO element name to contain sections + + + + +<xsl:param name="section.container.element">block</xsl:param> + + + +Description + +Selects the element name for outer container of +each section. The choices are block (default) +or wrapper. +The fo: namespace prefix is added +by the stylesheet to form the full element name. + + +This element receives the section id +attribute and the appropriate section level attribute-set. + + +Changing this parameter to wrapper +is only necessary when producing multi-column output +that contains page-wide spans. Using fo:wrapper +avoids the nesting of fo:block +elements that prevents spans from working (the standard says +a span must be on a block that is a direct child of +fo:flow). + + +If set to wrapper, the +section attribute-sets only support properties +that are inheritable. That's because there is no +block to apply them to. Properties such as +font-family are inheritable, but properties such as +border are not. + + +Only some XSL-FO processors need to use this parameter. +The Antenna House processor, for example, will handle +spans in nested blocks without changing the element name. +The RenderX XEP product and FOP follow the XSL-FO standard +and need to use wrapper. + + + + + + + +monospace.verbatim.font.width +length + + +monospace.verbatim.font.width +Width of a single monospace font character + + + + +<xsl:param name="monospace.verbatim.font.width">0.60em</xsl:param> + + + +Description + +Specifies with em units the width of a single character +of the monospace font. The default value is 0.6em. + +This parameter is only used when a screen +or programlisting element has a +width attribute, which is +expressed as a plain integer to indicate the maximum character count +of each line. +To convert this character count to an actual maximum width +measurement, the width of the font characters must be provided. +Different monospace fonts have different character width, +so this parameter should be adjusted to fit the +monospace font being used. + + + + + + + +exsl.node.set.available +boolean + + +exsl.node.set.available +Is the test function-available('exsl:node-set') true? + + + +<xsl:param name="exsl.node.set.available"> + <xsl:choose> + <xsl:when exsl:foo="" test="function-available('exsl:node-set') or contains(system-property('xsl:vendor'), 'Apache Software Foundation')">1</xsl:when> + <xsl:otherwise>0</xsl:otherwise> + </xsl:choose> +</xsl:param> + + + +Description + +If non-zero, +then the exsl:node-set() function is available to be used in +the stylesheet. +If zero, then the function is not available. +This param automatically detects the presence of +the function and does not normally need to be set manually. + +This param was created to handle a long-standing +bug in the Xalan processor that fails to detect the +function even though it is available. + + + + + + +bookmarks.collapse +boolean + + +bookmarks.collapse +Specifies the initial state of bookmarks + + + + +<xsl:param name="bookmarks.collapse" select="1"></xsl:param> + + + +Description + +If non-zero, the bookmark tree is collapsed so that only the +top-level bookmarks are displayed initially. Otherwise, the whole tree +of bookmarks is displayed. + +This parameter currently works with FOP 0.93 or later. + + + + +Graphics + + +graphic.default.extension +string + + +graphic.default.extension +Default extension for graphic filenames + + + +<xsl:param name="graphic.default.extension"></xsl:param> + + +Description + +If a graphic or mediaobject +includes a reference to a filename that does not include an extension, +and the format attribute is +unspecified, the default extension will be used. + + + + + + + +default.image.width +length + + +default.image.width +The default width of images + + + + +<xsl:param name="default.image.width"></xsl:param> + + + +Description + +If specified, this value will be used for the +width attribute on images that do not specify any +viewport dimensions. + + + + + + +preferred.mediaobject.role +string + + +preferred.mediaobject.role +Select which mediaobject to use based on +this value of an object's role attribute. + + + + + +<xsl:param name="preferred.mediaobject.role"></xsl:param> + + + +Description + +A mediaobject may contain several objects such as imageobjects. +If the parameter use.role.for.mediaobject is +non-zero, then the role attribute on +imageobjects and other objects within a +mediaobject container will be used to select which object +will be used. If one of the objects has a role value that matches the +preferred.mediaobject.role parameter, then it +has first priority for selection. If more than one has such a role +value, the first one is used. + + +See the use.role.for.mediaobject parameter +for the sequence of selection. + + + + + +use.role.for.mediaobject +boolean + + +use.role.for.mediaobject +Use role attribute +value for selecting which of several objects within a mediaobject to use. + + + + + +<xsl:param name="use.role.for.mediaobject" select="1"></xsl:param> + + + +Description + +If non-zero, the role attribute on +imageobjects or other objects within a mediaobject container will be used to select which object will be +used. + + +The order of selection when then parameter is non-zero is: + + + + If the stylesheet parameter preferred.mediaobject.role has a value, then the object whose role equals that value is selected. + + +Else if an object's role attribute has a value of +html for HTML processing or +fo for FO output, then the first +of such objects is selected. + + + +Else the first suitable object is selected. + + + +If the value of +use.role.for.mediaobject +is zero, then role attributes are not considered +and the first suitable object +with or without a role value is used. + + + + + + +ignore.image.scaling +boolean + + +ignore.image.scaling +Tell the stylesheets to ignore the author's image scaling attributes + + + + +<xsl:param name="ignore.image.scaling" select="0"></xsl:param> + + + +Description + +If non-zero, the scaling attributes on graphics and media objects are +ignored. + + + + + + +img.src.path +string + + +img.src.path +Path to HTML/FO image files + + + +<xsl:param name="img.src.path"></xsl:param> + + +Description + +Add a path prefix to the value of the fileref +attribute of graphic, inlinegraphic, and imagedata elements. The resulting +compound path is used in the output as the value of the src +attribute of img (HTML) or external-graphic (FO). + + + +The path given by img.src.path could be relative to the directory where the HTML/FO +files are created, or it could be an absolute URI. +The default value is empty. +Be sure to include a trailing slash if needed. + + +This prefix is not applied to any filerefs that start +with "/" or contain "//:". + + + + + + + +keep.relative.image.uris +boolean + + +keep.relative.image.uris +Should image URIs be resolved against xml:base? + + + + + +<xsl:param name="keep.relative.image.uris" select="0"></xsl:param> + + + +Description + +If non-zero, relative URIs (in, for example +fileref attributes) will be used in the generated +output. Otherwise, the URIs will be made absolute with respect to the +base URI. + +Note that the stylesheets calculate (and use) the absolute form +for some purposes, this only applies to the resulting output. + + + + +Pagination and General Styles + +
Understanding XSL FO Margins + +To make sense of the parameters in this section, it's useful to +consider . + +
+ Page Model + + + + + + + + Figure showing page margins + + This figure shows the physical page with the various FO page regions + identified. + + +
+ +First, let's consider the regions on the page. + +The white region is the physical page. Its dimensions are determined by +the page.height and page.width +parameters. + +The yellow region is the region-body. The size and placement of +the region body is constrained by the dimensions labelled in the +figure. + +The pink region at the top of the page is the region-before. The +darker area inside the region-before is the header text. In XSL, the default +display alignment for a region is before, but the +DocBook stylesheets still explicitly make it before. That's +why the darker area is at the top. + +The pink region at the bottom of the page is the region-after. +The darker area is the footer text. In XSL, the default display +alignment for a region is before, +but the DocBook stylesheets explicitly make it +after. That's why the darker area is at the bottom. + +The dimensions in the figure are: + + +The page-master margin-top. + +The region-before extent. + +The region-body margin-top. + +The region-after extent. + +The page-master margin-bottom. + +The region-body margin-bottom. + +The sum of the page-master margin-left and the +region-body margin-left. In DocBook, the region-body margin-left is +zero by default, so this is simply the page-master margin-left. + +The sum of the page-master margin-right and the +region-body margin-right. In DocBook, the region-body margin-right is +zero by default, so this is simply the page-master margin-right. + + + +
+
+ + + +page.height +length + + +page.height +The height of the physical page + + + +<xsl:param name="page.height"> + <xsl:choose> + <xsl:when test="$page.orientation = 'portrait'"> + <xsl:value-of select="$page.height.portrait"></xsl:value-of> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$page.width.portrait"></xsl:value-of> + </xsl:otherwise> + </xsl:choose> +</xsl:param> + + +Description + +The page height is generally calculated from the +paper.type and +page.orientation parameters. + + + + + + + +page.height.portrait +length + + +page.height.portrait +Specify the physical size of the long edge of the page + + + +<xsl:param name="page.height.portrait"> + <xsl:choose> + <xsl:when test="$paper.type = 'A4landscape'">210mm</xsl:when> + <xsl:when test="$paper.type = 'USletter'">11in</xsl:when> + <xsl:when test="$paper.type = 'USlandscape'">8.5in</xsl:when> + <xsl:when test="$paper.type = '4A0'">2378mm</xsl:when> + <xsl:when test="$paper.type = '2A0'">1682mm</xsl:when> + <xsl:when test="$paper.type = 'A0'">1189mm</xsl:when> + <xsl:when test="$paper.type = 'A1'">841mm</xsl:when> + <xsl:when test="$paper.type = 'A2'">594mm</xsl:when> + <xsl:when test="$paper.type = 'A3'">420mm</xsl:when> + <xsl:when test="$paper.type = 'A4'">297mm</xsl:when> + <xsl:when test="$paper.type = 'A5'">210mm</xsl:when> + <xsl:when test="$paper.type = 'A6'">148mm</xsl:when> + <xsl:when test="$paper.type = 'A7'">105mm</xsl:when> + <xsl:when test="$paper.type = 'A8'">74mm</xsl:when> + <xsl:when test="$paper.type = 'A9'">52mm</xsl:when> + <xsl:when test="$paper.type = 'A10'">37mm</xsl:when> + <xsl:when test="$paper.type = 'B0'">1414mm</xsl:when> + <xsl:when test="$paper.type = 'B1'">1000mm</xsl:when> + <xsl:when test="$paper.type = 'B2'">707mm</xsl:when> + <xsl:when test="$paper.type = 'B3'">500mm</xsl:when> + <xsl:when test="$paper.type = 'B4'">353mm</xsl:when> + <xsl:when test="$paper.type = 'B5'">250mm</xsl:when> + <xsl:when test="$paper.type = 'B6'">176mm</xsl:when> + <xsl:when test="$paper.type = 'B7'">125mm</xsl:when> + <xsl:when test="$paper.type = 'B8'">88mm</xsl:when> + <xsl:when test="$paper.type = 'B9'">62mm</xsl:when> + <xsl:when test="$paper.type = 'B10'">44mm</xsl:when> + <xsl:when test="$paper.type = 'C0'">1297mm</xsl:when> + <xsl:when test="$paper.type = 'C1'">917mm</xsl:when> + <xsl:when test="$paper.type = 'C2'">648mm</xsl:when> + <xsl:when test="$paper.type = 'C3'">458mm</xsl:when> + <xsl:when test="$paper.type = 'C4'">324mm</xsl:when> + <xsl:when test="$paper.type = 'C5'">229mm</xsl:when> + <xsl:when test="$paper.type = 'C6'">162mm</xsl:when> + <xsl:when test="$paper.type = 'C7'">114mm</xsl:when> + <xsl:when test="$paper.type = 'C8'">81mm</xsl:when> + <xsl:when test="$paper.type = 'C9'">57mm</xsl:when> + <xsl:when test="$paper.type = 'C10'">40mm</xsl:when> + <xsl:otherwise>11in</xsl:otherwise> + </xsl:choose> +</xsl:param> + + +Description + +The portrait page height is the length of the long +edge of the physical page. + + + + + + + +page.margin.bottom +length + + +page.margin.bottom +The bottom margin of the page + + + + +<xsl:param name="page.margin.bottom">0.5in</xsl:param> + + + +Description + +The bottom page margin is the distance from the bottom of the region-after +to the physical bottom of the page. + + + + + + + +page.margin.inner +length + + +page.margin.inner +The inner page margin + + + +<xsl:param name="page.margin.inner"> + <xsl:choose> + <xsl:when test="$double.sided != 0">1.25in</xsl:when> + <xsl:otherwise>1in</xsl:otherwise> + </xsl:choose> +</xsl:param> + + +Description + +The inner page margin is the distance from bound edge of the +page to the first column of text. + +The inner page margin is the distance from bound edge of the +page to the outer edge of the first column of text. + +In left-to-right text direction, +this is the left margin of recto (front side) pages. +For single-sided output, it is the left margin +of all pages. + +In right-to-left text direction, +this is the right margin of recto pages. +For single-sided output, this is the +right margin of all pages. + + +Current versions (at least as of version 4.13) +of the XEP XSL-FO processor do not +correctly handle these margin settings for documents +with right-to-left text direction. +The workaround in that situation is to reverse +the values for page.margin.inner +and page.margin.outer, until +this bug is fixed by RenderX. It does not affect documents +with left-to-right text direction. + + + + + + + +page.margin.outer +length + + +page.margin.outer +The outer page margin + + + +<xsl:param name="page.margin.outer"> + <xsl:choose> + <xsl:when test="$double.sided != 0">0.75in</xsl:when> + <xsl:otherwise>1in</xsl:otherwise> + </xsl:choose> +</xsl:param> + + +Description + +The outer page margin is the distance from non-bound edge of the +page to the outer edge of the last column of text. + +In left-to-right text direction, +this is the right margin of recto (front side) pages. +For single-sided output, it is the right margin +of all pages. + +In right-to-left text direction, +this is the left margin of recto pages. +For single-sided output, this is the +left margin of all pages. + + +Current versions (at least as of version 4.13) +of the XEP XSL-FO processor do not +correctly handle these margin settings for documents +with right-to-left text direction. +The workaround in that situation is to reverse +the values for page.margin.inner +and page.margin.outer, until +this bug is fixed by RenderX. It does not affect documents +with left-to-right text direction. + + + + + + + +page.margin.top +length + + +page.margin.top +The top margin of the page + + + + +<xsl:param name="page.margin.top">0.5in</xsl:param> + + + +Description + +The top page margin is the distance from the physical top of the +page to the top of the region-before. + + + + + + +page.orientation +list +portrait +landscape + + +page.orientation +Select the page orientation + + + + +<xsl:param name="page.orientation">portrait</xsl:param> + + + +Description + + Select one from portrait or landscape. +In portrait orientation, the short edge is horizontal; in +landscape orientation, it is vertical. + + + + + + + +page.width +length + + +page.width +The width of the physical page + + + +<xsl:param name="page.width"> + <xsl:choose> + <xsl:when test="$page.orientation = 'portrait'"> + <xsl:value-of select="$page.width.portrait"></xsl:value-of> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$page.height.portrait"></xsl:value-of> + </xsl:otherwise> + </xsl:choose> +</xsl:param> + + +Description + +The page width is generally calculated from the +paper.type and +page.orientation parameters. + + + + + + +page.width.portrait +length + + +page.width.portrait +Specify the physical size of the short edge of the page + + + +<xsl:param name="page.width.portrait"> + <xsl:choose> + <xsl:when test="$paper.type = 'USletter'">8.5in</xsl:when> + <xsl:when test="$paper.type = '4A0'">1682mm</xsl:when> + <xsl:when test="$paper.type = '2A0'">1189mm</xsl:when> + <xsl:when test="$paper.type = 'A0'">841mm</xsl:when> + <xsl:when test="$paper.type = 'A1'">594mm</xsl:when> + <xsl:when test="$paper.type = 'A2'">420mm</xsl:when> + <xsl:when test="$paper.type = 'A3'">297mm</xsl:when> + <xsl:when test="$paper.type = 'A4'">210mm</xsl:when> + <xsl:when test="$paper.type = 'A5'">148mm</xsl:when> + <xsl:when test="$paper.type = 'A6'">105mm</xsl:when> + <xsl:when test="$paper.type = 'A7'">74mm</xsl:when> + <xsl:when test="$paper.type = 'A8'">52mm</xsl:when> + <xsl:when test="$paper.type = 'A9'">37mm</xsl:when> + <xsl:when test="$paper.type = 'A10'">26mm</xsl:when> + <xsl:when test="$paper.type = 'B0'">1000mm</xsl:when> + <xsl:when test="$paper.type = 'B1'">707mm</xsl:when> + <xsl:when test="$paper.type = 'B2'">500mm</xsl:when> + <xsl:when test="$paper.type = 'B3'">353mm</xsl:when> + <xsl:when test="$paper.type = 'B4'">250mm</xsl:when> + <xsl:when test="$paper.type = 'B5'">176mm</xsl:when> + <xsl:when test="$paper.type = 'B6'">125mm</xsl:when> + <xsl:when test="$paper.type = 'B7'">88mm</xsl:when> + <xsl:when test="$paper.type = 'B8'">62mm</xsl:when> + <xsl:when test="$paper.type = 'B9'">44mm</xsl:when> + <xsl:when test="$paper.type = 'B10'">31mm</xsl:when> + <xsl:when test="$paper.type = 'C0'">917mm</xsl:when> + <xsl:when test="$paper.type = 'C1'">648mm</xsl:when> + <xsl:when test="$paper.type = 'C2'">458mm</xsl:when> + <xsl:when test="$paper.type = 'C3'">324mm</xsl:when> + <xsl:when test="$paper.type = 'C4'">229mm</xsl:when> + <xsl:when test="$paper.type = 'C5'">162mm</xsl:when> + <xsl:when test="$paper.type = 'C6'">114mm</xsl:when> + <xsl:when test="$paper.type = 'C7'">81mm</xsl:when> + <xsl:when test="$paper.type = 'C8'">57mm</xsl:when> + <xsl:when test="$paper.type = 'C9'">40mm</xsl:when> + <xsl:when test="$paper.type = 'C10'">28mm</xsl:when> + <xsl:otherwise>8.5in</xsl:otherwise> + </xsl:choose> +</xsl:param> + + +Description + +The portrait page width is the length of the short +edge of the physical page. + + + + + + + +paper.type +list +open +open +USletter8.5x11in +USlandscape11x8.5in +USlegal8.5inx14in +USlegallandscape14inx8.5in +4A02378x1682mm +2A01682x1189mm +A01189x841mm +A1841x594mm +A2594x420mm +A3420x297mm +A4297x210mm +A5210x148mm +A6148x105mm +A7105x74mm +A874x52mm +A952x37mm +A1037x26mm +B01414x1000mm +B11000x707mm +B2707x500mm +B3500x353mm +B4353x250mm +B5250x176mm +B6176x125mm +B7125x88mm +B888x62mm +B962x44mm +B1044x31mm +C01297x917mm +C1917x648mm +C2648x458mm +C3458x324mm +C4324x229mm +C5229x162mm +C6162x114mm +C7114x81mm +C881x57mm +C957x40mm +C1040x28mm + + +paper.type +Select the paper type + + + + +<xsl:param name="paper.type">USletter</xsl:param> + + + +Description + +The paper type is a convenient way to specify the paper size. +The list of known paper sizes includes USletter and most of the A, +B, and C sizes. See page.width.portrait, for example. + + + + + + + + + +double.sided +boolean + + +double.sided +Is the document to be printed double sided? + + + + +<xsl:param name="double.sided" select="0"></xsl:param> + + + +Description + +Double-sided documents are printed with a slightly wider margin +on the binding edge of the page. + +FIXME: The current set of parameters does not take writing direction +into account. + + + + + + +body.margin.bottom +length + + +body.margin.bottom +The bottom margin of the body text + + + + +<xsl:param name="body.margin.bottom">0.5in</xsl:param> + + + +Description + +The body bottom margin is the distance from the last line of text +in the page body to the bottom of the region-after. + + + + + + + +body.margin.top +length + + +body.margin.top +To specify the size of the top margin of a page + + + + +<xsl:param name="body.margin.top">0.5in</xsl:param> + + + +Description + +The body top margin is the distance from the top of the +region-before to the first line of text in the page body. + + + + + + +body.start.indent +length + + +body.start.indent +The start-indent for the body text + + + + +<xsl:param name="body.start.indent"> + <xsl:choose> + <xsl:when test="$fop.extensions != 0">0pt</xsl:when> + <xsl:when test="$passivetex.extensions != 0">0pt</xsl:when> + <xsl:otherwise>4pc</xsl:otherwise> + </xsl:choose> +</xsl:param> + + + +Description + +This parameter provides +the means of indenting the body text relative to +section titles. +For left-to-right text direction, it indents the left side. +For right-to-left text direction, it indents the right side. +It is used in place of the +title.margin.left for +all XSL-FO processors except FOP 0.25. +It enables support for side floats to appear +in the indented margin area. + +This start-indent property is added to the fo:flow +for certain page sequences. Which page-sequences it is +applied to is determined by the template named +set.flow.properties. +By default, that template adds it to the flow +for page-sequences using the body +master-reference, as well as appendixes and prefaces. + +If this parameter is used, section titles should have +a start-indent value of 0pt if they are to be +outdented relative to the body text. + + +If you are using FOP, then set this parameter to a zero +width value and set the title.margin.left +parameter to the negative value of the desired indent. + + +See also body.end.indent and +title.margin.left. + + + + + + + +body.end.indent +length + + +body.end.indent +The end-indent for the body text + + + + +<xsl:param name="body.end.indent">0pt</xsl:param> + + + +Description + +This end-indent property is added to the fo:flow +for certain page sequences. Which page-sequences it is +applied to is determined by the template named +set.flow.properties. +By default, that template adds it to the flow +for page-sequences using the body +master-reference, as well as appendixes and prefaces. + + +See also body.start.indent. + + + + + + + +alignment + list + open + left + start + right + end + center + justify + + +alignment +Specify the default text alignment + + + +<xsl:param name="alignment">justify</xsl:param> + + +Description + +The default text alignment is used for most body text. +Allowed values are +left, +right, +start, +end, +center, +justify. +The default value is justify. + + + + + + + +hyphenate +list +closed +true +false + + +hyphenate +Specify hyphenation behavior + + + +<xsl:param name="hyphenate">true</xsl:param> + + +Description + +If true, words may be hyphenated. Otherwise, they may not. + + + + + + + +line-height +string + + +line-height +Specify the line-height property + + + + +<xsl:param name="line-height">normal</xsl:param> + + + +Description + +Sets the line-height property. + + + + + + +column.count.back +integer + + +column.count.back +Number of columns on back matter pages + + + + +<xsl:param name="column.count.back" select="1"></xsl:param> + + + +Description + +Number of columns on back matter (appendix, glossary, etc.) pages. + + + + + + +column.count.body +integer + + +column.count.body +Number of columns on body pages + + + + +<xsl:param name="column.count.body" select="1"></xsl:param> + + + +Description + +Number of columns on body pages. + + + + + + +column.count.front +integer + + +column.count.front +Number of columns on front matter pages + + + + +<xsl:param name="column.count.front" select="1"></xsl:param> + + + +Description + +Number of columns on front matter (dedication, preface, etc.) pages. + + + + + + +column.count.index +integer + + +column.count.index +Number of columns on index pages + + + + +<xsl:param name="column.count.index">2</xsl:param> + + + +Description + +Number of columns on index pages. + + + + + + +column.count.lot +integer + + +column.count.lot +Number of columns on a 'List-of-Titles' page + + + + +<xsl:param name="column.count.lot" select="1"></xsl:param> + + + +Description + +Number of columns on a page sequence containing the Table of Contents, +List of Figures, etc. + + + + + + +column.count.titlepage +integer + + +column.count.titlepage +Number of columns on a title page + + + + +<xsl:param name="column.count.titlepage" select="1"></xsl:param> + + + +Description + +Number of columns on a title page + + + + + + +column.gap.back +length + + +column.gap.back +Gap between columns in back matter + + + + +<xsl:param name="column.gap.back">12pt</xsl:param> + + + +Description + +Specifies the gap between columns in back matter (if +column.count.back is greater than one). + + + + + + +column.gap.body +length + + +column.gap.body +Gap between columns in the body + + + + +<xsl:param name="column.gap.body">12pt</xsl:param> + + + +Description + +Specifies the gap between columns in body matter (if +column.count.body is greater than one). + + + + + + +column.gap.front +length + + +column.gap.front +Gap between columns in the front matter + + + + +<xsl:param name="column.gap.front">12pt</xsl:param> + + + +Description + +Specifies the gap between columns in front matter (if +column.count.front is greater than one). + + + + + + +column.gap.index +length + + +column.gap.index +Gap between columns in the index + + + + +<xsl:param name="column.gap.index">12pt</xsl:param> + + + +Description + +Specifies the gap between columns in indexes (if +column.count.index is greater than one). + + + + + + +column.gap.lot +length + + +column.gap.lot +Gap between columns on a 'List-of-Titles' page + + + + +<xsl:param name="column.gap.lot">12pt</xsl:param> + + + +Description + +Specifies the gap between columns on 'List-of-Titles' pages (if +column.count.lot is greater than one). + + + + + + +column.gap.titlepage +length + + +column.gap.titlepage +Gap between columns on title pages + + + + +<xsl:param name="column.gap.titlepage">12pt</xsl:param> + + + +Description + +Specifies the gap between columns on title pages (if +column.count.titlepage is greater than one). + + + + + + + +region.after.extent +length + + +region.after.extent +Specifies the height of the footer. + + + + +<xsl:param name="region.after.extent">0.4in</xsl:param> + + + +Description + +The region after extent is the height of the area where footers +are printed. + + + + + + + +region.before.extent +length + + +region.before.extent +Specifies the height of the header + + + + +<xsl:param name="region.before.extent">0.4in</xsl:param> + + + +Description + +The region before extent is the height of the area where headers +are printed. + + + + + + + +default.units +list +cm +mm +in +pt +pc +px +em + + +default.units +Default units for an unqualified dimension + + + + +<xsl:param name="default.units">pt</xsl:param> + + + +Description + +If an unqualified dimension is encountered (for example, in a +graphic width), the default.units will be used for the +units. Unqualified dimensions are not allowed in XSL Formatting Objects. + + + + + + + +normal.para.spacing +attribute set + + +normal.para.spacing +What space do you want between normal paragraphs + + + +<xsl:attribute-set name="normal.para.spacing"> + <xsl:attribute name="space-before.optimum">1em</xsl:attribute> + <xsl:attribute name="space-before.minimum">0.8em</xsl:attribute> + <xsl:attribute name="space-before.maximum">1.2em</xsl:attribute> +</xsl:attribute-set> + +Description +Specify the spacing required between normal paragraphs + + + + + +body.font.master + number + + +body.font.master +Specifies the default point size for body text + + + + +<xsl:param name="body.font.master">10</xsl:param> + + + +Description + +The body font size is specified in two parameters +(body.font.master and body.font.size) +so that math can be performed on the font size by XSLT. + + + + + + + +body.font.size +length + + +body.font.size +Specifies the default font size for body text + + + + +<xsl:param name="body.font.size"> + <xsl:value-of select="$body.font.master"></xsl:value-of><xsl:text>pt</xsl:text> +</xsl:param> + + +Description + +The body font size is specified in two parameters +(body.font.master and body.font.size) +so that math can be performed on the font size by XSLT. + + + + + + + +footnote.font.size +length + + +footnote.font.size +The font size for footnotes + + + +<xsl:param name="footnote.font.size"> + <xsl:value-of select="$body.font.master * 0.8"></xsl:value-of><xsl:text>pt</xsl:text> +</xsl:param> + + +Description + +The footnote font size is used for...footnotes! + + + + + + + +title.margin.left +length + + +title.margin.left +Adjust the left margin for titles + + + + +<xsl:param name="title.margin.left"> + <xsl:choose> + <xsl:when test="$fop.extensions != 0">-4pc</xsl:when> + <xsl:when test="$passivetex.extensions != 0">0pt</xsl:when> + <xsl:otherwise>0pt</xsl:otherwise> + </xsl:choose> +</xsl:param> + + + +Description + +This parameter provides +the means of adjusting the left margin for titles +when the XSL-FO processor being used is +an old version of FOP (0.25 and earlier). +It is only useful when the fop.extensions +is nonzero. + +The left margin of the body region +is calculated to include this space, +and titles are outdented to the left outside +the body region by this amount, +effectively leaving titles at the intended left margin +and the body text indented. +Currently this method is only used for old FOP because +it cannot properly use the body.start.indent +parameter. + + +The default value when the fop.extensions +parameter is nonzero is -4pc, which means the +body text is indented 4 picas relative to +the titles. +The default value when the fop.extensions +parameter equals zero is 0pt, and +the body indent should instead be specified +using the body.start.indent +parameter. + + +If you set the value to zero, be sure to still include +a unit indicator such as 0pt, or +the FO processor will report errors. + + + + + + + +draft.mode +list +no +yes +maybe + + +draft.mode +Select draft mode + + + + +<xsl:param name="draft.mode">no</xsl:param> + + + +Description + +Selects draft mode. If draft.mode is +yes, the entire document will be treated +as a draft. If it is no, the entire document +will be treated as a final copy. If it is maybe, +individual sections will be treated as draft or final independently, depending +on how their status attribute is set. + + + + + + + +draft.watermark.image +uri + + +draft.watermark.image +The URI of the image to be used for draft watermarks + + + + +<xsl:param name="draft.watermark.image">images/draft.png</xsl:param> + + + +Description + +The image to be used for draft watermarks. + + + + + + +headers.on.blank.pages +boolean + + +headers.on.blank.pages +Put headers on blank pages? + + + + +<xsl:param name="headers.on.blank.pages" select="1"></xsl:param> + + + +Description + +If non-zero, headers will be placed on blank pages. + + + + + + +footers.on.blank.pages +boolean + + +footers.on.blank.pages +Put footers on blank pages? + + + + +<xsl:param name="footers.on.blank.pages" select="1"></xsl:param> + + + +Description + +If non-zero, footers will be placed on blank pages. + + + + + + +header.rule +boolean + + +header.rule +Rule under headers? + + + + +<xsl:param name="header.rule" select="1"></xsl:param> + + + +Description + +If non-zero, a rule will be drawn below the page headers. + + + + + + +footer.rule +boolean + + +footer.rule +Rule over footers? + + + + +<xsl:param name="footer.rule" select="1"></xsl:param> + + + +Description + +If non-zero, a rule will be drawn above the page footers. + + + + + + +header.column.widths +string + + +header.column.widths +Specify relative widths of header areas + + + +<xsl:param name="header.column.widths">1 1 1</xsl:param> + + +Description + +Page headers in print output use a three column table +to position text at the left, center, and right side of +the header on the page. +This parameter lets you specify the relative sizes of the +three columns. The default value is +"1 1 1". + +The parameter value must be three numbers, separated +by white space. The first number represents the relative +width of the inside header for +double-sided output. The second number is the relative +width of the center header. The third number is the +relative width of the outside header for +double-sided output. + +For single-sided output, the first number is the +relative width of left header for left-to-right +text direction, or the right header for right-to-left +text direction. +The third number is the +relative width of right header for left-to-right +text direction, or the left header for right-to-left +text direction. + +The numbers are used to specify the column widths +for the table that makes up the header area. +In the FO output, this looks like: + + + +<fo:table-column column-number="1" + column-width="proportional-column-width(1)"/> + + + +The proportional-column-width() +function computes a column width by dividing its +argument by the total of the arguments for all the columns, and +then multiplying the result by the width of the whole table +(assuming all the column specs use the function). +Its argument can be any positive integer or floating point number. +Zero is an acceptable value, although some FO processors +may warn about it, in which case using a very small number might +be more satisfactory. + + +For example, the value "1 2 1" means the center +header should have twice the width of the other areas. +A value of "0 0 1" means the entire header area +is reserved for the right (or outside) header text. +Note that to keep the center area centered on +the page, the left and right values must be +the same. A specification like "1 2 3" means the +center area is no longer centered on the page +since the right area is three times the width of the left area. + + + + + + + +footer.column.widths +string + + +footer.column.widths +Specify relative widths of footer areas + + + +<xsl:param name="footer.column.widths">1 1 1</xsl:param> + + +Description + +Page footers in print output use a three column table +to position text at the left, center, and right side of +the footer on the page. +This parameter lets you specify the relative sizes of the +three columns. The default value is +"1 1 1". + +The parameter value must be three numbers, separated +by white space. The first number represents the relative +width of the inside footer for +double-sided output. The second number is the relative +width of the center footer. The third number is the +relative width of the outside footer for +double-sided output. + +For single-sided output, the first number is the +relative width of left footer for left-to-right +text direction, or the right footer for right-to-left +text direction. +The third number is the +relative width of right footer for left-to-right +text direction, or the left footer for right-to-left +text direction. + +The numbers are used to specify the column widths +for the table that makes up the footer area. +In the FO output, this looks like: + + + +<fo:table-column column-number="1" + column-width="proportional-column-width(1)"/> + + + +The proportional-column-width() +function computes a column width by dividing its +argument by the total of the arguments for all the columns, and +then multiplying the result by the width of the whole table +(assuming all the column specs use the function). +Its argument can be any positive integer or floating point number. +Zero is an acceptable value, although some FO processors +may warn about it, in which case using a very small number might +be more satisfactory. + + +For example, the value "1 2 1" means the center +footer should have twice the width of the other areas. +A value of "0 0 1" means the entire footer area +is reserved for the right (or outside) footer text. +Note that to keep the center area centered on +the page, the left and right values must be +the same. A specification like "1 2 3" means the +center area is no longer centered on the page +since the right area is three times the width of the left area. + + + + + + + +header.table.properties +attribute set + + +header.table.properties +Apply properties to the header layout table + + + + +<xsl:attribute-set name="header.table.properties"> + <xsl:attribute name="table-layout">fixed</xsl:attribute> + <xsl:attribute name="width">100%</xsl:attribute> +</xsl:attribute-set> + + + +Description + +Properties applied to the table that lays out the page header. + + + + + + +header.table.height +length + + +header.table.height +Specify the minimum height of the table containing the running page headers + + + +<xsl:param name="header.table.height">14pt</xsl:param> + + +Description + +Page headers in print output use a three column table +to position text at the left, center, and right side of +the header on the page. +This parameter lets you specify the minimum height +of the single row in the table. +Since this specifies only the minimum height, +the table should automatically grow to fit taller content. +The default value is "14pt". + + + + + + +footer.table.properties +attribute set + + +footer.table.properties +Apply properties to the footer layout table + + + + +<xsl:attribute-set name="footer.table.properties"> + <xsl:attribute name="table-layout">fixed</xsl:attribute> + <xsl:attribute name="width">100%</xsl:attribute> +</xsl:attribute-set> + + + +Description + +Properties applied to the table that lays out the page footer. + + + + + + +footer.table.height +length + + +footer.table.height +Specify the minimum height of the table containing the running page footers + + + +<xsl:param name="footer.table.height">14pt</xsl:param> + + +Description + +Page footers in print output use a three column table +to position text at the left, center, and right side of +the footer on the page. +This parameter lets you specify the minimum height +of the single row in the table. +Since this specifies only the minimum height, +the table should automatically grow to fit taller content. +The default value is "14pt". + + + + + + +header.content.properties +attribute set + + +header.content.properties +Properties of page header content + + + + +<xsl:attribute-set name="header.content.properties"> + <xsl:attribute name="font-family"> + <xsl:value-of select="$body.fontset"></xsl:value-of> + </xsl:attribute> + <xsl:attribute name="margin-left"> + <xsl:value-of select="$title.margin.left"></xsl:value-of> + </xsl:attribute> +</xsl:attribute-set> + + + +Description + +Properties of page header content. + + + + + + +footer.content.properties +attribute set + + +footer.content.properties +Properties of page footer content + + + + +<xsl:attribute-set name="footer.content.properties"> + <xsl:attribute name="font-family"> + <xsl:value-of select="$body.fontset"></xsl:value-of> + </xsl:attribute> + <xsl:attribute name="margin-left"> + <xsl:value-of select="$title.margin.left"></xsl:value-of> + </xsl:attribute> +</xsl:attribute-set> + + + +Description + +Properties of page footer content. + + + + + + +marker.section.level +integer + + +marker.section.level +Control depth of sections shown in running headers or footers + + + + +<xsl:param name="marker.section.level">2</xsl:param> + + + +Description + +The marker.section.level parameter +controls the depth of section levels that may be displayed +in running headers and footers. For example, if the value +is 2 (the default), then titles from sect1 and +sect2 or equivalent section +elements are candidates for use in running headers and +footers. + +Each candidate title is marked in the FO output with a +<fo:marker marker-class-name="section.head.marker"> +element. + +In order for such titles to appear in headers +or footers, the header.content +or footer.content template +must be customized to retrieve the marker using +an output element such as: + + +<fo:retrieve-marker retrieve-class-name="section.head.marker" + retrieve-position="first-including-carryover" + retrieve-boundary="page-sequence"/> + + + + + + +
Font Families + + +body.font.family +list +open +serif +sans-serif +monospace + + +body.font.family +The default font family for body text + + + + +<xsl:param name="body.font.family">serif</xsl:param> + + + +Description + +The body font family is the default font used for text in the page body. + + + + + + + +dingbat.font.family +list +open +serif +sans-serif +monospace + + +dingbat.font.family +The font family for copyright, quotes, and other symbols + + + + +<xsl:param name="dingbat.font.family">serif</xsl:param> + + + +Description + +The dingbat font family is used for dingbats. If it is defined +as the empty string, no font change is effected around dingbats. + + + + + + + +monospace.font.family +string + + +monospace.font.family +The default font family for monospace environments + + + + +<xsl:param name="monospace.font.family">monospace</xsl:param> + + + +Description + +The monospace font family is used for verbatim environments +(program listings, screens, etc.). + + + + + + + +sans.font.family +string + + +sans.font.family +The default sans-serif font family + + + + +<xsl:param name="sans.font.family">sans-serif</xsl:param> + + + +Description + +The default sans-serif font family. At the present, this isn't +actually used by the stylesheets. + + + + + + + +title.font.family +list +open +serif +sans-serif +monospace + + +title.font.family +The default font family for titles + + + + +<xsl:param name="title.font.family">sans-serif</xsl:param> + + + +Description + +The title font family is used for titles (chapter, section, figure, +etc.) + + + + + + + +symbol.font.family +list +open +serif +sans-serif +monospace + + +symbol.font.family +The font families to be searched for symbols outside + of the body font + + + + +<xsl:param name="symbol.font.family">Symbol,ZapfDingbats</xsl:param> + + + +Description + +A typical body or title font does not contain all +the character glyphs that DocBook supports. This parameter +specifies additional fonts that should be searched for +special characters not in the normal font. +These symbol font names are automatically appended +to the body or title font family name when fonts +are specified in a +font-family +property in the FO output. + +The symbol font names should be entered as a +comma-separated list. The default value is +Symbol,ZapfDingbats. + + + + + +Property Sets + + +formal.object.properties +attribute set + + +formal.object.properties +Properties associated with a formal object such as a figure, or other component that has a title + + + + +<xsl:attribute-set name="formal.object.properties"> + <xsl:attribute name="space-before.minimum">0.5em</xsl:attribute> + <xsl:attribute name="space-before.optimum">1em</xsl:attribute> + <xsl:attribute name="space-before.maximum">2em</xsl:attribute> + <xsl:attribute name="space-after.minimum">0.5em</xsl:attribute> + <xsl:attribute name="space-after.optimum">1em</xsl:attribute> + <xsl:attribute name="space-after.maximum">2em</xsl:attribute> + <xsl:attribute name="keep-together.within-column">always</xsl:attribute> +</xsl:attribute-set> + + + +Description + +The styling for formal objects in docbook. Specify the spacing +before and after the object. + + + + + + +formal.title.properties +attribute set + + +formal.title.properties +Style the title element of formal object such as a figure. + + + + +<xsl:attribute-set name="formal.title.properties" use-attribute-sets="normal.para.spacing"> + <xsl:attribute name="font-weight">bold</xsl:attribute> + <xsl:attribute name="font-size"> + <xsl:value-of select="$body.font.master * 1.2"></xsl:value-of> + <xsl:text>pt</xsl:text> + </xsl:attribute> + <xsl:attribute name="hyphenate">false</xsl:attribute> + <xsl:attribute name="space-after.minimum">0.4em</xsl:attribute> + <xsl:attribute name="space-after.optimum">0.6em</xsl:attribute> + <xsl:attribute name="space-after.maximum">0.8em</xsl:attribute> +</xsl:attribute-set> + + +Description +Specify how the title should be styled. Specify the font size and weight of the title of the formal object. + + + + + +informal.object.properties +attribute set + + +informal.object.properties +Properties associated with an informal (untitled) object, such as an informalfigure + + + +<xsl:attribute-set name="informal.object.properties"> + <xsl:attribute name="space-before.minimum">0.5em</xsl:attribute> + <xsl:attribute name="space-before.optimum">1em</xsl:attribute> + <xsl:attribute name="space-before.maximum">2em</xsl:attribute> + <xsl:attribute name="space-after.minimum">0.5em</xsl:attribute> + <xsl:attribute name="space-after.optimum">1em</xsl:attribute> + <xsl:attribute name="space-after.maximum">2em</xsl:attribute> +</xsl:attribute-set> + +Description +The styling for informal objects in docbook. Specify the spacing before and after the object. + + + + + +monospace.properties +attribute set + + +monospace.properties +Properties of monospaced content + + + + +<xsl:attribute-set name="monospace.properties"> + <xsl:attribute name="font-family"> + <xsl:value-of select="$monospace.font.family"></xsl:value-of> + </xsl:attribute> +</xsl:attribute-set> + + + +Description + +Specifies the font name for monospaced output. This property set +used to set the font-size as well, but that doesn't work very well +when different fonts are used (as they are in titles and paragraphs, +for example). + +If you want to set the font-size in a customization layer, it's +probably going to be more appropriate to set font-size-adjust, if your +formatter supports it. + + + + + + +verbatim.properties +attribute set + + +verbatim.properties +Properties associated with verbatim text + + + + +<xsl:attribute-set name="verbatim.properties"> + <xsl:attribute name="space-before.minimum">0.8em</xsl:attribute> + <xsl:attribute name="space-before.optimum">1em</xsl:attribute> + <xsl:attribute name="space-before.maximum">1.2em</xsl:attribute> + <xsl:attribute name="space-after.minimum">0.8em</xsl:attribute> + <xsl:attribute name="space-after.optimum">1em</xsl:attribute> + <xsl:attribute name="space-after.maximum">1.2em</xsl:attribute> + <xsl:attribute name="hyphenate">false</xsl:attribute> + <xsl:attribute name="wrap-option">no-wrap</xsl:attribute> + <xsl:attribute name="white-space-collapse">false</xsl:attribute> + <xsl:attribute name="white-space-treatment">preserve</xsl:attribute> + <xsl:attribute name="linefeed-treatment">preserve</xsl:attribute> + <xsl:attribute name="text-align">start</xsl:attribute> +</xsl:attribute-set> + + +Description +This attribute set is used on all verbatim environments. + + + + + + +monospace.verbatim.properties +attribute set + + +monospace.verbatim.properties +What font and size do you want for monospaced content? + + + + +<xsl:attribute-set name="monospace.verbatim.properties" use-attribute-sets="verbatim.properties monospace.properties"> + <xsl:attribute name="text-align">start</xsl:attribute> + <xsl:attribute name="wrap-option">no-wrap</xsl:attribute> +</xsl:attribute-set> + + +Description +Specify the font name and size you want for monospaced output + + + + + +sidebar.properties +attribute set + + +sidebar.properties +Attribute set for sidebar properties + + + + +<xsl:attribute-set name="sidebar.properties" use-attribute-sets="formal.object.properties"> + <xsl:attribute name="border-style">solid</xsl:attribute> + <xsl:attribute name="border-width">1pt</xsl:attribute> + <xsl:attribute name="border-color">black</xsl:attribute> + <xsl:attribute name="background-color">#DDDDDD</xsl:attribute> + <xsl:attribute name="padding-start">12pt</xsl:attribute> + <xsl:attribute name="padding-end">12pt</xsl:attribute> + <xsl:attribute name="padding-top">6pt</xsl:attribute> + <xsl:attribute name="padding-bottom">6pt</xsl:attribute> + <xsl:attribute name="margin-{$direction.align.start}">0pt</xsl:attribute> + <xsl:attribute name="margin-{$direction.align.end}">0pt</xsl:attribute> +<!-- + <xsl:attribute name="margin-top">6pt</xsl:attribute> + <xsl:attribute name="margin-bottom">6pt</xsl:attribute> +--> +</xsl:attribute-set> + + + +Description + +The styling for sidebars. + + + + + + +sidebar.title.properties +attribute set + + +sidebar.title.properties +Attribute set for sidebar titles + + + + +<xsl:attribute-set name="sidebar.title.properties"> + <xsl:attribute name="font-weight">bold</xsl:attribute> + <xsl:attribute name="hyphenate">false</xsl:attribute> + <xsl:attribute name="text-align">start</xsl:attribute> + <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute> +</xsl:attribute-set> + + + +Description + +The styling for sidebars titles. + + + + + + +sidebar.float.type +list +none +before +left +start +right +end +inside +outside + + +sidebar.float.type +Select type of float for sidebar elements + + + + +<xsl:param name="sidebar.float.type">none</xsl:param> + + + +Description + +Selects the type of float for sidebar elements. + + + +If sidebar.float.type is +none, then +no float is used. + + + +If sidebar.float.type is +before, then +the float appears at the top of the page. On some processors, +that may be the next page rather than the current page. + + + + +If sidebar.float.type is +left, +then a left side float is used. + + + + +If sidebar.float.type is +start, +then when the text direction is left-to-right a left side float is used. +When the text direction is right-to-left, a right side float is used. + + + + +If sidebar.float.type is +right, +then a right side float is used. + + + + +If sidebar.float.type is +end, +then when the text direction is left-to-right a right side float is used. +When the text direction is right-to-left, a left side float is used. + + + + +If your XSL-FO processor supports floats positioned on the +inside or +outside +of double-sided pages, then you have those two +options for side floats as well. + + + + + + + + + +sidebar.float.width +length + + +sidebar.float.width +Set the default width for sidebars + + + + +<xsl:param name="sidebar.float.width">1in</xsl:param> + + + +Description + +Sets the default width for sidebars when used as a side float. +The width determines the degree to which the sidebar block intrudes into +the text area. + +If sidebar.float.type is +before or +none, then +this parameter is ignored. + + + + + + + +margin.note.properties +attribute set + + +margin.note.properties +Attribute set for margin.note properties + + + + +<xsl:attribute-set name="margin.note.properties"> + <xsl:attribute name="font-size">90%</xsl:attribute> + <xsl:attribute name="text-align">start</xsl:attribute> +</xsl:attribute-set> + + + +Description + +The styling for margin notes. +By default, margin notes are not implemented for any +element. A stylesheet customization is needed to make +use of this attribute-set. + +You can use a template named floater +to create the customization. +That template can create side floats by specifying the +content and characteristics as template parameters. + + +For example: +<xsl:template match="para[@role='marginnote']"> + <xsl:call-template name="floater"> + <xsl:with-param name="position"> + <xsl:value-of select="$margin.note.float.type"/> + </xsl:with-param> + <xsl:with-param name="width"> + <xsl:value-of select="$margin.note.width"/> + </xsl:with-param> + <xsl:with-param name="content"> + <xsl:apply-imports/> + </xsl:with-param> + </xsl:call-template> +</xsl:template> + + + + + + +margin.note.title.properties +attribute set + + +margin.note.title.properties +Attribute set for margin note titles + + + + +<xsl:attribute-set name="margin.note.title.properties"> + <xsl:attribute name="font-weight">bold</xsl:attribute> + <xsl:attribute name="hyphenate">false</xsl:attribute> + <xsl:attribute name="text-align">start</xsl:attribute> + <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute> +</xsl:attribute-set> + + + +Description + +The styling for margin note titles. + + + + + + +margin.note.float.type +list +none +before +left +start +right +end +inside +outside + + +margin.note.float.type +Select type of float for margin note customizations + + + + +<xsl:param name="margin.note.float.type">none</xsl:param> + + + +Description + +Selects the type of float for margin notes. +DocBook does not define a margin note element, so this +feature must be implemented as a customization of the stylesheet. +See margin.note.properties for +an example. + + + +If margin.note.float.type is +none, then +no float is used. + + + +If margin.note.float.type is +before, then +the float appears at the top of the page. On some processors, +that may be the next page rather than the current page. + + + +If margin.note.float.type is +left or +start, then +a left side float is used. + + + +If margin.note.float.type is +right or +end, then +a right side float is used. + + + +If your XSL-FO processor supports floats positioned on the +inside or +outside +of double-sided pages, then you have those two +options for side floats as well. + + + + + + + + + +margin.note.width +length + + +margin.note.width +Set the default width for margin notes + + + + +<xsl:param name="margin.note.width">1in</xsl:param> + + + +Description + +Sets the default width for margin notes when used as a side +float. The width determines the degree to which the margin note block +intrudes into the text area. + +If margin.note.float.type is +before or +none, then +this parameter is ignored. + + + + + + + +component.title.properties +attribute set + + +component.title.properties +Properties for component titles + + + + +<xsl:attribute-set name="component.title.properties"> + <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute> + <xsl:attribute name="space-before.optimum"><xsl:value-of select="concat($body.font.master, 'pt')"></xsl:value-of></xsl:attribute> + <xsl:attribute name="space-before.minimum"><xsl:value-of select="concat($body.font.master, 'pt * 0.8')"></xsl:value-of></xsl:attribute> + <xsl:attribute name="space-before.maximum"><xsl:value-of select="concat($body.font.master, 'pt * 1.2')"></xsl:value-of></xsl:attribute> + <xsl:attribute name="hyphenate">false</xsl:attribute> + <xsl:attribute name="text-align"> + <xsl:choose> + <xsl:when test="((parent::article | parent::articleinfo | parent::info/parent::article) and not(ancestor::book) and not(self::bibliography)) or (parent::slides | parent::slidesinfo)">center</xsl:when> + <xsl:otherwise>start</xsl:otherwise> + </xsl:choose> + </xsl:attribute> + <xsl:attribute name="start-indent"><xsl:value-of select="$title.margin.left"></xsl:value-of></xsl:attribute> +</xsl:attribute-set> + + + +Description + +The properties common to all component titles. + + + + + + +component.titlepage.properties +attribute set + + +component.titlepage.properties +Properties for component titlepages + + + + +<xsl:attribute-set name="component.titlepage.properties"> +</xsl:attribute-set> + + + +Description + +The properties that are applied to the outer block containing +all the component title page information. +Its main use is to set a span="all" +property on the block that is a direct child of the flow. + +This attribute-set also applies to index titlepages. It is empty by default. + + + + + + +section.title.properties +attribute set + + +section.title.properties +Properties for section titles + + + + +<xsl:attribute-set name="section.title.properties"> + <xsl:attribute name="font-family"> + <xsl:value-of select="$title.font.family"></xsl:value-of> + </xsl:attribute> + <xsl:attribute name="font-weight">bold</xsl:attribute> + <!-- font size is calculated dynamically by section.heading template --> + <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute> + <xsl:attribute name="space-before.minimum">0.8em</xsl:attribute> + <xsl:attribute name="space-before.optimum">1.0em</xsl:attribute> + <xsl:attribute name="space-before.maximum">1.2em</xsl:attribute> + <xsl:attribute name="text-align">start</xsl:attribute> + <xsl:attribute name="start-indent"><xsl:value-of select="$title.margin.left"></xsl:value-of></xsl:attribute> +</xsl:attribute-set> + + + +Description + +The properties common to all section titles. + + + + + + +section.title.level1.properties +attribute set + + +section.title.level1.properties +Properties for level-1 section titles + + + + +<xsl:attribute-set name="section.title.level1.properties"> + <xsl:attribute name="font-size"> + <xsl:value-of select="$body.font.master * 2.0736"></xsl:value-of> + <xsl:text>pt</xsl:text> + </xsl:attribute> +</xsl:attribute-set> + + + +Description + +The properties of level-1 section titles. + + + + + + + +section.title.level2.properties +attribute set + + +section.title.level2.properties +Properties for level-2 section titles + + + + +<xsl:attribute-set name="section.title.level2.properties"> + <xsl:attribute name="font-size"> + <xsl:value-of select="$body.font.master * 1.728"></xsl:value-of> + <xsl:text>pt</xsl:text> + </xsl:attribute> +</xsl:attribute-set> + + + +Description + +The properties of level-2 section titles. + + + + + + +section.title.level3.properties +attribute set + + +section.title.level3.properties +Properties for level-3 section titles + + + + +<xsl:attribute-set name="section.title.level3.properties"> + <xsl:attribute name="font-size"> + <xsl:value-of select="$body.font.master * 1.44"></xsl:value-of> + <xsl:text>pt</xsl:text> + </xsl:attribute> +</xsl:attribute-set> + + + +Description + +The properties of level-3 section titles. + + + + + + +section.title.level4.properties +attribute set + + +section.title.level4.properties +Properties for level-4 section titles + + + + +<xsl:attribute-set name="section.title.level4.properties"> + <xsl:attribute name="font-size"> + <xsl:value-of select="$body.font.master * 1.2"></xsl:value-of> + <xsl:text>pt</xsl:text> + </xsl:attribute> +</xsl:attribute-set> + + + +Description + +The properties of level-4 section titles. + + + + + + +section.title.level5.properties +attribute set + + +section.title.level5.properties +Properties for level-5 section titles + + + + +<xsl:attribute-set name="section.title.level5.properties"> + <xsl:attribute name="font-size"> + <xsl:value-of select="$body.font.master"></xsl:value-of> + <xsl:text>pt</xsl:text> + </xsl:attribute> +</xsl:attribute-set> + + + +Description + +The properties of level-5 section titles. + + + + + + +section.title.level6.properties +attribute set + + +section.title.level6.properties +Properties for level-6 section titles + + + + +<xsl:attribute-set name="section.title.level6.properties"> + <xsl:attribute name="font-size"> + <xsl:value-of select="$body.font.master"></xsl:value-of> + <xsl:text>pt</xsl:text> + </xsl:attribute> +</xsl:attribute-set> + + + +Description + +The properties of level-6 section titles. This property set is actually +used for all titles below level 5. + + + + + + +section.properties +attribute set + + +section.properties +Properties for all section levels + + + + +<xsl:attribute-set name="section.properties"> +</xsl:attribute-set> + + + +Description + +The properties that apply to the containing +block of all section levels, and therefore apply to +the whole section. +This attribute set is inherited by the +more specific attribute sets such as +section.level1.properties. +The default is empty. + + + + + + + +section.level1.properties +attribute set + + +section.level1.properties +Properties for level-1 sections + + + + +<xsl:attribute-set name="section.level1.properties" use-attribute-sets="section.properties"> +</xsl:attribute-set> + + + +Description + +The properties that apply to the containing +block of a level-1 section, and therefore apply to +the whole section. This includes sect1 +elements and section elements at level 1. + + +For example, you could start each level-1 section on +a new page by using: +<xsl:attribute-set name="section.level1.properties"> + <xsl:attribute name="break-before">page</xsl:attribute> +</xsl:attribute-set> + + +This attribute set inherits attributes from the +general section.properties attribute set. + + + + + + + +section.level2.properties +attribute set + + +section.level2.properties +Properties for level-2 sections + + + + +<xsl:attribute-set name="section.level2.properties" use-attribute-sets="section.properties"> +</xsl:attribute-set> + + + +Description + +The properties that apply to the containing +block of a level-2 section, and therefore apply to +the whole section. This includes sect2 +elements and section elements at level 2. + + +For example, you could start each level-2 section on +a new page by using: +<xsl:attribute-set name="section.level2.properties"> + <xsl:attribute name="break-before">page</xsl:attribute> +</xsl:attribute-set> + + +This attribute set inherits attributes from the +general section.properties attribute set. + + + + + + + +section.level3.properties +attribute set + + +section.level3.properties +Properties for level-3 sections + + + + +<xsl:attribute-set name="section.level3.properties" use-attribute-sets="section.properties"> +</xsl:attribute-set> + + + +Description + +The properties that apply to the containing +block of a level-3 section, and therefore apply to +the whole section. This includes sect3 +elements and section elements at level 3. + + +For example, you could start each level-3 section on +a new page by using: +<xsl:attribute-set name="section.level3.properties"> + <xsl:attribute name="break-before">page</xsl:attribute> +</xsl:attribute-set> + + +This attribute set inherits attributes from the +general section.properties attribute set. + + + + + + + +section.level4.properties +attribute set + + +section.level4.properties +Properties for level-4 sections + + + + +<xsl:attribute-set name="section.level4.properties" use-attribute-sets="section.properties"> +</xsl:attribute-set> + + + +Description + +The properties that apply to the containing +block of a level-4 section, and therefore apply to +the whole section. This includes sect4 +elements and section elements at level 4. + + +For example, you could start each level-4 section on +a new page by using: +<xsl:attribute-set name="section.level4.properties"> + <xsl:attribute name="break-before">page</xsl:attribute> +</xsl:attribute-set> + + +This attribute set inherits attributes from the +general section.properties attribute set. + + + + + + + +section.level5.properties +attribute set + + +section.level5.properties +Properties for level-5 sections + + + + +<xsl:attribute-set name="section.level5.properties" use-attribute-sets="section.properties"> +</xsl:attribute-set> + + + +Description + +The properties that apply to the containing +block of a level-5 section, and therefore apply to +the whole section. This includes sect5 +elements and section elements at level 5. + + +For example, you could start each level-5 section on +a new page by using: +<xsl:attribute-set name="section.level5.properties"> + <xsl:attribute name="break-before">page</xsl:attribute> +</xsl:attribute-set> + + +This attribute set inherits attributes from the +general section.properties attribute set. + + + + + + + +section.level6.properties +attribute set + + +section.level6.properties +Properties for level-6 sections + + + + +<xsl:attribute-set name="section.level6.properties" use-attribute-sets="section.properties"> +</xsl:attribute-set> + + + +Description + +The properties that apply to the containing +block of a level 6 or lower section, and therefore apply to +the whole section. This includes +section elements at level 6 and lower. + + +For example, you could start each level-6 section on +a new page by using: +<xsl:attribute-set name="section.level6.properties"> + <xsl:attribute name="break-before">page</xsl:attribute> +</xsl:attribute-set> + + +This attribute set inherits attributes from the +general section.properties attribute set. + + + + + + + +figure.properties +attribute set + + +figure.properties +Properties associated with a figure + + + + +<xsl:attribute-set name="figure.properties" use-attribute-sets="formal.object.properties"></xsl:attribute-set> + + + +Description + +The styling for figures. + + + + + + +example.properties +attribute set + + +example.properties +Properties associated with a example + + + + +<xsl:attribute-set name="example.properties" use-attribute-sets="formal.object.properties"></xsl:attribute-set> + + + +Description + +The styling for examples. + + + + + + +equation.properties +attribute set + + +equation.properties +Properties associated with a equation + + + + +<xsl:attribute-set name="equation.properties" use-attribute-sets="formal.object.properties"></xsl:attribute-set> + + + +Description + +The styling for equations. + + + + + + +equation.number.properties +attribute set + + +equation.number.properties +Properties that apply to the fo:table-cell containing the number +of an equation that does not have a title. + + + +<xsl:attribute-set name="equation.number.properties"> + <xsl:attribute name="text-align">end</xsl:attribute> + <xsl:attribute name="display-align">center</xsl:attribute> +</xsl:attribute-set> + +Description +Properties that apply to the fo:table-cell containing the number +of an equation when it has no title. The number in an equation with a +title is formatted along with the title, and this attribute-set does not apply. + + + + + +table.properties +attribute set + + +table.properties +Properties associated with the block surrounding a table + + + + +<xsl:attribute-set name="table.properties" use-attribute-sets="formal.object.properties"> + <xsl:attribute name="keep-together.within-column">auto</xsl:attribute> +</xsl:attribute-set> + + + +Description + +Block styling properties for tables. This parameter should really +have been called table.block.properties or something +like that, but we’re leaving it to avoid backwards-compatibility +problems. + +See also table.table.properties. + + + + + + +informalfigure.properties +attribute set + + +informalfigure.properties +Properties associated with an informalfigure + + + + +<xsl:attribute-set name="informalfigure.properties" use-attribute-sets="informal.object.properties"></xsl:attribute-set> + + + +Description + +The styling for informalfigures. + + + + + + +informalexample.properties +attribute set + + +informalexample.properties +Properties associated with an informalexample + + + + +<xsl:attribute-set name="informalexample.properties" use-attribute-sets="informal.object.properties"></xsl:attribute-set> + + + +Description + +The styling for informalexamples. + + + + + + +informalequation.properties +attribute set + + +informalequation.properties +Properties associated with an informalequation + + + + +<xsl:attribute-set name="informalequation.properties" use-attribute-sets="informal.object.properties"></xsl:attribute-set> + + + +Description + +The styling for informalequations. + + + + + + +informaltable.properties +attribute set + + +informaltable.properties +Properties associated with the block surrounding an informaltable + + + + +<xsl:attribute-set name="informaltable.properties" use-attribute-sets="informal.object.properties"></xsl:attribute-set> + + + +Description + +Block styling properties for informaltables. This parameter should really +have been called informaltable.block.properties or something +like that, but we’re leaving it to avoid backwards-compatibility +problems. + +See also table.table.properties. + + + + + + +procedure.properties +attribute set + + +procedure.properties +Properties associated with a procedure + + + + +<xsl:attribute-set name="procedure.properties" use-attribute-sets="formal.object.properties"> + <xsl:attribute name="keep-together.within-column">auto</xsl:attribute> +</xsl:attribute-set> + + + +Description + +The styling for procedures. + + + + + + +root.properties +attribute set + + +root.properties +The properties of the fo:root element + + + + +<xsl:attribute-set name="root.properties"> + <xsl:attribute name="font-family"> + <xsl:value-of select="$body.fontset"></xsl:value-of> + </xsl:attribute> + <xsl:attribute name="font-size"> + <xsl:value-of select="$body.font.size"></xsl:value-of> + </xsl:attribute> + <xsl:attribute name="text-align"> + <xsl:value-of select="$alignment"></xsl:value-of> + </xsl:attribute> + <xsl:attribute name="line-height"> + <xsl:value-of select="$line-height"></xsl:value-of> + </xsl:attribute> + <xsl:attribute name="font-selection-strategy">character-by-character</xsl:attribute> + <xsl:attribute name="line-height-shift-adjustment">disregard-shifts</xsl:attribute> + <xsl:attribute name="writing-mode"> + <xsl:value-of select="$direction.mode"></xsl:value-of> + </xsl:attribute> +</xsl:attribute-set> + + + +Description + +This property set is used on the fo:root element of +an FO file. It defines a set of default, global parameters. + + + + + + +qanda.title.properties +attribute set + + +qanda.title.properties +Properties for qanda set titles + + + + +<xsl:attribute-set name="qanda.title.properties"> + <xsl:attribute name="font-family"> + <xsl:value-of select="$title.font.family"></xsl:value-of> + </xsl:attribute> + <xsl:attribute name="font-weight">bold</xsl:attribute> + <!-- font size is calculated dynamically by qanda.heading template --> + <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute> + <xsl:attribute name="space-before.minimum">0.8em</xsl:attribute> + <xsl:attribute name="space-before.optimum">1.0em</xsl:attribute> + <xsl:attribute name="space-before.maximum">1.2em</xsl:attribute> +</xsl:attribute-set> + + + +Description + +The properties common to all qanda set titles. + + + + + + +qanda.title.level1.properties +attribute set + + +qanda.title.level1.properties +Properties for level-1 qanda set titles + + + + +<xsl:attribute-set name="qanda.title.level1.properties"> + <xsl:attribute name="font-size"> + <xsl:value-of select="$body.font.master * 2.0736"></xsl:value-of> + <xsl:text>pt</xsl:text> + </xsl:attribute> +</xsl:attribute-set> + + + +Description + +The properties of level-1 qanda set titles. + + + + + + +qanda.title.level2.properties +attribute set + + +qanda.title.level2.properties +Properties for level-2 qanda set titles + + + + +<xsl:attribute-set name="qanda.title.level2.properties"> + <xsl:attribute name="font-size"> + <xsl:value-of select="$body.font.master * 1.728"></xsl:value-of> + <xsl:text>pt</xsl:text> + </xsl:attribute> +</xsl:attribute-set> + + + +Description + +The properties of level-2 qanda set titles. + + + + + + +qanda.title.level3.properties +attribute set + + +qanda.title.level3.properties +Properties for level-3 qanda set titles + + + + +<xsl:attribute-set name="qanda.title.level3.properties"> + <xsl:attribute name="font-size"> + <xsl:value-of select="$body.font.master * 1.44"></xsl:value-of> + <xsl:text>pt</xsl:text> + </xsl:attribute> +</xsl:attribute-set> + + + +Description + +The properties of level-3 qanda set titles. + + + + + + +qanda.title.level4.properties +attribute set + + +qanda.title.level4.properties +Properties for level-4 qanda set titles + + + + +<xsl:attribute-set name="qanda.title.level4.properties"> + <xsl:attribute name="font-size"> + <xsl:value-of select="$body.font.master * 1.2"></xsl:value-of> + <xsl:text>pt</xsl:text> + </xsl:attribute> +</xsl:attribute-set> + + + +Description + +The properties of level-4 qanda set titles. + + + + + + +qanda.title.level5.properties +attribute set + + +qanda.title.level5.properties +Properties for level-5 qanda set titles + + + + +<xsl:attribute-set name="qanda.title.level5.properties"> + <xsl:attribute name="font-size"> + <xsl:value-of select="$body.font.master"></xsl:value-of> + <xsl:text>pt</xsl:text> + </xsl:attribute> +</xsl:attribute-set> + + + +Description + +The properties of level-5 qanda set titles. + + + + + + +qanda.title.level6.properties +attribute set + + +qanda.title.level6.properties +Properties for level-6 qanda set titles + + + + +<xsl:attribute-set name="qanda.title.level6.properties"> + <xsl:attribute name="font-size"> + <xsl:value-of select="$body.font.master"></xsl:value-of> + <xsl:text>pt</xsl:text> + </xsl:attribute> +</xsl:attribute-set> + + + +Description + +The properties of level-6 qanda set titles. +This property set is actually +used for all titles below level 5. + + + + + + +article.appendix.title.properties +attribute set + + +article.appendix.title.properties +Properties for appendix titles that appear in an article + + + + +<xsl:attribute-set name="article.appendix.title.properties" use-attribute-sets="section.title.properties section.title.level1.properties"> + <xsl:attribute name="margin-{$direction.align.start}"> + <xsl:value-of select="$title.margin.left"></xsl:value-of> + </xsl:attribute> +</xsl:attribute-set> + + + +Description + +The properties for the title of an appendix that +appears inside an article. The default is to use +the properties of sect1 titles. + + + + + + +abstract.properties +attribute set + + +abstract.properties +Properties associated with the block surrounding an abstract + + + + +<xsl:attribute-set name="abstract.properties"> + <xsl:attribute name="start-indent">0.0in</xsl:attribute> + <xsl:attribute name="end-indent">0.0in</xsl:attribute> +</xsl:attribute-set> + + + +Description + +Block styling properties for abstract. + +See also abstract.title.properties. + + + + + + +abstract.title.properties +attribute set + + +abstract.title.properties +Properties for abstract titles + + + + +<xsl:attribute-set name="abstract.title.properties"> + <xsl:attribute name="font-family"><xsl:value-of select="$title.fontset"></xsl:value-of></xsl:attribute> + <xsl:attribute name="font-weight">bold</xsl:attribute> + <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute> + <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute> + <xsl:attribute name="space-before.optimum"><xsl:value-of select="concat($body.font.master, 'pt')"></xsl:value-of></xsl:attribute> + <xsl:attribute name="space-before.minimum"><xsl:value-of select="concat($body.font.master, 'pt * 0.8')"></xsl:value-of></xsl:attribute> + <xsl:attribute name="space-before.maximum"><xsl:value-of select="concat($body.font.master, 'pt * 1.2')"></xsl:value-of></xsl:attribute> + <xsl:attribute name="hyphenate">false</xsl:attribute> + <xsl:attribute name="text-align">center</xsl:attribute> +</xsl:attribute-set> + + + +Description + +The properties for abstract titles. + +See also abstract.properties. + + + + + + +index.page.number.properties +attribute set + + +index.page.number.properties +Properties associated with index page numbers + + + + +<xsl:attribute-set name="index.page.number.properties"> +</xsl:attribute-set> + + + +Description + +Properties associated with page numbers in indexes. +Changing color to indicate the page number is a link is +one possibility. + + + + + + + +revhistory.table.properties +attribute set + + +revhistory.table.properties +The properties of table used for formatting revhistory + + + + +<xsl:attribute-set name="revhistory.table.properties"> +</xsl:attribute-set> + + + +Description + +This property set defines appearance of revhistory table. + + + + + + +revhistory.table.cell.properties +attribute set + + +revhistory.table.cell.properties +The properties of table cells used for formatting revhistory + + + + +<xsl:attribute-set name="revhistory.table.cell.properties"> +</xsl:attribute-set> + + + +Description + +This property set defines appearance of individual cells in revhistory table. + + + + + + +revhistory.title.properties +attribute set + + +revhistory.title.properties +The properties of revhistory title + + + + +<xsl:attribute-set name="revhistory.title.properties"> +</xsl:attribute-set> + + + +Description + +This property set defines appearance of revhistory title. + + + + +Profiling + +The following parameters can be used for attribute-based +profiling of your document. For more information about profiling, see +Profiling (conditional text). + + + +profile.arch +string + + +profile.arch +Target profile for arch +attribute + + + + +<xsl:param name="profile.arch"></xsl:param> + + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.audience +string + + +profile.audience +Target profile for audience +attribute + + + + +<xsl:param name="profile.audience"></xsl:param> + + + +Description + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.condition +string + + +profile.condition +Target profile for condition +attribute + + + + +<xsl:param name="profile.condition"></xsl:param> + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.conformance +string + + +profile.conformance +Target profile for conformance +attribute + + + + +<xsl:param name="profile.conformance"></xsl:param> + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.lang +string + + +profile.lang +Target profile for lang +attribute + + + + +<xsl:param name="profile.lang"></xsl:param> + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.os +string + + +profile.os +Target profile for os +attribute + + + + +<xsl:param name="profile.os"></xsl:param> + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.revision +string + + +profile.revision +Target profile for revision +attribute + + + + +<xsl:param name="profile.revision"></xsl:param> + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.revisionflag +string + + +profile.revisionflag +Target profile for revisionflag +attribute + + + + +<xsl:param name="profile.revisionflag"></xsl:param> + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.role +string + + +profile.role +Target profile for role +attribute + + + + +<xsl:param name="profile.role"></xsl:param> + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + +Note that role is often +used for other purposes than profiling. For example it is commonly +used to get emphasize in bold font: + +<emphasis role="bold">very important</emphasis> + +If you are using role for +these purposes do not forget to add values like bold to +value of this parameter. If you forgot you will get document with +small pieces missing which are very hard to track. + +For this reason it is not recommended to use role attribute for profiling. You should +rather use profiling specific attributes like userlevel, os, arch, condition, etc. + + + + + + + +profile.security +string + + +profile.security +Target profile for security +attribute + + + + +<xsl:param name="profile.security"></xsl:param> + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.status +string + + +profile.status +Target profile for status +attribute + + + + +<xsl:param name="profile.status"></xsl:param> + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.userlevel +string + + +profile.userlevel +Target profile for userlevel +attribute + + + + +<xsl:param name="profile.userlevel"></xsl:param> + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.vendor +string + + +profile.vendor +Target profile for vendor +attribute + + + + +<xsl:param name="profile.vendor"></xsl:param> + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.wordsize +string + + +profile.wordsize +Target profile for wordsize +attribute + + + + +<xsl:param name="profile.wordsize"></xsl:param> + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.attribute +string + + +profile.attribute +Name of user-specified profiling attribute + + + + +<xsl:param name="profile.attribute"></xsl:param> + + + +Description + +This parameter is used in conjuction with +profile.value. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.value +string + + +profile.value +Target profile for user-specified attribute + + + + +<xsl:param name="profile.value"></xsl:param> + + + +Description + +When you are using this parameter you must also specify name of +profiling attribute with parameter +profile.attribute. + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.separator +string + + +profile.separator +Separator character for compound profile values + + + + +<xsl:param name="profile.separator">;</xsl:param> + + + +Description + +Separator character used for compound profile values. See profile.arch + + + + +Localization + + +l10n.gentext.language +string + + +l10n.gentext.language +Sets the gentext language + + + + +<xsl:param name="l10n.gentext.language"></xsl:param> + + + +Description + +If this parameter is set to any value other than the empty string, its +value will be used as the value for the language when generating text. Setting +l10n.gentext.language overrides any settings within the +document being formatted. + +It's much more likely that you might want to set the +l10n.gentext.default.language parameter. + + + + + + + l10n.gentext.default.language + string + + + l10n.gentext.default.language + Sets the default language for generated text + + + + +<xsl:param name="l10n.gentext.default.language">en</xsl:param> + + + +Description + +The value of the l10n.gentext.default.language +parameter is used as the language for generated text if no setting is provided +in the source document. + + + + + + +l10n.gentext.use.xref.language +boolean + + +l10n.gentext.use.xref.language +Use the language of target when generating cross-reference text? + + + + +<xsl:param name="l10n.gentext.use.xref.language" select="0"></xsl:param> + + + +Description + +If non-zero, the language of the target will be used when +generating cross reference text. Usually, the current +language is used when generating text (that is, the language of the +element that contains the cross-reference element). But setting this parameter +allows the language of the element pointed to to control +the generated text. + +Consider the following example: + + +<para lang="en">See also <xref linkend="chap3"/>.</para> + + + +Suppose that Chapter 3 happens to be written in German. +If l10n.gentext.use.xref.language is non-zero, the +resulting text will be something like this: + +
+See also Kapital 3. +
+ +Where the more traditional rendering would be: + +
+See also Chapter 3. +
+ +
+
+ + + +l10n.lang.value.rfc.compliant +boolean + + +l10n.lang.value.rfc.compliant +Make value of lang attribute RFC compliant? + + + + +<xsl:param name="l10n.lang.value.rfc.compliant" select="1"></xsl:param> + + + +Description + +If non-zero, ensure that the values for all lang attributes in HTML output are RFC +compliantSection 8.1.1, Language Codes, in the HTML 4.0 Recommendation states that: + +
[RFC1766] defines and explains the language codes +that must be used in HTML documents. +Briefly, language codes consist of a primary code and a possibly +empty series of subcodes: + +language-code = primary-code ( "-" subcode )* + +And in RFC 1766, Tags for the Identification +of Languages, the EBNF for "language tag" is given as: + +Language-Tag = Primary-tag *( "-" Subtag ) +Primary-tag = 1*8ALPHA +Subtag = 1*8ALPHA + +
+
. + +by taking any underscore characters in any lang values found in source documents, and +replacing them with hyphen characters in output HTML files. For +example, zh_CN in a source document becomes +zh-CN in the HTML output form that source. + + +This parameter does not cause any case change in lang values, because RFC 1766 +explicitly states that all "language tags" (as it calls them) "are +to be treated as case insensitive". + +
+ +
+
+ + + +writing.mode +string + + +writing.mode +Direction of text flow based on locale + + + + +<xsl:param name="writing.mode"> + <xsl:call-template name="gentext"> + <xsl:with-param name="key">writing-mode</xsl:with-param> + <xsl:with-param name="lang"> + <xsl:call-template name="l10n.language"> + <xsl:with-param name="target" select="/*[1]"></xsl:with-param> + </xsl:call-template> + </xsl:with-param> + </xsl:call-template> +</xsl:param> + + + +Description + +Sets direction of text flow and text alignment based on locale. +The value is normally taken from the gentext file for the +lang attribute of the document's root element, using the +key name 'writing-mode' to look it up in the gentext file. +But the param can also be +set on the command line to override that gentext value. + +Accepted values are: + + + lr-tb + + Left-to-right text flow in each line, lines stack top to bottom. + + + + rl-tb + + Right-to-left text flow in each line, lines stack top to bottom. + + + + tb-rl + + Top-to-bottom text flow in each vertical line, lines stack right to left. + Supported by only a few XSL-FO processors. Not supported in HTML output. + + + + lr + + Shorthand for lr-tb. + + + + rl + + Shorthand for rl-tb. + + + + tb + + Shorthand for tb-rl. + + + + + + + + +
EBNF + + +ebnf.assignment +rtf + + +ebnf.assignment +The EBNF production assignment operator + + + + + +<xsl:param name="ebnf.assignment"> + <fo:inline font-family="{$monospace.font.family}"> + <xsl:text>::=</xsl:text> + </fo:inline> +</xsl:param> + + + +Description + +The ebnf.assignment parameter determines what +text is used to show assignment in productions +in productionsets. + +While ::= is common, so are several +other operators. + + + + + + +ebnf.statement.terminator +rtf + + +ebnf.statement.terminator +Punctuation that ends an EBNF statement. + + + + + +<xsl:param name="ebnf.statement.terminator"></xsl:param> + + + +Description + +The ebnf.statement.terminator parameter determines what +text is used to terminate each production +in productionset. + +Some notations end each statement with a period. + + + + +Prepress + + +crop.marks +boolean + + +crop.marks +Output crop marks? + + + + +<xsl:param name="crop.marks" select="0"></xsl:param> + + + +Description + +If non-zero, crop marks will be added to each page. Currently this +works only with XEP if you have xep.extensions set. + + + + + + +crop.mark.width +length + + +crop.mark.width +Width of crop marks. + + + + +<xsl:param name="crop.mark.width">0.5pt</xsl:param> + + + +Description + +Width of crop marks. Crop marks are controlled by +crop.marks parameter. + + + + + + +crop.mark.offset +length + + +crop.mark.offset +Length of crop marks. + + + + +<xsl:param name="crop.mark.offset">24pt</xsl:param> + + + +Description + +Length of crop marks. Crop marks are controlled by +crop.marks parameter. + + + + + + +crop.mark.bleed +length + + +crop.mark.bleed +Length of invisible part of crop marks. + + + + +<xsl:param name="crop.mark.bleed">6pt</xsl:param> + + + +Description + +Length of invisible part of crop marks. Crop marks are controlled by +crop.marks parameter. + + + + + +
+ + + + Manpages Parameter Reference + + + This is reference documentation for all user-configurable + parameters in the DocBook XSL "manpages" stylesheet (for + generating groff/nroff output). Note that the manpages + stylesheet is a customization layer of the DocBook XSL HTML + stylesheet. Therefore, you can also use a number of HTML stylesheet parameters + to control manpages output (in addition to the + manpages-specific parameters listed in this section). + + + + Hyphenation, justification, and breaking + + +man.hyphenate +boolean + + +man.hyphenate +Enable hyphenation? + + + + +<xsl:param name="man.hyphenate">0</xsl:param> + + +Description + +If non-zero, hyphenation is enabled. + + +The default value for this parameter is zero because groff is +not particularly smart about how it does hyphenation; it can end up +hyphenating a lot of things that you don't want hyphenated. To +mitigate that, the default behavior of the stylesheets is to suppress +hyphenation of computer inlines, filenames, and URLs. (You can +override the default behavior by setting non-zero values for the +man.hyphenate.urls, +man.hyphenate.filenames, and +man.hyphenate.computer.inlines parameters.) But +the best way is still to just globally disable hyphenation, as the +stylesheets do by default. + +The only good reason to enabled hyphenation is if you have also +enabled justification (which is disabled by default). The reason is +that justified text can look very bad unless you also hyphenate it; to +quote the Hypenation node from the groff info page: + +
+ Since the odds are not great for finding a set of + words, for every output line, which fit nicely on a line without + inserting excessive amounts of space between words, 'gtroff' + hyphenates words so that it can justify lines without inserting too + much space between words. +
+ +So, if you set a non-zero value for the +man.justify parameter (to enable +justification), then you should probably also set a non-zero value for +man.hyphenate (to enable hyphenation).
+
+ + +
+
+ + + +man.hyphenate.urls +boolean + + +man.hyphenate.urls +Hyphenate URLs? + + + + +<xsl:param name="man.hyphenate.urls">0</xsl:param> + + +Description + +If zero (the default), hyphenation is suppressed for output of +the ulink url attribute. + + + If hyphenation is already turned off globally (that is, if + man.hyphenate is zero, setting + man.hyphenate.urls is not necessary. + + +If man.hyphenate.urls is non-zero, URLs +will not be treated specially and are subject to hyphenation just like +other words. + + + If you are thinking about setting a non-zero value for + man.hyphenate.urls in order to make long + URLs break across lines, you'd probably be better off + experimenting with setting the + man.break.after.slash parameter first. That + will cause long URLs to be broken after slashes. + + + + + + + +man.hyphenate.filenames +boolean + + +man.hyphenate.filenames +Hyphenate filenames? + + + + +<xsl:param name="man.hyphenate.filenames">0</xsl:param> + + +Description + +If zero (the default), hyphenation is suppressed for +filename output. + + + If hyphenation is already turned off globally (that is, if + man.hyphenate is zero, setting + man.hyphenate.filenames is not + necessary. + + +If man.hyphenate.filenames is non-zero, +filenames will not be treated specially and are subject to hyphenation +just like other words. + + + If you are thinking about setting a non-zero value for + man.hyphenate.filenames in order to make long + filenames/pathnames break across lines, you'd probably be better off + experimenting with setting the + man.break.after.slash parameter first. That + will cause long pathnames to be broken after slashes. + + + + + + + +man.hyphenate.computer.inlines +boolean + + +man.hyphenate.computer.inlines +Hyphenate computer inlines? + + + + +<xsl:param name="man.hyphenate.computer.inlines">0</xsl:param> + + +Description + +If zero (the default), hyphenation is suppressed for +computer inlines such as environment variables, +constants, etc. This parameter current affects output of the following +elements: + + + classname + constant + envar + errorcode + option + replaceable + userinput + type + varname + + + + + If hyphenation is already turned off globally (that is, if + man.hyphenate is zero, setting the + man.hyphenate.computer.inlines is not + necessary. + + +If man.hyphenate.computer.inlines is +non-zero, computer inlines will not be treated specially and will be +hyphenated like other words when needed. + + + + + + +man.justify +boolean + + +man.justify +Justify text to both right and left margins? + + + + +<xsl:param name="man.justify">0</xsl:param> + + +Description + +If non-zero, text is justified to both the right and left +margins (or, in roff terminology, "adjusted and filled" to both the +right and left margins). If zero (the default), text is adjusted to +the left margin only -- producing what is traditionally called +"ragged-right" text. + + +The default value for this parameter is zero because justified +text looks good only when it is also hyphenated. Without hyphenation, +excessive amounts of space often end up getting between words, in +order to "pad" lines out to align on the right margin. + +The problem is that groff is not particularly smart about how it +does hyphenation; it can end up hyphenating a lot of things that you +don't want hyphenated. So, disabling both justification and +hyphenation ensures that hyphens won't get inserted where you don't +want to them, and you don't end up with lines containing excessive +amounts of space between words. + +However, if do you decide to set a non-zero value for the +man.justify parameter (to enable +justification), then you should probably also set a non-zero value for +man.hyphenate (to enable hyphenation). + +Yes, these default settings run counter to how most existing man +pages are formatted. But there are some notable exceptions, such as +the perl man pages. + + + + + + +man.break.after.slash +boolean + + +man.break.after.slash +Enable line-breaking after slashes? + + + + +<xsl:param name="man.break.after.slash">0</xsl:param> + + +Description + +If non-zero, line-breaking after slashes is enabled. This is +mainly useful for causing long URLs or pathnames/filenames to be +broken up or "wrapped" across lines (though it also has the side +effect of sometimes causing relatively short URLs and pathnames to be +broken up across lines too). + +If zero (the default), line-breaking after slashes is +disabled. In that case, strings containing slashes (for example, URLs +or filenames) are not broken across lines, even if they exceed the +maximum column widith. + + + If you set a non-zero value for this parameter, check your + man-page output carefuly afterwards, in order to make sure that the + setting has not introduced an excessive amount of breaking-up of URLs + or pathnames. If your content contains mostly short URLs or + pathnames, setting a non-zero value for + man.break.after.slash will probably result in + in a significant number of relatively short URLs and pathnames being + broken across lines, which is probably not what you want. + + + + + +
+ Indentation + + +man.indent.width +length + + +man.indent.width +Specifies width used for adjusted indents + + + + +<xsl:param name="man.indent.width">4</xsl:param> + + + +Description +The man.indent.width parameter specifies +the width used for adjusted indents. The value of +man.indent.width is used for indenting of +lists, verbatims, headings, and elsewhere, depending on whether the +values of certain man.indent.* boolean parameters +are non-zero. + +The value of man.indent.width should +include a valid roff measurement unit (for example, +n or u). The default value of +4n specifies a 4-en width; when viewed on a +console, that amounts to the width of four characters. For details +about roff measurment units, see the Measurements +node in the groff info page. + + + + + + +man.indent.refsect +boolean + + +man.indent.refsect +Adjust indentation of refsect* and refsection? + + + + +<xsl:param name="man.indent.refsect" select="0"></xsl:param> + + +Description + +If the value of man.indent.refsect is +non-zero, the width of the left margin for +refsect1, refsect2 and +refsect3 contents and titles (and first-level, +second-level, and third-level nested +refsectioninstances) is adjusted by the value of +the man.indent.width parameter. With +man.indent.width set to its default value of +3n, the main results are that: + + + + contents of refsect1 are output with a + left margin of three characters instead the roff default of seven + or eight characters + + + contents of refsect2 are displayed in + console output with a left margin of six characters instead the of + the roff default of seven characters + + + the contents of refsect3 and nested + refsection instances are adjusted + accordingly. + + + +If instead the value of man.indent.refsect is +zero, no margin adjustment is done for refsect* +output. + + + If your content is primarly comprised of + refsect1 and refsect2 content + (or the refsection equivalent) – with few or + no refsect3 or lower nested sections , you may be + able to “conserve” space in your output by setting + man.indent.refsect to a non-zero value. Doing + so will “squeeze” the left margin in such as way as to provide an + additional four characters of “room” per line in + refsect1 output. That extra room may be useful + if, for example, you have many verbatim sections with long lines in + them. + + + + + + + +man.indent.blurbs +boolean + + +man.indent.blurbs +Adjust indentation of blurbs? + + + + +<xsl:param name="man.indent.blurbs" select="1"></xsl:param> + + +Description + +If the value of man.indent.blurbs is +non-zero, the width of the left margin for +authorblurb, personblurb, and +contrib output is set to the value of the +man.indent.width parameter +(3n by default). If instead the value of +man.indent.blurbs is zero, the built-in roff +default width (7.2n) is used. + + + + + + +man.indent.lists +boolean + + +man.indent.lists +Adjust indentation of lists? + + + + +<xsl:param name="man.indent.lists" select="1"></xsl:param> + + +Description + +If the value of man.indent.lists is +non-zero, the width of the left margin for list items in +itemizedlist, +orderedlist, +variablelist output (and output of some other +lists) is set to the value of the +man.indent.width parameter +(4n by default). If instead the value of +man.indent.lists is zero, the built-in roff +default width (7.2n) is used. + + + + + + +man.indent.verbatims +boolean + + +man.indent.verbatims +Adjust indentation of verbatims? + + + + +<xsl:param name="man.indent.verbatims" select="1"></xsl:param> + + +Description + +If the value of man.indent.verbatims is +non-zero, the width of the left margin for output of verbatim +environments (programlisting, +screen, and so on) is set to the value of the +man.indent.width parameter +(3n by default). If instead the value of +man.indent.verbatims is zero, the built-in roff +default width (7.2n) is used. + + + + + + Fonts + + +man.font.funcprototype +string + + +man.font.funcprototype +Specifies font for funcprototype output + + + + + <xsl:param name="man.font.funcprototype">BI</xsl:param> + + + +Description + +The man.font.funcprototype parameter +specifies the font for funcprototype output. It +should be a valid roff font name, such as BI or +B. + + + + + + +man.font.funcsynopsisinfo +string + + +man.font.funcsynopsisinfo +Specifies font for funcsynopsisinfo output + + + + + <xsl:param name="man.font.funcsynopsisinfo">B</xsl:param> + + + +Description + +The man.font.funcsynopsisinfo parameter +specifies the font for funcsynopsisinfo output. It +should be a valid roff font name, such as B or +I. + + + + + + +man.font.links +string + + +man.font.links +Specifies font for links + + + + +<xsl:param name="man.font.links">B</xsl:param> + + + +Description + +The man.font.links parameter +specifies the font for output of links (ulink instances +and any instances of any element with an xlink:href attribute). + +The value of man.font.links must be + either B or I, or empty. If +the value is empty, no font formatting is applied to links. + +If you set man.endnotes.are.numbered and/or +man.endnotes.list.enabled to zero (disabled), then +you should probably also set an empty value for +man.font.links. But if +man.endnotes.are.numbered is non-zero (enabled), +you should probably keep +man.font.links set to +B or IThe + main purpose of applying a font format to links in most output +formats it to indicate that the formatted text is +“clickable”; given that links rendered in man pages are +not “real” hyperlinks that users can click on, it might +seem like there is never a good reason to have font formatting for +link contents in man output. +In fact, if you suppress the +display of inline link references (by setting +man.endnotes.are.numbered to zero), there is no +good reason to apply font formatting to links. However, if +man.endnotes.are.numbered is non-zero, having +font formatting for links (arguably) serves a purpose: It provides +“context” information about exactly what part of the text +is being “annotated” by the link. Depending on how you +mark up your content, that context information may or may not +have value.. + + +Related Parameters + man.endnotes.list.enabled, + man.endnotes.are.numbered + + + + + + +man.font.table.headings +string + + +man.font.table.headings +Specifies font for table headings + + + + + <xsl:param name="man.font.table.headings">B</xsl:param> + + + +Description + +The man.font.table.headings parameter +specifies the font for table headings. It should be +a valid roff font, such as B or +I. + + + + + + +man.font.table.title +string + + +man.font.table.title +Specifies font for table headings + + + + + <xsl:param name="man.font.table.title">B</xsl:param> + + + +Description + +The man.font.table.title parameter +specifies the font for table titles. It should be +a valid roff font, such as B or +I. + + + + + + SYNOPSIS section + + +man.funcsynopsis.style +list +ansi +kr + + +man.funcsynopsis.style +What style of funcsynopsis should be generated? + + +<xsl:param name="man.funcsynopsis.style">ansi</xsl:param> + +Description +If man.funcsynopsis.style is +ansi, ANSI-style function synopses are +generated for a funcsynopsis, otherwise K&R-style +function synopses are generated. + + + + + AUTHORS and COPYRIGHT sections + + +man.authors.section.enabled +boolean + + +man.authors.section.enabled +Display auto-generated AUTHORS section? + + + +<xsl:param name="man.authors.section.enabled">1</xsl:param> + + +Description + +If the value of +man.authors.section.enabled is non-zero +(the default), then an AUTHORS section is +generated near the end of each man page. The output of the +AUTHORS section is assembled from any +author, editor, and othercredit +metadata found in the contents of the child info or +refentryinfo (if any) of the refentry +itself, or from any author, editor, and +othercredit metadata that may appear in info +contents of any ancestors of the refentry. + +If the value of +man.authors.section.enabled is zero, the +the auto-generated AUTHORS section is +suppressed. + +Set the value of + man.authors.section.enabled to zero if + you want to have a manually created AUTHORS + section in your source, and you want it to appear in output + instead of the auto-generated AUTHORS + section. + + + + + +man.copyright.section.enabled +boolean + + +man.copyright.section.enabled +Display auto-generated COPYRIGHT section? + + + +<xsl:param name="man.copyright.section.enabled">1</xsl:param> + + +Description + +If the value of +man.copyright.section.enabled is non-zero +(the default), then a COPYRIGHT section is +generated near the end of each man page. The output of the +COPYRIGHT section is assembled from any +copyright and legalnotice metadata found in +the contents of the child info or +refentryinfo (if any) of the refentry +itself, or from any copyright and +legalnotice metadata that may appear in info +contents of any ancestors of the refentry. + +If the value of +man.copyright.section.enabled is zero, the +the auto-generated COPYRIGHT section is +suppressed. + +Set the value of + man.copyright.section.enabled to zero if + you want to have a manually created COPYRIGHT + section in your source, and you want it to appear in output + instead of the auto-generated COPYRIGHT + section. + + + + + Endnotes and link handling + + +man.endnotes.list.enabled +boolean + + +man.endnotes.list.enabled +Display endnotes list at end of man page? + + + + +<xsl:param name="man.endnotes.list.enabled">1</xsl:param> + + + +Description + +If the value of man.endnotes.list.enabled is +non-zero (the default), then an endnotes list is added to the end of +the output man page. + +If the value of man.endnotes.list.enabled is +zero, the list is suppressed — unless link numbering is enabled (that +is, if man.endnotes.are.numbered is non-zero), in +which case, that setting overrides the +man.endnotes.list.enabled setting, and the +endnotes list is still displayed. The reason is that inline +numbering of notesources associated with endnotes only makes sense +if a (numbered) list of endnotes is also generated. + + + Leaving + man.endnotes.list.enabled at its default + (non-zero) value ensures that no “out of line” information (such + as the URLs for hyperlinks and images) gets lost in your + man-page output. It just gets “rearranged”. + So if you’re thinking about disabling endnotes listing by + setting the value of + man.endnotes.list.enabled to zero: + Before you do so, first take some time to carefully consider + the information needs and experiences of your users. The “out + of line” information has value even if the presentation of it + in text output is not as interactive as it may be in other + output formats. + As far as the specific case of URLs: Even though the URLs + displayed in text output may not be “real” (clickable) + hyperlinks, many X terminals have convenience features for + recognizing URLs and can, for example, present users with + an options to open a URL in a browser with the user clicks on + the URL is a terminal window. And short of those, users with X + terminals can always manually cut and paste the URLs into a web + browser. + Also, note that various “man to html” tools, such as the + widely used man2html (VH-Man2html) + application, automatically mark up URLs with a@href markup + during conversion — resulting in “real” hyperlinks in HTML + output from those tools. + + +To “turn off” numbering of endnotes in the +endnotes list, set man.endnotes.are.numbered +to zero. The endnotes list will +still be displayed; it will just be displayed without the +numbersIt can still make sense to have +the list of endnotes displayed even if you have endnotes numbering turned +off. In that case, your endnotes list basically becomes a “list +of references” without any association with specific text in +your document. This is probably the best option if you find the inline +endnotes numbering obtrusive. Your users will still have access to all the “out of line” +such as URLs for hyperlinks. + + +The default heading for the endnotes list is +NOTES. To change that, set a non-empty +value for the man.endnotes.list.heading +parameter. + +In the case of notesources that are links: Along with the +URL for each link, the endnotes list includes the contents of the +link. The list thus includes only non-empty + +A “non-empty” link is one that looks like +this: <ulink url="http://docbook.sf.net/snapshot/xsl/doc/manpages/">manpages</ulink> +an “empty link” is on that looks like this: <ulink url="http://docbook.sf.net/snapshot/xsl/doc/manpages/"/> + links. + +Empty links are never included, and never numbered. They are simply +displayed inline, without any numbering. + +In addition, if there are multiple instances of links in a +refentry that have the same URL, the URL is listed only +once. The contents listed for that link in the endnotes list are +the contents of the first link which has that URL. + +If you disable endnotes listing, you should probably also set +man.links.are.underlined to zero (to disable +link underlining). + + + + + +man.endnotes.list.heading +string + + +man.endnotes.list.heading +Specifies an alternate name for endnotes list + + + + +<xsl:param name="man.endnotes.list.heading"></xsl:param> + + + +Description + +If the value of the +man.endnotes.are.numbered parameter +and/or the man.endnotes.list.enabled +parameter is non-zero (the defaults for both are non-zero), a +numbered list of endnotes is generated near the end of each man +page. The default heading for the list of endnotes is the +equivalent of the English word NOTES in +the current locale. To cause an alternate heading to be displayed, +set a non-empty value for the +man.endnotes.list.heading parameter — +for example, REFERENCES. + + + + + +man.endnotes.are.numbered +boolean + + +man.endnotes.are.numbered +Number endnotes? + + + + +<xsl:param name="man.endnotes.are.numbered">1</xsl:param> + + + +Description + +If the value of man.endnotes.are.numbered is +non-zero (the default), then for each non-empty +A “non-empty” notesource is one that looks like +this: <ulink url="http://docbook.sf.net/snapshot/xsl/doc/manpages/">manpages</ulink> +an “empty” notesource is on that looks like this: <ulink url="http://docbook.sf.net/snapshot/xsl/doc/manpages/"/> + “notesource”: + + + + a number (in square brackets) is displayed inline after the + rendered inline contents (if any) of the notesource + + + the contents of the notesource are included in a + numbered list of endnotes that is generated at the end of + each man page; the number for each endnote corresponds to + the inline number for the notesource with which it is + associated + + +The default heading for the list of endnotes is +NOTES. To output a different heading, set a value +for the man.endnotes.section.heading +parameter. + + + The endnotes list is also displayed (but without + numbers) if the value of + man.endnotes.list.enabled is + non-zero. + + + +If the value of man.endnotes.are.numbered is +zero, numbering of endnotess is suppressed; only inline +contents (if any) of the notesource are displayed inline. + + If you are thinking about disabling endnote numbering by setting + the value of man.endnotes.are.numbered to zero, + before you do so, first take some time to carefully + consider the information needs and experiences of your users. The + square-bracketed numbers displayed inline after notesources may seem + obstrusive and aesthetically unpleasingAs far as notesources that are links, ytou might + think it would be better to just display URLs for non-empty + links inline, after their content, rather than displaying + square-bracketed numbers all over the place. But it's not better. In + fact, it's not even practical, because many (most) URLs for links + are too long to be displayed inline. They end up overflowing the + right margin. You can set a non-zero value for + man.break.after.slash parameter to deal with + that, but it could be argued that what you end up with is at least + as ugly, and definitely more obstrusive, then having short + square-bracketed numbers displayed inline., + + but in a text-only output format, the + numbered-notesources/endnotes-listing mechanism is the only + practical way to handle this kind of content. + + Also, users of “text based” browsers such as + lynx will already be accustomed to seeing inline + numbers for links. And various "man to html" applications, such as + the widely used man2html (VH-Man2html) + application, can automatically turn URLs into "real" HTML hyperlinks + in output. So leaving man.endnotes.are.numbered + at its default (non-zero) value ensures that no information is + lost in your man-page output. It just gets + “rearranged”. + + +The handling of empty links is not affected by this +parameter. Empty links are handled simply by displaying their URLs +inline. Empty links are never auto-numbered. + +If you disable endnotes numbering, you should probably also set +man.font.links to an empty value (to +disable font formatting for links. + + +Related Parameters + man.endnotes.list.enabled, + man.font.links + + + + + + man.base.url.for.relative.links + string + + + man.base.url.for.relative.links + Specifies a base URL for relative links + + + + <xsl:param name="man.base.url.for.relative.links">[set $man.base.url.for.relative.links]/</xsl:param> + + + Description + + For any “notesource” listed in the auto-generated + “NOTES” section of output man pages (which is generated when + the value of the + man.endnotes.list.enabled parameter + is non-zero), if the notesource is a link source with a + relative URI, the URI is displayed in output with the value + of the + man.base.url.for.relative.links + parameter prepended to the value of the link URI. + + + A link source is an notesource that references an + external resource: + + + a ulink element with a url attribute + + + any element with an xlink:href attribute + + + an imagedata, audiodata, or + videodata element + + + + + + If you use relative URIs in link sources in your DocBook + refentry source, and you leave + man.base.url.for.relative.links + unset, the relative links will appear “as is” in the “Notes” + section of any man-page output generated from your source. + That’s probably not what you want, because such relative + links are only usable in the context of HTML output. So, to + make the links meaningful and usable in the context of + man-page output, set a value for + man.base.url.for.relative.links that + points to the online version of HTML output generated from + your DocBook refentry source. For + example: + <xsl:param name="man.base.url.for.relative.links" + >http://www.kernel.org/pub/software/scm/git/docs/</xsl:param> + + + + + Related Parameters + man.endnotes.list.enabled + + + + + + Lists + + +man.segtitle.suppress +boolean + + +man.segtitle.suppress +Suppress display of segtitle contents? + + + + +<xsl:param name="man.segtitle.suppress" select="0"></xsl:param> + + +Description + +If the value of man.segtitle.suppress is +non-zero, then display of segtitle contents is +suppressed in output. + + + + + + Character/string substitution + + +man.charmap.enabled +boolean + + +man.charmap.enabled +Apply character map before final output? + + + + +<xsl:param name="man.charmap.enabled" select="1"></xsl:param> + + + +Description + +If the value of the man.charmap.enabled +parameter is non-zero, a "character map" is used to substitute certain +Unicode symbols and special characters with appropriate roff/groff +equivalents, just before writing each man-page file to the +filesystem. If instead the value of +man.charmap.enabled is zero, Unicode characters +are passed through "as is". + +Details + +For converting certain Unicode symbols and special characters in +UTF-8 or UTF-16 encoded XML source to appropriate groff/roff +equivalents in man-page output, the DocBook XSL Stylesheets +distribution includes a roff character map that is compliant with the XSLT character +map format as detailed in the XSLT 2.0 specification. The map +contains more than 800 character mappings and can be considered the +standard roff character map for the distribution. + +You can use the man.charmap.uri +parameter to specify a URI for the location for an alternate roff +character map to use in place of the standard roff character map +provided in the distribution. + +You can also use a subset of a character map. For details, +see the man.charmap.use.subset, +man.charmap.subset.profile, and +man.charmap.subset.profile.english +parameters. + + + + + + + +man.charmap.uri +uri + + +man.charmap.uri +URI for custom roff character map + + + + +<xsl:param name="man.charmap.uri"></xsl:param> + + + +Description + +For converting certain Unicode symbols and special characters in +UTF-8 or UTF-16 encoded XML source to appropriate groff/roff +equivalents in man-page output, the DocBook XSL Stylesheets +distribution includes an XSLT character +map. That character map can be considered the standard roff +character map for the distribution. + +If the value of the man.charmap.uri +parameter is non-empty, that value is used as the URI for the location +for an alternate roff character map to use in place of the standard +roff character map provided in the distribution. + + +Do not set a value for man.charmap.uri +unless you have a custom roff character map that differs from the +standard one provided in the distribution. + + + + + + +man.charmap.use.subset +boolean + + +man.charmap.use.subset +Use subset of character map instead of full map? + + + + +<xsl:param name="man.charmap.use.subset" select="1"></xsl:param> + + + +Description + +If the value of the +man.charmap.use.subset parameter is non-zero, +a subset of the roff character map is used instead of the full roff +character map. The profile of the subset used is determined either +by the value of the +man.charmap.subset.profile +parameter (if the source is not in English) or the +man.charmap.subset.profile.english +parameter (if the source is in English). + + + You may want to experiment with setting a non-zero value of + man.charmap.use.subset, so that the full + character map is used. Depending on which XSLT engine you run, + setting a non-zero value for + man.charmap.use.subset may significantly + increase the time needed to process your documents. Or it may + not. For example, if you set it and run it with xsltproc, it seems + to dramatically increase processing time; on the other hand, if you + set it and run it with Saxon, it does not seem to increase + processing time nearly as much. + + If processing time is not a important concern and/or you can + tolerate the increase in processing time imposed by using the full + character map, set man.charmap.use.subset to + zero. + + +Details + +For converting certain Unicode symbols and special characters in +UTF-8 or UTF-16 encoded XML source to appropriate groff/roff +equivalents in man-page output, the DocBook XSL Stylesheets +distribution includes a roff character map that is compliant with the XSLT character +map format as detailed in the XSLT 2.0 specification. The map +contains more than 800 character mappings and can be considered the +standard roff character map for the distribution. + + +You can use the man.charmap.uri +parameter to specify a URI for the location for an alternate roff +character map to use in place of the standard roff character map +provided in the distribution. + + +Because it is not terrifically efficient to use the standard +800-character character map in full -- and for most (or all) users, +never necessary to use it in full -- the DocBook XSL Stylesheets +support a mechanism for using, within any given character map, a +subset of character mappings instead of the full set. You can use the +man.charmap.subset.profile or +man.charmap.subset.profile.english +parameter to tune the profile of that subset to use. + + + + + + + +man.charmap.subset.profile +string + + +man.charmap.subset.profile +Profile of character map subset + + + + +<xsl:param name="man.charmap.subset.profile"> +@*[local-name() = 'block'] = 'Miscellaneous Technical' or +(@*[local-name() = 'block'] = 'C1 Controls And Latin-1 Supplement (Latin-1 Supplement)' and + (@*[local-name() = 'class'] = 'symbols' or + @*[local-name() = 'class'] = 'letters') +) or +@*[local-name() = 'block'] = 'Latin Extended-A' +or +(@*[local-name() = 'block'] = 'General Punctuation' and + (@*[local-name() = 'class'] = 'spaces' or + @*[local-name() = 'class'] = 'dashes' or + @*[local-name() = 'class'] = 'quotes' or + @*[local-name() = 'class'] = 'bullets' + ) +) or +@*[local-name() = 'name'] = 'HORIZONTAL ELLIPSIS' or +@*[local-name() = 'name'] = 'WORD JOINER' or +@*[local-name() = 'name'] = 'SERVICE MARK' or +@*[local-name() = 'name'] = 'TRADE MARK SIGN' or +@*[local-name() = 'name'] = 'ZERO WIDTH NO-BREAK SPACE' +</xsl:param> + + + +Description + +If the value of the +man.charmap.use.subset parameter is non-zero, +and your DocBook source is not written in English (that + is, if the lang or xml:lang attribute on the root element + in your DocBook source or on the first refentry + element in your source has a value other than + en), then the character-map subset specified + by the man.charmap.subset.profile + parameter is used instead of the full roff character map. + +Otherwise, if the lang or xml:lang attribute on the root + element in your DocBook + source or on the first refentry element in your source + has the value en or if it has no lang or xml:lang attribute, then the character-map + subset specified by the + man.charmap.subset.profile.english + parameter is used instead of + man.charmap.subset.profile. + +The difference between the two subsets is that + man.charmap.subset.profile provides + mappings for characters in Western European languages that are + not part of the Roman (English) alphabet (ASCII character set). + +The value of man.charmap.subset.profile +is a string representing an XPath expression that matches attribute +names and values for output-character +elements in the character map. + +The attributes supported in the standard roff character map included in the distribution are: + + + character + + a raw Unicode character or numeric Unicode + character-entity value (either in decimal or hex); all + characters have this attribute + + + + name + + a standard full/long ISO/Unicode character name (e.g., + "OHM SIGN"); all characters have this attribute + + + + block + + a standard Unicode "block" name (e.g., "General + Punctuation"); all characters have this attribute. For the full + list of Unicode block names supported in the standard roff + character map, see . + + + + class + + a class of characters (e.g., "spaces"). Not all + characters have this attribute; currently, it is used only with + certain characters within the "C1 Controls And Latin-1 + Supplement" and "General Punctuation" blocks. For details, see + . + + + + entity + + an ISO entity name (e.g., "ohm"); not all characters + have this attribute, because not all characters have ISO entity + names; for example, of the 800 or so characters in the standard + roff character map included in the distribution, only around 300 + have ISO entity names. + + + + + string + + a string representing an roff/groff escape-code (with + "@esc@" used in place of the backslash), or a simple ASCII + string; all characters in the roff character map have this + attribute + + + + +The value of man.charmap.subset.profile +is evaluated as an XPath expression at run-time to select a portion of +the roff character map to use. You can tune the subset used by adding +or removing parts. For example, if you need to use a wide range of +mathematical operators in a document, and you want to have them +converted into roff markup properly, you might add the following: + + @*[local-name() = 'block'] ='MathematicalOperators' + +That will cause a additional set of around 67 additional "math" +characters to be converted into roff markup. + + +Depending on which XSLT engine you use, either the EXSLT +dyn:evaluate extension function (for xsltproc or +Xalan) or saxon:evaluate extension function (for +Saxon) are used to dynamically evaluate the value of +man.charmap.subset.profile at run-time. If you +don't use xsltproc, Saxon, Xalan -- or some other XSLT engine that +supports dyn:evaluate -- you must either set the +value of the man.charmap.use.subset parameter +to zero and process your documents using the full character map +instead, or set the value of the +man.charmap.enabled parameter to zero instead +(so that character-map processing is disabled completely. + + +An alternative to using +man.charmap.subset.profile is to create your +own custom character map, and set the value of +man.charmap.uri to the URI/filename for +that. If you use a custom character map, you will probably want to +include in it just the characters you want to use, and so you will +most likely also want to set the value of +man.charmap.use.subset to zero. +You can create a +custom character map by making a copy of the standard roff character map provided in the distribution, and +then adding to, changing, and/or deleting from that. + + +If you author your DocBook XML source in UTF-8 or UTF-16 +encoding and aren't sure what OSes or environments your man-page +output might end up being viewed on, and not sure what version of +nroff/groff those environments might have, you should be careful about +what Unicode symbols and special characters you use in your source and +what parts you add to the value of +man.charmap.subset.profile. +Many of the escape codes used are specific to groff and using +them may not provide the expected output on an OS or environment that +uses nroff instead of groff. +On the other hand, if you intend for your man-page output to be +viewed only on modern systems (for example, GNU/Linux systems, FreeBSD +systems, or Cygwin environments) that have a good, up-to-date groff, +then you can safely include a wide range of Unicode symbols and +special characters in your UTF-8 or UTF-16 encoded DocBook XML source +and add any of the supported Unicode block names to the value of +man.charmap.subset.profile. + + + +For other details, see the documentation for the +man.charmap.use.subset parameter. + +Supported Unicode block names and "class" values + + + Below is the full list of Unicode block names and "class" + values supported in the standard roff stylesheet provided in the + distribution, along with a description of which codepoints from the + Unicode range corresponding to that block name or block/class + combination are supported. + + + + C1 Controls And Latin-1 Supplement (Latin-1 Supplement) (x00a0 to x00ff) + class values + + + symbols + + + letters + + + + + Latin Extended-A (x0100 to x017f, partial) + + + Spacing Modifier Letters (x02b0 to x02ee, partial) + + + Greek and Coptic (x0370 to x03ff, partial) + + + General Punctuation (x2000 to x206f, partial) + class values + + + spaces + + + dashes + + + quotes + + + daggers + + + bullets + + + leaders + + + primes + + + + + + Superscripts and Subscripts (x2070 to x209f) + + + Currency Symbols (x20a0 to x20b1) + + + Letterlike Symbols (x2100 to x214b) + + + Number Forms (x2150 to x218f) + + + Arrows (x2190 to x21ff, partial) + + + Mathematical Operators (x2200 to x22ff, partial) + + + Control Pictures (x2400 to x243f) + + + Enclosed Alphanumerics (x2460 to x24ff) + + + Geometric Shapes (x25a0 to x25f7, partial) + + + Miscellaneous Symbols (x2600 to x26ff, partial) + + + Dingbats (x2700 to x27be, partial) + + + Alphabetic Presentation Forms (xfb00 to xfb04 only) + + + + + + + + +man.charmap.subset.profile.english +string + + +man.charmap.subset.profile.english +Profile of character map subset + + + + +<xsl:param name="man.charmap.subset.profile.english"> +@*[local-name() = 'block'] = 'Miscellaneous Technical' or +(@*[local-name() = 'block'] = 'C1 Controls And Latin-1 Supplement (Latin-1 Supplement)' and + @*[local-name() = 'class'] = 'symbols') +or +(@*[local-name() = 'block'] = 'General Punctuation' and + (@*[local-name() = 'class'] = 'spaces' or + @*[local-name() = 'class'] = 'dashes' or + @*[local-name() = 'class'] = 'quotes' or + @*[local-name() = 'class'] = 'bullets' + ) +) or +@*[local-name() = 'name'] = 'HORIZONTAL ELLIPSIS' or +@*[local-name() = 'name'] = 'WORD JOINER' or +@*[local-name() = 'name'] = 'SERVICE MARK' or +@*[local-name() = 'name'] = 'TRADE MARK SIGN' or +@*[local-name() = 'name'] = 'ZERO WIDTH NO-BREAK SPACE' +</xsl:param> + + + +Description + +If the value of the + man.charmap.use.subset parameter is + non-zero, and your DocBook source is written in English (that + is, if its lang or xml:lang attribute on the root element + in your DocBook source or on the first refentry + element in your source has the value en or if + it has no lang or xml:lang attribute), then the + character-map subset specified by the + man.charmap.subset.profile.english + parameter is used instead of the full roff character map. + +Otherwise, if the lang or xml:lang attribute + on the root element in your DocBook source or on the first + refentry element in your source has a value other + than en, then the character-map subset + specified by the + man.charmap.subset.profile parameter is + used instead of + man.charmap.subset.profile.english. + +The difference between the two subsets is that + man.charmap.subset.profile provides + mappings for characters in Western European languages that are + not part of the Roman (English) alphabet (ASCII character set). + +The value of man.charmap.subset.profile.english +is a string representing an XPath expression that matches attribute +names and values for output-character elements in the character map. + +For other details, see the documentation for the +man.charmap.subset.profile.english and +man.charmap.use.subset parameters. + + + + + + +man.string.subst.map.local.pre +string + + +man.string.subst.map.local.pre +Specifies “local” string substitutions + + + + + <xsl:param name="man.string.subst.map.local.pre"></xsl:param> + + + +Description + +Use the man.string.subst.map.local.pre +parameter to specify any “local” string substitutions to perform over +the entire roff source for each man page before +performing the string substitutions specified by the man.string.subst.map parameter. + +For details about the format of this parameter, see the +documentation for the man.string.subst.map +parameter. + + + + + + +man.string.subst.map +rtf + + +man.string.subst.map +Specifies a set of string substitutions + + + + +<xsl:param name="man.string.subst.map"> + + <!-- * remove no-break marker at beginning of line (stylesheet artifact) --> + <ss:substitution oldstring="▒▀" newstring="▒"></ss:substitution> + <!-- * replace U+2580 no-break marker (stylesheet-added) w/ no-break space --> + <ss:substitution oldstring="▀" newstring="\ "></ss:substitution> + + <!-- ==================================================================== --> + + <!-- * squeeze multiple newlines before a roff request --> + <ss:substitution oldstring=" + +." newstring=" +."></ss:substitution> + <!-- * remove any .sp instances that directly precede a .PP --> + <ss:substitution oldstring=".sp +.PP" newstring=".PP"></ss:substitution> + <!-- * remove any .sp instances that directly follow a .PP --> + <ss:substitution oldstring=".sp +.sp" newstring=".sp"></ss:substitution> + <!-- * squeeze multiple .sp instances into a single .sp--> + <ss:substitution oldstring=".PP +.sp" newstring=".PP"></ss:substitution> + <!-- * squeeze multiple newlines after start of no-fill (verbatim) env. --> + <ss:substitution oldstring=".nf + +" newstring=".nf +"></ss:substitution> + <!-- * squeeze multiple newlines after REstoring margin --> + <ss:substitution oldstring=".RE + +" newstring=".RE +"></ss:substitution> + <!-- * U+2591 is a marker we add before and after every Parameter in --> + <!-- * Funcprototype output --> + <ss:substitution oldstring="░" newstring=" "></ss:substitution> + <!-- * U+2592 is a marker we add for the newline before output of <sbr>; --> + <ss:substitution oldstring="▒" newstring=" +"></ss:substitution> + <!-- * --> + <!-- * Now deal with some other characters that are added by the --> + <!-- * stylesheets during processing. --> + <!-- * --> + <!-- * bullet --> + <ss:substitution oldstring="•" newstring="\(bu"></ss:substitution> + <!-- * left double quote --> + <ss:substitution oldstring="“" newstring="\(lq"></ss:substitution> + <!-- * right double quote --> + <ss:substitution oldstring="”" newstring="\(rq"></ss:substitution> + <!-- * left single quote --> + <ss:substitution oldstring="‘" newstring="\(oq"></ss:substitution> + <!-- * right single quote --> + <ss:substitution oldstring="’" newstring="\(cq"></ss:substitution> + <!-- * copyright sign --> + <ss:substitution oldstring="©" newstring="\(co"></ss:substitution> + <!-- * registered sign --> + <ss:substitution oldstring="®" newstring="\(rg"></ss:substitution> + <!-- * ...servicemark... --> + <!-- * There is no groff equivalent for it. --> + <ss:substitution oldstring="℠" newstring="(SM)"></ss:substitution> + <!-- * ...trademark... --> + <!-- * We don't do "\(tm" because for console output, --> + <!-- * groff just renders that as "tm"; that is: --> + <!-- * --> + <!-- * Product&#x2122; -> Producttm --> + <!-- * --> + <!-- * So we just make it to "(TM)" instead; thus: --> + <!-- * --> + <!-- * Product&#x2122; -> Product(TM) --> + <ss:substitution oldstring="™" newstring="(TM)"></ss:substitution> + +</xsl:param> + + + +Description + +The man.string.subst.map parameter +contains a map that specifies a set of +string substitutions to perform over the entire roff source for each +man page, either just before generating final man-page output (that +is, before writing man-page files to disk) or, if the value of the +man.charmap.enabled parameter is non-zero, +before applying the roff character map. + +You can use man.string.subst.map as a +“lightweight” character map to perform “essential” substitutions -- +that is, substitutions that are always performed, +even if the value of the man.charmap.enabled +parameter is zero. For example, you can use it to replace quotation +marks or other special characters that are generated by the DocBook +XSL stylesheets for a particular locale setting (as opposed to those +characters that are actually in source XML documents), or to replace +any special characters that may be automatically generated by a +particular customization of the DocBook XSL stylesheets. + + + Do you not change value of the + man.string.subst.map parameter unless you are + sure what you are doing. First consider adding your + string-substitution mappings to either or both of the following + parameters: + + + man.string.subst.map.local.pre + applied before + man.string.subst.map + + + man.string.subst.map.local.post + applied after + man.string.subst.map + + + By default, both of those parameters contain no + string substitutions. They are intended as a means for you to + specify your own local string-substitution mappings. + + If you remove any of default mappings from the value of the + man.string.subst.map parameter, you are + likely to end up with broken output. And be very careful about adding + anything to it; it’s used for doing string substitution over the + entire roff source of each man page – it causes target strings to be + replaced in roff requests and escapes, not just in the visible + contents of the page. + + + + + + Contents of the substitution map + + The string-substitution map contains one or more + ss:substitution elements, each of which has two + attributes: + + + oldstring + + string to replace + + + + newstring + + string with which to replace oldstring + + + + It may also include XML comments (that is, delimited with + "<!--" and "-->"). + + + + + + + + +man.string.subst.map.local.post +string + + +man.string.subst.map.local.post +Specifies “local” string substitutions + + + + +<xsl:param name="man.string.subst.map.local.post"></xsl:param> + + + +Description + +Use the man.string.subst.map.local.post +parameter to specify any “local” string substitutions to perform over +the entire roff source for each man page after +performing the string substitutions specified by the man.string.subst.map parameter. + +For details about the format of this parameter, see the +documentation for the man.string.subst.map +parameter. + + + + + + Refentry metadata gathering + + +refentry.meta.get.quietly +boolean + + +refentry.meta.get.quietly +Suppress notes and warnings when gathering refentry metadata? + + + + +<xsl:param name="refentry.meta.get.quietly" select="0"></xsl:param> + + + +Description + +If zero (the default), notes and warnings about “missing” markup +are generated during gathering of refentry metadata. If non-zero, the +metadata is gathered “quietly” -- that is, the notes and warnings are +suppressed. + + + If you are processing a large amount of refentry + content, you may be able to speed up processing significantly by + setting a non-zero value for + refentry.meta.get.quietly. + + + + + + + +refentry.date.profile +string + + +refentry.date.profile +Specifies profile for refentry "date" data + + + + +<xsl:param name="refentry.date.profile"> + (($info[//date])[last()]/date)[1]| + (($info[//pubdate])[last()]/pubdate)[1] +</xsl:param> + + + +Description + +The value of refentry.date.profile is a +string representing an XPath expression. It is evaluated at run-time +and used only if refentry.date.profile.enabled +is non-zero. Otherwise, the refentry metadata-gathering +logic "hard coded" into the stylesheets is used. + + The man(7) man page describes this content +as "the date of the last revision". In man pages, it is the content +that is usually displayed in the center footer. + + + + + + +refentry.date.profile.enabled +boolean + + +refentry.date.profile.enabled +Enable refentry "date" profiling? + + + + +<xsl:param name="refentry.date.profile.enabled">0</xsl:param> + + +Description + +If the value of +refentry.date.profile.enabled is non-zero, then +during refentry metadata gathering, the info profile +specified by the customizable +refentry.date.profile parameter is used. + +If instead the value of +refentry.date.profile.enabled is zero (the +default), then "hard coded" logic within the DocBook XSL stylesheets +is used for gathering refentry "date" data. + +If you find that the default refentry +metadata-gathering behavior is causing incorrect "date" data to show +up in your output, then consider setting a non-zero value for +refentry.date.profile.enabled and adjusting the +value of refentry.date.profile to cause correct +data to be gathered. + +Note that the terms "source" and "date" have special meanings in +this context. For details, see the documentation for the +refentry.date.profile parameter. + + + + + + +refentry.manual.profile +string + + +refentry.manual.profile +Specifies profile for refentry "manual" data + + + + +<xsl:param name="refentry.manual.profile"> + (($info[//title])[last()]/title)[1]| + ../title/node() +</xsl:param> + + + +Description + +The value of refentry.manual.profile is +a string representing an XPath expression. It is evaluated at +run-time and used only if +refentry.manual.profile.enabled is +non-zero. Otherwise, the refentry metadata-gathering logic +"hard coded" into the stylesheets is used. + +In man pages, this content is usually displayed in the middle of +the header of the page. The man(7) man page +describes this as "the title of the manual (e.g., Linux +Programmer's Manual)". Here are some examples from +existing man pages: + + + dpkg utilities + (dpkg-name) + + + User Contributed Perl Documentation + (GET) + + + GNU Development Tools + (ld) + + + Emperor Norton Utilities + (ddate) + + + Debian GNU/Linux manual + (faked) + + + GIMP Manual Pages + (gimp) + + + KDOC Documentation System + (qt2kdoc) + + + + + + + + + +refentry.manual.profile.enabled +boolean + + +refentry.manual.profile.enabled +Enable refentry "manual" profiling? + + + + +<xsl:param name="refentry.manual.profile.enabled">0</xsl:param> + + +Description + +If the value of +refentry.manual.profile.enabled is +non-zero, then during refentry metadata gathering, the info +profile specified by the customizable +refentry.manual.profile parameter is +used. + +If instead the value of +refentry.manual.profile.enabled is zero (the +default), then "hard coded" logic within the DocBook XSL stylesheets +is used for gathering refentry "manual" data. + +If you find that the default refentry +metadata-gathering behavior is causing incorrect "manual" data to show +up in your output, then consider setting a non-zero value for +refentry.manual.profile.enabled and adjusting +the value of refentry.manual.profile to cause +correct data to be gathered. + +Note that the term "manual" has a special meanings in this +context. For details, see the documentation for the +refentry.manual.profile parameter. + + + + + + +refentry.source.name.suppress +boolean + + +refentry.source.name.suppress +Suppress "name" part of refentry "source" contents? + + + + +<xsl:param name="refentry.source.name.suppress">0</xsl:param> + + +Description + +If the value of +refentry.source.name.suppress is non-zero, then +during refentry metadata gathering, no "source name" data +is added to the refentry "source" contents. Instead (unless +refentry.version.suppress is also non-zero), +only "version" data is added to the "source" contents. + +If you find that the refentry metadata gathering +mechanism is causing unwanted "source name" data to show up in your +output -- for example, in the footer (or possibly header) of a man +page -- then you might consider setting a non-zero value for +refentry.source.name.suppress. + +Note that the terms "source", "source name", and "version" have +special meanings in this context. For details, see the documentation +for the refentry.source.name.profile +parameter. + + + + + + +refentry.source.name.profile +string + + +refentry.source.name.profile +Specifies profile for refentry "source name" data + + + + +<xsl:param name="refentry.source.name.profile"> + (($info[//productname])[last()]/productname)[1]| + (($info[//corpname])[last()]/corpname)[1]| + (($info[//corpcredit])[last()]/corpcredit)[1]| + (($info[//corpauthor])[last()]/corpauthor)[1]| + (($info[//orgname])[last()]/orgname)[1]| + (($info[//publishername])[last()]/publishername)[1] +</xsl:param> + + + +Description + +The value of refentry.source.name.profile +is a string representing an XPath expression. It is evaluated at +run-time and used only if +refentry.source.name.profile.enabled is +non-zero. Otherwise, the refentry metadata-gathering logic +"hard coded" into the stylesheets is used. + +A "source name" is one part of a (potentially) two-part +Name Version +"source" field. In man pages, it is usually displayed in the left +footer of the page. It typically indicates the software system or +product that the item documented in the man page belongs to. The +man(7) man page describes it as "the source of +the command", and provides the following examples: + + + For binaries, use something like: GNU, NET-2, SLS + Distribution, MCC Distribution. + + + For system calls, use the version of the kernel that you + are currently looking at: Linux 0.99.11. + + + For library calls, use the source of the function: GNU, BSD + 4.3, Linux DLL 4.4.1. + + + + +In practice, there are many pages that simply have a Version +number in the "source" field. So, it looks like what we have is a +two-part field, +Name Version, +where: + + + Name + + product name (e.g., BSD) or org. name (e.g., GNU) + + + + Version + + version number + + + +Each part is optional. If the Name is a +product name, then the Version is probably +the version of the product. Or there may be no +Name, in which case, if there is a +Version, it is probably the version +of the item itself, not the product it is part of. Or, if the +Name is an organization name, then there +probably will be no Version. + + + + + +refentry.source.name.profile.enabled +boolean + + +refentry.source.name.profile.enabled +Enable refentry "source name" profiling? + + + + +<xsl:param name="refentry.source.name.profile.enabled">0</xsl:param> + + +Description + +If the value of +refentry.source.name.profile.enabled is +non-zero, then during refentry metadata gathering, the info +profile specified by the customizable +refentry.source.name.profile parameter is +used. + +If instead the value of +refentry.source.name.profile.enabled is zero (the +default), then "hard coded" logic within the DocBook XSL stylesheets +is used for gathering refentry "source name" data. + +If you find that the default refentry +metadata-gathering behavior is causing incorrect "source name" data to +show up in your output, then consider setting a non-zero value for +refentry.source.name.profile.enabled and +adjusting the value of +refentry.source.name.profile to cause correct +data to be gathered. + +Note that the terms "source" and "source name" have special +meanings in this context. For details, see the documentation for the +refentry.source.name.profile parameter. + + + + + + +refentry.version.suppress +boolean + + +refentry.version.suppress +Suppress "version" part of refentry "source" contents? + + + + +<xsl:param name="refentry.version.suppress">0</xsl:param> + + +Description + +If the value of refentry.version.suppress +is non-zero, then during refentry metadata gathering, no +"version" data is added to the refentry "source" +contents. Instead (unless +refentry.source.name.suppress is also +non-zero), only "source name" data is added to the "source" +contents. + +If you find that the refentry metadata gathering +mechanism is causing unwanted "version" data to show up in your output +-- for example, in the footer (or possibly header) of a man page -- +then you might consider setting a non-zero value for +refentry.version.suppress. + +Note that the terms "source", "source name", and "version" have +special meanings in this context. For details, see the documentation +for the refentry.source.name.profile +parameter. + + + + + + +refentry.version.profile +string + + +refentry.version.profile +Specifies profile for refentry "version" data + + + + +<xsl:param name="refentry.version.profile"> + (($info[//productnumber])[last()]/productnumber)[1]| + (($info[//edition])[last()]/edition)[1]| + (($info[//releaseinfo])[last()]/releaseinfo)[1] +</xsl:param> + + + +Description + +The value of refentry.version.profile is +a string representing an XPath expression. It is evaluated at +run-time and used only if +refentry.version.profile.enabled is +non-zero. Otherwise, the refentry metadata-gathering logic +"hard coded" into the stylesheets is used. + +A "source.name" is one part of a (potentially) two-part +Name Version +"source" field. For more details, see the documentation for the +refentry.source.name.profile parameter. + + + + + + +refentry.version.profile.enabled +boolean + + +refentry.version.profile.enabled +Enable refentry "version" profiling? + + + + +<xsl:param name="refentry.version.profile.enabled">0</xsl:param> + + +Description + +If the value of +refentry.version.profile.enabled is +non-zero, then during refentry metadata gathering, the info +profile specified by the customizable +refentry.version.profile parameter is +used. + +If instead the value of +refentry.version.profile.enabled is zero (the +default), then "hard coded" logic within the DocBook XSL stylesheets +is used for gathering refentry "version" data. + +If you find that the default refentry +metadata-gathering behavior is causing incorrect "version" data to show +up in your output, then consider setting a non-zero value for +refentry.version.profile.enabled and adjusting +the value of refentry.version.profile to cause +correct data to be gathered. + +Note that the terms "source" and "version" have special +meanings in this context. For details, see the documentation for the +refentry.version.profile parameter. + + + + + + +refentry.manual.fallback.profile +string + + +refentry.manual.fallback.profile +Specifies profile of "fallback" for refentry "manual" data + + + + +<xsl:param name="refentry.manual.fallback.profile"> +refmeta/refmiscinfo[not(@class = 'date')][1]/node()</xsl:param> + + + +Description + +The value of +refentry.manual.fallback.profile is a string +representing an XPath expression. It is evaluated at run-time and +used only if no "manual" data can be found by other means (that is, +either using the refentry metadata-gathering logic "hard +coded" in the stylesheets, or the value of +refentry.manual.profile, if it is +enabled). + + +Depending on which XSLT engine you run, either the EXSLT +dyn:evaluate extension function (for xsltproc or +Xalan) or saxon:evaluate extension function (for +Saxon) are used to dynamically evaluate the value of +refentry.manual.fallback.profile at +run-time. If you don't use xsltproc, Saxon, Xalan -- or some other +XSLT engine that supports dyn:evaluate -- you +must manually disable fallback processing by setting an empty value +for the refentry.manual.fallback.profile +parameter. + + + + + + + +refentry.source.fallback.profile +string + + +refentry.source.fallback.profile +Specifies profile of "fallback" for refentry "source" data + + + + +<xsl:param name="refentry.source.fallback.profile"> +refmeta/refmiscinfo[not(@class = 'date')][1]/node()</xsl:param> + + + +Description + +The value of +refentry.source.fallback.profile is a string +representing an XPath expression. It is evaluated at run-time and used +only if no "source" data can be found by other means (that is, either +using the refentry metadata-gathering logic "hard coded" in +the stylesheets, or the value of the +refentry.source.name.profile and +refentry.version.profile parameters, if those +are enabled). + + +Depending on which XSLT engine you run, either the EXSLT +dyn:evaluate extension function (for xsltproc or +Xalan) or saxon:evaluate extension function (for +Saxon) are used to dynamically evaluate the value of +refentry.source.fallback.profile at +run-time. If you don't use xsltproc, Saxon, Xalan -- or some other +XSLT engine that supports dyn:evaluate -- you +must manually disable fallback processing by setting an empty value +for the refentry.source.fallback.profile +parameter. + + + + + + + Page header/footer + + +man.th.extra1.suppress +boolean + + +man.th.extra1.suppress +Suppress extra1 part of header/footer? + + + + +<xsl:param name="man.th.extra1.suppress">0</xsl:param> + + +Description + +If the value of man.th.extra1.suppress is +non-zero, then the extra1 part of the +.TH title line header/footer is suppressed. + +The content of the extra1 field is almost +always displayed in the center footer of the page and is, universally, +a date. + + + + + + +man.th.extra2.suppress +boolean + + +man.th.extra2.suppress +Suppress extra2 part of header/footer? + + + + +<xsl:param name="man.th.extra2.suppress">0</xsl:param> + + +Description + +If the value of man.th.extra2.suppress is +non-zero, then the extra2 part of the +.TH title line header/footer is suppressed. + +The content of the extra2 field is usually +displayed in the left footer of the page and is typically "source" +data, often in the form +Name Version; +for example, "GTK+ 1.2" (from the gtk-options(7) +man page). + + + You can use the + refentry.source.name.suppress and + refentry.version.suppress parameters to + independently suppress the Name and + Version parts of the + extra2 field. + + + + + + + +man.th.extra3.suppress +boolean + + +man.th.extra3.suppress +Suppress extra3 part of header/footer? + + + + +<xsl:param name="man.th.extra3.suppress">0</xsl:param> + + +Description + +If the value of man.th.extra3.suppress is +non-zero, then the extra3 part of the +.TH title line header/footer is +suppressed. + +The content of the extra3 field is usually +displayed in the middle header of the page and is typically a "manual +name"; for example, "GTK+ User's Manual" (from the +gtk-options(7) man page). + + + + + + +man.th.title.max.length +integer + + +man.th.title.max.length +Maximum length of title in header/footer + + + + +<xsl:param name="man.th.title.max.length">20</xsl:param> + + + +Description + +Specifies the maximum permitted length of the title part of the +man-page .TH title line header/footer. If the title +exceeds the maxiumum specified, it is truncated down to the maximum +permitted length. + +Details + + +Every man page generated using the DocBook stylesheets has a +title line, specified using the TH roff +macro. Within that title line, there is always, at a minimum, a title, +followed by a section value (representing a man "section" -- usually +just a number). + +The title and section are displayed, together, in the visible +header of each page. Where in the header they are displayed depends on +OS the man page is viewed on, and on what version of nroff/groff/man +is used for viewing the page. But, at a minimum and across all +systems, the title and section are displayed on the right-hand column +of the header. On many systems -- those with a modern groff, including +Linux systems -- they are displayed twice: both in the left and right +columns of the header. + +So if the length of the title exceeds a certain percentage of +the column width in which the page is viewed, the left and right +titles can end up overlapping, making them unreadable, or breaking to +another line, which doesn't look particularly good. + +So the stylesheets provide the +man.th.title.max.length parameter as a means +for truncating titles that exceed the maximum length that can be +viewing properly in a page header. + +The default value is reasonable but somewhat arbitrary. If you +have pages with long titles, you may want to experiment with changing +the value in order to achieve the correct aesthetic results. + + + + + + + +man.th.extra2.max.length +integer + + +man.th.extra2.max.length +Maximum length of extra2 in header/footer + + + + +<xsl:param name="man.th.extra2.max.length">30</xsl:param> + + + +Description + +Specifies the maximum permitted length of the +extra2 part of the man-page part of the +.TH title line header/footer. If the +extra2 content exceeds the maxiumum specified, it +is truncated down to the maximum permitted length. + +The content of the extra2 field is usually +displayed in the left footer of the page and is typically "source" +data indicating the software system or product that the item +documented in the man page belongs to, often in the form +Name Version; +for example, "GTK+ 1.2" (from the gtk-options(7) +man page). + +The default value for this parameter is reasonable but somewhat +arbitrary. If you are processing pages with long "source" information, +you may want to experiment with changing the value in order to achieve +the correct aesthetic results. + + + + + +man.th.extra3.max.length +integer + + +man.th.extra3.max.length +Maximum length of extra3 in header/footer + + + + +<xsl:param name="man.th.extra3.max.length">30</xsl:param> + + + +Description + +Specifies the maximum permitted length of the +extra3 part of the man-page .TH +title line header/footer. If the extra3 content +exceeds the maxiumum specified, it is truncated down to the maximum +permitted length. + +The content of the extra3 field is usually +displayed in the middle header of the page and is typically a "manual +name"; for example, "GTK+ User's Manual" (from the +gtk-options(7) man page). + +The default value for this parameter is reasonable but somewhat +arbitrary. If you are processing pages with long "manual names" -- or +especially if you are processing pages that have both long "title" +parts (command/function, etc. names) and long +manual names -- you may want to experiment with changing the value in +order to achieve the correct aesthetic results. + + + + + Output + + + man.output.manifest.enabled + boolean + + + man.output.manifest.enabled + Generate a manifest file? + + + + <xsl:param name="man.output.manifest.enabled" select="0"></xsl:param> + + + Description + + If non-zero, a list of filenames for man pages generated by + the stylesheet transformation is written to the file named by the + man.output.manifest.filename parameter. + + + + + + + man.output.manifest.filename + string + + + man.output.manifest.filename + Name of manifest file + + + + <xsl:param name="man.output.manifest.filename">MAN.MANIFEST</xsl:param> + + + Description + + The man.output.manifest.filename parameter + specifies the name of the file to which the manpages manifest file + is written (if the value of the + man.output.manifest.enabled parameter is + non-zero). + + + + + + +man.output.in.separate.dir +boolean + + +man.output.in.separate.dir +Output man-page files in separate output directory? + + + + +<xsl:param name="man.output.in.separate.dir" select="0"></xsl:param> + + + +Description + +If the value of man.output.in.separate.dir +parameter is non-zero, man-page files are output in a separate +directory, specified by the man.output.base.dir +parameter; otherwise, if the value of +man.output.in.separate.dir is zero, man-page files +are not output in a separate directory. + + + + + + +man.output.lang.in.name.enabled +boolean + + +man.output.lang.in.name.enabled +Include $LANG value in man-page filename/pathname? + + + + +<xsl:param name="man.output.lang.in.name.enabled" select="0"></xsl:param> + + + +Description + + The man.output.lang.in.name.enabled + parameter specifies whether a $lang value is + included in man-page filenames and pathnames. + + If the value of + man.output.lang.in.name.enabled is non-zero, + man-page files are output with the $lang value + included in their filenames or pathnames as follows; + + + + if man.output.subdirs.enabled is + non-zero, each file is output to, e.g., a + man/$lang/man8/foo.8 + pathname + + + if man.output.subdirs.enabled is + zero, each file is output with a + foo.$lang.8 + filename + + + + + + + + + +man.output.base.dir +uri + + +man.output.base.dir +Specifies separate output directory + + + +<xsl:param name="man.output.base.dir">man/</xsl:param> + + +Description + +The man.output.base.dir parameter +specifies the base directory into which man-page files are output. The +man.output.subdirs.enabled parameter controls +whether the files are output in subdirectories within the base +directory. + + + The values of the man.output.base.dir + and man.output.subdirs.enabled parameters are + used only if the value of + man.output.in.separate.dir parameter is + non-zero. If the value of the + man.output.in.separate.dir is zero, man-page + files are not output in a separate directory. + + + + + + + +man.output.subdirs.enabled +boolean + + +man.output.subdirs.enabled +Output man-page files in subdirectories within base output directory? + + + + +<xsl:param name="man.output.subdirs.enabled" select="1"></xsl:param> + + + +Description + +The man.output.subdirs.enabled parameter +controls whether man-pages files are output in subdirectories within +the base directory specified by the directory specified by the +man.output.base.dir parameter. + + + The values of the man.output.base.dir + and man.output.subdirs.enabled parameters are + used only if the value of + man.output.in.separate.dir parameter is + non-zero. If the value of the + man.output.in.separate.dir is zero, man-page + files are not output in a separate directory. + + + + + + + +man.output.quietly +boolean + + +man.output.quietly +Suppress filename messages emitted when generating output? + + + + +<xsl:param name="man.output.quietly" select="0"></xsl:param> + + + +Description + +If zero (the default), for each man-page file created, a message +with the name of the file is emitted. If non-zero, the files are +output "quietly" -- that is, the filename messages are +suppressed. + + + If you are processing a large amount of refentry + content, you may be able to speed up processing significantly by + setting a non-zero value for + man.output.quietly. + + + + + + + +man.output.encoding +string + + +man.output.encoding +Encoding used for man-page output + + + + +<xsl:param name="man.output.encoding">UTF-8</xsl:param> + + + +Description + +This parameter specifies the encoding to use for files generated +by the manpages stylesheet. Not all processors support specification +of this parameter. + + + If the value of the man.charmap.enabled + parameter is non-zero (the default), keeping the + man.output.encoding parameter at its default + value (UTF-8) or setting it to + UTF-16 does not cause your + man pages to be output in raw UTF-8 or UTF-16 -- because + any Unicode characters for which matches are found in the enabled + character map will be replaced with roff escape sequences before the + final man-page files are generated. + + So if you want to generate "real" UTF-8 man pages, without any + character substitution being performed on your content, you need to + set man.charmap.enabled to zero (which will + completely disable character-map processing). + + You may also need to set + man.charmap.enabled to zero if you want to + output man pages in an encoding other than UTF-8 + or UTF-16. Character-map processing is based on + Unicode character values and may not work with other output + encodings. + + + + + + + +man.output.better.ps.enabled +boolean + + +man.output.better.ps.enabled +Enable enhanced print/PostScript output? + + + +<xsl:param name="man.output.better.ps.enabled">0</xsl:param> + + +Description + +If the value of the +man.output.better.ps.enabled parameter is +non-zero, certain markup is embedded in each generated man page +such that PostScript output from the man -Tps +command for that page will include a number of enhancements +designed to improve the quality of that output. + +If man.output.better.ps.enabled is +zero (the default), no such markup is embedded in generated man +pages, and no enhancements are included in the PostScript +output generated from those man pages by the man + -Tps command. + + + The enhancements provided by this parameter rely on + features that are specific to groff (GNU troff) and that are + not part of “classic” AT&T troff or any of its + derivatives. Therefore, any man pages you generate with this + parameter enabled will be readable only on systems on which + the groff (GNU troff) program is installed, such as GNU/Linux + systems. The pages will not not be + readable on systems on with the classic troff (AT&T + troff) command is installed. + + +The value of this parameter only affects PostScript output + generated from the man command. It has no + effect on output generated using the FO backend. + + + You can generate PostScript output for any man page by + running the following command: + man FOO -Tps > FOO.ps + You can then generate PDF output by running the following + command: + ps2pdf FOO.ps + + + + + + + Other + + +man.table.footnotes.divider +string + + +man.table.footnotes.divider +Specifies divider string that appears before table footnotes + + + + +<xsl:param name="man.table.footnotes.divider">----</xsl:param> + + + +Description + +In each table that contains footenotes, the string specified by +the man.table.footnotes.divider parameter is +output before the list of footnotes for the table. + + + + + + +man.subheading.divider.enabled +boolean + + +man.subheading.divider.enabled +Add divider comment to roff source before/after subheadings? + + + + +<xsl:param name="man.subheading.divider.enabled">0</xsl:param> + + + +Description + +If the value of the +man.subheading.divider.enabled parameter is +non-zero, the contents of the +man.subheading.divider parameter are used to +add a "divider" before and after subheadings in the roff +output. The divider is not visisble in the +rendered man page; it is added as a comment, in the source, +simply for the purpose of increasing reability of the source. + +If man.subheading.divider.enabled is zero +(the default), the subheading divider is suppressed. + + + + + + +man.subheading.divider +string + + +man.subheading.divider +Specifies string to use as divider comment before/after subheadings + + + + +<xsl:param name="man.subheading.divider">========================================================================</xsl:param> + + + +Description + +If the value of the +man.subheading.divider.enabled parameter is +non-zero, the contents of the +man.subheading.divider parameter are used to +add a "divider" before and after subheadings in the roff +output. The divider is not visisble in the +rendered man page; it is added as a comment, in the source, +simply for the purpose of increasing reability of the source. + +If man.subheading.divider.enabled is zero +(the default), the subheading divider is suppressed. + + + + + +
+ + + + Roundtrip Parameter Reference + + + This is reference documentation for all user-configurable + parameters in the DocBook “Roundtrip” Stylesheets (for + transforming DocBook to WordML, OpenDocument, and Apple Pages, + and for converting from those formats back to DocBook). + + + + + + +wordml.template +uri + + +wordml.template +Specify the template WordML document + + + + +<xsl:param name="wordml.template"></xsl:param> + + + +Description + +The wordml.template parameter specifies a WordML document to use as a template for the generated document. The template document is used to define the (extensive) headers for the generated document, in particular the paragraph and character styles that are used to format the various elements. Any content in the template document is ignored. + +A template document is used in order to allow maintenance of the paragraph and character styles to be done using Word itself, rather than these XSL stylesheets. + + + + + + +pages.template +uri + + +pages.template +Specify the template Pages document + + + + +<xsl:param name="pages.template"></xsl:param> + + + +Description + +The pages.template parameter specifies a Pages (the Apple word processing application) document to use as a template for the generated document. The template document is used to define the (extensive) headers for the generated document, in particular the paragraph and character styles that are used to format the various elements. Any content in the template document is ignored. + +A template document is used in order to allow maintenance of the paragraph and character styles to be done using Pages itself, rather than these XSL stylesheets. + + + + + + + Slides Parameter Reference + + + + This is reference documentation for all + user-configurable parameters in the DocBook XSL Slides + stylesheets (for generating HTML and PDF slide + presentations). + + The Slides stylesheet for HTML output is a + customization layer of the DocBook XSL HTML + stylesheet; the Slides stylesheet for FO output is a + customization layer of the DocBook XSL FO stylesheet. + Therefore, in addition to the slides-specific + parameters listed in this section, you can also use a + number of HTML stylesheet + parameters and FO + stylesheet parameters to control Slides + output. + + + +HTML: General Parameters + + +keyboard.nav +boolean + + +keyboard.nav +Enable keyboard navigation? + + + + +<xsl:param name="keyboard.nav" select="1"></xsl:param> + + + +Description + +If non-zero, JavaScript is added to the slides to enable keyboard +navigation. Pressing 'n', space, or return moves forward; pressing 'p' moves +backward. + + + + + + +css.stylesheet +uri + + +css.stylesheet +CSS stylesheet for slides + + + + +<xsl:param name="css.stylesheet">slides.css</xsl:param> + + + +Description + +Identifies the CSS stylesheet used by all the slides. This parameter +can be set in the source document with the <?dbhtml?> pseudo-attribute +css-stylesheet. + + + + + + +css.stylesheet.dir +uri + + +css.stylesheet.dir +Default directory for CSS stylesheets + + + + +<xsl:param name="css.stylesheet.dir"></xsl:param> + + + +Description + +Identifies the default directory for the CSS stylesheet +generated on all the slides. This parameter can be set in the source +document with the <?dbhtml?> pseudo-attribute +css-stylesheet-dir. + +If non-empty, this value is prepended to each of the stylesheets. + + + + + + + +titlefoil.html +filename + + +titlefoil.html +Name of title foil HTML file + + + + +<xsl:param name="titlefoil.html" select="concat('index', $html.ext)"></xsl:param> + + + +Description + +Sets the filename used for the slides titlepage. + + + + + + +toc.html +filename + + +toc.html +Name of ToC HTML file + + + + +<xsl:param name="toc.html" select="concat('toc', $html.ext)"></xsl:param> + + + +Description + +Sets the filename used for the table of contents page. + + + + + + +foilgroup.toc +boolean + + +foilgroup.toc +Put ToC on foilgroup pages? + + + + +<xsl:param name="foilgroup.toc" select="1"></xsl:param> + + + +Description + +If non-zero, a ToC will be placed on foilgroup pages (after any +other content). + + + + + + + +output.indent +list +no +yes + + +output.indent +Indent output? + + + + +<xsl:param name="output.indent">no</xsl:param> + + + +Description + +Specifies the setting of the indent +parameter on the HTML slides. For more information, see the discussion +of the xsl:output element in the XSLT specification. +Select from yes or no. + + + + + + +overlay +boolean + + +overlay +Overlay footer navigation? + + + + +<xsl:param name="overlay" select="0"></xsl:param> + + + +Description + +If non-zero, JavaScript is added to the slides to make the +bottom navigation appear at the bottom of each page. This option and +multiframe are mutually exclusive. + +If this parameter is zero, the bottom navigation simply appears +below the content of each slide. + + + + + + +show.foil.number +boolean + + +show.foil.number +Show foil number on each foil? + + + + +<xsl:param name="show.foil.number" select="0"></xsl:param> + + + +Description + +If non-zero, on each slide there will be its number. Currently +not supported in all output formats. + + + + + +HTML: Frames Parameters + + +nav.separator +boolean + + +nav.separator +Output separator between navigation and body? + + + + +<xsl:param name="nav.separator" select="1"></xsl:param> + + + +Description + +If non-zero, a separator (<HR>) is +added between the navigation links and the content of each slide. + + + + + + +toc.row.height +length + + +toc.row.height +Height of ToC rows in dynamic ToCs + + + + +<xsl:param name="toc.row.height">22</xsl:param> + + + +Description + +This parameter specifies the height of each row in the table of +contents. This is only applicable if a dynamic ToC is used. You may want to +adjust this parameter for optimal appearance with the font and image +sizes selected by your CSS +stylesheet. + + + + + + + +toc.bg.color +color + + +toc.bg.color +Background color for ToC frame + + + + +<xsl:param name="toc.bg.color">#FFFFFF</xsl:param> + + + +Description + +Specifies the background color used in the ToC frame. + + + + + + +body.bg.color +color + + +body.bg.color +Background color for body frame + + + + +<xsl:param name="body.bg.color">#FFFFFF</xsl:param> + + + +Description + +Specifies the background color used in the body column of +tabular slides. + + + + + + +toc.width +length + + +toc.width +Width of ToC frame + + + + +<xsl:param name="toc.width">250</xsl:param> +<!-- Presumably in pixels? --> + + + +Description + +Specifies the width of the ToC frame in pixels. + + + + + + +toc.hide.show +boolean + + +toc.hide.show +Enable hide/show button for ToC frame + + + + +<xsl:param name="toc.hide.show" select="0"></xsl:param> + + + +Description + +If non-zero, JavaScript (and an additional icon, see +hidetoc.image and +showtoc.image) is added to each slide +to allow the ToC panel to be toggled on each panel. + +There is a bug in Mozilla 1.0 (at least as of CR3) that causes +the browser to reload the titlepage when this feature is used. + + + + + + +dynamic.toc +boolean + + +dynamic.toc +Dynamic ToCs? + + + + +<xsl:param name="dynamic.toc" select="0"></xsl:param> + + + +Description + +If non-zero, JavaScript is used to make the ToC panel dynamic. +In a dynamic ToC, each section in the ToC can be expanded and collapsed by +clicking on the appropriate image. + + + + + + +active.toc +boolean + + +active.toc +Active ToCs? + + + + +<xsl:param name="active.toc" select="0"></xsl:param> + + + +Description + +If non-zero, JavaScript is used to keep the ToC and the current slide +in sync. That is, each time the slide changes, the corresponding +ToC entry will be underlined. + + + + + + + + +multiframe +boolean + + +multiframe +Use multiple frames for slide bodies? + + + + +<xsl:param name="multiframe" select="0"></xsl:param> + + + +Description + +If non-zero, multiple frames are used for the body of each +slide. This is one way of forcing the slide navigation elements to +appear in constant locations. The other way is with overlays. The overlay and +multiframe parameters are mutually +exclusive. + + + + + + +multiframe.top.bgcolor +color + + +multiframe.top.bgcolor +Background color for top navigation frame + + + + +<xsl:param name="multiframe.top.bgcolor">white</xsl:param> + + + +Description + +Specifies the background color of the top navigation frame when +multiframe is enabled. + + + + + + +multiframe.bottom.bgcolor +color + + +multiframe.bottom.bgcolor +Background color for bottom navigation frame + + + + +<xsl:param name="multiframe.bottom.bgcolor">white</xsl:param> + + + +Description + +Specifies the background color of the bottom navigation frame when +multiframe is enabled. + + + + + + +multiframe.navigation.height +length + + +multiframe.navigation.height +Height of navigation frames + + + + +<xsl:param name="multiframe.navigation.height">40</xsl:param> + + + +Description + +Specifies the height of the navigation frames in pixels when +multiframe is enabled. + + + + + +HTML: Graphics Parameters + + +graphics.dir +uri + + +graphics.dir +Graphics directory + + + + +<xsl:param name="graphics.dir"></xsl:param> + + + +Description + +Identifies the graphics directory for the navigation components +generated on all the slides. This parameter can be set in the source +document with the <?dbhtml?> pseudo-attribute +graphics-dir. + +If non-empty, this value is prepended to each of the graphic +image paths. + + + + + + +bullet.image +filename + + +bullet.image +Bullet image + + + + +<xsl:param name="bullet.image">toc/bullet.png</xsl:param> + + + +Description + +Specifies the filename of the bullet image used for foils in the +framed ToC. + + + + + + +next.image +filename + + +next.image +Right-arrow image + + + + +<xsl:param name="next.image">active/nav-next.png</xsl:param> + + + +Description + +Specifies the filename of the right-pointing navigation arrow. + + + + + + +prev.image +filename + + +prev.image +Left-arrow image + + + + +<xsl:param name="prev.image">active/nav-prev.png</xsl:param> + + + +Description + +Specifies the filename of the left-pointing navigation arrow. + + + + + + +up.image +filename + + +up.image +Up-arrow image + + + + +<xsl:param name="up.image">active/nav-up.png</xsl:param> + + + +Description + +Specifies the filename of the upward-pointing navigation arrow. + + + + + + +home.image +filename + + +home.image +Home image + + + + +<xsl:param name="home.image">active/nav-home.png</xsl:param> + + + +Description + +Specifies the filename of the home navigation icon. + + + + + + +toc.image +filename + + +toc.image +ToC image + + + + +<xsl:param name="toc.image">active/nav-toc.png</xsl:param> + + + +Description + +Specifies the filename of the ToC navigation icon. + + + + + + + +no.next.image +filename + + +no.next.image +Inactive right-arrow image + + + + +<xsl:param name="no.next.image">inactive/nav-next.png</xsl:param> + + + +Description + +Specifies the filename of the inactive right-pointing navigation arrow. + + + + + + +no.prev.image +filename + + +no.prev.image +Inactive left-arrow image + + + + +<xsl:param name="no.prev.image">inactive/nav-prev.png</xsl:param> + + + +Description + +Specifies the filename of the inactive left-pointing navigation arrow. + + + + + + +no.up.image +filename + + +no.up.image +Inactive up-arrow image + + + + +<xsl:param name="no.up.image">inactive/nav-up.png</xsl:param> + + + +Description + +Specifies the filename of the inactive upward-pointing navigation arrow. + + + + + + +no.home.image +filename + + +no.home.image +Inactive home image + + + + +<xsl:param name="no.home.image">inactive/nav-home.png</xsl:param> + + + +Description + +Specifies the filename of the inactive home navigation icon. + + + + + + +no.toc.image +filename + + +no.toc.image +Inactive ToC image + + + + +<xsl:param name="no.toc.image">inactive/nav-toc.png</xsl:param> + + + +Description + +Specifies the filename of the inactive ToC navigation icon. + + + + + + + +plus.image +filename + + +plus.image +Plus image + + + + +<xsl:param name="plus.image">toc/closed.png</xsl:param> + + + +Description + +Specifies the filename of the plus image; the image used in a +dynamic ToC to indicate that a section +can be expanded. + + + + + + +minus.image +filename + + +minus.image +Minus image + + + + +<xsl:param name="minus.image">toc/open.png</xsl:param> + + + +Description + +Specifies the filename of the minus image; the image used in a +dynamic ToC to indicate that a section +can be collapsed. + + + + + + +hidetoc.image +filename + + +hidetoc.image +Hide ToC image + + + + +<xsl:param name="hidetoc.image">hidetoc.gif</xsl:param> + + + +Description + +Specifies the filename of the hide ToC image. This is used +when the ToC hide/show parameter is +enabled. + + + + + + +showtoc.image +filename + + +showtoc.image +Show ToC image + + + + +<xsl:param name="showtoc.image">showtoc.gif</xsl:param> + + + +Description + +Specifies the filename of the show ToC image. This is used +when the ToC hide/show parameter is +enabled. + + + + + +HTML: JavaScript Parameters + + +script.dir +uri + + +script.dir +Script directory + + + + +<xsl:param name="script.dir"></xsl:param> + + + +Description + +Identifies the JavaScript source directory for the slides. +This parameter can be set in the source +document with the <?dbhtml?> pseudo-attribute +script-dir. + +If non-empty, this value is prepended to each of the JavaScript files. + + + + + + + +ua.js +filename + + +ua.js +UA JavaScript file + + + + +<xsl:param name="ua.js">ua.js</xsl:param> + + + +Description + +Specifies the filename of the UA JavaScript file. It's unlikely +that you will ever need to change this parameter. + + + + + + +xbDOM.js +filename + + +xbDOM.js +xbDOM JavaScript file + + + + +<xsl:param name="xbDOM.js">xbDOM.js</xsl:param> + + + +Description + +Specifies the filename of the xbDOM JavaScript file. It's unlikely +that you will ever need to change this parameter. + + + + + + +xbStyle.js +filename + + +xbStyle.js +xbStyle JavaScript file + + + + +<xsl:param name="xbStyle.js">xbStyle.js</xsl:param> + + + +Description + +Specifies the filename of the xbStyle JavaScript file. It's unlikely +that you will ever need to change this parameter. + + + + + + +xbLibrary.js +filename + + +xbLibrary.js +xbLibrary JavaScript file + + + + +<xsl:param name="xbLibrary.js">xbLibrary.js</xsl:param> + + + +Description + +Specifies the filename of the xbLibrary JavaScript file. It's unlikely +that you will ever need to change this parameter. + + + + + + +xbCollapsibleLists.js +filename + + +xbCollapsibleLists.js +xbCollapsibleLists JavaScript file + + + + +<xsl:param name="xbCollapsibleLists.js">xbCollapsibleLists.js</xsl:param> + + + +Description + +Specifies the filename of the xbCollapsibleLists JavaScript file. It's unlikely +that you will ever need to change this parameter. + + + + + + +overlay.js +filename + + +overlay.js +Overlay JavaScript file + + + + +<xsl:param name="overlay.js">overlay.js</xsl:param> + + + +Description + +Specifies the filename of the overlay JavaScript file. It's unlikely +that you will ever need to change this parameter. + + + + + + +slides.js +filename + + +slides.js +Slides overlay file + + + + +<xsl:param name="slides.js">slides.js</xsl:param> + + + +Description + +Specifies the filename of the slides JavaScript file. It's unlikely +that you will ever need to change this parameter. + + + + + +HTML: Localization Parameters + + +text.home +string + + +text.home +Home + + + + +<xsl:param name="text.home">Home</xsl:param> + + + +Description + +FIXME: + + + + + + +text.toc +string + + +text.toc +FIXME: + + + + +<xsl:param name="text.toc">ToC</xsl:param> + + + +Description + +FIXME: + + + + + + +text.prev +string + + +text.prev +FIXME: + + + + +<xsl:param name="text.prev">Prev</xsl:param> + + + +Description + +FIXME: + + + + + + +text.up +string + + +text.up +FIXME: + + + + +<xsl:param name="text.up">Up</xsl:param> + + + +Description + +FIXME: + + + + + + +text.next +string + + +text.next +FIXME: + + + + +<xsl:param name="text.next">Next</xsl:param> + + + +Description + +FIXME: + + + + + + + + + FO: General Params + + +slide.title.font.family +list +open +serif +sans-serif +monospace + + +slide.title.font.family +Specifies font family to use for slide titles + + + + +<xsl:param name="slide.title.font.family">Helvetica</xsl:param> + + + +Description + +Specifies the font family to use for slides titles. + + + + + + +slide.font.family +list +open +serif +sans-serif +monospace + + +slide.font.family +Specifies font family to use for slide bodies + + + + +<xsl:param name="slide.font.family">Helvetica</xsl:param> + + + +Description + +Specifies the font family to use for slides bodies. + + + + + + +foil.title.master +number + + +foil.title.master +Specifies unitless font size to use for foil titles + + + + +<xsl:param name="foil.title.master">36</xsl:param> +<!-- Inconsistant use of point size? --> + + + +Description + +Specifies a unitless font size to use for foil titles; used in +combination with the foil.title.size +parameter. + + + + + +foil.title.size +length + + +foil.title.size +Specifies font size to use for foil titles, including units + + + + + <xsl:param name="foil.title.size"> + <xsl:value-of select="$foil.title.master"></xsl:value-of><xsl:text>pt</xsl:text> + </xsl:param> + + + +Description + +This parameter combines the value of the +foil.title.master parameter with a unit +specification. The default unit is pt +(points). + + + + + + FO: Property Sets + + +slides.properties +attribute set + + +slides.properties +Specifies properties for all slides + + + + + <xsl:attribute-set name="slides.properties"> + <xsl:attribute name="font-family"> + <xsl:value-of select="$slide.font.family"></xsl:value-of> + </xsl:attribute> + </xsl:attribute-set> + + + +Description + +This parameter specifies properties that are applied to all slides. + + + + + + +foilgroup.properties +attribute set + + +foilgroup.properties +Specifies properties for all foilgroups + + + + + <xsl:attribute-set name="foilgroup.properties"> + <xsl:attribute name="font-family"> + <xsl:value-of select="$slide.font.family"></xsl:value-of> + </xsl:attribute> + </xsl:attribute-set> + + + +Description + +This parameter specifies properties that are applied to all foilgroups. + + + + + + +foil.subtitle.properties +attribute set + + +foil.subtitle.properties +Specifies properties for all foil subtitles + + + + + <xsl:attribute-set name="foil.subtitle.properties"> + <xsl:attribute name="font-family"> + <xsl:value-of select="$slide.title.font.family"></xsl:value-of> + </xsl:attribute> + <xsl:attribute name="text-align">center</xsl:attribute> + <xsl:attribute name="font-size"> + <xsl:value-of select="$foil.title.master * 0.8"></xsl:value-of><xsl:text>pt</xsl:text> + </xsl:attribute> + <xsl:attribute name="space-after">12pt</xsl:attribute> + </xsl:attribute-set> + + + +Description + +This parameter specifies properties that are applied to all foil subtitles. + + + + + + +foil.properties +attribute set + + +foil.properties +Specifies properties for all foils + + + + + <xsl:attribute-set name="foil.properties"> + <xsl:attribute name="font-family"> + <xsl:value-of select="$slide.font.family"></xsl:value-of> + </xsl:attribute> + <xsl:attribute name="margin-{$direction.align.start}">1in</xsl:attribute> + <xsl:attribute name="margin-{$direction.align.end}">1in</xsl:attribute> + <xsl:attribute name="font-size"> + <xsl:value-of select="$body.font.size"></xsl:value-of> + </xsl:attribute> + <xsl:attribute name="font-weight">bold</xsl:attribute> + </xsl:attribute-set> + + + +Description + +This parameter specifies properties that are applied to all foils. + + + + + + +speakernote.properties +attribute set + + +speakernote.properties +Specifies properties for all speakernotes + + + + + <xsl:attribute-set name="speakernote.properties"> + <xsl:attribute name="font-family">Times Roman</xsl:attribute> + <xsl:attribute name="font-style">italic</xsl:attribute> + <xsl:attribute name="font-size">12pt</xsl:attribute> + <xsl:attribute name="font-weight">normal</xsl:attribute> + </xsl:attribute-set> + + + +Description + +This parameter specifies properties that are applied to all speakernotes. + + + + + + +running.foot.properties +attribute set + + +running.foot.properties +Specifies properties for running foot on each slide + + + + + <xsl:attribute-set name="running.foot.properties"> + <xsl:attribute name="font-family"> + <xsl:value-of select="$slide.font.family"></xsl:value-of> + </xsl:attribute> + <xsl:attribute name="font-size">14pt</xsl:attribute> + <xsl:attribute name="color">#9F9F9F</xsl:attribute> + </xsl:attribute-set> + + + +Description + +This parameter specifies properties that are applied to the +running foot area of each slide. + + + + + + + + + + Website Parameter Reference + + + This is reference documentation for all user-configurable + parameters in the DocBook XSL Website stylesheet (for + generating websites from DocBook XML sources). Note that the + Website stylesheet is a customization layer of the DocBook XSL + HTML stylesheet. Therefore, in addition to the + Website-specific parameters listed in this section, you can + also use a number of HTML + stylesheet parameters to control Website output. + + + +General Parameters + + +autolayout-file +filename + + +autolayout-file +Identifies the autolayout.xml file + + + + +<xsl:param name="autolayout-file">autolayout.xml</xsl:param> + + + +Description +When the source pages are spread over several directories, this +parameter can be set (for example, from the command line of a batch-mode +XSLT processor) to indicate the location of the autolayout.xml file. +FIXME: for browser-based use, there needs to be a PI for this... + + + + + + +body.attributes +attribute set + + +body.attributes +DEPRECATED + + + + +<xsl:attribute-set name="body.attributes"> + <xsl:attribute name="bgcolor">white</xsl:attribute> + <xsl:attribute name="text">black</xsl:attribute> + <xsl:attribute name="link">#0000FF</xsl:attribute> + <xsl:attribute name="vlink">#840084</xsl:attribute> + <xsl:attribute name="alink">#0000FF</xsl:attribute> +</xsl:attribute-set> + + + +Description +DEPRECATED + + + + + +currentpage.marker +string + + +currentpage.marker +The text symbol used to mark the current page + + + + +<xsl:param name="currentpage.marker">@</xsl:param> + + + +Description +Character to use as identifying the current page in + + + + + +dry-run +boolean + + +dry-run +Indicates that no files should be produced + + + + <xsl:param name="dry-run" select="0"></xsl:param> + + +Description +When using the XSLT processor to manage dependencies and construct +the website, this parameter can be used to suppress the generation of +new and updated files. Effectively, this allows you to see what the +stylesheet would do, without actually making any changes. +Only applies when XSLT-based chunking is being used. + + + + + +feedback.href +uri + + +feedback.href +HREF (URI) for feedback link + + + + +<xsl:param name="feedback.href"></xsl:param> + + + +Description +The feedback.href value is used as the value +for the href attribute on the feedback +link. If feedback.href +is empty, no feedback link is generated. + + + + + +feedback.link.text +string + + +feedback.link.text +The text of the feedback link + + + + +<xsl:param name="feedback.link.text">Feedback</xsl:param> + + + +Description +The contents of this variable is used as the text of the feedback +link if feedback.href is not empty. If +feedback.href is empty, no feedback link is +generated. + + + + + +feedback.with.ids +boolean + + +feedback.with.ids +Toggle use of IDs in feedback + + + + +<xsl:param name="feedback.with.ids" select="0"></xsl:param> + + + +Description +If feedback.with.ids is non-zero, the ID of the +current page will be added to the feedback link. This can be used, for +example, if the feedback.href is a CGI script. + + + + + +filename-prefix +string + + +filename-prefix +Prefix added to all filenames + + + + +<xsl:param name="filename-prefix"></xsl:param> + + + +Description +To produce the text-only (that is, non-tabular) layout +of a website simultaneously with the tabular layout, the filenames have to +be distinguished. That's accomplished by adding the +filename-prefix to the front of each filename. + + + + + +footer.hr +boolean + + +footer.hr +Toggle <HR> before footer + + + + +<xsl:param name="footer.hr" select="1"></xsl:param> + + + +Description +If non-zero, an <HR> is generated at the bottom of each web page, +before the footer. + + + + + +header.hr +boolean + + +header.hr +Toggle <HR> after header + + + + +<xsl:param name="header.hr" select="1"></xsl:param> + + + +Description +If non-zero, an <HR> is generated at the bottom of each web page, +before the footer. + + + + + +output-root +filename + + +output-root +Specifies the root directory of the website + + + + +<xsl:param name="output-root">.</xsl:param> + + + +Description +When using the XSLT processor to manage dependencies and construct +the website, this parameter can be used to indicate the root directory +where the resulting pages are placed. +Only applies when XSLT-based chunking is being used. + + + + + +rebuild-all +boolean + + +rebuild-all +Indicates that all files should be produced + + + + +<xsl:param name="rebuild-all" select="0"></xsl:param> + + + +Description +When using the XSLT processor to manage dependencies and construct +the website, this parameter can be used to regenerate the whole website, +updating even pages that don't appear to need to be updated. +The dependency extension only looks at the source documents. So +if you change something in the stylesheet, for example, that has a global +effect, you can use this parameter to force the stylesheet to rebuild the +whole website. + +Only applies when XSLT-based chunking is being used. + + + + + +sequential.links +boolean + + +sequential.links +Make sequentional links? + + + + +<xsl:param name="sequential.links" select="0"></xsl:param> + + + +Description +FIXME + + + + + +suppress.homepage.title +boolean + + +suppress.homepage.title +Suppress title on homepage? + + + + +<xsl:param name="suppress.homepage.title" select="1"></xsl:param> + + + +Description +FIXME:If non-zero, the title on the homepage is suppressed? + + + + + +table.spacer.image +filename + + +table.spacer.image +Invisible pixel for tabular accessibility + + + + +<xsl:param name="table.spacer.image">graphics/spacer.gif</xsl:param> + + + +Description +This is the 1x1 pixel, transparent pixel used for the table trick to increase the accessibility of the tabular +website presentation. + + + + +Navigation Parameters + + +banner.before.navigation +boolean + + +banner.before.navigation +Put banner before navigation? + + + + +<xsl:param name="banner.before.navigation" select="1"></xsl:param> + + + +Description +FIXME + + + + + +navbgcolor +color + + +navbgcolor +The background color of the navigation TOC + + + + +<xsl:param name="navbgcolor">#4080FF</xsl:param> + + + +Description +The background color of the navigation TOC. +Only applies with the tabular presentation is being used. + + + + + +navbodywidth +length + + +navbodywidth +Specifies the width of the navigation table body + + + + +<xsl:param name="navbodywidth"></xsl:param> + + + +Description +The width of the body column. +Only applies with the tabular presentation is being used. + + + + + +nav.table.summary +string + + +nav.table.summary +HTML Table summary attribute value for navigation tables + + + + +<xsl:param name="nav.table.summary">Navigation</xsl:param> + + + +Description +The value of this parameter is used as the value of the table +summary attribute for the navigation table. +Only applies with the tabular presentation is being used. + + + + + +navtocwidth +length + + +navtocwidth +Specifies the width of the navigation table TOC + + + + +<xsl:param name="navtocwidth">220</xsl:param> + + + +Description +The width, in pixels, of the navigation column. +Only applies with the tabular presentation is being used. + + + + + +textbgcolor +color + + +textbgcolor +The background color of the table body + + + + +<xsl:param name="textbgcolor">white</xsl:param> + + + +Description +The background color of the table body. +Only applies with the tabular presentation is being used. + + + + +ToC Parameters + + +toc.blank.graphic +boolean + + +toc.blank.graphic +Use graphic for "blanks" in TOC? + + + + +<xsl:param name="toc.blank.graphic" select="1"></xsl:param> + + + +Description +If non-zero, "blanks" in the the TOC will be accomplished +with the graphic identified by toc.spacer.image. + +Only applies with the tabular presentation is being used. + + + + + +toc.blank.image +filename + + +toc.blank.image +The image for "blanks" in the TOC + + + + +<xsl:param name="toc.blank.image">graphics/blank.gif</xsl:param> + + + +Description +If toc.blank.graphic is non-zero, this image +will be used to for "blanks" in the TOC. +Only applies with the tabular presentation is being used. + + + + + +toc.blank.text +string + + +toc.blank.text +The text for "blanks" in the TOC + + + + +<xsl:param name="toc.blank.text">   </xsl:param> + + + +Description +If toc.blank.graphic is zero, this text string +will be used for "blanks" in the TOC. +Only applies with the tabular presentation is being used. + + + + + +toc.pointer.graphic +boolean + + +toc.pointer.graphic +Use graphic for TOC pointer? + + + + +<xsl:param name="toc.pointer.graphic" select="1"></xsl:param> + + + +Description +If non-zero, the "pointer" in the TOC will be displayed +with the graphic identified by toc.pointer.image. + +Only applies with the tabular presentation is being used. + + + + + +toc.pointer.image +filename + + +toc.pointer.image +The image for the "pointer" in the TOC + + + + +<xsl:param name="toc.pointer.image">graphics/arrow.gif</xsl:param> + + + +Description +If toc.pointer.graphic is non-zero, this image +will be used for the "pointer" in the TOC. +Only applies with the tabular presentation is being used. + + + + + +toc.pointer.text +string + + +toc.pointer.text +The text for the "pointer" in the TOC + + + + +<xsl:param name="toc.pointer.text"> > </xsl:param> + + + +Description +If toc.pointer.graphic is zero, this text string +will be used to display the "pointer" in the TOC. +Only applies with the tabular presentation is being used. + + + + + +toc.spacer.graphic +boolean + + +toc.spacer.graphic +Use graphic for TOC spacer? + + + + +<xsl:param name="toc.spacer.graphic" select="1"></xsl:param> + + + +Description +If non-zero, the indentation in the TOC will be accomplished +with the graphic identified by toc.spacer.image. + +Only applies with the tabular presentation is being used. + + + + + +toc.spacer.image +filename + + +toc.spacer.image +The image for spacing the TOC + + + + +<xsl:param name="toc.spacer.image">graphics/blank.gif</xsl:param> + + + +Description +If toc.spacer.graphic is non-zero, this image +will be used to indent the TOC. +Only applies with the tabular presentation is being used. + + + + + +toc.spacer.text +string + + +toc.spacer.text +The text for spacing the TOC + + + + +<xsl:param name="toc.spacer.text">   </xsl:param> + + + +Description +If toc.spacer.graphic is zero, this text string +will be used to indent the TOC. +Only applies with the tabular presentation is being used. + + + + + +
+ DocBook XSL Stylesheets User Reference: PIs + + + + + This is generated reference documentation for all + user-specifiable processing instructions in the DocBook + XSL stylesheets. + + You add these PIs at particular points in a document to + cause specific “exceptions” to formatting/output behavior. To + make global changes in formatting/output behavior across an + entire document, it’s better to do it by setting an + appropriate stylesheet parameter (if there is one). + + + + + + HTML Processing Instruction Reference + + $Id: pi.xsl 8394 2009-04-02 20:31:30Z mzjn $ + + + + Introduction + +This is generated reference documentation for all + user-specifiable processing instructions (PIs) in the DocBook + XSL stylesheets for HTML output. + + +You add these PIs at particular points in a document to + cause specific “exceptions” to formatting/output behavior. To + make global changes in formatting/output behavior across an + entire document, it’s better to do it by setting an + appropriate stylesheet parameter (if there is one). + + + + + + + + +dbhtml_background-color +Sets background color for an image + + + + dbhtml background-color="color" + + +Description + +Use the dbhtml background-color PI before or + after an image (graphic, inlinegraphic, + imagedata, or videodata element) as a + sibling to the element, to set a background color for the + image. + + Parameters + + + background-color="color" + + +An HTML color value + + + + + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Background color + + + + + +dbhtml_bgcolor +Sets background color on a CALS table row or table cell + + + + dbhtml bgcolor="color" + + +Description + +Use the dbhtml bgcolor PI as child of a CALS table row + or cell to set a background color for that table row or cell. + + Parameters + + + bgcolor="color" + + +An HTML color value + + + + + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Cell background color + + + + + +dbhtml_cellpadding +Specifies cellpadding in CALS table or qandaset output + + + + dbhtml cellpadding="number" + + +Description + +Use the dbhtml cellpadding PI as a child of a + CALS table or qandaset to specify the value + for the HTML cellpadding attribute in the + output HTML table. + + Parameters + + + cellpadding="number" + + +Specifies the cellpadding + + + + + + Related Global Parameters + +html.cellpadding + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Cell spacing and cell padding, + Q and A formatting + + + + + +dbhtml_cellspacing +Specifies cellspacing in CALS table or qandaset output + + + + dbhtml cellspacing="number" + + +Description + +Use the dbhtml cellspacing PI as a child of a + CALS table or qandaset to specify the value + for the HTML cellspacing attribute in the + output HTML table. + + Parameters + + + cellspacing="number" + + +Specifies the cellspacing + + + + + + Related Global Parameters + +html.cellspacing + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Cell spacing and cell padding, + Q and A formatting + + + + + +dbhtml_class +Set value of the class attribute for a CALS table row + + + + dbhtml class="name" + + +Description + +Use the dbhtml class PI as a child of a + row to specify a class + attribute and value in the HTML output for that row. + + Parameters + + + class="name" + + +Specifies the class name + + + + + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Table styles in HTML output + + + + + +dbhtml_dir +Specifies a directory name in which to write files + + + + dbhtml dir="path" + + +Description + +When chunking output, use the dbhtml dir PI + as a child of a chunk source to cause the output of that + chunk to be written to the specified directory; also, use it + as a child of a mediaobject to specify a + directory into which any long-description files for that + mediaobject will be written. + + Parameters + + + dir="path" + + +Specifies the pathname for the directory + + + + + + Related Global Parameters + +base.dir + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +dbhtml dir processing instruction + + + + + +dbhtml_filename +Specifies a filename for a chunk + + + + dbhtml filename="filename" + + +Description + +When chunking output, use the dbhtml filename + PI as a child of a chunk source to specify a filename for + the output file for that chunk. + + Parameters + + + filename="path" + + +Specifies the filename for the file + + + + + + Related Global Parameters + +use.id.as.filename + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +dbhtml filenames + + + + + +dbhtml_funcsynopsis-style +Specifies presentation style for a funcsynopsis + + + + dbhtml funcsynopsis-style="kr"|"ansi" + + +Description + +Use the dbhtml funcsynopsis-style PI as a child of + a funcsynopsis or anywhere within a funcsynopsis + to control the presentation style for output of all + funcprototype instances within that funcsynopsis. + + Parameters + + + funcsynopsis-style="kr" + + +Displays funcprototype output in K&R style + + + + funcsynopsis-style="ansi" + + +Displays funcprototype output in ANSI style + + + + + + Related Global Parameters + +funcsynopsis.style + + + + + +dbhtml_img.src.path +Specifies a path to the location of an image file + + + + dbhtml img.src.path="path" + + +Description + +Use the dbhtml img.src.path PI before or + after an image (graphic, + inlinegraphic, imagedata, or + videodata element) as a sibling to the element, + to specify a path to the location of the image; in HTML + output, the value specified for the + img.src.path attribute is prepended to the + filename. + + Parameters + + + img.src.path="path" + + +Specifies the pathname to prepend to the name of the image file + + + + + + Related Global Parameters + +img.src.path + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Using fileref + + + + + +dbhtml_label-width +Specifies the label width for a qandaset + + + + dbhtml label-width="width" + + +Description + +Use the dbhtml label-width PI as a child of a + qandaset to specify the width of labels. + + Parameters + + + label-width="width" + + +Specifies the label width (including units) + + + + + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Q and A formatting + + + + + +dbhtml_linenumbering.everyNth +Specifies interval for line numbers in verbatims + + + + dbhtml linenumbering.everyNth="N" + + +Description + +Use the dbhtml linenumbering.everyNth PI as a child + of a “verbatim” element – programlisting, + screen, synopsis — to specify + the interval at which lines are numbered. + + Parameters + + + linenumbering.everyNth="N" + + +Specifies numbering interval; a number is output + before every Nth line + + + + + + Related Global Parameters + +linenumbering.everyNth + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Line numbering + + + + + +dbhtml_linenumbering.separator +Specifies separator text for line numbers in verbatims + + + + dbhtml linenumbering.separator="text" + + +Description + +Use the dbhtml linenumbering.separator PI as a child + of a “verbatim” element – programlisting, + screen, synopsis — to specify + the separator text output between the line numbers and content. + + Parameters + + + linenumbering.separator="text" + + +Specifies the text (zero or more characters) + + + + + + Related Global Parameters + +linenumbering.separator + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Line numbering + + + + + +dbhtml_linenumbering.width +Specifies width for line numbers in verbatims + + + + dbhtml linenumbering.width="width" + + +Description + +Use the dbhtml linenumbering.width PI as a child + of a “verbatim” element – programlisting, + screen, synopsis — to specify + the width set aside for line numbers. + + Parameters + + + linenumbering.width="width" + + +Specifies the width (inluding units) + + + + + + Related Global Parameters + +linenumbering.width + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Line numbering + + + + + +dbhtml_list-presentation +Specifies presentation style for a variablelist or + segmentedlist + + + + dbhtml list-presentation="list"|"table" + + +Description + +Use the dbhtml list-presentation PI as a child of + a variablelist or segmentedlist to + control the presentation style for the list (to cause it, for + example, to be displayed as a table). + + Parameters + + + list-presentation="list" + + +Displays the list as a list + + + + list-presentation="table" + + +Displays the list as a table + + + + + + Related Global Parameters + + + + +variablelist.as.table + + + + +segmentedlist.as.table + + + + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Variable list formatting in HTML + + + + + +dbhtml_list-width +Specifies the width of a variablelist or simplelist + + + + dbhtml list-width="width" + + +Description + +Use the dbhtml list-width PI as a child of a + variablelist or a simplelist presented + as a table, to specify the output width. + + Parameters + + + list-width="width" + + +Specifies the output width (including units) + + + + + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Variable list formatting in HTML + + + + + +dbhtml_row-height +Specifies the height for a CALS table row + + + + dbhtml row-height="height" + + +Description + +Use the dbhtml row-height PI as a child of a + row to specify the height of the row. + + Parameters + + + row-height="height" + + +Specifies the row height (including units) + + + + + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Row height + + + + + +dbhtml_start +(obsolete) Sets the starting number on an ordered list + + + + dbhtml start="character" + + +Description + +This PI is obsolete. The intent of + this PI was to provide a means for setting a specific starting + number for an ordered list. Instead of this PI, set a value + for the override attribute on the first + listitem in the list; that will have the same + effect as what this PI was intended for. + + Parameters + + + start="character" + + +Specifies the character to use as the starting + number; use 0-9, a-z, A-Z, or lowercase or uppercase + Roman numerals + + + + + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +List starting number + + + + + +dbhtml_stop-chunking +Do not chunk any descendants of this element. + + + + dbhtml stop-chunking + + +Description + +When generating chunked HTML output, adding this PI as the child of an element that contains elements that would normally be generated on separate pages if generating chunked output causes chunking to stop at this point. No descendants of the current element will be split into new HTML pages: +<section> +<title>Configuring pencil</title> +<?dbhtml stop-chunking?> + +... + +</section> + + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Chunking into multiple HTML files + + + + + +dbhtml_table-summary +Specifies summary for CALS table, variablelist, segmentedlist, or qandaset output + + + + dbhtml table-summary="text" + + +Description + +Use the dbhtml table-summary PI as a child of + a CALS table, variablelist, + segmentedlist, or qandaset to specify + the text for the HTML summary attribute + in the output HTML table. + + Parameters + + + table-summary="text" + + +Specifies the summary text (zero or more characters) + + + + + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Variable list formatting in HTML, + Table summary text + + + + + +dbhtml_table-width +Specifies the width for a CALS table + + + + dbhtml table-width="width" + + +Description + +Use the dbhtml table-width PI as a child of a + CALS table to specify the width of the table in + output. + + Parameters + + + table-width="width" + + +Specifies the table width (including units or as a percentage) + + + + + + Related Global Parameters + +default.table.width + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Table width + + + + + +dbhtml_term-presentation +Sets character formatting for terms in a variablelist + + + + dbhtml term-presentation="bold"|"italic"|"bold-italic" + + +Description + +Use the dbhtml term-presentation PI as a child + of a variablelist to set character formatting for + the term output of the list. + + Parameters + + + term-presentation="bold" + + +Specifies that terms are displayed in bold + + + + term-presentation="italic" + + +Specifies that terms are displayed in italic + + + + term-presentation="bold-italic" + + +Specifies that terms are displayed in bold-italic + + + + + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Variable list formatting in HTML + + + + + +dbhtml_term-separator +Specifies separator text among terms in a varlistentry + + + + dbhtml term-separator="text" + + +Description + +Use the dbhtml term-separator PI as a child + of a variablelist to specify the separator text + among term instances. + + Parameters + + + term-separator="text" + + +Specifies the text (zero or more characters) + + + + + + Related Global Parameters + +variablelist.term.separator + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Variable list formatting in HTML + + + + + +dbhtml_term-width +Specifies the term width for a variablelist + + + + dbhtml term-width="width" + + +Description + +Use the dbhtml term-width PI as a child of a + variablelist to specify the width for + term output. + + Parameters + + + term-width="width" + + +Specifies the term width (including units) + + + + + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Variable list formatting in HTML + + + + + +dbhtml_toc +Specifies whether a TOC should be generated for a qandaset + + + + dbhtml toc="0"|"1" + + +Description + +Use the dbhtml toc PI as a child of a + qandaset to specify whether a table of contents + (TOC) is generated for the qandaset. + + Parameters + + + toc="0" + + +If zero, no TOC is generated + + + + toc="1" + + +If 1 (or any non-zero value), + a TOC is generated + + + + + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Q and A list of questions, + Q and A formatting + + + + + +dbcmdlist +Generates a hyperlinked list of commands + + + + dbcmdlist + + +Description + +Use the dbcmdlist PI as the child of any + element (for example, refsynopsisdiv) containing multiple + cmdsynopsis instances; a hyperlinked navigational + “command list” will be generated at the top of output for that + element, enabling users to quickly jump + to each command synopsis. + + Parameters + +[No parameters] + + + + + +dbfunclist +Generates a hyperlinked list of functions + + + + dbfunclist + + +Description + +Use the dbfunclist PI as the child of any + element (for example, refsynopsisdiv) containing multiple + funcsynopsis instances; a hyperlinked + navigational “function list” will be generated at the top of + output for that element, enabling users to quickly + jump to to each function synopsis. + + Parameters + +[No parameters] + + + + + +dbhtml-include_href +Copies an external well-formed HTML/XML file into current doc + + + + dbhtml-include href="URI" + + +Description + +Use the dbhtml-include href PI anywhere in a + document to cause the contents of the file referenced by the + href pseudo-attribute to be copied/inserted “as + is” into your HTML output at the point in document order + where the PI occurs in the source. + + + +The referenced file may contain plain text (as long as + it is “wrapped” in an html element — see the + note below) or markup in any arbitrary vocabulary, + including HTML — but it must conform to XML + well-formedness constraints (because the feature in XSLT + 1.0 for opening external files, the + document() function, can only handle + files that meet XML well-formedness constraints). + + +Among other things, XML well-formedness constraints + require a document to have a single root + element. So if the content you want to + include is plain text or is markup that does + not have a single root element, + wrap the content in an + html element. The stylesheets will + strip out that surrounding html “wrapper” when + they find it, leaving just the content you want to + insert. + + + Parameters + + + href="URI" + + +Specifies the URI for the file to include; the URI + can be, for example, a remote http: + URI, or a local filesystem file: + URI + + + + + + Related Global Parameters + +textinsert.extension + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Inserting external HTML code, + External code files + + + + + +dbhh +Sets topic name and topic id for context-sensitive HTML Help + + + + dbhh topicname="name" topicid="id" + + +Description + +Use the dbhh PI as a child of components + that should be used as targets for context-sensitive help requests. + + Parameters + + + topicname="name" + + +Specifies a unique string constant that identifies a help topic + + + + topicid="id" + + +Specifies a unique integer value for the topicname string + + + + + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Context-sensitive help + + + + + + FO Processing Instruction Reference + + $Id: pi.xsl 8487 2009-07-14 21:43:36Z bobstayton $ + + + + + Introduction + + +This is generated reference documentation for all + user-specifiable processing instructions (PIs) in the DocBook + XSL stylesheets for FO output. + + +You add these PIs at particular points in a document to + cause specific “exceptions” to formatting/output behavior. To + make global changes in formatting/output behavior across an + entire document, it’s better to do it by setting an + appropriate stylesheet parameter (if there is one). + + + + + + + + +dbfo_background-color +Sets background color for an image + + + + dbfo background-color="color" + + +Description + +Use the dbfo background-color PI before or + after an image (graphic, inlinegraphic, + imagedata, or videodata element) as a + sibling to the element, to set a background color for the + image. + + Parameters + + + background-color="color" + + +An HTML color value + + + + + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Background color + + + + + +dbfo_bgcolor +Sets background color on a table row or table cell + + + + dbfo bgcolor="color" + + +Description + +Use the dbfo bgcolor PI as child of a table row + or cell to set a background color for that table row or cell. + + +This PI works for both CALS and HTML tables. + + Parameters + + + bgcolor="color" + + +An HTML color value + + + + + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Cell background color + + + + + +dbfo_float-type +Specifies float behavior for a sidebar + + + + dbfo float-type="margin.note" + + +Description + +Use the dbfo float-type PI to specify the float + behavior for a sidebar (to cause the sidebar to be + displayed as a marginal note). + + Parameters + + + float-type="margin.note" + + +Specifies that the sidebar should be + displayed as a marginal note. + + + + + + Related Global Parameters + +sidebar.float.type (parameter), + sidebar.float.width (parameter), + sidebar.properties (attribute-set), + sidebar.title.properties (attribute-set) + + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +A sidebar as + side float + + + + + +dbfo_funcsynopsis-style +Specifies presentation style for a funcsynopsis + + + + dbfo funcsynopsis-style="kr"|"ansi" + + +Description + +Use the dbfo funcsynopsis-style PI as a child of + a funcsynopsis or anywhere within a funcsynopsis + to control the presentation style for output of all + funcprototype instances within that funcsynopsis. + + Parameters + + + funcsynopsis-style="kr" + + +Displays funcprototype output in K&R style + + + + funcsynopsis-style="ansi" + + +Displays funcprototype output in ANSI style + + + + + + Related Global Parameters + +funcsynopsis.style + + + + + +dbfo_glossary-presentation +Specifies presentation style for a glossary + + + + dbfo glossary-presentation="list"|"blocks" + + +Description + +Use the dbfo glossary-presentation PI as a child of + a glossary to control its presentation style. + + Parameters + + + glossary-presentation="list" + + +Displays the glossary as a list + + + + glossary-presentation="blocks" + + +Displays the glossary as blocks + + + + + + Related Global Parameters + +glossary.as.blocks + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Glossary + formatting in print + + + + + +dbfo_glosslist-presentation +Specifies presentation style for a glosslist + + + + dbfo glosslist-presentation="list"|"blocks" + + +Description + +Use the dbfo glosslist-presentation PI as a child of + a glosslist to control its presentation style. + + Parameters + + + glosslist-presentation="list" + + +Displays the glosslist as a list + + + + glosslist-presentation="blocks" + + +Displays the glosslist as blocks + + + + + + Related Global Parameters + +glosslist.as.blocks + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Glossary + formatting in print + + + + + +dbfo_glossterm-width +Specifies the glossterm width for a glossary or + glosslist + + + + dbfo glossterm-width="width" + + +Description + +Use the dbfo glossterm-width PI as a child of a + glossary or glosslist to specify the + width for output of glossterm instances in the + output. + + Parameters + + + glossterm-width="width" + + +Specifies the glossterm width (including units) + + + + + + Related Global Parameters + +glossterm.width, + glossterm.separation + + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Glossary + formatting in print + + + + + +dbfo_keep-together +Specifies “keep” behavior for a table, example, + figure, equation, procedure, or task + + + + dbfo keep-together="auto"|"always" + + +Description + +Use the dbfo keep-together PI as a child of a + formal object (table, example, + figure, equation, procedure, or + task) to specify “keep” behavior (to allow the object to + “break” across a page). + + +The PI also works with informaltable, informalexample, + informalfigure and informalequation. + + + + Parameters + + + keep-together="auto" + + +Enables the object to break across a page + + + + keep-together="always" + + +Prevents the object from breaking across a page (the + default stylesheet behavior) + + + + + + Related Global Parameters + +formal.object.properties + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Keep-together processing instruction + + + + + +dbfo_label-width +Specifies the label width for a qandaset, itemizedlist, orderedlist + or calloutlist + + + + dbfo label-width="width" + + +Description + +Use the dbfo label-width PI as a child of a + qandaset, itemizedlist, orderedlist, + or calloutlist to specify the width of labels. + + Parameters + + + label-width="width" + + +Specifies the label width (including units) + + + + + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Q and A formatting + + + + + +dbfo_linenumbering.everyNth +Specifies interval for line numbers in verbatims + + + + dbfo linenumbering.everyNth="N" + + +Description + +Use the dbfo linenumbering.everyNth PI as a child + of a “verbatim” element – programlisting, + screen, synopsis — to specify + the interval at which lines are numbered. + + Parameters + + + linenumbering.everyNth="N" + + +Specifies numbering interval; a number is output + before every Nth line + + + + + + Related Global Parameters + +linenumbering.everyNth + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Line numbering + + + + + +dbfo_linenumbering.separator +Specifies separator text for line numbers in verbatims + + + + dbfo linenumbering.separator="text" + + +Description + +Use the dbfo linenumbering.separator PI as a child + of a “verbatim” element – programlisting, + screen, synopsis — to specify + the separator text output between the line numbers and content. + + Parameters + + + linenumbering.separator="text" + + +Specifies the text (zero or more characters) + + + + + + Related Global Parameters + +linenumbering.separator + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Line numbering + + + + + +dbfo_linenumbering.width +Specifies width for line numbers in verbatims + + + + dbfo linenumbering.width="width" + + +Description + +Use the dbfo linenumbering.width PI as a child + of a “verbatim” element – programlisting, + screen, synopsis — to specify + the width set aside for line numbers. + + Parameters + + + linenumbering.width="width" + + +Specifies the width (inluding units) + + + + + + Related Global Parameters + +linenumbering.width + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Line numbering + + + + + +dbfo_list-presentation +Specifies presentation style for a variablelist or + segmentedlist + + + + dbfo list-presentation="list"|"blocks"|"table" + + +Description + +Use the dbfo list-presentation PI as a child of + a variablelist or segmentedlist to + control the presentation style for the list (to cause it, for + example, to be displayed as a table). + + Parameters + + + list-presentation="list" + + +Displays the list as a list + + + + list-presentation="blocks" + + +(variablelist only) Displays the list as blocks + + + + list-presentation="table" + + +(segmentedlist only) Displays the list as a table + + + + + + Related Global Parameters + + + + +variablelist.as.blocks + + + + +variablelist.as.table + + + + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Variable list formatting in print + + + + + +dbfo_list-width +Specifies the width of a horizontal simplelist + + + + dbfo list-width="width" + + +Description + +Use the dbfo list-width PI as a child of a + simplelist whose class + value is horizontal, to specify the width + of the simplelist. + + Parameters + + + list-width="width" + + +Specifies the simplelist width (including units) + + + + + + + + + +dbfo_orientation +Specifies the orientation for a CALS table row or cell + + + + dbfo orientation="0"|"90"|"180"|"270"|"-90"|"-180"|"-270" + + +Description + +Use the dbfo orientation PI as a child of a CALS + table row or cell to specify the orientation + (rotation) for the row or cell. + + Parameters + + + orientation="0"|"90"|"180"|"270"|"-90"|"-180"|"-270" + + +Specifies the number of degrees by which the cell or + row is rotated + + + + + + + + + +dbfo_pgwide +Specifies if an equation or example goes across full page width + + + + dbfo pgwide="0"|"1" + + +Description + +Use the dbfo pgwide PI as a child of an + equation or example to specify that the + content should rendered across the full width of the page. + + Parameters + + + pgwide="0" + + +If zero, the content is rendered across the current + text flow + + + + pgwide="1" + + +If 1 (or any non-zero value), the + content is rendered across the full width of the page + + + + + + Related Global Parameters + +pgwide.properties + + + + + +dbfo_rotated-width +Specifies the width for a CALS table entry or + row + + + + dbfo rotated-width="width" + + +Description + +Use the dbfo rotated-width PI as a child of + entry or row instance in a CALS table to specify the + width of that the entry or row; or + use it higher up in table to cause the width to be inherited + recursively down. + + Parameters + + + rotated-width="width" + + +Specifies the width of a row or cell (including units) + + + + + + + + + +dbfo_sidebar-width +Specifies the width of a sidebar + + + + dbfo sidebar-width="width" + + +Description + +Use the dbfo sidebar-width PI as a child of a + sidebar to specify the width of the sidebar. + + Parameters + + + sidebar-width="width" + + +Specifies the sidebar width (including units) + + + + + + Related Global Parameters + +sidebar.float.type parameter, + sidebar.float.width parameter, + sidebar.properties attribute-set, + sidebar.title.properties + + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +A sidebar as + side float + + + + + +dbfo_start +(obsolete) Sets the starting number on an ordered list + + + + dbfo start="character" + + +Description + +This PI is obsolete. The intent of + it was to provide a means for setting a specific starting + number for an ordered list. Instead of this PI, set a value + for the override attribute on the first + listitem in the list; that will have the same + effect as what this PI was intended for. + + Parameters + + + start="character" + + +Specifies the character to use as the starting + number; use 0-9, a-z, A-Z, or lowercase or uppercase + Roman numerals + + + + + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +List starting number + + + + + +dbfo_table-width +Specifies the width for a CALS table or for revhistory + output + + + + dbfo table-width="width" + + +Description + +Use the dbfo table-width PI as a child or + sibling of a CALS table, or as a child of an + informaltable, entrytbl, or + revhistory instance (which is rendered as a table + in output) to specify the width of the table in output. + + Parameters + + + table-width="width" + + +Specifies the table width (including units or as a percentage) + + + + + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Table width + + + + + +dbfo_term-width +Specifies the term width for a variablelist + + + + dbfo term-width="width" + + +Description + +Use the dbfo term-width PI as a child of a + variablelist to specify the width for + term output. + + Parameters + + + term-width="width" + + +Specifies the term width (including units) + + + + + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Variable list formatting in print + + + + + +dbfo_toc +Specifies whether a TOC should be generated for a qandaset + + + + dbfo toc="0"|"1" + + +Description + +Use the dbfo toc PI as a child of a + qandaset to specify whether a table of contents + (TOC) is generated for the qandaset. + + Parameters + + + toc="0" + + +If zero, no TOC is generated + + + + toc="1" + + +If 1 (or any non-zero value), + a TOC is generated + + + + + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Q and A list of questions, + Q and A formatting + + + + + +dbfo-need +Specify a need for space (a kind of soft page break) + + + + dbfo-need height="n" [space-before="n"] + + +Description + +A “need” is a request for space on a page. If the + requested space is not available, the page breaks and the + content that follows the need request appears on the next + page. If the requested space is available, then no page break + is inserted. + + Parameters + + + height="n" + + +The amount of height needed (including units) + + + + space-before="n" + + +The amount of extra vertical space to add (including units) + + + + + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Soft page breaks + + + + + +dbfo_row-height +Specifies the height for a CALS table row + + + + dbfo row-height="height" + + +Description + +Use the dbfo row-height PI as a child of a + row to specify the height of the row. + + Parameters + + + row-height="height" + + +Specifies the row height (including units) + + + + + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Row height + + + + + + manpages Processing Instruction Reference + + $Id: pi.xsl 7644 2008-01-16 11:04:07Z xmldoc $ + + + + Introduction + +This is generated reference documentation for all + user-specifiable processing instructions (PIs) in the DocBook + XSL stylesheets for manpages output. + + +You add these PIs at particular points in a document to + cause specific “exceptions” to formatting/output behavior. To + make global changes in formatting/output behavior across an + entire document, it’s better to do it by setting an + appropriate stylesheet parameter (if there is one). + + + + + + + + +dbman_funcsynopsis-style +Specifies presentation style for a funcsynopsis. + + + + dbman funcsynopsis-style="kr"|"ansi" + + +Description + +Use the dbman + funcsynopsis-style PI as a child of a + funcsynopsis or anywhere within a funcsynopsis + to control the presentation style for output of all + funcprototype instances within that funcsynopsis. + + Parameters + + + funcsynopsis-style="kr" + + +Displays the funcprototype in K&R style + + + + funcsynopsis-style="ansi" + + +Displays the funcprototype in ANSI style + + + + + + Related Global Parameters + +man.funcsynopsis.style + + + + + + Common Processing Instruction Reference + + $Id: pi.xsl 8782 2010-07-27 21:15:17Z mzjn $ + + + + Introduction + +This is generated reference documentation for all + user-specifiable processing instructions (PIs) in the + “common” part of the DocBook XSL stylesheets. + + +You add these PIs at particular points in a document to + cause specific “exceptions” to formatting/output behavior. To + make global changes in formatting/output behavior across an + entire document, it’s better to do it by setting an + appropriate stylesheet parameter (if there is one). + + + + + + + + +dbchoice_choice +Generates a localized choice separator + + + + dbchoice choice="and"|"or"|string" + + +Description + +Use the dbchoice choice PI to + generate an appropriate localized “choice” separator (for + example, and or or) + before the final item in an inline simplelist + + + +This PI is a less-than-ideal hack; support for it may + disappear in the future (particularly if and when a more + appropriate means for marking up "choice" lists becomes + available in DocBook). + + + Parameters + + + choice="and" + + +generates a localized and separator + + + + choice="or" + + +generates a localized or separator + + + + choice="string" + + +generates a literal string separator + + + + + + + + + +dbtimestamp +Inserts a date timestamp + + + + dbtimestamp format="formatstring" [padding="0"|"1"] + + +Description + +Use the dbtimestamp PI at any point in a + source document to cause a date timestamp (a formatted + string representing the current date and time) to be + inserted in output of the document. + + Parameters + + + format="formatstring" + + +Specifies format in which the date and time are + output + + + +For details of the content of the format string, + see Date and time. + + + + + padding="0"|"1" + + +Specifies padding behavior; if non-zero, padding is is added + + + + + + + + + +dbtex_delims +Generates delimiters around embedded TeX equations + in output + + + + dbtex delims="no"|"yes" + + +Description + +Use the dbtex delims PI as a + child of a textobject containing embedded TeX + markup, to cause that markup to be surrounded by + $ delimiter characters in output. + + + +This feature is useful for print/PDF output only if you + use the obsolete and now unsupported PassiveTeX XSL-FO + engine. + + + Parameters + + + dbtex delims="no"|"yes" + + +Specifies whether delimiters are output + + + + + + Related Global Parameters + +tex.math.delims + + + + + + DocBook XSL Stylesheets Developer Reference + + + This is technical reference documentation for + developers using the DocBook XSL Stylesheets. It is not + intended to be user documentation, but is instead + provided for developers writing customization layers for + the stylesheets. + + + + + + XSL Library Template Reference + + Introduction + This is technical reference documentation for the + vocabulary-independent “library” templates in the DocBook XSL + Stylesheets. + This is not intended to be user documentation. It is + provided for developers writing customization layers for the + stylesheets. + + + + General Library Templates + + + +dot.count +Returns the number of . characters in a string + + +Description + + Given a string, the dot.count + template returns the number of dot/period characters in the + string. This template is useful, for example, when testing the + nesting level of nested inline markup (for nested emphasis, + quotations, etc.). + + +<xsl:template name="dot.count"> + <!-- Returns the number of "." characters in a string --> + <xsl:param name="string"></xsl:param> + <xsl:param name="count" select="0"></xsl:param> + <xsl:choose> + <xsl:when test="contains($string, '.')"> + <xsl:call-template name="dot.count"> + <xsl:with-param name="string" select="substring-after($string, '.')"></xsl:with-param> + <xsl:with-param name="count" select="$count+1"></xsl:with-param> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$count"></xsl:value-of> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + + + + + + + + + +copy-string +Returns count copies of a string + + +Description + + Given a string, the copy-string + template creates n copies of the + string, when the value of n is + given by the count parameter. + + +<xsl:template name="copy-string"> + <!-- returns 'count' copies of 'string' --> + <xsl:param name="string"></xsl:param> + <xsl:param name="count" select="0"></xsl:param> + <xsl:param name="result"></xsl:param> + + <xsl:choose> + <xsl:when test="$count>0"> + <xsl:call-template name="copy-string"> + <xsl:with-param name="string" select="$string"></xsl:with-param> + <xsl:with-param name="count" select="$count - 1"></xsl:with-param> + <xsl:with-param name="result"> + <xsl:value-of select="$result"></xsl:value-of> + <xsl:value-of select="$string"></xsl:value-of> + </xsl:with-param> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$result"></xsl:value-of> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + + + + + + + + + +string.subst +Substitute one text string for another in a string + + +Description + +The string.subst template replaces all +occurances of target in string +with replacement and returns the result. + + + +<xsl:template name="string.subst"> + <xsl:param name="string"></xsl:param> + <xsl:param name="target"></xsl:param> + <xsl:param name="replacement"></xsl:param> + + <xsl:choose> + <xsl:when test="contains($string, $target)"> + <xsl:variable name="rest"> + <xsl:call-template name="string.subst"> + <xsl:with-param name="string" select="substring-after($string, $target)"></xsl:with-param> + <xsl:with-param name="target" select="$target"></xsl:with-param> + <xsl:with-param name="replacement" select="$replacement"></xsl:with-param> + </xsl:call-template> + </xsl:variable> + <xsl:value-of select="concat(substring-before($string, $target), $replacement, $rest)"></xsl:value-of> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$string"></xsl:value-of> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + + + + + + + + + +xpointer.idref +Extract IDREF from an XPointer + + +Description + +The xpointer.idref template returns the +ID portion of an XPointer which is a pointer to an ID within the current +document, or the empty string if it is not. +In other words, xpointer.idref returns +foo when passed either #foo +or #xpointer(id('foo')), otherwise it returns +the empty string. + + +<xsl:template name="xpointer.idref"> + <xsl:param name="xpointer">http://...</xsl:param> + <xsl:choose> + <xsl:when test="starts-with($xpointer, '#xpointer(id(')"> + <xsl:variable name="rest" select="substring-after($xpointer, '#xpointer(id(')"></xsl:variable> + <xsl:variable name="quote" select="substring($rest, 1, 1)"></xsl:variable> + <xsl:value-of select="substring-before(substring-after($xpointer, $quote), $quote)"></xsl:value-of> + </xsl:when> + <xsl:when test="starts-with($xpointer, '#')"> + <xsl:value-of select="substring-after($xpointer, '#')"></xsl:value-of> + </xsl:when> + <!-- otherwise it's a pointer to some other document --> + </xsl:choose> +</xsl:template> + + + + + + + + + + +length-magnitude +Return the unqualified dimension from a length specification + + +Description + +The length-magnitude template returns the +unqualified length ("20" for "20pt") from a dimension. + + + +<xsl:template name="length-magnitude"> + <xsl:param name="length" select="'0pt'"></xsl:param> + + <xsl:choose> + <xsl:when test="string-length($length) = 0"></xsl:when> + <xsl:when test="substring($length,1,1) = '0' or substring($length,1,1) = '1' or substring($length,1,1) = '2' or substring($length,1,1) = '3' or substring($length,1,1) = '4' or substring($length,1,1) = '5' or substring($length,1,1) = '6' or substring($length,1,1) = '7' or substring($length,1,1) = '8' or substring($length,1,1) = '9' or substring($length,1,1) = '.'"> + <xsl:value-of select="substring($length,1,1)"></xsl:value-of> + <xsl:call-template name="length-magnitude"> + <xsl:with-param name="length" select="substring($length,2)"></xsl:with-param> + </xsl:call-template> + </xsl:when> + </xsl:choose> +</xsl:template> + + + + + + + + + +length-units +Return the units from a length specification + + +Description + +The length-units template returns the +units ("pt" for "20pt") from a length. If no units are supplied on the +length, the defauilt.units are returned. + + +<xsl:template name="length-units"> + <xsl:param name="length" select="'0pt'"></xsl:param> + <xsl:param name="default.units" select="'px'"></xsl:param> + <xsl:variable name="magnitude"> + <xsl:call-template name="length-magnitude"> + <xsl:with-param name="length" select="$length"></xsl:with-param> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="units"> + <xsl:value-of select="substring($length, string-length($magnitude)+1)"></xsl:value-of> + </xsl:variable> + + <xsl:choose> + <xsl:when test="$units = ''"> + <xsl:value-of select="$default.units"></xsl:value-of> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$units"></xsl:value-of> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + + + + + + + + + +length-spec +Return a fully qualified length specification + + +Description + +The length-spec template returns the +qualified length from a dimension. If an unqualified length is given, +the default.units will be added to it. + + + +<xsl:template name="length-spec"> + <xsl:param name="length" select="'0pt'"></xsl:param> + <xsl:param name="default.units" select="'px'"></xsl:param> + + <xsl:variable name="magnitude"> + <xsl:call-template name="length-magnitude"> + <xsl:with-param name="length" select="$length"></xsl:with-param> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="units"> + <xsl:value-of select="substring($length, string-length($magnitude)+1)"></xsl:value-of> + </xsl:variable> + + <xsl:value-of select="$magnitude"></xsl:value-of> + <xsl:choose> + <xsl:when test="$units='cm' or $units='mm' or $units='in' or $units='pt' or $units='pc' or $units='px' or $units='em'"> + <xsl:value-of select="$units"></xsl:value-of> + </xsl:when> + <xsl:when test="$units = ''"> + <xsl:value-of select="$default.units"></xsl:value-of> + </xsl:when> + <xsl:otherwise> + <xsl:message> + <xsl:text>Unrecognized unit of measure: </xsl:text> + <xsl:value-of select="$units"></xsl:value-of> + <xsl:text>.</xsl:text> + </xsl:message> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + + + + + + + + + +length-in-points +Returns the size, in points, of a specified length + + +Description + +The length-in-points template converts a length +specification to points and returns that value as an unqualified +number. + + + +There is no way for the template to infer the size of an +em. It relies on the default em.size +which is initially 10 (for 10pt). + +Similarly, converting pixels to points relies on the +pixels.per.inch parameter which is initially +90. + + + + +<xsl:template name="length-in-points"> + <xsl:param name="length" select="'0pt'"></xsl:param> + <xsl:param name="em.size" select="10"></xsl:param> + <xsl:param name="pixels.per.inch" select="90"></xsl:param> + + <xsl:variable name="magnitude"> + <xsl:call-template name="length-magnitude"> + <xsl:with-param name="length" select="$length"></xsl:with-param> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="units"> + <xsl:value-of select="substring($length, string-length($magnitude)+1)"></xsl:value-of> + </xsl:variable> + + <xsl:choose> + <xsl:when test="$units = 'pt'"> + <xsl:value-of select="$magnitude"></xsl:value-of> + </xsl:when> + <xsl:when test="$units = 'cm'"> + <xsl:value-of select="$magnitude div 2.54 * 72.0"></xsl:value-of> + </xsl:when> + <xsl:when test="$units = 'mm'"> + <xsl:value-of select="$magnitude div 25.4 * 72.0"></xsl:value-of> + </xsl:when> + <xsl:when test="$units = 'in'"> + <xsl:value-of select="$magnitude * 72.0"></xsl:value-of> + </xsl:when> + <xsl:when test="$units = 'pc'"> + <xsl:value-of select="$magnitude * 12.0"></xsl:value-of> + </xsl:when> + <xsl:when test="$units = 'px'"> + <xsl:value-of select="$magnitude div $pixels.per.inch * 72.0"></xsl:value-of> + </xsl:when> + <xsl:when test="$units = 'em'"> + <xsl:value-of select="$magnitude * $em.size"></xsl:value-of> + </xsl:when> + <xsl:otherwise> + <xsl:message> + <xsl:text>Unrecognized unit of measure: </xsl:text> + <xsl:value-of select="$units"></xsl:value-of> + <xsl:text>.</xsl:text> + </xsl:message> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + + + + + + + + + +pi-attribute +Extract a pseudo-attribute from a PI + + +Description + +The pi-attribute template extracts a pseudo-attribute +from a processing instruction. For example, given the PI +<?foo bar="1" baz='red'?>, +<xsl:call-template name="pi-attribute"> + <xsl:with-param name="pis" select="processing-instruction('foo')"/> + <xsl:with-param name="attribute" select="'baz'"/> +</xsl:call-template> +will return red. This template returns the first matching +attribute that it finds. Presented with processing instructions that +contain badly formed pseudo-attributes (missing or unbalanced quotes, +for example), the template may silently return erroneous results. + + +<xsl:template name="pi-attribute"> + <xsl:param name="pis" select="processing-instruction('BOGUS_PI')"></xsl:param> + <xsl:param name="attribute">filename</xsl:param> + <xsl:param name="count">1</xsl:param> + + <xsl:choose> + <xsl:when test="$count>count($pis)"> + <!-- not found --> + </xsl:when> + <xsl:otherwise> + <xsl:variable name="pi"> + <xsl:value-of select="$pis[$count]"></xsl:value-of> + </xsl:variable> + <xsl:variable name="pivalue"> + <xsl:value-of select="concat(' ', normalize-space($pi))"></xsl:value-of> + </xsl:variable> + <xsl:choose> + <xsl:when test="contains($pivalue,concat(' ', $attribute, '='))"> + <xsl:variable name="rest" select="substring-after($pivalue,concat(' ', $attribute,'='))"></xsl:variable> + <xsl:variable name="quote" select="substring($rest,1,1)"></xsl:variable> + <xsl:value-of select="substring-before(substring($rest,2),$quote)"></xsl:value-of> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="pi-attribute"> + <xsl:with-param name="pis" select="$pis"></xsl:with-param> + <xsl:with-param name="attribute" select="$attribute"></xsl:with-param> + <xsl:with-param name="count" select="$count + 1"></xsl:with-param> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + + + + + + + + + +lookup.key +Retrieve the value associated with a particular key in a table + + +Description + +Given a table of space-delimited key/value pairs, +the lookup.key template extracts the value associated +with a particular key. + + +<xsl:template name="lookup.key"> + <xsl:param name="key" select="''"></xsl:param> + <xsl:param name="table" select="''"></xsl:param> + + <xsl:if test="contains($table, ' ')"> + <xsl:choose> + <xsl:when test="substring-before($table, ' ') = $key"> + <xsl:variable name="rest" select="substring-after($table, ' ')"></xsl:variable> + <xsl:choose> + <xsl:when test="contains($rest, ' ')"> + <xsl:value-of select="substring-before($rest, ' ')"></xsl:value-of> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$rest"></xsl:value-of> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="lookup.key"> + <xsl:with-param name="key" select="$key"></xsl:with-param> + <xsl:with-param name="table" select="substring-after(substring-after($table,' '), ' ')"></xsl:with-param> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:if> +</xsl:template> + + + + + + + + + +xpath.location +Calculate the XPath child-sequence to the current node + + +Description + +The xpath.location template calculates the +absolute path from the root of the tree to the current element node. + + + +<xsl:template name="xpath.location"> + <xsl:param name="node" select="."></xsl:param> + <xsl:param name="path" select="''"></xsl:param> + + <xsl:variable name="next.path"> + <xsl:value-of select="local-name($node)"></xsl:value-of> + <xsl:if test="$path != ''">/</xsl:if> + <xsl:value-of select="$path"></xsl:value-of> + </xsl:variable> + + <xsl:choose> + <xsl:when test="$node/parent::*"> + <xsl:call-template name="xpath.location"> + <xsl:with-param name="node" select="$node/parent::*"></xsl:with-param> + <xsl:with-param name="path" select="$next.path"></xsl:with-param> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:text>/</xsl:text> + <xsl:value-of select="$next.path"></xsl:value-of> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + + + + + + + + + +comment-escape-string +Prepare a string for inclusion in an XML comment + + +Description + +The comment-escape-string template returns a string +that has been transformed so that it can safely be output as an XML comment. +Internal occurrences of "--" will be replaced with "- -" and a leading and/or +trailing space will be added to the string, if necessary. + + +<xsl:template name="comment-escape-string"> + <xsl:param name="string" select="''"></xsl:param> + + <xsl:if test="starts-with($string, '-')"> + <xsl:text> </xsl:text> + </xsl:if> + + <xsl:call-template name="comment-escape-string.recursive"> + <xsl:with-param name="string" select="$string"></xsl:with-param> + </xsl:call-template> + + <xsl:if test="substring($string, string-length($string), 1) = '-'"> + <xsl:text> </xsl:text> + </xsl:if> +</xsl:template> + + + + + + + + + +comment-escape-string.recursive +Internal function used by comment-escape-string + + +Description + +The comment-escape-string.recursive template is used +by comment-escape-string. + + +<xsl:template name="comment-escape-string.recursive"> + <xsl:param name="string" select="''"></xsl:param> + <xsl:choose> + <xsl:when test="contains($string, '--')"> + <xsl:value-of select="substring-before($string, '--')"></xsl:value-of> + <xsl:value-of select="'- -'"></xsl:value-of> + <xsl:call-template name="comment-escape-string.recursive"> + <xsl:with-param name="string" select="substring-after($string, '--')"></xsl:with-param> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$string"></xsl:value-of> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + + + + + + + + +trim.text +Trim leading and trailing whitespace from a text node + + +Description + +Given a text node, this function trims leading and trailing +whitespace from it and returns the trimmed contents. + + + + <xsl:template name="trim.text"> + <xsl:param name="contents" select="."></xsl:param> + <xsl:variable name="contents-left-trimmed"> + <xsl:call-template name="trim-left"> + <xsl:with-param name="contents" select="$contents"></xsl:with-param> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="contents-trimmed"> + <xsl:call-template name="trim-right"> + <xsl:with-param name="contents" select="$contents-left-trimmed"></xsl:with-param> + </xsl:call-template> + </xsl:variable> + <xsl:value-of select="$contents-trimmed"></xsl:value-of> + </xsl:template> + + <xsl:template name="trim-left"> + <xsl:param name="contents"></xsl:param> + <xsl:choose> + <xsl:when test="starts-with($contents,' +') or starts-with($contents,' ') or starts-with($contents,' ') or starts-with($contents,' ')"> + <xsl:call-template name="trim-left"> + <xsl:with-param name="contents" select="substring($contents, 2)"></xsl:with-param> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$contents"></xsl:value-of> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template name="trim-right"> + <xsl:param name="contents"></xsl:param> + <xsl:variable name="last-char"> + <xsl:value-of select="substring($contents, string-length($contents), 1)"></xsl:value-of> + </xsl:variable> + <xsl:choose> + <xsl:when test="($last-char = ' +') or ($last-char = ' ') or ($last-char = ' ') or ($last-char = ' ')"> + <xsl:call-template name="trim-right"> + <xsl:with-param name="contents" select="substring($contents, 1, string-length($contents) - 1)"></xsl:with-param> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$contents"></xsl:value-of> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + + + + + + + + +str.tokenize.keep.delimiters +Tokenize a string while preserving any delimiters + +Description +Based on the occurrence of one or more delimiter characters, +this function breaks a string into a list of tokens and delimiters, +marking up each of the tokens with a token element +and preserving the delimiters as text nodes between the tokens. + + This function is a very slightly modified version of a + function from the EXSLT + site. The original is available at: + +
+ + The str.tokenize.keep.delimiters function + differs only in that it preserves the delimiters instead of + discarding them.
+
+ + <xsl:template name="str.tokenize.keep.delimiters"> + <xsl:param name="string" select="''"></xsl:param> + <xsl:param name="delimiters" select="' '"></xsl:param> + <xsl:choose> + <xsl:when test="not($string)"></xsl:when> + <xsl:when test="not($delimiters)"> + <xsl:call-template name="str.tokenize.keep.delimiters-characters"> + <xsl:with-param name="string" select="$string"></xsl:with-param> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="str.tokenize.keep.delimiters-delimiters"> + <xsl:with-param name="string" select="$string"></xsl:with-param> + <xsl:with-param name="delimiters" select="$delimiters"></xsl:with-param> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + <xsl:template name="str.tokenize.keep.delimiters-characters"> + <xsl:param name="string"></xsl:param> + <xsl:if test="$string"> + <ssb:token><xsl:value-of select="substring($string, 1, 1)"></xsl:value-of></ssb:token> + <xsl:call-template name="str.tokenize.keep.delimiters-characters"> + <xsl:with-param name="string" select="substring($string, 2)"></xsl:with-param> + </xsl:call-template> + </xsl:if> + </xsl:template> + <xsl:template name="str.tokenize.keep.delimiters-delimiters"> + <xsl:param name="string"></xsl:param> + <xsl:param name="delimiters"></xsl:param> + <xsl:variable name="delimiter" select="substring($delimiters, 1, 1)"></xsl:variable> + <xsl:choose> + <xsl:when test="not($delimiter)"> + <ssb:token><xsl:value-of select="$string"></xsl:value-of></ssb:token> + </xsl:when> + <xsl:when test="contains($string, $delimiter)"> + <xsl:if test="not(starts-with($string, $delimiter))"> + <xsl:call-template name="str.tokenize.keep.delimiters-delimiters"> + <xsl:with-param name="string" select="substring-before($string, $delimiter)"></xsl:with-param> + <xsl:with-param name="delimiters" select="substring($delimiters, 2)"></xsl:with-param> + </xsl:call-template> + </xsl:if> + <!-- output each delimiter --> + <xsl:value-of select="$delimiter"></xsl:value-of> + <xsl:call-template name="str.tokenize.keep.delimiters-delimiters"> + <xsl:with-param name="string" select="substring-after($string, $delimiter)"></xsl:with-param> + <xsl:with-param name="delimiters" select="$delimiters"></xsl:with-param> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="str.tokenize.keep.delimiters-delimiters"> + <xsl:with-param name="string" select="$string"></xsl:with-param> + <xsl:with-param name="delimiters" select="substring($delimiters, 2)"></xsl:with-param> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + +
+
+ + + + + + apply-string-subst-map + Apply a string-substitution map + + Description + This function applies a “string substitution” map. Use it when + you want to do multiple string substitutions on the same target + content. It reads in two things: content, the + content on which to perform the substitution, and + map.contents, a node set of + elements (the names of the elements don't matter), with each element + having the following attributes: + + + oldstring, a string to + be replaced + + + newstring, a string with + which to replace oldstring + + + The function uses map.contents to + do substitution on content, and then + returns the modified contents. + + This function is a very slightly modified version of Jeni + Tennison’s replace_strings function in the + multiple string replacements section of Dave Pawson’s + XSLT + FAQ. + The apply-string-subst-map function is + essentially the same function as the + apply-character-map function; the only + difference is that in the map that + apply-string-subst-map expects, oldstring and newstring attributes are used instead of + character and string attributes. + + + <xsl:template name="apply-string-subst-map"> + <xsl:param name="content"></xsl:param> + <xsl:param name="map.contents"></xsl:param> + <xsl:variable name="replaced_text"> + <xsl:call-template name="string.subst"> + <xsl:with-param name="string" select="$content"></xsl:with-param> + <xsl:with-param name="target" select="$map.contents[1]/@oldstring"></xsl:with-param> + <xsl:with-param name="replacement" select="$map.contents[1]/@newstring"></xsl:with-param> + </xsl:call-template> + </xsl:variable> + <xsl:choose> + <xsl:when test="$map.contents[2]"> + <xsl:call-template name="apply-string-subst-map"> + <xsl:with-param name="content" select="$replaced_text"></xsl:with-param> + <xsl:with-param name="map.contents" select="$map.contents[position() > 1]"></xsl:with-param> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$replaced_text"></xsl:value-of> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + + +
+Relative URI Functions + +Introduction + +These functions manipulate relative URI references. + +The following assumptions must hold true: + + + +All URIs are relative. + + +No URI contains the ../ sequence +which would effectively move up the hierarchy. + + + +If these assumptions do not hold, the results are unpredictable. + + + + + + + +count.uri.path.depth +Count the number of path components in a relative URI + + +Description + +This function counts the number of path components in a relative URI. + + +<xsl:template name="count.uri.path.depth"> + <xsl:param name="filename" select="''"></xsl:param> + <xsl:param name="count" select="0"></xsl:param> + + <xsl:choose> + <xsl:when test="contains($filename, '/')"> + <xsl:call-template name="count.uri.path.depth"> + <xsl:with-param name="filename" select="substring-after($filename, '/')"></xsl:with-param> + <xsl:with-param name="count" select="$count + 1"></xsl:with-param> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$count"></xsl:value-of> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + + + + + + + + + +trim.common.uri.paths +Trim common leading path components from a relative URI + + +Description + +This function trims common leading path components from a relative URI. + + +<xsl:template name="trim.common.uri.paths"> + <xsl:param name="uriA" select="''"></xsl:param> + <xsl:param name="uriB" select="''"></xsl:param> + <xsl:param name="return" select="'A'"></xsl:param> + + <xsl:choose> + <xsl:when test="contains($uriA, '/') and contains($uriB, '/') and substring-before($uriA, '/') = substring-before($uriB, '/')"> + <xsl:call-template name="trim.common.uri.paths"> + <xsl:with-param name="uriA" select="substring-after($uriA, '/')"></xsl:with-param> + <xsl:with-param name="uriB" select="substring-after($uriB, '/')"></xsl:with-param> + <xsl:with-param name="return" select="$return"></xsl:with-param> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:choose> + <xsl:when test="$return = 'A'"> + <xsl:value-of select="$uriA"></xsl:value-of> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$uriB"></xsl:value-of> + </xsl:otherwise> + </xsl:choose> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + + + + + + +
+ Common Template Reference + + + + + This is technical reference documentation for the + “base”, “refentry”, and “utility” sets of common + templates in the DocBook XSL Stylesheets. These + templates are “common” in that they are shared across + output formats (that is, they’re not + output-format-dependent) + This documentation is not intended to be user + documentation. It is provided for developers writing + customization layers for the stylesheets. + + + + + Common » Base Template Reference + + $Id: common.xsl 8784 2010-07-28 12:32:54Z mzjn $ + + + + + Introduction + +This is technical reference documentation for the “base” + set of common templates in the DocBook XSL Stylesheets. + + +This is not intended to be user documentation. It is + provided for developers writing customization layers for the + stylesheets. + + + + + +is.component +Tests if a given node is a component-level element + + +<xsl:template name="is.component"> +<xsl:param name="node" select="."/> + ... +</xsl:template> + +Description + +This template returns '1' if the specified node is a component +(Chapter, Appendix, etc.), and '0' otherwise. + +Parameters + + +node + + +The node which is to be tested. + + + + + +Returns + +This template returns '1' if the specified node is a component +(Chapter, Appendix, etc.), and '0' otherwise. + + + + + +is.section +Tests if a given node is a section-level element + + +<xsl:template name="is.section"> +<xsl:param name="node" select="."/> + ... +</xsl:template> + +Description + +This template returns '1' if the specified node is a section +(Section, Sect1, Sect2, etc.), and '0' otherwise. + +Parameters + + +node + + +The node which is to be tested. + + + + + +Returns + +This template returns '1' if the specified node is a section +(Section, Sect1, Sect2, etc.), and '0' otherwise. + + + + + +section.level +Returns the hierarchical level of a section + + +<xsl:template name="section.level"> +<xsl:param name="node" select="."/> + ... +</xsl:template> + +Description + +This template calculates the hierarchical level of a section. +The element sect1 is at level 1, sect2 is +at level 2, etc. + + + +Recursive sections are calculated down to the fifth level. + +Parameters + + +node + + +The section node for which the level should be calculated. +Defaults to the context node. + + + + + +Returns + +The section level, 1, 2, etc. + + + + + + +qanda.section.level +Returns the hierarchical level of a QandASet + + +<xsl:template name="qanda.section.level"/> + +Description + +This template calculates the hierarchical level of a QandASet. + + +Returns + +The level, 1, 2, etc. + + + + + + +select.mediaobject +Selects and processes an appropriate media object from a list + + +<xsl:template name="select.mediaobject"> +<xsl:param name="olist" select="imageobject|imageobjectco |videoobject|audioobject|textobject"/> + ... +</xsl:template> + +Description + +This template takes a list of media objects (usually the +children of a mediaobject or inlinemediaobject) and processes +the "right" object. + + + +This template relies on a template named +"select.mediaobject.index" to determine which object +in the list is appropriate. + + + +If no acceptable object is located, nothing happens. + +Parameters + + +olist + + +The node list of potential objects to examine. + + + + + +Returns + +Calls <xsl:apply-templates> on the selected object. + + + + + +select.mediaobject.index +Selects the position of the appropriate media object from a list + + +<xsl:template name="select.mediaobject.index"> +<xsl:param name="olist" select="imageobject|imageobjectco |videoobject|audioobject|textobject"/> +<xsl:param name="count">1</xsl:param> + ... +</xsl:template> + +Description + +This template takes a list of media objects (usually the +children of a mediaobject or inlinemediaobject) and determines +the "right" object. It returns the position of that object +to be used by the calling template. + + + +If the parameter use.role.for.mediaobject +is nonzero, then it first checks for an object with +a role attribute of the appropriate value. It takes the first +of those. Otherwise, it takes the first acceptable object +through a recursive pass through the list. + + + +This template relies on a template named "is.acceptable.mediaobject" +to determine if a given object is an acceptable graphic. The semantics +of media objects is that the first acceptable graphic should be used. + + + + +If no acceptable object is located, no index is returned. + +Parameters + + +olist + + +The node list of potential objects to examine. + + + +count + + +The position in the list currently being considered by the +recursive process. + + + + + +Returns + +Returns the position in the original list of the selected object. + + + + + +is.acceptable.mediaobject +Returns '1' if the specified media object is recognized + + +<xsl:template name="is.acceptable.mediaobject"> +<xsl:param name="object"/> + ... +</xsl:template> + +Description + +This template examines a media object and returns '1' if the +object is recognized as a graphic. + +Parameters + + +object + + +The media object to consider. + + + + + +Returns + +0 or 1 + + + + + +check.id.unique +Warn users about references to non-unique IDs + + +<xsl:template name="check.id.unique"> +<xsl:param name="linkend"/> + ... +</xsl:template> + +Description + +If passed an ID in linkend, +check.id.unique prints +a warning message to the user if either the ID does not exist or +the ID is not unique. + + + + + +check.idref.targets +Warn users about incorrectly typed references + + +<xsl:template name="check.idref.targets"> +<xsl:param name="linkend"/> +<xsl:param name="element-list"/> + ... +</xsl:template> + +Description + +If passed an ID in linkend, +check.idref.targets makes sure that the element +pointed to by the link is one of the elements listed in +element-list and warns the user otherwise. + + + + + +copyright.years +Print a set of years with collapsed ranges + + +<xsl:template name="copyright.years"> +<xsl:param name="years"/> +<xsl:param name="print.ranges" select="1"/> +<xsl:param name="single.year.ranges" select="0"/> +<xsl:param name="firstyear" select="0"/> +<xsl:param name="nextyear" select="0"/> + ... +</xsl:template> + +Description + +This template prints a list of year elements with consecutive +years printed as a range. In other words: + + +<year>1992</year> +<year>1993</year> +<year>1994</year> + + +is printed 1992-1994, whereas: + + +<year>1992</year> +<year>1994</year> + + +is printed 1992, 1994. + + + +This template assumes that all the year elements contain only +decimal year numbers, that the elements are sorted in increasing +numerical order, that there are no duplicates, and that all the years +are expressed in full century+year +(1999 not 99) notation. + +Parameters + + +years + + +The initial set of year elements. + + + +print.ranges + + +If non-zero, multi-year ranges are collapsed. If zero, all years +are printed discretely. + + + +single.year.ranges + + +If non-zero, two consecutive years will be printed as a range, +otherwise, they will be printed discretely. In other words, a single +year range is 1991-1992 but discretely it's +1991, 1992. + + + + + +Returns + +This template returns the formatted list of years. + + + + + +find.path.params +Search in a table for the "best" match for the node + + +<xsl:template name="find.path.params"> +<xsl:param name="node" select="."/> +<xsl:param name="table" select="''"/> +<xsl:param name="location"> + <xsl:call-template name="xpath.location"> + <xsl:with-param name="node" select="$node"/> + </xsl:call-template> + </xsl:param> + ... +</xsl:template> + +Description + +This template searches in a table for the value that most-closely +(in the typical best-match sense of XSLT) matches the current (element) +node location. + + + + + +string.upper +Converts a string to all uppercase letters + + +<xsl:template name="string.upper"> +<xsl:param name="string" select="''"/> + ... +</xsl:template> + +Description + +Given a string, this template does a language-aware conversion +of that string to all uppercase letters, based on the values of the +lowercase.alpha and +uppercase.alpha gentext keys for the current +locale. It affects only those characters found in the values of +lowercase.alpha and +uppercase.alpha. All other characters are left +unchanged. + +Parameters + + +string + + +The string to convert to uppercase. + + + + + + + + + +string.lower +Converts a string to all lowercase letters + + +<xsl:template name="string.lower"> +<xsl:param name="string" select="''"/> + ... +</xsl:template> + +Description + +Given a string, this template does a language-aware conversion +of that string to all lowercase letters, based on the values of the +uppercase.alpha and +lowercase.alpha gentext keys for the current +locale. It affects only those characters found in the values of +uppercase.alpha and +lowercase.alpha. All other characters are left +unchanged. + +Parameters + + +string + + +The string to convert to lowercase. + + + + + + + + + +select.choice.separator +Returns localized choice separator + + +<xsl:template name="select.choice.separator"/> + +Description + +This template enables auto-generation of an appropriate + localized "choice" separator (for example, "and" or "or") before + the final item in an inline list (though it could also be useful + for generating choice separators for non-inline lists). + + +It currently works by evaluating a processing instruction + (PI) of the form <?dbchoice choice="foo"?> : + + + + if the value of the choice + pseudo-attribute is "and" or "or", returns a localized "and" + or "or" + + + otherwise returns the literal value of the + choice pseudo-attribute + + + + The latter is provided only as a temporary workaround because the + locale files do not currently have translations for the word + or. So if you want to generate a a + logical "or" separator in French (for example), you currently need + to do this: + <?dbchoice choice="ou"?> + + + + +The dbchoice processing instruction is + an unfortunate hack; support for it may disappear in the future + (particularly if and when a more appropriate means for marking + up "choice" lists becomes available in DocBook). + + + + + + +evaluate.info.profile +Evaluates an info profile + + +<xsl:template name="evaluate.info.profile"> +<xsl:param name="profile"/> +<xsl:param name="info"/> + ... +</xsl:template> + +Description + +This template evaluates an "info profile" matching the XPath + expression given by the profile + parameter. It relies on the XSLT evaluate() + extension function. + + + +The value of the profile parameter + can include the literal string $info. If found + in the value of the profile parameter, the + literal string $info string is replaced with + the value of the info parameter, which + should be a set of *info nodes; the + expression is then evaluated using the XSLT + evaluate() extension function. + + Parameters + + + + profile + + +A string representing an XPath expression + + + + + info + + +A set of *info nodes + + + + + + Returns + +Returns a node (the result of evaluating the + profile parameter) + + + + + + Common » Refentry Metadata Template Reference + + $Id: refentry.xsl 7867 2008-03-07 09:54:25Z xmldoc $ + + + + + Introduction + +This is technical reference documentation for the “refentry + metadata” templates in the DocBook XSL Stylesheets. + + +This is not intended to be user documentation. It is provided + for developers writing customization layers for the stylesheets. + + + +Currently, only the manpages stylesheets make use of these + templates. They are, however, potentially useful elsewhere. + + + + + + +get.refentry.metadata +Gathers metadata from a refentry and its ancestors + + +<xsl:template name="get.refentry.metadata"> +<xsl:param name="refname"/> +<xsl:param name="info"/> +<xsl:param name="prefs"/> + ... +</xsl:template> + +Description + +Reference documentation for particular commands, functions, + etc., is sometimes viewed in isolation from its greater "context". For + example, users view Unix man pages as, well, individual pages, not as + part of a "book" of some kind. Therefore, it is sometimes necessary to + embed "context" information in output for each refentry. + + + +However, one problem is that different users mark up that + context information in different ways. Often (usually), the + context information is not actually part of the content of the + refentry itself, but instead part of the content of a + parent or ancestor element to the refentry. And + even then, DocBook provides a variety of elements that users might + potentially use to mark up the same kind of information. One user + might use the productnumber element to mark up version + information about a particular product, while another might use + the releaseinfo element. + + + +Taking all that in mind, the + get.refentry.metadata template tries to gather + metadata from a refentry element and its ancestor + elements in an intelligent and user-configurable way. The basic + mechanism used in the XPath expressions throughout this stylesheet + is to select the relevant metadata from the *info element that is + closest to the actual refentry – either on the + refentry itself, or on its nearest ancestor. + + + + +The get.refentry.metadata + template is actually just sort of a "driver" template; it + calls other templates that do the actual data collection, + then returns the data as a set. + + + + Parameters + + + + refname + + +The first refname in the refentry + + + + + info + + +A set of info nodes (from a refentry + element and its ancestors) + + + + + prefs + + +A node containing user preferences (from global + stylesheet parameters) + + + + + + Returns + +Returns a node set with the following elements. The + descriptions are verbatim from the man(7) man + page. + + + + title + + +the title of the man page (e.g., MAN) + + + + + section + + +the section number the man page should be placed in (e.g., + 7) + + + + + date + + +the date of the last revision + + + + + source + + +the source of the command + + + + + manual + + +the title of the manual (e.g., Linux + Programmer's Manual) + + + + + + + + + + + +get.refentry.title +Gets title metadata for a refentry + + +<xsl:template name="get.refentry.title"> +<xsl:param name="refname"/> + ... +</xsl:template> + +Description + +The man(7) man page describes this as "the + title of the man page (e.g., MAN). This differs + from refname in that, if the refentry has a + refentrytitle, we use that as the title; + otherwise, we just use first refname in the first + refnamediv in the source. + + Parameters + + + + refname + + +The first refname in the refentry + + + + + + Returns + +Returns a title node. + + + + +get.refentry.section +Gets section metadata for a refentry + + +<xsl:template name="get.refentry.section"> +<xsl:param name="refname"/> +<xsl:param name="quiet" select="0"/> + ... +</xsl:template> + +Description + +The man(7) man page describes this as "the + section number the man page should be placed in (e.g., + 7)". If we do not find a manvolnum + specified in the source, and we find that the refentry is + for a function, we use the section number 3 + ["Library calls (functions within program libraries)"]; otherwise, we + default to using 1 ["Executable programs or shell + commands"]. + + Parameters + + + + refname + + +The first refname in the refentry + + + + + quiet + + +If non-zero, no "missing" message is emitted + + + + + + Returns + +Returns a string representing a section number. + + + + +get.refentry.date +Gets date metadata for a refentry + + +<xsl:template name="get.refentry.date"> +<xsl:param name="refname"/> +<xsl:param name="info"/> +<xsl:param name="prefs"/> + ... +</xsl:template> + +Description + +The man(7) man page describes this as "the + date of the last revision". If we cannot find a date in the source, we + generate one. + + Parameters + + + + refname + + +The first refname in the refentry + + + + + info + + +A set of info nodes (from a refentry + element and its ancestors) + + + + + prefs + + +A node containing users preferences (from global stylesheet parameters) + + + + + + Returns + +Returns a date node. + + + + + +get.refentry.source +Gets source metadata for a refentry + + +<xsl:template name="get.refentry.source"> +<xsl:param name="refname"/> +<xsl:param name="info"/> +<xsl:param name="prefs"/> + ... +</xsl:template> + +Description + +The man(7) man page describes this as "the + source of the command", and provides the following examples: + + + + +For binaries, use something like: GNU, NET-2, SLS + Distribution, MCC Distribution. + + + + +For system calls, use the version of the kernel that you are + currently looking at: Linux 0.99.11. + + + + +For library calls, use the source of the function: GNU, BSD + 4.3, Linux DLL 4.4.1. + + + + + + + + +The solbook(5) man page describes + something very much like what man(7) calls + "source", except that solbook(5) names it + "software" and describes it like this: +
+ +This is the name of the software product that the topic + discussed on the reference page belongs to. For example UNIX + commands are part of the SunOS x.x + release. + +
+
+ + + +In practice, there are many pages that simply have a version + number in the "source" field. So, it looks like what we have is a + two-part field, + Name Version, + where: + + + + Name + + +product name (e.g., BSD) or org. name (e.g., GNU) + + + + + Version + + +version name + + + + + + Each part is optional. If the Name is a + product name, then the Version is probably + the version of the product. Or there may be no + Name, in which case, if there is a + Version, it is probably the version of the + item itself, not the product it is part of. Or, if the + Name is an organization name, then there + probably will be no Version. + + +
Parameters + + + + refname + + +The first refname in the refentry + + + + + info + + +A set of info nodes (from a refentry + element and its ancestors) + + + + + prefs + + +A node containing users preferences (from global + stylesheet parameters) + + + + + + Returns + +Returns a source node. + +
+ + + +get.refentry.source.name +Gets source-name metadata for a refentry + + +<xsl:template name="get.refentry.source.name"> +<xsl:param name="refname"/> +<xsl:param name="info"/> +<xsl:param name="prefs"/> + ... +</xsl:template> + +Description + +A "source name" is one part of a (potentially) two-part + Name Version + source field. For more details, see the documentation for the + get.refentry.source template. + + Parameters + + + + refname + + +The first refname in the refentry + + + + + info + + +A set of info nodes (from a refentry + element and its ancestors) + + + + + prefs + + +A node containing users preferences (from global + stylesheet parameters) + + + + + + Returns + +Depending on what output method is used for the + current stylesheet, either returns a text node or possibly an element + node, containing "source name" data. + + + + + +get.refentry.version +Gets version metadata for a refentry + + +<xsl:template name="get.refentry.version"> +<xsl:param name="refname"/> +<xsl:param name="info"/> +<xsl:param name="prefs"/> + ... +</xsl:template> + +Description + +A "version" is one part of a (potentially) two-part + Name Version + source field. For more details, see the documentation for the + get.refentry.source template. + + Parameters + + + + refname + + +The first refname in the refentry + + + + + info + + +A set of info nodes (from a refentry + element and its ancestors) + + + + + prefs + + +A node containing users preferences (from global + stylesheet parameters) + + + + + + Returns + +Depending on what output method is used for the + current stylesheet, either returns a text node or possibly an element + node, containing "version" data. + + + + + +get.refentry.manual +Gets source metadata for a refentry + + +<xsl:template name="get.refentry.manual"> +<xsl:param name="refname"/> +<xsl:param name="info"/> +<xsl:param name="prefs"/> + ... +</xsl:template> + +Description + +The man(7) man page describes this as "the + title of the manual (e.g., Linux Programmer's + Manual)". Here are some examples from existing man pages: + + + + +dpkg utilities + (dpkg-name) + + + + +User Contributed Perl Documentation + (GET) + + + + +GNU Development Tools + (ld) + + + + +Emperor Norton Utilities + (ddate) + + + + +Debian GNU/Linux manual + (faked) + + + + +GIMP Manual Pages + (gimp) + + + + +KDOC Documentation System + (qt2kdoc) + + + + + + + + +The solbook(5) man page describes + something very much like what man(7) calls + "manual", except that solbook(5) names it + "sectdesc" and describes it like this: +
+ +This is the section title of the reference page; for + example User Commands. + +
+
+ + +
Parameters + + + + refname + + +The first refname in the refentry + + + + + info + + +A set of info nodes (from a refentry + element and its ancestors) + + + + + prefs + + +A node containing users preferences (from global + stylesheet parameters) + + + + + + Returns + +Returns a manual node. + +
+ + + +get.refentry.metadata.prefs +Gets user preferences for refentry metadata gathering + + +<xsl:template name="get.refentry.metadata.prefs"/> + +Description + +The DocBook XSL stylesheets include several user-configurable + global stylesheet parameters for controlling refentry + metadata gathering. Those parameters are not read directly by the + other refentry metadata-gathering + templates. Instead, they are read only by the + get.refentry.metadata.prefs template, + which assembles them into a structure that is then passed to + the other refentry metadata-gathering + templates. + + + +So the, get.refentry.metadata.prefs + template is the only interface to collecting stylesheet parameters for + controlling refentry metadata gathering. + + Parameters + +There are no local parameters for this template; however, it + does rely on a number of global parameters. + + Returns + +Returns a manual node. + + + + + +set.refentry.metadata +Sets content of a refentry metadata item + + +<xsl:template name="set.refentry.metadata"> +<xsl:param name="refname"/> +<xsl:param name="info"/> +<xsl:param name="contents"/> +<xsl:param name="context"/> +<xsl:param name="preferred"/> + ... +</xsl:template> + +Description + +The set.refentry.metadata template is + called each time a suitable source element is found for a certain + metadata field. + + Parameters + + + + refname + + +The first refname in the refentry + + + + + info + + +A single *info node that contains the selected source element. + + + + + contents + + +A node containing the selected source element. + + + + + context + + +A string describing the metadata context in which the + set.refentry.metadata template was + called: either "date", "source", "version", or "manual". + + + + + + Returns + +Returns formatted contents of a selected source element. + +
+ + + Common » Utility Template Reference + + $Id: utility.xsl 7101 2007-07-20 15:32:12Z xmldoc $ + + + + + Introduction + +This is technical reference documentation for the + miscellaneous utility templates in the DocBook XSL + Stylesheets. + + + +These templates are defined in a separate file from the set + of “common” templates because some of the common templates + reference DocBook XSL stylesheet parameters, requiring the + entire set of parameters to be imported/included in any + stylesheet that imports/includes the common templates. + + +The utility templates don’t import or include any DocBook + XSL stylesheet parameters, so the utility templates can be used + without importing the whole set of parameters. + + + +This is not intended to be user documentation. It is + provided for developers writing customization layers for the + stylesheets. + + + + + +log.message +Logs/emits formatted notes and warnings + + +<xsl:template name="log.message"> +<xsl:param name="level"/> +<xsl:param name="source"/> +<xsl:param name="context-desc"/> +<xsl:param name="context-desc-field-length">12</xsl:param> +<xsl:param name="context-desc-padded"> + <xsl:if test="not($context-desc = '')"> + <xsl:call-template name="pad-string"> + <xsl:with-param name="leftRight">right</xsl:with-param> + <xsl:with-param name="padVar" select="substring($context-desc, 1, $context-desc-field-length)"/> + <xsl:with-param name="length" select="$context-desc-field-length"/> + </xsl:call-template> + </xsl:if> + </xsl:param> +<xsl:param name="message"/> +<xsl:param name="message-field-length" select="45"/> +<xsl:param name="message-padded"> + <xsl:variable name="spaces-for-blank-level"> + <!-- * if the level field is blank, we'll need to pad out --> + <!-- * the message field with spaces to compensate --> + <xsl:choose> + <xsl:when test="$level = ''"> + <xsl:value-of select="4 + 2"/> + <!-- * 4 = hard-coded length of comment text ("Note" or "Warn") --> + <!-- * + 2 = length of colon-plus-space separator ": " --> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="0"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:variable name="spaces-for-blank-context-desc"> + <!-- * if the context-description field is blank, we'll need --> + <!-- * to pad out the message field with spaces to compensate --> + <xsl:choose> + <xsl:when test="$context-desc = ''"> + <xsl:value-of select="$context-desc-field-length + 2"/> + <!-- * + 2 = length of colon-plus-space separator ": " --> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="0"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:variable name="extra-spaces" select="$spaces-for-blank-level + $spaces-for-blank-context-desc"/> + <xsl:call-template name="pad-string"> + <xsl:with-param name="leftRight">right</xsl:with-param> + <xsl:with-param name="padVar" select="substring($message, 1, ($message-field-length + $extra-spaces))"/> + <xsl:with-param name="length" select="$message-field-length + $extra-spaces"/> + </xsl:call-template> + </xsl:param> + ... +</xsl:template> + +Description + +The log.message template is a utility + template for logging/emitting formatted messages – that is, + notes and warnings, along with a given log “level” and an + identifier for the “source” that the message relates to. + + Parameters + + + level + + +Text to log/emit in the message-level field to + indicate the message level + (Note or + Warning) + + + + source + + +Text to log/emit in the source field to identify the + “source” to which the notification/warning relates. + This can be any arbitrary string, but because the + message lacks line and column numbers to identify the + exact part of the source document to which it + relates, the intention is that the value you pass + into the source parameter should + give the user some way to identify the portion of + their source document on which to take potentially + take action in response to the log message (for + example, to edit, change, or add content). + + +So the source value should be, + for example, an ID, book/chapter/article title, title + of some formal object, or even a string giving an + XPath expression. + + + + context-desc + + +Text to log/emit in the context-description field to + describe the context for the message. + + + + context-desc-field-length + + +Specifies length of the context-description field + (in characters); default is 12 + + +If the text specified by the + context-desc parameter is longer + than the number of characters specified in + context-desc-field-length, it is + truncated to context-desc-field-length + (12 characters by default). + + +If the specified text is shorter than + context-desc-field-length, + it is right-padded out to + context-desc-field-length (12 by + default). + + +If no value has been specified for the + context-desc parameter, the field is + left empty and the text of the log message begins with + the value of the message + parameter. + + + + message + + +Text to log/emit in the actual message field + + + + message-field-length + + +Specifies length of the message + field (in characters); default is 45 + + + + + + Returns + +Outputs a message (generally, to standard error). + + + + +get.doc.title +Gets a title from the current document + + +<xsl:template name="get.doc.title"/> + +Description + +The get.doc.title template is a + utility template for returning the first title found in the + current document. + + Returns + +Returns a string containing some identifying title for the + current document . + + + + +pad-string +Right-pads or left-pads a string out to a certain length + + +<xsl:template name="pad-string"> +<xsl:param name="padChar" select="' '"/> +<xsl:param name="leftRight">left</xsl:param> +<xsl:param name="padVar"/> +<xsl:param name="length"/> + ... +</xsl:template> + +Description + +This function takes string padVar and + pads it out in the direction rightLeft to + the string-length length, using string + padChar (a space character by default) as + the padding string (note that padChar can + be a string; it is not limited to just being a single + character). + + + +This function began as a copy of Nate Austin's + prepend-pad function in the Padding + Content section of Dave Pawson's XSLT + FAQ. + + + Returns + +Returns a (padded) string. + + + + + Common » Character-Map Template Reference + + $Id: charmap.xsl 7266 2007-08-22 11:58:42Z xmldoc $ + + + + + Introduction + +This is technical reference documentation for the + character-map templates in the DocBook XSL Stylesheets. + + + +These templates are defined in a separate file from the set + of “common” templates because some of the common templates + reference DocBook XSL stylesheet parameters, requiring the + entire set of parameters to be imported/included in any + stylesheet that imports/includes the common templates. + + +The character-map templates don’t import or include + any DocBook XSL stylesheet parameters, so the + character-map templates can be used without importing the + whole set of parameters. + + + +This is not intended to be user documentation. It is + provided for developers writing customization layers for the + stylesheets. + + + + + +apply-character-map +Applies an XSLT character map + + +<xsl:template name="apply-character-map"> +<xsl:param name="content"/> +<xsl:param name="map.contents"/> + ... +</xsl:template> + +Description + +This template applies an XSLT character map; that is, it causes certain + individual characters to be substituted with strings of one + or more characters. It is useful mainly for replacing + multiple “special” characters or symbols in the same target + content. It uses the value of + map.contents to do substitution on + content, and then returns the + modified contents. + + + +This template is a very slightly modified version of + Jeni Tennison’s replace_strings + template in the multiple string replacements section of Dave Pawson’s + XSLT FAQ. + + +The apply-string-subst-map + template is essentially the same template as the + apply-character-map template; the + only difference is that in the map that + apply-string-subst-map expects, oldstring and newstring attributes are used + instead of character and string attributes. + + + Parameters + + + content + + +The content on which to perform the character-map + substitution. + + + + map.contents + + +A node set of elements, with each element having + the following attributes: + + + + character, a + character to be replaced + + + string, a + string with which to replace character + + + + + + + + + + + + + +read-character-map +Reads in all or part of an XSLT character map + + +<xsl:template name="read-character-map"> +<xsl:param name="use.subset"/> +<xsl:param name="subset.profile"/> +<xsl:param name="uri"/> + ... +</xsl:template> + +Description + +The XSLT 2.0 specification describes character maps and explains how they may be used + to allow a specific character appearing in a text or + attribute node in a final result tree to be substituted by + a specified string of characters during serialization. The + read-character-map template provides a + means for reading and using character maps with XSLT + 1.0-based tools. + + +This template reads the character-map contents from + uri (in full or in part, depending on + the value of the use.subset + parameter), then passes those contents to the + apply-character-map template, along with + content, the data on which to perform + the character substitution. + + +Using the character map “in part” means that it uses only + those output-character elements that match the + XPath expression given in the value of the + subset.profile parameter. The current + implementation of that capability here relies on the + evaluate extension XSLT function. + + Parameters + + + use.subset + + +Specifies whether to use a subset of the character + map instead of the whole map; boolean + 0 or 1 + + + + subset.profile + + +XPath expression that specifies what subset of the + character map to use + + + + uri + + +URI for a character map + + + + + + + +
+ + + + + Formatting Object Table Reference + + $Id: table.xsl 8814 2010-08-09 21:19:53Z bobstayton $ + + + + Introduction + +This is technical reference documentation for the FO + table-processing templates in the DocBook XSL Stylesheets. + + +This is not intended to be user documentation. It is + provided for developers writing customization layers for the + stylesheets. + + + + + +calc.column.width +Calculate an XSL FO table column width specification from a +CALS table column width specification. + + +<xsl:template name="calc.column.width"> +<xsl:param name="colwidth">1*</xsl:param> + ... +</xsl:template> + +Description + +CALS expresses table column widths in the following basic +forms: + + + + + + +99.99units, a fixed length specifier. + + + + +99.99, a fixed length specifier without any units. + + + + +99.99*, a relative length specifier. + + + + +99.99*+99.99units, a combination of both. + + + + + + +The CALS units are points (pt), picas (pi), centimeters (cm), +millimeters (mm), and inches (in). These are the same units as XSL, +except that XSL abbreviates picas "pc" instead of "pi". If a length +specifier has no units, the CALS default unit (pt) is assumed. + + + +Relative length specifiers are represented in XSL with the +proportional-column-width() function. + + + +Here are some examples: + + + + + + +"36pt" becomes "36pt" + + + + +"3pi" becomes "3pc" + + + + +"36" becomes "36pt" + + + + +"3*" becomes "proportional-column-width(3)" + + + + +"3*+2pi" becomes "proportional-column-width(3)+2pc" + + + + +"1*+2" becomes "proportional-column-width(1)+2pt" + + + + +Parameters + + +colwidth + + +The CALS column width specification. + + + + + +Returns + +The XSL column width specification. + + + + + + + + + + Titlepage Template Stylesheet Reference + + $Id: titlepage.xsl 7058 2007-07-17 13:59:29Z xmldoc $ + + + + Introduction + +This is technical reference documentation for the + “titlepage” templates in the DocBook XSL Stylesheets. + + +This is not intended to be user documentation. It is + provided for developers writing customization layers for the + stylesheets. + + + + + +t:templates +Construct a stylesheet for the templates provided + + +<xsl:template match="t:templates"/> + +Description + +The t:templates element is the root of a +set of templates. This template creates an appropriate +xsl:stylesheet for the templates. + + + +If the t:templates element has a +base-stylesheet attribute, an +xsl:import statement is constructed for it. + + + + + +xsl:* +Copy xsl: elements straight through + + +<xsl:template match="xsl:*"/> + +Description + +This template simply copies the xsl: elements +straight through into the result tree. + + + + + +t:titlepage +Create the templates necessary to construct a title page + + +<xsl:template match="t:titlepage"/> + +Description + +The t:titlepage element creates a set of +templates for processing the titlepage for an element. The +root of this template set is the template named +wrapper.titlepage. That is the +template that should be called to generate the title page. + + + + +The t:titlepage element has three attributes: + + + +element + +The name of the source document element for which +these templates apply. In other words, to make a title page for the +article element, set the +element attribute to +article. This attribute is required. + + + +wrapper + +The entire title page can be wrapped with an element. +This attribute identifies that element. + + + +class + +If the class attribute +is set, a class attribute with this +value will be added to the wrapper element that surrounds the entire +title page. + + + + + + + + + +Any other attributes are copied through literally to the +wrapper element. + + + +The content of a t:titlepage is one or +more t:titlepage-content, +t:titlepage-separator, and +t:titlepage-before elements. + + + +Each of these elements may be provided for the recto +and verso sides of the title page. + + + + + + +@* (in copy.literal.atts mode) +Copy t:titlepage attributes + + +<xsl:template match="@*" mode="copy.literal.atts"/> + +Description + +This template copies all of the other attributes +from a t:titlepage element onto the specified +wrapper. + + + + + +t:titlepage-content +Create templates for the content of one side of a title page + + +<xsl:template match="t:titlepage-content"/> + +Description + +The title page content, that is, the elements from the source +document that are rendered on the title page, can be controlled independently +for the recto and verso sides of the title page. + + + +The t:titlepage-content element has two attributes: + + + +side + +Identifies the side of the page to which this title +page content applies. The +side attribute is required and +must be set to either +recto or +verso. In addition, you must specify +exactly one t:titlepage-content for each side +within each t:titlepage. + + + +order + +Indicates how the order of the elements presented on +the title page is determined. If the +order is +document, the elements are presented +in document order. Otherwise (if the +order is +stylesheet), the elements are presented +in the order that they appear in the template (and consequently in +the stylesheet). + + + + + + + + + +The content of a t:titlepage-content element is +a list of element names. These names should be unqualified. They identify +the elements in the source document that should appear on the title page. + + + + +Each element may have a single attribute: +predicate. The value of this +attribute is used as a predicate for the expression that matches +the element on which it occurs. + + + +In other words, to put only the first three authors on the +recto-side of a title +page, you could specify: + + + <t:titlepage-contents side="recto"> + <!-- other titlepage elements --> + <author predicate="[count(previous-sibling::author)<2]"/> + <!-- other titlepage elements --> + </t:titlepage-contents> + + + + + +Usually, the elements so named are empty. But it is possible to +make one level of selection within them. Suppose that you want to +process authorgroup elements on the title page, but +you want to select only proper authors, editors, or corporate authors, +not collaborators or other credited authors. + + + +In that case, you can put a t:or group inside +the authorgroup element: + + + <t:titlepage-contents side="recto"> + <!-- other titlepage elements --> + <authorgroup> + <t:or> + <author/> + <editor/> + <corpauthor/> + </t:or> + </authorgroup> + <!-- other titlepage elements --> + </t:titlepage-contents> + + + + + +This will have the effect of automatically generating a template +for processing authorgroups in the title page mode, +selecting only the specified children. If you need more complex processing, +you'll have to construct the templates by hand. + + + + + + +t:titlepage-separator +Create templates for the separator + + +<xsl:template match="t:titlepage-separator"/> + +Description + +The title page is separated from the content which follows it by +the markup specified in the t:titlepage-separator +element. + + + + + +t:titlepage-before +Create templates for what precedes a title page + + +<xsl:template match="t:titlepage-before"/> + +Description + +Each side of the title page is preceded by the markup specified +in the t:titlepage-before element for that +side. + + + + + +* (in copy mode) +Copy elements + + +<xsl:template match="*" mode="copy"/> + +Description + +This template simply copies the elements that it applies to +straight through into the result tree. + + + + + +@* (in copy mode) +Copy attributes + + +<xsl:template match="@*" mode="copy"/> + +Description + +This template simply copies the attributes that it applies to +straight through into the result tree. + + + + + +* (in document.order mode) +Create rules to process titlepage elements in document order + + +<xsl:template match="*" mode="document.order"/> + +Description + +This template is called to process all of the children of the +t:titlepage-content element. It creates the hairy +select expression necessary to process each of those elements in +the title page. + + + +Note that this template automatically handles the case where +some DocBook elements, like title and subtitle, can occur both inside +the *info elements where metadata is usually stored and outside. + + + + +It also automatically calculates the name for the *info container +and handles elements that have historically had containers with different +names. + + + + + + +* (in document.order mode) +Create rules to process titlepage elements in stylesheet order + + +<xsl:template match="*" mode="document.order"/> + +Description + +This template is called to process all of the children of the +t:titlepage-content element. It creates the set +of xsl:apply-templates elements necessary +process each of those elements in the title page. + + + +Note that this template automatically handles the case where +some DocBook elements, like title and subtitle, can occur both inside +the *info elements where metadata is usually stored and outside. + + + + +It also automatically calculates the name for the *info container +and handles elements that have historically had containers with different +names. + + + + + + +* (in titlepage.specialrules mode) +Create templates for special rules + + +<xsl:template match="*" mode="titlepage.specialrules"/> + +Description + +This template is called to process all of the descendants of the +t:titlepage-content element that require special +processing. At present, that's just t:or elements. + + + + + + +* (in titlepage.subrules mode) +Create template for individual special rules + + +<xsl:template match="*" mode="titlepage.subrules"/> + +Description + +This template is called to process the children of special +template elements. + + + + + + +t:or +Process the t:or special rule + + +<xsl:template match="t:or"/><xsl:template match="t:or" mode="titlepage.subrules"/> + +Description + +This template processes t:or. + + + + + +t:or (in titlepage.subrules mode) +Process the t:or special rule in +titlepage.subrules mode + + +<xsl:template match="t:or" mode="titlepage.subrules"/> + +Description + +The titlepage.subrules mode doesn't apply to t:or, so just +reprocess this node in the normal mode. + + + + + +element-or-list +Construct the "or-list" used in the select attribute for +special rules. + + +<xsl:template name="element-or-list"> +<xsl:param name="elements" select="*"/> +<xsl:param name="element.count" select="count($elements)"/> +<xsl:param name="count" select="1"/> +<xsl:param name="orlist"/> + ... +</xsl:template> + +Description + +Walk through each of the children of t:or, producing the +text of the select attribute. + + + + +
+
\ No newline at end of file diff --git a/doc/help/xslt/docsrc/warranty.xml b/doc/help/xslt/docsrc/warranty.xml new file mode 100644 index 00000000..3c70d323 --- /dev/null +++ b/doc/help/xslt/docsrc/warranty.xml @@ -0,0 +1,11 @@ +Warranty +THE SOFTWARE IS PROVIDED AS IS, +WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT +LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR +PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL NORMAN WALSH OR ANY +OTHER CONTRIBUTOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT +OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + diff --git a/doc/help/xslt/eclipse/eclipse.xsl b/doc/help/xslt/eclipse/eclipse.xsl new file mode 100644 index 00000000..07ddcea6 --- /dev/null +++ b/doc/help/xslt/eclipse/eclipse.xsl @@ -0,0 +1,306 @@ + + + + + + + + + + + + + + + + + + + Note + + + namesp. cut + + + stripped namespace before processing + + + + + + + Note + + + namesp. cut + + + processing stripped document + + + + + + + + + + + ID ' + + ' not found in document. + + + + + + + + Formatting from + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ( + + + ) + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/eclipse/eclipse3.xsl b/doc/help/xslt/eclipse/eclipse3.xsl new file mode 100644 index 00000000..c0d3a4ef --- /dev/null +++ b/doc/help/xslt/eclipse/eclipse3.xsl @@ -0,0 +1,111 @@ + + + + + + + + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Manifest-Version: 1.0 + + Bundle-Version: 1.0 + + Bundle-Name: + + Bundle-SymbolicName: + + Bundle-Vendor: + + + + + \ No newline at end of file diff --git a/doc/help/xslt/eclipse/profile-eclipse.xsl b/doc/help/xslt/eclipse/profile-eclipse.xsl new file mode 100644 index 00000000..5040c9ba --- /dev/null +++ b/doc/help/xslt/eclipse/profile-eclipse.xsl @@ -0,0 +1,269 @@ + + + + + + + + + +Note: namesp. cut : stripped namespace before processingNote: namesp. cut : processing stripped document + + + + + + + + + + + + + + + + ID ' + + ' not found in document. + + + + + + + + Formatting from + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ( + + + ) + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/epub/README b/doc/help/xslt/epub/README new file mode 100644 index 00000000..5e2587a1 --- /dev/null +++ b/doc/help/xslt/epub/README @@ -0,0 +1,88 @@ +---------------------------------------------------------------------- + README file for the DocBook XSL Stylesheets +---------------------------------------------------------------------- + +These are XSL stylesheets for transforming DocBook XML document +instances into .epub format. + +.epub is an open standard of the The International Digital Publishing Forum (IDPF), +a the trade and standards association for the digital publishing industry. + +An alpha-quality reference implementation (dbtoepub) for a DocBook to .epub +converter (written in Ruby) is available under bin/. + +From http://idpf.org + What is EPUB, .epub, OPS/OCF & OEB? + + ".epub" is the file extension of an XML format for reflowable digital + books and publications. ".epub" is composed of three open standards, + the Open Publication Structure (OPS), Open Packaging Format (OPF) and + Open Container Format (OCF), produced by the IDPF. "EPUB" allows + publishers to produce and send a single digital publication file + through distribution and offers consumers interoperability between + software/hardware for unencrypted reflowable digital books and other + publications. The Open eBook Publication Structure or "OEB", + originally produced in 1999, is the precursor to OPS. + +---------------------------------------------------------------------- +.epub Constraints +---------------------------------------------------------------------- + +.epub does not support all of the image formats that DocBook supports. +When an image is available in an accepted format, it will be used. The +accepted @formats are: 'GIF','GIF87a','GIF89a','JPEG','JPG','PNG','SVG' +A mime-type for the image will be guessed from the file extension, +which may not work if your file extensions are non-standard. + +Non-supported elements: + * + * , , , with text/XML + @filerefs + * + * in lists (generic XHTML rendering inability) + * (just make your programlistings + siblings, rather than descendents of paras) + +---------------------------------------------------------------------- +dbtoepub Reference Implementation +---------------------------------------------------------------------- + +An alpha-quality DocBook to .epub conversion program, dbtoepub, is provided +in bin/dbtoepub. + +This tool requires: + - 'xsltproc' in your PATH + - 'zip' in your PATH + - Ruby 1.8.4+ + +Windows compatibility has not been extensively tested; bug reports encouraged. +[See http://www.zlatkovic.com/libxml.en.html and http://unxutils.sourceforge.net/] + +$ dbtoepub --help + Usage: dbtoepub [OPTIONS] [DocBook Files] + + dbtoepub converts DocBook and
s into to .epub files. + + .epub is defined by the IDPF at www.idpf.org and is made up of 3 standards: + - Open Publication Structure (OPS) + - Open Packaging Format (OPF) + - Open Container Format (OCF) + + Specific options: + -d, --debug Show debugging output. + -h, --help Display usage info + -v, --verbose Make output verbose + + +---------------------------------------------------------------------- +Validation +---------------------------------------------------------------------- + +The epubcheck project provides limited validation for .epub documents. +See http://code.google.com/p/epubcheck/ for details. + +---------------------------------------------------------------------- +Copyright information +---------------------------------------------------------------------- +See the accompanying file named COPYING. + diff --git a/doc/help/xslt/epub/bin/dbtoepub b/doc/help/xslt/epub/bin/dbtoepub new file mode 100755 index 00000000..9976f816 --- /dev/null +++ b/doc/help/xslt/epub/bin/dbtoepub @@ -0,0 +1,76 @@ +#!/usr/bin/env ruby +# This program converts DocBook documents into .epub files. +# +# Usage: dbtoepub [OPTIONS] [DocBook Files] +# +# .epub is defined by the IDPF at www.idpf.org and is made up of 3 standards: +# - Open Publication Structure (OPS) +# - Open Packaging Format (OPF) +# - Open Container Format (OCF) +# +# Specific options: +# -c, --css [FILE] Use FILE for CSS on generated XHTML. +# -d, --debug Show debugging output. +# -f, --font [OTF FILE] Embed OTF FILE in .epub. +# -h, --help Display usage info. +# -s, --stylesheet [XSL FILE] Use XSL FILE as a customization +# layer (imports epub/docbook.xsl). +# -v, --verbose Make output verbose. + +lib = File.expand_path(File.join(File.dirname(__FILE__), 'lib')) +$LOAD_PATH.unshift(lib) if File.exist?(lib) + +require 'fileutils' +require 'optparse' +require 'tmpdir' + +require 'docbook' + +verbose = false +debug = false +css_file = nil +otf_files = [] +customization_layer = nil +output_file = nil + +#$DEBUG=true + +# Set up the OptionParser +opts = OptionParser.new +opts.banner = "Usage: #{File.basename($0)} [OPTIONS] [DocBook Files] + +#{File.basename($0)} converts DocBook and
s into to .epub files. + +.epub is defined by the IDPF at www.idpf.org and is made up of 3 standards: +- Open Publication Structure (OPS) +- Open Packaging Format (OPF) +- Open Container Format (OCF) + +Specific options:" +opts.on("-c", "--css [FILE]", "Use FILE for CSS on generated XHTML.") {|f| css_file = f} +opts.on("-d", "--debug", "Show debugging output.") {debug = true; verbose = true} +opts.on("-f", "--font [OTF FILE]", "Embed OTF FILE in .epub.") {|f| otf_files << f} +opts.on("-h", "--help", "Display usage info.") {puts opts.to_s; exit 0} +opts.on("-o", "--output [OUTPUT FILE]", "Output ePub file as OUTPUT FILE.") {|f| output_file = f} +opts.on("-s", "--stylesheet [XSL FILE]", "Use XSL FILE as a customization layer (imports epub/docbook.xsl).") {|f| customization_layer = f} +opts.on("-v", "--verbose", "Make output verbose.") {verbose = true} + +db_files = opts.parse(ARGV) +if db_files.size == 0 + puts opts.to_s + exit 0 +end + +db_files.each {|docbook_file| + dir = File.expand_path(File.join(Dir.tmpdir, ".epubtmp#{Time.now.to_f.to_s}")) + FileUtils.mkdir_p(dir) + e = DocBook::Epub.new(docbook_file, dir, css_file, customization_layer, otf_files) + + if output_file + epub_file = output_file + else + epub_file = File.basename(docbook_file, ".xml") + ".epub" + end + puts "Rendering DocBook file #{docbook_file} to #{epub_file}" if verbose + e.render_to_file(epub_file) +} diff --git a/doc/help/xslt/epub/bin/lib/docbook.rb b/doc/help/xslt/epub/bin/lib/docbook.rb new file mode 100755 index 00000000..14110d60 --- /dev/null +++ b/doc/help/xslt/epub/bin/lib/docbook.rb @@ -0,0 +1,227 @@ +require 'fileutils' +require 'rexml/parsers/pullparser' + +module DocBook + + class Epub + CHECKER = "epubcheck" + STYLESHEET = File.expand_path(File.join(File.dirname(__FILE__), '..', '..', "docbook.xsl")) + CALLOUT_PATH = File.join('images', 'callouts') + CALLOUT_FULL_PATH = File.expand_path(File.join(File.dirname(__FILE__), '..', '..', '..', CALLOUT_PATH)) + CALLOUT_LIMIT = 15 + CALLOUT_EXT = ".png" + XSLT_PROCESSOR = "xsltproc" + OUTPUT_DIR = ".epubtmp#{Time.now.to_f.to_s}" + MIMETYPE = "application/epub+zip" + META_DIR = "META-INF" + OEBPS_DIR = "OEBPS" + ZIPPER = "zip" + + attr_reader :output_dir + + def initialize(docbook_file, output_dir=OUTPUT_DIR, css_file=nil, customization_layer=nil, embedded_fonts=[]) + @docbook_file = docbook_file + @output_dir = output_dir + @meta_dir = File.join(@output_dir, META_DIR) + @oebps_dir = File.join(@output_dir, OEBPS_DIR) + @css_file = css_file ? File.expand_path(css_file) : css_file + @embedded_fonts = embedded_fonts + @to_delete = [] + + if customization_layer + @stylesheet = File.expand_path(customization_layer) + else + @stylesheet = STYLESHEET + end + + unless File.exist?(@docbook_file) + raise ArgumentError.new("File #{@docbook_file} does not exist") + end + end + + def render_to_file(output_file, verbose=false) + render_to_epub(output_file, verbose) + bundle_epub(output_file, verbose) + cleanup_files(@to_delete) + end + + def self.invalid?(file) + # Obnoxiously, we can't just check for a non-zero output... + cmd = %Q(#{CHECKER} "#{file}") + output = `#{cmd} 2>&1` + + if $?.to_i == 0 + return false + else + STDERR.puts output if $DEBUG + return output + end + end + + private + def render_to_epub(output_file, verbose) + @collapsed_docbook_file = collapse_docbook() + + chunk_quietly = "--stringparam chunk.quietly " + (verbose ? '0' : '1') + callout_path = "--stringparam callout.graphics.path #{CALLOUT_PATH}/" + callout_limit = "--stringparam callout.graphics.number.limit #{CALLOUT_LIMIT}" + callout_ext = "--stringparam callout.graphics.extension #{CALLOUT_EXT}" + html_stylesheet = "--stringparam html.stylesheet #{File.basename(@css_file)}" if @css_file + base = "--stringparam base.dir #{OEBPS_DIR}/" + unless @embedded_fonts.empty? + embedded_fonts = @embedded_fonts.map {|f| File.basename(f)}.join(',') + font = "--stringparam epub.embedded.fonts \"#{embedded_fonts}\"" + end + meta = "--stringparam epub.metainf.dir #{META_DIR}/" + oebps = "--stringparam epub.oebps.dir #{OEBPS_DIR}/" + options = [chunk_quietly, + callout_path, + callout_limit, + callout_ext, + base, + font, + meta, + oebps, + html_stylesheet, + ].join(" ") + # Double-quote stylesheet & file to help Windows cmd.exe + db2epub_cmd = %Q(cd "#{@output_dir}" && #{XSLT_PROCESSOR} #{options} "#{@stylesheet}" "#{@collapsed_docbook_file}") + STDERR.puts db2epub_cmd if $DEBUG + success = system(db2epub_cmd) + raise "Could not render as .epub to #{output_file} (#{db2epub_cmd})" unless success + @to_delete << Dir["#{@meta_dir}/*"] + @to_delete << Dir["#{@oebps_dir}/*"] + end + + def bundle_epub(output_file, verbose) + + quiet = verbose ? "" : "-q" + mimetype_filename = write_mimetype() + meta = File.basename(@meta_dir) + oebps = File.basename(@oebps_dir) + images = copy_images() + csses = copy_csses() + fonts = copy_fonts() + callouts = copy_callouts() + # zip -X -r ../book.epub mimetype META-INF OEBPS + # Double-quote stylesheet & file to help Windows cmd.exe + zip_cmd = %Q(cd "#{@output_dir}" && #{ZIPPER} #{quiet} -X -r "#{File.expand_path(output_file)}" "#{mimetype_filename}" "#{meta}" "#{oebps}") + puts zip_cmd if $DEBUG + success = system(zip_cmd) + raise "Could not bundle into .epub file to #{output_file}" unless success + end + + # Input must be collapsed because REXML couldn't find figures in files that + # were XIncluded or added by ENTITY + # http://sourceforge.net/tracker/?func=detail&aid=2750442&group_id=21935&atid=373747 + def collapse_docbook + # Double-quote stylesheet & file to help Windows cmd.exe + collapsed_file = File.join(File.expand_path(File.dirname(@docbook_file)), + '.collapsed.' + File.basename(@docbook_file)) + entity_collapse_command = %Q(xmllint --loaddtd --noent -o "#{collapsed_file}" "#{@docbook_file}") + entity_success = system(entity_collapse_command) + raise "Could not collapse named entites in #{@docbook_file}" unless entity_success + + xinclude_collapse_command = %Q(xmllint --xinclude -o "#{collapsed_file}" "#{collapsed_file}") + xinclude_success = system(xinclude_collapse_command) + raise "Could not collapse XIncludes in #{@docbook_file}" unless xinclude_success + + @to_delete << collapsed_file + return collapsed_file + end + + def copy_callouts + new_callout_images = [] + if has_callouts? + calloutglob = "#{CALLOUT_FULL_PATH}/*#{CALLOUT_EXT}" + Dir.glob(calloutglob).each {|img| + img_new_filename = File.join(@oebps_dir, CALLOUT_PATH, File.basename(img)) + + # TODO: What to rescue for these two? + FileUtils.mkdir_p(File.dirname(img_new_filename)) + FileUtils.cp(img, img_new_filename) + @to_delete << img_new_filename + new_callout_images << img + } + end + return new_callout_images + end + + def copy_fonts + new_fonts = [] + @embedded_fonts.each {|font_file| + font_new_filename = File.join(@oebps_dir, File.basename(font_file)) + FileUtils.cp(font_file, font_new_filename) + new_fonts << font_file + } + return new_fonts + end + + def copy_csses + if @css_file + css_new_filename = File.join(@oebps_dir, File.basename(@css_file)) + FileUtils.cp(@css_file, css_new_filename) + end + end + + def copy_images + image_references = get_image_refs() + new_images = [] + image_references.each {|img| + # TODO: It'd be cooler if we had a filetype lookup rather than just + # extension + if img =~ /\.(svg|png|gif|jpe?g|xml)/i + img_new_filename = File.join(@oebps_dir, img) + img_full = File.join(File.expand_path(File.dirname(@docbook_file)), img) + + # TODO: What to rescue for these two? + FileUtils.mkdir_p(File.dirname(img_new_filename)) + puts(img_full + ": " + img_new_filename) if $DEBUG + FileUtils.cp(img_full, img_new_filename) + @to_delete << img_new_filename + new_images << img_full + end + } + return new_images + end + + def write_mimetype + mimetype_filename = File.join(@output_dir, "mimetype") + File.open(mimetype_filename, "w") {|f| f.print MIMETYPE} + @to_delete << mimetype_filename + return File.basename(mimetype_filename) + end + + def cleanup_files(file_list) + file_list.flatten.each {|f| + # Yikes + FileUtils.rm_r(f, :force => true ) + } + end + + # Returns an Array of all of the (image) @filerefs in a document + def get_image_refs + parser = REXML::Parsers::PullParser.new(File.new(@collapsed_docbook_file)) + image_refs = [] + while parser.has_next? + el = parser.pull + if el.start_element? and (el[0] == "imagedata" or el[0] == "graphic") + image_refs << el[1]['fileref'] + end + end + return image_refs.uniq + end + + # Returns true if the document has code callouts + def has_callouts? + parser = REXML::Parsers::PullParser.new(File.new(@collapsed_docbook_file)) + while parser.has_next? + el = parser.pull + if el.start_element? and (el[0] == "calloutlist" or el[0] == "co") + return true + end + end + return false + end + end +end diff --git a/doc/help/xslt/epub/bin/xslt/obfuscate.xsl b/doc/help/xslt/epub/bin/xslt/obfuscate.xsl new file mode 100644 index 00000000..4ea4cd55 --- /dev/null +++ b/doc/help/xslt/epub/bin/xslt/obfuscate.xsl @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/doc/help/xslt/epub/docbook.xsl b/doc/help/xslt/epub/docbook.xsl new file mode 100644 index 00000000..753fcd00 --- /dev/null +++ b/doc/help/xslt/epub/docbook.xsl @@ -0,0 +1,1690 @@ + + + + + + + + + + 1 + 2 + + book toc,title + + + + + 4 + + + + + + + + + + + + + + + ncxtoc + htmltoc + + + + + + 0 + + + + + + + + .png + + + + + + + + + + + + + + + + 1 + + + 1 + + + 1 + + + 1 + + + 0 + + + + + + + + + + + + + + + + + + Note + + + namesp. cut + + + stripped namespace before processing + + + + + + + Note + + + namesp. cut + + + processing stripped document + + + + + + + + + + + ID ' + + ' not found in document. + + + + + + + + + Formatting from + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + urn: + + : + + + + + urn:isbn: + + + + urn:issn: + + + + + + + + + + + + + _ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2.0 + + + + + + + + + + + + + + + + + + + + + + cover + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1.0 + + + + + + + application/oebps-package+xml + + + + + + + + + + + + + + + + + + + + + + + + + 2005-1 + + + + + + cover + + + + + + + dtb:uid + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + : + + + + + + + + : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + © + + + + + + + + + + + + + + + + cover + Cover + + + + + + + + + + + toc + Table of Contents + + + + + + + + + + + + + + + + + + + + + + yes + + no + + + + + + + + + + yes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + application/x-dtbncx+xml + + + + + + + application/xhtml+xml + + + + + + + + + + + text/css + css + + + + + + + + + + + application/xhtml+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/gif + + + image/gif + + + image/png + + + image/png + + + image/jpeg + + + image/jpeg + + + image/jpeg + + + image/jpeg + + + image/svg+xml + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + WARNING: mediaobjectco almost certainly will not render as expected in .epub! + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + application/xhtml+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + (missing alt) + + + + + + + + + + + + + + text-align: + + middle + + + + + + + + + + + + + + + + + + + + + + 1 + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + + 1 + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No insertfile extension available. + + + + + + + + No insertfile extension available. Use a different processor (with extensions) or turn on $use.extensions and $textinsert.extension (see docs for more). + + + + + + + + + + + + + + + + + + + + + + + + + + + + Cover + + text/css + + img { max-width: 100%; } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -toc + + + + + + + + + + + + + + + + + + + + + + + + font/opentype + + + + WARNING: OpenType fonts should be supplied! ( + + ) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 6 + + + + + + + + + + clear: both + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + 1 + + + + + + + 1 + 2 + 3 + 4 + 5 + + + + + + + + + + + + + + + + + + + + + + + + 6 + 5 + 4 + 3 + 2 + 1 + + + + + title + + + + + + + + + + + + + diff --git a/doc/help/xslt/extensions/LICENSE.txt b/doc/help/xslt/extensions/LICENSE.txt new file mode 100755 index 00000000..fed77d97 --- /dev/null +++ b/doc/help/xslt/extensions/LICENSE.txt @@ -0,0 +1,264 @@ +LICENSE + + Copyright (c) 2008 N. Quaine - NexWave Solutions All Rights Reserved. + +CONDITIONS + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. +Neither the name of the copyright holders nor the names of the contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +DISCLAIMER + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + + + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + +Some code in src/java/org/apache/lucene/util/UnicodeUtil.java was +derived from unicode conversion examples available at +http://www.unicode.org/Public/PROGRAMS/CVTUTF. Here is the copyright +from those sources: + +/* + * Copyright 2001-2004 Unicode, Inc. + * + * Disclaimer + * + * This source code is provided as is by Unicode, Inc. No claims are + * made as to fitness for any particular purpose. No warranties of any + * kind are expressed or implied. The recipient agrees to determine + * applicability of information provided. If this file has been + * purchased on magnetic or optical media from Unicode, Inc., the + * sole remedy for any claim will be exchange of defective media + * within 90 days of receipt. + * + * Limitations on Rights to Redistribute This Code + * + * Unicode, Inc. hereby grants the right to freely use the information + * supplied in this file in the creation of products supporting the + * Unicode Standard, and to make copies of this file in any form + * for internal or external distribution as long as this notice + * remains attached. + */ + + +Some code in src/java/org/apache/lucene/util/ArrayUtil.java was +derived from Python 2.4.2 sources available at +http://www.python.org. Full license is here: + + http://www.python.org/download/releases/2.4.2/license/ + + diff --git a/doc/help/xslt/extensions/NOTICE.txt b/doc/help/xslt/extensions/NOTICE.txt new file mode 100755 index 00000000..35f247d3 --- /dev/null +++ b/doc/help/xslt/extensions/NOTICE.txt @@ -0,0 +1,12 @@ +The webhelpindexer is released under the Apache 2.0 license and +includes software from other projects. + +The webhelpindexer was originally developed by N. Quaine and released +under a MIT/BSD-style license. See LICENSE.txt. + +This product includes software developed by The Apache Software +Foundation (http://www.apache.org/). See LICENSE.txt. + +This product also includes software released as part of the Snowball +project maintained by Martin Porter and Richard Boulton released under +a BSD-style license: http://snowball.tartarus.org/ diff --git a/doc/help/xslt/extensions/README.LIBXSLT b/doc/help/xslt/extensions/README.LIBXSLT new file mode 100644 index 00000000..2c802744 --- /dev/null +++ b/doc/help/xslt/extensions/README.LIBXSLT @@ -0,0 +1,52 @@ +---------------------------------------------------------------------- + README file for the libxslt extensions +---------------------------------------------------------------------- +$Id: README.LIBXSLT 7877 2008-03-08 04:07:52Z xmldoc $ + +These are XSLT extensions written in Python for use with the DocBook XML +stylesheets and the libxslt library[1]. + +Currently, the only available extension is a function for adjusting column +widths in tables. For more information, see the section describing the +equivalent Java extension in "DocBook XSL: The Complete Guide"[2]. + +---------------------------------------------------------------------- +Preparations +---------------------------------------------------------------------- +In addition to libxml2 and libxslt, the following software needs to +be installed before you start using the extensions: + +1. Python[3]. + +2. Python bindings for libxml2/libxslt. Most distributions of + libxml2/libxslt for Unix/Linux include these bindings. + A native Windows port is provided by Stéphane Bidoul[4]. + +---------------------------------------------------------------------- +Installation of the extensions +---------------------------------------------------------------------- +No special installation step is needed. + +---------------------------------------------------------------------- +How to use the extensions +---------------------------------------------------------------------- +Instead of using xsltproc, you run a Python program (xslt.py). The +command has this general form: + +python xslt.py xmlfile xslfile [outputfile] [param1=val1 [param2=val]...] + +Modify paths, filenames, and parameters as needed. Make sure to set +the "use.extensions" and "tablecolumns.extension" parameters to 1. + +---------------------------------------------------------------------- +Manifest +---------------------------------------------------------------------- +README.LIBXSLT This file +xslt.py Executable script file +docbook.py Module that implements extensions + +---------------------------------------------------------------------- +[1] http://xmlsoft.org/XSLT +[2] http://www.sagehill.net/docbookxsl/ColumnWidths.html +[3] http://www.python.org/download +[4] http://users.skynet.be/sbi/libxml-python diff --git a/doc/help/xslt/extensions/README.txt b/doc/help/xslt/extensions/README.txt new file mode 100644 index 00000000..35c6fa02 --- /dev/null +++ b/doc/help/xslt/extensions/README.txt @@ -0,0 +1,4 @@ +See webhelp/docs/index.html for more information about the webhelp +indexer and the webhelp output format. See webhelp/docs/index.html for +more information about the webhelp indexer and the webhelp output +format. diff --git a/doc/help/xslt/extensions/docbook.py b/doc/help/xslt/extensions/docbook.py new file mode 100644 index 00000000..c0706023 --- /dev/null +++ b/doc/help/xslt/extensions/docbook.py @@ -0,0 +1,239 @@ +# docbook.py: extension module +# $Id: docbook.py 8353 2009-03-17 16:57:50Z mzjn $ + +import sys +import string +import libxml2 +import libxslt +import re +import math + +# Some globals +pixelsPerInch = 96.0 +unitHash = { 'in': pixelsPerInch, + 'cm': pixelsPerInch / 2.54, + 'mm': pixelsPerInch / 25.4, + 'pc': (pixelsPerInch / 72.0) * 12, + 'pt': pixelsPerInch / 72.0, + 'px': 1 } + +# ====================================================================== + +def adjustColumnWidths(ctx, nodeset): + # + # Small check to verify the context is correcly accessed + # + try: + pctxt = libxslt.xpathParserContext(_obj=ctx) + ctxt = pctxt.context() + tctxt = ctxt.transformContext() + except: + pass + + # Get the nominal table width + varString = lookupVariable(tctxt, "nominal.table.width", None) + if varString == None: + nominalWidth = 6 * pixelsPerInch; + else: + nominalWidth = convertLength(varString); + + # Get the requested table width + tableWidth = lookupVariable(tctxt, "table.width", "100%") + + foStylesheet = (tctxt.variableLookup("stylesheet.result.type", None) == "fo") + + relTotal = 0 + relParts = [] + + absTotal = 0 + absParts = [] + + colgroup = libxml2.xmlNode(_obj = nodeset[0]) + # If this is an foStylesheet, we've been passed a list of fo:table-columns. + # Otherwise we've been passed a colgroup that contains a list of cols. + if foStylesheet: + colChildren = colgroup + else: + colChildren = colgroup.children + + col = colChildren + while col != None: + if foStylesheet: + width = col.prop("column-width") + else: + width = col.prop("width") + + if width == None: + width = "1*" + + relPart = 0.0 + absPart = 0.0 + starPos = string.find(width, "*") + if starPos >= 0: + relPart, absPart = string.split(width, "*", 2) + relPart = float(relPart) + relTotal = relTotal + float(relPart) + else: + absPart = width + + pixels = convertLength(absPart) + absTotal = absTotal + pixels + + relParts.append(relPart) + absParts.append(pixels) + + col = col.next + + # Ok, now we have the relative widths and absolute widths in + # two parallel arrays. + # + # - If there are no relative widths, output the absolute widths + # - If there are no absolute widths, output the relative widths + # - If there are a mixture of relative and absolute widths, + # - If the table width is absolute, turn these all into absolute + # widths. + # - If the table width is relative, turn these all into absolute + # widths in the nominalWidth and then turn them back into + # percentages. + + widths = [] + + if relTotal == 0: + for absPart in absParts: + if foStylesheet: + inches = absPart / pixelsPerInch + widths.append("%4.2fin" % inches) + else: + widths.append("%d" % absPart) + elif absTotal == 0: + for relPart in relParts: + rel = relPart / relTotal * 100 + widths.append(rel) + widths = correctRoundingError(widths) + else: + pixelWidth = nominalWidth + if string.find(tableWidth, "%") < 0: + pixelWidth = convertLength(tableWidth) + + if pixelWidth <= absTotal: + print "Table is wider than table width" + else: + pixelWidth = pixelWidth - absTotal + + absTotal = 0 + for count in range(len(relParts)): + rel = relParts[count] / relTotal * pixelWidth + relParts[count] = rel + absParts[count] + absTotal = absTotal + rel + absParts[count] + + if string.find(tableWidth, "%") < 0: + for count in range(len(relParts)): + if foStylesheet: + pixels = relParts[count] + inches = pixels / pixelsPerInch + widths.append("%4.2fin" % inches) + else: + widths.append(relParts[count]) + else: + for count in range(len(relParts)): + rel = relParts[count] / absTotal * 100 + widths.append(rel) + widths = correctRoundingError(widths) + + # Danger, Will Robinson! In-place modification of the result tree! + # Side-effect free? We don' need no steenkin' side-effect free! + count = 0 + col = colChildren + while col != None: + if foStylesheet: + col.setProp("column-width", widths[count]) + else: + col.setProp("width", widths[count]) + + count = count+1 + col = col.next + + return nodeset + +def convertLength(length): + # Given "3.4in" return the width in pixels + global pixelsPerInch + global unitHash + + m = re.search('([+-]?[\d\.]+)(\S+)', length) + if m != None and m.lastindex > 1: + unit = pixelsPerInch + if unitHash.has_key(m.group(2)): + unit = unitHash[m.group(2)] + else: + print "Unrecognized length: " + m.group(2) + + pixels = unit * float(m.group(1)) + else: + pixels = 0 + + return pixels + +def correctRoundingError(floatWidths): + # The widths are currently floating point numbers, we have to truncate + # them back to integers and then distribute the error so that they sum + # to exactly 100%. + + totalWidth = 0 + widths = [] + for width in floatWidths: + width = math.floor(width) + widths.append(width) + totalWidth = totalWidth + math.floor(width) + + totalError = 100 - totalWidth + columnError = totalError / len(widths) + error = 0 + for count in range(len(widths)): + width = widths[count] + error = error + columnError + if error >= 1.0: + adj = math.floor(error) + error = error - adj + widths[count] = "%d%%" % (width + adj) + else: + widths[count] = "%d%%" % width + + return widths + +def lookupVariable(tctxt, varName, default): + varString = tctxt.variableLookup(varName, None) + if varString == None: + return default + + # If it's a list, get the first element + if type(varString) == type([]): + varString = varString[0] + + # If it's not a string, it must be a node, get its content + if type(varString) != type(""): + varString = varString.content + + return varString + +# ====================================================================== +# Random notes... + +#once you have a node which is a libxml2 python xmlNode wrapper all common +#operations are possible: +# .children .last .parent .next .prev .doc for navigation +# .content .type for introspection +# .prop("attribute_name") to lookup attribute values + +# # Now make a nodeset to return +# # Danger, Will Robinson! This creates a memory leak! +# newDoc = libxml2.newDoc("1.0") +# newColGroup = newDoc.newDocNode(None, "colgroup", None) +# newDoc.addChild(newColGroup) +# col = colgroup.children +# while col != None: +# newCol = newDoc.newDocNode(None, "col", None) +# newCol.copyPropList(col); +# newCol.setProp("width", "4") +# newColGroup.addChild(newCol) +# col = col.next diff --git a/doc/help/xslt/extensions/lucene-analyzers-3.0.0.jar b/doc/help/xslt/extensions/lucene-analyzers-3.0.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..9f26ecf7314aa37b3b9ef96498ecc21d61bbbc4d GIT binary patch literal 200540 zcmbrk1yr2fk}iz9y9EpG?(XjH?(R--m*DR15Zr0p-L-)b9D+lD{G6FHcinI9fAgI= zw^#Suy?Rw`sr{7fs#1~#hkyh5$160zgZDpv{PO_|0s$f~t|m+`tsuepJ^=!v^iNV4 zkdP13IL3qX#}CpGP!JG|kMI9QDle=cEg`O|#vm^dmpGsh%7h{QNcK9Yds-wA6r$s%m_-PTRSoH9@>jionqJZql+cu|D6K*0e;`Er zE1{jcsky_S=<)x5>5UzX?Yv#BUH>o<;h!0eUH*MulRxni{drzf8{2<>VpE4d@RI$_ z#E$k(j_wX-e;9%3UmU^8+sVq@!Pw2(@lWgdn*%WQ`NK;7hS%&*i1`~{bGv_kUJK*@ z2i`w{hWgKvx3_jRHMg@fb})Bz{}bj({ydC>rHirszrO>AKS}Oy(C1|AZRcog_NT@F z-3X4Z)_;SzzuCUCySa<^AGZJb&(d=-_b_*H{eM87i~GMnxvQ16gQeY{CjXnwyIMQg z{z>|Oqcv_;|7-0q|KT3a_2?VxJ_Ppm@nQS3;66;Pu#2&YwW;twthSH23mG$mshzQ_ zYig`K9DoTWZ1+jCHaHmD38;cVC@eM*)_x7K$kj|uk}3wtp9PP+S2%>B$&fqRJsOgE zbsxY7O2;IXNG1h)QrPK5k8c{rWZ*LsYrxam*7f8)u1SHgs<26elYVumr#1@V59q$> z*hfDTN$Ih2E@}^er=WT`#b(n-5yG*{Mel1O2!;SujL=RpX#T3f@TZu1FEl~RMD#1i z4O`Q(8nr7#@4@Db<5X)?egyw7=l7rc&zSTPQUC`534{Ux5&fU;U(DRX*xk-e)!a?W z(ay}=ZZy1ko-oY{jKW&b(U}v zn7Z43Ra4L95O$6b!LrV8AK4ik!4|(NUsgQ3b_QxsCTh>jCd0|7$6BJ(@il~}!#L7? z*UhfV*vPZUp9c@0wMIg5b7&-f4}SBf*>w?mdw2$mIb||0FB55-6<4%DcwwORr$OO_ z&fBccgSaRB-e74&Rj>ZJE=Nino-`TNK~A$?Yp9iSBZ)!LDHY9PXl z4Oc7%s)I7dV55a37WgKo?LM;UZW6tD@x#dUO?)@9urac^{E}x>C55-y|U6maga`(^}Z#tWxLEgL#I>d zBD5C!FhfTRYbj5|@Itoojy9b>=t>GMpcdABA;Whsqt%?~XO`|s<9IiVRq_qr$|QOj z@)Ml2gRfsyYd2bB+4!xbeGqYTX-~qB2z6S3FdNon{^%~TD7h9Au96Pu=cdOlIU`mu zb$bwTI@_R>)KnF31Vs`Mkx=KG>@|}&2 z2fK5^`&5G!azq5}&qjr~R#hngO2IYNLtb%yHpVZ6O+*r$FJtM1Ix+%ZTtoBA1x2JZ zi<=OXCmmK>L@>xNmav)?xt<91hv?tQ=6j+75ty7tE#bwxtXe)i@CAA z>wl_huIi-Bpb!TCqDC>ZO-=NbXX=K`VlaLsOc9L8y!h}N8e)1Fl zk~0k3%?}kWA%d?x#{4{2T$42AQA8cKP;3i!1L0W^^}ZGDRmXHg9{0xtLg_A(p7*b4 z&XT_R&pi%ZEGZZK;S=>2y`r46xGd1~kZ~M3$%R}edYqv=2XS9W*L4nW_i|_}-wc?F zrCGS#cQCPumRfuX!bLto@Wn%REQ`^(Ko{Yxjch_Ah0w^iKSvH&< zsSrr_&>tA0%h2z9MA*J3TX^|`Di zW1?I1JuZIyTGmH|b;tQdxZnNW>9EvlzQ)bw^PxRHQ3L$2WC@(2lwd}Va!C2$@MpcG z_(uC!V=$gQqbf~cVv~HE$WPdF%R85Z1YvyJtac{TX`>aV4AwF4*yNd{RFagHTUC5@oB%8;*);n?r3TJMQ)_%Ml7$WYIU1Kn zE4+q6wF<2CLlE60{m!mJCCu8|`wbuaw-UqLdFPs36&&7!C-F1$CFfV7cZku)bB8pc z1(b=1Wd8KWj+{wfq`tSuH)If<>rCW(oD`)9RW!nZTeNVdshC9p8{Z&oMwyBsT-eWE zl?c(H%0ps91>*RlB)Hvk_q_ z=uoLq7fEN}zkqaTE@sSUD#;~hs>RVP(h;^Gl#$7!vVzfctz{(1XenEKT10oYfT=h+ zy*%NyD0qAd1Y1QoLxnPzeDEUbIJdU=`&eOVeV zL%>p{!=gl&9*&krU>Q_%m+y~naEOgap(f`T5Q$QYwVo1olXMz$wkY*a;wUQO2oz0g zO;X@@h|yrjk|vkTWZqj_YjJV%eb95dD7~mE(~*QczpF2+GEV%pYAR!*#H^-p;F79^ zPD8KmiUcCAiuSF{CLH7Qk}*}WO-)Ffo)MJum42#Am|fHh3JQR z)Xe(N(1Hy%TPNq%he6BS8;}G#F|nr6+{RbJ_ze`6318?tHa5W@1ndHdd3ZBaTQP9z zP74W_Q#*{k(Jy{oX5wTwS+V7=z=KWD`zKk?JY%9fSSlt*I0aL?Wo_c!*cS(pvjwn> zs-;CrrjXHlR~kpC257-rJ!ZNkK^(ex5uMwFl*;+)n&Y9!Q=-FK=`K3d&&rwlWfl2M zL^2Cli?#UKv92;6n6piAMS2)?lkThIx_ZfvoV8PZ?*Bz78WYRuBt2w~>u8b>Vq6|c z%d!L51be_FWt^gmQGxQTKw~ZUkrX0Uw9*n(T-RpqaGQ+sN^g?SgURb#2-zL{#kXJe zB_wPt=2${Sx&j-cH=h7OhBZt~f<8?y*sMlR`I$r@{Gmd zy2C~Xp22*bZ!lc~(`+7nlXPz^3#^H8?%qJfzSZJ5N3A?T$uZwE?|C}gc{*OK>m-Zz z;g+s}650PpsEHd+IE(GBF*&n;G{ct0?}@3rD>ieHx%EmZYia(v_;u-BiBDs`b?IUC zVHJFpax7ObwU0k0-n2Pg+~YB1ajlZL(dQB)-ZAKfMA&N^F3nh?2tm82k+!Z3^K5Qy zflGCSff~W3n6`9W=r{9-WF@)>3NP-e-?IxfV{qxl*(Tktpga{Z@8WUF&QFLK)P&+W zh3HRCIMNyTVvm0@zxULl8J07C80JvDu`K|DC!O?1cV0(3?M@($%sn&L`9o!X-wYa4f{!0@^F| zd6=%?nAaBtIr%&uwyV05jVp0{vWhsU73>3}#veHGZM(yal3i*!doUAt{zp zAJ-TFlu{}9%9irI!9DfRaB?q&PhtEZC9*I?f|qs1UO?QG`#lrkmG`>iX&Cou7529T z=u_?_-_JCLgn8!`d)CMHDby_1cuI8F)aJ+=f*k=#?%uJzG=7KmgS4mL0C70FAJK_w?p%sXXnjCMq4RQ!-T-OevGHq}SD*~i7< zflCs>oc!jx*4SW%^EH0*)xQxho*kopQd|t`wk~`bJfyZSW#2NTwI6nN(HHwl{~Asy z36}RcZbs&}Y&)L|gA+9JTjccDJ$|{Z;iEzj`y=|VMmjHitx)#&ZH=i2Q>MC1i-Y!d zuJ&B~%YJ(tEC*_~TQ>CS-~+sC@8lEQX!P%c-In8)tkeA0=%2Fkt>dre3!fnq_B9vY zd9B~U2cOVs-itzRI6qYfvUJaS@BHAqa;J4nCy){biT6JJw=~KlKyr&8U&*lreVRa zvSF=Bj*#%C<;mwv5?pr&Fd+VX5+xP-CPtn&w^N8^kNLzR4~yOR^{bEKB@P`XGX}+= zkyT1Lh;Joa&mh}!)wb;S$@X&a^^COOWHVm`R#h$>|HFp?*)609;VaOdlZ^luTQ zm<5xy+-Xn_;9NCxKB5JjD2rk>xE32oxeopp|H8~L@}y_Et}sX+3x?@B|Udt5u$3?n1xkv~yg)X8GLp6mY{p7I0Q{c<9K)F^}Id7yRB)2oGopiLPwTM8@UkS z6Cv007fmzwmW!{ZOerv@-laHLimn>(xd7R7fR3s|nU@{- zld6iXk~?rQQ%CQ-gw)0iBM#`NI9dmIL;PbDlwfRgD@NXsc&v6Ab zRP+OcFO&u6_`Q?zdc*AK>CRy!z5?&fXQtuLF=&=1NVgO(bB-n`ZHROk?I9%SF=Lrp z0Ce<8FPnYb8w6MEbDqI9?H&PvwfbK`sa@(`J5IJ!PJPT|M~BuR)+wFR80>5X=&tA zsp2N87`ED~esSz^ZU~&2jBWF)SZ%_NoFUi-v{dzc;^=Yij2uC*`I>-9rekCukC;eI zW&j!T+)wavf1Lc!S7*)0bB3TerT#e7vC7TPvHgI!V_ghnPG|T?GL!5k=4lT9MQu-A zZA%tIrxTFee4}KHVsiqL;W>;>93&$KYx8TEZM6vlzbj;fI=|q@9gyzhM)0qut^Nz(|Ap(?lxatFNt}`V zpD)GE1jNlLBKA5`)+SwXK{xYgQtNB@c1^9DYs|p}3sF6AF&t-B7sO$#Z<6g|B0YBt z8U#<^Tn`(0G+gQzu&|Xa}FE~T1~|JQ|st`9wK zdo=Wn)$j04bS`7hke1-B#0z|dflWK!Ue(0jyH+2Edg72^+%few{WGYu1y@Jjf!O{? zK{7&Pn+~mU7IlER>St4lG;O9qSHBrgg4q+*3?+clhuNu==IG28-puq|) zfKY(uLCE1Fo50YnaojFtIr~gvg4HYNvuIpGQi3&~@VnH(!C?Y>9+{$bPMC1^chldn z{E+d%rgV>=haL+LRUdxNaR*sHRDJ?2rR0Kpr_I^Wrt39NDkd0>U6*^QlR9KAzfumi zJRPr27y9)>*taZh@WBfEcm72J=iFRP9WWJ#Vh~xGZ29Ij>Up4%swDAh&$=k;>*z1fm(jHR6 zC{8q9aFw$Yi``?*u^7(S7k)`~5C1A|m3v?pD$_e8%)hF|lLi63nAwFhTVA|-xR~ii zx$z7uL9y}t!^u}otL9ss0OQY*N%;=9cFfuVjpmsMUFtJEFS4Larj@Y1|K@S{MBG;b zK0MCPkJ#p4RY+AgbNjzK8r^>+PT#{Fw5j2(P`eAf4w`fe;Hjc9l&#pT7mmRZqi&4K zCP9if^_zHOUQ}O^yE9-QU5zWG8$OvT8VfcDMu+`&6sLdlA* zgsA;QhVji5eQ#o~OxM(e5p5yiEJA#tE|dWo9;s4gE{Q3xW5v9X-*w9b4MN8cBL2ow zGn^p`3n@dS&Lj_^nDRff@QDKmLE!PM!2*bCC8ODdrjf6Z8r?~AbZnX9B7U}V6gdxMLEAiJX zQ)|mh>pupx$QZVt$s(HGfXjB@1?TE2|qH~|AHYW945BYBbN@ zyvSp3I$&lq_zj2gyZMESCJB%73B?yuyRn=PWUWs0gLZBhott^YpFXOZ8xgz+TEU3F zv}crfATuKj6m7IsGAvscc8HD=PwMkLF35=n{%`#S|0tW=ST+-he?(8Mupl7J|6&C7 z4?Nrdmv>1`*;Yl@{O~U3oa^LJ!&YLf_40Z;ys_`UO+=M_oH*eInsiw#z2*p|7D~BcMFdy zTDFp$VrDCf0+C0Wz8La>RO_CDvQ+__t!3?H_f{gM#dC z=oRm1|Jm>k@4VlE2Xb~%9SHe??H_>rW{|%txqEm!ednC-Sh#z2TYG0OkY5lu{sVcA z=yeym;kig& z=+qLBl3zWbk%hk_SH!gqr716yglwSd-kjQ{%qogVhIcBiY+l4VpTW8#=)1)0xE*jw z((Frgx$2R}jI5P;aJ+)pe;iq~+#B zs}(JJdthXXu|gNiK3v!3o24e&07b6d7PWnx+t6og9KglC0QHTj8ehS@U=U$`BLq8D zsc|P~qDakJD$=2iYHJZ|5v_gQMLmIxvkSCJSbw<512MM~3iAxWQq~jsbmaBzsKYvts+t)QXQksT~j)4o$&@kn**JW^Vb&R3-d zo}`Oz=#p-^&=c<72vyWP)Xcmv$qkKiuz3%ZG;9AP=o%zpq?#^Cz z@B4rk*{HL1%M0TgQ;`H8XEawa_mY9iTEP@Un#PAjz43rLmhq{Etz_5V z|IH?c>(M$ef5aFnA29~)-`ZqXH%BK=M;9|!1~)G^ah2(hj0sBbm1^t~ywtEm#{l9) z6nw-rSbPtOM7(}CN8y%S&f2{xig?sQTDWYnK8wXPq zI^u1=P{vuo9BQoNo+(NIZA*~yHGfwSaU2MG@fwCV9|Lu{+~-_T=H=^vJJ2MqrONp{ zo{+CAO!U!bZM}kv-x_D)G|QZ;dYn!JG1X@itB5Fk_D3sj2eYxhg(CII%0V4z8w=$7 zuCvQnniJYEPWC;$sgDq4A1^yG=8hg{Mj@&A>7@b68^*3(+PnE8R6D^+U zr1tZ9c%Zv0+3-eulD@wLl2Pr``B!c&)TY=%I=RMeKZtcqxMP_1%bUo}#mTMnwyAl< zgzGQ14i0NWL_5g?bvJk>fEOAaSt&YD2+TE*9B9?s!G>hs2=GDC10N|a!0kgnG-T_s zWGyCj?OF}O~Fcz3@t=5InJ@%3ZBPQBOC;`+gaDDOq#6J=Y zzmdZvcZf8xkC5s+V`*e*N<#`5k1s|W%4<~UKF3V z#6?x}{D$7XrIciTn#V~28ac1Mpkzby#Gn21Ezsr(eDfJg>sZTL;({U03FNtFNs=_VdyCuxcnz~Qk-b<7C;aravu}x(ts)&!OGvK z|LBuAJT8|~H4C-V)bCD9Z4|+o=HHEDKevd#xL^p-xk-f$DP3%Z8^OfqCaM;VCM2o% zD|{Myp_(vg=2F%h4TiP3T1K`_LKix&|LBxx_(!Ki!+QZ;mx%pi=`pMD8|(;|3I3A? zE8IM})o^aXCreHbEXN9u!5QekUb*v!O-E2av~T9)+AZ;K$l(9dETQ_(%sP$rjLHlxQCl~gW_6}SOJ@AX*1edRPWfn?Y`nkeG zN9K>r^~|@Ii$!dZ*+vtRhz^9yLnrJ0Xj5G>m7E4B z;*g$1O&?c$cFXouBRKc$*Z}He-9l!-L9;MrMuHPoCQ2E;R8g{pY+v&go<&0k5hv&@ zuKGvx9c%|VsV)6SzG~T-7`(hVH|vN}Mfy@5(TnsBaFvo`)4HIJJ+4znbW*pLND-4M zSfnXe$l*Xd+u#=F;@|JCZW|!Sf=jpI6tDXijj^3L@GPkjUb*4nUO#WA#uTEic7J}!MMJyBwKIzUWn7i$B^Rl^+;G1 zimXQq2N9P-jUgT(%K3AA2LMLnF_l#C#P>TtE7S8B?~U&bF(EunYN396)q1g}f=S?6 zlsDcRK@Uo}_99XfM=n~s0RsPT z!H3deeVBZae*<*?XUV@*b&>(%qdSM4m92Ju=jstfqR4#>HA<2!2{s1xSC$5@cy-z- z?tr0oxJ04dP+n@YB9C9e(9s)udB}Js5lEELf1}ZRFpeZ5`!hjo#D(hIhRF& z_z5;V%%#W{v~Pbt6J}q6ECr^0|EE38;vQEAip&mdk1!1Vf`p!>)+?rRrR@MCVp#yi z;y#V&6M9)y$fxNmGrEoqjsc4S`AReY7~{9m=-r}p1su4paccH8{WKW@4u)zGqFWoe zuRAViKc7NvtzRt~j4D{XFazin1o43*J9M?9Fa*mtotQ>J!gU_PS+J2V z5L`H`B|;Hw1IPOJG|t)A(=Eh83?FK8Zf!3IM9ZPEKaJ4vWLU1f&gS6wC38l0R6$BE zyQ0q5!m}<~jxlE8Lg0SQC|g|+si#y7q$S9xN4)rQmCZ0dIbT$ELe({<+a|D=mPV9F z%TF5U_~@p~m&;`UOunnRD1v@t0!0>`M(}Ok)S#so4E9gRbGT`=vPDG4wx~so)j=}F z;*J+s=rO~DF~0+`ezL#%>-m?=zu0ynfPh#MfPk?7&(Hrq6WFC0uzo4`nWOoXtmAyR z;ULH;V#-P=gP|y&_dz4c2!cnx$bp1F_l|dyfwSHs-S&b9d)*f-Z>aj(*tbOV*tLAO zschZ0x3x{!_PF}i)zh}^@OXatu<`cx`)bk*jD*ZyfT;KPE%)!yUqlA)7nTNOMM&>f zpZP_1; z&IOWHM!mBN|4uEbyo-T&^Gr&4rxgC3U4mQoT8jEBb)X*oE}Lw+Y!`3*w=5I6HInOR zB})`pmz*>7E#e#$ET9CinPi=tbsUH{1ihyxkW}-md5sacvK1gWo0bE5B9%c7=Wd1^_{UH4U`g zvR+DFQe2eXx?TxR2JOUp7!RSc0N=1lK(756bna=$Vd9Rb1KbuwUvmSy_vVIt&0VH_97W%D)_wCy+?FpnUmi0>AnI?#`3C2lxb z#JUw(|FdbOPjCLB660mt#nH-T_9hP!;tng_YlJfm+vM?*1Yj>{O^q)&4OV09}M zfs~@a-C`G*79FDc)=ytE=%N|>MZX$90NPW+^Sa8_2G5)pe*pITi$%Fv zSXs_WL^4a0rTNBXv8yk8bO!Srv%)~mYOg@LXRX}g7(8PrnlbIgXEV_Eonv2om zrn&h$#`Z@H>#44{>xAV@e(SN_?RXO!l&$+G8s`}awxQO|Q~AStcTKuKFJPFIv^J z_6|42*JdG`tW5J72Wj|ou&pJ!!z(bQZNi61!6%7Sa|t;@8=)L9D5D4)GubpVH0l|O{#t}STa7K z&BDO8M-e}8sT<{|-JCH~E*)#T7r zgTx}MU>{h+gRZsZIXx2d%%QW}Vq&F!t~AW`-S^F6?2Pja`XAluIJ_QtdRcjaYcrEwB|X@FpW6DcVu)VhhGr&;Cx)8 zi8y)eJF-n6h=JT@EBE`Q%&*g02j6cm zzxan5wQP$}a~b6aq{jhgvPjCev>AATa$AC>;Bu3?3W2Ke_wKdoLC7a5GL3uYu3hK8 zYc?03Zg~Yo{7AzoFmw1F?%T$Kl?^p4U->fm_CdpXIz|yi4cWqh7hb2?mfCIDz1B%j z^ky$Ld#{VT2HTc?!^Um6$be~cPs5q&r_XszthPiJ*)N`^pcl9H9v65B^);V#dEP0{ zD$75W=#0K?v3$cO8F3f?7M{&7XesANhm@kfl^#T-9p!P+9?*GVq%+@S+Km)@lWg(a z-a{nb?tM+SUjI&2D=)aXmoXyoM$HX;w2Zi~8EC7QD+~L9z=-{BqR*7)-7fWWjAPT) zXEM__i07EvCo6KFZF4Jc=uVj>&?c|a%Aeq#=LO=OpR=g;2r}ly%%((f9`){%xGj=J zM&A=6B*8A{y8Qm=oo@B_b0=Y6+j5`_@olu1eM}Oly6vBm4tke zd(hTs+aV7monJ0nR*u4as#cD~R^%?kON!zJB7CYgOjR(Tp1jZIu}KpyL-N|CtvcPA z0kUnmE@c602^6+xBxI+?SrQ3azfP2@Yz(U(*qa<}0>9`?`799JhvtQv=J#tIFA^<; zT%W{zRop)2#7e$CfgqP0e<>cjG-dae(s=vF8?YkD#Jj~ral~j`Hy@~3A_)1GUnVX0 zHB2imZ1n3#frzf83QI*Do?7eaCQ>dtFTILmaIM$GK9IeMpQUw)sYd7@c#*e8Jl1bj78V0j>4gDYU(0@!Rsos5 z?lvL$@wym^c~yQ3d(;kn1Oxc~tO52Q)Rvb!)EI#ww&#L?L5=llikW&o$u-43m zeJ|B&U%s|{a&lLHJ1-I}7HsoADe5ce3r!nuo_Zw^is?a8PcWsPE=kT% z?}z2fsk?Aly)fhS9l4uvnc`iO-0l*TJt%r742FD2+y)$lJ2RK`W`7C;D5Wj$T1k3{ zYBP9FmFAa4H|h!>axVS!Al5q?r!oUXjx+W>x*jY(#q^MG?vP%+br6hmXZ_rraNSDv z(2NVqdwLfTKdiC68tXtA=Uevt^r0E%?)OT4z}uBLzoef?G>AJwV4uhv>2wWf^x*2% z@Ec`2fTbT>H0V2mGOp4aMOgIHHe>5m=?>7kl z5W;cMw}0~<#VcY5ey8#=i1$9=n!z8$?M}GC&=3^qn0BD17tZZ|d5?h~0qNAXpTwU& zV=i&*9?Q#I<>y1{kNEL~wT+gcFntQLzs>-sZ<^EHoAREE0QLyAAShUvEm8 zgX$zC!e&GUs|L{Iet2KlvXUr`y(3x#86U|PnAPU!Vo1rarej2u`n%IssjD{-R})IN zYMj>HVVM_XI>MMv?F}o#p`Q_z})S5?HHrdTq=h_#76> zjZTXr^cF`>x&_TAy>J9?n#loFNJHu??v@sH>Pzj2OANXU^esi$IFog@e)?G*vRIQ}YGa@i{heftdRRtI>Ao$);OK^MI!bjR)qH;Y8VD`tx? z!1hkUw91QKlcn6m>tBm_6O#MXFYGdT8IgT?mH1)R5xRDh7?XbFBl+xqjv$Cl3Q5_%Eg5 z+$?B6wc&@++02eEUR^K}6d@gAVsa8<;vV#qLUK1$tt56jGHt117}7}6$cjiK6j)&h z_+Tm6XfU`)ePs;VU^o;11WW(k^7q*--?p6o+v4Af0-4;bySr1|s*gMJ2JdetAs}-| zj9z<)cV2t$cb(Kft!Wh~m)%tKSBK9^!Wk&6s>|SQz5A>2y_uDb?Q>V>OX^ni3X^?! zD(jP>c&v{HBr-~pM+ohL$2;pP88}qEN@ucZ?Ft)8gB>wiRWge9T*E3m4_5HXPoV7G z7BsNy7c_XoF5Gv7fy;2bH0LD^-vA77xo}-H=Vc9D075uln)A|zHh=)!FPigmCVe0~ z+%H;!0;d9iFdQ^3L6K7h03mD;14)xh1Sl0&jA21DrNX5H#JRAq0XV~r(&iL66#;B9 z6;!-(0poDxR5?|1^-fs;yD)AzaJYKSjB2M&Kmh<3&XQ(IHKV>k$XE(U7xoPki-t}` ztENHBxDvn(_k$*<+^H9UkHMhSt^|yO!=~<*2AYJ)V(ip7RRVM|cB-5*0h<^Mn(ZRM z3ph=hZc!jjm?urQEN~l6leSwDh!^%qqgU;e3;2bRMy*$W9T0|(AyD8{3~&j{#?YYJ zs<{>p)5Q=dajFK`!x3pbMFJ!-1D}T~`21;S80$^nfvNhAK}@08NbEs%!SJdRjkG zU^bj0m7gqd6Hc-7`V)3(k{oWVd5r7bvu(*;^rsel7up{Z@CH^ zXJ&N4-y|D|wYK1eTkXWfKl7)c3svNy(!n4wj^|@h5nSY_Vb6UEZ+i1KeG3!TZ>5df zKN%nmt!5Dk>#%?O_PV|ZZhtG&1P&S0`VJPj(_LhwylEX~{|ocw2lQ?5dvMLZP(VOI zq6l;Jn3&bh%>tLMK7(5^my(oEx?n=A5E7Vz*fmtl6k)9q8sjQa9)1@3SaF?hnQdnAQog1L$l~}6BF33DfcR~uVUmqE@BC!R+o%~A9&6zoGgU9p z--$saW|FJVkIOkMNZb4UTqteZWz5j#8M}O3pJ1Z7Q&P#JfduZ`5@Aj~Qz8*f+|%XF zYEf?vWhwtjFG`hmGE);%;-|5B+r|6eykuE~?6eDU6ATDXG2lLn1|Ig-!UWB67A>rt zS7KdDJ2Sj%&&wV=U)8(|^+I*%8F`5nH7ZJ&c$tW;E=#L)TjLynA)de#jCelDd_yuLtCzkkT&;i>0H0^n5%x+P#$&tds^6|?+|eQUU0j`@=MzhSH+Xijw-A) zMaW?aWZWX6lt^6P0myz&Bmswm2|t_R1%Co@+xJ2ksRq71QG-2Qv$`p}3cj84%h|@0 z-{}@?`&|yYdhI~>_4oNZp}v>m`vXG)`>lDP$kzvygbT)?cL$MQ)DEHHqD94DO2X*N z1u4~VVDJO%=lG!HKPx5L<3U-2>wI;@A0P;fcR0AVjF@WG7&VrbLf^*!K2YR$5q@K` zojQ1)!kQOhw} zi}es(IK5@VToO09@gNbi%xAnntpj9R08|HT7L^^uAk=e<@*2!W_-8FE#^B|cLC19P zFkn+DJVyAvMqN+ly$4~ltKg>&rr9>{-s#)v_nHgThTDSNY*o`0UGKRWcmJ>YhGwg} z0WtP{t$ix245DZEM-5E{sV7EmrKym$a*{S0Sh}eeWf8UhjnmfRt zfH@Z9MB`yWWvfNAKOr-t=w#5;U0(|7a+ZCoS!lO3?X1w5N445w@o&~9rFFF%vcYcL z$kxd2du#|oA?gX1l*>jPV_1=<60p8f2z z@3cVaWV~zg7RlU>$*-{#+bTu5Kg+NJtTa-VC|G0L7AIefKJP`Voc=CQ-aTB1;NwIs z_jq=(`GwHnolMWt$RkRyzG4Epf*t;7)cztZgz*PdR{z;GR1X-p&~XAqQ|S8`>uuY` zYe{aO=@C2V{pjb?E9FY??-iTnYG9Wv=2xnxg#-oEICBUB#FLg$d!kQ~F5m*;iyF{c zh-7adH7We6Dzw5SCFh{pup>TBd*~hmjf5$!6?W=ekHM48`en6%`^%m^X>O1m*wj7Q zZD?oMWvcneCVwS=#v#=Vb{~$pH+2z_St#?8`p~S+iY}Q7@xG|C{4uU@A+S?|IHVa5U*a;0*_Tbu-bF4wTKZxpQ5q9`j_S*;Q zF||qpYUNcCn6kBs-sO&-q z85_~8A({3fgq+R(9<>F!fb|C9Fb$W17g@+k#JI{|1qN<0cOhOf*vVbw7)P}zk}>-5 z4#m#~3eZNl&B43{h&4sEO<5c>{BzhVb0b>vx@Q77pyo_)92tW$jbQNzwqS^|iUtH` z{hUWx>g61}Nu{elyT(9I?T}ky5nBc%j+2sXLL=rkewK^wBJ5nZU$riuGf zcQvQq|Ne%(L4B!K&cV#1p2@}x;!C~d&!(<8KbKc};T@@Q%_KkT>eh-hpUETf;~0{M zvwpsg2bA@gho-dJif}#Vctcwz#6UWvFZ*GIhlkeZw64rPAArZ%Zw1;EOho$Jlm{3B9|_b=GsyDccp0#!A*$!b6raLT^_{R zGm9qoI3EKwV(eZMKFv(HX^cn^+TsNF zD#s}4UQ`a}I=K0T&K7^@fXg*`4l;)OTCr-eJlY`Z9NsMct#OIw9@42rpw4k~r5XLs zVXX+ha$|v=yLptluW5ojcD$g0+N*(^%mlt7gqry=uzIY{&OD;HHpc8kUz*X%1LZMU z$ME-VY(K;nW zUm^Q*Na;2FETi4ApCpuD3wR`gPhkYJgssmgUE}{h%HAN2#-#ZRj< z6gHQsD(_LkI7M48MYUWAbKT}rSxuwjaWqa*GsY~w=u6TzOwvxPqfvE<0J<2C*=Viu zsjOyEwL2QetQep4Cg+8;>M^Zl*REwtud|q3r=xcoG=Sr;gxjyll~Yc{Yk46 zP(=s@BIu2M)8b-O;fke#ayZOYJN#aZH;@!ym=uuaz^IB421L*wBhunxRpCmc3UM$N ztz-_MVrg+ut8~CpLf9YMCATVpBWRzQAcu*f))#iVMv%i&Ka4J>;T|?9F!&Q?@F{BV zn^rp}T|99xR;gx;p=4rzc%pV_R*W~9WN46NnCbvfjgA6F8;{j$anY-AMNyAu~#o(Os1vkt!JlGyy}dI8ajz||+W@z<>J=dU3Q%xZx^ z*i~^OZ0=2YftK__L$%{+8XB&}yc)QD0hb-7u!p%CT5KUC>?x^1$r;*z0b~!F-Vzg_ z=?ce8<5Fr1#O-=P@2u13mOx~Bu2k0WV-vaFcx|lgTxO>Feu{vH->;nmPEL|i} zdsL^x&j(f?YV*qt|)hMYc@(!I@4G5&s>>|cHKD;w(dQ?#D3NlPgmF(n^q0A%-WxFM_e?U(}+4Eb4kpTL$ur8t9NN^W$D znK_e$1Oj{zN|-pK`mG@AxhC`(L;67iz9Ceb-gqE5Vow~}aR>vYJI5S6g zCa5EFsg3-L#tqwew7DwG^^tR)Z;EHNcLxE%mANIMp90IvzyB6+ zwRa-{nR8&r5zx-H(Z550@XXwj((etp+OLW49TUJEb3=G$Y3Uxr;iRsanByCClDn17 zHn}lJKxB0L)o+UB72I!%?Umdg03bN9BMl(o;vLu_LO^73OYJ|#@`~<1#`enYCjk(= z;@(gOi1jnRDbnNw+Kya++RWmkh#-n%@a1)$z;}ueViCRdlExvp=L<}rg6Xwlfm;sh ztxyN|*~EPl8=!O(GU^i}hU-E$+}SpuZ5wo}q$AgJw5M}HN?_EM9*TQ-;|9Jk=}Pwp z5ksklf>dF)w#Y~iOEQ7Qgr~VF9_*_t{K6ch{m`DkSQL&cWe683r$pBtz+)1pMN{7s zWdhQo)DIX?(;>Tt78!K5i11P;he_IJaMG)UChWP~a>Yd$BnjK6RFYpMM-A{X11sY; z2Q|3FD--rb(g2~4b;4G$QUhQPjg%>e1_>Kf?Bk{b0e8ULST9|xB;D|kL%BWVekuYM zi||WPrP}@$$qUxEQ0*bc+d})S6~hT6e@IW_Vp-1C9?Aq@MT6_RYWY*eTy)V&&e z4PH|(ifF9A$YS_9xBdlHoL6R4Iu1@~3_NcUs`zPpY{RU#$t1cRm#GZ0+$y22_~!#u z!|bP z98-d~S&nfpA@{QOv#mcr##^;NcDy7%PP`;OF1%Df_IMe5oP8KR_v80CR6AZa7uEb} zWb!LY603;j>|_#URjZs@kHniT%N|;m#B(YHhgw}m&#D5Lw;tQ1?Yt>1+q#m&s&tL4 zi;T3BD68dF$KJ|2t#aQ+MJ)oQ6_t!olPD4vL06^eQdG;CR|Tz;=ob0Y@}ozTADg6= zOpS0K<=m6rWSSg@M-i?(?krrxFAlC~dD@}Is;*}1GI+$E?530XHY1E}pQ%@eI~ATB z1<2<&p^SW=BOHFc^Kp%M%Obe^r3~>1oVXz!QOFKvo=+gI=iNNOn*PDH#3CF0d@ur& zZQ%afv^MjgRa5rKDp84-r*PZxhwOa^u_N#G=&xh{iN_Dh5>I@GV2+Svw6soSa~xDIrOJlBwpSx@<`18))fCm%}NC!JWS&h8OS zZ-mx~6v~wM_(ND-&(^tR&8=NrqU#5lc-Pmv1B-25_ZZvOj^$>Rsz>Xj=U10;=51v6 z?rWLWURP0@2XC5j@9xoX&X^56RXLk5OCrMXb6UbEA1;(-w!6d7$d6{lnKuV;?!r{v zXsoAaB8l1S(bCvhE1z9pe;0OqWd_k3R2lf6Wx+PQ#0{{?106Gl=i!eSrI1iflD(&v zOBVuH&k3gty>~8?_gXcfAspu90W}oEC~Qlsdb1mq;^qeK_v&sXk=BnksaHU?%&F(Y}~^#F|#sKpV0Ua+>fTW{w0kPB~ArQ3xfDu#PO z;J$BuR5UZj5TKGT2=tr>F{=MA?viD7;QhH~uGmAb=tC`YTP(K|q1LIV zR&MeClehK3K=EoQt))a_Pv!Ww`S%}2+-qDs)_<9ipT6GzfrRrfN~Msb)IWX5QBnT` z*rwZn^BaQCA5N7xnBZr)fA|-$jS1loQ(=6AKfz=W)Q!ABIBv?6p@|#gb;k1hE%=vV zZU>J@$c@sn!Ys+s0E;Z+vQON*Js}J8jv6~ys=(>gA>pcYYz%eym%hrH@<@a-HjFk6 zGpP}(V=HPoX9VE{sR@Ws1ADMlev#wBM*$>#18dm|A)F$5|AR02Q1(h+^P0{L{g2^m z5N(0?E+OB39F8;Zf2072`|$9*SmpI=f z2J4p3*pizte@8Y+lgA!~wM;2J9MEn!XZ`h`uDhewAiv$gV~@B65NVd#Fdb;@%3~2@ zhaQh!{W#$#EM?_bb@uZ!b4I9j5zw=i3tA3g@u=-Q{(yXkR1q;#lwr7WV!&J{@zPx(_x&Vbg&BEOC4U`rx*<#w*aZ8fM+y|5a9?oYN zSXlP7D#c#E<*E8c8B4p_IPw$0+jr%!3LQ(B3Mq|ZmW zoyK-}e@CWKyN?~%k22S>G=kOqL347z5uGy0$&}%u;>vg{!>wb^D zDs)f>mC7aj30L_?`A=Y_&;ndp4{#!(aa1!`)g9*PA5g^l{aC8}FW2$@*CX~H@CpBX z#Qs;qah8&dRR0eo?{(2H#@I)n?QabcOC}8PxbW}jKj}QoZjbac=-JrF;~PXeUlYE( zB)x1@P0LP!3|3c;*Ypk~?RZ)++nt#D*;sj@={f=WkE)_&$gnCiz9-YrgQ`9WZl!i5y{6Mfw^{ri_9vsk~8Y zbJ1}@i}(LHWfw6)dJ6eEVb?#O5QRT1w*8dnacnMTi~z zRk;#60}9b@9<`4aU^yITUoM{>U1VvAVm>qxX^@%R*+m8d>=le}@ z4-1M8+P`E3QMPu9RXq+So6Gu|P*D($u^e~9~e zCiNkhoH}sm0T=92Y_Sqp0q%~@d!ZsZ#u7UvCxa*8?XWj6+u@fL6O&atrQRBTIB{5N z#^VTv##MgA2W$WZGRNM5x%!Nymr;UQJD+OksXDMq%qnkXJ67f%*#oO|@FxiJeyKP5 z8@Ow@cU^KrK1H=|X-%a!hZ`qVEQF6KI0uRQq={KV})Zw$~ zR7_Da7_?gcw#$+j&%IpfMFxXn(TqFETAFPUsbIEtZ)(CxlLa@<2)kPE`E{t4B(nYF zILKn^*dN2oT{wK4BsTqQb!sPLx8|Gr46#fztGjGLA8}9Pb+uV+oCRb3(M9*j&WQ!D zLUCTH0rp(!a5g;Iqh``6>OJJ*NRc?$&oR@kzExbMJ`ZKNq>?n(0_=3DQ6ZeeU}zX+ z=~{w|X)LkuNi8=Cmgx3j0r1vD{W&-9QhsxY_8*!0EwV4gj>VjRnSq1mMNYh==*YTV?xEelHLMBHCUV>L$Swd(^ap4W& ztGa5_6~ReM(_o`Xyfhl5ZGP`)T>HsOIp2?ve;Jf8R)*MVwpP7uCvwbmN!^t@N``SE zNoM6=m#wMB$P`%sS+|_Sf{`T?SS|5rZHSA2i?tH`@|L1^Jl2VwWtM6F$0!mH*Tc%{ z%;`n;K&%+B(HfSqTXzWWp52JGbSgZXW%@)gQAuZ(q1|GF+M#F7R&thnv0Aefq*B6O zu7X=(JFH;2$X$UWCoN}E5Z`>YczSrwx@TrFti8QNh3g!iT~1ALQ?Q0@{MJU0uCx(6 z(Z)PV%^b_++&SnFFkBEp8{>JFdAalfWUIMl4_1(!$W#!)UqsC?al4FY$~trBJec1L zVVmv2*Mu})-j+^w6_DO5o>1w=*8cn(+Qw4PZzfZ5>@iZq9vcB$lOv!P@KGCS*h~-d z@fXMMvygrrk8i>UP=HtOU!QZJdw|71*=isCq$ubc=BlUl>(evidsARNqDb2?SNZ@< z{t{Mx3D&yu6OwZ>ayu5Rd81PcBfMY2Nc}Ppa{!G1E~`)wR@BUfoA`!wopXKaf_ZPX zi$+|lH=3-$2$7D+ohj0iIFkHlLnzC~CY=GMWL|`~^I>qr)JV`(meB{3SFm?I6U$hd zhcX1O5Kaj(PEM5B2s%!Fnown!P>@=Y2o%0u2ImMQ)auUnTTWL}j7xE-PF`f=+8#X1 z-&Yml=yfTv9sUo%28_34eTS90NL+eWyyfQoQ*zTyc+<@nJlT-*%@7o=Zp_@~*zhjxibED97r1>8{?D?E`gB8q)0FsOCsHR!BLKp>S8Saql=Ga}@EG z^_dw$Tw|-6>?q_SGFBZV?~Qw<@m+d)9Y4d;IQ%_T3#hZa;h?-Q@XW zeK8Srv>YL>O*AeT7fo+qnmki8WA6J3v~O?#I|*9Y2Jc97eg4uP{wrawD8X&qjj+a%X}KY zv}?6d-Y;B&S9{m#D=yP#9#7Y2t<$Vo4hAr_Ko0Fx#7-nOaTun+!XRE+qmbAvL6_Fl zi{!x==+}5uPvQI03BIF&lpx>1u;Cy9A{I~Mhe9~HU31L*7Ym{U(?G9DSS>OlL?&$S z=^)cvXQFAC*I-=OE-J{bLs6J)Od5t3g>c)5b#K8glKS_|72RLg7(0WYcy@cas3Fin zxIEmNecF7_%_x*VC@o~k6@$|m*-LL5hPFTi%_(QPxL0tl&eWFIZ0M6=_QH~*uZnTW zX~C!2WLi4yy)8o-^&Rap-fGTbD#CnxM`jGeKDqttx^Dey!iZMZ=rgKO!ol!&i?5oR zmZt0|Yb2zZ**W9Ay{RU@w|LHbd#4kK3pZwgn<}#{$iSv4uuD>YjX-tO{2&D!hArZWR%Y3)FS%LTYBw)}w?!hiBac0v1KY~&0Yy=28#z2bDbtonG&bF4@TnZ5?Z#Cy-NNh- z8muh_#LwC}2|>dGi#diDl_mH0A#4|SGS6kABIZ{)j!Xyf*AHjLElJfX28`@!k!Kq( zHToF)t;)H=sD|VM31z*d+Lpumy_&9sY5T5QsInsgNG6Aiy7wwT)Aw|K3g4&$X)UP- zTum64tFHjEbK_N{S%7Hdx<9JeN>=htoBi|POOdM)&0Liwx$DW%Z0pMz$*t8@EAz2M zgak^`k?F9YUx6Oo5>;uxAjG4f3aojLH>?VbIa)2uBrL%Irjfn4IHLY*R&u#N5gu>` z^vbQ#Ri_wst>%qg|6sYqpADLllf1+OJ4@C}x7Ys5M1v(De?$F-))CB4p`&UCDxhqK zQi9e&R4~t3@MW2#!s>O0kg8Gch0s#2(YCT4=9Yap=b@vRjV>fe8q=512_i|C&Irh9M5bKR&xn~kxO;2=RJ&OSF!So*79-atC%&L!qb-k`V2{hEd#e30IiUc z#P%|ajyN`OPih8?lQ23Tqd3Q@E;% zFiDm;0oJ%+blR4EQI~YPO;>u1B#q8aRfthpF9{gf7PROK00Ng2x>}!86!xd7KRwo@ z0i*aEs|$(A3hAx}E^OQPnd6EWhOUJPa!AnP0aW3n&e{=JhJ)4>up_gu>LZJuK$9}1 z$kb&E_r<7`_R3UOONky`AlpY8s2d{$Tup4XXSbL54nZ>J;b?^Vr&hKX!?+d*Z+5V; z``aOH^+n?#|^m)Bk(dc;LYN}V#DBYZc^py7S!3LG|)T50tXzi4GRtG{AS(nuOy{XEICEY2>BN5If-=jw@5}CV5jDb~Trk)a+ozC?1StL|C1vR^ruk zsKd03JpULa;ky7O$L*L`B1Wrw9VJkQ&XJ9O8=Uf3;Q^JBgc74{AW>3u2f1t^QS!_5 z1h0W@B~2*Cl>GzZiFtuS23m5+2m_R9gz;L>b%~L}KLGgmA!``ivhx~`md2Y;+FFy8 z_n4FWSdS-sl>Z3z)jm_KHEjOo+v#m(~vo=qUoW_72@gvgy`f^^NBT zf^SdGt(aD?=L^keAfoyk*7bdLC(S|6b}2MrER=6a*h?(+4YJIzfEmH32;7aWM&REW zhmVwWMoG(7cxRN^0HZwqx_hYd1V!Z^Jfk9>BQkOcg40UKmnA6NKTuD|(#40(QQ+r| zxPK-&g`3Q%r%Tw*Yd_FW=6BCnwFx?&kfciyCQQ?2K}HWLrH0dO)LqV)v8kFdET4d| z5&QE;rv&i-=ypeLIrX+Wj1z&S*0f^svEprx@})yODEH#ijP25(Rwo4>-+D|wJO56O zD6*d6tGSQkYv8QLPBD>LZ>`!dHjGECmloOowj|XkcU;9be0;CYVc&YkvUCMI(d9BZ zO{#;a0gFr54~}q&rr{@9K6#EiZ_63}qM7ozoZOkB<-jm`$o>TeW?{X-z7it(J;oD2 zvy7lEo{Blfb`Bwa1bWE9gTuIbYq+s#NLK;-xH48Q#P`IkdqQiH#lD`_;*ctjyYiBI z`Wb--Z61nY)$?34OYZByJD$e<==<+|QNT@O#lOa1fPASv{~=%eHMB?QYkG&VqwzoG z)TBs0*uEcM^DoR;aUke;e+B)f=kf=KfUCU$Kj%IOF(zIWo+(gw13@ISsi}7)xFH04@)ew&ufQ+1PxT+l7+-lrMJL;f6Y&rYna%=%SsUVkTH?TT&ka*TIJ>(h)%^jl# zzU9jdjj;y@CE09iT_qwv3TX_0BMtE&SD{p78H%Mgc^Nkrp4m~aECe3vs!i}U1YA3H z?r8qXo(A#07V3`c&TEo^BK-FoVBFME`7fY8=vTo0$A3^$|JNJv|D|?mGJt(C+=}Tm zEl;WUWEBL16mA2>3yI@cd6nPzwNW?Mrp9b&UQ`K$_j>;Y)K8m*LMF20@U-#la_nMB zX?{*o1u?E%8_~1*HP8{oPphWZP%|(?7_vE%0H|1GY}?xtb(0wlsG>+Z5DeSle=_tz z){#0C7%|I1ii>Rj8KQqFC;S^#VssS>jf7N`pO4f`8V?bCa~qWwi3z zxQ)2-$SqWiqBCdLO8tlXya|`N4e5)h|7vj(mP=2p``)Q1I&WlWv8STr6Tf^_rpR0l zP8?0v3N>nm){U{=Tr&Xz$#BXDlaW06P}XiuHwHKyaD!|&i5?28PBFRA98!_mfQ3Q` z##_N!P?_z6?ce&V8q&K6bpO79E@0bGC{_|lK{^$yGhc5@-k0}-qaemcGQG=3ZAK0Q z?AQ6(>xk5>)c)KNd_uFOR}Z~4FA>l~^lkRw0FeEJ#bYPIJ=DbH&vf!DAWSF7aEyIZ z5_eippa71KAJV!~Vy`cfEy%oIf9Sg@lO(sCO0c{}OhRzRpMMDHuKpggdtX9&+n3nI z^8fd*|8K1eXe~D{kLGiQ<#aywp33kt6ww0T#(WF^6OEi@z!-~&)Qfi08BI!RExOcq zWI!$*T8fm(hvilbd-`%HHMeCI@%V|i^O$S;3$3vJuW2U`v4eGy1cju9#(|7f`jVnp z<&icl>5mZO8U88*JV=DN9}{=j{hB zlNn8?42({sO1OaCOr+&OAM692`;mK0)ReE1_fWGfKDZ=la7Gs(1 z`6%lub@YIBt$FKBkMp!_lNAk{j1}H4%3RltEW^;(DNCDWVMet0AbfA#W!g=8OYn3T z_p0F3=%@H|vT%v46vID(Q6mM_(l$xqZ#LiG0W6CbkeLAQl6vs%j_^YkQcXF|le=(C zS}8|hylcnM{pIgzw|fNS&W?|v9nY@QmFz(EyXDMq%bO0Wrtdz~oFvqWjG>%D#YGK% zW(k5K3qrx8$@!G+x^QVqj4@&W#J}C*KkIXMn6fEb{E#6c)Z$~6Zj_-F*NIKAcuYS> zX@B#zs;?dGo2aW>UqI)Lviz1jHmf^)Las+OzUsDn?K)NN*!G~zmS$tSIa@;D@H&Iu z*Lo7jY+=V`#4SC$^XE5AeKDmoxm2U*=w4t-MsHu=**qF%R4MZ6&UeY7LO#yxU{K?%Ut8(_Kn47t%f-JTE|b>3W>DY_cT?cj zh15WJ|NadZXf*XOTeNXBdNgu0FdCCn=fF*3aGY94KlB(*>6l(O zliQbhdWJnibEf(fThsN3<+Z0i^OY!ARKP9;)?<_%JDzJfWBNp@O@WEUWswn|rGTfc z^Gwr+TywUQX?kAu-sH#gLeB%nu>Y^!6_sYt=kn8&Z=EXTki|Jv3pR_%h2-p3Tq<^% zL|H46GC#|SGGx5%DY+(*Cfgj1?4+g~CPvQ;Mjy`TLo+Q;o*J&y9kjP2A<@T8IcpZ- zf`tg;*|&MER}XMkF>3LG-`OMbRviG-TC7>$H%#SGMzLSpS_SpPCrqe_m@T;G(-5fv zR{rd=zp;)K^;)B=_qf3b*)KeVzrI*HPxBFAp7?NOOHPn@x?qPE!*bC*Jz>rnDW=>} zzRT7@f8CY03k``K{kctQ;f88!?uHg)?uJXD+)C~6ThqeIqVijCt1R?Z(-=dHWTc-RljXJ^$k>}7l+Alt{qu~js&N$~Ve5Hn z%^A+u*hk~;^03wQ()l@>jj&RyR>5ytT54AWmbEj90ljt1McN-Qj0G?to4^SZ}utC(p{d_%Z( zX7vsxp2X=68H%l#Y+{O>p-ootSepIdf}9_VTQ_^Fl&}uTg?x7MzVG80Tm{ALDCc! z5_*{*(<1bM$}`|&P$G`x8ctd(RT#QSEVDrd8OpZ@V&BXueu19$(JXHh_$^sKBFK+l znin^i`I+M1>l#41eH-zs4Y>Y7?fi#S+yAU<|4<0CRMs8PfN0u$DXeKuSKk6b{Pj|u zK*3NBn3=GGg&`@z0!agfrMX%7B>D>}9v(n`{`?_)`}6mmqJ?@mkQ#_WC?6kcT!z?n z5AA0(r|3UU?CkOhsH zWkM<2)KO~)ZiA)Iuz;DBet3m+wNP*-j$R0QpVu-UaLCx=;x8r_9NSCEA(NeQxQ14c zZD44BpBR}5&=izl&zd?_j@v^S8@fAfuo;|8^ilE8oU@|K%Rou2dg_fU;Om4EMZw=h z88cL8F|{n_%Qe1h%W-j46%^?(HS+Z}H5I!aiF=WUdW8IOgOCrtZ71EwOwzt>onqwV zxRD);L`oX*G2Ub&)3mO;`p>8~?AqoMO$dLKo?xTx^1dpXm0_R?FnPzQd z^7v^(|3Cn!4Rx?aVo9dXO}*)83!3*-A-Jy^sSR}w$u2}6lZ}MLn|MaAlc>{tCXr&j zJ~^GYB8PPxEKFW>y@dA|yZ9^f)C}vU^sJu*Zej<)Gc*LrgD`rSHz)l?UTr?Hm&9iSG_4tko}4ZfP@WPk-0;Xbf` zg-HLrA0HYfoCO&8&J*EDuvkK+@9k{CaY=9EZ0MDv>3@B2*^5@LAEIo`yZ)=0}|&S1uX6wNUQ zuOkUB7p-qo5$AVPX&+6nVI*-(!ulyy3Y0S|uNvuTlBO5~Kpv9N zGTnkdxsj41+<}c)oE)&;37|o>c5%G!Q#-U4d$i(Y{ zzwsX5ORW?$j)=-W)n8U#R>2o6HvSNCM&xSXgQ!X_xQ{f0ugL!V9cYE?PddTkD|wlSpeKeb{&}F}?ks!-+u41;tU2mY0`jtCoiud(3a( zqDJ76{1b~{y?hIhUgNO7wB@)%@RzH?Y7|>TDn2#Buk)JVYh+BXNX4Ntb9vi>JCei- zho?PXW!Zs1!W{s0+H3% zAi3e9^9lJHLKSXbd$c7TG8fg}-tql$&JWz`t%z5KbxM9{svvtS15&H-R*JNlrZBhy zYk;jIisP1GtMAwiisP2vr0fxOYnb5$q65Z{4W_ z1pY-T3ghRmA3Wg*TLW0!I{S&9eTrnxy1JcAHDc{q+QUnjSTh~b-Tj3RdRhk^BDzKj ze4(Ql@I2wiLx%Qt;^0oP!^MyA_M7`B9-cW5=`ZHjaOom!5D=07u-E*52OJCi_l4>g z#Pz?{n*Y&A3+g)>|Bv10Z*_A$ehR7K0fgZ* za{I;)kVVN^?2kl3o7Oab12x;#mzSE7F|5mghA2Z2vliz%=X2iGF4ddQD(_i53<)ri zNVx(I*Ice#$L*%xU~=8JJvt!6Wx0gMdMN(k5irK}ekbRr2mQ z^9D(OC-a7>-jAbqFsy-C!a*zy2~R+wvCoeu0@j<@2}Il#ntKw+r_qm6zhR@#aKB+= zpT3ytJF2Hptm*v1Gv1OE%c)S2+&QUGzBcxPZj(j z7O;(mwT*JS{j|^XQU&d;7+i92Gf(^@;w@XA0s7H<_9;?+I=tyP&_idSn{q*l_|rH~ z2YFNgdMD&X0YqR(&giAgFXy!uuR5Gd=YIeAC5W(lp!(pW+V~|(&qK!MQzh~bkG?L) zjVG9|Jf&`(llpji(_)57u&TAjvd>h!4E`>>6uPpSzJVoiwnJr0{ZjbjDuKsT2_xOJ z;BfljDo>qmZ2NZI=dV8~5WcFcd%~#pG^^F}+sWcC9O|7aMirZA=MgLR?W5tEwV%qY ziwkXwl1-!uD!w6?tTbrcVb(6ZMe?&QdCs+q3&+BSGS;&%?ClkF>G7z3*=Ana#H)+Q zodYVADlE78+TtN%~>Ml(oiEV=fK3N{C|e?<1X+r7)TXDz1`J7W{Y;;~SO*sUE0hcD(sy zbOLx1reul=w>S(GmjpcgklDKr&ue0OH50!pv3#o+38mDuHRk&I1yedX!_7VC&Mq4h zVCxad%^StzcevSbVz?vFFrX0KJNhNoROIf5q_Ku7-CR*q@^7z>>^M8}e17{kv&{~^ zQ0qIbRlIp{UmjRgunZ+pS%-z9Yg&>O^tDImm|7<4Z#pmz#tF;W<}++9E}WsD9OF#Z znMK~Vtw@emc+a}o68`465~EB!au4Y<7c+#k4mh%x8j&y^b@FaE>J|wS5epC(rsq`r z;o$zU_T0{kf@y+&Exh9d_wbmoz)@9rh}OJj7aNz@W(|atU~%Hfoc>$rmSV zWfe5VHM%T}FELt|`G--JmLl%p%BWTW%Gekl+5Bp=aRfAFY*Jrg z)>(vt`LF9*ymjv>>|Q%JJPaIF;7Fn!3KP%PrBxDWx-=(Dnd^hZ#@1GEh@LR=SB%3cV&5V;Z1~^@epr{$fXUO{OJ#u3W32%->h)j}xnhf8u)yt5-pqJw z7CF6tDvxeAtNl0jw3SFUa$0O|rQktoKl~EJ~SCmv_O6sZ*5D@ouoStV_#^(~GI$fyU()t5pg`A9rircWD-F zrP+BVI2Ore7K>Iwi=%sZN|V5Qque?k;Z;-YWea|nIthH^e&tlxQr0m%laz&D1!2W@ zo=ut5tdZ?B;$w1nN;2vIr8kPtZy9%IPLak4YBT2iF1V%l92O4_OH<@hJvxX8t>t(?EoHE0s_<3BV_rh3 z5*k9zOj|J!qwtT`%1FgaiB2z~)#WHQ&9^x>?nhWUwjEVM&?<^((kKHyA;9dmWP{2Q zAGi1RBW+E4lKgDaw>o<+!OM7wpoN(Yy?V~$UG8&FZm^YdbO`YNGOnk|TmLpKeIu?F z-oOY$N$OzCj-HlkN_tqj8+L&5t(FxeQ!#``TNa^c6;A?T`jnL{}#n32D&;^+e}qe>puC5|YiBQIP5>3_Y1Y3|HK zQd+~8+QX%(J!t5TzyDx}wqUB)n5e{f4Q|!SVRvlkSYLEtZ*&{tA5IXP)!;YHQemZW z{P;eNe0yy_SnV(v!%LiV0q-?1gtrRi8935KOrn`3M;I0YB?#Yt6G#yFyrKUBsUSZ0 zol74{B=0ofCSe@}j&9}O|z2($QJ_O><3T-v||(U2Ka z=(!+}JPidlDc=d&_+6em)M1yJRh22UtWRcsqv5AAtZGqf`A=my)q>XapJNmpLXIqu zOpXiSG+5VqNYJVP0&+#&>D`Q zCu78uc?-pRssY^t^V_{cBJ%*ayvR|0G`!t#OobZ1n(JYIxF@ks35^e*wayk}pax>d zs`-L@Z;~Xl<6Nrd_X#KF`?=KWv@#?Aj|w@GgSa3IW_WYfv&}T4Xo>w5(8zSpVD{;x z1s`-1l%FI_w1q^fJ2*qnja;G2rZO$r?-Ima!3`<*jg@d82orj$!)I(e_7=1_g7cS@ z@Wvy}mjSL=!|tvLd_K^&-RS%=GeLJ_tg?EA#-*s}!FKWOENoG((7tz+zTr1;T3yUh zCcARZuczj;Xg+b{swMX6Hzn;K6RaA6y0oRRAv14FoP6!|E*e7|pv&``gng`DSil#o zqaDcL!zfOCj$PV~iSKPe-`r^ac;U)a8%sDp<%d(krp@ezN0X&3mnXN}-ppEB~%Z|id;bEXdDKXXbLw_RiO*oEQR}zAl!e)I*5-NW5w}d5w zO-~=4+Z4YsYuvD74mk%>+?_@1YpL4uk9q>a*3NL)d2A<-h#Kf_fN#7H)Im3L=)wR2Oy==rg(7XeB~X)m-_DXnvxHpY)M_^Eh0Nf}1!p z=hCG??r+c-jm7ROcaAUCy4(JC-ATlJSrA<|Gk5^w5=24uKt=7AJd-^>TC+ymuqGYs z-g);P(h;BY!^T=oSl0E|4CB-o_{D001~d9G*()LJQnISU-X!n$Ej0d;Ywyp0oN%gM zn?QhlN!A!&gKVV!FFS8xb3-R{TN`}`_y0`~{@?w#%I24tjrLc&ZnQ}s=8%N4k#Y$X zW~TVDph>=LGC6s1M#EpYU(Iv1Gcah9-iF=!7O3mxk{L%~%FNB{!d+0d9}vU;B35>6 zBRBvM1(A9N0av zj92$?%$vYNv(bFmX0GfH-`;2UUfNfzy7g3EmDFmU;dj}(u|1nn?0>AOuiI=zf%Hi$ zwBXWQ@l9x0Og~ifcLxA01TQMD-KxD#W$QCD-2_s|pZ4`^tst36;V9;>KIdWUlBW&-g$d}Q7^WdENLBZeLLHXOZPW(xJ^R09I`$bVBqc?fHGeH z;-yfZ$0}hj3k)kr6JQ#HSfZCPgwF~JiFX}$j zD1A)YCL48F@nvADuUBiu zjHm1vVJzMc!Q*mh(#+9D@hUNSbC}}NvNAEGNk**Lo{&$8wAx?EnG)Ua0R&nDaD{ZN z9k;~6{Z=rULsE%S7N(3S9u%aO$S`cgw2AU0ON!QI$ePG-?VQUOecx?Qs}(V)XBKrn zVOw?K$79$xG!7S4+#A((it%|^tqb|AljqLx3-N7>vp8W{ium67`mD;pCWdmrSRkkh zakXpS8&C^6-<0uZM+uQD6c7t51oj6EjBE5o%hgf}B+Mh1zl+AtLd_j} z4m`t`$9W+EM1u+y@ zT~FKMs=pa06PyyU%<2R_Rd&y65YvM~IL&7i=_je=%&1?Z(&x-=M?$fZMZ2dybf{Ab z#yaD(OS*;1c=<7Rk&n~!_aoli1{(MZvI%=f&$RxclMcp;-lvh)Pe;P*bLHF~XxmEv z7sv=^_2)w9C1!t^F07~5pMT_L-ol|@aG^jz*1ue)(*KvWM%>-b%-H6?hK~Lpi_M^_ zy6so7`Lr?cyf`&_E(AY;ERxCOET+w4Z76cqG_b==kBtv5LiJ3SHk?kqO(jR8Osq@s zrmH|p20^4nDGd4%G(gP`149)1LogIm=LHIFDhr#z89pizmcYULXv4Gndc(2X(d2G$ z_Bk3vE%;c3b|A?M3#k@*9n1(GwnZ`!Q`PaA4YUfqMo1VWoKT4PL)^|+@fUSI1`h-v zqI4MAcSiW4kCIUFgNaTsq*v9H^UB$a@ii7*pJ@2^`Rj#^O;i}xFg)lJbW7Y%JnZSn z(l!HZ^8WM|eFU+@$apLTk}@s9#l_HknzGx<;K4aVae@3`@!6Y;DY3d(|^khNA5ka6K$| zZBF_vmexwu!jRWmvh=V2ddPf)KYh3&bACIZr9(dj(q(j3O+4qA6h`tetPSZeQfrRc ziC6|bWCi+LQ>T%y#wRt67x-TcJQ~8V^<$bqYz)}7;>Mc@zf2{d$ZD%|79JQ%V0lC| zXadP3oL!hhaV3lK)ymTxh_{F@*3JGO(#|os7HHejv2EwXww;{VwoYu@wr$(CZ6_zT zZL4#;Z+E|YtAD(@UA1@B{=N3Bxz-x%8)J%Txx46BD0Ro;_gDS9@c@3sLOE6R{Kdj0Z3(W!KCaDBbIr-Px}&t7NW(+FN_ zK!G1wlRdyOrp^jCOk!YT=fd`UbB1);kpXlOZ^eEVYefeq-UxXI<^HuRz)ifX$4$74 zlSwl-0tBnaO}WDW8M6-wdA!FB`4cc6SaQ?oYeLK&ag4#5nc1=kgM0(uu^bO4hCE~~ ze}eeLWvZmDddI4{p>c|9s|BvZau27~<~N??PV$O9j*a&ETUa+tznuzLspYQj^aV^v zhr)<_j3#_&9Z>n_0z*Iv(XZ2WBSc2rra|&}XlB(w75RSG6_B6j4s%c>{#@JbL@yy8 zI#o_E59>Ii&n0-X^1O^DxKLH;021EfS3#J4O(0Js*ncCx@$~w|a&r=@U(FzGv=KKp zk4bBELk6>%4<{)A;T*hnGGQX)PrIhDY53eYtj}b+&2-w!+wqR1>JY|#3hbyPJ={bc z!>u+Z`&>qxV6?Z%-6$zNn=$C%MrmCI#ALug zbFt_|7u{NZ!GET?R92uifO8x6jI#gu{CqR_W9zN`3<~iv7cONDF(~sfDD(^(aS5HU z+=XaQN}G1UcS30(?JMjEN^C{tx1wTh8O7`(im7?%5m1V8o1}v;+^8ZNOjAe%W;L8s zC$MZ>)nAzuksb;O$#&wUJ|KhIUJPn_Fl`a*Lq%NbLQXX?r&(zyU!6Zxrerad6VWKK z#k;r=xc=Alfo#x-uNQ3$Tu5W;A=XGhweerv2kJ%zRnBuN$V9p%vIBhdQ2?SS*vB~j zju?3`nH#EPF|&g_R!_EgecV{swIYmv})*FENAgWK)b{bMY2ToTdK0 zC*`%na8PwE@93;&^EC8l35glqGEAYP_TcIOY3{#1g&GB1W%JV=B>{JK9RFP}nJC=P zb13{mdfR5zB4z6lUa6?bUH>aWk^SZ* zA6Rd~N@;>2icB4SNxXfL8(5%Q{ek;@Rd!ls09NHn|i75P0!kjoaSweE|7C%uGlPU%qm zS$vjD?ilTaBG2@E?(XjH=S&CPY?tp3FQ6UHzw=^y?pPEX?4lO(c#?OmX~Q%dGJ7&e zE(vOAsjV$;KA&b*=fXu#hWm37?vJa*zNJu^+c#a-f86?-51%Yy2a(uY&flU`osMVG z=qqJL&Y&Z?Yv>1%#VXmekt-ohgI=uwy#}@oR@A0$FGjllR&TD>J8Qd>ntKn}w^T(F zZ4;H?F=tixN=#i}WT^ZMRJK~UWU-uKrJ1pR*DkSO{ZLuIcJnZ9*tTBFMrH3dQF-(0 zvSI`3Q6!bfqbyT|4ch@xGC|2!EtFJ45###kwgErSbMK<3dnD6ZUx!bZ;EGsY>*7CB zQLf%~^>_m8s-Z~{gIR_^s8=>5(sCy8Olnh!sdHCl5htqV=R9GrqT##HY`=QugnjQO zn!w{q^0_Q}TpRxblyKLY+9!%J^#=x>5o5#@=@3Sxma_KaC%e*CAU?JF@G?WzS$Ceo zR=f>oyK+4<^c*J`7&El;xx;UB?_p^W+dIRH3e9{#?(htg_6a-3?soBse*|S7qbO@P zJ9>xvn_6+TQi*3|sUuPk-Bo9Ao#qWRr)K>AM)JZg1g*0-2>?Kh) zi~&>65tG8;INXLI{vEPlXaliPH!eA~F?@(^Hd;}1HewAiQZal21RRaRJFJ(D;+}Q) zy1vrLGps&;DtH#Ls4q99HVJ4eA({7JqJO7NqMJqEQ?T3SR2P3|Y?xd9 z;FaefE!q_hW8ghpeJmj*=;&MX1T#}F3j3gQ1dA=~)fY!OpU*HW2IV;kf#oPWs(-Q*7u{Y}bLs!OW{~D)uu~kf5JNbU~JKV@OZk z19)G0ICcy|;Sb&r#7`!F6`IhKvGP(Y>D0#b!%S*gvSz14rpDhxbSs7B;%|L2QYVi4 zYb6Zu9KNEQB8?qX0&Rt+lY4eSe3C}DBF@E4<@sa`h5;HXyQB8CnP)=P+ax5jo#=S3 z{%=^%DaC?k4bLzVQCGn2Kux*3-B5h?MqvL(juXM==aE(e z^j9k33U>6EMWt8hZ=iqe4}a#(qy8~Lk@SaQ`%n6VpsAkyzw`&C?H?5YgC}EiDi|Rh zja=+inSVXjR1tbDS(gS@PLRnNC0r#lZ=zl>nYKf!z7I?k|AXNReR>5Q|3Sb+!!A+J z^C`xj`}qoKel$U_)#LffWrkz>wcF$S>o~>$z{Y?hjNSUj@lwV*T|7ij6s!*HAimM3 z4ZKNc%p2xGj-f_hYx+lA;JANp{-a?2Y`ANFpg$lgX^$)dDly+b+W%S^cmevaREu#1 zKM>R!tM;~g`yS2;lw*Se!#R}xIq205%Ag6(4CE0?Y1%Cds7BwmzFPZ%>(hJFrgTTW zxplkNDfMgeX>}T^Xs2j|hMaRbl(B@j5tq$Xn#$^r({|$NqVqJ(y6a5oKDnpkc)7F6 zv#ndTnTN^NlTMdBBZ*}l>SLT)o>5pJs}{r`SuQJEoi3DQsE~j9&}Gx!s(~=4TlDT~ z($#EagYCZh)an@D`U)Y&l))lLZQYq3-?-dpSh(75`KdXeelkI%%%h3_28AT%%2o4; zsro8|Rvoh%>6elULUEfTy(g;26qZ3#IkOT;wZEa9owMra?EXQxZiU)YJQ1}-PO-am zsdOHAfc}Ye9`Y$l`)pRfa3QMHrw=+TAYIHPE=$oXe`XkAMVmN_6@XtIB@f{cP zPtu@GV|~R|e>3rQ%Y#1jNZ_YqJ)H;hHt=nQ-5J0q``HjpQ;z?C4@}XJ*lbn zlzE1Uydt?OvX-TG1zFTD>Pna;L}DCWGWMY@9k_8Ka!lC#E{xVxu#RMBbFE!?5Z%>wnD3RvMBKul z>#t__h9gkro0n9ultH!mUCl0E1^z;Xc4?twv0V$>V^rX^Y+D)OgFH9Zwnly`-S+*r z=U@Ak^b8Ph+z+OH_|vnv|AX_){}LGf$*cdIW&XjdTXUVT77uXpqky6~ov)0)bCt%H z;-h`|0zL+e6?Nzh&HuG#66lA&)%`>NdBfMJlHeZS!`%`@X5W7FgH z{Q=s`t`aY{uLG1~r<-2M+{PYBe21|l7g~@S2&R}`$39$?6Kkw6kQi(R`xDL2hfv|S zV}tQ9PwO)x9n!&dBtlcWnI#N1^_Xwl|6JY#;X=Dwt*xn-I+M-!K*!Z49lVmRiUxBU ze;NMxw$%)geQzZyMvy&}C5^XYk83q-j@mI!uX^W?oAAC-4zW(fHWg51Bx4%J;jW-Aj)yTqTc?@l! ztLCvxlTqQ6c|@CPVy~BOt5NXpjuR<@-<?_n zUj$eL_@6}0-x8tLh~|v&B9nCF`5$AG#7q_g+#)#pgWLj>34`3IjL#xXnrUgB0EiP5 zb>q|%FCdRFf(QC0CuAj_L9|(0bNt8Pj%T={C9^tbx5&g2ZkT4j+LD$#ev{2KRW2bo z;jM(05tih6d&P&qtJ4X{FPgk~Ws@_}t~@Lg2jtf5`7mu$tdeO2)g{n2_E(^YLzn0KnB= z_4X?Os#71=#g9-1obw5FFRJFv+vN~AXqt?IDKOFheu|r?m@2+fbnS76?8+YB+s)n?8*|lVQ>te zck}5L7QV}%m>0%TU2M5q`83H{3E$oTgWZ*Ar>R=ezlos}BQ>7AKTIv@PmYZA|KFb} zq$DJ2WNl=x_kS*BRjQjdL@kKNTiVlMv}W;=^UTugQi%Y~z-G(c#HN=U;7Xb<>WgF@ z$yW-%pit&1@vho5Y{bj;0o>2mX4!CJzPt~0K1y?#_Nw?_{5q5?8Z-?bJ;UBj!@RCZpY46t_3+piVDD2{@0VEb+Pzrs0iQjO;3Ia|;=NaR zojWDma>AIiO3D~fG(+$}S1D&fAH-E`(cNyp9OkG> z1oOZ>Qy~?Kk+OM?HRe57Tqk4-A=Nx{AK3RmWl0Ig$Au0E_c&&zqnPFMi-RcdnbR}T zk>ebwl<~Z}UZT+W`ash)i{`qy4893%x&Po>TXJriEKoCkP>0{=H+m_b3FTT2e7jR; z`H6054G&9>Lq-hjZ60dYehAC^X^ zThVS(V{NV3Y?u6mN+ZPp!Gpj$)a0fbciLJ2uYxpd1%Rf^%iCU2&Dm8+q+U4=#($fE z$Z`J(boFJI6w(to;s+choY7)g z@>ea<-aq&s9TBdbJU*?lVT(y-?xZk)H9R#XqO##;{LoEheuMZ&&hVS<7|_^G zQ!=^~7YV0o{-K{#0 z!d+mQv}Q>yt~cCZgXy`B$_VgF-+3d?r(_=kK&^ow#1@jlqVX1S|~%+6VVN$#qnNB$-6j9=pYV0;8r zuzzW~Lgm8*ZJim zRHL#J2QLU*z_M;glAPU*)p{LEpL-qKiTLGA8#~#muCz7avlJNxCNvslvj)e zG1@jGa$R%Nxu&#vib!UBSz+s_XFc*+T!A`p-g@OmChCSAZm2p|(}NGC$yEbS&VBsi z7S;T_i;cM`=zwz?`zms$JS}o#4T8B&%;7`k-`XjPgB}MDZo)bgH^hD6LJg(NomjjN z?-~!L)%F)i?y688%QXV-HZsVR=olzMHO6bS#^@tR#zK8ve9^R_@BUf_RpUT@JL*SW zT2Qf6Rx$vk2p)JELfJ|*Rv{nQ1VpYu$e?BvCUTEzdVc9rkbOdW@=F|OpsE+53O|9= z4rrRw3}jB$hMScyYBi8~XZp0z8}V&ZjD>QiXgQ7Q@`V=Yqa60DV0gC(6; zV9@Pk419FycD-UQy28`iwp347MTCZgnz4vi%iN*}z0}ZQw0l$JAQUR4f@IM8T}uEE z(q2eG$YOITqKAc|NFA!FKqx)x8Z;r-3j1Cx3RjpHI_cjM+%ed(Dr1dK201wh^&o4! zlAQ0p*^|ygg2)DyJW>oafVE&rE@vTH#x0yyQ#KSpIjaSAiQF)@aLwW*sjKX6YROn{ z*#7$Rhx}IME+W>Dqi*G`2^Au%chekzE028a(JmQP{?xCym(BtWIL9ut!(7yu4nZY9 z+6+ulk&eT5ttDG4p`h$22h~#j8oOyv9+8cK+p8GowSK;5Ja{6Z;OzDh(nY8x`!2y2 z>D|)M3Wp1!6VeBM+8RF0K++E0DjUA_->Cs(ANQ@=C5f!__3G6zfc4z!Yr(!i`(kRh z-5I63Q4O2{$f@ysiU;Lmk7K)iXN3j(Hn!o=BkSEVcDa4U@(AhDq}dvjf9w22?y$Q< z?r^hz{ww)3F6sQ9V}0C~kKOp~A@fT2?}?Uii2cV;OFqcL{-?oGArR7$7k#FERB|J}v(cLLG{ei#8R5#05Ei=od99F_{l%wzw2Cff9)(mTgqAa=ALY<-}w$5KrPrpY6#aPT&1=G3uIrBbiC@g1TH5$XL z-~XyqtbT#~>!m9GmlBsc0ssIy{(qmx{;wkOe|fc4vN!rCk6ok&?}_r5l0ZUJ9NWFKma1uo&*9!%nwP*FYQk#!DJX>sMmn)%;pCmT-9e$^%n>glt#Z%xX9mHtLQoK zO?LIWTke}=u_ov(%J;hp#)pjhTeE0;ViG*xk8gC}N9nCV1p371@Rn@##UzTi@LTaT zQl!Zdtt7QJ4$~r&Krls)7T;?$JZ01WRXB>L()_|G$8uI_T1j1%BZ7iVZ)m{SFbY*R z&|oh4jYO)`pQ3^mO`3Sh)IJLHw0YxQ;<)AFajPqOY$4%ceY zx*=bs4U>haE6g^(ljiR#>UnhVIG1||XJu&`$o1XYR$*j{!8{1+!iD4+JUt2)VZg-Vnc2ms~WsIGdphUCstn% zr>If$h}1BllGUNc9ijs3<~@0)t#zCh>RN>Xp8Qx46b3#VSTc)Lts$mmdJ3mHgji#? zz=FTySJSX6ovRxNeNsAtm9TFtc}9_0;v}nxU@=4Zm{WIpYXXJ44@WF;#YT~QW{DV>evm8DJZt(XCt9TFBsyr(N^|)-svm0MiWt7WQ!9} zXpO73HqX~OnrvuO?pI`>nj%ap$gV|8ykM}yfUUl)s+NcWQZlB^IR>lW@{tPF^C8Vk z&`z_afnDbYzl9a>h%LyyHlbi4{3e3C8P*}xqiw>3t;+@*m$g&+uBmniX3c=g21P{$ z*BpcXq-I(&)YaQWN-`oUcytyvQ3b2zZ?J?VxKKtBX^wnXwO-V^Ka-udULMS7EofvG zRZq6eP|{*(X0`d3V{lr32IfsomxjS48{vxXVQ*+x3b+W-B>97vVS>(xeYA<&_3(0< zinun2%zYQ9ROpP?=uKlr+V#+JVdlH1lo+8BD|4_KYW7cV$Dc1^El7C6uzpJvV&II+G!72BbUdveC?-*UdY`A;La0btX`J1fDRaEH|> zwaFciY5h8Ll_<$-%rKkRm2s7lq$NTSsZDET#)}z(Ue}+)qsks6fl9zt$y=$c6}zGr z##7w26%HCx%TtFyQ0C{7zG~X3S14R@ZI{W(f8?CW-Q+}%D|29QI$4w^H!HlCS}S&d z+^lk-m{DkxYUI;Awx68Ma!i?a2wW4@op-CgXosqJ_{9Uns^!Oe;t3o!Dv`xEEKoN$ zGFKFdM8v5}{ZVF!tW(;@!8vS~&@5QSUbAnja$ zxpn2pPtGd_W6gvV)>ITcnwA}!fIg?BcOu+WpG1Rwp>Y^D*vy{B>3eo$-jeA@ovy8| z!c2VFanqwP`8LOiyEV${unm}C`W2wYwS8UYYoXdS?I!PKs;$^dCDs9i>V$g zW=Q#75&lZw?C`|3bVPT#oa-w>6-U4B=OBJt)J!P&RNv6lA(;=?Nl?+i@fQR?Ai7Aj zj|wkhwFpvVVr9dDVjEDQbbcEUpJN*?M}{M)ksVR#6viS#$>@PSZ7kK&9%n@H!cnMv z6MgiPF|I$}lo)AQtcqD=;RW`%Nv}YSa1)9gQd8jgvG4RSuB?bHu5ky2SFyHfsNH?0 zVq`k+O}0vB)Aa1rlC&0GQZ%nm;Ny4*xxp3^Rp-kL7TzRu;U6JD!PNw_TOL9o10UC95IQe$EQdJ2EgJ2OdoS@mqK2XM32nginoIxjE3N$tT ziLJLk3QYW)d7`rZhb9MA7)%Z~4!e3zE+BrQ z5w~}ldVT!Fk^e|$21A{=NzR$RGQus!!QuzpNSu46^qa#$;~6YTJ%4!P9B39F93mm(q)~NyV zdEL@NxRNJ{(v-?-05@dJ255Nfx-nnkVt)&rNSGLH$nsxZ&g13Y3yV$#;8JF4DBYS$C7nqhb$&^Ug#J%IS0 zK%9I~vYzqA3k-uxilN;laX#Q?khr2EoPIEmG=@9NGn`-`E7%A}cIGsoO?y=RJVooF&$}0uqltsTz96(tF z8=90XUwVUv1=Tf#({?Ld106dr^c-?x-kHg-n#f>lh)7W$FuMaBb9S4e?$julxdNq$ zAv$x-OG8d*1*HWF*Do5%VG&K@r*D4INbV|x*qT-UDULhcnGd!#0!m5lFIpWi_C1?G z(E?U7+*YiDDF-&WX7+@aOLn*goagtN3}&`HI@~SYmR-30fL#1i6uOy-4c_wo{sy8r zl`b#R9p9dp58e9x&>eMm3pe>hJ3p-{CUQ-L`-%1SiS7DegIL^C0Dkfu8V|q2>*G7| z5hk;cb4v0StCPp{V8AJ9L&UvhR1D7^&~?#&+?p}Mcn>lh!u;+^dVH%tNv${FT=?!= z3|dE2oewyK({V6{e?ld=4@xLyLEJ>&Xc+9>D}pNLCmxjX|}y@j6=HM_Dvj)B2|Y zXfY@Tek8@1DMth^o0rfla?%9+(vx&iQ08q^^eoPuhT}>PK-sb`rf{%bqmKZd`yDv@ zugRuzIX3){VH|qJyCC!!6t9@HXIWX}kE=$KoKeJqS0wo9S+4a7{H)MG0Y>-Vfr9`G z_*hX$<0mr{aMR8>w^;kn@?8c`0>SNdMt*DFwPU{+T!zMUUq7Y!H97~tqDS>A2^Y`? znfcBpZ)HfFlJar}gu<5*7==f``rwn-nFarHOI7+2lG%^d0Hp<4$&XbqiMjrAEuSm1 zbQgfQ*!>x=?4vvb3)mwJj^I0l*QiY2UAV`Bp82TCZtCI28mFYF<3RwDk8&y#=LlWU z)J5zml?c-zsyiWgsM({G(IBBK!uJD@vLf$t1Q-d6pv_g(z3FDLm{3nwwL&tQI})OE z1Y6^_!?RWI&BGa$$V%kKm7GiaDxe1HB9_`S;-%_G6a13)0`3dYn*OW739&=>c{fn4 zbFA@wu%E#|q_+~3yUHjBOG;BYg(Mq7RIacrcaMvMY_pG@(X4mUi+)}5tY*+QxtBQk zS)Fm#`_AoIY;(L@Qtg(+&hKF)j1>3_igwzb<&AYS)KW zJ(+a-T7Ci89O{3;=mtG6eQ<#6;dW+UA57)8+~8g9daZntL|z@z-FS88z~AU~Z$BO3 z$NJ@VK=t)Na=d}c=@tPhB@&$&_lW392M|gFfQ9qg34NIm$h) zcTcmTy7<@U;585ll!jdVrc~;|&E9{749k5*NB##0NHYjy3`^5*8hE%t7M`IW2Ulf{O z2^!j#WE5U8L}H|_@>Z5RsZ2@2F%jL&h|ZZw;yiFWY&)H$cbq2*_`)#0H$ssT1F*dIzvhG6ftmDGIPj)&k?bwaIZm;orG)&# z2n4%WkL5vG>k`W=uRvLIc+(1xBsmNCOPeK9^ z8WEJG?%N)Zx35odJ5V8@a8Q$wOx5KrZ*L!A^fU1tsx(%N zTZpt@v0gUqhL!EGe(yzLW)sP2UI&T9hIbFT_H6Z9ue7FZY$^~Vd|=Sm`Ymy`9KQmw z@y&;5&P5V08`JN=b_yjM%2Te#V=5-&p4I zeE&q(A$Qtc(e|eN z!{)rQf2gJI`gyU>%_m*k{HZhjTz|9=lzVK)82Nk)!iRb*q>l1dmb&SW6KnG78lPi) zCq#$-YS!!-5j1PaC%cP;Sv*cZHM7vRIKkA(y)XjE7X+djgwUC2GDg2X~Q2}Ad2Ujv^m3=G?23GN*b6OkTDCrULX8 zYt1wz ziJ`MNp6>X%XXoY&=k<+UN=yf+YF-R1-7`eH4(3}Y&eNTdR2#56x87hHDci_i*OJE@ z(GsMW>|=5Ak+a}6>z-ulT}S+_tKi@XTRtf=8^de6{+v*~ZuL@`#hdTel8KUNytc?< z>E8l(LmR@((yQ=C_`&$OtF!JdU@s9Rwt+g+NB2$UDA&d<5kMe3rsjoE#w2Fl;_LYe zBKO9Y_JPQdf-b6r-OwSS?7ET(3xDjyWkGf# zJR9)`M$~LS%pDCu2f>Nvx1;vx=wP^Fpxx2Mf+G>0cxEjKEMu&iKUl0wY?a%yjnz$p z%?oKR_(cDO>M^aZ!EA?^@m`JtZ0$u@@e%OmZuzpUUyqy8Fx z!x420Y$GxR_Nb-ct(J}q)Hkzj8tbz6HGU+RyLQ!Ao)i&Oaph{Fek`IP%ikdft6#hN ziMkgSY`EtVWDvaX z<7=Uj;>O7mAtt(6JUOrtm=E4^9**5^R@t&&O{~Uie&FWuK+A--J>l3)*d{8Vj+lV} zgcdIXZ5}p|rr<+*%N={M^+#C!FpX6s?cx-%BN~OIOkuZhYsfZoJDFqBz0WGJ}wTT1I)1yTUE%FHnM-so!B#Ijy@4=-XCTH_^`kb z{K{Z_HN3L-hDF?~IxzHbE$+h4R&U{CW*Yh2SAhsanVgI(z|HA~WlU)LU3$7omP_=|A%+ zD;d7Nj7zcmd&LRU>%2&5h|Y|sf74br;+UfXQK!e)E3d-DWRRy$JL>#DX<9H32{#7$ zYl~hrJ|JI_-n{MP2LlN}y85afrKRh$7M94mDfR}cc2&DbSvxx(T~XN5jKM=jYM^TJ z*pY~t_&~r=wR!)}(TGeniI2pC30RT4LJJBn%S%6?L zYCW6fNv``V?^tAeS=s}-Bhic!pZE(bPC28p^GjIXsI^ZIv#>;4b@$0fm~GwKM3xs| zv9zU^`PI`nbP)J*=RO?~Rz$;yqxLgz>dWlnT_7*^rI?1Rg-Yx3TZXGK(@k>IiZ{r7 zoh?!j*$C`Qk+mXQy1d|>L<*~fl?*4e7Ljq*$wX1k}s@`w-idXhMc8JNj@jCxz_8o5EAMuHFFL?e zZSr0@DhFZe`l!b2gIM?au!Pw=Jx6?k<|KRRg#*cm<1Spc9fJ~<#fvKxwCKN`@r)m6TE&HP3X{}bZW91ZgqsR zCVGUX$lzGU>?vzf&`Iz_?Nhj8$ud)%>|JfM{~pE-)DDRn|E#yJfjCR*l7-r480#r? z)V&Z<91&L5_8?mUAA`Tnr2I{6YG;;;9(v1qcGy2UTTkEfNq4OJF*31m61Beq1#Ho{Z^SmZdk)LSaCm&Gd5AUD7fQzwwk zIN{-3jK-;W){?SjMxy8Ov>8HmAZ(iVq0_nK3hr-8f%*(GUt^7jzw~2&!v)KFSA4FL z<`^!dX2OsFvntW*OJ~gOBnD$DTc#T76>P?xVFf<)Y*w!U0HYx2-Nocy-|2?7sbw&a z#DYwNF!4q?@q>r~mAtVtW7QXmvd2=ea)lj1b;kVl;j@MV@H)MLZ6zP+QBPom~hl?+@Tovz?t)iYlf3B%&S|W_OHb+zZlo zzzCa>k2IL)boyQv!*8sWJ&ASQxE9HzX!l&GH0XbYB!7>D3X)Nn+%wqYlDM3(yG1Kl zpSXQw{jz~uWy)ci7_j`kB!9(ho_>ZiF2ky|MfutjwM%kuEJLY0*awy$n3RBpHb6zYhnR`@Wy zXdCYDb4+q*oJ7!vUl-|9P%y ztLE+jiZq~<_^y%^06lCDiZq`{Q4M#A5^or(V%*fS5`aY7rAy zhVtk-mJ#)xCyrzY+M;Qo^s?@x8@5;4;s&d@@f}zs6>ktZKz|FI-xWyHx}X&_!JFng zS5Xi@uR{bv*rH6mb9x)q{%+k8vVT+pRtetHksOYE5$!jFO#P^9Ev8!TiMf{3UK)BOX=8*A@%3IU)K z`YuH82W!pDHmITcKMOu&?txp?4MBc`P%)f$RBJ2~y2N2`$$5p6s-pN&*s^^C9Clbd zx4GQ}v`E0qImCIym5dqyN|%w}p|o`{05JQuG?yF4NJRXq3n9!b0i77S;5FO6CSJ&4JDRhb6qF;K>0g{g zh#)BNw5S}S$^>@=%{spe^QH+oIwKWtWw{?LbvtphPrx_A5*lG}{xGgg81A}ks zh0VkOpS{xz>;-Hg&T7@X7BbmDz0QqHndC*R18$Z+d7e`;toYPDc_?;z(KJqdU4M7$ z=+q~_+yDeb#Eq=eV9&!3SI&_^&^%9T}BN-dA0954&V(#!iKmPp7e&KJQy=W)8 zwaFVP(=Ag^=za`EwoOTnn!P*vRH{jM`Q;L0LM-tC2-LAkB=|y5^Qf;>q?s8yo;M=S zE0c-c@6Ik9SAFnL>|sh<4Mu`?E_Wzi0%EFE)KowC>~6(E(M4$uHJ$&a~)Sr*_d z7$O+zfJ81 z+I5q#**sO~nLO{nolBqk2ZWqTsGu_x9OnQj>Fm&}c?70PL$Z-(C@59tPP`$cWx~My zR06tfVy{Z6E#-G!37+N6aSJV|pqE#%+sqAe>utN%$l>y`EMZs6cF3Dx=Yz-lot>Kh zmQe?#Hm!2#0LdpK4ek^R+69aSKOE?@)CF)JpguS&W0-f-`fnqqDB#WHigPCzJNQz% zv1*Sxn1bd=OMAjK*s?J(z36r&^>m0p0hNH8KWCj|au%L#^ zr55ZgK=?@ZmBfKmR(fMC>Gd!Unh^)#m(%Wwia{pNtCnrZI1VCy(`r6ov5{8E?ofyE zO_&N5y;SsWv#x^ss_gL!U>B9d+picGRm+JTQJis?qm->qNdGmtuV}mgv9jBh2@Bd~ zw@TV&B0E7^O&VN1C>&(+GFkf`|)si*$Fdz!{M;_ghD1!VR?Q zAZc;(u@O>%v=xz4Tae8jd9%ODk*ucRy)6sx5Y9cGuK3tBApvmu_s{Nw?iRz|&a-#& z6k4!O)NGyR?LXSW+`f3_4VP0W$(DjwU==?=Sxl5+bqy2d?KqKPBT<3={j`FGMkTGf z6g?`}e!H?}rMUL!33I72fg5n+9we4{Ax_0HHM#@d5%QoG0VUZ9>%IZUbH*IyBInz& zTfozZw!1p6cXG#gc9iAF^1J|x6T}OiI|2fGM?1ns&{5DdK+au5wF+0T+$v#qN&hKD zg3O19J8#lzhQ&EmFrI-4dUovWziQoM=6_12r>u zGj({*n9U^+Qt`|Fg>Di0EX6?X{8Mew8l)+MH*hT@*O*7rF+-zGu*yct9JL09$c1Zk zGftp-gFw|fL6Q&oK<^GsL$G;UP^H(UkcxIRP_sftKG*!WQ#frxd7?vXV>w}qhex<` zv&y()UW2{A`8FjWuDHC<5oh^d^&&Gsb3z6zo9-B>7w_~@csWQuF{amFps#xABQdkD zALL7S28+Eh0}XH{i`#_E#47SSmueB5#dvvY z8V$h7j3uR>-mkVDJh0Q*V{!*dAxBDyW1r*JJ;mEAFYms(`Hj@TJ{!ZjskM0VN2QI? zvm76fk@IRtvy_4%`bH^?ozPEZ^Dl7is1fCQidhK)EF6(%lMyA9{89a0wf`PzANZIcmIw51~C460rLa$r~dd>Wd8%5P3cFY z{7K;X2VO-i{v%la1OEQU537HYZ3*kv3;YPd-%gpSg~iedw&aZnzi7n6Yu&XMu?r;f z5Va7L_rT2dE3s6kIW@S%+^Av|l!3y)cW~K52SDlkQtK3C&T#7vS66SZ*zRMxuDv_G zq5ptChmRKM_y=fSY#KX^2ownI7YERQyMRI&m?g@92GYgC2kSBC{^5j47>*7|?hTSD zkCZYX+Hr1F8ICcGFBSUJgPlPn8*N0dq{9rEsFJa`E!5bB|UOAn|UzknK!X}5mQC6?X zfo!y{PFH^8ca$Y4>#wZ>a^64co_cCGF+EEZReAl>>=-I zt-7J_Nv+$A);ty8krP`i^RY`|=LdDcPL`7nmvLv6(QKo97Bl3Vk&IJ+a`JEPRI7n% z5VvQ_*88I-w+1Ct5`rR3_0#?yjCBB=|67>1d|tauz>o2O0`@W!J51>tL5?KEU-^SHKurp0g8k7!7x>oiz;h2u^ED?{HYWKE|pY>JY%(*Y?^l=&4y!MdkVH3~Nm}LfNyyda=oOz#l z-Qf0|v%Cdpi*JndKRA2m=*psX&ATeL?MflR-8|bamN+qvru4vd<6RPi@)$@xS}rC`iO`!zxZ6gEvcoW$}d zCjc;2b(AXVr8>ObzWcb6Ela$^9d^QD@W8*{W!j4lTVRHKtSs0pQupiVsD)A$6hro? zCKNzn7>kNnPA#$0n5NUP#~a9*`?EA^$R85543G1gcmjtMRg_o>v9sqmq8*8=6f2$N z-ARg+X1lDDNJi54^P|cI@9RE!hm1-SJmO%>VPO252ONKdok>bfQK1cEy8_IhD2Yj zBgPr>m+6sfD-ZH06L`&mKM+wnP^+5d=0yIP`nT;61bxV$oBgDLz8XoGzFr$WuY9PaIyz!xj);p*oa! z9q1RHq}cp|l)oyC-(s}BvgJ;1Bih@JG8Q0dEE)?@jLzY|Y+A?vBr1T;)xTQzF+$kk z2Ybq{^+=WCE=6Jyc?Lzt(=gg9>~?WF`>E%LlSVt^CI0bHMQFAdr4$!EY^`-+k}Nuv z`O(~B5MEp;k($4e)@Dccd7d&fAum2|+FV$t^=U*cpH<9c94L<8A^gL*9>uWo5bR)) zE`Gs^*Hbz7(Yq;iGW`N-_?W)7^Rt`PB=b>qMpA8Uv^$KF!XY=v+tC&O_s4b3i_Qk< zM=~UVscFn$Z!`P&rvWkxoyv_^(NlXo#tR%r|!^B#dp&rRGQ4|a}LSqH4uFD8T(;3DteV$~9T zr!Zinxw*7W%Vnd{IP!8I9Dw*R_>LCL-)LF@rcQC(&jyL~qodb5f_vn7A6f_lQczH| z&nIm~Y!ChynB5v(b5`rfT395f6O`hx-h6%Jz0w6+b&EGtu;4t;5A)2ene-4*6XZ&P zaOmW;GT9RWv^W<0oD#$pGSQ+YEzw;H$n{@nD};NUt`IE0$hVkH5j8iC+TUL6!JNU6 zg=xOa7pOwK_@dtzw}6Sa8mB z|851l>>0$q;7I!6M;bh$Uu?h z`T_b#Kt+&HfdN(|0v0gv%7f%o!qJq`uP_UKKc!Q;RjPa6c~O2-wMDD4AxJtfs)U{V z3-i@=>!ro@MPBFj^$TmOue+$#xYzXiyD`(iljzbr!!b4p$6?lM=ix!)CXY8x zPazf7fRYP$2t^iD3^%1AU_?P63*#mt#v~B$db^d#&qb5d8{;d*hf0S4)mpP6t0v{41OM!2VaNdF=n>x&HzRg_x=8z%GU8K=|u%~%;^lk^hr&Lm#7(vyW%6G)64T=GU{Z;KP2g< zjqJo^GYN`hHv1zJm8W0L>DH`8lK>q9l^@AtceFN`r)!{#At^UeatKyzzygP?u$#b) ztmE?bu1-PkSD-0VDS(*% zP3A87p><%nA9PS*Xl~2H=4?b~5@lN?S8R1{RH1QGnz;s03A(^xoi>cQM?JO->f~?? zA8)We>P*ERiJ|6X?BA$YA`3>rh^(k;_Zpiy8l3m(JEI)p=-b_zv|deW{+W*r#v-=r zX4M$?gIft$PjYQ2S%nVW+53f4|Pq?g(OeZtT3Fei0vWHyz!Lp?k76!kaNO!L+WKD32c z!=C38=0kg3e`|oFqr{Yha4KbTNEuR9e-e^4N*yvG%r?#stz|R;$i;vfWwGKIN7ek9 z8*fAnsMA`0#Y=?k=&Ng_4|G1*T*y)+>wbIzYs78ZH|_wPtxbUza4vx-=QpN+Pox`0 zYvKqS*MssbLSTcf`7MksU#bJd#IX%!f}l zpgr&vLK>h|K0adPyv~FNC%l-u>C)?!i!1r5Ne$51THU^5wCMrV9vY%v&O#Oia^uYY6T=YX(@y++6Oj)fkOCT`hhFTxiz z)qf6efwSe}Zt+Jy8D>Cr-r;`xo_`x0qK8RGV%@a8YhJYh;*Dg-9Y99B%*5U2`P$G_HQLluE8U{~vtiI8W>34dBo`mUd35p; zQx|tX=pk?VdPi?Kyyyvfg2^on-j2i)a2{-B+d;;;veBwOoZs;Bt$vFLW4k_LCzlB~ zU4oT$c8KNg5ZN7&DfwVPovpiiX%Q#kW~k1}!829+3G0pIeipUF@*UmR2BomZa4Vtt+IR>+BgWDGpJH%EY<;UPMelZwh-jqmvjqlB5DMP3U<| zZek9&{$T0sYzTNvr!pbzliUwybvF`Ow(zC_zPIf*b7`C02YhH^)D^Qu8fZ6LRX49< ztj`EVt{+OTL_a%;;-c89XE)@lT8AIaQQ$~+IISq3Eb~#4#n!%CNsaJkN0iMF~Mq{$S3QxI& zR<9&qJM!9Y4p2W~yLayZADUgHp08P0AU9<_8p~j>+scO7lu)}0|6T>Pp=>IbU*k6- z+m!KosO(?yIKp;SKWvGf$i1oZ_-7v#bOx2W5L&gSnjI(3Qy0;7$8<-HG(HbhjByv;U+7Sr0tYtPKE8sU!?Z^1g|Fns9WC0H$-r)$RHc~x-#$-#OY z(<#iuM{f8IQa_@yoBVepr4n8ZeytDQ%oO8-q$zRF{;xzW$>s7jRd>F(s+3RG#+hBS zaDP_6DqeWhE_c>#R*@m|tS%w*EEe$nJ#7J_D;N9~Y2He2f=BO!bj@&UN%5Vv_k%6O z*1%lNOzU^}j)dKt)h|j=>IBI1v0^RL-7}~%*_p#^GP_&Uzo`pE+#V{iqKCnpl*Rz)ekxL;s*^&AWfZVx zEY*};1q*AxzHS|LXEDmV`O;!)N?aC)9K<>zYn8E0re}A0RrJaMPOWE|p5?}KS!FA> zj0V(-SoJH)rLLr)aDCn96zEA#YI{TKRj9&)h!~j6teE^oTdEN)ZtkM(6`IT+-rPNwZqL$JltxKZs+sr zkf!MQKRpiJZW7M2f>vJS?JaOKkf>Ujpq`d#m!#_DfM>CI9a4gsxw$TK+-H=6HWD&9 zZhS>%SgdJ7ng$uNAY2l0RGob1pP$O5k6_7>jgC3Gndy45hy9pK_M>}|eQod#F~NC} zpN4B|D6YbZ7@}aq{C=-VKM0#38B$X7lm-?i+N-K7w`V=olWG`LSmpwrl<2>c`ld)Q zX<`8Fahq;VPLzz(-?NrUy^Cg%7D)^}${$$kp zze97{V+x#DPsq0;%VqC5IwPJebebwXqM|-9$PiNfv8>!p3EzKn%1q|vog$cb#olQo zn`(0%U!B4cdMBlM=c~kDRk1%qjtY4lH`VY*)1~P&X0OhgYU$;CR3}GXvJ?Di7quIw z`j%3~nkpX|zaf0Wh-IE&&F#x^A}+9s6}_(D;2(%HoW z>7Z7&T`t=f)B}3i$Lo7!(#}2+|1vxADEMi0<7b`3(4%ME8~F^t z8t;;Dc;Bdh{7i3GD@fx^55mj!IYK-z;na!7cHNhCDf7tgoQ`?UAp&kI+Ac*WBo-io z?|UjCtJa#Amx+Z^ZCN>T+*CcD@} zhUvBBSz@~$eXHp%d+PShv8uDg*%M}56LH6UN$|*?C&EH2I)Q)3@d-6c(03rx1t7SS z4f2Bg&Jh)Tg3ddwfj96ikWzBf6Zzer+;&^qVFdXnMGF#UmM&hp2NqeJIM|!wF|6YhN~WjZ^*AbPdjO!y>m&j@ zBob?9BK7+PoNQQ|1sZpP>qDT40^AK+BpMo$Xn&j>2}s6=?Y8PFp(c6%W^^7Q=mI+X zSr9Y5$IMM{Ak-hrMtcf(`m%y4l3GXl9`3!=Z)1)@ws2at? z$8-nr>MQ!1P6?JwXm>ngf^GA8%4(|lGP@hZ#a9ABjfQ$;n;!!4k4peLc=WXpKZ;C# zeoC)7#59(1dS&I1b~}(+13$>)HO70(4NFXeO<2}wB-Q@tis%lk|80Lsy;VBEL5h>9 zg!yNqeDV*Y7EokpanTN#=$F3Jt1f)5c8uoswfI?2kRrd>J8T#!yBeziWq5_9w&N&W zI$r@naDUW~qXp_&#cQ6))XmHly#-z12!U<+& zA&YAeepR6>*vcc^5)E}8qC+c0L1lW3<#^0uj&6QjBJcrea{O77QJ^P0jHJv`VX>@> zh48Md3mbGEM>tRO(R1EbvzA25t!EeAE|ZI@j{Yg_A}tCg8UQ7Ps4U6Jf%G75j%EQ?_e(&^QAtu1jCvTDoUvy z|8W%0!M?0+4RId!T^%RFVU&8Y&F3Rd$0R%!7ITh)qMI4K1{~z47Al0oVuR+zLPfc` z;Ic!ReJlm@fOEltB^cV`5eD3BWeAWB4*mw4AB91xG$IeH^JhYnMMj<{I;b1jtDkC7 z_)~ovbM93``B87dtZY}5I6#mLZsLJDW7cwkHvZi2JxcrZR?c*P5*f3o!Apzi$rq{ocgf-Z^8fQ64_g)5AVWB9sC`|1PVBm56vtla0W=V{N!toID}O;6WzzUnikp@@7Lfdea;;EB_DF2jwS zehG#X)V!{F8U8QBun|0IP=Q}D5R{wSKX3qoehxw-0cItAv29L@F;NI}j6Z5);ASo(aEhD)juDDjg`81{@@6A&g|nnSOo2B@k-1?+nLUc5zmm-GfG$PQ0CFZN z!?Xbh6rf>Id}AG1D4zCYwP6<%@1p%u|vWX-zn@k3ouHQ@_O91A7b$Ou{L706L&V z5oeKG5tag|0*OKfWp9F^1Y=>UGNVxncM*+3RB5Og3vduH37`ceGiZ%DU<3C7Dhyhq z4(PxIz!HPjxC1`$9>B)1KH`81oCGv8tdBJW9kUj#re5f_#UIlZwWnU_wIv_(7QLnt z=&Fz35dk@if>Q{L-2#r~iiT6vQwdDm{Eo$oic_+T)u->^fDlC{saXbYS!N`_!xU{@ zw^%b&;9;t^{@;m)Kr?C}YtcD?p1HHH!T%T*z?JI6=ox#gR7B6{nOYiY#-_jpR7rVY z@Ju|m08}%2W**}Ls+l``@5q2`sa=D27{FD)rtu2`kPEPB^g;l9Y~0^~pL6Gb;g9hW z8;XIRmLyxBm}uE`tqLACFCL9lHes%czw)~yVe&L-rOwpk);KplEZUJ{^Dj*uH=fRD z&vU!>3#3k>Q~gz*2Kd~+#myiqX1e%!O7(+4a#4yDHEq9$*?M5KO^%6Fn>BHYv(YXY zK$y*y963mxi&a6oP}^1zKWS7$rKM7wCmCm!3T~uf%CaE`O;! z^aq*k_yxojLF}&lPrZ9)u$gI}=J63I0CNf;Tq#pqpphs!->=}Vq(Tks<=4tIlfHB`-T7g@s916%o=v$VWrCNXOYZ*%zuL=&{k=VP zsRtqDzTENVQ_sZ4b{9dOHK{BEHN0K~bCwgFS zl-9DN=;K%s&U(SLw6WK*FE@VJEnVbA=^*AMu*jrmECn}OnFE?#HKTTi-SR=jbcx&2 zoM}DrP{HAGx`kuC0>(ZR? z0~kCx;4=NO|3L5-*+-)90P-N1|HUqaHzzybSn$Pc*<;#+55Sk74S9^I_Y&fTU8FNx z?SGff@V?j~V?0vK>TCX%dGevU?-f1MehgvxM6h#TC(U$Xm{(HDS0f(Y_%!zE^XEu5 zAU3dq{#o=(cN}-CP<~Bi&%KmP#9Rkyye{NAc}M~AKdk*ZO~@QN8`2-@0$Q%bkNXSES5cZ!e$OG^$Ktpo*j#ad|9!yI1KHCim|?b#`8^y0Je z$V*QnXN?^@OG-PHFhRwer`n45X~x>b9fO^#Lz^4PaR0mpl}(mfHC4FvsBy`$Vu3?@hS1DIIT8Ths8Hkhcr!_ORFrT8HODwQ}Hy7bv^$;&- zEsG2#`?9_3TWmU?C^N9aB~kyXjj^EChl{I(Uec~n&on&As8@@P)y10_m-gA*eD@_MztyG;?4r);{B}9ZT-+1j-t%OFSU~wAhi}e zk$>Y_Odr)7lWiI1V*u6Biy8Hz?_%6)-6PX$2F+xLVeVw%3n~CqsdZTO%N6bberD_% zD}1r#zhrT&l-7L@f5yn$msUhTM$P&>aT?~0r6i4Tk2{n}K_7Xm!UQ=ihGSEmDBd8w+yXMh2JSnM4Thsg|9Bv_8833B zVy8v`Evw(ztsOuClGcb3EyJ&(nAd`g^VHkF+VFK~ zNF>_Ze-mCIGq*v$yDdcwcbvT?co)KK_lq4?d~6rKuIsgTYr9)J=?z(h720bjgFTe%`m`_h+y31m1RCBbI%jo%p87=1kE_e7>6VQzF->E)c6JY36Zlc5wIJ~Tg6 zk5QX7Xn^!EB$(rI$+$0Bu5Z?2%I9USNcqI)+R=To9oWvR&Yb(~aZ=SEN?n@79ZK=R z&KpkuajTW@4esVR1Z;PD%R=tdG{6JdjGlN+d1cIs0t@~?w`RM`oBa&%_(s!IAAVEE z*9#0jDE^(8@?8=E(6|G&4abJV9qk+_gsV9|LL3dx?}N^Vu_)gRg>5wcdLo{TxSGoK0^% ztY#5UNYxwUF}qQY0oY8^)14B13+;hPt)9nW)UXgR_L!n=v?@hksh1VCV(@atu$^{e zRph+j23(Db4eu`-qiRa$-BPu2Q#wcYyYMm&;{b2+upv*~=y{cjb^S(AJ^1Fo5Mjk%!4Ez9F#mwSi~hJ11;+Mvr+Y8A96Ai} z48H;2#)rOsRz2ooH@yz{4!WPEY9PE!8&I87yjYCVrG9|Kmf;t9OAWFzfAja{#0u!$ zc5-dU*8GmMW*nrb)Uhn*$1iIzp&S5VT)&QIpv{UpfpF@OYLnAn8G3budb%h?Oyv`_ zQKZN>y~Qhsta%H2&FiNmUTs;YwKFUgAaZi_WZ8PN(ibvMkQ;k2oN5&WEnm>>FODqVTOQ2-8F?tXG30No20m< z4Y*B8HQHds+$m8H?I5caegr>t1pCL>_csEH4WbFvytc)JmJU>lZ3~q5qDfzvWNn%S zEr9JUpQH(JRJ9d}1*t5djfb410v8r0h?8$AR!9TMwoC^iH&+<5J&o{cvLhhF0N);xQGG!TiEVQLAP8~sKEdOLTe=+B>_SD~qGL*X za+%;=3Nk>rC5k|!lN5Z1N6dQkm_S`BG7z|>jX{FPX||wJ;qfT{_~h@wZCx{As#4wh zhhL674~2q^-dg$EA8w*5E8-G<+iMsTt@je4tz5QxaBvDO*8PlDK@! z_vmy*E+E|O5gDi-LH^hi)`(v~RwY6DV2-Qn)^kHy#ya*$?)}&*ykWRvas_i~<%a1H zASkaoHmOQbCRG{Tm8eQ0PtYWhp=wpmlDE&~uH17|tKNff6&a1J;~$l}sfbJ8=OAq! zxs|X^jFea$IZRk1qo-)q(pIz&wv@Lo_Rt>Hx`~TxH>!_wHw=$+H!6>NHB66tHENH8 z+%qDz*heQt977;I-Gh}Nh|829SnTTKpl?s$rqWToN$DsnQ0gk!vwN>%kD8^9{v`vnzey10AMEe_>-zP7#tw!?^rA-gR(jU|75?!feCJ0J z_GW|=6xad5NXpxV`f?FhW#>OGjfh<&Sr_d4BDg)dLNXOJ3o>7te8tYC*K05aVKxyw zk{>_YcXk?R{*VOpO00#RPt>)p4@yOOe0jd=HBx$5*GDD<6GzVe0KgG7LaS5Ixt*iivTS ziSglUH2vl`Zhp#0G>l&bcI2V$W^4Uw78U8#p%4?GU&LhS@u4W#%3DgR5nLH0=h;^4Q(PQ>#nQ67!rF1d=~U^^(W2ct?#6kN&s9oCyjbT$iP~KA zXJk?QmbQYMq5~x#fxSc__r?j52*<&#L06i^YCwFIf)}n=E?^68J!>tT7beuu^pGCs z(_Pt<9ctUOHySrgG(IAY5zT0a#b0y`5Sn5&KAM;L zo-*i2l->uwh6heBMF0B@>P$h=lAAS9qkFu9nBd1@7xBXZ)HNz#C@Pkn|Au*ayLASi zn2}JfHIkza$5o->U@7PQUz}HmPniS%fdHSr5Fp=wcP;*}7@!6{=>MS58Wy!-Et`@Q z$4#M_rD6d{;{AeyuMS*#D^p{Z)K4k|LOZ>PS4WVc%=w4`F^%y&%^8;&mlON@=f~K; zvBz1NQZ9Zl8sx*)V;s=ZFgOg$X*~Pswc?aAN9)*qYP#sHV#>Q{-dwRF=wJS9Lt|<| zEfatu-EmshSA9m6v!Luv#{qI8?s$aeKH(Pq=m5=4)4VtmD_&J5@?T^Xd|qXB*F{c^3j6w zMjuN5K{s1a?}Bh=%sBI9i`Ng2HmyO!3hX&*w~PCq3=^~NM|qF2Mcud?qe%YluM1u)TKo9P+f{fqktsWs!GYOUb(u{gJM8x-`S>!h0d{*o+D zAGIP7`m-)#+35}83@${)%BX!Tk1(>A(5t z{{sT5KznEkV}Hsx#b>T}XvVV^78cTqryBx)(H4F=+olCIrH~ckhHC^oI69|w7)Q6* zu$jqr2oIoEhzghbg@Kq$MuWM9C=0{*J$mNmt@*hS93?HZd?girFan44WJl|`6kxLp;z z?t>@zVFSGG{U`k4OAdm=C(vO+j;t*g`Qz6FM48tsI8dwzsn7sG;{aeai4|VZI6ER} zj?!$%iZJWT$erFfJyn(SClEKjwgkYaXlc6M*4pYRT2gN?9!1U7RE5Z>sJ+lMe8!xv zZ=6>idQ>U2L>1KIwvrx)%uJgP$IF#@M#>6jG_?Wv8^$sVW_9-^M+r!sD){L?qN9bc zDTxc$%7!w&tjv_lfn~>xf4o7aU>>BWt--XgVEB+0YrTRtE@UXcd3S-JFFQ*L>@R{l zm6KE96G63+WTHw8Qx<44*=aW{1FoUxr<&!nafP8*HlZlH(F!`Qw-gyI};qnb1i? zm7f2?-62>sc!Xsn(xcrTl$!sF^4tGPg4ek1>)bXfVeayyo*FgF@UMU>-aDN%t|p_x zWf66a57DIek)8})3k$ESDun?@2~usx-~~0-RUg#SD(4Dz>dUeYkJu|foJp2$D;`@7-aAhmekmU<+gvU_{50zLPBTK+n>mJp7c zhA9~U5RFTxhnA#<$ya1VJ(Ls%J}@8}?J9`2u3GI{OFEZ}7Kf0ViwBaOU!ibL9)rSx&%*g`7?ksXhlLhz z&X*LwvY2%jzNCV6f^~>b0@Kfw{dnxcZz_K8OZXP@i?c8{4Xp>XmAF`yV!lWTORVLY z7iz#mC4MiP6=E!0zW|aa^zh#EUWrtSHM0s>MRWPLFwbaq^0ZM#$cxOX>vf;SL4#KJ zFF4f7AVqEy0hq2t82!#(;7=jG`dSEQes0I&eKRGlNjcuiSi0p0W8Jx z2R>c8@0IDz4nfWV>Ri}lG_|dUCyi+04+snu6}XZA+XlhEztvg_#QZY~v2jOl8_G9L)hkYiF@5YzC7p$y+HVhT+SZTqTCH&=i||hl@j3ibjv$~qtI5ML5$@85~_$k0CD5D4R1syZNY`(IIcW#M_b zhg$!>O+P%FxPfhXQ@p%4wEQkV&sN7g1|0?6l$7dZM3A#6X=P=L6xb^)NP**bN#Rms z*K&%eOl%7`*c+73AcB@Aob|nvt)qp&$OSXfCdZ`%7uN2}T=%GEl1epQsb*10_MU0} z)>Nr{4O>*n#0s;LL*j9}vcRFc+yQqIk;@#4beH{u%zl0{-gbVWVU>e zZ-eydE;qI%F#?7o0w^%vBKW8F4DBl z3%y#Eziu?b2-P8$gpJYyg<&o6~ zaMk`s+RnRuoJYuhVFSB&w*-o<#Tv~7^$!+0yTDoWK}c#WIDrijc_jS%xP3U6CO8+!7NcxBjNC!?JiMS3A3Q%RQ?p8 zlRH2ya{h)tL*`F?zxfv7K*qz6zuI~Rnp?~rrywU!K&uPZ_!Si0U_J+B16}zcr$jxj zgUga!-ny8kM2#lT?5If4V{Fym`w611Fnhw$4&82E@nMEX-7Bnv_2}pGNW`2+_Jd%5 z#acQ`n+cX9iZa|rDN$J|V|-z${H8M~^AUCvc74LhHZo4?`u>Xqri3EDNVG66*@~7} z2-x|Pkb7z|_btY!D|X>6=$kL35L+zkUu?&i#Sfb`sLU^;@GWChTwtyTV3}&b< z#ThDmE(2z`!1fLCtk@B1ICQHi@m)A+!1vmO8dXgp(-5No(jEOi`Pz&cKm`#EW;Ia- zQuR-?9h5$a+Bn-ZRbh6m3bG0m3n-J2#(=|6733+jWRxkC$$-Of$AEfa*loPptSgXN z3HC21b#@s`q6~Ug6m1GtWaaR2Xp4bzXiU=&SYcef%4L8m`CsT$VMsk$%O93A8JMBe zP`HE2eS^e8%R=%9`L{?nmwhaI8|jW%d;v=*24}sjW$YA(FCqxQF(>nCfvwMfK8-fQ z+5ZUr+Wi-P1@!*kp2iivbiX2ImR~a9|JVpBO8vnVM)D*XRd;Rt2(bc((h2>ZU+r@4 z^P?6;(9&{PH45536{dOCZO2lzGGkqh>J82QFbP&^fKm{Ba5VUhBJ3iT7){g&4=b~_gTNfeS4eb;N|NqWQ}lMO z%!(*+hLuyVqf=5}iR)h}_(5hzVx!8H4b(AeW|x%K;~i*LViapb)yY!9YF!kLG&h!W^oPJ*=y)T!plWQnwBJn4z_yON+0 z4O=czdR)OZ@|#b@mj7Sw&X4-(Qn=tlEKW;YYNTfG=^l3^lYsy!a*?9@I5 zfgR-SRRO^sZk+q}Ba-OdyZ8qmx7Z!F+X*1INAW9HsX;`0PJ`&MQIPgMMx=IT^RLsb z?~N&eDS-KHQFec)+yzuJBKvOEAcugADF=t-mmkf6z5OKtvkDein`HF?hubgTU-I0B z4ieWHshJMNo=|=!F^kQkZl=V(@~t;;c{EwXgOY7;kW9|mdLidGKkI^PJ_H^p?YnVG zoJ~7_Pg8B7=pwU9VD;lYAB?v7IUkQdBQR|Azxr@!4Ukfe?-#f4U&;c~9=MYU=~PN@ zy1_*zi!Bs&V`1jujs~S&5Pxlg?<@2spmEPNFu&1jJx$)&)F8%wVvjqF;rAk!04Y5q z>^7)GvBb9-i$=wi5E$E(ctmm~iff0lwi8Z}hZIJ*#rcjK*&^{O$LIgTAa_bUYUi(R z_Q6}~;-@!Q->YX8FY@-m8ADy|Muhn^S{DmMiuvg|P}R*c$x{!4)0 z+D}gwjjv^m|JCX7Z@N7G6Eyu}Y5%7UX`-^bWx5Lbr&jlFo8(_IO07&$@pz60<$3`K zt+c3#{7PmUi_yO{=U8@U)z?d$PA1+La}r`uWWK)z^9%ssjB2w1!yCfoTuo(Z5T^Nl zQVd|!)fgoMLawkw76oq?@4Vhlwy1ez;9K<$b5@>%i-zo zwz@6Q>mlNH;e>>J%6ulP1$ymhc9bFo7s`|<@@r&+=kjY`c83M4PLxhB*Lo2W>zTY~ zacS$k5zn^CisuRXYr#DBYp4C|_HQ9*k1p48^kiUogW|p{q3@%Dqo%B>>0wbg;5=-O zf5fMY8vAm5x>eI?aB4j$O`t+rd`#-IfRVHyQ?j4d-&JU`7s1j{-K5()fAN%}UjU?y zOVv_GisM$+NB!uQlIDyI@A7&aLp}7U(zsIqMh&J-33K-9zfvWQ5i#%ee^m-Mn*|;l zTF=iE6{AC`#47l9&4A?izr!ls;1Ce~pwZVT!d&Pj%V`>nTI)|P0$UTVLWBXs{3@}F ziu5q6{cV<^wvC(GOrpP%?FIFC_7CE%B;2m+%#k`oG~}46;u3vw~gbwAV~zbwSEMx%j4F$wIN;rVz@i> zZEgl+Ik@y2(+nuq!0&ID@%r&->4hzFVefOh-|DmhkTHV1KK?Dq9ixSy6h5sEBNOa< zQV8L~51e*ei`#un(eSxw~d^rM;uGsLjE(JAR;j>Wrv7-eEuE2*^;y z)4<&#sZeZ8XH=EB51NV>!9A;IYXeM!(%J+V#rw#Fp>87{gncCf{&p4`HnB&K8F!#1 zf*xoXU3x2RV;i!|<->K5Z-~?u=|KO%g7<;>E?7i%8qw@rywy z1hxEyAUFA~@$^&ZNtk^|rq30miXrf|#s0LoBW%?Np~Xd&IkR6A93U!WODl?5)emtx zgSvLU#ZFM#7Y`*W-StZRTq0-q~%(h#)OAu7s6rty}?R?^u87fUJ>9be)!5u9%#a+I`2q)Eu1_(8cWuLy1-TQsK%&Fz&7_k^b;QJ01om z{)}v!6gUw>+`DVwhq6W&nwbS8s-<#dQK0`a~#A|NKEP97|eEceXNQDrI zUT(lC{gIfB2D@pZmKQe*dIMq1YRjsoXK{&Nf=(4J%I0y=eNH|)sdRF-qQ z@Qr(QM6O|npEZ%b=7x~CAb;QXCQhH^S_R@|tT%En%5 zMEp?IC1cH53Q2MXFjRqskmiv+C^e=~=knWa#I=lO`cJuQQ3L`(%LXUIksLosjyz}RX!#SHSnVT5 zBey%6?b=xcfs%vXoxQ~*$8a|>gh}BOyqB^#bf<~o06wteWET{DaYX3NFl6_)O( zbr%G2FL8t|*N?_$2;Lw}u@}tI4j|25@)b;1=+YG}#&z?xWYtHMiXHSOvUUb?^Z zuKSK#2N~Z&aUk2k_cz&zEzzAnPqi*kHeuCU6)t#u==9qrJLqqk9Z@(-Z%+I9r>X4| zf8Z0C>Wd`gh2rb@TgLV?ocmVo+4y%;NsFZc!DZ`@h`3!t&o7r-#;;IuMu>`6-v?lb zon*Mum9UZy1{H&$usk0e#gk-Y(~S{XmPKDn#(G{-H|!WzCk_fzz6NBW4CJ7*!~+u3>L_QEdF8DtOJLsxCP9yIzkas(+h`FMBY`ZBu**D zxU*v5^AAH+)oTX`+zJv|{62m21eHPwgBBGFw$fD7xMo?B!>*#c^|C1L*;r9fyrF@4 z3sLTHY9HayBa9LaCp1=BmK%;zlf>*$vC|rUp4eBY!xYR`mia<#fY;|<^TYKFT3Q}U zCsWSuky3;Fb9vB3YW)_j&6_Z-U{q!0g6iso9xcgFox#9lx1kpEzZ z|CiVQuLLoDM^s^Sez4?_bDE||qGlU)8!Vg7I~);_qcoTqsJe(}qfm2L)zVH2_od=@ zno1<{%%{(B!-Ji=O-&RrgK6ys$?2rFj53|cpl|+o9xM{Q9%8hu@V!8f;Bwu_@ zB`^w^ioj=)zOlaQ(0z3G8_?%T<@$bl`?8G}H8xUj8z#(0j{t(jDcHrm3E5GX`AYccMx0w_Zm)(m zFki270sG)=lqlo?wx%DC zDMQnZj9JeB59;MjmU^+ugi`tfzz%m}^HC}gLnlg&Pfa8;n9B@jCF2A}WeCPRcG3>? z!YEhaG}+&_4Fuh_EkYOVa9|H&*cbFA9X#t{V*BBe$#$4*d{(pAFg5|ll;T_98TO!M z-7Z|srv+Xlag-o=I5YUbs58ph|p`uD;h}s6gODDr6y67 zVChl_?B|VLLxKDIu6kf*bzjzuOV5PNq3-?y1@vDiDN?d7DQKm=~TGOI)_xA z-asq!T|P(JdyWut5EL*q-fjL`SY%Kte4@o6GAXxcVi-!P0>N`Z>6%&SubP$yc#zQx z6D$g!_oGS*=2}+}CHZKXj}1`=fzB>LORO+nIGWT`zf;1vQYnNu>)=KV3(zk0_~4w{ z{{h%Cnh%IUIp3$Rg7JOXWJhswlV?m;o_kr~qRdlVkf0d_T`64DQwRW}ZU%z%U}(QX z8Vd`4QYG~?X?Lmm7~%HMad)l8`u+83Hc3^zg&royaX3AHtFHt1XPA3pVB|z8@js35 z_*Zsw)oOnJPrTmcQ$zVNoI`rS*9Y}RT)r&BQ|TtWBL=a`tCMvhymxs2yaCqbVakv` zRWMid|Cl5Fbp!le1cUNS8p82I!aJq=7(9rcFfd+eh+zg7`9(~8CIl}IZj*@VS4@PQ zN-mkGO~CACCHpvOlUYK$F#tk39zK^)BCp!+Q|fcso%PWDLayCF5M(Pj^=W{Aoanr~ z__&*I#3BTnrn125>s{-%8VE8_xx6wFB)r+l@zm<;ygTV+?;46?>1qYP>?0-Y+KfW= z{S}1dtsIHub!FWBgn~e{AR%zjYt2YAtuN=P)`v48a4L>8=@p;M#W+LjEWA_LPaZLb z8Yg`x&Bt)<9HA)XtFoht`uU@?BONg%<*Ttn9Wf=%M}O@Vku3JJAB(Jq>Y6-)QPx*{ zrxMjL>8YcildOmOnm)o&)>m=|C*o4ZS8?YBRWSakpg)exkM0^RB2VU3Zs!p7XZ+LW z*c&oG`fI$1O_^7Pok!H~@lQqld1UW&*H{rhWnSfXE>SpR7DN-kXd(En#hP*=LCr5* zBuUU6z6RM2yiW&&=NyG|gVKC&9%+pP)yT?$#$P|~-zl&XGg?fwIui=oaDYPOLD-J< zM|0K-X#!^-ByvK{uwsoJ(p-Xf)^DT01pwpmEZ!GMKcMV~WeD(P79n zV8+XPRFK(u-8g3a34U7-iLBbJ0*rTz!e4X+qd|C0!r}%*uOTVd>xd7ysw>%d+t7+m z2Q=@vsCWs4>VH3w&S=FWR^9}0FXqBn9aGVtR!wN&-NR2qlscH^l>C_P#3dQf>z?6lwqG5O`2#Z7hTUul{pQphPH zr9sC&Hj}0$D0EFC(`~lzJ%h+gB8~}}`%qa2=rCuuSdp=lPUhnGqUOK1mcXfgD>v|1 zoZy)oe@|jaIJ;yK`zW8^zf%d7!X@+>aTRdYN^>@=cy)8|f_H}_y+ zAYI%Pcjebs_E0f{mY~!Jx>b&tg<6tO&0`K1Ohmmd!AzT!F4D>56o7RvZ?1d~ly+<1 z;pbUm@ZkE9p;tN?5uG#Ev{5O2aBvYZufw37&U1;Fwy|9Wqk)uRmFVq9-6+W4v|$Uq z%D<1gQB#IfymA2;&B@5Q1c2SzAi5rniLIo`5APp_r@zT7db=cV6g4)aDrB--xX*fC zuyAKdyZE1tp*SN=%FVVkjC!?ryV$#R9{Lb}+Zv2Z>61E8e1VLxJR$8n!l}x0+>EK@ zo7$G<%%nDg>u> zIzkCfJHmgb+0S@N<;|B!eLZO6P7vceC;#?KbHVolQ%k%1#Rd$!#I?$VZ_Q+KTd9dO zcZuDM*R(N1_mRK_)cf`!I{iG}&s_~cvM8dA%7F(w;E$#p?Ow~c`t{*(L4&sy?CQXJ zB{LmUDt&rQROCs)VXVY^@cPtd6-0WWE~bi%2gPfE8|5)`xbq}M2!NTQ2rO)b7r4SE zbMzB$9Dbm$cwzLak6WNy zJMVXuA|t;T)wkB|Q#M5vjkV3J7RMPs#x786BnWOoRI2R}c+a{9!m28$C_;nWw3LG` zlGC|~^AtVq5X~QoRcNLY7Yq7g(ovUmX8Ncax8lhy^OVf7Vj0`Hl3x6him1C;r;3)1 z9v(etKkl>#^lxX9VrLFl#|O2-GX4-h)*eYdhA-^5w z6H1D^z9kvKW6%pE^ame2uYdJX(stb8i;@Xl4XSuvx0))XAz;$>2OUi z)`V(EpPB>vJviGH#_P_=+8)>SQjd;gL`&Guz}J7`%|+R0#PPo$9@YrnD~hg+jBfEw zf|~ATz1e5}V}hyQ6_Uh|n-wARJ!!vViaiIP0zC_TZ_VW#sFhS-=|gNPewtTh9yn5~ z%)QYQviEJ0EXaMA^-9PTzbji2E3YBOtmGD}&6K56z70>!RHRdf3*S{^ua{du9!rVi zGFU)OsUX!T^WFh(j@K&34Oh28aW1qWQ&5SDNLoPML3g8fuF#RmE=ffxtvn59op;%h zbK`eT)e+9F)*kNgo@yziibZ%c&=rZ^dK|7DQ zBjbiwFMUq-JKr5ev-}XvQH{PoYu;hU#*O#d!VStf#v8=B+MC!pXH`_M_5qcXDyvQT zoYX-DWQU&SNDyp>|EMgjPVIt|{OOAbercT%;#C1;)Q`Yj;+iHG_`Vmxe~zxwAUwob zK9jo8PXH*_fA2B+dvqn|=wa?6YV2zMj{;M*nyezaF!H;Nhp{=1FgVe$sMx@_qu5_0 z!zAIAJA>-XTco(AnFZ#OVK~`2_s*Q}UmOkiJeisG~tnF{iISxj`X0*rD7@*Cn#r<9@zZG zcc{QzfTbjV98 zZ+`-mxOo+3c6LaQ+Ho&?ZFV9&kk3KKSG)w9$sU-wf^s6a=Cohc#J{NsEn%7lZN}1& z%|$AB(y_w;)ss!EhVv&|2c6q}DBd;qcsYbgB^b9-B>0bHBlB-<)2knc_;Uxvk`&p6 zwp59Hn_Z~4dv4CMR%Jtwz+amhQldnNR$6g92ye@%gZ`n_R*O!^LAbNnvvpuO#`v>L z(F!6{d6wzZ_nq?^m>dpk~a8 zJ2UWwBkke373QjWVi~9`t)6hGb|=|I+P`b`%3Xn}^oG1q6_Scfu_v?211#8b(mge0 zBVXN#XqhLmAs*}Vh;1F*1L(H{CbF=qOSw%hqX+6 zjk=6|&APH2y&{I=fE4ZG0YS+?Dul1HqFmx(&Z)6GBsss-M|<;~$EV5cI>NIAGvjL1 zGUJ+a^mG<{J73#6fBvPwQtI-8`M3Jgm(Ns}{l7nl7RHQ9<}R+*|GnoL2n3X>>nG8OL@5 z>Xu}TjRl%~dz6cl8b{eQ3>5Hc|E7Gh9y6;jmID{YcE-*!L93rND`LZ$benI=gRFBh z7?BaooE{X1=96BN+*9K(NFQ%VTP&$^#mpAJ6t*mr_Glsfq_;HD^xHCjv7;?H_w~!a zTA1LAqfx*9mLCfa5QJZsF`5-aZAFm7Y3rNzvGlfZX;=GH%IW9?7!@_K6Mta6Dmq9O z0L~hqhj2Q^8ZK^_ZXiTYWNqu2gb}X`0p?u2(-~v6O#LNYnMwi0vK9c`hBWQv(II#&N>cqiaoO>KlimvQPw&Ef@lyDD4Ykw_h*zMWE9Xbw` z_I}9j#F!Cgv170slVZ9TX9XFthEjQ9?Rf9aou35vg9f zGLKmQCVmz2=1JqZ67^bz)!Du2mFl4%5OZ z&3J3rfC)gaX(8cQ7TgGLH~lL+#HY?%Oo@dWBj513wkR(J;S2XJjp!>#fJD~k(f_vf^ZNA1Jm1H|>BzDJsk615$Lg=^3qrxN`&jrbp& zbn-}Fi+WL=tu86c!36V@G)%ax6%qzZa%O(3FN63L=_}0PE{(GI6))IuZBfF)lA+^J zhx5GRGC%t#u<@wmIHGiZAnI3!sQE%kSd*nJi$5}qLxr?*xgY0wHOE{i2RdZ;A`{>N z>we==tMZ^z+QuN)CdJJkzl{72Gk{NI?5495A%SEpTT|lg;bd|d!!baurO4_fxB$gRvGLhY0_;bVdA9rMm(&9)0VtI9CK%9O zm2dbV#RGOr`p@A*rIa2@;pdeF`q?QV^#6Qn|9yRqR2Z2*M@(`^o4~Yx?ZP`sm~>Ub zR|N&r+?e=`LCp6uy1FHne>MsHzScM1AIZ<3h+L!93mGMC#k#~{zMN+vt@JQV@(a6~ zFZz{ze7^_LxAc3aOXGk7LHW;SP52aV6NUCR)R~MuXWm2|mjZF$/O6j&;iy4LQ{ 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 literal 0 HcmV?d00001 diff --git a/doc/help/xslt/extensions/lucene-core-3.0.0.jar b/doc/help/xslt/extensions/lucene-core-3.0.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..38d78c3dc60b6aeb3341a0ebc4742526ef74c068 GIT binary patch literal 1021623 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≈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

f_t!gIkOwoadm`RC!DZXJ`7~t4+Vh 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

I{ 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�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

kdgXg%Ap>(2Y=@$>U;5B;~Z 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

9Iw~id;QJtEpF?Aid#+g4J z!XTB|8e5g=ggy&xilcpFgGxp@jJiv0*z1M!2Fj_M!C0Ai6^>fB5uZ_m)UwDl0B+Pg zJt6f^Cvxaa7nPPP!xhEF(mur1g;Y!SIguR+Y4h|EMUk8xHU_zno*gCj!ouhUUcV2| zTEfgB_lw;%PSuzXPg;D_*^_D}dh8$xiVxoj*4S-jHqTx1MDfb;Fr!Uyup;euK9;1E zK>R7b(uvy$x2zz7u?6tBb}}=;fB=$d|9XpMcxA&zCKpMR%d(l=fullsM_7b8ttY?{ zXOCd}8QOz@8s39|dOwKM#7N5hRzU|J#~rE*smB~5^Xk+N3U7gYp%Cr=NF)TGO|zoU zA$xb%A$$kRot7C1bVsFsj&{Mn%Rut9=*-5@VQ@|TEk$C|9P|DInS~5|w%>+xrIfvY z=oApcKlXHZgi<)nIj7u9Xf6O162XSU(|)) z<{6S=aK(47%UT+LdX9dzyAdouHa46f31omL@&1HNJYw#EjQ1v<@&fh0R#fYFW^|B0 z46+h}|8{ltzsR8fit|MkR}T$k$FD03X@+}7HOf^ltr`(b*NR1_5`m$pS^|z*y>YOl zWOCrS;@Nt}DHGvTwA2yk21FJ~6Y=@LCMf}N0nOMN1H4%LKX`bBg}HwKfa3TCa!f&~ zOvQ4bV9g#mo+FJ2Crj?)KHko8?6)_k?51C*T92ppi+LVteICoW0yI&f`l6!)Y*DVD zYoBESapJE_e4~SPb`a=W{-(J@ZJ_XDT(R7U0>T8q_WI)~=uPyvfHI*b4hBO?pr#~T z6&JorfIhmg22Ah8!m8btz`6dCb1Xl6MZ5>MRTv| zml{G!b1G)|ynKqm!m(M4@3$p6Y=Ak2AARb4+WD&3yuKJYg7lQJ7!q2qtlRa0$;Z%ly)z_6d}zZ2I{qx-RKZFb|GyT?ZDN*|2GoPF7A91y@7cEN#$5pD!} zB5|1E70D-GeI@QJ=dO0-_iEs{Dxi#W&QFbRmud3rtvvUtA@a)Di)6VJB=b zlvr{qDmE4-h-Xu7OnD_`VCZ;zaie!|EKuRiSIL~rwz2A_2cbBUd_pVDVc5RYI71nOpZddE<+=||h9 z%ly6ki$TaD!9Qli;b@E!0S=F zI1#1p`1K?SD`%1AzohMAEld+XxjoC99VPB zTAP~E0iR{?j1L(}medFrAchVv5uci6A@+(80EdF`mB=kJY0PwT@}bBZkS=(gj#G?F zd7vx+G1h_)(Ts1{pW3n zNw`ZHEB8Ru;2dv~7{Z2&Ng1mKAl?de#u%ej3TEM-O%;bE$_(O0$Bhj;Mt9g+4H$5LCLYCJoK$mP3rlM0+a8Pp;a${Xw&N-J=me_V!8(}VhVF{64 zBG+&MChJj#j5ty*xAFe zgwm<>6-A51g21{Ns(<$^(jaeSo^LN^m0FQ=0BF^#g`%l`_1nVkFCJFA0F_rXmkR%Z zUVxza*ulk|XI>9vxO23@BVZRhURMDak#dXopT*>Mz?TCS#-pku1W!5`)hE|WEc7X= zk{QUPpU}6)_FW#+%#}Qg99tT>DEA9QHEkZH(i0k2w(08|DRkV^;g7~9Cn%i24256C z@)x)>`w=OE%|N}?Dj;Zb3|HO_P4f&7P%q=LC5&;sf6qdTfL%wlw7Mnv-+j*x%$H_liqOIQVHli&z@{G3v}`Sbke)xi z{0*S(U+b!Mk=zrX18tDe`yl&QEA^dbyIp_%3Co=blYN}s1?+a_a)Xxg){Nv8c8%i` zHY`b6=di5i>@*?IvcQo=Wuz5P5#{oNvh=A2+v@@#XD4H0vY;I(It8zv z!5DlNlzY(woX`5cABR8inE`aWJPq6D7%|D6Mt%0w=AWL*X=6o$>x_wsr8im-}y6V|F1gN416?qVH+y&8*1P*mjomh68 zpgz1%l|HJl7JS?VbV)!38KOyrFZBmZzHFwb!uNC~Sa?`ZPF&OH?@#ifa6BbiaZ&4m z-~vd;MH{6^*L`ShX4>enZ<5l3(JCE1Y}@-VawomR50vEyP|oG@2PKrLb1kh?WvmHC zSFHm56B8=uHyGn>J2Z<9M%}|RM`*hKhArmuKC!`#Rg_nv6a-zTvl&uqxX8K7vlI z6MVFIwdm~0V{I5dO!pC7f%VC{(XD8>I9eUQ>saR8d_rYy4N^^CJxf|r>UImio14CR zMI2~Z1~11aH~Zto$pWAf?e#lz9W=Ojq>m%!D>2+vE6zDdt?x-^%af%33sLy*=GbjI z4ZXmj+apsY3`%V{2D(~ME-ioghtt0y$?Y>C?WuI!V(Fd{P4BG2w_p+TW6`_u4Hy0| zK=XZw+=aC_Bqe)pA)xGjVjtMl1J!V%#HY-A%csw@TwaY?5V6~&TjDgpqo;CumC^R= zqvJwi7_Q^o{_Gwg-M;Ckox+@woLdszv*th(E{t*sSB6YR1tcQ3cbGhLBDbam7lbUz zXH*Gicb$zr&z`Pbe)*#%(6^(-P_)PA% zObkvU!z+QyFz(8p#?m6su9D%qZ{wGihP4)(0jLLxW7MKIl@W5BW@*j(Y%m9n!?f)~ z|AwF(Cyh~@!Yz+kMM9TmX@6_=uZ){=DPaSV6F0^hQI7CQDUHuzBS;`8vzH1GtPuI~ ziJTh`mP=F|)geE*IvSZRwFYfoRd9z;cr2g?XLNm9RC4t7{P{#0Y0LL{Ih(9jZM|K;iusqqS>^#q`L0jKU& zu0_(`H+**t8e;)lE=~!{HX8AQc-}>mfM3xbs()eb3P!oX)Ec^noV#Wa(U#%+;7xtW zRSQO0MD8f4>Wy9m^~$sApI+d4X>|jyE=#5>l&Y7aOB}A31>#I5Z;i<>xw+(>g(}JhF%miv%~QJ%7lD5PhljC=|3@WIrk~fV9)$hrhr-LM$PYfr4jk2 z;Z>F9X5na95)WzXyp8;kkP)maw}0%oR-#aRYm~{1Zx2& z4R_H>hJT=1jo^>+m?ix2J3b5sD(mn?po$*P<;;~^l#wcn`~%J%nELkRW_Te7Kz*@X z!l7RRFHRw4;cg9!#>5%Ia#swCOoU4*#!a5@Y}9XI9YStfImXSL@9frZVL#!FIGgA2 z8roxq%69?(j*&HcaWojrP*GXD9)j{ZDUk|2%XzOXDG{Ni&p&1Qjw_5pdQWfs8MF$s ze=23Woi2y+n~ZS*gp%hxqmU}8o4ZCAGLt$T;dc`0bkXZPT-T}F?h79!ueu(QD8 z++w&)`59{8qe?zXOuZKmLqL;JPX2w_fR@sk9!WBcNEMls`<%A zH*SZ=pAmJ(Lfl5(CYeej*9<}!9KFU{UG};BOkHH7FFEDj;)c?%Fs9H2FfXNYFNfZ| zEUzsAWP$N$bC>zX+pKy|zOlA&mej|8>(9lFN)`PBj5PVvpX2|pJ1U}928J&G7}eu9 zwbHe7mH&~XSs5!>TU*!@3RoNbd>7EQ|9=~Fag+ZLwhw;?M+3~0$&{#3sZ>w}`a1D{ zhSi?t5fT$BpfGM~2dSs9LmK%MNqPV@S3OW^z#^b<`@j@txu?qL@Aa|9zh+0fU$J$k zw{ClTd;;hAasdL1krmwVjwZzgi!~))kdjfXO6H{b2#LJS@7_KNMu9Ehr&L`_Y3w=z zU%dv@a5}hiNe9K+UcH4A$v;pBUXR$+(^YfA?Xzr@3W%KUxpp{|tYO#6n>MN~GVoWh zor&@nUB2BdI;xx>whp5^o=CbL&p8dfRhi^5 zi}vfH+5$JmwX{AH(O#PmJzu5jCaG3P*FOTQ;)wTA&xjJgy8R>Ct+aEH{BUY zu0rp4ecpUW*^^6A5ttN2E($dyq7a)CqZhjyNmUV|_GRC_@dgD`Wtw>k*lyN#rYY$E z##NIYi1fY+hu8k?Pb1;Sa}?yJ#GejrN!+kHb4S-OX^ydL4b{xsGPy+}2&eC^sYpL_9CMgw6fiJ=-CXam108g5! zLLN(Kt)KcbpO1N|btz4{UlWmW-nWS4lI$zwX#p%Rtsd2`>sZC`j3wiCn~h12j{un) z-*m8LPr6T7WF-Cs4uRXKk7OmUm~@_D;iQ$Aa`KoG^ctYlqVolVOX&YPaFxKUueymJAJ2eZiVC4hv2P;v-!0OX=?`PU7J zbID~&mE@0jkGagH3QTh4{N1UZI)0msVTD`_#}gU%nW?W+6OS0l-B0X3M68zrfNvfr z!#;>~WWbvvpJ;(nrn&M(`oX>}FkX9xfbRx5AO_amQFJ)N&?2@n!+2OQ z;4l26CX}-{b@Nd^Xi|h33Zz!W^HOPMCHj^w^OfrYm6_-4KuXTdB=Vn;Pc>L*Kf1ov zka!#P`c#z;x{MI^_KU5Sd1UdG(#_0NL;)wF_}d4+@?B*xmo&Xll_H@Y#dec=pCP`y zq{diDxbzCT6{Bm_<#^_gL!T-FQpfON!-7oQ}22fW?!s>va+G;3FcZw!C{ z^=9iJmzhpK02B+0^-SBfI!{k2v&B5x`-tP?5GVj)dZcsXkrp4OQV8;8V=gq;xSr@tHE|# zqc$LY2ji<9?r`}R3s?JJb?vc?(4R#{ z@knCHkOO%=bA!w-K6EB!m@`Y!YMj}boFuEUR{0pA??{Q}j2$_R_CT>wO2+FyzVAE$ zq{VI%LZkQe>Bpy2Upf#YUur^WawZ34$)ZGW8QUZ|3EYSI$|h+JGP8VaBtIHL7ghB4 z0vtZ@ha^4V)eWyz5t{e*0VHt>WDeS-#caiNM&F?a+>g)r93G(A;p{3s;EiGc0G-&i z89RcTYpM5Yb5(>*JM2HqDg)u`?jGc9?On?YeIEt zh63h5AS5wOB9prY>`D9K9fx;^I$}*j7cR%V5=qh3(sQKME{S!sQr9|b0<|WLR|kJ3 zINIi=1T#EfwXJAbXS; zeBf278YuIZMwDtCmohdgL8TZooqK<6EKCC zFi^bJ9(vNwz_m<}W-h^9g0UCernLOL&mr#tiaa|(>HV*IgilU%zL_@yI1qQBFtdG6 zRYDcP-RRP0CYl0yB9VFGaTo7JGxWger_At^u?OLq4L^YL)EZ2uY+E#q&kIDuvxXmz z*wh*d$z_;fXWRjVJ*>DZ(UuFCveo}s7^`uS21llz2odF}{0iPC_LQJ2nyVnV04Q1= z^CaILVGLNYpEc%Qsw0utj&xM{u3AuyXq}{SjeNJbv&d3oUsAwOd>g{kFZZMbWQdG zO5{p%0-ruyNc3_p%xX23t(n9VwMua4mMIz|iF z8qYUVhJm^w6Hp0Ku)Y98*Voc@O`Sd8zoFfw%VxDdY~l~1FDlF&AP*hRefF6coSI%V z$V$T7OqM+JnzR^qhir2KP7Aj>3V@wQq$nezs7e~(TY|5_C|v0$=t8Nd^+VqX4n#E! zyfhTrl+L=^@8#(s*ouZiC1{4(al*v+#qPu1E@H$UviD&7>RJDy(t7$n()3QnX+xI+ zMcD7_tItE44v%CdXuI(f*{eY9Paf3GK#1N&vW3)ET)-e$1wO?f4#U9^1kJ{+@{QDk zT3fx}bD9-=V17Y$*7nkBUGbN!XoR1DS6xacG>=5p3$i3U=AWH@J2%K>0maa4aIH~r z*q3^85S6n~QY3X(7ctYaxeFYXf5mzeCGRdNli`%FM*Um}(6b=6HCH<;XU&Ukxkt1; zw$4@Sk}H@0Q_YU&rok7T0k=@7K2sCXs`hhT6m@b*s(QFhh&Yt~(|IM9y?4u=e2Df} zsL<#%NqNmE8uOGLP#pbAO^NXl^E3{bUR?DkN{r1oIb-duyLhXhNGbB5;_4hgrR^ei z@h#=AN)~=Omp-s67Wskth<4$5Vy=efGN7`m8{aNc)D!57ffu5!eK`3HP=@A?bXSKu}nj2BIZi+sXvv>x#nVcD&* zEyEZ7*{$+yM0aeTbtvr?vh&Wh9>^Eo({A=2>=xYcEe>7O_?~!&6wxD&VbZ6|@AVl; z0IOl~unq2j0cIgjm_EwPc0^N-0pblR2>%ced+Y(MNmp1~4DLZ$9;5Kj2tw;yGrBQ# zZDe7YL;(y*+|H!0aV#0Nx>)7wy>i2QNluOF|L$Hiy4W2G^|z}B3XmAH}n0MhfC6&9)pzg^q8 z;fs3DDlZfQ6EMoi@t$69ZKg}F-Qn{Ar4OIN?@zM~4)P?}9AV}&1xka_rv>Lz{HP9^ z4RH6NzBv#8fCE-HzRC1l5AhhC?e4C{Eg#D$$C3b2gs#@|s4vQBju^)0Y94nXeZ*=g zP9JxnZRY2TC_5$D($+uaJW7fN)OG2dy?}P`dSQ~k+yw6=Rsa_I=wG^v z_z;;w#<@%?l;MfW9{yV7_-im_jBaJjwy4PPCw*rH(zF62yhgLJ5MX)@p;xGDHpX2p z^F!RZ2orkCmRMZk;U)dxKD9a}Oj+1wj^5|7Bt08EnHCFFz~c|`rdLws_{hFxAN^^C z{5}lpKtrRJ3@LYLf$?z$$B}j&NUO`Q*70UZ0j>GhjHa~<`aT&Fr@ij?#U+^e^v?GuhZH)r0gr+q-5w%u!Q4Q^L$>T zyx00*-hzV95=Ap7GG!YAb#a~g$?7JY{*n^Q%?mN2a{)#U@%7%v=;}Vqu8AVHiQp2M z50QJEEm>(4!l?n+U!ctq!EX6gUo@+AR zgbgCA>(?c-4jXUo_bFuOO|Zaa)eT(!n=3!r$ue?f+IB|+Gv;uVNvv*LW2Ii;i34h-iBQCD0sId%3I`Lwk-+j>{^r`hWt zDD!?HncbJ~*1Ma(!|!8R{fk_J!97#im_btenr0+_pu}dj3ASGp1p=*jLPJ+~*Qudb zgW%kNw4}9nXy0Kq-R-!hwzs&8@BiCF{uhsm0^bjR^pnmSf6^J<|6U2o8rYZ^|1&lC zU#n36dDhV?TCSKX=v!pkpdk{8_%@eQ%&g_V#Lc@5WUPxV6vO%H^(m`0$p#>#A(=D= zO!)Vv@1@Q&`dnBc|nf5aYtd{VofU#HW3zdrBj09t3`5c*3IQ%s@^ zNWvmtq=#`flW#fZ8426SGMZM^VRpNNSkgl-48Qo>ya7~1PT0V zgZ`$NM-)&M$4DaxYZV8{!PWt`te;jx$O#o78)6i1u9+;RuK2iQ|! zb0(UsJ**~EXi*u`RlThBfo`H}a}zM+`k0IULDinW;fg*j7D_}7&-AxKgJ31R%Jw&# ztHf5hWBlCW;#-U5nc=q1!#YbBMO&sSOZj!BW;EFaO*GafieOPqTj#RM6l*nbz}V=) zoxY2#;n|abEQ_*QHvG_B&J+C(I*2o}@3+qik@*eYRu%M|z~AZ=1Mow#4;?AMD5sdH zh7y|hqT>->f0XL&1b$I+2~dt337av1J~82P6F0s8_A z$1t1`l&x~fFat}c{okrfLriQK(+a)*?_$Gqdx&Q`Q@6C+Ik@o%Eyk<@3=5(pM&_t? zaetHuFha_^ZJwPlip=)MZLb-%@#ohFB99Uo*-_*|o2)cpl7V(`?L~0SRT1%#* zD|C#+#b)%m&n2P7*5S=itR3FF$FWKXV*bXfL(VDo&CBGonVyBi`0pWlJtz>&W8tC> zT|6*Ne<0Sx<1B$kkKiwGCX+;WHL-@eTiVTDs=e&x`w+SOLiG%;Z+HgJ5pv_YIWi3I zAs}17;S;L^E|2ad2&k{S^o*8YL;A~4kbPF0#_QDI;eQ;jVi=e;^TTQex$Vcg$NQ5$VtUWz=@SaEP z?Nz%GjL(=MFj=Re=AQ*#Q{*Srwne!JPK>3x1d1`A{`%Zr+r`3(6a~WBtuqvEK~R5! zN~6z&^P*dkKAj8-Nd1P+5ZxKGJ-v<>(1{K|M`R9P;@_30W8GeNsRzR6e*OT`0 zJo=8jK!G{r&O;&kY2!v{yP8KPlPbCu?y0hm7HDW8z?8r1GQLcKo4?ofHjh z%}fNHEv$cluzzw#w$lGM6=QEHJ&#I`XOmYPT*9GGFjyW2jFL<(f;dg&SgQ3uE|qASb5h(_W<~pEJ@?C7(p(kEya{if^$gz zco0_QHl)(uO<|lEHKPwM8PS7m&z&~xrYZGYpqB|3MkFpNUY?K~D*czTpg9H(;xrrW zA8RINH*7VEkSW=}K|Ln|f*blhvx+b+W=y6*$K}ek&Fm>eOj6dGxqBF>cslw^Tn6Zv zT{0e^sF;Id(9K@tu~49Pd^FC)F2(6ydw-|#FnsY~CKYlQG(#!r8mX6p!=4%Q-3gQ) z9gxE(0no5`ad-1$L8uwIUt@s{({fQaE^@=d+O@yIh!7=Ju#3=+^$K2FP36Wl3ODxq zy;#%I<5go_07XRWmwABS`Fs0OG%rZUruUGZMt*4zaf_IeW{0_k+bCIk`9D5EKfRKC zwo3MJ9!o!f>I^)NH~M1*RgF7Z?7zaoe)3m#Y<~SR8=}Tj$ZRpy1z3e+UYi;3<|_HF zx7#DNRe7S>BsEq!g(b+maX4xe#5fRs4$e_rNPqtyfE9Z7)ZG0~1Uddh5a<6ff~4(i z&Hncg!s7Y~AuKe_?u`(ibnLn~_*6nzWo1cZ1!2A-Tz2bAn}+0$m}S;+y!~Mi2y!5Z z>ksn5DlCL`ZFt_xPMj%EJJY7G*NY2RfLQpp-*t!jYa$?0w5qdC3IpC?m9Wd`mU6`j zuS}p+ZofzM?MmzQ(=H@QbWuxr@}J%5@+ZC6qTL)uo0*^O=cmCKjm({tmVBpF^tkDa z5uv7bn}1@6Yfpo;Y+r(H=`#+_of+OhQCKj%Zqx)ZA#|3J6F;k3CuPmB?4F%g2|82Y zIjHBzKyc+Z-HPI4YYCHS*qTzgu7y3dm}$l;GoOlC#mlLn3eBn0dWaoDuD>(%K2eAz zYupHj$vX74uI8!ur8ra1x9dAxbZ982Y1vBnj{kVX9{tjvFxODQd+n0*A#y|^VC*W- z)!q^?ynE=_Z!@W;@9+)VzrwU*wSeCz+b6)>PD0vzj_s{+8bmv0@0HFB4h0;ICr&`^{ zP3Z`ud*}GD&_Z*5HfXNs3edTvSsq?`C}ml(tY|r)s2T_o#%5hqNHGB!Dj=C|gte6; z1W#I6#4MXIOzCv+^=IK12jAQu4%e%ZueK@gkG1Apqi4@)i-eH&$VjUr&XZ2OnRo7I zN4}Z&PCK`EKDr)AeS$Cj5f-=J2rwJB(HJ0X#vPc?8EdbROZ9-iTDNsLF4!sAV%F@2 z35E^#WnMg_C%CQqWiWE9d;J7!zVi`yt9yOGtlT6$2QJ*vc2bAq6ZNSk7g1hagnE4Sdn)&TuuW<; zZrgDpZ$nV{nu+{!*KSHs_*(bTfS3YqA2NP>(KlEVV_w7(gJAc$aVJ6}OZKkC zhr!7v-&E-~7O&BlH@1% zwa`koR-LV{)>qtfj<<|+BtxY*x7t91tW?jE9_k|)9MOWixQy-T8cvL28leJ888PF^ zutB7KEb#zIS{3jKg5b=#6*(H;mxwn|by5r?sEHNOVP8Oy6*kyGQ=a9MXLnW+#bZ}N z!G*qu5IWb#cZ+i?vL(a}pO+CNL_Ik-W?RCON5@Ci44xYs<8xBNJVL2|UiCdzFF9>B zv0xV(T>%|0$~)o9SZ9iYf)bm6TxhLDw!#J{GMhz+>^qSriUUkIKVGxLfU+WNl#FjVH;-nc1w{zC)HspgqJKaKRtGAe>VT9cX7suE8SZ=nY! zN_plit1T9qaSD%g8@+;*w23z)B1Y!$IDx1b!CSgi(IE$3U?3*4;u5#(l3AzY2}O?f zcEpM1W<@hkmdB|qAX^6qO|K*um_funC)AwdsC~P{RS_*0UO4rQre5vxs+1bxOl^u} zkjml$il0uGg@QsGF$;EN2~&r1-kdMNnwP~_w=H-}>jaGP7W1DOV6@Uut&ErVf^u_0 zTuHGI5bMmsTa)m3w;t;dv1rqJP_KqBaAs}v>&}2Bc;f=3Cl$12_1>C%di=@hBe$iJ z4MJ~=^A&f6w?bfPJ`+cFXRc3l$Wl&3SMiKN&aMp}?y993H)CdRp<#orO#5}`Za~H9 zeuM~HG61c%o^M|R3%ix9=1@eUv2JlKTr#$p{MTc#a>A5A#PUw*paOlqkuONf>JoF8}ykUsVa) z8Tnl0w&M>6Z|YLH*Tk76F2aJq@k)>=K+;=g>#sh&U-+HqX`c*c=-7;c$903XdEIMs z*9_Xqc>~eHUI*a~3vCpM(&N1Aif)fjqleY2{ffMSgD$w}Z`1I|a%pxav(}dm&q`wg z0JrN26iHXYJlfoYrtXBmr9%4|)fSbVAkcIw$r7&&9C-qz?Eq+5N?g}n-d)r%E_tfA zQ-OvS8TC6-A@4|H8rX}Tr)Y~q{e#B9*85M#iA?EPXTJ3<#nf8jl=DE!$ooY|zgDO^9sTJtc0vL&{?wnXn+ ze?r;zc$PA1k3tExPc{2}N>@;-wR>SsG%2&tuI3ZuZ2uQylj+;UnqEB9&hVEr$34{= z-0@`Vz!aMmj+pJPI8Kk?dN~J-y&}?CQmU{`9Z2Pi%PEk0G}bFklE{?$huHYq%hs+V zD<5FxU;2odJpJkkC(LoHX;ZzP1xzIm;0Ud~4epskW$!MqcB%>eZ6&)~buX?9nk*0O z?cq-jI4w6hxr8cY zoz6gXvHBl2>`-P<%;{9H^{LSq*h5^zf4LokZ6Jv9Y2{9#%nD+;-lU`j)AICK^X!5q zq*h^iG?%S0TckFPi^}_+R32S^y0_aUXRJC)bnYG_jU?{*vI}`9)Nr#p0Y{P{T(?vp-qem|l6E)hmvuR_Oz*9iuHW?pMBLD<&d=@8=#gxZl;ZT3vl1Qu zud!c5Gk}WwBLIuaDE?ALR+nx_>E_Q`AAOh1E-s*BNYK*GmVkN-hsZT@slZ<|8uYt;7`~2~y+eH{KX8nqJiMrEu?DqqA9=hro&2=~Yb83->n#~T@deLV; z0wGJ^LbVNk4=-&i9VWTL%jSMmlDx&NfXq4h&Evv01!v9H=EXJ?T1fRx)RWajb@HQ` z-o__p(?8t~kd0d@5J~qJcjK@k-ZhXdviXYV%3CSk9hy&+h98^uOC2)TgC~r;wZz7| zID+12Ot-j{H@s}4U{wfs4oX=j$b5z-uW4ABc?iI)GS5}P}7 z)D%lyRuGnL+MbdEZJHa^uWls?sKl$})mT-rbaHl5t z9pHRom-Wt7In1Z-`ZZSZK&P5dr|$igO<)4?EulD>HeelLuHnQ%m6S8>#3(er3{BCc z86lC{cn1FXljLK60By>ECLH3r+NJYpO69wV}gr zq63Wy4gr*8Wg&MEi?}lf<`9rWEF2k(#JA>;) zt?CNV_nNim3Z(L`jBvx2t3%NoAPr&V9<8eQk#!Sgiz2JlM+w$f22wd%o_}VXiP#1z zs+|_uRch_@hPo}Ptoh?t(~O1$sGiMLu`#G%HRocj!Kz1Lj8j)^3N<^W!E~~?E{srS zV_QJ(%rg%d@VJ4FiYWA(JF2_4Z5~-W>@s=wTWl*^XKq(VAmMNWR4_sfA=$Z2Vcjm* z;tg95;K@y)8l}z{sW+Ka_4a9bg9srv2oLBdMBdtzFmG^=l*30PDyK2&raG#T)R|*I z%Pm30%1l#PNt@fOI@2FR%1VvXM>OnG+JTmD9dR^jJlu=|(e?Xb4MWiTsS!l}wBb04 zKsOV{h{p4mt_JwT55mR|cNtRQ!WXg=Uk@VG1J8tIvlCqRV;Q1tBX``QuK1EaS$5iy zRXW}xcTc~p$wv;nfNHsrUUa>X;(;MpkF>5*ni5=$v~p#Jd#fsmQqMA% zdDZMX(%|V$U8qkkI%~=9RoE*xV97swCVe{O`D}^@SDH{7hi6g!t=Q)!-2!|W5}-zX zF4W}?L)j;&LWVPnb`vHtsdv#2X1osi*NXy=QBk*r7!WlEcaeIl7SN?0MgP%G9HdrINHiXkG~`Oz z7iloOByO=5>-*KQ#+I7mVm?+elTX-X8>u!fFYSjLa^IH%nzx7 zpVZJ=?39hl8SGdB70SU=T%65ks(CEU)8o1G_}EB|#B^rt{`aigv*-QYXUEmo)!pv% zDmXRlRMTTd!sHM$7G%LINtjO%OYhHF{?W{A=%gMjBd-O`% zVgCLB$hUoxj_z)vHR}P>M@poFa#n}YM zceHmRy55ax+f+DV&y5@-lBt4{O3sKA0d^=;GmvdC<2=KlT~<{LEj@maQFnnql(wZ; z8_5nw!X*;u+MBQe&F(6G@a_p#*Lnv-7PI%E!C^XqT#l!yr1CM6bDVHz+WB_f)vP}wC$@qmJAa|t1WRjh!E z4c2+^HqRIAubl>#xLB;rovx}`+Xk+M?Xfl&fQLkrMsLF=_-0nI$15zYSb zA)7KXtQl+Y{wc#EX+a`RIAKEgZzV>=NZLqeQH8=9YwU8C7)tJI>Y(pvzgY~N>)wPY zd;FVDf|Mi^44wKmFDKCfolU3S48vS6!L42DqCjB6S z$r*IT#r?+i%nO)sbxA|>u(6QDQV1W$+={%txsfe|zHA^yI0VVis?K>tp|sr8%*tTk zt{di{?_<=Xq?9r5m^6jLRfQJSsj6xsorg2~sR+3($Y2Vy$1>Z=#d96!e)gn7RyZl3 zOdXmuq9^Ok?GRw>!yLDnBha`gVD(()#bxU{&Rsl&M0N`|UOtpWb_?w^FFb2MpnC6! z*e$?mKM47}BJ_Nu>G||)eJ+Y@HKi)tqIiyA_mw$uuML&yx2UK9|0I3#&oJwTy-QhhSg)FC^I!WQK*4sxg^i5m7f8%R^w z#CM6>r;wvg6KDx-X=`W^+RP?G^QtUDbY-$z+pCa=muapODNsnlR~0a<0x7lb#>_1t zT&&{mA2WysY4Apn-6$@!Iqpu)a?J_CVw9TW*u>l!7@Y7$2_VT_FW{gU zZOMybCMyA`Wt;J$vT(}zY@Wa$5CN=M-C7}O+@zAz{f<}f^$l-AW12}Mfp?3crpqS# z#NM`0j<$lOzIo%cDG6^1E}2zrhb6)76!XlGS&1A{!d;T5sk+zYCG#v7z=M8{;-}T1 zOYmN;P-^NrN0{NYQ z9~55tCr^0bo;!oCBR%rzLuc7!e05Tz*Y}fGaW*h(X;;@)Zbaln8B8XQE zu|6WE8Rr`wVFxdNJIPWcmy9VX1=GYSXt2Ko^bKKhXUDvux-6A4Jaar6E5eB*MfG2X zqimVrCDMWM(|ac)O!&h6-@cmg&P@);Vf_g1rcJ!OpkbMD3Y`lcnj}}7z=AeyGt`p} zS30{W3Oo|36Y2d`B4DVT-doL_boZb<9<_zv6NN8N@H?s8Q5S0Q7Gz^GrDcA&NS`yP ze@!dC%oGDpcOv?FG!I*_4C_GUP@BenEYZyFZYz{dU?lB`{{66bZkxAg76uvOF}&_8tyeah@%GQ*88h1b67QzIgR3=dx|PI#h|1=}zl? zAPrJ?m+zBg==kGl3%}81z$;PuE%6U6O@ywiP}}bKk;Tdiqy1+o!LbD0gbA|@@Ui)* z1DjT6moAw7xAVpxN+9N;K`cT7l&J}1K7c_gZ)c7?}G{F3uLyH9!ao0Pjel}8&?MztA@qgczr5Abj7F+TvmK^%(n4Y1tU+m5v*m3?AO z@%r-ldXxDA_F`p_Ur@k%3h;ATB_SPOmv24Sv-Or$`}v{Crm~n~_}a9+o(^l^ajwGRN{;s`|~I z*j;{HAMd-E2O2wj$JKNO6}vq)ZYT8bDlpuG+Qw!`7K9V|6x697lQJgOkRTekG{&z@ zVeV(7$A#5ZVJ?h4H?N`sdX;y7P%5J}3EHdG9T)q}y1!OIbF0;ZH>LG@6JaJ74R919 zTTIfxTMxznW$RQ^xtsD?*Q7W$?X6pKNpvQQ;8^-0Dd|-G-4c@ z9F>rW#0#ny6(o=q_LnIf9SaEios{@iZT<=m^$;T&Y&JGoIy7FHBWA^dVDOy`qQ7h8 zKPuHaGD{hs5lzk&0|-UZzO#5u$DLQKtB22vTDt`mT;!Q5ZO)k`+6w5>| zdM7R#N2nL5iGk7rG)t}i)so4t!sEV5DO}-CxoU~jEg4*^xR*(L>yFI(7u;(Kl$RCk zCCl7>QtJg>|CSv#@Zo&wMQ5N;9XzegJ&~u`1=y^5$q3E0W2Tx{Ss-RkCU$c(s8Iy0wC(0fS^6?D~w00-h9j!E(P0dwCdVhykk-bf*!z8+R*X zz1=1$`MqKXx*KQz79nU33RIoeP;X;lQBc3z1w6APh2XmJZ;8CGc*VmOSOo|fM3F)f zi!hN`q0NQxMfludJBhMrq>SzKOTP9x&tRZ&)Grq9>XR*35}kFhC;>h2nvGY zsw~@7Mb&6~D{&35WJpn_xptB2ZP~FuC2!-Et(ch>v`!n-MbNoo`K)C5ta-saqQ#fY z#BcU{1A+v)M5)pt`^pqU6iN|FgeaxRIafjY8^5;mhZc}trZCDecJ|AMZ8PY%o|Gre z;vUTi#N-5Ga)z4%M98_!`n3z`SIP+Zq$CvoBorZX98M6Ma#@NF_cXCHOOny~Po4-I zL*d^uqST?)T3R5yT1!RF{niDMtMxBk>07``li2R8C?2xOwSi&BoYwNY_wIGa`t1Y2 z&euuF-kQm($+{p)Ws_IaIcLZxbmOHt+@W@d^3yiTUvf`tkV`!IeqyRYLLgQSuvh%&|V{B&Sk?0+%uJCZ9#y*@|&1 z-FAb55}6K~VH(;2N6(Qx5eC|azG~puI6ZPs{F3PO1}|^GclhoWi5l-4>)^vTPsVrP z&OQ#+0&}bAtVyDA-lomC0qc1GziQT?1mXd zIyvMapRsU$(I8APx%q-zE>nhN{jrI^G9Rm1bG>GYfhJQ3(nY*~dSIRhmY0P+P97FJ z8Fo_cub=0bSwE@E&N`yL7Nqrrc}>e^kVSVtvz`H^N?O7J$-+6$bGX>14q=w0r#1HNd_#`t=UIp+QX&L znZ`k#*%t`lUyuw-hnYiXPBA!2F}b-UFNF@tk0b~Ato_=wvZlnFXXFna8Qd%T!6OLD z70}(kE9Ui2Fj1dm7MU(7g6m48xmd|F(c>pD^JZ{v^j=Sfjz%xqvW`hJV#zZj2<|x< zjl*Hb1~#*v0S=X&n|yY&t6^}^U%V!CH9SyoIe}m&2=!3t4`>u+Ja&?w8jx4i!7WMG zaR_&n;73wTQEy*0_8bqs5fiPuOHw!ICWA*PgGVZZM=XO!&VxrXgGXFp6VLFetzWYC z93@`5>>oUbKst$ckJ9fD#80J0UNQ7<#!hA)S|sHy+y2$AwfYyi^Ba^h&5yX&UA`b% zdPN;Y)nL0kGts-H$GWn~YDKtuxNtsIx%EYt5Y2i7;yt2qK7otxG>U(LE9QBbi*@Dw z!7Kcdz{lOsQOXx5l*(OO*CA?>D=rZ9NFZM!fP5)Cg%?Du&+m@3$2=muv| z+yXxua}MaSu+cw^^5n6-O1wmuK*wN-b)gCoBTdiim7mPXa?xwOrrc{ejk0MxoltKB zvvAGI=#C0AhgkO)NJb`465mgK{(z<9H|opf?L#!2n^EfKe}ulAO8^cspAWtuy+IC4wKPyoVacIQNT${V9ho<7GmP?Y2l2IvRuqideN$-GL)oGJW z{Fk7b z2S@3KZ(`6xUj6Ov8|dGO-3mrq{Fk4JI}T6)0IL5>FGyHIN#dV=(2x5{?g!iDS*Z0t z1JHy=i9klNDD59j&GV9=NF(?aC6bgq;FQE*Qj#tUVSfC4x!;es+jE2V z0$24sy@*H{4!?dl?fG}x^T*KAh1b*L4Mrb<0&z7eZXVcAK()sk;?B}9aC8-T6Y9}5 zy`cbWggwk59hQcCE6;De+(2We>zASHxY=5vyBw{fM56+;z`7Js-Z5O0;R;=?PR}#N zq_gF?i9ypyg5Pk6ECYyRm10w)_Ut0UogN9H{6Bc!1h7#Yjz98o_uSZQF8f zMzY<&whc&>mXVb$G%`j&JlW4USsc?m(k1>y!zqVK(>1`r?X%T*>sFSv7P}x7Qg(@D z5+#!6ocpS8l*?N$bHWYS1r7zs9V)LuOy{$!9b0SI)) zq}k8^dpVvJwNNvr!iHJKL`cnBZXSb?(9xD?jBJA&yfa@n0l#~W3NU^ULleRNw?WoY za`xE15Kwcg@y_Atdt$tw_#pr1QqxmP6;n>TsEdh;0{s)7z;M*lO;|*c>V!K#HA$G9>q7BDTU_3se z8e*$3+!f#KU9vJ%^wKwo^K9ZOid?bV8P5!Eo@jx6;`SXpV###mXdGUa`Kyu$Ipsd| z15eyh zo+uOK<_ng-;heL8?{p?b5a4lqg8lms2+8sYM-c)5U=#j7GNS)~Gxgu?$I+?~Zb~Ys zycQXqD~gBNzzryI5&9H@HY&(~^)&b*MS_s(@YWgJ=6OwVr1|)fOoB=vzmSpTH8$mi zjj2TB2XzF@vb^!k^s>F}RWDxcfJ~ga3$p0|ri`FMR2!Xi$)tUdf=fMtyr zfFBH5ZAwxboSYDE7R(Qr@^cMENfS#1K2|3DVLHaX@w{tz~wwksDPa)fu zZHqomQM6L{mA4;fSO5^E@k=*KY-@*GK=2E(6aryIWGDzUs_K^_lfdK!5L22nD=Ehb zgD^0OfG`BbmP;@mg+L~h;oFv!;ln1fOG|@DD8q|^*ux|X=OcofXeK}#MaV-03F=+`63nNQxQfgc4|b?$0Ld#R(J?~n1$Uvn1Tw8gTtMV6 zugPyJVjUT_-(a`RKGJwd5wY_etq31HCyZu*Gnu4(j$=cQHe{a@>L!7i`&}5y-F_MF zMvml&bFPXS;=ews?K}~)7`j!GV9wmOSZIbF8)E~WT$$~wT*Qmm(I*smN5&$2f&z*L zBGhbapu>H*+!1`MUQ|p- z6>k|{%TTH>&cP|eW< zQz&*ihrRAUhw4Ee>SFkSef2!M3uU|h-E89&I45tD&vEu$KlQ%ZwvM!0l1aQ(kyYVdN3oBkr`iDd)|9Y?(9QOWQc00mqJ%nC6iF_wQy$`>I9ha(3+Y6wL+7E& z;yG!aTQN5K?eY6;5R4i22@yn$ywaotRo*$MA^U5oI!VWmrSv;Ob-cd}%ULtI`86xt zNV-CQ-zm+BcW3aLzCL=4;N0+zzPT2ASyDE%;yS3d&3!S}vOI_ox#SgjrG;NXwxYj@ z5RRu-rL^K(zEaFli@BmP`xxJC`PioX!z?jJEn;n3c1Zo+M0G|uH#V*-lM@B}VzLJ= zgXZ%QrC((R-&5`#g9ljvv~)tU`0`xg#W^?8Yqh_RP$JoO$V=SNe zND&IApjlb`LV3r7vJ}R{2kSAydaiLp62^ll^_=Fijh@D$3&z71>~ZtA0qopflEVzR zN{pi|)lET!_DByk2`SAe#b|(EV}(OD1Jwdqh9Ve_nH&s`qjV1WI}}L0Wt@K^r9VD)l{uEL`rg^0$hm zqV@pqdyeTyirAw*ZP12%+O#L|EqB><`}$8rN`UY27T}@v&LBVU80V(Z*`b(8fe1U56Ad30KU| z^4$U-l(C7rknNmiZxGGu4a<>KsEwf9hdHAo4ps#-ZmkKXWH!U9A!McNvuKLaM^WcD zCmF0|458d@_s};<9ieSe=Cy8B$!gexY0NXmQJF#5VQVE@@+>e%_E@qHZZZh|M6}j} z$f#h8HKhL>jd`(Kml&cI>$6IBu{Vlsf>d%SqinJDJDl|n0M)2flz#N|g&nWXJgQdE^0wnMRHok6_; ze-(WB{Wax+>(mV0WwA!{&s?JgB|DOg^U19O-5GF!c+qW<>a!YBuQlp`?$nK1@OD5k z57dTPFH`8tT+IRM&b=z%1v|u?HEjXjrD4Q=$kT@M5U&BYG3h|;lo9o7nRv_#H6cDl zzyR@377cV6g~`ii1Z|Qc@pEm&`NcQv0`p@32jSt@2Ek3D;UPDP=oBskWsWHqw2$a; zz|%PUY$GFXlbkIO4;d2wdolJyr}Qrz{S6Sjq)dTOW5m`+MqnpJTi`Bgl{_U6{#~_IU1*==EAkhXbO?{^E72P) zMyQ99O;`^p)4*+0E>It_V?WsmoIEB)7!Nh+m2ISjCc1Eo<5XOQ=}kDy+8KkKwl*L>P}X^1g44IiZR&j$r)aM{Fv7vSHoXSZ)d>kU6Bwfldb zNR&5l_!;8)*-Pux!c4L z1ZB?~!0!37^!P$eI@8 z(2-ZZW(Va{*`g*qH#DURTK1o!!JeC&s3=^_!9<2m;|iIDX&j-X(7}oC7{J^i4O@39Yi?{ z>O4J$+(4`C9rN+o_9r)aOY25J6I3n81w*=5QBuUOu`vC!V z&fJ5XD%W9;F*cE)t#)tGbrf0n#ir~l>Fd?A4Hp5*&!vMQ+=c~iK_f*YyDie6=?E>t zU1dgyD@8H(I9P542VB;YhtJSaEgyb(7*SyZ4kUrQQ|>FzLa~QXiSSu#^Sdrzg7-IzGvf`qW)?(&D2$)1RdI((!s8=?|Yy;DFRQm{4lY%LNDdHh!l>%a5c@Q}HQT^f%#33Q* zk|QoDPLf@l+YsHP*ilGiQ1w9o6hrU{r#9Evvs~FQFz|N>lz0V%VrWrz6uqJp^vGHM zzXT!S_nUg7V@d`icNB=moCTkVDyDdFEV8Rwl9QZfnfHd@aw}sc6J*6YiG7d_WkSP?`FqVkpy0v#C4bF z_1eyB_72bU<>NPRo1n0(g0Ela;)*bod1Y?PE5+c%yW1*mZ(U&MyZh?c05JFEzCmj) zE^-k{HJP-4VJrT(!hx_Puf;)$0=&~izCY1015pl(gVAjlk=W$iJgR^Ug%!0~(l{#@ zu4Ji!rMNmrWfJmXw99pn%iJ6H1x+?syeG2V!N|ojLt_%7BMEW33T*(Y7}rVSB-&LHCx|-f#3*Ha zVTVSQ=(6S*Ej2ePj<~87E_v;*JIr)w;>^(J&f8DZWo}6AUPqt^>Ctf%nGR;-7sDG#DJGZD~5dEFhXeEC^^27Zu-q;xs9c zi%>O@i;|lt#h>f!qS^zTxSGK%fHzo`GV_+$l&IGwwUOy+(o?yy5vbq-jh5LF_Y%Z6 z3|}BfLvB^oTMSUsyx&L=|4RB5qhl4>b8Lk$lwq4=1Q%DYBLa30M{NO6!NWrs4Bbe8 zZ4;4N)qz#k@i?#I24CrK1Flz|$%<&W`5y#&i$BZ8k6`%(VtRKW9l}`+biLidjlCmS zD2bDEi@>}wzdk$Z7219hzBXMa*%h`3A3P>QHKmzx_mMbjA|Ww--%#a5fM@0tD?s+) zmH@yAOabFN!Jpv*6^oHe#ww!0EO;=QQ$@@39eXF`e>$m?rV3XG=sWMqz}W~#Sk=v^ zwI|Zoz9gx4;>74B?Z3G0^Q08QpdQUQl=0wrR%=tmjLMBGky)<5X%ok?MiH~KeDKsG zPd6)&?kI8i#}O;=E5-_GV6_wwR|Pb89IlsR2@9jdyM%_VFKj94MXGF)IH9~~M|n#F zeuqFUR*jUDTZl_HoN+s!GKg4a0G*hZYr>5~B$bxCmsv5Y5^M^{py!sDdVr?$Mdp>} z4>*FqayxnZx6DQ^N|_lWQr*a6leNMwraRnSZ%FCGB(zzn4glakDM1oPpSt~FjtOw|ZWW;=z*y&-}aC914g zp|BWoNB%yE+o1w~r98i8F}BaSE?Jo~-*$rYBzRD#V-Yx|>`&&|+RBvj4wUNJnJY?9 zUpz;Q)98x5q*b$6&@Pp6)bR_(*V-tEyXRs_(EF2)3epyBJ3__TO0q8#gmFt_X|QY% z&q*`;>nmBOc>dSAaqXW7XS&T*Km>65Z8 zI{6(v!Uwfe5k0B#cE~IE$NUkBJAtgnuDju;U0v&d>h|x+ZP=qBHqt>nvQmOtVA4n@ z(Mn@SLX5ePY*VQ4)U%4UCuNhBI$eZj#qjU>; zicPV;Rbi&M517RoNSq1t)_^>R=BNco-<0_w)mgT~qS9wOHKxi5gfmS};{Qx_{cDMr zKMY?56#oV* zt8RjO<19UXu$TRcUE9u1w??g}$jaLIbJf-J#`CRT>`DK)=sBhZP>=PicyWb?tio3% zpaA0vU#f+qC_bRiGxUQ8VaF#65`f<2QuGv;gp)c&px~h_4!V0W5_zHRF5Q!dZ?IRF z#Z4VRQan!-;0`GzIm4jf!5Va8M;v^zNNt;`WO)u&Ht{Mn=W8?<-XH@T+IxEF& zi@Z0JQdId}SU^F05NTOot3YcId83`e;Boov!?RItaad8oAaX6qX3%n-RG||2fGmU_ z1=((`6z&9<|N2c?jXts2b}ieJnxu28 z8C1?ZzTa|y`GN)VPLL%Vx*~pVEDu`AT6U--xJl+Z(xKQ|iLhdX(`DkPlO4nM6;lFa z{{lj@N}QeCSyust1(w66ta?K8tgVH)!-=SR%IGW%0ZuVVKMOG_G!;3V3`uL~3C-GI62|SV6%yDYB#%Sgc;@XbB|0TpKBM|k$!s9=$cR?@OVMX*4L!=5 zOs$YDn#8(njiM!!e3%+ZE$mvWl_>Jla27J^g!&573H2}=3{$#lluW}O>Jra}btQ!q zsH1DlMi4fiO&&T}Vb+SWpES)iK%*=*ep-hUF3G*{W zi`2zDzl-;dF}FmxCQdYgzWuhIS>A#0%+Wp zqcC}ge=)yf?qm8AG4u?Pz@*mc43NDj3oJcWNDP?G4_-6BODR~1wq=POmj&lLV9j{$sl2MBjRxA z5SkBDtk~g+JWV;VeOePUDLeXN`PsH$-F6XgALKKdU}H{cZu8b-d=F` z(A?)cuWL-)qAt2o8w0p|M9buI&&b70qMkm9Awjx8VLIR;c5qu1DAIN^BXSJg&!za$ zAK9*b2)?*q^K(?D|Dx%wWX!hm{M)T=E0=y1bE6gY*uVM6+2o2@N0!w?jvTIfM#HP( z{>uEi&37lA2(YV1FHL%9es=M)oUGG|4r*4mRcbyPhQs;3!49Qo*kAC)__#=!be)jz z$2rB@Y_FfIsF>|t&eT?-Ov;Rh`4H$H8>bZ&$958n-n56-vNuCd9r9{DhwZmR=^Z(s z<_mX{j?qmF!FO-|ADGc!?06%|m0p1JG2FjsBj5({ zVPlBkYja309V^sU8gHUQiXlLY&68u2pmuwrBr6dDP?uYGyW^GrBE4j=>6@ zBz{z6Qqt%tb4!)p5%rK4+N@+;V{&W&7Ll>VMgo%!rcjAkseO*sn(ikx2HHR?e6Xw6ZDHs_bMHe7OjVndT(76 zwwQ!0ob52L^1vV?u{~Eprys>uGvJX4AC+miGmo?+9zk~8-H$zdggA$1_%GOf_MBb{ zZV4zkq8KxK+?o01`$kvbT*NPs*j=g4UbeTW7dBl-#HQrI()9i=={QN`v|cds%a9Pe zTUs!43vf=Jq@K_kV?@s(DRUm#`FmT@1`x6A#qlTt#>acQGsQm}7#Jhf&#Ji3^{n^y zL6d5jElYo>-eGSKmy&7k4?1TEK3K^tl1t@J>+xcfz=rF@>#Nw!DNY8vRpG zkEyD@)Hu9iOxzN9j$G<}BA0wJl0QMaIH$C3Q;c$=}hi-2wj-i%Z1bTsrm8~5IGj|Mt;>s&2*a7k@G>Nza`iYxWms_EBEVSW2| zYY0|*r6T6Lt{y33x?C4 z421or!hu?Q}LB8q4z6TbkS(P?8NF4MpQqYP=s1XE9bR4gB;OL7kf`e(dqunF z<`?TB=g6Z{n1&TJndZ3f*xA4*YyN-s}pkHVvjddUv|GJ8UNgbKHfQWk8k~j#3cE^ zE=WC!eoSr=G09K>XU`IjZx`_aAF6}EFdRB2H3UK!^K+)sri9Qk>E5a)gP|bTOj+ql zZxF!)%`f$YkIBNqjg2$cYJIbBM+3N<%`+n>r*E=yXOZBj^#7Y7Z0t7{8VF^S> z=4@?H>7lA*$tI@2R}K~=`S?bT+afBeZ{!y9i$r?<8G1}c$ugzi^oF$N-Z=$^Cy0Ap z3p|^s9Jnx8US`(Fc^0MpH{x0dPzq#W1083u|*!9ah_z4qmw`6>Chxc&AH?oHu7K>6O})N)x$0>+|@9rYq0O_l-=7R3F~%q1DBSrXhepv zmpjth)Wa^9R?c>n)H8VPukO!7&+T`uo0}TE06RvcI{7BKwd&7*@Kr5(1lp~T6$zUd zrA+GGQ6%+7aIAM|D_X;*T*p8)`W;rDoTyzZR60>Q=P0)#wQza0w%P}o;E4DJgV(2c zkt6Vm1Q53z({(=4{+j~->!gIuCUboH?I;5Jz4&nb?Vm_ZC+~T>WvWJoo4s^?? z7u32j>botxHwahQW4a&|Og$_LAP#jxmkfI18$!dsC7B;n{b_s*}}D~!tIQ~ zTOYEDp9$nKo8`dbi|{Y0U?4$1YtlyO_@l$%5(Iq=IjPx}=Q{0aPXV?JoaYa^GQ@i- zCfc+x&{Vy}Zupp^A{nBfDg3m~Ao!xqk|X4IkeO zDfB>avhRhRN&6V!5rM~Y?*ABmj^_LX_X~8%cCxcum=A#656khweXHtv+B&~@IOBVSa{6zX-y*x@O4`!aH z{}vIee59-{cRmM5lr<_AQ-m;mycbdH^C-VHipAn|<4So0eQrj0+u&T%h(t$KdZkUd ziE5!*dzs^~33F@Ay&^uU?_~qW=cUAepdiL=;d~VK79-uVmAe!BiwI>2iN}+ac6qrZ z11p@V^AXBP&P{|6!4!MinYT2LlznEiD&MT&$MR)%U~ltPB?uHsA#VONQhyd4g`d ze%OHNQV`=Pyis{+;!zFb zAOKOhH>qXga0qP5H0?u)z(-?EKIRmrDq&vUXU;)+KB6y-3b?s?$P&;^QYdSHX4Frx zADDZ;s|@7Pm5sy)d>xtru~>-Ze;KG}T?rP35-VapMJ_PE=q}TS#|0`Ph_mOD$%S;h zg2j*{wJ6&TDeXSdb__y3&6GC&$>|MT>^`FvEiqol2xlT?{(alyk;>DX%#wT|p;)VU zfXm~mDJKe}6t&o~jttw-omGu0zl$`qH%WFj^h-!t*H?qnSE_F$>W!mj_Y9+1j;zN@ zC{bQ;+JXJua=S);$;G}V^nKqxM9@fnsokNKFPWYNTdjYfF6XK_AAP+J9L@;Cb@ov< zhfSYGPA#)nJ?zmx3qlamMh$;7{fCJlFDe3#?G?aM{=SiYnU68y``wHK%=CUfOyZ5O zc)fXOaNJdZsr#JZi7Mv?84ev=fc40dV1#qw4xn}YM%MrUa2M&WzhBM7O(?5$o;uFq z$tFoNU4BWV-ZQ%7mPp8CphU4HV#ZFrIF3u~n)5OPQm;VL4t%0_+C#fW0#S5b*eZwQ z2i}0~!&)1K*@Zzm*nI66tA_E!4Za`0Oub72x4dz^#(Tu&0?o4#q7su0brIv%8u!;n z!W_qQ*l|}+$fL{X+vD;F;=~tliZ?SDp%Q?Cp@4O==Rq7{Uo#U3>2KXo+A2yxR?YHX z(U029lkS#7z14tDHissqoik&!YMA(ezFej=Mot4mL7w9$Hwh@%)18+ z`NaoxNso0Z^4H6gcie^}OD57JiTy!QjiQmnd2ree#b~2W$?%I2@y&+tDFkq<3(*=J zyod*Sh+wtZeVSkf=mQC5z5i~d8M>9B?gK%+CY;+U$Zdg={AOQP4BxC8flDLUNo%cH zOE8AOot}7`o&*3>OpU4=hwz$fwF6H!Uj5YVS55S6n<7q93V^0Tds@G6B}FEEN$wH~ zqNP8GxQ;f=f7KHCh^A3_@9kemBe~|_SSP#{HG*5T-ACXlPHYn2Q+uxY?p6wTR&ed8 z<=Q}N3)=6edHY-D#U@Uu6U0r$i02XTSH_q393Bmidh>7zYxW)&xhEs&8O6N@zOAg9 z+13hqkAc0SfIPB@Jj4)VGnT6}>r6&U=oH?pt@dFH|CTrha5_Nhc`=2T{P`@5Nn62$ zkYxc~=A*S_Qjsn^r`lGQi4*UYzJ^W@(|&Oob7%g1p??e{yO{xJZ<*y!q=dIkK<0)1 zT5%?Fh1o|^D2R_@U?dmP_O^k-4oS3=vG zp{VuYxIkZK8|4uZlT%Z;j}fQZaRk;+odf^ItAhoA$^kzj@)G*h;3NzIn>^d>5PB|J!+|hSrqv>tI5<`}q75;HM!rQEWVXLZ@Zdu8u`I{ltWo z4F_Dev&a#U*NCsr9GgsHqKDMQoiNJ^u0jUCMp73;ggt=j?S@&@lPPkO85H_%7l& zY~fM}sgUwTkgx(g4@YS#d*d#Y>jJx4FCehWgcXAUa65(YOsi9oZ;KOo(qh;Yo?YG?u#6^KFgA9JRWGRi{h)>|PG5%a8fAX$8&(3;f z1i1jNgD$T~(TDfm4MB6il?ssc$>~Z2bbR{>+s^ln526a!$={8W{b2mEb^0fP3%fnm z?<5%ax>SG#*WLNEV85L)(z04rN?(3PFk1r9WFsSfUHX$7$-^wPeuCVtzKNa<7zP+L z;Fb?_R*}S&QO?A=Vbx>-wKgUA#i=>?mLrP(>yi_>V?g0#d<9o;Dn_K7iyQO@i8foF z(GWj^8Z^54VOn*7W@D-;D*05&Ta6pF&g*=p)T#80cy{TMdI6-0XB4w%u_L(?(?N0@ zo+gTI#4?b_BGqOufEutyP%8mb? zmU>}X`trVM;56=iLybTbUkR8KlIGERanRMC;V7a;L!U zpS_J#DU@vy6M;HM4AV~=*{HZO9aJGUtmGq(!PWj(GmGgEa!!Kcf)ipr%1Bwl1oDWM zkTChvpDf%NcNcSfS;grwg=5>mnsQ3>Mx?sQ+^|=g{iF;Ui@+wGb7P!ymBrLxF zW}5qA++82^t+*lj<~bPt-!S^m8LFaSx2}x*X=^kRW0s+)icd{LIx;*Qdfk7B$snMBwDVs3QLu^142yPs0ToIE=Sc%Yy?sE$*O7JAtS| zteIji5~%`nZKb|&6951lopHP>&}0*uj{{kTrHky{*J7d>OJo1K(2my_d6c7#x{fpP zbYV#5xIPrx(XrBurLf~!oq@IrI3PW;g%S|2@Zl#z{^;L{69dDJHfznSOMP(ZoHsgNKzJlQc1* zKjOC>nb(+&zwyjh!SK(fN|h6KoNADu0{fyDA$}>{x|1xt^8g5;C#I&EOKYxXy_el8XyF}!tq>TE zGdU|nVCT;rKW@$o`JPd9SkA8I0dyxEnr4TIj#J`;DVF~Q^{+b*#mR0j%r~MVzZErq z!(1xa7+712TH6^o{{zP{|7q)=ZDB#t<$t&w=wAksw2LS`tC@(I$qX1FDIJ|kPxAvh zB_*jG88_ND@E0lRXcXP>AXyBYuRmUKjgzS&=Fr4IR>MqA*NU!HwndN6*BwePwP`>2 zo;Nz0y#g)97xcpCxprV0xS=Bc&!)=eM5G%t(km!)Hmma#e(SLs%@!;!lFDw&6v|0w zx}|Z`!)}e1!&NEE>69)qd)so=ZRSaxhE5ZVWYN_MP0@ims^Ko221N>G%MvG>P zy_!V3tWm5_1uldS9-9A5M(6#=$1fpl4W2-d9)L&xDCGlkShZH3JS(YFTx%Ye9+Fkm zRp>WzUD=>h#aSVx2$dDFVVffjCDlg;++tabfs%-^N+S#E*r}284SX5x4U??_Oui5b zwi=}2M=RJ63MaT?@e9sP?lpWD_2gNajPVJ*j!aqH`zU`Lpz>72;}m5s?-H2(g3Wl! zi3sjp(>meB_|@aNjma)5+bdE(VLuD($q>O@l9qn-Y^9%5Nu1~eMi^jQY>L3cUIt4T?>*@RD zGlijnFZ@TOI=Gp};k-w0L);sG2f>&r>r!>KiBc*1?N3?mg8GqQ&jQe=c7PlthW_>+ zLf9{4OFW7$Hz#OIIAS?xJ9F0+EoDQbzgd%c4r_5LY7`%@{3>zZI?iy*HTiTNc~#iT zFa71i{8XmCgqOHJk^U7?GAv%l&)>CN?l+=n{$`J~b96Q_R{btvr7fJC|FeRPQI`6v z@9xu<%Oo#W9*_Z&(lVYguXyJTBUb`R7%5nIgFSnzH;q%sv_zC`r=M>Zk&V{bh;Xje zzL3^?2m~u;IOJC_pTWn~ECBBU>+{A6$MM^=o7~&o$UYf>Bl~ZE;z?rFe6{M=q}BY% zX=27v$_2dKa%D=1oI_{m6LjQRs1+fPX((XfoQ?#PU=KFra5NsRJlZVhK<6I*=by)N z#?=%PIZ3OEt0^^;DMF=5IJfWes3Yi12f(`mq1cYvWZZ=Mrk2sC7)Z0S?jjVk%m=NG zt=`4>ANQ*HgNa83GtH7lDc5D+l!{U#FuwkQj@m1kIM+|^({dQbY$AnCO5G;y%+oy# z5dm@-NbC_1#427t#&(5@);mpi#nXI~yR$sn#&-ybaF1+hAyu10YI$jj*FqG5nPDq)x@7m6lzFPLiaz@QrogVt8mktV(t zn0}_%$(fGv>S4zl@FsPmcy{xv$!LI_Wf%X%N$)v*g9E0_YP8n+PT9!I#aYyH;?m~s z#?Da6Z*o(_&6e*0;NQ=ylFuDJ+bB9xmV}tm2`t2*u`W=pnI;^jtKGWD4x+~+G#x&M zR}*D2auVM-Hi5P(#7}-_!n{c;&t({LY80^-BIj7OS5=A(kOacx<8Ott75QWE=Mz7W^W5oUdNfer{GMO zC8l?|cn7F!Nhh@LcF6HT1Kre#=dd$~G;%}#PCN6B$4~2l{krVR>*#}@gwGI*x4L(N zdbjD`6u~aCxIE!ib!YP^h!VYc-P(j85Q}V!r#}2>o4yDBo=WcptHG~S9ty#9-EfPt zM6;Lz?+bSpWynsAg}TGILqvJd&|7|= zYD^-|Uksj~{oeE?14#sVo( zcmjw4M$y^fSsGWQP|G94NQ0X!OYK^x5EENYv=!#=y_1wNc(uvoKqLklvIMs_q7)pB z*~?C(T~M?!gv7kq?s2d|vFTCvC0pF%(wzc4(UDu8f4$;uRUuGLA< zC1ME#!RpdwOT%nmclpVQMg3Jf9~ui_h=DxRHlcUqsk>oN*8|9oHbdFEp>oeV-8eW$ zU1t?QRp$W0((DjcFk$ytdHkiV2L;^722qCR7{AzFHt1|!hk1K5WkR;|PLa-PS{ASQ zU!|?A(R{zW$1Hw(MZxZV>usYx|L6es=kE<$Ij5>g{TjAE`4lZv-^hRoD|%e)z|;Hs zy_G@Zao417ra~m7Oj`>J@jM$2LwOJQdi&G#0iom;o$Uq~gIff5#vW}(VGyciOuRf^ zPsVl+9YRVB$<02CJ1%oU#g<#74xU8)bVRONc^tgeKegzva+?`C<&@{d^%4Tx!3pDI zh8H{ZnCxG%b3X_}xA2Xd-2Vfe|1V(qM@?6(W}}3phV09#0Un$OKL{BfSs(}mJgcdN zOwhU5)LE9V%nv11A5u(^KPKAOT$p`Y`We_Qb2(AxIA@s@SWah%hD_4#sq3I%}k(uf>Je|ktyV%jofFGjtMHqeN+l!m~%8Kglc ziGU&`4IPSxr#~I#!H}kI&-Z&{<6%!|kVpNYKduZ+0xktvSuBBKB0Rit9_iKH)&?8uB$q^GW+>`IM|%uJrs`mAyKz-R$!`Eju`GK~`F$vH{Rn7!%*Lv!oR(VTEP41kt>BXAYBL`-ZDQx_Hz0 z#Guod3Wa&+eh&#ZOcz3uwMBF10f$1MZal5Wef4lu=np&HaCrMjyhu;O1GV`(4>_<@ z<}WjdhMvZ3nPWd$ztP8Q`k*e|+<+-Xnl>2uo@16EGT}7br1PmM(BGM&I@@{N?utwG zQGjOy=)l8(7Fkt9V-!zQUaI&i$=udRXytm|dvXzoU{Z`sU*|d7i>BJ-KD!U@XO%Xi zS)*OHk2fJWt$}=Z->SW`Cp_H->YFpEk-N8E#bD-xnfwy1=9iK}s_D5?lKiWfpZ>-0 z$57lsxoNDfMGrrT9e(es!5em z==lijAbhY3Yc|s)wFEq^u}Gt&^pqY zw(v6J0!!?4l-GiXe%SPnj?>P=lPvsW;?Q?wcFq z@}jeMdhsH2SM>tAERW_6{T!vTxXeR`f$HQIm5Fy|R|ehq(<17i);i%D{ep7*mPhIx ztmK(Y!Z~nyTw;BuF+9|2G<3rsaCHkh4kr%5MVJ`74pU2aNXu;R@d=ryH->AjNe7 z5r|AHcdJIZ*@NVpVcvlJ`>Wo+_6A2~lW(5g!1-anX%f%6UY9=0hg#d3AG>kqYygcr;s62{ zQ2H3SDHFbJ+=QvHZP-7hO0{9f4}WU6cb+`$)rPi3OhKN&lw8+L%oEu;X#6cFV$GgDuW z9aN1-?hC2zx;v6fO^xSxQ>NpHqcYxIkc&7lGnE@S$#v5sO34x{6{=EeNosIVsZyHO z*L`~Di$g8H2(xN5y50wkogM^(c9nN%dES@Y?IVo^9-5na8I`SyUB-5n;cX4bK`!Qko#J zn9m#T0uC}qo=Q(But8Nk<+vJX4qyEnWe~T`dIT0G^QuA+)3P{7oi!aR;t@7Rqr5;} zYzt&8nbNaN6h&Vrv&>WL@E8O&%#xtHnc2Ogn#IQB1p9zSam z@v&0X<@fNBPH|Xs82JiDH@hI1zus}P=cr0*knbh?f?A0`mNz~dwf`t+B3q1?;7W$c z#G^)lR2gG)I?#uRUr-o%C_^HmD{X7lTxbE2k|7L{lCFdUtSZPjE)q!^wBWZKfz;C*67UY9-QZ{I9zoa; zjsxnB;)nDOd#s>-^lk}A$h)+#E-G5MBkx+N)dt?6nWbsrZ`lB1X@_nV*W!G37bjjL z+65UT98?LWEfg@#b){53#(lt0piuKozcoJ`pOFgRC>`H`;)_kFA314=OT#A7@k)Q* zrwqb*KsH{)QrQUnZEa7E>Q)%jF*lrT9&*7;wl;GrBD!w5K+%d{UdWCWd9pfaBZg`7r#nBGa<30QeF$&VF2q6|M#no$aUS-sTx*cS5IGyn;;(

4(J_^ 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�NQfG6btQ``>zB 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�svxf?YV{?X-L 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 Pe + + + + + + + + + + + + + + + + + + 36pt + + + + + + + + + note + warning + caution + tip + important + note + + + + + + + + + + url( + + ) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/fo/annotations.xsl b/doc/help/xslt/fo/annotations.xsl new file mode 100644 index 00000000..ba6baa64 --- /dev/null +++ b/doc/help/xslt/fo/annotations.xsl @@ -0,0 +1,18 @@ + + + + + + + + diff --git a/doc/help/xslt/fo/autoidx-kimber.xsl b/doc/help/xslt/fo/autoidx-kimber.xsl new file mode 100644 index 00000000..434572f2 --- /dev/null +++ b/doc/help/xslt/fo/autoidx-kimber.xsl @@ -0,0 +1,172 @@ + + +%common.entities; + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ERROR: the 'kimber' index method requires the + Saxon version 6 or 8 XSLT processor. + + + + + + ERROR: the 'kimber' index method requires the + Innodata Isogen Java extensions for + internationalized indexes. Install those + extensions, or use a different index method. + For more information, see: + http://www.innodata-isogen.com/knowledge_center/tools_downloads/i18nsupport + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/fo/autoidx-kosek.xsl b/doc/help/xslt/fo/autoidx-kosek.xsl new file mode 100644 index 00000000..7ed54147 --- /dev/null +++ b/doc/help/xslt/fo/autoidx-kosek.xsl @@ -0,0 +1,139 @@ + + +%common.entities; +]> + + + + + + + + + + + + + + + + ERROR: the 'kosek' index method does not + work with the xsltproc XSLT processor. + + + + + + ERROR: the 'kosek' index method does not + work with the Saxon 8 XSLT processor. + + + + + + + ERROR: the 'kosek' index method requires the + exslt:node-set() function. Use a processor that + has it, or use a different index method. + + + + + + ERROR: the 'kosek' index method requires the + index extension functions be imported: + xsl:import href="common/autoidx-kosek.xsl" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/fo/autoidx-ng.xsl b/doc/help/xslt/fo/autoidx-ng.xsl new file mode 100644 index 00000000..9407b5cf --- /dev/null +++ b/doc/help/xslt/fo/autoidx-ng.xsl @@ -0,0 +1,20 @@ + + + + + + + + +kosek + + diff --git a/doc/help/xslt/fo/autoidx.xsl b/doc/help/xslt/fo/autoidx.xsl new file mode 100644 index 00000000..920760f0 --- /dev/null +++ b/doc/help/xslt/fo/autoidx.xsl @@ -0,0 +1,1330 @@ + + +%common.entities; +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ERROR: the 'kosek' index method does not + work with the xsltproc XSLT processor. + + + + + + + ERROR: the 'kosek' index method requires the + exslt:node-set() function. Use a processor that + has it, or use a different index method. + + + + + + ERROR: the 'kosek' index method requires the + kosek index extensions be imported: + xsl:import href="fo/autoidx-kosek.xsl" + + + + + + + + + + + + + + ERROR: the 'kimber' index method requires the + Saxon version 6 or 8 XSLT processor. + + + + + + ERROR: the 'kimber' index method requires the + kimber index extensions be imported: + xsl:import href="fo/autoidx-kimber.xsl" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + , + + + + + + + + + , + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + , + + , + + + + + + + + + , + + , + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ( + + + + + + ) + + + + + + + + + + + + ( + + + + + + ) + + + + + + + + + + + + + + + + + <index> + + <indexdiv> + <title> + + + + </title> + + + + + + + </indexdiv> + + + + + + + + + </index> + + + + + + + + < + + > + + + + + + + + + + + + + <indexdiv> + <title> + + </title> + + + + + + + + </indexdiv> + + + + + + + + + + + + + + + + + + + + + + + + + <indexentry> + <primaryie> + <phrase> + + + + </phrase> + , + + + + + + + + + + + </primaryie> + + + + + + + + + + + + + + + + + + + + + + + + </indexentry> + + + + + + + + + + + <secondaryie> + <phrase> + + + + </phrase> + , + + + + + + + + + + + </secondaryie> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <tertiaryie> + <phrase> + + + + </phrase> + , + + + + + + + + + + + </tertiaryie> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <phrase role="pageno"> + <link linkend=" + + "> + + + - + + + </link> + </phrase> + + + <phrase role="pageno"> + + <link linkend=" + + "> + + + + + + </link> + + </phrase> + + + + + + + + + + + + + + + + + + + + + + + <phrase fole="pageno"> + + <link linkend=" + + "> + + + + + + </link> + + </phrase> + + + + + + + + + + + + + + + + + + + <phrase role="pageno"> + + <link linkend=" + + "> + + + + + + </link> + + </phrase> + + + + + + + + + + <seeie> + <phrase> + + + + </phrase> + </seeie> + + + + + + + + + <seealsoie> + <phrase> + + + + </phrase> + </seealsoie> + + + + + + + + + + + + + &lt; + + + + + + + + &amp; + + + + + + + + &lt; + + + + + + + + &amp; + + + + + + + + + + + + + + + + + + + + + + + + + + + + index + term-separator + + + + + + + + + + + + + + index + number-separator + + + + + + + + + + + + + + index + range-separator + + + + + + + + diff --git a/doc/help/xslt/fo/autotoc.xsl b/doc/help/xslt/fo/autotoc.xsl new file mode 100644 index 00000000..c1079b8b --- /dev/null +++ b/doc/help/xslt/fo/autotoc.xsl @@ -0,0 +1,915 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3em + -3em + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/fo/axf.xsl b/doc/help/xslt/fo/axf.xsl new file mode 100644 index 00000000..e63c3a69 --- /dev/null +++ b/doc/help/xslt/fo/axf.xsl @@ -0,0 +1,110 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + author + + + + + + + + + + + + + + + + + + + + + keywords + + + + + , + + + + + + + + + subject + + + + + , + + + + + + + + + + + + + + crop + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/fo/biblio-iso690.xsl b/doc/help/xslt/fo/biblio-iso690.xsl new file mode 100644 index 00000000..1bc38583 --- /dev/null +++ b/doc/help/xslt/fo/biblio-iso690.xsl @@ -0,0 +1,1300 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + In + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/fo/biblio.xsl b/doc/help/xslt/fo/biblio.xsl new file mode 100644 index 00000000..45246128 --- /dev/null +++ b/doc/help/xslt/fo/biblio.xsl @@ -0,0 +1,1169 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No bibliography entry: + + found in + + + + Error: no bibliography entry: + + found in + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No bibliography entry: + + found in + + + + Error: no bibliography entry: + + found in + + + + + + + + + + + + + + + + + + + + [ + + ] + + + [ + + ] + + + [ + + ] + + + [ + + ] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + copyright + + + + + + + + + + + + + , + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/fo/block.xsl b/doc/help/xslt/fo/block.xsl new file mode 100644 index 00000000..ce19b419 --- /dev/null +++ b/doc/help/xslt/fo/block.xsl @@ -0,0 +1,654 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +   + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0pt + 0pt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0pt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0pt + 0.5em + 0pt + + + + + 0.5em + 0pt + 0pt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0pt + 0.5em + 0pt + + + + + 0.5em + 0pt + 0pt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + , + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/fo/callout.xsl b/doc/help/xslt/fo/callout.xsl new file mode 100644 index 00000000..a31f2188 --- /dev/null +++ b/doc/help/xslt/fo/callout.xsl @@ -0,0 +1,231 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Don't know how to do callouts with + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Error: coref link is broken: + + + + + + Error: coref doesn't point to a co: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + url( + + ) + + + + + + + + + + + + + + + + + + + + + + + + + + Don't know how to generate Unicode callouts + when $callout.unicode.start.character is + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/fo/component.xsl b/doc/help/xslt/fo/component.xsl new file mode 100644 index 00000000..14664136 --- /dev/null +++ b/doc/help/xslt/fo/component.xsl @@ -0,0 +1,887 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 6 + 5 + 4 + 3 + 2 + 1 + + + + + + + + + + + + + inherit + + + + + + + + + + + + + + + + + + + + + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/fo/division.xsl b/doc/help/xslt/fo/division.xsl new file mode 100644 index 00000000..975d8c50 --- /dev/null +++ b/doc/help/xslt/fo/division.xsl @@ -0,0 +1,612 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/fo/docbook.xsl b/doc/help/xslt/fo/docbook.xsl new file mode 100644 index 00000000..ee0a1eb4 --- /dev/null +++ b/doc/help/xslt/fo/docbook.xsl @@ -0,0 +1,335 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Element + + in namespace ' + + ' encountered + + in + + + , but no template matches. + + + + < + + > + + </ + + > + + + + + + + + + + + + + + + + + Note + + + namesp. cut + + + stripped namespace before processing + + + + + + + Note + + + namesp. cut + + + processing stripped document + + + + + + + + Unable to strip the namespace from DB5 document, + cannot proceed. + + + + + + + + + + ID ' + + ' not found in document. + + + + + ERROR: Document root element ($rootid= + + ) for FO output + must be one of the following elements: + + + + + + + + + + + + + + + + + + + + + ERROR: Document root element for FO output + must be one of the following elements: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [could not find document title] + + + + + + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Making + + pages on + + paper ( + + x + + ) + + + + + + diff --git a/doc/help/xslt/fo/ebnf.xsl b/doc/help/xslt/fo/ebnf.xsl new file mode 100644 index 00000000..09dcb11d --- /dev/null +++ b/doc/help/xslt/fo/ebnf.xsl @@ -0,0 +1,325 @@ + + + + + + + + +$Id: ebnf.xsl 6910 2007-06-28 23:23:30Z xmldoc $ + +Walsh +Norman +199920002001 +Norman Walsh + + +HTML EBNF Reference + + +
Introduction + +This is technical reference documentation for the DocBook XSL +Stylesheets; it documents (some of) the parameters, templates, and +other elements of the stylesheets. + +This reference describes the templates and parameters relevant +to formatting EBNF markup. + +This is not intended to be user documentation. +It is provided for developers writing customization layers for the +stylesheets, and for anyone who's interested in how it +works. + +Although I am trying to be thorough, this documentation is known +to be incomplete. Don't forget to read the source, too :-) +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [ + + ] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +   + + + + + + + + + + + + + + Error: no ID for productionrecap linkend: + + . + + + + + + Warning: multiple "IDs" for productionrecap linkend: + + . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + production + + + + + + + + + Non-terminals with no content must point to + production elements in the current document. + + + Invalid xpointer for empty nt: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ??? + + + + + + + + + + + + + /*  + +  */ + + + + + + + + + + constraintdef + + + + + + + + + + + + + + + + + + + : + + + + + + + : + + + + + + + + + +  ] + + + + + + + + + + + + + + + + + +
diff --git a/doc/help/xslt/fo/fo-rtf.xsl b/doc/help/xslt/fo/fo-rtf.xsl new file mode 100644 index 00000000..4aa0f32c --- /dev/null +++ b/doc/help/xslt/fo/fo-rtf.xsl @@ -0,0 +1,154 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/fo/fo.xsl b/doc/help/xslt/fo/fo.xsl new file mode 100644 index 00000000..854098fe --- /dev/null +++ b/doc/help/xslt/fo/fo.xsl @@ -0,0 +1,117 @@ + + + + + + + + + + + left + left + left + right + top + left + + + + + + right + right + right + left + bottom + right + + + + + + + WARNING: FOP does not support right-to-left writing-mode + lr-tb + + + WARNING: FOP does not support right-to-left writing-mode + lr-tb + + lr-tb + rl-tb + tb-rl + lr-tb + + + + + + + + + + + + + + + + + + + bullet + + + o + © + + + ® + (SM) + " + " + ' + ' + + - + o + + + + + + + + + + + + + + + + + + + # + + + + + + + diff --git a/doc/help/xslt/fo/footnote.xsl b/doc/help/xslt/fo/footnote.xsl new file mode 100644 index 00000000..cc0242d6 --- /dev/null +++ b/doc/help/xslt/fo/footnote.xsl @@ -0,0 +1,220 @@ + + + + + + + + + + + super + + + super + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +ERROR: A footnoteref element has a linkend that points to an element that is not a footnote. +Typically this happens when an id attribute is accidentally applied to the child of a footnote element. +target element: +linkend/id: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Warning: footnote number may not be generated + correctly; + + unexpected as first child of footnote. + + + + + + + + + diff --git a/doc/help/xslt/fo/fop.xsl b/doc/help/xslt/fo/fop.xsl new file mode 100644 index 00000000..c82a48df --- /dev/null +++ b/doc/help/xslt/fo/fop.xsl @@ -0,0 +1,93 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/fo/fop1.xsl b/doc/help/xslt/fo/fop1.xsl new file mode 100644 index 00000000..61cb89e5 --- /dev/null +++ b/doc/help/xslt/fo/fop1.xsl @@ -0,0 +1,223 @@ + + + + + + + + + + hide + show + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + , + + + + + + + + + + + + + + + + , + + + + + + + + + + + DocBook XSL Stylesheets with Apache FOP + + + + + + + + diff --git a/doc/help/xslt/fo/formal.xsl b/doc/help/xslt/fo/formal.xsl new file mode 100644 index 00000000..bb40aa90 --- /dev/null +++ b/doc/help/xslt/fo/formal.xsl @@ -0,0 +1,642 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + always + + + always + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ( + + ) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + before + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + before + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Broken table: tr descendent of CALS Table. + The text in the first tr is: + + + + + + Broken table: row descendent of HTML table. + The text in the first row is: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + before + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/fo/glossary.xsl b/doc/help/xslt/fo/glossary.xsl new file mode 100644 index 00000000..366b3cbf --- /dev/null +++ b/doc/help/xslt/fo/glossary.xsl @@ -0,0 +1,1169 @@ + + +%common.entities; +]> + + + + + + + + + + + + + + + + + + + + + + &setup-language-variable; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + &setup-language-variable; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Warning: processing automatic glossary + without a glossary.collection file. + + + + + + Warning: processing automatic glossary but unable to + open glossary.collection file ' + + ' + + + + + + + + + + + + &setup-language-variable; + + + + + + + + + + + + + + + + + + + + + + + + + + + Warning: processing automatic glossary + without a glossary.collection file. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Warning: processing automatic glossary + without a glossary.collection file. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + &setup-language-variable; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + &setup-language-variable; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + &setup-language-variable; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + 1 + + + + + + + + + + + + ( + + ) + + + + + + + + + + + + ( + + ) + + + + + + + + + + + + + + + + + + + + + + + + + + + , + + + + + , + + + + + , + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Warning: glosssee @otherterm reference not found: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Warning: glossseealso @otherterm reference not found: + + + + + + + + + + + + + + + + + + + + + + + + + &setup-language-variable; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + 1 + + + + + + + + + + ( + + ) + + + + + + + + + + + + ( + + ) + + + + + + + + + + + + + + + + + + + + + + + + , + + + + + , + + + + + , + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Warning: glosssee @otherterm reference not found: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Warning: glossseealso @otherterm reference not found: + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/fo/graphics.xsl b/doc/help/xslt/fo/graphics.xsl new file mode 100644 index 00000000..bbbcc0dd --- /dev/null +++ b/doc/help/xslt/fo/graphics.xsl @@ -0,0 +1,648 @@ + + + + ]> + + + + + + + + + + + + PNG PDF JPG JPEG linespecific + + + BMP GIF TIFF SVG PNG EPS JPG JPEG linespecific + + + BMP GIF TIFF SVG PNG EPS JPG JPEG linespecific + + + PNG PDF JPG JPEG linespecific GIF GIF87a GIF89a TIFF BMP + + + SVG PNG PDF JPG JPEG linespecific GIF GIF87a GIF89a TIFF BMP + + + PNG PDF JPG JPEG linespecific GIF GIF87a GIF89a TIFF BMP + + + + + + + 1 + + + + + + + png pdf jpg jpeg + + + bmp gif tif tiff svg png pdf jpg jpeg eps + + + bmp gif tif tiff svg png pdf jpg jpeg eps + + + png pdf jpg jpeg gif tif tiff bmp + + + svg png pdf jpg jpeg gif tif tiff bmp eps + + + svg png pdf jpg jpeg gif tif tiff bmp eps + + + + + + + + + 1 + + + + + + + + + + + + + + application/postscript + application/pdf + image/png + image/svg+xml + image/jpeg + image/gif + image/gif + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + 0 + 0 + 0 + + 1 + 1 + 0 + + + + + + 0 + 1.0 + + + + 1.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + auto + + + + + + + + + + + + + + + + auto + + + + + + auto + + + + + + + + + + auto + + + + + + auto + + + + + + + + + + + + % + + scale-to-fit + auto + + + + + + auto + + + + + + + + + + + + % + + scale-to-fit + auto + + + + + + + + + + + + + + + + + + + + + + + + + before + center + after + auto + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Don't know how to insert files with + + + + + + + + Cannot insert + . Check use.extensions and textinsert.extension parameters. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Don't know how to insert files with + + + + + + + + Cannot insert + . Check use.extensions and textinsert.extension parameters. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Don't know how to insert files with + + + + + + + + Cannot insert + . Check use.extensions and textinsert.extension parameters. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/fo/highlight.xsl b/doc/help/xslt/fo/highlight.xsl new file mode 100644 index 00000000..7843ad23 --- /dev/null +++ b/doc/help/xslt/fo/highlight.xsl @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/fo/htmltbl.xsl b/doc/help/xslt/fo/htmltbl.xsl new file mode 100644 index 00000000..4918b8ab --- /dev/null +++ b/doc/help/xslt/fo/htmltbl.xsl @@ -0,0 +1,425 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + fixed + + + + + + + + + + + + 100% + + + + + + + all + all + bottom + top + topbot + sides + lhs + rhs + none + all + none + + + + + + + all + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + none + none + none + none + + + + + none + none + none + + + + + + + + + + + + + + + + 1 + + 1 + 1 + + 1 + 0 + + + + + none + none + none + + + + + + + + + + + + + none + none + + + + + 1 + + 1 + 1 + + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + none + none + none + + + + + + + + + + + + none + none + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/fo/index.xsl b/doc/help/xslt/fo/index.xsl new file mode 100644 index 00000000..ff298d1f --- /dev/null +++ b/doc/help/xslt/fo/index.xsl @@ -0,0 +1,484 @@ + + +%common.entities; +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + body + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + body + index + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +.tnacifingis + + + + + + + + + fo:wrapper + + + + + + + + + + + + + + , + + + + , + + + + + + + + + + + , + + + + , + + + + + + + + + + + + + + + + + + + + , + + + + , + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ( + + + + + + ) + + + + + + + + + ( + + + + + + ) + + + + + + + + + ( + + + + + + ) + + + + + + + + + + + + + + + 3pc + 2pc + 1pc + + + ( + + + + + + ) + + + + + + + + + + + + + fo:block + fo:wrapper + fo:inline + + + + diff --git a/doc/help/xslt/fo/info.xsl b/doc/help/xslt/fo/info.xsl new file mode 100644 index 00000000..7497b821 --- /dev/null +++ b/doc/help/xslt/fo/info.xsl @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/fo/inline.xsl b/doc/help/xslt/fo/inline.xsl new file mode 100644 index 00000000..cbc8cfff --- /dev/null +++ b/doc/help/xslt/fo/inline.xsl @@ -0,0 +1,1288 @@ + + +%common.entities; +]> + + + + + + + + + + + + + + + + + + + + + + + + 1 + 0 + + + + + + + + + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + XLink to nonexistent id: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + XLink to nonexistent id: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ltr + rtl + + + + + + + + + + + + + + + + + + + + + + + + + + ltr + rtl + + + + + + + + + + + + + + + + + + + + + ltr + rtl + + + + + + + + + + + + + + + + + + + + + + ltr + rtl + + + + + + + + + + + + + + + + + + + + + + ltr + rtl + + + + + + + + + + + + + + + + + + + + + + ltr + rtl + + + + + + + + + + + + + + + + + + + + + + ltr + rtl + + + + + + super + + + super + + + + + + + + + + + + + + + + + + + + + ltr + rtl + + + + + + sub + + + sub + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ( + + ) + + + + + + + + + + + , + + + + + + + , + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + There's no entry for + + in + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Error: no glossentry for glossterm: + + . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + element + + + + + + + + + + + + + + + + + </ + + > + + + + + + + & + + ; + + + + + + + &# + + ; + + + + + + + % + + ; + + + + + + + <? + + > + + + + + + + <? + + ?> + + + + + + + < + + > + + + + + + + < + + /> + + + + + + + <!-- + + --> + + + + + + + + + + + + + + + < + + + + + + mailto: + + + + + + + + + + > + + + + + + + + + + + + + + - + - + - + + + + + + + + + + + + + + + + + + + + + + ( + + ) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [ + + + + + + + + + + + + + + + + + + ] + + + + [ + + ] + + + + + + + + + + + + + [ + + + + + + + + + + + ] + + + + [ + + ] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/fo/keywords.xsl b/doc/help/xslt/fo/keywords.xsl new file mode 100644 index 00000000..6070b91b --- /dev/null +++ b/doc/help/xslt/fo/keywords.xsl @@ -0,0 +1,21 @@ + + + + + + + + + + + diff --git a/doc/help/xslt/fo/lists.xsl b/doc/help/xslt/fo/lists.xsl new file mode 100644 index 00000000..51052f1b --- /dev/null +++ b/doc/help/xslt/fo/lists.xsl @@ -0,0 +1,1393 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + em + + + em * 0.60 + + + + + + + + + + + + + + em + + + em * 0.60 + + + + + + + + + 1em + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0.25in + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 100% + + + + + + + + + + + + auto + + + + + + fixed + + + + + + + + + + + 1 + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + , + + + + + + + + + + + + + + + + + + + + + + + + + + + + 100% + + + + + + + + + + + auto + + + + + + fixed + + + + + + + + + + 1 + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + 1 + 1 + + + + + + + + + + + + + + + + + + + + 1 + 1 + + 1 + + + + + + + + + + + + + + + + + + + + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + 1 + 1 + 1 + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + before + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + : ??? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ??? + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/fo/math.xsl b/doc/help/xslt/fo/math.xsl new file mode 100644 index 00000000..6d7d4709 --- /dev/null +++ b/doc/help/xslt/fo/math.xsl @@ -0,0 +1,140 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $ + + + + $ + + + + + + + + + + + + + $$ + + + + $$ + + + + + + + + + Your equation is misplaced. It should be in inlineequation, equation or informalequation. + + + + + + + + + + + + + + 0 + 0 + 1 + + + + + + diff --git a/doc/help/xslt/fo/pagesetup.xsl b/doc/help/xslt/fo/pagesetup.xsl new file mode 100644 index 00000000..116a2caf --- /dev/null +++ b/doc/help/xslt/fo/pagesetup.xsl @@ -0,0 +1,2569 @@ + + + + + + + + + + , + + + + + + , + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + blank + + + + + blank-body + + + + + + + + + + + + + + + + + + + + titlepage-first + + + + + + + + + + + + + + + + + + + + + titlepage-odd + + + + + + + + + + + + + + + + + + + + + titlepage-even + + + + + + + + + + + + + + + + + + + + + + lot-first + + + + + + + + + + + + + + + + + + + + + lot-odd + + + + + + + + + + + + + + + + + + + + + lot-even + + + + + + + + + + + + + + + + + + + + + + front-first + + + + + + + + + + + + + + + + + + + + + front-odd + + + + + + + + + + + + + + + + + + + + + front-even + + + + + + + + + + + + + + + + + + + + + + + + + body-first + + + + + + + + + + + + + + + + + + + + + body-odd + + + + + + + + + + + + + + + + + + + + + body-even + + + + + + + + + + + + + + + + + + + + + + back-first + + + + + + + + + + + + + + + + + + + + + back-odd + + + + + + + + + + + + + + + + + + + + + back-even + + + + + + + + + + + + + + + + + + + + + + index-first + + + + + + + + + + + + + + + + + + + + + index-odd + + + + + + + + + + + + + + + + + + + + + index-even + + + + + + + + + + + + + + + + + + + + + + + blank-draft + + + + + + + + + + fixed + no-repeat + center + center + + + + + + + + + + + + + + + + + + + + titlepage-first-draft + + + + + + + + + + fixed + no-repeat + center + center + + + + + + + + + + + + + + + + + + + titlepage-odd-draft + + + + + + + + + + fixed + no-repeat + center + center + + + + + + + + + + + + + + + + + + + titlepage-even-draft + + + + + + + + + + fixed + no-repeat + center + center + + + + + + + + + + + + + + + + + + + + lot-first-draft + + + + + + + + + + fixed + no-repeat + center + center + + + + + + + + + + + + + + + + + + + lot-odd-draft + + + + + + + + + + fixed + no-repeat + center + center + + + + + + + + + + + + + + + + + + + lot-even-draft + + + + + + + + + + fixed + no-repeat + center + center + + + + + + + + + + + + + + + + + + + + front-first-draft + + + + + + + + + + fixed + no-repeat + center + center + + + + + + + + + + + + + + + + + + + front-odd-draft + + + + + + + + + + fixed + no-repeat + center + center + + + + + + + + + + + + + + + + + + + front-even-draft + + + + + + + + + + fixed + no-repeat + center + center + + + + + + + + + + + + + + + + + + + + body-first-draft + + + + + + + + + + fixed + no-repeat + center + center + + + + + + + + + + + + + + + + + + + body-odd-draft + + + + + + + + + + fixed + no-repeat + center + center + + + + + + + + + + + + + + + + + + + body-even-draft + + + + + + + + + + fixed + no-repeat + center + center + + + + + + + + + + + + + + + + + + + + back-first-draft + + + + + + + + + + fixed + no-repeat + center + center + + + + + + + + + + + + + + + + + + + back-odd-draft + + + + + + + + + + fixed + no-repeat + center + center + + + + + + + + + + + + + + + + + + + back-even-draft + + + + + + + + + + fixed + no-repeat + center + center + + + + + + + + + + + + + + + + + + + + index-first-draft + + + + + + + + + + fixed + no-repeat + center + center + + + + + + + + + + + + + + + + + + + index-odd-draft + + + + + + + + + + fixed + no-repeat + center + center + + + + + + + + + + + + + + + + + + + index-even-draft + + + + + + + + + + fixed + no-repeat + center + center + + + + + + + + + + + + + + + + + titlepage-even + titlepage-odd + + + + + + + + + + + + + + + + lot-even + lot-odd + + + + + + + + + + + + + + + + front-even + front-odd + + + + + + + + + + + + + + + + body-even + body-odd + + + + + + + + + + + + + + + + back-even + back-odd + + + + + + + + + + + + + + + + index-even + index-odd + + + + + + + + + + + + + + + + + titlepage-even-draft + titlepage-odd-draft + + + + + + + + + + + + + + + + lot-even-draft + lot-odd-draft + + + + + + + + + + + + + + + + front-even-draft + front-odd-draft + + + + + + + + + + + + + + + + body-even-draft + body-odd-draft + + + + + + + + + + + + + + + + back-even-draft + back-odd-draft + + + + + + + + + + + + + + + + index-even-draft + index-odd-draft + + + + + + + + + + + + + + + + + + + + + + + + + + + + lot + front + front + front + back + back + back + index + back + body + + + + + -draft + + + + + + -draft + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0.5pt + solid + black + + + + + + + + + + 0.5pt + solid + black + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0pt + + + + + + 1 + 1 + 3 + + + + + + 3 + 3 + 1 + + + + + + + + + + + + + + proportional-column-width( + + header + + + ) + + + + + proportional-column-width( + + header + + + ) + + + + + proportional-column-width( + + header + + + ) + + + + + + + + + + + baseline + + + + + + + + + + + + + baseline + + + + + + + + + + + + + baseline + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Error: value in .column.widths at position is not a number. + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0pt + + + + + + 1 + 1 + 3 + + + + + + 3 + 3 + 1 + + + + + + + + + + + + + proportional-column-width( + + footer + + + ) + + + + + proportional-column-width( + + footer + + + ) + + + + + proportional-column-width( + + footer + + + ) + + + + + + + + + + + baseline + + + + + + + + + + + + + baseline + + + + + + + + + + + + + baseline + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + i + i + i + i + 1 + + + + + + + + + + + + + + auto-odd + 1 + + + auto-odd + 1 + 1 + auto-odd + + + + + + + auto + 1 + auto + 1 + 1 + auto + + + + + + + + + + + + end-on-even + + no-force + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/fo/param.xml b/doc/help/xslt/fo/param.xml new file mode 100644 index 00000000..d179d360 --- /dev/null +++ b/doc/help/xslt/fo/param.xml @@ -0,0 +1,12445 @@ + + + +FO Parameter Reference + +$Id: param.xweb 8543 2009-12-02 06:05:24Z bobstayton $ + + + + Walsh + Norman + + + + 1999 + 2000 + 2001 + 2002 + 2003 + 2004 + 2005 + 2006 + 2007 + Norman Walsh + + + This is reference documentation for all user-configurable + parameters in the DocBook XSL FO stylesheets (for generating + XSL-FO output destined for final print/PDF output). + + +Admonitions + + +admon.graphics +boolean + + +admon.graphics +Use graphics in admonitions? + + + + +<xsl:param name="admon.graphics" select="0"></xsl:param> + + + +Description + +If true (non-zero), admonitions are presented in an alternate style that uses +a graphic. Default graphics are provided in the distribution. + + + + + + + +admon.graphics.extension +string + + +admon.graphics.extension +Filename extension for admonition graphics + + + + +<xsl:param name="admon.graphics.extension">.png</xsl:param> + + + +Description + +Sets the filename extension to use on admonition graphics. + + + + + + +admon.graphics.path +string + + +admon.graphics.path +Path to admonition graphics + + + +<xsl:param name="admon.graphics.path">images/</xsl:param> + + +Description + +Sets the path to the directory containing the admonition graphics +(caution.png, important.png etc). This location is normally relative +to the output html directory. See base.dir + + + + + + +admon.textlabel +boolean + + +admon.textlabel +Use text label in admonitions? + + + + +<xsl:param name="admon.textlabel" select="1"></xsl:param> + + + +Description + +If true (non-zero), admonitions are presented with a generated +text label such as Note or Warning in the appropriate language. +If zero, such labels are turned off, but any title child +of the admonition element are still output. +The default value is 1. + + + + + + + + + admonition.title.properties + attribute set + + +admonition.title.properties +To set the style for admonitions titles. + + + + +<xsl:attribute-set name="admonition.title.properties"> + <xsl:attribute name="font-size">14pt</xsl:attribute> + <xsl:attribute name="font-weight">bold</xsl:attribute> + <xsl:attribute name="hyphenate">false</xsl:attribute> + <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute> +</xsl:attribute-set> + + +Description +How do you want admonitions titles styled? +Set the font-size, weight etc to the style required. + + + + + + + admonition.properties + attribute set + + +admonition.properties +To set the style for admonitions. + + + +<xsl:attribute-set name="admonition.properties"></xsl:attribute-set> + + +Description +How do you want admonitions styled? +Set the font-size, weight, etc. to the style required + + + + + + +graphical.admonition.properties +attribute set + + +graphical.admonition.properties +To add properties to the outer block of a graphical admonition. + + + +<xsl:attribute-set name="graphical.admonition.properties"> + <xsl:attribute name="space-before.optimum">1em</xsl:attribute> + <xsl:attribute name="space-before.minimum">0.8em</xsl:attribute> + <xsl:attribute name="space-before.maximum">1.2em</xsl:attribute> + <xsl:attribute name="space-after.optimum">1em</xsl:attribute> + <xsl:attribute name="space-after.minimum">0.8em</xsl:attribute> + <xsl:attribute name="space-after.maximum">1.2em</xsl:attribute> +</xsl:attribute-set> + + +Description +These properties are added to the outer block containing the +entire graphical admonition, including its title. +It is used when the parameter +admon.graphics is set to nonzero. +Use this attribute-set to set the space above and below, +and any indent for the whole admonition. + +In addition to these properties, a graphical admonition +also applies the admonition.title.properties +attribute-set to the title, and applies the +admonition.properties attribute-set +to the rest of the content. + + + + + + +nongraphical.admonition.properties +attribute set + + +nongraphical.admonition.properties +To add properties to the outer block of a nongraphical admonition. + + + +<xsl:attribute-set name="nongraphical.admonition.properties"> + <xsl:attribute name="space-before.minimum">0.8em</xsl:attribute> + <xsl:attribute name="space-before.optimum">1em</xsl:attribute> + <xsl:attribute name="space-before.maximum">1.2em</xsl:attribute> + <xsl:attribute name="margin-{$direction.align.start}">0.25in</xsl:attribute> + <xsl:attribute name="margin-{$direction.align.end}">0.25in</xsl:attribute> +</xsl:attribute-set> + + +Description +These properties are added to the outer block containing the +entire nongraphical admonition, including its title. +It is used when the parameter +admon.graphics is set to zero. +Use this attribute-set to set the space above and below, +and any indent for the whole admonition. + +In addition to these properties, a nongraphical admonition +also applies the admonition.title.properties +attribute-set to the title, and the +admonition.properties attribute-set +to the rest of the content. + + + + + +Callouts + + +callout.defaultcolumn +integer + + +callout.defaultcolumn +Indicates what column callouts appear in by default + + + + +<xsl:param name="callout.defaultcolumn">60</xsl:param> + + + +Description + +If a callout does not identify a column (for example, if it uses +the linerange unit), +it will appear in the default column. + + + + + + + +callout.graphics +boolean + + +callout.graphics +Use graphics for callouts? + + + + +<xsl:param name="callout.graphics" select="1"></xsl:param> + + + +Description + +If non-zero, callouts are presented with graphics (e.g., reverse-video +circled numbers instead of "(1)", "(2)", etc.). +Default graphics are provided in the distribution. + + + + + + + +callout.graphics.extension +string + + +callout.graphics.extension +Filename extension for callout graphics + + + + + +<xsl:param name="callout.graphics.extension">.svg</xsl:param> + + + +Description +Sets the filename extension to use on callout graphics. + + +The Docbook XSL distribution provides callout graphics in the following formats: +SVG (extension: .svg) +PNG (extension: .png) +GIF (extension: .gif) + + + + + + +callout.graphics.number.limit +integer + + +callout.graphics.number.limit +Number of the largest callout graphic + + + + + +<xsl:param name="callout.graphics.number.limit">30</xsl:param> + + + +Description + +If callout.graphics is non-zero, graphics +are used to represent callout numbers instead of plain text. The value +of callout.graphics.number.limit is the largest +number for which a graphic exists. If the callout number exceeds this +limit, the default presentation "(plain text instead of a graphic)" +will be used. + + + + + + + +callout.graphics.path +string + + +callout.graphics.path +Path to callout graphics + + + + +<xsl:param name="callout.graphics.path">images/callouts/</xsl:param> + + + +Description + +Sets the path to the directory holding the callout graphics. his +location is normally relative to the output html directory. see +base.dir. Always terminate the directory with / since the graphic file +is appended to this string, hence needs the separator. + + + + + + + +callout.icon.size +length + + +callout.icon.size +Specifies the size of callout marker icons + + + + +<xsl:param name="callout.icon.size">7pt</xsl:param> + + + +Description + +Specifies the size of the callout marker icons. +The default size is 7 points. + + + + + + +callout.unicode +boolean + + +callout.unicode +Use Unicode characters rather than images for callouts. + + + +<xsl:param name="callout.unicode" select="0"></xsl:param> + + +Description + +The stylesheets can use either an image of the numbers one to ten, or the single Unicode character which represents the numeral, in white on a black background. Use this to select the Unicode character option. + + + + + + + +callout.unicode.font +string + + +callout.unicode.font +Specify a font for Unicode glyphs + + + + +<xsl:param name="callout.unicode.font">ZapfDingbats</xsl:param> + + + +Description + +The name of the font to specify around Unicode callout glyphs. +If set to the empty string, no font change will occur. + + + + + + + +callout.unicode.number.limit +integer + + +callout.unicode.number.limit +Number of the largest unicode callout character + + + + +<xsl:param name="callout.unicode.number.limit">10</xsl:param> + + + +Description + +If callout.unicode +is non-zero, unicode characters are used to represent +callout numbers. The value of +callout.unicode.number.limit +is +the largest number for which a unicode character exists. If the callout number +exceeds this limit, the default presentation "(nnn)" will always +be used. + + + + + + + +callout.unicode.start.character +integer + + +callout.unicode.start.character +First Unicode character to use, decimal value. + + + + +<xsl:param name="callout.unicode.start.character">10102</xsl:param> + + + +Description + +If callout.graphics is zero and callout.unicode +is non-zero, unicode characters are used to represent +callout numbers. The value of +callout.unicode.start.character +is the decimal unicode value used for callout number one. Currently, +only 10102 is supported in the stylesheets for this parameter. + + + + + + + +callouts.extension +boolean + + +callouts.extension +Enable the callout extension + + + + +<xsl:param name="callouts.extension" select="1"></xsl:param> + + + +Description + +The callouts extension processes areaset +elements in programlistingco and other text-based +callout elements. + + + + + + +ToC/LoT/Index Generation + + +autotoc.label.separator +string + + +autotoc.label.separator +Separator between labels and titles in the ToC + + + + +<xsl:param name="autotoc.label.separator">. </xsl:param> + + + +Description + +String used to separate labels and titles in a table of contents. + + + + + + +process.empty.source.toc +boolean + + +process.empty.source.toc +Generate automated TOC if toc element occurs in a source document? + + + +<xsl:param name="process.empty.source.toc" select="0"></xsl:param> + + +Description + +Specifies that if an empty toc element is found in a +source document, an automated TOC is generated at this point in the +document. + + Depending on what the value of the + generate.toc parameter is, setting this + parameter to 1 could result in generation of + duplicate automated TOCs. So the + process.empty.source.toc is primarily useful + as an "override": by placing an empty toc in your + document and setting this parameter to 1, you can + force a TOC to be generated even if generate.toc + says not to. + + + + + + + + +process.source.toc +boolean + + +process.source.toc +Process a non-empty toc element if it occurs in a source document? + + + +<xsl:param name="process.source.toc" select="0"></xsl:param> + + +Description + +Specifies that the contents of a non-empty "hard-coded" +toc element in a source document are processed to +generate a TOC in output. + + This parameter has no effect on automated generation of + TOCs. An automated TOC may still be generated along with the + "hard-coded" TOC. To suppress automated TOC generation, adjust the + value of the generate.toc paramameter. + + The process.source.toc parameter also has + no effect if the toc element is empty; handling + for empty toc is controlled by the + process.empty.source.toc parameter. + + + + + + + + +generate.toc +table + + +generate.toc +Control generation of ToCs and LoTs + + + + + +<xsl:param name="generate.toc"> +/appendix toc,title +article/appendix nop +/article toc,title +book toc,title,figure,table,example,equation +/chapter toc,title +part toc,title +/preface toc,title +reference toc,title +/sect1 toc +/sect2 toc +/sect3 toc +/sect4 toc +/sect5 toc +/section toc +set toc,title +</xsl:param> + + + +Description + +This parameter has a structured value. It is a table of space-delimited +path/value pairs. Each path identifies some element in the source document +using a restricted subset of XPath (only the implicit child axis, no wildcards, +no predicates). Paths can be either relative or absolute. + +When processing a particular element, the stylesheets consult this table to +determine if a ToC (or LoT(s)) should be generated. + +For example, consider the entry: + +book toc,figure + +This indicates that whenever a book is formatted, a +Table Of Contents and a List of Figures should be generated. Similarly, + +/chapter toc + +indicates that whenever a document that has a root +of chapter is formatted, a Table of +Contents should be generated. The entry chapter would match +all chapters, but /chapter matches only chapter +document elements. + +Generally, the longest match wins. So, for example, if you want to distinguish +articles in books from articles in parts, you could use these two entries: + +book/article toc,figure +part/article toc + +Note that an article in a part can never match a book/article, +so if you want nothing to be generated for articles in parts, you can simply leave +that rule out. + +If you want to leave the rule in, to make it explicit that you're turning +something off, use the value nop. For example, the following +entry disables ToCs and LoTs for articles: + +article nop + +Do not simply leave the word article in the file +without a matching value. That'd be just begging the silly little +path/value parser to get confused. + +Section ToCs are further controlled by the +generate.section.toc.level parameter. +For a given section level to have a ToC, it must have both an entry in +generate.toc and be within the range enabled by +generate.section.toc.level. + + + + + +generate.index +boolean + + +generate.index +Do you want an index? + + + +<xsl:param name="generate.index" select="1"></xsl:param> + + +Description + +Specify if an index should be generated. + + + + + + +make.index.markup +boolean + + +make.index.markup +Generate XML index markup in the index? + + + + +<xsl:param name="make.index.markup" select="0"></xsl:param> + + + +Description + +This parameter enables a very neat trick for getting properly +merged, collated back-of-the-book indexes. G. Ken Holman suggested +this trick at Extreme Markup Languages 2002 and I'm indebted to him +for it. + +Jeni Tennison's excellent code in +autoidx.xsl does a great job of merging and +sorting indexterms in the document and building a +back-of-the-book index. However, there's one thing that it cannot +reasonably be expected to do: merge page numbers into ranges. (I would +not have thought that it could collate and suppress duplicate page +numbers, but in fact it appears to manage that task somehow.) + +Ken's trick is to produce a document in which the index at the +back of the book is displayed in XML. Because the index +is generated by the FO processor, all of the page numbers have been resolved. +It's a bit hard to explain, but what it boils down to is that instead of having +an index at the back of the book that looks like this: + +
+A +ap1, 1, 2, 3 + +
+ +you get one that looks like this: + +
+<indexdiv>A</indexdiv> +<indexentry> +<primaryie>ap1</primaryie>, +<phrase role="pageno">1</phrase>, +<phrase role="pageno">2</phrase>, +<phrase role="pageno">3</phrase> +</indexentry> +
+ +After building a PDF file with this sort of odd-looking index, you can +extract the text from the PDF file and the result is a proper index expressed in +XML. + +Now you have data that's amenable to processing and a simple Perl script +(such as fo/pdf2index) can +merge page ranges and generate a proper index. + +Finally, reformat your original document using this literal index instead of +an automatically generated one and bingo! + +
+
+ + + +index.method +list +basic +kosek +kimber + + +index.method +Select method used to group index entries in an index + + + + +<xsl:param name="index.method">basic</xsl:param> + + + +Description + +This parameter lets you select which method to use for sorting and grouping + index entries in an index. +Indexes in Latin-based languages that have accented characters typically +sort together accented words and unaccented words. +Thus Á (U+00C1 LATIN CAPITAL LETTER A WITH ACUTE) would sort together +with A (U+0041 LATIN CAPITAL LETTER A), so both would appear in the A +section of the index. +Languages using other alphabets (such as Russian, which is written in the Cyrillic alphabet) +and languages using ideographic chararacters (such as Japanese) +require grouping specific to the languages and alphabets. + + +The default indexing method is limited. +It can group accented characters in Latin-based languages only. +It cannot handle non-Latin alphabets or ideographic languages. +The other indexing methods require extensions of one type or +another, and do not work with +all XSLT processors, which is why they are not used by default. + +The three choices for indexing method are: + + +basic + + +(default) Sort and groups words based only on the Latin alphabet. +Words with accented Latin letters will group and sort with +their respective primary letter, but +words in non-Latin alphabets will be +put in the Symbols section of the index. + + + + +kosek + + +This method sorts and groups words based on letter groups configured in +the DocBook locale file for the given language. +See, for example, the French locale file common/fr.xml. +This method requires that the XSLT processor +supports the EXSLT extensions (most do). +It also requires support for using +user-defined functions in xsl:key (xsltproc does not). + +This method is suitable for any language for which you can +list all the individual characters that should appear +in each letter group in an index. +It is probably not practical to use it for ideographic languages +such as Chinese that have hundreds or thousands of characters. + + +To use the kosek method, you must: + + + +Use a processor that supports its extensions, such as +Saxon 6 or Xalan (xsltproc and Saxon 8 do not). + + + +Set the index.method parameter's value to kosek. + + + +Import the appropriate index extensions stylesheet module +fo/autoidx-kosek.xsl or +html/autoidx-kosek.xsl into your +customization. + + + + + + + +kimber + + +This method uses extensions to the Saxon processor to implement +sophisticated indexing processes. It uses its own +configuration file, which can include information for any number of +languages. Each language's configuration can group +words using one of two processes. In the +enumerated process similar to that used in the kosek method, +you indicate the groupings character-by-character. +In the between-key process, you specify the +break-points in the sort order that should start a new group. +The latter configuration is useful for ideographic languages +such as Chinese, Japanese, and Korean. +You can also define your own collation algorithms and how you +want mixed Latin-alphabet words sorted. + + +For a whitepaper describing the extensions, see: +http://www.innodata-isogen.com/knowledge_center/white_papers/back_of_book_for_xsl_fo.pdf. + + + +To download the extension library, see +http://www.innodata-isogen.com/knowledge_center/tools_downloads/i18nsupport. + + + + +To use the kimber method, you must: + + + +Use Saxon (version 6 or 8) as your XSLT processor. + + + +Install and configure the Innodata Isogen library, using +the documentation that comes with it. + + + +Set the index.method parameter's value to kimber. + + + +Import the appropriate index extensions stylesheet module +fo/autoidx-kimber.xsl or +html/autoidx-kimber.xsl into your +customization. + + + + + + + + + + + + + +index.on.type +boolean + + +index.on.type +Select indexterms based on type +attribute value + + + + +<xsl:param name="index.on.type" select="0"></xsl:param> + + + +Description + + +If non-zero, +then an index element that has a +type attribute +value will contain only those indexterm +elements with a matching type attribute value. +If an index has no type +attribute or it is blank, then the index will contain +all indexterms in the current scope. + + + +If index.on.type is zero, then the +type attribute has no effect +on selecting indexterms for an index. + + +For those using DocBook version 4.2 or earlier, +the type attribute is not available +for index terms. However, you can achieve the same +effect by using the role attribute +in the same manner on indexterm +and index, and setting the stylesheet parameter +index.on.role to a nonzero value. + + + + + + + +index.on.role +boolean + + +index.on.role +Select indexterms based on role value + + + + +<xsl:param name="index.on.role" select="0"></xsl:param> + + + +Description + + +If non-zero, +then an index element that has a +role attribute +value will contain only those indexterm +elements with a matching role value. +If an index has no role +attribute or it is blank, then the index will contain +all indexterms in the current scope. + + +If index.on.role is zero, then the +role attribute has no effect +on selecting indexterms for an index. + + +If you are using DocBook version 4.3 or later, you should +use the type attribute instead of role +on indexterm and index, +and set the index.on.type to a nonzero +value. + + + + + + + +index.preferred.page.properties +attribute set + + +index.preferred.page.properties +Properties used to emphasize page number references for +significant index terms + + + + +<xsl:attribute-set name="index.preferred.page.properties"> + <xsl:attribute name="font-weight">bold</xsl:attribute> +</xsl:attribute-set> + + + +Description + +Properties used to emphasize page number references for +significant index terms (significance=preferred). Currently works only with +XEP. + + + + + + +index.entry.properties +attribute set + + +index.entry.properties +Properties applied to the formatted entries +in an index + + + + +<xsl:attribute-set name="index.entry.properties"> + <xsl:attribute name="start-indent">0pt</xsl:attribute> +</xsl:attribute-set> + + + +Description + +This attribute set is applied to the block containing +the entries in a letter division in an index. It can be used to set the +font-size, font-family, and other inheritable properties that will be +applied to all index entries. + + + + + + +index.div.title.properties +attribute set + + +index.div.title.properties +Properties associated with the letter headings in an +index + + + + +<xsl:attribute-set name="index.div.title.properties"> + <xsl:attribute name="margin-{$direction.align.start}">0pt</xsl:attribute> + <xsl:attribute name="font-size">14.4pt</xsl:attribute> + <xsl:attribute name="font-family"><xsl:value-of select="$title.fontset"></xsl:value-of></xsl:attribute> + <xsl:attribute name="font-weight">bold</xsl:attribute> + <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute> + <xsl:attribute name="space-before.optimum"><xsl:value-of select="concat($body.font.master,'pt')"></xsl:value-of></xsl:attribute> + <xsl:attribute name="space-before.minimum"><xsl:value-of select="concat($body.font.master,'pt * 0.8')"></xsl:value-of></xsl:attribute> + <xsl:attribute name="space-before.maximum"><xsl:value-of select="concat($body.font.master,'pt * 1.2')"></xsl:value-of></xsl:attribute> + <xsl:attribute name="start-indent">0pt</xsl:attribute> +</xsl:attribute-set> + + + +Description + +This attribute set is used on the letter headings that separate +the divisions in an index. + + + + + + +index.number.separator +string + + +index.number.separator +Override for punctuation separating page numbers in index + + + + +<xsl:param name="index.number.separator"></xsl:param> + + + +Description + +This parameter permits you to override the text to insert between +page references in a formatted index entry. Typically +that would be a comma and a space. + + +Because this text may be locale dependent, +this parameter's value is normally taken from a gentext +template named 'number-separator' in the +context 'index' in the stylesheet +locale file for the language +of the current document. +This parameter can be used to override the gentext string, +and would typically be used on the command line. +This parameter would apply to all languages. + + +So this text string can be customized in two ways. +You can reset the default gentext string using +the local.l10n.xml parameter, or you can +override the gentext with the content of this parameter. +The content can be a simple string, or it can be +something more complex such as a call-template. + + +In HTML index output, section title references are used instead of +page number references. This punctuation appears between +such section titles in an HTML index. + + + + + + + +index.range.separator +string + + +index.range.separator +Override for punctuation separating the two numbers +in a page range in index + + + + +<xsl:param name="index.range.separator"></xsl:param> + + + +Description + +This parameter permits you +to override the text to insert between +the two numbers of a page range in an index. +This parameter is only used by those XSL-FO processors +that support an extension for generating such page ranges +(such as XEP). + +Because this text may be locale dependent, +this parameter's value is normally taken from a gentext +template named 'range-separator' in the +context 'index' in the stylesheet +locale file for the language +of the current document. +This parameter can be used to override the gentext string, +and would typically be used on the command line. +This parameter would apply to all languages. + + +So this text string can be customized in two ways. +You can reset the default gentext string using +the local.l10n.xml parameter, or you can +override the gentext with the content of this parameter. +The content can be a simple string, or it can be +something more complex such as a call-template. + + +In HTML index output, section title references are used instead of +page number references. So there are no page ranges +and this parameter has no effect. + + + + + + + +index.term.separator +string + + +index.term.separator +Override for punctuation separating an index term +from its list of page references in an index + + + + +<xsl:param name="index.term.separator"></xsl:param> + + + +Description + +This parameter permits you to override +the text to insert between +the end of an index term and its list of page references. +Typically that might be a comma and a space. + + +Because this text may be locale dependent, +this parameter's value is normally taken from a gentext +template named 'term-separator' in the +context 'index' in the stylesheet +locale file for the language +of the current document. +This parameter can be used to override the gentext string, +and would typically be used on the command line. +This parameter would apply to all languages. + + +So this text string can be customized in two ways. +You can reset the default gentext string using +the local.l10n.xml parameter, or you can +fill in the content for this normally empty +override parameter. +The content can be a simple string, or it can be +something more complex such as a call-template. +For fo output, it could be an fo:leader +element to provide space of a specific length, or a dot leader. + + + + + + + +xep.index.item.properties +attribute set + + +xep.index.item.properties +Properties associated with XEP index-items + + + + +<xsl:attribute-set name="xep.index.item.properties" use-attribute-sets="index.page.number.properties"> + <xsl:attribute name="merge-subsequent-page-numbers">true</xsl:attribute> + <xsl:attribute name="link-back">true</xsl:attribute> +</xsl:attribute-set> + + + +Description + +Properties associated with XEP index-items, which generate +page numbers in an index processed by XEP. For more info see +the XEP documentation section "Indexes" in +http://www.renderx.com/reference.html#Indexes. + +This attribute-set also adds by default any properties from the +index.page.number.properties +attribute-set. + + + + + +toc.section.depth +integer + + +toc.section.depth +How deep should recursive sections appear +in the TOC? + + + +<xsl:param name="toc.section.depth">2</xsl:param> + + +Description + +Specifies the depth to which recursive sections should appear in the +TOC. + + + + + + + +toc.max.depth +integer + + +toc.max.depth +How many levels should be created for each TOC? + + + +<xsl:param name="toc.max.depth">8</xsl:param> + + +Description + +Specifies the maximal depth of TOC on all levels. + + + + + + +toc.indent.width +float + + +toc.indent.width +Amount of indentation for TOC entries + + + + +<xsl:param name="toc.indent.width">24</xsl:param> +<!-- inconsistant point specification? --> + + + +Description + +Specifies, in points, the distance by which each level of the +TOC is indented from its parent. + +This value is expressed in points, without +a unit (in other words, it is a bare number). Using a bare number allows the stylesheet +to perform calculations that would otherwise have to be performed by the FO processor +because not all processors support expressions. + + + + + + +toc.line.properties +attribute set + + +toc.line.properties +Properties for lines in ToCs and LoTs + + + + +<xsl:attribute-set name="toc.line.properties"> + <xsl:attribute name="text-align-last">justify</xsl:attribute> + <xsl:attribute name="text-align">start</xsl:attribute> + <xsl:attribute name="end-indent"><xsl:value-of select="concat($toc.indent.width, 'pt')"></xsl:value-of></xsl:attribute> + <xsl:attribute name="last-line-end-indent"><xsl:value-of select="concat('-', $toc.indent.width, 'pt')"></xsl:value-of></xsl:attribute> +</xsl:attribute-set> + + + +Description + +Properties which are applied to every line in ToC (or LoT). You can +modify them in order to change appearance of all, or some lines. For +example, in order to make lines for chapters bold, specify the +following in your customization layer: + +<xsl:attribute-set name="toc.line.properties"> + <xsl:attribute name="font-weight"> + <xsl:choose> + <xsl:when test="self::chapter">bold</xsl:when> + <xsl:otherwise>normal</xsl:otherwise> + </xsl:choose> + </xsl:attribute> +</xsl:attribute-set> + + + + + + +toc.margin.properties +attribute set + + +toc.margin.properties +Margin properties used on Tables of Contents + + + + +<xsl:attribute-set name="toc.margin.properties"> + <xsl:attribute name="space-before.minimum">0.5em</xsl:attribute> + <xsl:attribute name="space-before.optimum">1em</xsl:attribute> + <xsl:attribute name="space-before.maximum">2em</xsl:attribute> + <xsl:attribute name="space-after.minimum">0.5em</xsl:attribute> + <xsl:attribute name="space-after.optimum">1em</xsl:attribute> + <xsl:attribute name="space-after.maximum">2em</xsl:attribute> +</xsl:attribute-set> + + + +Description +This attribute set is used on Tables of Contents. These attributes are set +on the wrapper that surrounds the ToC block, not on each individual lines. + + + + + +bridgehead.in.toc +boolean + + +bridgehead.in.toc +Should bridgehead elements appear in the TOC? + + + +<xsl:param name="bridgehead.in.toc" select="0"></xsl:param> + + +Description + +If non-zero, bridgeheads appear in the TOC. Note that +this option is not fully supported and may be removed in a future +version of the stylesheets. + + + + + + + +simplesect.in.toc +boolean + + +simplesect.in.toc +Should simplesect elements appear in the TOC? + + + +<xsl:param name="simplesect.in.toc" select="0"></xsl:param> + + +Description + +If non-zero, simplesects will be included in the TOC. + + + + + + + +generate.section.toc.level +integer + + +generate.section.toc.level +Control depth of TOC generation in sections + + + + +<xsl:param name="generate.section.toc.level" select="0"></xsl:param> + + + +Description + +The generate.section.toc.level parameter +controls the depth of section in which TOCs will be generated. Note +that this is related to, but not the same as +toc.section.depth, which controls the depth to +which TOC entries will be generated in a given TOC. +If, for example, generate.section.toc.level +is 3, TOCs will be generated in first, second, and third +level sections, but not in fourth level sections. + + + + + + + + +
+Processor Extensions + + +arbortext.extensions +boolean + + +arbortext.extensions +Enable Arbortext extensions? + + + +<xsl:param name="arbortext.extensions" select="0"></xsl:param> + + +Description + +If non-zero, +Arbortext +extensions will be used. + +This parameter can also affect which graphics file formats +are supported + + + + + + +axf.extensions +boolean + + +axf.extensions +Enable XSL Formatter extensions? + + + + +<xsl:param name="axf.extensions" select="0"></xsl:param> + + + +Description + +If non-zero, +XSL Formatter +extensions will be used. XSL Formatter extensions consists of PDF bookmarks, +document information and better index processing. + +This parameter can also affect which graphics file formats +are supported + + + + + + +fop.extensions +boolean + + +fop.extensions +Enable extensions for FOP version 0.20.5 and earlier + + + +<xsl:param name="fop.extensions" select="0"></xsl:param> + + +Description + +If non-zero, extensions intended for +FOP +version 0.20.5 and earlier will be used. +At present, this consists of PDF bookmarks. + + +This parameter can also affect which graphics file formats +are supported. + +If you are using a version of FOP beyond +version 0.20.5, then use the fop1.extensions parameter +instead. + + + + + + +fop1.extensions +boolean + + +fop1.extensions +Enable extensions for FOP version 0.90 and later + + + +<xsl:param name="fop1.extensions" select="0"></xsl:param> + + +Description + +If non-zero, extensions for +FOP +version 0.90 and later will be used. + + +This parameter can also affect which graphics file formats +are supported. + +The original fop.extensions parameter +should still be used for FOP version 0.20.5 and earlier. + + + + + + +passivetex.extensions +boolean + + +passivetex.extensions +Enable PassiveTeX extensions? + + + +<xsl:param name="passivetex.extensions" select="0"></xsl:param> + + +Description + +If non-zero, +PassiveTeX +extensions will be used. At present, this consists of PDF bookmarks +and sorted index terms. + + +This parameter can also affect which graphics file formats +are supported + + + PassiveTeX is incomplete and development has ceased. In most cases, +another XSL-FO engine is probably a better choice. + + + + + + + +tex.math.in.alt +list +plain +latex + + +tex.math.in.alt +TeX notation used for equations + + + + +<xsl:param name="tex.math.in.alt"></xsl:param> + + + +Description + +If you want type math directly in TeX notation in equations, +this parameter specifies notation used. Currently are supported two +values -- plain and latex. Empty +value means that you are not using TeX math at all. + +Preferred way for including TeX alternative of math is inside of +textobject element. Eg.: + +<inlineequation> +<inlinemediaobject> +<imageobject> +<imagedata fileref="eq1.gif"/> +</imageobject> +<textobject><phrase>E=mc squared</phrase></textobject> +<textobject role="tex"><phrase>E=mc^2</phrase></textobject> +</inlinemediaobject> +</inlineequation> + +If you are using graphic element, you can +store TeX inside alt element: + +<inlineequation> +<alt role="tex">a^2+b^2=c^2</alt> +<graphic fileref="a2b2c2.gif"/> +</inlineequation> + +If you want use this feature, you should process your FO with +PassiveTeX, which only supports TeX math notation. When calling +stylsheet, don't forget to specify also +passivetex.extensions=1. + +If you want equations in HTML, just process generated file +tex-math-equations.tex by TeX or LaTeX. Then run +dvi2bitmap program on result DVI file. You will get images for +equations in your document. + + + This feature is useful for print/PDF output only if you + use the obsolete and now unsupported PassiveTeX XSL-FO + engine. + + + + +Related Parameters + tex.math.delims, + passivetex.extensions, + tex.math.file + + + + + + +tex.math.delims +boolean + + +tex.math.delims +Should equations output for processing by TeX be +surrounded by math mode delimiters? + + + + +<xsl:param name="tex.math.delims" select="1"></xsl:param> + + + +Description + +For compatibility with DSSSL based DBTeXMath from Allin Cottrell +you should set this parameter to 0. + + + This feature is useful for print/PDF output only if you + use the obsolete and now unsupported PassiveTeX XSL-FO + engine. + + + +Related Parameters + tex.math.in.alt, + passivetex.extensions + + +See Also + You can also use the dbtex delims processing + instruction to control whether delimiters are output. + + + + + + + +xep.extensions +boolean + + +xep.extensions +Enable XEP extensions? + + + +<xsl:param name="xep.extensions" select="0"></xsl:param> + + +Description + +If non-zero, +XEP +extensions will be used. XEP extensions consists of PDF bookmarks, +document information and better index processing. + + +This parameter can also affect which graphics file formats +are supported + + + + +Stylesheet Extensions + + +linenumbering.everyNth +integer + + +linenumbering.everyNth +Indicate which lines should be numbered + + + + +<xsl:param name="linenumbering.everyNth">5</xsl:param> + + + +Description + +If line numbering is enabled, everyNth line will be +numbered. Note that numbering is one based, not zero based. + + + + + + + +linenumbering.extension +boolean + + +linenumbering.extension +Enable the line numbering extension + + + + +<xsl:param name="linenumbering.extension" select="1"></xsl:param> + + + +Description + +If non-zero, verbatim environments (address, literallayout, +programlisting, screen, synopsis) that specify line numbering will +have line numbers. + + + + + + + +linenumbering.separator +string + + +linenumbering.separator +Specify a separator between line numbers and lines + + + + +<xsl:param name="linenumbering.separator"><xsl:text> </xsl:text></xsl:param> + + + +Description + +The separator is inserted between line numbers and lines in the +verbatim environment. The default value is a single white space. + Note the interaction with linenumbering.width + + + + + + + +linenumbering.width +integer + + +linenumbering.width +Indicates the width of line numbers + + + + +<xsl:param name="linenumbering.width">3</xsl:param> + + + +Description + +If line numbering is enabled, line numbers will appear right +justified in a field "width" characters wide. + + + + + + + +tablecolumns.extension +boolean + + +tablecolumns.extension +Enable the table columns extension function + + + + +<xsl:param name="tablecolumns.extension" select="1"></xsl:param> + + + +Description + +The table columns extension function adjusts the widths of table +columns in the HTML result to more accurately reflect the specifications +in the CALS table. + + + + + + + + textinsert.extension + boolean + + + textinsert.extension + Enables the textinsert extension element + + + + <xsl:param name="textinsert.extension" select="1"></xsl:param> + + + Description + The textinsert extension element inserts the contents of + a file into the result tree (as text). + + To use the textinsert extension element, you must use + either Saxon or Xalan as your XSLT processor (it doesn’t + work with xsltproc), along with either the DocBook Saxon + extensions or DocBook Xalan extensions (for more + information about those extensions, see DocBook Saxon Extensions and DocBook Xalan Extensions), and you must set both + the use.extensions and + textinsert.extension parameters to + 1. + As an alternative to using the textinsert element, + consider using an Xinclude element with the + parse="text" attribute and value + specified, as detailed in Using XInclude for text inclusions. + + + See Also + You can also use the dbhtml-include href processing + instruction to insert external files — both files containing + plain text and files with markup content (including HTML + content). + + More information + For how-to documentation on inserting contents of + external code files and other text files into output, see + External code files. + For guidelines on inserting contents of + HTML files into output, see Inserting external HTML code. + + + + + +textdata.default.encoding +string + + +textdata.default.encoding +Default encoding of external text files which are included +using textdata element + + + + +<xsl:param name="textdata.default.encoding"></xsl:param> + + + +Description + +Specifies the encoding of any external text files included using +textdata element. This value is used only when you do +not specify encoding by the appropriate attribute +directly on textdata. An empty string is interpreted as the system +default encoding. + + + + + + +use.extensions +boolean + + +use.extensions +Enable extensions + + + + +<xsl:param name="use.extensions" select="0"></xsl:param> + + + +Description + +If non-zero, extensions may be used. Each extension is +further controlled by its own parameter. But if +use.extensions is zero, no extensions will +be used. + + + + + + +Automatic labelling + + +appendix.autolabel +list +0none +11,2,3... +AA,B,C... +aa,b,c... +ii,ii,iii... +II,II,III... + + +appendix.autolabel +Specifies the labeling format for Appendix titles + + + + +<xsl:param name="appendix.autolabel">A</xsl:param> + + + +Description + +If non-zero, then appendices will be numbered using the +parameter value as the number format if the value matches one of the +following: + + + + + 1 or arabic + + Arabic numeration (1, 2, 3 ...). + + + + A or upperalpha + + Uppercase letter numeration (A, B, C ...). + + + + a or loweralpha + + Lowercase letter numeration (a, b, c ...). + + + + I or upperroman + + Uppercase roman numeration (I, II, III ...). + + + + i or lowerroman + + Lowercase roman letter numeration (i, ii, iii ...). + + + + +Any nonzero value other than the above will generate +the default number format (upperalpha). + + + + + + + +chapter.autolabel +list +0none +11,2,3... +AA,B,C... +aa,b,c... +ii,ii,iii... +II,II,III... + + +chapter.autolabel +Specifies the labeling format for Chapter titles + + + + +<xsl:param name="chapter.autolabel" select="1"></xsl:param> + + +Description + +If non-zero, then chapters will be numbered using the parameter +value as the number format if the value matches one of the following: + + + + + 1 or arabic + + Arabic numeration (1, 2, 3 ...). + + + + A or upperalpha + + Uppercase letter numeration (A, B, C ...). + + + + a or loweralpha + + Lowercase letter numeration (a, b, c ...). + + + + I or upperroman + + Uppercase roman numeration (I, II, III ...). + + + + i or lowerroman + + Lowercase roman letter numeration (i, ii, iii ...). + + + + +Any nonzero value other than the above will generate +the default number format (arabic). + + + + + + + +part.autolabel +list +0none +11,2,3... +AA,B,C... +aa,b,c... +ii,ii,iii... +II,II,III... + + +part.autolabel +Specifies the labeling format for Part titles + + + + +<xsl:param name="part.autolabel">I</xsl:param> + + + +Description + +If non-zero, then parts will be numbered using the parameter +value as the number format if the value matches one of the following: + + + + + 1 or arabic + + Arabic numeration (1, 2, 3 ...). + + + + A or upperalpha + + Uppercase letter numeration (A, B, C ...). + + + + a or loweralpha + + Lowercase letter numeration (a, b, c ...). + + + + I or upperroman + + Uppercase roman numeration (I, II, III ...). + + + + i or lowerroman + + Lowercase roman letter numeration (i, ii, iii ...). + + + + +Any nonzero value other than the above will generate +the default number format (upperroman). + + + + + + + + +reference.autolabel +list +0none +11,2,3... +AA,B,C... +aa,b,c... +ii,ii,iii... +II,II,III... + + +reference.autolabel +Specifies the labeling format for Reference titles + + + + <xsl:param name="reference.autolabel">I</xsl:param> + + +Description +If non-zero, references will be numbered using the parameter + value as the number format if the value matches one of the + following: + + + + 1 or arabic + + Arabic numeration (1, 2, 3 ...). + + + + A or upperalpha + + Uppercase letter numeration (A, B, C ...). + + + + a or loweralpha + + Lowercase letter numeration (a, b, c ...). + + + + I or upperroman + + Uppercase roman numeration (I, II, III ...). + + + + i or lowerroman + + Lowercase roman letter numeration (i, ii, iii ...). + + + +Any non-zero value other than the above will generate +the default number format (upperroman). + + + + + + +preface.autolabel +list +0none +11,2,3... +AA,B,C... +aa,b,c... +ii,ii,iii... +II,II,III... + + +preface.autolabel +Specifices the labeling format for Preface titles + + + +<xsl:param name="preface.autolabel" select="0"></xsl:param> + + +Description + +If non-zero then prefaces will be numbered using the parameter +value as the number format if the value matches one of the following: + + + + + 1 or arabic + + Arabic numeration (1, 2, 3 ...). + + + + A or upperalpha + + Uppercase letter numeration (A, B, C ...). + + + + a or loweralpha + + Lowercase letter numeration (a, b, c ...). + + + + I or upperroman + + Uppercase roman numeration (I, II, III ...). + + + + i or lowerroman + + Lowercase roman letter numeration (i, ii, iii ...). + + + + +Any nonzero value other than the above will generate +the default number format (arabic). + + + + + + + + +section.autolabel +boolean + + +section.autolabel +Are sections enumerated? + + + +<xsl:param name="section.autolabel" select="0"></xsl:param> + + +Description + +If true (non-zero), unlabeled sections will be enumerated. + + + + + + + +section.autolabel.max.depth +integer + + +section.autolabel.max.depth +The deepest level of sections that are numbered. + + + + +<xsl:param name="section.autolabel.max.depth">8</xsl:param> + + + +Description + +When section numbering is turned on by the +section.autolabel parameter, then this +parameter controls the depth of section nesting that is +numbered. Sections nested to a level deeper than this value will not +be numbered. + + + + + + + +section.label.includes.component.label +boolean + + +section.label.includes.component.label +Do section labels include the component label? + + + +<xsl:param name="section.label.includes.component.label" select="0"></xsl:param> + + +Description + +If non-zero, section labels are prefixed with the label of the +component that contains them. + + + + + + + +label.from.part +boolean + + +label.from.part +Renumber components in each part? + + + + +<xsl:param name="label.from.part" select="0"></xsl:param> + + + +Description + +If label.from.part is non-zero, then + numbering of components — preface, + chapter, appendix, and + reference (when reference occurs at the + component level) — is re-started within each + part. +If label.from.part is zero (the + default), numbering of components is not + re-started within each part; instead, components are + numbered sequentially throughout each book, + regardless of whether or not they occur within part + instances. + + + + + + +component.label.includes.part.label +boolean + + +component.label.includes.part.label +Do component labels include the part label? + + + +<xsl:param name="component.label.includes.part.label" select="0"></xsl:param> + + +Description + +If non-zero, number labels for chapter, +appendix, and other component elements are prefixed with +the label of the part element that contains them. So you might see +Chapter II.3 instead of Chapter 3. Also, the labels for formal +elements such as table and figure will include +the part label. If there is no part element container, then no prefix +is generated. + + +This feature is most useful when the +label.from.part parameter is turned on. +In that case, there would be more than one chapter +1, and the extra part label prefix will identify +each chapter unambiguously. + + + + + + +XSLT Processing + + +rootid +string + + +rootid +Specify the root element to format + + + + +<xsl:param name="rootid"></xsl:param> + + +Description + +If rootid is not empty, it must be the +value of an ID that occurs in the document being formatted. The entire +document will be loaded and parsed, but formatting will begin at the +element identified, rather than at the root. For example, this allows +you to process only chapter 4 of a book. +Because the entire document is available to the processor, automatic +numbering, cross references, and other dependencies are correctly +resolved. + + + + + +Meta/*Info + + +make.single.year.ranges +boolean + + +make.single.year.ranges +Print single-year ranges (e.g., 1998-1999) + + + + +<xsl:param name="make.single.year.ranges" select="0"></xsl:param> + + +Description + +If non-zero, year ranges that span a single year will be printed +in range notation (1998-1999) instead of discrete notation +(1998, 1999). + + + + + + +make.year.ranges +boolean + + +make.year.ranges +Collate copyright years into ranges? + + + +<xsl:param name="make.year.ranges" select="0"></xsl:param> + + +Description + +If non-zero, multiple copyright year elements will be +collated into ranges. +This works only if each year number is put into a separate +year element. The copyright element permits multiple +year elements. If a year element contains a dash or +a comma, then that year element will not be merged into +any range. + + + + + + + +author.othername.in.middle +boolean + + +author.othername.in.middle +Is othername in author a +middle name? + + + + +<xsl:param name="author.othername.in.middle" select="1"></xsl:param> + + +Description + +If non-zero, the othername of an author +appears between the firstname and +surname. Otherwise, othername +is suppressed. + + + + + + +Reference Pages + + +funcsynopsis.decoration +boolean + + +funcsynopsis.decoration +Decorate elements of a funcsynopsis? + + + + +<xsl:param name="funcsynopsis.decoration" select="1"></xsl:param> + + + +Description + +If non-zero, elements of the funcsynopsis will be +decorated (e.g. rendered as bold or italic text). The decoration is controlled by +templates that can be redefined in a customization layer. + + + + + + + +funcsynopsis.style +list +ansi +kr + + +funcsynopsis.style +What style of funcsynopsis should be generated? + + + +<xsl:param name="funcsynopsis.style">kr</xsl:param> + + +Description + +If funcsynopsis.style is ansi, +ANSI-style function synopses are generated for a +funcsynopsis, otherwise K&R-style +function synopses are generated. + + + + + + + +function.parens +boolean + + +function.parens +Generate parens after a function? + + + + +<xsl:param name="function.parens" select="0"></xsl:param> + + + +Description + +If non-zero, the formatting of a function element +will include generated parentheses. + + + + + + + +refentry.generate.name +boolean + + +refentry.generate.name +Output NAME header before refnames? + + + + +<xsl:param name="refentry.generate.name" select="1"></xsl:param> + + + +Description + +If non-zero, a "NAME" section title is output before the list +of refnames. This parameter and +refentry.generate.title are mutually +exclusive. This means that if you change this parameter to zero, you +should set refentry.generate.title to non-zero unless +you want get quite strange output. + + + + + + + +refentry.generate.title +boolean + + +refentry.generate.title +Output title before refnames? + + + + +<xsl:param name="refentry.generate.title" select="0"></xsl:param> + + + +Description + +If non-zero, the reference page title or first name is +output before the list of refnames. This parameter and +refentry.generate.name are mutually exclusive. +This means that if you change this parameter to non-zero, you +should set refentry.generate.name to zero unless +you want get quite strange output. + + + + + + + +refentry.pagebreak +boolean + + +refentry.pagebreak +Start each refentry on a new page + + + +<xsl:param name="refentry.pagebreak" select="1"></xsl:param> + + +Description + +If non-zero (the default), each refentry +element will start on a new page. If zero, a page +break will not be generated between refentry elements. +The exception is when the refentry elements are children of +a part element, in which case the page breaks are always +retained. That is because a part element does not generate +a page-sequence for its children, so each refentry must +start its own page-sequence. + + + + + + + +refentry.title.properties +attribute set + + +refentry.title.properties +Title properties for a refentry title + + + + +<xsl:attribute-set name="refentry.title.properties"> + <xsl:attribute name="font-family"> + <xsl:value-of select="$title.font.family"></xsl:value-of> + </xsl:attribute> + <xsl:attribute name="font-size">18pt</xsl:attribute> + <xsl:attribute name="font-weight">bold</xsl:attribute> + <xsl:attribute name="space-after">1em</xsl:attribute> + <xsl:attribute name="hyphenate">false</xsl:attribute> + <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute> + <xsl:attribute name="space-before.minimum">0.8em</xsl:attribute> + <xsl:attribute name="space-before.optimum">1.0em</xsl:attribute> + <xsl:attribute name="space-before.maximum">1.2em</xsl:attribute> + <xsl:attribute name="space-after.optimum">0.5em</xsl:attribute> + <xsl:attribute name="space-after.minimum">0.4em</xsl:attribute> + <xsl:attribute name="space-after.maximum">0.6em</xsl:attribute> + <xsl:attribute name="start-indent"><xsl:value-of select="$title.margin.left"></xsl:value-of></xsl:attribute> +</xsl:attribute-set> + + + +Description + +Formatting properties applied to the title generated for the +refnamediv part of output for +refentry when the value of the +refentry.generate.title parameter is +non-zero. The font size is supplied by the appropriate section.levelX.title.properties +attribute-set, computed from the location of the +refentry in the section hierarchy. + + + This parameter has no effect on the the title generated for + the refnamediv part of output for + refentry when the value of the + refentry.generate.name parameter is + non-zero. By default, that title is formatted with the same + properties as the titles for all other first-level children of + refentry. + + + + + + + +refentry.xref.manvolnum +boolean + + +refentry.xref.manvolnum +Output manvolnum as part of +refentry cross-reference? + + + + +<xsl:param name="refentry.xref.manvolnum" select="1"></xsl:param> + + + +Description + +if non-zero, the manvolnum is used when cross-referencing +refentrys, either with xref +or citerefentry. + + + + + + + +refclass.suppress +boolean + + +refclass.suppress +Suppress display of refclass contents? + + + + +<xsl:param name="refclass.suppress" select="0"></xsl:param> + + +Description + +If the value of refclass.suppress is +non-zero, then display of refclass contents is +suppressed in output. + + + + + +Tables + + +default.table.width +length + + +default.table.width +The default width of tables + + + +<xsl:param name="default.table.width"></xsl:param> + + +Description +If non-zero, this value will be used for the +width attribute on tables that do not specify an +alternate width (with the dbhtml table-width or +dbfo table-width processing instruction). + + + + + +nominal.table.width +length + + +nominal.table.width +The (absolute) nominal width of tables + + + + +<xsl:param name="nominal.table.width">6in</xsl:param> + + + +Description + +In order to convert CALS column widths into HTML column widths, it +is sometimes necessary to have an absolute table width to use for conversion +of mixed absolute and relative widths. This value must be an absolute +length (not a percentage). + + + + + + +default.table.frame +string + + +default.table.frame +The default framing of tables + + + + +<xsl:param name="default.table.frame">all</xsl:param> + + + +Description + +This value will be used when there is no frame attribute on the +table. + + + + + + +default.table.rules +string + + +default.table.rules +The default column and row rules for tables using HTML markup + + + + +<xsl:param name="default.table.rules">none</xsl:param> + + + +Description + +Tables using HTML markup elements can use an attribute +named rules on the table or +informaltable element +to specify whether column and row border rules should be +displayed. This parameter lets you specify a global default +style for all HTML tables that don't otherwise have +that attribute. +These are the supported values: + + +all + +Rules will appear between all rows and columns. + + + +rows + +Rules will appear between rows only. + + + +cols + +Rules will appear between columns only. + + + +groups + +Rules will appear between row groups (thead, tfoot, tbody). +No support for rules between column groups yet. + + + + +none + +No rules. This is the default value. + + + + + + +The border after the last row and the border after +the last column are not affected by +this setting. Those borders are controlled by +the frame attribute on the table element. + + + + + + + +table.cell.padding +attribute set + + +table.cell.padding +Specifies the padding of table cells + + + + +<xsl:attribute-set name="table.cell.padding"> + <xsl:attribute name="padding-start">2pt</xsl:attribute> + <xsl:attribute name="padding-end">2pt</xsl:attribute> + <xsl:attribute name="padding-top">2pt</xsl:attribute> + <xsl:attribute name="padding-bottom">2pt</xsl:attribute> +</xsl:attribute-set> + + + +Description + +Specifies the padding of table cells. + + + + + + +table.frame.border.thickness +length + + +table.frame.border.thickness +Specifies the thickness of the frame border + + + + +<xsl:param name="table.frame.border.thickness">0.5pt</xsl:param> + + + +Description + +Specifies the thickness of the border on the table's frame. + + + + + + +table.frame.border.style +list +none +solid +dotted +dashed +double +groove +ridge +inset +outset +solid + + +table.frame.border.style +Specifies the border style of table frames + + + + +<xsl:param name="table.frame.border.style">solid</xsl:param> + + + +Description + +Specifies the border style of table frames. + + + + + + +table.frame.border.color +color + + +table.frame.border.color +Specifies the border color of table frames + + + + + +<xsl:param name="table.frame.border.color">black</xsl:param> + + + +Description + +Specifies the border color of table frames. + + + + + + +table.cell.border.thickness +length + + +table.cell.border.thickness +Specifies the thickness of table cell borders + + + + +<xsl:param name="table.cell.border.thickness">0.5pt</xsl:param> + + + +Description + +If non-zero, specifies the thickness of borders on table +cells. The units are points. See +CSS + + + To control properties of cell borders in HTML output, you must also turn on the + table.borders.with.css parameter. + + + + + + + +table.cell.border.style +list +none +solid +dotted +dashed +double +groove +ridge +inset +outset +solid + + +table.cell.border.style +Specifies the border style of table cells + + + + +<xsl:param name="table.cell.border.style">solid</xsl:param> + + + +Description + +Specifies the border style of table cells. + + + To control properties of cell borders in HTML output, you must also turn on the + table.borders.with.css parameter. + + + + + + + +table.cell.border.color +color + + +table.cell.border.color +Specifies the border color of table cells + + + + + +<xsl:param name="table.cell.border.color">black</xsl:param> + + + +Description + +Set the color of table cell borders. If non-zero, the value is used +for the border coloration. See CSS. A +color is either a keyword or a numerical RGB specification. +Keywords are aqua, black, blue, fuchsia, gray, green, lime, maroon, +navy, olive, orange, purple, red, silver, teal, white, and +yellow. + + + To control properties of cell borders in HTML output, you must also turn on the + table.borders.with.css parameter. + + + + + + + +table.table.properties +attribute set + + +table.table.properties +Properties associated with a table + + + + +<xsl:attribute-set name="table.table.properties"> + <xsl:attribute name="border-before-width.conditionality">retain</xsl:attribute> + <xsl:attribute name="border-collapse">collapse</xsl:attribute> +</xsl:attribute-set> + + + +Description + +The styling for tables. This parameter should really +have been called table.properties, but that parameter +name was inadvertently established for the block-level properties +of the table as a whole. + + +See also table.properties. + + + + + +Linking + + +current.docid +string + + +current.docid +targetdoc identifier for the document being +processed + + +<xsl:param name="current.docid"></xsl:param> + + +Description + +When olinks between documents are resolved for HTML output, the stylesheet can compute the relative path between the current document and the target document. The stylesheet needs to know the targetdoc identifiers for both documents, as they appear in the target.database.document database file. This parameter passes to the stylesheet +the targetdoc identifier of the current document, since that +identifier does not appear in the document itself. +This parameter can also be used for print output. If an olink's targetdoc id differs from the current.docid, then the stylesheet can append the target document's title to the generated olink text. That identifies to the reader that the link is to a different document, not the current document. See also olink.doctitle to enable that feature. + + + + + +collect.xref.targets +list +no +yes +only + + +collect.xref.targets +Controls whether cross reference data is +collected + + +<xsl:param name="collect.xref.targets">no</xsl:param> + + +Description + + +In order to resolve olinks efficiently, the stylesheets can +generate an external data file containing information about +all potential cross reference endpoints in a document. +This parameter determines whether the collection process is run when the document is processed by the stylesheet. The default value is no, which means the data file is not generated during processing. The other choices are yes, which means the data file is created and the document is processed for output, and only, which means the data file is created but the document is not processed for output. +See also targets.filename. + + + + + + +insert.olink.page.number +list +no +yes +maybe + + +insert.olink.page.number +Turns page numbers in olinks on and off + + + + +<xsl:param name="insert.olink.page.number">no</xsl:param> + + + +Description + +The value of this parameter determines if +cross references made between documents with +olink will +include page number citations. +In most cases this is only applicable to references in printed output. + +The parameter has three possible values. + + + +no +No page number references will be generated for olinks. + + + +yes +Page number references will be generated +for all olink references. +The style of page reference may be changed +if an xrefstyle +attribute is used. + + + +maybe +Page number references will not be generated +for an olink element unless +it has an +xrefstyle +attribute whose value specifies a page reference. + + + +Olinks that point to targets within the same document +are treated as xrefs, and controlled by +the insert.xref.page.number parameter. + + +Page number references for olinks to +external documents can only be inserted if the +information exists in the olink database. +This means each olink target element +(div or obj) +must have a page attribute +whose value is its page number in the target document. +The XSL stylesheets are not able to extract that information +during processing because pages have not yet been created in +XSLT transformation. Only the XSL-FO processor knows what +page each element is placed on. +Therefore some postprocessing must take place to populate +page numbers in the olink database. + + + + + + + + + +insert.olink.pdf.frag +boolean + + +insert.olink.pdf.frag +Add fragment identifiers for links into PDF files + + + + +<xsl:param name="insert.olink.pdf.frag" select="0"></xsl:param> + + + +Description + +The value of this parameter determines whether +the cross reference URIs to PDF documents made with +olink will +include fragment identifiers. + + +When forming a URI to link to a PDF document, +a fragment identifier (typically a '#' followed by an +id value) appended to the PDF filename can be used by +the PDF viewer to open +the PDF file to a location within the document instead of +the first page. +However, not all PDF files have id +values embedded in them, and not all PDF viewers can +handle fragment identifiers. + + +If insert.olink.pdf.frag is set +to a non-zero value, then any olink targeting a +PDF file will have the fragment identifier appended to the URI. +The URI is formed by concatenating the value of the +olink.base.uri parameter, the +value of the baseuri +attribute from the document +element in the olink database with the matching +targetdoc value, +and the value of the href +attribute for the targeted element in the olink database. +The href attribute +contains the fragment identifier. + + +If insert.olink.pdf.frag is set +to zero (the default value), then +the href attribute +from the olink database +is not appended to PDF olinks, so the fragment identifier is left off. +A PDF olink is any olink for which the +baseuri attribute +from the matching document +element in the olink database ends with '.pdf'. +Any other olinks will still have the fragment identifier added. + + + + + + +olink.base.uri +uri + + +olink.base.uri +Base URI used in olink hrefs + + +<xsl:param name="olink.base.uri"></xsl:param> + + +Description + +When cross reference data is collected for resolving olinks, it +may be necessary to prepend a base URI to each target's href. This +parameter lets you set that base URI when cross reference data is +collected. This feature is needed when you want to link to a document +that is processed without chunking. The output filename for such a +document is not known to the XSL stylesheet; the only target +information consists of fragment identifiers such as +#idref. To enable the resolution of olinks between +documents, you should pass the name of the HTML output file as the +value of this parameter. Then the hrefs recorded in the cross +reference data collection look like +outfile.html#idref, which can be reached as links +from other documents. + + + + + +olink.debug +boolean + + +olink.debug +Turn on debugging messages for olinks + + + + +<xsl:param name="olink.debug" select="0"></xsl:param> + + + +Description + +If non-zero, then each olink will generate several +messages about how it is being resolved during processing. +This is useful when an olink does not resolve properly +and the standard error messages are not sufficient to +find the problem. + + +You may need to read through the olink XSL templates +to understand the context for some of the debug messages. + + + + + + + +olink.doctitle +list +no +yes +maybe + + +olink.doctitle +show the document title for external olinks? + + + +<xsl:param name="olink.doctitle">no</xsl:param> + + +Description + +When olinks between documents are resolved, the generated text +may not make it clear that the reference is to another document. +It is possible for the stylesheets to append the other document's +title to external olinks. For this to happen, two parameters must +be set. + + +This olink.doctitle parameter +should be set to either yes or maybe +to enable this feature. + + + +And you should also set the current.docid +parameter to the document id for the document currently +being processed for output. + + + + + +Then if an olink's targetdoc id differs from +the current.docid value, the stylesheet knows +that it is a reference to another document and can +append the target document's +title to the generated olink text. + +The text for the target document's title is copied from the +olink database from the ttl element +of the top-level div for that document. +If that ttl element is missing or empty, +no title is output. + + +The supported values for olink.doctitle are: + + + +yes + + +Always insert the title to the target document if it is not +the current document. + + + + +no + + +Never insert the title to the target document, even if requested +in an xrefstyle attribute. + + + + +maybe + + +Only insert the title to the target document, if requested +in an xrefstyle attribute. + + + + +An xrefstyle attribute +may override the global setting for individual olinks. +The following values are supported in an +xrefstyle +attribute using the select: syntax: + + + + +docname + + +Insert the target document name for this olink using the +docname gentext template, but only +if the value of olink.doctitle +is not no. + + + + +docnamelong + + +Insert the target document name for this olink using the +docnamelong gentext template, but only +if the value of olink.doctitle +is not no. + + + + +nodocname + + +Omit the target document name even if +the value of olink.doctitle +is yes. + + + + +Another way of inserting the target document name +for a single olink is to employ an +xrefstyle +attribute using the template: syntax. +The %o placeholder (the letter o, not zero) +in such a template +will be filled in with the target document's title when it is processed. +This will occur regardless of +the value of olink.doctitle. + +Note that prior to version 1.66 of the XSL stylesheets, +the allowed values for this parameter were 0 and 1. Those +values are still supported and mapped to 'no' and 'yes', respectively. + + + + + + +olink.lang.fallback.sequence +string + + +olink.lang.fallback.sequence +look up translated documents if olink not found? + + + +<xsl:param name="olink.lang.fallback.sequence"></xsl:param> + + +Description + + +This parameter defines a list of lang values +to search among to resolve olinks. + + +Normally an olink tries to resolve to a document in the same +language as the olink itself. The language of an olink +is determined by its nearest ancestor element with a +lang attribute, otherwise the +value of the l10n.gentext.default.lang +parameter. + + +An olink database can contain target data for the same +document in multiple languages. Each set of data has the +same value for the targetdoc attribute in +the document element in the database, but with a +different lang attribute value. + + +When an olink is being resolved, the target is first +sought in the document with the same language as the olink. +If no match is found there, then this parameter is consulted +for additional languages to try. + +The olink.lang.fallback.sequence +must be a whitespace separated list of lang values to +try. The first one with a match in the olink database is used. +The default value is empty. + +For example, a document might be written in German +and contain an olink with +targetdoc="adminguide". +When the document is processed, the processor +first looks for a target dataset in the +olink database starting with: + +<document targetdoc="adminguide" lang="de">. + + +If there is no such element, then the +olink.lang.fallback.sequence +parameter is consulted. +If its value is, for example, fr en, then the processor next +looks for targetdoc="adminguide" lang="fr", and +then for targetdoc="adminguide" lang="en". +If there is still no match, it looks for +targetdoc="adminguide" with no +lang attribute. + + +This parameter is useful when a set of documents is only +partially translated, or is in the process of being translated. +If a target of an olink has not yet been translated, then this +parameter permits the processor to look for the document in +other languages. This assumes the reader would rather have +a link to a document in a different language than to have +a broken link. + + + + + + + +olink.properties +attribute set + + +olink.properties +Properties associated with the cross-reference +text of an olink. + + + + +<xsl:attribute-set name="olink.properties"> + <xsl:attribute name="show-destination">replace</xsl:attribute> +</xsl:attribute-set> + + + +Description + +This attribute set is applied to the +fo:basic-link element of an olink. It is not applied to the +optional page number or optional title of the external +document. + + + + + + +prefer.internal.olink +boolean + + +prefer.internal.olink +Prefer a local olink reference to an external reference + + + + +<xsl:param name="prefer.internal.olink" select="0"></xsl:param> + + + +Description + +If you are re-using XML content modules in multiple documents, +you may want to redirect some of your olinks. This parameter +permits you to redirect an olink to the current document. + + +For example: you are writing documentation for a product, +which includes 3 manuals: a little installation +booklet (booklet.xml), a user +guide (user.xml), and a reference manual (reference.xml). +All 3 documents begin with the same introduction section (intro.xml) that +contains a reference to the customization section (custom.xml) which is +included in both user.xml and reference.xml documents. + + +How do you write the link to custom.xml in intro.xml +so that it is interpreted correctly in all 3 documents? + +If you use xref, it will fail in user.xml. + +If you use olink (pointing to reference.xml), +the reference in user.xml +will point to the customization section of the reference manual, while it is +actually available in user.xml. + + + +If you set the prefer.internal.olink +parameter to a non-zero value, then the processor will +first look in the olink database +for the olink's targetptr attribute value +in document matching the current.docid +parameter value. If it isn't found there, then +it tries the document in the database +with the targetdoc +value that matches the olink's targetdoc +attribute. + + +This feature permits an olink reference to resolve to +the current document if there is an element +with an id matching the olink's targetptr +value. The current document's olink data must be +included in the target database for this to work. + + +There is a potential for incorrect links if +the same id attribute value is used for different +content in different documents. +Some of your olinks may be redirected to the current document +when they shouldn't be. It is not possible to control +individual olink instances. + + + + + + + +target.database.document +uri + + +target.database.document +Name of master database file for resolving +olinks + + + + <xsl:param name="target.database.document">olinkdb.xml</xsl:param> + + +Description + + +To resolve olinks between documents, the stylesheets use a master +database document that identifies the target datafiles for all the +documents within the scope of the olinks. This parameter value is the +URI of the master document to be read during processing to resolve +olinks. The default value is olinkdb.xml. + +The data structure of the file is defined in the +targetdatabase.dtd DTD. The database file +provides the high level elements to record the identifiers, locations, +and relationships of documents. The cross reference data for +individual documents is generally pulled into the database using +system entity references or XIncludes. See also +targets.filename. + + + + +targets.filename +string + + +targets.filename +Name of cross reference targets data file + + +<xsl:param name="targets.filename">target.db</xsl:param> + + +Description + + +In order to resolve olinks efficiently, the stylesheets can +generate an external data file containing information about +all potential cross reference endpoints in a document. +This parameter lets you change the name of the generated +file from the default name target.db. +The name must agree with that used in the target database +used to resolve olinks during processing. +See also target.database.document. + + + + + + +use.local.olink.style +boolean + + +use.local.olink.style +Process olinks using xref style of current +document + + +<xsl:param name="use.local.olink.style" select="0"></xsl:param> + +Description + +When cross reference data is collected for use by olinks, the data for each potential target includes one field containing a completely assembled cross reference string, as if it were an xref generated in that document. Other fields record the separate title, number, and element name of each target. When an olink is formed to a target from another document, the olink resolves to that preassembled string by default. If the use.local.olink.style parameter is set to non-zero, then instead the cross +reference string is formed again from the target title, number, and +element name, using the stylesheet processing the targeting document. +Then olinks will match the xref style in the targeting document +rather than in the target document. If both documents are processed +with the same stylesheet, then the results will be the same. + + + + +Cross References + + +insert.xref.page.number +list +no +yes +maybe + + +insert.xref.page.number +Turns page numbers in xrefs on and off + + + + +<xsl:param name="insert.xref.page.number">no</xsl:param> + + + +Description + +The value of this parameter determines if +cross references (xrefs) in +printed output will +include page number citations. +It has three possible values. + + + +no +No page number references will be generated. + + + +yes +Page number references will be generated +for all xref elements. +The style of page reference may be changed +if an xrefstyle +attribute is used. + + + +maybe +Page number references will not be generated +for an xref element unless +it has an +xrefstyle +attribute whose value specifies a page reference. + + + + + + + + + +xref.properties +attribute set + + +xref.properties +Properties associated with cross-reference text + + + + +<xsl:attribute-set name="xref.properties"> +</xsl:attribute-set> + + + +Description + +This attribute set is used to set properties +on cross reference text. + + + + + + +xref.label-title.separator +string + + +xref.label-title.separator +Punctuation or space separating label from title in xref + + + +<xsl:param name="xref.label-title.separator">: </xsl:param> + + +Description + + +This parameter allows you to control the punctuation of certain +types of generated cross reference text. +When cross reference text is generated for an +xref or +olink element +using an xrefstyle attribute +that makes use of the select: feature, +and the selected components include both label and title, +then the value of this parameter is inserted between +label and title in the output. + + + + + + + +xref.label-page.separator +string + + +xref.label-page.separator +Punctuation or space separating label from page number in xref + + + +<xsl:param name="xref.label-page.separator"><xsl:text> </xsl:text></xsl:param> + + +Description + + +This parameter allows you to control the punctuation of certain +types of generated cross reference text. +When cross reference text is generated for an +xref or +olink element +using an xrefstyle attribute +that makes use of the select: feature, +and the selected components include both label and page +but no title, +then the value of this parameter is inserted between +label and page number in the output. +If a title is included, then other separators are used. + + + + + + + +xref.title-page.separator +string + + +xref.title-page.separator +Punctuation or space separating title from page number in xref + + + +<xsl:param name="xref.title-page.separator"><xsl:text> </xsl:text></xsl:param> + + +Description + + +This parameter allows you to control the punctuation of certain +types of generated cross reference text. +When cross reference text is generated for an +xref or +olink element +using an xrefstyle attribute +that makes use of the select: feature, +and the selected components include both title and page number, +then the value of this parameter is inserted between +title and page number in the output. + + + + + + + +insert.link.page.number +list +no +yes +maybe + + +insert.link.page.number +Turns page numbers in link elements on and off + + + + +<xsl:param name="insert.link.page.number">no</xsl:param> + + + +Description + +The value of this parameter determines if +cross references using the link element in +printed output will +include standard page number citations. +It has three possible values. + + + +no +No page number references will be generated. + + + +yes +Page number references will be generated +for all link elements. +The style of page reference may be changed +if an xrefstyle +attribute is used. + + + +maybe +Page number references will not be generated +for a link element unless +it has an +xrefstyle +attribute whose value specifies a page reference. + + + + +Although the xrefstyle attribute +can be used to turn the page reference on or off, it cannot be +used to control the formatting of the page number as it +can in xref. +In link it will always format with +the style established by the +gentext template with name="page.citation" +in the l:context name="xref". + + + + + +Lists + + +compact.list.item.spacing +attribute set + + +compact.list.item.spacing +What space do you want between list items (when spacing="compact")? + + + +<xsl:attribute-set name="compact.list.item.spacing"> + <xsl:attribute name="space-before.optimum">0em</xsl:attribute> + <xsl:attribute name="space-before.minimum">0em</xsl:attribute> + <xsl:attribute name="space-before.maximum">0.2em</xsl:attribute> +</xsl:attribute-set> + +Description +Specify what spacing you want between each list item when +spacing is +compact. + + + + + +itemizedlist.properties +attribute set + + +itemizedlist.properties +Properties that apply to each list-block generated by itemizedlist. + + + +<xsl:attribute-set name="itemizedlist.properties" use-attribute-sets="list.block.properties"> +</xsl:attribute-set> + +Description +Properties that apply to each fo:list-block generated by itemizedlist. + + + + + +itemizedlist.label.properties +attribute set + + +itemizedlist.label.properties +Properties that apply to each label inside itemized list. + + + +<xsl:attribute-set name="itemizedlist.label.properties"> +</xsl:attribute-set> + +Description +Properties that apply to each label inside itemized list. E.g.: +<xsl:attribute-set name="itemizedlist.label.properties"> + <xsl:attribute name="text-align">right</xsl:attribute> +</xsl:attribute-set> + + + + + +itemizedlist.label.width +length + + + itemizedlist.label.width +The default width of the label (bullet) in an itemized list. + + + + + <xsl:param name="itemizedlist.label.width">1.0em</xsl:param> + + + +Description +Specifies the default width of the label (usually a bullet or other +symbol) in an itemized list. You can override the default value on any +particular list with the “dbfo” processing instruction using the +“label-width” pseudoattribute. + + + + + +list.block.properties +attribute set + + +list.block.properties +Properties that apply to each list-block generated by list. + + + +<xsl:attribute-set name="list.block.properties"> + <xsl:attribute name="provisional-label-separation">0.2em</xsl:attribute> + <xsl:attribute name="provisional-distance-between-starts">1.5em</xsl:attribute> +</xsl:attribute-set> + +Description +Properties that apply to each fo:list-block generated by itemizedlist/orderedlist. + + + + + +list.block.spacing +attribute set + + +list.block.spacing +What spacing do you want before and after lists? + + + +<xsl:attribute-set name="list.block.spacing"> + <xsl:attribute name="space-before.optimum">1em</xsl:attribute> + <xsl:attribute name="space-before.minimum">0.8em</xsl:attribute> + <xsl:attribute name="space-before.maximum">1.2em</xsl:attribute> + <xsl:attribute name="space-after.optimum">1em</xsl:attribute> + <xsl:attribute name="space-after.minimum">0.8em</xsl:attribute> + <xsl:attribute name="space-after.maximum">1.2em</xsl:attribute> +</xsl:attribute-set> + +Description +Specify the spacing required before and after a list. It is necessary to specify the space after a list block because lists can come inside of paras. + + + + + +list.item.spacing +attribute set + + +list.item.spacing +What space do you want between list items? + + + +<xsl:attribute-set name="list.item.spacing"> + <xsl:attribute name="space-before.optimum">1em</xsl:attribute> + <xsl:attribute name="space-before.minimum">0.8em</xsl:attribute> + <xsl:attribute name="space-before.maximum">1.2em</xsl:attribute> +</xsl:attribute-set> + +Description +Specify what spacing you want between each list item. + + + + + +orderedlist.properties +attribute set + + +orderedlist.properties +Properties that apply to each list-block generated by orderedlist. + + + +<xsl:attribute-set name="orderedlist.properties" use-attribute-sets="list.block.properties"> + <xsl:attribute name="provisional-distance-between-starts">2em</xsl:attribute> +</xsl:attribute-set> + +Description +Properties that apply to each fo:list-block generated by orderedlist. + + + + + +orderedlist.label.properties +attribute set + + +orderedlist.label.properties +Properties that apply to each label inside ordered list. + + + +<xsl:attribute-set name="orderedlist.label.properties"> +</xsl:attribute-set> + +Description +Properties that apply to each label inside ordered list. E.g.: +<xsl:attribute-set name="orderedlist.label.properties"> + <xsl:attribute name="text-align">right</xsl:attribute> +</xsl:attribute-set> + + + + + +orderedlist.label.width +length + + +orderedlist.label.width +The default width of the label (number) in an ordered list. + + + + +<xsl:param name="orderedlist.label.width">1.2em</xsl:param> + + + +Description +Specifies the default width of the label (usually a number or +sequence of numbers) in an ordered list. You can override the default +value on any particular list with the “dbfo” processing instruction +using the “label-width” pseudoattribute. + + + + + +variablelist.max.termlength +number + + +variablelist.max.termlength +Specifies the longest term in variablelists + + + + +<xsl:param name="variablelist.max.termlength">24</xsl:param> + + + +Description + +In variablelists, the listitem +is indented to leave room for the +term elements. That indent may be computed +if it is not specified with a termlength +attribute on the variablelist element. + + +The computation counts characters in the +term elements in the list +to find the longest term. However, some terms are very long +and would produce extreme indents. This parameter lets you +set a maximum character count. Any terms longer than the maximum +would line wrap. The default value is 24. + + +The character counts are converted to physical widths +by multiplying by 0.50em. There will be some variability +in how many actual characters fit in the space +since some characters are wider than others. + + + + + + + +variablelist.term.separator +string + + +variablelist.term.separator +Text to separate terms within a multi-term +varlistentry + + + + +<xsl:param name="variablelist.term.separator">, </xsl:param> + + +Description + +When a varlistentry contains multiple term +elements, the string specified in the value of the +variablelist.term.separator parameter is placed +after each term except the last. + + + To generate a line break between multiple terms in + a varlistentry, set a non-zero value for the + variablelist.term.break.after parameter. If + you do so, you may also want to set the value of the + variablelist.term.separator parameter to an + empty string (to suppress rendering of the default comma and space + after each term). + + + + + + + +variablelist.term.properties +attribute set + + +variablelist.term.properties +To add properties to the term elements in a variablelist. + + + + +<xsl:attribute-set name="variablelist.term.properties"> +</xsl:attribute-set> + + +Description +These properties are added to the block containing a +term in a variablelist. +Use this attribute-set to set +font properties or alignment, for example. + + + + + + +variablelist.term.break.after +boolean + + +variablelist.term.break.after +Generate line break after each term within a +multi-term varlistentry? + + + + +<xsl:param name="variablelist.term.break.after">0</xsl:param> + + +Description + +Set a non-zero value for the +variablelist.term.break.after parameter to +generate a line break between terms in a +multi-term varlistentry. + + +If you set a non-zero value for +variablelist.term.break.after, you may also +want to set the value of the +variablelist.term.separator parameter to an +empty string (to suppress rendering of the default comma and space +after each term). + + + + + + +QAndASet + + +qandadiv.autolabel +boolean + + +qandadiv.autolabel +Are divisions in QAndASets enumerated? + + + +<xsl:param name="qandadiv.autolabel" select="1"></xsl:param> + + +Description + +If non-zero, unlabeled qandadivs will be enumerated. + + + + + + + +qanda.inherit.numeration +boolean + + +qanda.inherit.numeration +Does enumeration of QandASet components inherit the numeration of parent elements? + + + + +<xsl:param name="qanda.inherit.numeration" select="1"></xsl:param> + + + +Description + +If non-zero, numbered qandadiv elements and +question and answer inherit the enumeration of +the ancestors of the qandaset. + + + + + + + +qanda.defaultlabel +list +number +qanda +none + + +qanda.defaultlabel +Sets the default for defaultlabel on QandASet. + + + + +<xsl:param name="qanda.defaultlabel">number</xsl:param> + + + +Description + +If no defaultlabel attribute is specified on +a qandaset, this value is used. It is generally one of the legal +values for the defaultlabel attribute (none, +number or +qanda), or one of the additional stylesheet-specific values +(qnumber or qnumberanda). +The default value is 'number'. + +The values are rendered as follows: + +qanda + +questions are labeled "Q:" and +answers are labeled "A:". + + + +number + +The questions are enumerated and the answers +are not labeled. + + + +qnumber + +The questions are labeled "Q:" followed by a number, and answers are not +labeled. +When sections are numbered, adding a label +to the number distinguishes the question numbers +from the section numbers. +This value is not allowed in the +defaultlabel attribute +of a qandaset element. + + + +qnumberanda + +The questions are labeled "Q:" followed by a number, and +the answers are labeled "A:". +When sections are numbered, adding a label +to the number distinguishes the question numbers +from the section numbers. +This value is not allowed in the +defaultlabel attribute +of a qandaset element. + + + +none + +No distinguishing label precedes Questions or Answers. + + + + + + + + + + +qanda.in.toc +boolean + + +qanda.in.toc +Should qandaentry questions appear in +the document table of contents? + + + +<xsl:param name="qanda.in.toc" select="0"></xsl:param> + + +Description + +If true (non-zero), then the generated table of contents +for a document will include qandaset titles, +qandadiv titles, +and question elements. The default value (zero) excludes +them from the TOC. + +This parameter does not affect any tables of contents +that may be generated inside a qandaset or qandadiv. + + + + + + + +qanda.nested.in.toc +boolean + + +qanda.nested.in.toc +Should nested answer/qandaentry instances appear in TOC? + + + + +<xsl:param name="qanda.nested.in.toc" select="0"></xsl:param> + + + +Description + +If non-zero, instances of qandaentry +that are children of answer elements are shown in +the TOC. + + + + + +Bibliography + + +bibliography.style +list +normal +iso690 + + +bibliography.style +Style used for formatting of biblioentries. + + + + +<xsl:param name="bibliography.style">normal</xsl:param> + + + +Description + +Currently only normal and +iso690 styles are supported. + +In order to use ISO690 style to the full extent you might need +to use additional markup described on the +following WiKi page. + + + + + + +biblioentry.item.separator +string + + +biblioentry.item.separator +Text to separate bibliography entries + + + +<xsl:param name="biblioentry.item.separator">. </xsl:param> + + +Description + +Text to separate bibliography entries + + + + + + + +bibliography.collection +string + + +bibliography.collection +Name of the bibliography collection file + + + + +<xsl:param name="bibliography.collection">http://docbook.sourceforge.net/release/bibliography/bibliography.xml</xsl:param> + + + + +Description + +Maintaining bibliography entries across a set of documents is tedious, time +consuming, and error prone. It makes much more sense, usually, to store all of +the bibliography entries in a single place and simply extract +the ones you need in each document. + +That's the purpose of the +bibliography.collection parameter. To setup a global +bibliography database, follow these steps: + +First, create a stand-alone bibliography document that contains all of +the documents that you wish to reference. Make sure that each bibliography +entry (whether you use biblioentry or bibliomixed) +has an ID. + +My global bibliography, ~/bibliography.xml begins +like this: + + +<!DOCTYPE bibliography + PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" + "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"> +<bibliography><title>References</title> + +<bibliomixed id="xml-rec"><abbrev>XML 1.0</abbrev>Tim Bray, +Jean Paoli, C. M. Sperberg-McQueen, and Eve Maler, editors. +<citetitle><ulink url="http://www.w3.org/TR/REC-xml">Extensible Markup +Language (XML) 1.0 Second Edition</ulink></citetitle>. +World Wide Web Consortium, 2000. +</bibliomixed> + +<bibliomixed id="xml-names"><abbrev>Namespaces</abbrev>Tim Bray, +Dave Hollander, +and Andrew Layman, editors. +<citetitle><ulink url="http://www.w3.org/TR/REC-xml-names/">Namespaces in +XML</ulink></citetitle>. +World Wide Web Consortium, 1999. +</bibliomixed> + +<!-- ... --> +</bibliography> + + + +When you create a bibliography in your document, simply +provide empty bibliomixed +entries for each document that you wish to cite. Make sure that these +elements have the same ID as the corresponding real +entry in your global bibliography. + +For example: + + +<bibliography><title>Bibliography</title> + +<bibliomixed id="xml-rec"/> +<bibliomixed id="xml-names"/> +<bibliomixed id="DKnuth86">Donald E. Knuth. <citetitle>Computers and +Typesetting: Volume B, TeX: The Program</citetitle>. Addison-Wesley, +1986. ISBN 0-201-13437-3. +</bibliomixed> +<bibliomixed id="relaxng"/> + +</bibliography> + + +Note that it's perfectly acceptable to mix entries from your +global bibliography with normal entries. You can use +xref or other elements to cross-reference your +bibliography entries in exactly the same way you do now. + +Finally, when you are ready to format your document, simply set the +bibliography.collection parameter (in either a +customization layer or directly through your processor's interface) to +point to your global bibliography. + +The stylesheets will format the bibliography in your document as if +all of the entries referenced appeared there literally. + + + + + + +bibliography.numbered +boolean + + +bibliography.numbered +Should bibliography entries be numbered? + + + + +<xsl:param name="bibliography.numbered" select="0"></xsl:param> + + + +Description + +If non-zero bibliography entries will be numbered + + + + + + + biblioentry.properties + attribute set + + +biblioentry.properties +To set the style for biblioentry. + + + +<xsl:attribute-set name="biblioentry.properties" use-attribute-sets="normal.para.spacing"> + <xsl:attribute name="start-indent">0.5in</xsl:attribute> + <xsl:attribute name="text-indent">-0.5in</xsl:attribute> +</xsl:attribute-set> + + +Description +How do you want biblioentry styled? +Set the font-size, weight, space-above and space-below, indents, etc. to the style required + + + + + +Glossary + + +glossterm.auto.link +boolean + + +glossterm.auto.link +Generate links from glossterm to glossentry automatically? + + + + +<xsl:param name="glossterm.auto.link" select="0"></xsl:param> + + + +Description + +If non-zero, links from inline glossterms to the corresponding +glossentry elements in a glossary or glosslist +will be automatically generated. This is useful when your glossterms are consistent +and you don't want to add links manually. + +The automatic link generation feature is not used on glossterm elements +that have a linkend attribute. + + + + + + +firstterm.only.link +boolean + + +firstterm.only.link +Does automatic glossterm linking only apply to firstterms? + + + + +<xsl:param name="firstterm.only.link" select="0"></xsl:param> + + + +Description + +If non-zero, only firstterms will be automatically linked +to the glossary. If glossary linking is not enabled, this parameter +has no effect. + + + + + + +glossary.collection +string + + +glossary.collection +Name of the glossary collection file + + + + +<xsl:param name="glossary.collection"></xsl:param> + + + +Description + +Glossaries maintained independently across a set of documents +are likely to become inconsistent unless considerable effort is +expended to keep them in sync. It makes much more sense, usually, to +store all of the glossary entries in a single place and simply +extract the ones you need in each document. + +That's the purpose of the +glossary.collection parameter. To setup a global +glossary database, follow these steps: + +Setting Up the Glossary Database + +First, create a stand-alone glossary document that contains all of +the entries that you wish to reference. Make sure that each glossary +entry has an ID. + +Here's an example glossary: + + + +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE glossary + PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" + "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"> +<glossary> +<glossaryinfo> +<editor><firstname>Eric</firstname><surname>Raymond</surname></editor> +<title>Jargon File 4.2.3 (abridged)</title> +<releaseinfo>Just some test data</releaseinfo> +</glossaryinfo> + +<glossdiv><title>0</title> + +<glossentry> +<glossterm>0</glossterm> +<glossdef> +<para>Numeric zero, as opposed to the letter `O' (the 15th letter of +the English alphabet). In their unmodified forms they look a lot +alike, and various kluges invented to make them visually distinct have +compounded the confusion. If your zero is center-dotted and letter-O +is not, or if letter-O looks almost rectangular but zero looks more +like an American football stood on end (or the reverse), you're +probably looking at a modern character display (though the dotted zero +seems to have originated as an option on IBM 3270 controllers). If +your zero is slashed but letter-O is not, you're probably looking at +an old-style ASCII graphic set descended from the default typewheel on +the venerable ASR-33 Teletype (Scandinavians, for whom /O is a letter, +curse this arrangement). (Interestingly, the slashed zero long +predates computers; Florian Cajori's monumental "A History of +Mathematical Notations" notes that it was used in the twelfth and +thirteenth centuries.) If letter-O has a slash across it and the zero +does not, your display is tuned for a very old convention used at IBM +and a few other early mainframe makers (Scandinavians curse <emphasis>this</emphasis> +arrangement even more, because it means two of their letters collide). +Some Burroughs/Unisys equipment displays a zero with a <emphasis>reversed</emphasis> +slash. Old CDC computers rendered letter O as an unbroken oval and 0 +as an oval broken at upper right and lower left. And yet another +convention common on early line printers left zero unornamented but +added a tail or hook to the letter-O so that it resembled an inverted +Q or cursive capital letter-O (this was endorsed by a draft ANSI +standard for how to draw ASCII characters, but the final standard +changed the distinguisher to a tick-mark in the upper-left corner). +Are we sufficiently confused yet?</para> +</glossdef> +</glossentry> + +<glossentry> +<glossterm>1TBS</glossterm> +<glossdef> +<para role="accidence"> +<phrase role="pronounce"></phrase> +<phrase role="partsofspeach">n</phrase> +</para> +<para>The "One True Brace Style"</para> +<glossseealso>indent style</glossseealso> +</glossdef> +</glossentry> + +<!-- ... --> + +</glossdiv> + +<!-- ... --> + +</glossary> + + + + +Marking Up Glossary Terms + +That takes care of the glossary database, now you have to get the entries +into your document. Unlike bibliography entries, which can be empty, creating +placeholder glossary entries would be very tedious. So instead, +support for glossary.collection relies on implicit linking. + +In your source document, simply use firstterm and +glossterm to identify the terms you wish to have included +in the glossary. The stylesheets assume that you will either set the +baseform attribute correctly, or that the +content of the element exactly matches a term in your glossary. + +If you're using a glossary.collection, don't +make explicit links on the terms in your document. + +So, in your document, you might write things like this: + + +<para>This is dummy text, without any real meaning. +The point is simply to reference glossary terms like <glossterm>0</glossterm> +and the <firstterm baseform="1TBS">One True Brace Style (1TBS)</firstterm>. +The <glossterm>1TBS</glossterm>, as you can probably imagine, is a nearly +religious issue.</para> + + +If you set the firstterm.only.link parameter, +only the terms marked with firstterm will be links. +Otherwise, all the terms will be linked. + + + +Marking Up the Glossary + +The glossary itself has to be identified for the stylesheets. For lack +of a better choice, the role is used. +To identify the glossary as the target for automatic processing, set +the role to auto. The title of this +glossary (and any other information from the glossaryinfo +that's rendered by your stylesheet) will be displayed, but the entries will +come from the database. + + +Unfortunately, the glossary can't be empty, so you must put in +at least one glossentry. The content of this entry +is irrelevant, it will not be rendered: + + +<glossary role="auto"> +<glossentry> +<glossterm>Irrelevant</glossterm> +<glossdef> +<para>If you can see this, the document was processed incorrectly. Use +the <parameter>glossary.collection</parameter> parameter.</para> +</glossdef> +</glossentry> +</glossary> + + +What about glossary divisions? If your glossary database has glossary +divisions and your automatic glossary contains at least +one glossdiv, the automic glossary will have divisions. +If the glossdiv is missing from either location, no divisions +will be rendered. + +Glossary entries (and divisions, if appropriate) in the glossary will +occur in precisely the order they occur in your database. + + + +Formatting the Document + +Finally, when you are ready to format your document, simply set the +glossary.collection parameter (in either a +customization layer or directly through your processor's interface) to +point to your global glossary. + +The stylesheets will format the glossary in your document as if +all of the entries implicilty referenced appeared there literally. + + +Limitations + +Glossary cross-references within the glossary are +not supported. For example, this will not work: + + +<glossentry> +<glossterm>gloss-1</glossterm> +<glossdef><para>A description that references <glossterm>gloss-2</glossterm>.</para> +<glossseealso>gloss-2</glossseealso> +</glossdef> +</glossentry> + + +If you put glossary cross-references in your glossary that way, +you'll get the cryptic error: Warning: +glossary.collection specified, but there are 0 automatic +glossaries. + +Instead, you must do two things: + + + +Markup your glossary using glossseealso: + + +<glossentry> +<glossterm>gloss-1</glossterm> +<glossdef><para>A description that references <glossterm>gloss-2</glossterm>.</para> +<glossseealso>gloss-2</glossseealso> +</glossdef> +</glossentry> + + + + +Make sure there is at least one glossterm reference to +gloss-2 in your document. The +easiest way to do that is probably within a remark in your +automatic glossary: + + +<glossary role="auto"> +<remark>Make sure there's a reference to <glossterm>gloss-2</glossterm>.</remark> +<glossentry> +<glossterm>Irrelevant</glossterm> +<glossdef> +<para>If you can see this, the document was processed incorrectly. Use +the <parameter>glossary.collection</parameter> parameter.</para> +</glossdef> +</glossentry> +</glossary> + + + + + + + + + + +glossary.as.blocks +boolean + + +glossary.as.blocks +Present glossarys using blocks instead of lists? + + + + +<xsl:param name="glossary.as.blocks" select="0"></xsl:param> + + + +Description + +If non-zero, glossarys will be formatted as +blocks. + +If you have long glossterms, proper list +markup in the FO case may produce unattractive lists. By setting this +parameter, you can force the stylesheets to produce block markup +instead of proper lists. + +You can override this setting with a processing instruction as the +child of glossary: dbfo +glossary-presentation="blocks" or dbfo +glossary-presentation="list" + + + + + + +glosslist.as.blocks +boolean + + +glosslist.as.blocks +Use blocks for glosslists? + + + + +<xsl:param name="glosslist.as.blocks" select="0"></xsl:param> + + + +Description + +See glossary.as.blocks. + + + + + + +glossentry.list.item.properties +attribute set + + +glossentry.list.item.properties +To add properties to each glossentry in a list. + + + +<xsl:attribute-set name="glossentry.list.item.properties"> + <xsl:attribute name="space-before.optimum">1em</xsl:attribute> + <xsl:attribute name="space-before.minimum">0.8em</xsl:attribute> + <xsl:attribute name="space-before.maximum">1.2em</xsl:attribute> +</xsl:attribute-set> + + +Description +These properties are added to the fo:list-item containing a +glossentry in a glossary when the glossary.as.blocks parameter +is zero. +Use this attribute-set to set +spacing between entries, for example. + + + + + + +glossterm.block.properties +attribute set + + +glossterm.block.properties +To add properties to the block of a glossentry's glossterm. + + + +<xsl:attribute-set name="glossterm.block.properties"> + <xsl:attribute name="space-before.optimum">1em</xsl:attribute> + <xsl:attribute name="space-before.minimum">0.8em</xsl:attribute> + <xsl:attribute name="space-before.maximum">1.2em</xsl:attribute> + <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute> + <xsl:attribute name="keep-together.within-column">always</xsl:attribute> +</xsl:attribute-set> + + +Description +These properties are added to the block containing a +glossary term in a glossary when the glossary.as.blocks parameter +is non-zero. +Use this attribute-set to set the space above and below, +font properties, +and any indent for the glossary term. + + + + + + +glossdef.block.properties +attribute set + + +glossdef.block.properties +To add properties to the block of a glossary definition. + + + +<xsl:attribute-set name="glossdef.block.properties"> + <xsl:attribute name="margin-{$direction.align.start}">.25in</xsl:attribute> +</xsl:attribute-set> + + +Description +These properties are added to the block containing a +glossary definition in a glossary when +the glossary.as.blocks parameter +is non-zero. +Use this attribute-set to set the space above and below, +any font properties, +and any indent for the glossary definition. + + + + + + +glossterm.list.properties +attribute set + + +glossterm.list.properties +To add properties to the glossterm in a list. + + + + +<xsl:attribute-set name="glossterm.list.properties"> +</xsl:attribute-set> + + +Description +These properties are added to the block containing a +glossary term in a glossary when the glossary.as.blocks parameter +is zero. +Use this attribute-set to set +font properties, for example. + + + + + + +glossdef.list.properties +attribute set + + +glossdef.list.properties +To add properties to the glossary definition in a list. + + + + +<xsl:attribute-set name="glossdef.list.properties"> +</xsl:attribute-set> + + +Description +These properties are added to the block containing a +glossary definition in a glossary when +the glossary.as.blocks parameter +is zero. +Use this attribute-set to set font properties, for example. + + + + + + +glossterm.width +length + + +glossterm.width +Width of glossterm in list presentation mode + + + + +<xsl:param name="glossterm.width">2in</xsl:param> + + + +Description + +This parameter specifies the width reserved for glossary terms when +a list presentation is used. + + + + + + +glossterm.separation +length + + +glossterm.separation +Separation between glossary terms and descriptions in list mode + + + + +<xsl:param name="glossterm.separation">0.25in</xsl:param> + + + +Description + +Specifies the miminum horizontal +separation between glossary terms and descriptions when +they are presented side-by-side using lists +when the glossary.as.blocks +is zero. + + + + + + +glossentry.show.acronym +list +no +yes +primary + + +glossentry.show.acronym +Display glossentry acronyms? + + + + +<xsl:param name="glossentry.show.acronym">no</xsl:param> + + + +Description + +A setting of yes means they should be displayed; +no means they shouldn't. If primary is used, +then they are shown as the primary text for the entry. + + +This setting controls both acronym and +abbrev elements in the glossentry. + + + + + + + +glossary.sort +boolean + + +glossary.sort +Sort glossentry elements? + + + + +<xsl:param name="glossary.sort" select="0"></xsl:param> + + + +Description + +If non-zero, then the glossentry elements within a +glossary, glossdiv, or glosslist are sorted on the glossterm, using +the current lang setting. If zero (the default), then +glossentry elements are not sorted and are presented +in document order. + + + + + + +Miscellaneous + + +formal.procedures +boolean + + +formal.procedures +Selects formal or informal procedures + + + + +<xsl:param name="formal.procedures" select="1"></xsl:param> + + + +Description + +Formal procedures are numbered and always have a title. + + + + + + + +formal.title.placement +table + + +formal.title.placement +Specifies where formal object titles should occur + + + + +<xsl:param name="formal.title.placement"> +figure before +example before +equation before +table before +procedure before +task before +</xsl:param> + + + +Description + +Specifies where formal object titles should occur. For each formal object +type (figure, +example, +equation, +table, and procedure) +you can specify either the keyword +before or +after. + + + + + + +runinhead.default.title.end.punct +string + + +runinhead.default.title.end.punct +Default punctuation character on a run-in-head + + + +<xsl:param name="runinhead.default.title.end.punct">.</xsl:param> + + + +Description + +If non-zero, For a formalpara, use the specified +string as the separator between the title and following text. The period is the default value. + + + + + + +runinhead.title.end.punct +string + + +runinhead.title.end.punct +Characters that count as punctuation on a run-in-head + + + + +<xsl:param name="runinhead.title.end.punct">.!?:</xsl:param> + + + +Description + +Specify which characters are to be counted as punctuation. These +characters are checked for a match with the last character of the +title. If no match is found, the +runinhead.default.title.end.punct contents are +inserted. This is to avoid duplicated punctuation in the output. + + + + + + + +show.comments +boolean + + +show.comments +Display remark elements? + + + + +<xsl:param name="show.comments" select="1"></xsl:param> + + + +Description + +If non-zero, comments will be displayed, otherwise they +are suppressed. Comments here refers to the remark element +(which was called comment prior to DocBook +4.0), not XML comments (<-- like this -->) which are +unavailable. + + + + + + + +punct.honorific +string + + +punct.honorific +Punctuation after an honorific in a personal name. + + + + +<xsl:param name="punct.honorific">.</xsl:param> + + + +Description + +This parameter specifies the punctuation that should be added after an +honorific in a personal name. + + + + + + +segmentedlist.as.table +boolean + + +segmentedlist.as.table +Format segmented lists as tables? + + + + +<xsl:param name="segmentedlist.as.table" select="0"></xsl:param> + + + +Description + +If non-zero, segmentedlists will be formatted as +tables. + + + + + + +variablelist.as.blocks +boolean + + +variablelist.as.blocks +Format variablelists lists as blocks? + + + + +<xsl:param name="variablelist.as.blocks" select="0"></xsl:param> + + + +Description + +If non-zero, variablelists will be formatted as +blocks. + +If you have long terms, proper list markup in the FO case may produce +unattractive lists. By setting this parameter, you can force the stylesheets +to produce block markup instead of proper lists. + +You can override this setting with a processing instruction as the +child of variablelist: dbfo +list-presentation="blocks" or dbfo +list-presentation="list". + +When using list-presentation="list", +you can also control the amount of space used for the terms with +the dbfo term-width=".25in" processing instruction, +the termlength attribute on variablelist, +or allow the stylesheets to attempt to calculate the amount of space to leave based on the +number of letters in the longest term. + + + <variablelist> + <?dbfo list-presentation="list"?> + <?dbfo term-width="1.5in"?> + <?dbhtml list-presentation="table"?> + <?dbhtml term-width="1.5in"?> + <varlistentry> + <term>list</term> + <listitem> + <para> + Formatted as a list even if variablelist.as.blocks is set to 1. + </para> + </listitem> + </varlistentry> + </variablelist> + + + + + + + + + blockquote.properties + attribute set + + +blockquote.properties +To set the style for block quotations. + + + + +<xsl:attribute-set name="blockquote.properties"> +<xsl:attribute name="margin-{$direction.align.start}">0.5in</xsl:attribute> +<xsl:attribute name="margin-{$direction.align.end}">0.5in</xsl:attribute> +<xsl:attribute name="space-after.minimum">0.5em</xsl:attribute> +<xsl:attribute name="space-after.optimum">1em</xsl:attribute> +<xsl:attribute name="space-after.maximum">2em</xsl:attribute> +</xsl:attribute-set> + + + +Description + +The blockquote.properties attribute set specifies +the formating properties of block quotations. + + + + + + +ulink.show +boolean + + +ulink.show +Display URLs after ulinks? + + + + +<xsl:param name="ulink.show" select="1"></xsl:param> + + + +Description + +If non-zero, the URL of each ulink will +appear after the text of the link. If the text of the link and the URL +are identical, the URL is suppressed. + +See also ulink.footnotes. + +DocBook 5 does not have an ulink element. When processing +DocBoook 5 documents, ulink.show applies to all inline +elements that are marked up with xlink:href attributes +that point to external resources. + + + + + + + +ulink.footnotes +boolean + + +ulink.footnotes +Generate footnotes for ulinks? + + + + +<xsl:param name="ulink.footnotes" select="0"></xsl:param> + + + +Description + +If non-zero, and if ulink.show also is non-zero, +the URL of each ulink will appear as a footnote. + +DocBook 5 does not have an ulink element. When processing +DocBoook 5 documents, ulink.footnotes applies to all inline +elements that are marked up with xlink:href attributes +that point to external resources. + + + + + + + +ulink.hyphenate +string + + +ulink.hyphenate +Allow URLs to be automatically hyphenated + + + + +<xsl:param name="ulink.hyphenate"></xsl:param> + + + +Description + +If not empty, the specified character (or more generally, content) is +added to URLs after every character included in the string +in the ulink.hyphenate.chars parameter (default +is /). If the character in this parameter is a +Unicode soft hyphen (0x00AD) or Unicode zero-width space (0x200B), some FO +processors will be able to reasonably hyphenate long URLs. + +As of 28 Jan 2002, discretionary hyphens are more widely and correctly +supported than zero-width spaces for this purpose. + + + + + + +ulink.hyphenate.chars +string + + +ulink.hyphenate.chars +List of characters to allow ulink URLs to be automatically hyphenated on + + + + +<xsl:param name="ulink.hyphenate.chars">/</xsl:param> + + + +Description + +If the ulink.hyphenate is not empty, then +hyphenation of ulinks is turned on, and any +character contained in this parameter is treated as an allowable +hyphenation point. + +The default value is /, but the parameter +could be customized +to contain other URL characters, as for example: + +<xsl:param name="ulink.hyphenate.chars">:/@&?.#</xsl:param> + + + + + + + +shade.verbatim +boolean + + +shade.verbatim +Should verbatim environments be shaded? + + + +<xsl:param name="shade.verbatim" select="0"></xsl:param> + + +Description + +In the FO stylesheet, if this parameter is non-zero then the +shade.verbatim.style properties will be applied +to verbatim environments. + +In the HTML stylesheet, this parameter is now deprecated. Use +CSS instead. + + + + + + +shade.verbatim.style +attribute set + + +shade.verbatim.style +Properties that specify the style of shaded verbatim listings + + + + + +<xsl:attribute-set name="shade.verbatim.style"> + <xsl:attribute name="background-color">#E0E0E0</xsl:attribute> +</xsl:attribute-set> + + + +Description + +Properties that specify the style of shaded verbatim listings. The +parameters specified (the border and background color) are added to +the styling of the xsl-fo output. A border might be specified as "thin +black solid" for example. See xsl-fo + + + + + + +hyphenate.verbatim +boolean + + +hyphenate.verbatim +Should verbatim environments be hyphenated on space characters? + + + +<xsl:param name="hyphenate.verbatim" select="0"></xsl:param> + + +Description + +If the lines of program listing are too long to fit into one +line it is quite common to split them at space and indicite by hook +arrow that code continues on the next line. You can turn on this +behaviour for programlisting, +screen and synopsis elements by +using this parameter. + +Note that you must also enable line wrapping for verbatim environments and +select appropriate hyphenation character (e.g. hook arrow). This can +be done using monospace.verbatim.properties +attribute set: + +<xsl:attribute-set name="monospace.verbatim.properties" + use-attribute-sets="verbatim.properties monospace.properties"> + <xsl:attribute name="wrap-option">wrap</xsl:attribute> + <xsl:attribute name="hyphenation-character">&#x25BA;</xsl:attribute> +</xsl:attribute-set> + +For a list of arrows available in Unicode see http://www.unicode.org/charts/PDF/U2190.pdf and http://www.unicode.org/charts/PDF/U2900.pdf and make sure that +selected character is available in the font you are using for verbatim +environments. + + + + + + +hyphenate.verbatim.characters +string + + +hyphenate.verbatim.characters +List of characters after which a line break can occur in listings + + + + +<xsl:param name="hyphenate.verbatim.characters"></xsl:param> + + + +Description + +If you enable hyphenate.verbatim line +breaks are allowed only on space characters. If this is not enough for +your document, you can specify list of additional characters after +which line break is allowed in this parameter. + + + + + + +use.svg +boolean + + +use.svg +Allow SVG in the result tree? + + + + +<xsl:param name="use.svg" select="1"></xsl:param> + + + +Description + +If non-zero, SVG will be considered an acceptable image format. SVG +is passed through to the result tree, so correct rendering of the resulting +diagram depends on the formatter (FO processor or web browser) that is used +to process the output from the stylesheet. + + + + + + +use.role.as.xrefstyle +boolean + + +use.role.as.xrefstyle +Use role attribute for +xrefstyle on xref? + + + + +<xsl:param name="use.role.as.xrefstyle" select="1"></xsl:param> + + + +Description + +In DocBook documents that conform to a schema older than V4.3, this parameter allows +role to serve the purpose of specifying the cross reference style. + +If non-zero, the role attribute on +xref will be used to select the cross reference style. +In DocBook V4.3, the xrefstyle attribute was added for this purpose. +If the xrefstyle attribute is present, +role will be ignored, regardless of the setting +of this parameter. + + + +Example + +The following small stylesheet shows how to configure the +stylesheets to make use of the cross reference style: + +<?xml version="1.0"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version="1.0"> + +<xsl:import href="../xsl/html/docbook.xsl"/> + +<xsl:output method="html"/> + +<xsl:param name="local.l10n.xml" select="document('')"/> +<l:i18n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0"> + <l:l10n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" language="en"> + <l:context name="xref"> + <l:template name="chapter" style="title" text="Chapter %n, %t"/> + <l:template name="chapter" text="Chapter %n"/> + </l:context> + </l:l10n> +</l:i18n> + +</xsl:stylesheet> + +With this stylesheet, the cross references in the following document: + +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> +<book id="book"><title>Book</title> + +<preface> +<title>Preface</title> + +<para>Normal: <xref linkend="ch1"/>.</para> +<para>Title: <xref xrefstyle="title" linkend="ch1"/>.</para> + +</preface> + +<chapter id="ch1"> +<title>First Chapter</title> + +<para>Irrelevant.</para> + +</chapter> +</book> + +will appear as: + + +Normal: Chapter 1. +Title: Chapter 1, First Chapter. + + + + + + + +menuchoice.separator +string + + +menuchoice.separator +Separator between items of a menuchoice +other than guimenuitem and +guisubmenu + + + + +<xsl:param name="menuchoice.separator">+</xsl:param> + + + +Description + +Separator used to connect items of a menuchoice other +than guimenuitem and guisubmenu. The latter +elements are linked with menuchoice.menu.separator. + + + + + + + +menuchoice.menu.separator +string + + +menuchoice.menu.separator +Separator between items of a menuchoice +with guimenuitem or +guisubmenu + + + + +<xsl:param name="menuchoice.menu.separator"> → </xsl:param> + + + +Description + +Separator used to connect items of a menuchoice with +guimenuitem or guisubmenu. Other elements +are linked with menuchoice.separator. + +The default value is &#x2192;, which is the +&rarr; (right arrow) character entity. +The current FOP (0.20.5) requires setting the font-family +explicitly. + +The default value also includes spaces around the arrow, +which will allow a line to break. Replace the spaces with +&#xA0; (nonbreaking space) if you don't want those +spaces to break. + + + + + + + +default.float.class +string + + +default.float.class +Specifies the default float class + + + + +<xsl:param name="default.float.class"> + <xsl:choose> + <xsl:when test="contains($stylesheet.result.type,'html')">left</xsl:when> + <xsl:otherwise>before</xsl:otherwise> + </xsl:choose> +</xsl:param> + + + +Description + +Selects the direction in which a float should be placed. for +xsl-fo this is before, for html it is left. For Western texts, the +before direction is the top of the page. + + + + + + +footnote.number.format +list +11,2,3... +AA,B,C... +aa,b,c... +ii,ii,iii... +II,II,III... + + +footnote.number.format +Identifies the format used for footnote numbers + + + + +<xsl:param name="footnote.number.format">1</xsl:param> + + + +Description + +The footnote.number.format specifies the format +to use for footnote numeration (1, i, I, a, or A). + + + + + + +table.footnote.number.format +list +11,2,3... +AA,B,C... +aa,b,c... +ii,ii,iii... +II,II,III... + + +table.footnote.number.format +Identifies the format used for footnote numbers in tables + + + + +<xsl:param name="table.footnote.number.format">a</xsl:param> + + + +Description + +The table.footnote.number.format specifies the format +to use for footnote numeration (1, i, I, a, or A) in tables. + + + + + + +footnote.number.symbols + + + +footnote.number.symbols +Special characters to use as footnote markers + + + + +<xsl:param name="footnote.number.symbols"></xsl:param> + + + +Description + +If footnote.number.symbols is not the empty string, +footnotes will use the characters it contains as footnote symbols. For example, +*&#x2020;&#x2021;&#x25CA;&#x2720; will identify +footnotes with *, , , +, and . If there are more footnotes +than symbols, the stylesheets will fall back to numbered footnotes using +footnote.number.format. + +The use of symbols for footnotes depends on the ability of your +processor (or browser) to render the symbols you select. Not all systems are +capable of displaying the full range of Unicode characters. If the quoted characters +in the preceding paragraph are not displayed properly, that's a good indicator +that you may have trouble using those symbols for footnotes. + + + + + + +table.footnote.number.symbols +string + + +table.footnote.number.symbols +Special characters to use a footnote markers in tables + + + + +<xsl:param name="table.footnote.number.symbols"></xsl:param> + + + +Description + +If table.footnote.number.symbols is not the empty string, +table footnotes will use the characters it contains as footnote symbols. For example, +*&#x2020;&#x2021;&#x25CA;&#x2720; will identify +footnotes with *, , , +, and . If there are more footnotes +than symbols, the stylesheets will fall back to numbered footnotes using +table.footnote.number.format. + +The use of symbols for footnotes depends on the ability of your +processor (or browser) to render the symbols you select. Not all systems are +capable of displaying the full range of Unicode characters. If the quoted characters +in the preceding paragraph are not displayed properly, that's a good indicator +that you may have trouble using those symbols for footnotes. + + + + + + +footnote.properties +attribute set + + +footnote.properties +Properties applied to each footnote body + + + + + +<xsl:attribute-set name="footnote.properties"> + <xsl:attribute name="font-family"><xsl:value-of select="$body.fontset"></xsl:value-of></xsl:attribute> + <xsl:attribute name="font-size"><xsl:value-of select="$footnote.font.size"></xsl:value-of></xsl:attribute> + <xsl:attribute name="font-weight">normal</xsl:attribute> + <xsl:attribute name="font-style">normal</xsl:attribute> + <xsl:attribute name="text-align"><xsl:value-of select="$alignment"></xsl:value-of></xsl:attribute> + <xsl:attribute name="start-indent">0pt</xsl:attribute> + <xsl:attribute name="text-indent">0pt</xsl:attribute> + <xsl:attribute name="hyphenate"><xsl:value-of select="$hyphenate"></xsl:value-of></xsl:attribute> + <xsl:attribute name="wrap-option">wrap</xsl:attribute> + <xsl:attribute name="linefeed-treatment">treat-as-space</xsl:attribute> +</xsl:attribute-set> + + + +Description + +This attribute set is applied to the footnote-block +for each footnote. +It can be used to set the +font-size, font-family, and other inheritable properties that will be +applied to all footnotes. + + + + + + +table.footnote.properties +attribute set + + +table.footnote.properties +Properties applied to each table footnote body + + + + + +<xsl:attribute-set name="table.footnote.properties"> + <xsl:attribute name="font-family"><xsl:value-of select="$body.fontset"></xsl:value-of></xsl:attribute> + <xsl:attribute name="font-size"><xsl:value-of select="$footnote.font.size"></xsl:value-of></xsl:attribute> + <xsl:attribute name="font-weight">normal</xsl:attribute> + <xsl:attribute name="font-style">normal</xsl:attribute> + <xsl:attribute name="space-before">2pt</xsl:attribute> + <xsl:attribute name="text-align"><xsl:value-of select="$alignment"></xsl:value-of></xsl:attribute> +</xsl:attribute-set> + + + +Description + +This attribute set is applied to the footnote-block +for each table footnote. +It can be used to set the +font-size, font-family, and other inheritable properties that will be +applied to all table footnotes. + + + + + + +footnote.mark.properties +attribute set + + +footnote.mark.properties +Properties applied to each footnote mark + + + + + +<xsl:attribute-set name="footnote.mark.properties"> + <xsl:attribute name="font-family"><xsl:value-of select="$body.fontset"></xsl:value-of></xsl:attribute> + <xsl:attribute name="font-size">75%</xsl:attribute> + <xsl:attribute name="font-weight">normal</xsl:attribute> + <xsl:attribute name="font-style">normal</xsl:attribute> +</xsl:attribute-set> + + + +Description + +This attribute set is applied to the footnote mark used +for each footnote. +It should contain only inline properties. + + +The property to make the mark a superscript is contained in the +footnote template itself, because the current version of FOP reports +an error if baseline-shift is used. + + + + + + + +footnote.sep.leader.properties +attribute set + + +footnote.sep.leader.properties +Properties associated with footnote separators + + + + +<xsl:attribute-set name="footnote.sep.leader.properties"> + <xsl:attribute name="color">black</xsl:attribute> + <xsl:attribute name="leader-pattern">rule</xsl:attribute> + <xsl:attribute name="leader-length">1in</xsl:attribute> +</xsl:attribute-set> + + + +Description + +The styling for the rule line that separates the +footnotes from the body text. +These are properties applied to the fo:leader used as +the separator. + +If you want to do more than just set properties on +the leader element, then you can customize the template +named footnote.separator in +fo/pagesetup.xsl. + + + + + + +xref.with.number.and.title +boolean + + +xref.with.number.and.title +Use number and title in cross references + + + + +<xsl:param name="xref.with.number.and.title" select="1"></xsl:param> + + + +Description + +A cross reference may include the number (for example, the number of +an example or figure) and the title which is a required child of some +targets. This parameter inserts both the relevant number as well as +the title into the link. + + + + + + +superscript.properties +attribute set + + +superscript.properties +Properties associated with superscripts + + + + +<xsl:attribute-set name="superscript.properties"> + <xsl:attribute name="font-size">75%</xsl:attribute> +</xsl:attribute-set> + + + +Description + +Specifies styling properties for superscripts. + + + + + + +subscript.properties +attribute set + + +subscript.properties +Properties associated with subscripts + + + + +<xsl:attribute-set name="subscript.properties"> + <xsl:attribute name="font-size">75%</xsl:attribute> +</xsl:attribute-set> + + + +Description + +Specifies styling properties for subscripts. + + + + + + +pgwide.properties +attribute set + + +pgwide.properties +Properties to make a figure or table page wide. + + + + + +<xsl:attribute-set name="pgwide.properties"> + <xsl:attribute name="start-indent">0pt</xsl:attribute> +</xsl:attribute-set> + + + +Description + +This attribute set is used to set the properties +that make a figure or table "page wide" in fo output. +It comes into effect when an attribute pgwide="1" +is used. + + + +By default, it sets start-indent +to 0pt. +In a stylesheet that sets the parameter +body.start.indent +to a non-zero value in order to indent body text, +this attribute set can be used to outdent pgwide +figures to the start margin. + + +If a document uses a multi-column page layout, +then this attribute set could try setting span +to a value of all. However, this may +not work with some processors because a span property must be on an +fo:block that is a direct child of fo:flow. It may work in +some processors anyway. + + + + + + + +highlight.source +boolean + + +highlight.source +Should the content of programlisting +be syntactically highlighted? + + + + +<xsl:param name="highlight.source" select="0"></xsl:param> + + + +Description + +When this parameter is non-zero, the stylesheets will try to do syntax highlighting of the +content of programlisting elements. You specify the language for each programlisting +by using the language attribute. The highlight.default.language +parameter can be used to specify the language for programlistings without a language +attribute. Syntax highlighting also works for screen and synopsis elements. + +The actual highlighting work is done by the XSLTHL extension module. This is an external Java library that has to be +downloaded separately (see below). + + +In order to use this extension, you must + +add xslthl-2.x.x.jar to your Java classpath. The latest version is available +from the XSLT syntax highlighting project +at SourceForge. + + +use a customization layer in which you import one of the following stylesheet modules: + + + html/highlight.xsl + + + + xhtml/highlight.xsl + + + + xhtml-1_1/highlight.xsl + + + + fo/highlight.xsl + + + + + +let either the xslthl.config Java system property or the +highlight.xslthl.config parameter point to the configuration file for syntax +highlighting (using URL syntax). DocBook XSL comes with a ready-to-use configuration file, +highlighting/xslthl-config.xml. + + + +The extension works with Saxon 6.5.x and Xalan-J. (Saxon 8.5 or later is also supported, but since it is +an XSLT 2.0 processor it is not guaranteed to work with DocBook XSL in all circumstances.) + +The following is an example of a Saxon 6 command adapted for syntax highlighting, to be used on Windows: + + +java -cp c:/Java/saxon.jar;c:/Java/xslthl-2.0.1.jar +-Dxslthl.config=file:///c:/docbook-xsl/highlighting/xslthl-config.xml com.icl.saxon.StyleSheet +-o test.html test.xml myhtml.xsl + + + + + + + +highlight.xslthl.config +uri + + +highlight.xslthl.config +Location of XSLTHL configuration file + + + + +<xsl:param name="highlight.xslthl.config"></xsl:param> + + + +Description + +This location has precedence over the corresponding Java property. + +Please note that usually you have to specify location as URL not +just as a simple path on the local +filesystem. E.g. file:///home/user/xslthl/my-xslthl-config.xml. + + + + + + + + +highlight.default.language +string + + +highlight.default.language +Default language of programlisting + + + + +<xsl:param name="highlight.default.language"></xsl:param> + + + +Description + +This language is used when there is no language attribute on programlisting. + + + + + + +email.delimiters.enabled +boolean + + +email.delimiters.enabled +Generate delimiters around email addresses? + + + + +<xsl:param name="email.delimiters.enabled" select="1"></xsl:param> + + + +Description + +If non-zero, delimiters + +For delimiters, the +stylesheets are currently hard-coded to output angle +brackets. + +are generated around e-mail addresses +(the output of the email element). + + + + + + +email.mailto.enabled +boolean + + +email.mailto.enabled +Generate mailto: links for email addresses? + + + + +<xsl:param name="email.mailto.enabled" select="0"></xsl:param> + + + +Description + +If non-zero the generated output for the email element +will be a clickable mailto: link that brings up the default mail client +on the system. + + + + + + +section.container.element +list +block +wrapper + + +section.container.element +Select XSL-FO element name to contain sections + + + + +<xsl:param name="section.container.element">block</xsl:param> + + + +Description + +Selects the element name for outer container of +each section. The choices are block (default) +or wrapper. +The fo: namespace prefix is added +by the stylesheet to form the full element name. + + +This element receives the section id +attribute and the appropriate section level attribute-set. + + +Changing this parameter to wrapper +is only necessary when producing multi-column output +that contains page-wide spans. Using fo:wrapper +avoids the nesting of fo:block +elements that prevents spans from working (the standard says +a span must be on a block that is a direct child of +fo:flow). + + +If set to wrapper, the +section attribute-sets only support properties +that are inheritable. That's because there is no +block to apply them to. Properties such as +font-family are inheritable, but properties such as +border are not. + + +Only some XSL-FO processors need to use this parameter. +The Antenna House processor, for example, will handle +spans in nested blocks without changing the element name. +The RenderX XEP product and FOP follow the XSL-FO standard +and need to use wrapper. + + + + + + + +monospace.verbatim.font.width +length + + +monospace.verbatim.font.width +Width of a single monospace font character + + + + +<xsl:param name="monospace.verbatim.font.width">0.60em</xsl:param> + + + +Description + +Specifies with em units the width of a single character +of the monospace font. The default value is 0.6em. + +This parameter is only used when a screen +or programlisting element has a +width attribute, which is +expressed as a plain integer to indicate the maximum character count +of each line. +To convert this character count to an actual maximum width +measurement, the width of the font characters must be provided. +Different monospace fonts have different character width, +so this parameter should be adjusted to fit the +monospace font being used. + + + + + + + +exsl.node.set.available +boolean + + +exsl.node.set.available +Is the test function-available('exsl:node-set') true? + + + +<xsl:param name="exsl.node.set.available"> + <xsl:choose> + <xsl:when exsl:foo="" test="function-available('exsl:node-set') or contains(system-property('xsl:vendor'), 'Apache Software Foundation')">1</xsl:when> + <xsl:otherwise>0</xsl:otherwise> + </xsl:choose> +</xsl:param> + + + +Description + +If non-zero, +then the exsl:node-set() function is available to be used in +the stylesheet. +If zero, then the function is not available. +This param automatically detects the presence of +the function and does not normally need to be set manually. + +This param was created to handle a long-standing +bug in the Xalan processor that fails to detect the +function even though it is available. + + + + + + +bookmarks.collapse +boolean + + +bookmarks.collapse +Specifies the initial state of bookmarks + + + + +<xsl:param name="bookmarks.collapse" select="1"></xsl:param> + + + +Description + +If non-zero, the bookmark tree is collapsed so that only the +top-level bookmarks are displayed initially. Otherwise, the whole tree +of bookmarks is displayed. + +This parameter currently works with FOP 0.93 or later. + + + + + +Graphics + + +graphic.default.extension +string + + +graphic.default.extension +Default extension for graphic filenames + + + +<xsl:param name="graphic.default.extension"></xsl:param> + + +Description + +If a graphic or mediaobject +includes a reference to a filename that does not include an extension, +and the format attribute is +unspecified, the default extension will be used. + + + + + + + +default.image.width +length + + +default.image.width +The default width of images + + + + +<xsl:param name="default.image.width"></xsl:param> + + + +Description + +If specified, this value will be used for the +width attribute on images that do not specify any +viewport dimensions. + + + + + + +preferred.mediaobject.role +string + + +preferred.mediaobject.role +Select which mediaobject to use based on +this value of an object's role attribute. + + + + + +<xsl:param name="preferred.mediaobject.role"></xsl:param> + + + +Description + +A mediaobject may contain several objects such as imageobjects. +If the parameter use.role.for.mediaobject is +non-zero, then the role attribute on +imageobjects and other objects within a +mediaobject container will be used to select which object +will be used. If one of the objects has a role value that matches the +preferred.mediaobject.role parameter, then it +has first priority for selection. If more than one has such a role +value, the first one is used. + + +See the use.role.for.mediaobject parameter +for the sequence of selection. + + + + + +use.role.for.mediaobject +boolean + + +use.role.for.mediaobject +Use role attribute +value for selecting which of several objects within a mediaobject to use. + + + + + +<xsl:param name="use.role.for.mediaobject" select="1"></xsl:param> + + + +Description + +If non-zero, the role attribute on +imageobjects or other objects within a mediaobject container will be used to select which object will be +used. + + +The order of selection when then parameter is non-zero is: + + + + If the stylesheet parameter preferred.mediaobject.role has a value, then the object whose role equals that value is selected. + + +Else if an object's role attribute has a value of +html for HTML processing or +fo for FO output, then the first +of such objects is selected. + + + +Else the first suitable object is selected. + + + +If the value of +use.role.for.mediaobject +is zero, then role attributes are not considered +and the first suitable object +with or without a role value is used. + + + + + + +ignore.image.scaling +boolean + + +ignore.image.scaling +Tell the stylesheets to ignore the author's image scaling attributes + + + + +<xsl:param name="ignore.image.scaling" select="0"></xsl:param> + + + +Description + +If non-zero, the scaling attributes on graphics and media objects are +ignored. + + + + + + +img.src.path +string + + +img.src.path +Path to HTML/FO image files + + + +<xsl:param name="img.src.path"></xsl:param> + + +Description + +Add a path prefix to the value of the fileref +attribute of graphic, inlinegraphic, and imagedata elements. The resulting +compound path is used in the output as the value of the src +attribute of img (HTML) or external-graphic (FO). + + + +The path given by img.src.path could be relative to the directory where the HTML/FO +files are created, or it could be an absolute URI. +The default value is empty. +Be sure to include a trailing slash if needed. + + +This prefix is not applied to any filerefs that start +with "/" or contain "//:". + + + + + + + +keep.relative.image.uris +boolean + + +keep.relative.image.uris +Should image URIs be resolved against xml:base? + + + + + +<xsl:param name="keep.relative.image.uris" select="0"></xsl:param> + + + +Description + +If non-zero, relative URIs (in, for example +fileref attributes) will be used in the generated +output. Otherwise, the URIs will be made absolute with respect to the +base URI. + +Note that the stylesheets calculate (and use) the absolute form +for some purposes, this only applies to the resulting output. + + + + + +Pagination and General Styles + +
Understanding XSL FO Margins + +To make sense of the parameters in this section, it's useful to +consider . + +
+ Page Model + + + + + + + + Figure showing page margins + + This figure shows the physical page with the various FO page regions + identified. + + +
+ +First, let's consider the regions on the page. + +The white region is the physical page. Its dimensions are determined by +the page.height and page.width +parameters. + +The yellow region is the region-body. The size and placement of +the region body is constrained by the dimensions labelled in the +figure. + +The pink region at the top of the page is the region-before. The +darker area inside the region-before is the header text. In XSL, the default +display alignment for a region is before, but the +DocBook stylesheets still explicitly make it before. That's +why the darker area is at the top. + +The pink region at the bottom of the page is the region-after. +The darker area is the footer text. In XSL, the default display +alignment for a region is before, +but the DocBook stylesheets explicitly make it +after. That's why the darker area is at the bottom. + +The dimensions in the figure are: + + +The page-master margin-top. + +The region-before extent. + +The region-body margin-top. + +The region-after extent. + +The page-master margin-bottom. + +The region-body margin-bottom. + +The sum of the page-master margin-left and the +region-body margin-left. In DocBook, the region-body margin-left is +zero by default, so this is simply the page-master margin-left. + +The sum of the page-master margin-right and the +region-body margin-right. In DocBook, the region-body margin-right is +zero by default, so this is simply the page-master margin-right. + + + +
+
+ + + +page.height +length + + +page.height +The height of the physical page + + + +<xsl:param name="page.height"> + <xsl:choose> + <xsl:when test="$page.orientation = 'portrait'"> + <xsl:value-of select="$page.height.portrait"></xsl:value-of> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$page.width.portrait"></xsl:value-of> + </xsl:otherwise> + </xsl:choose> +</xsl:param> + + +Description + +The page height is generally calculated from the +paper.type and +page.orientation parameters. + + + + + + + +page.height.portrait +length + + +page.height.portrait +Specify the physical size of the long edge of the page + + + +<xsl:param name="page.height.portrait"> + <xsl:choose> + <xsl:when test="$paper.type = 'A4landscape'">210mm</xsl:when> + <xsl:when test="$paper.type = 'USletter'">11in</xsl:when> + <xsl:when test="$paper.type = 'USlandscape'">8.5in</xsl:when> + <xsl:when test="$paper.type = '4A0'">2378mm</xsl:when> + <xsl:when test="$paper.type = '2A0'">1682mm</xsl:when> + <xsl:when test="$paper.type = 'A0'">1189mm</xsl:when> + <xsl:when test="$paper.type = 'A1'">841mm</xsl:when> + <xsl:when test="$paper.type = 'A2'">594mm</xsl:when> + <xsl:when test="$paper.type = 'A3'">420mm</xsl:when> + <xsl:when test="$paper.type = 'A4'">297mm</xsl:when> + <xsl:when test="$paper.type = 'A5'">210mm</xsl:when> + <xsl:when test="$paper.type = 'A6'">148mm</xsl:when> + <xsl:when test="$paper.type = 'A7'">105mm</xsl:when> + <xsl:when test="$paper.type = 'A8'">74mm</xsl:when> + <xsl:when test="$paper.type = 'A9'">52mm</xsl:when> + <xsl:when test="$paper.type = 'A10'">37mm</xsl:when> + <xsl:when test="$paper.type = 'B0'">1414mm</xsl:when> + <xsl:when test="$paper.type = 'B1'">1000mm</xsl:when> + <xsl:when test="$paper.type = 'B2'">707mm</xsl:when> + <xsl:when test="$paper.type = 'B3'">500mm</xsl:when> + <xsl:when test="$paper.type = 'B4'">353mm</xsl:when> + <xsl:when test="$paper.type = 'B5'">250mm</xsl:when> + <xsl:when test="$paper.type = 'B6'">176mm</xsl:when> + <xsl:when test="$paper.type = 'B7'">125mm</xsl:when> + <xsl:when test="$paper.type = 'B8'">88mm</xsl:when> + <xsl:when test="$paper.type = 'B9'">62mm</xsl:when> + <xsl:when test="$paper.type = 'B10'">44mm</xsl:when> + <xsl:when test="$paper.type = 'C0'">1297mm</xsl:when> + <xsl:when test="$paper.type = 'C1'">917mm</xsl:when> + <xsl:when test="$paper.type = 'C2'">648mm</xsl:when> + <xsl:when test="$paper.type = 'C3'">458mm</xsl:when> + <xsl:when test="$paper.type = 'C4'">324mm</xsl:when> + <xsl:when test="$paper.type = 'C5'">229mm</xsl:when> + <xsl:when test="$paper.type = 'C6'">162mm</xsl:when> + <xsl:when test="$paper.type = 'C7'">114mm</xsl:when> + <xsl:when test="$paper.type = 'C8'">81mm</xsl:when> + <xsl:when test="$paper.type = 'C9'">57mm</xsl:when> + <xsl:when test="$paper.type = 'C10'">40mm</xsl:when> + <xsl:otherwise>11in</xsl:otherwise> + </xsl:choose> +</xsl:param> + + +Description + +The portrait page height is the length of the long +edge of the physical page. + + + + + + + +page.margin.bottom +length + + +page.margin.bottom +The bottom margin of the page + + + + +<xsl:param name="page.margin.bottom">0.5in</xsl:param> + + + +Description + +The bottom page margin is the distance from the bottom of the region-after +to the physical bottom of the page. + + + + + + + +page.margin.inner +length + + +page.margin.inner +The inner page margin + + + +<xsl:param name="page.margin.inner"> + <xsl:choose> + <xsl:when test="$double.sided != 0">1.25in</xsl:when> + <xsl:otherwise>1in</xsl:otherwise> + </xsl:choose> +</xsl:param> + + +Description + +The inner page margin is the distance from bound edge of the +page to the first column of text. + +The inner page margin is the distance from bound edge of the +page to the outer edge of the first column of text. + +In left-to-right text direction, +this is the left margin of recto (front side) pages. +For single-sided output, it is the left margin +of all pages. + +In right-to-left text direction, +this is the right margin of recto pages. +For single-sided output, this is the +right margin of all pages. + + +Current versions (at least as of version 4.13) +of the XEP XSL-FO processor do not +correctly handle these margin settings for documents +with right-to-left text direction. +The workaround in that situation is to reverse +the values for page.margin.inner +and page.margin.outer, until +this bug is fixed by RenderX. It does not affect documents +with left-to-right text direction. + + + + + + + +page.margin.outer +length + + +page.margin.outer +The outer page margin + + + +<xsl:param name="page.margin.outer"> + <xsl:choose> + <xsl:when test="$double.sided != 0">0.75in</xsl:when> + <xsl:otherwise>1in</xsl:otherwise> + </xsl:choose> +</xsl:param> + + +Description + +The outer page margin is the distance from non-bound edge of the +page to the outer edge of the last column of text. + +In left-to-right text direction, +this is the right margin of recto (front side) pages. +For single-sided output, it is the right margin +of all pages. + +In right-to-left text direction, +this is the left margin of recto pages. +For single-sided output, this is the +left margin of all pages. + + +Current versions (at least as of version 4.13) +of the XEP XSL-FO processor do not +correctly handle these margin settings for documents +with right-to-left text direction. +The workaround in that situation is to reverse +the values for page.margin.inner +and page.margin.outer, until +this bug is fixed by RenderX. It does not affect documents +with left-to-right text direction. + + + + + + + +page.margin.top +length + + +page.margin.top +The top margin of the page + + + + +<xsl:param name="page.margin.top">0.5in</xsl:param> + + + +Description + +The top page margin is the distance from the physical top of the +page to the top of the region-before. + + + + + + +page.orientation +list +portrait +landscape + + +page.orientation +Select the page orientation + + + + +<xsl:param name="page.orientation">portrait</xsl:param> + + + +Description + + Select one from portrait or landscape. +In portrait orientation, the short edge is horizontal; in +landscape orientation, it is vertical. + + + + + + + +page.width +length + + +page.width +The width of the physical page + + + +<xsl:param name="page.width"> + <xsl:choose> + <xsl:when test="$page.orientation = 'portrait'"> + <xsl:value-of select="$page.width.portrait"></xsl:value-of> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$page.height.portrait"></xsl:value-of> + </xsl:otherwise> + </xsl:choose> +</xsl:param> + + +Description + +The page width is generally calculated from the +paper.type and +page.orientation parameters. + + + + + + +page.width.portrait +length + + +page.width.portrait +Specify the physical size of the short edge of the page + + + +<xsl:param name="page.width.portrait"> + <xsl:choose> + <xsl:when test="$paper.type = 'USletter'">8.5in</xsl:when> + <xsl:when test="$paper.type = '4A0'">1682mm</xsl:when> + <xsl:when test="$paper.type = '2A0'">1189mm</xsl:when> + <xsl:when test="$paper.type = 'A0'">841mm</xsl:when> + <xsl:when test="$paper.type = 'A1'">594mm</xsl:when> + <xsl:when test="$paper.type = 'A2'">420mm</xsl:when> + <xsl:when test="$paper.type = 'A3'">297mm</xsl:when> + <xsl:when test="$paper.type = 'A4'">210mm</xsl:when> + <xsl:when test="$paper.type = 'A5'">148mm</xsl:when> + <xsl:when test="$paper.type = 'A6'">105mm</xsl:when> + <xsl:when test="$paper.type = 'A7'">74mm</xsl:when> + <xsl:when test="$paper.type = 'A8'">52mm</xsl:when> + <xsl:when test="$paper.type = 'A9'">37mm</xsl:when> + <xsl:when test="$paper.type = 'A10'">26mm</xsl:when> + <xsl:when test="$paper.type = 'B0'">1000mm</xsl:when> + <xsl:when test="$paper.type = 'B1'">707mm</xsl:when> + <xsl:when test="$paper.type = 'B2'">500mm</xsl:when> + <xsl:when test="$paper.type = 'B3'">353mm</xsl:when> + <xsl:when test="$paper.type = 'B4'">250mm</xsl:when> + <xsl:when test="$paper.type = 'B5'">176mm</xsl:when> + <xsl:when test="$paper.type = 'B6'">125mm</xsl:when> + <xsl:when test="$paper.type = 'B7'">88mm</xsl:when> + <xsl:when test="$paper.type = 'B8'">62mm</xsl:when> + <xsl:when test="$paper.type = 'B9'">44mm</xsl:when> + <xsl:when test="$paper.type = 'B10'">31mm</xsl:when> + <xsl:when test="$paper.type = 'C0'">917mm</xsl:when> + <xsl:when test="$paper.type = 'C1'">648mm</xsl:when> + <xsl:when test="$paper.type = 'C2'">458mm</xsl:when> + <xsl:when test="$paper.type = 'C3'">324mm</xsl:when> + <xsl:when test="$paper.type = 'C4'">229mm</xsl:when> + <xsl:when test="$paper.type = 'C5'">162mm</xsl:when> + <xsl:when test="$paper.type = 'C6'">114mm</xsl:when> + <xsl:when test="$paper.type = 'C7'">81mm</xsl:when> + <xsl:when test="$paper.type = 'C8'">57mm</xsl:when> + <xsl:when test="$paper.type = 'C9'">40mm</xsl:when> + <xsl:when test="$paper.type = 'C10'">28mm</xsl:when> + <xsl:otherwise>8.5in</xsl:otherwise> + </xsl:choose> +</xsl:param> + + +Description + +The portrait page width is the length of the short +edge of the physical page. + + + + + + + +paper.type +list +open +open +USletter8.5x11in +USlandscape11x8.5in +USlegal8.5inx14in +USlegallandscape14inx8.5in +4A02378x1682mm +2A01682x1189mm +A01189x841mm +A1841x594mm +A2594x420mm +A3420x297mm +A4297x210mm +A5210x148mm +A6148x105mm +A7105x74mm +A874x52mm +A952x37mm +A1037x26mm +B01414x1000mm +B11000x707mm +B2707x500mm +B3500x353mm +B4353x250mm +B5250x176mm +B6176x125mm +B7125x88mm +B888x62mm +B962x44mm +B1044x31mm +C01297x917mm +C1917x648mm +C2648x458mm +C3458x324mm +C4324x229mm +C5229x162mm +C6162x114mm +C7114x81mm +C881x57mm +C957x40mm +C1040x28mm + + +paper.type +Select the paper type + + + + +<xsl:param name="paper.type">USletter</xsl:param> + + + +Description + +The paper type is a convenient way to specify the paper size. +The list of known paper sizes includes USletter and most of the A, +B, and C sizes. See page.width.portrait, for example. + + + + + + + + + +double.sided +boolean + + +double.sided +Is the document to be printed double sided? + + + + +<xsl:param name="double.sided" select="0"></xsl:param> + + + +Description + +Double-sided documents are printed with a slightly wider margin +on the binding edge of the page. + +FIXME: The current set of parameters does not take writing direction +into account. + + + + + + +body.margin.bottom +length + + +body.margin.bottom +The bottom margin of the body text + + + + +<xsl:param name="body.margin.bottom">0.5in</xsl:param> + + + +Description + +The body bottom margin is the distance from the last line of text +in the page body to the bottom of the region-after. + + + + + + + +body.margin.top +length + + +body.margin.top +To specify the size of the top margin of a page + + + + +<xsl:param name="body.margin.top">0.5in</xsl:param> + + + +Description + +The body top margin is the distance from the top of the +region-before to the first line of text in the page body. + + + + + + +body.start.indent +length + + +body.start.indent +The start-indent for the body text + + + + +<xsl:param name="body.start.indent"> + <xsl:choose> + <xsl:when test="$fop.extensions != 0">0pt</xsl:when> + <xsl:when test="$passivetex.extensions != 0">0pt</xsl:when> + <xsl:otherwise>4pc</xsl:otherwise> + </xsl:choose> +</xsl:param> + + + +Description + +This parameter provides +the means of indenting the body text relative to +section titles. +For left-to-right text direction, it indents the left side. +For right-to-left text direction, it indents the right side. +It is used in place of the +title.margin.left for +all XSL-FO processors except FOP 0.25. +It enables support for side floats to appear +in the indented margin area. + +This start-indent property is added to the fo:flow +for certain page sequences. Which page-sequences it is +applied to is determined by the template named +set.flow.properties. +By default, that template adds it to the flow +for page-sequences using the body +master-reference, as well as appendixes and prefaces. + +If this parameter is used, section titles should have +a start-indent value of 0pt if they are to be +outdented relative to the body text. + + +If you are using FOP, then set this parameter to a zero +width value and set the title.margin.left +parameter to the negative value of the desired indent. + + +See also body.end.indent and +title.margin.left. + + + + + + + +body.end.indent +length + + +body.end.indent +The end-indent for the body text + + + + +<xsl:param name="body.end.indent">0pt</xsl:param> + + + +Description + +This end-indent property is added to the fo:flow +for certain page sequences. Which page-sequences it is +applied to is determined by the template named +set.flow.properties. +By default, that template adds it to the flow +for page-sequences using the body +master-reference, as well as appendixes and prefaces. + + +See also body.start.indent. + + + + + + + +alignment + list + open + left + start + right + end + center + justify + + +alignment +Specify the default text alignment + + + +<xsl:param name="alignment">justify</xsl:param> + + +Description + +The default text alignment is used for most body text. +Allowed values are +left, +right, +start, +end, +center, +justify. +The default value is justify. + + + + + + + +hyphenate +list +closed +true +false + + +hyphenate +Specify hyphenation behavior + + + +<xsl:param name="hyphenate">true</xsl:param> + + +Description + +If true, words may be hyphenated. Otherwise, they may not. + + + + + + + +line-height +string + + +line-height +Specify the line-height property + + + + +<xsl:param name="line-height">normal</xsl:param> + + + +Description + +Sets the line-height property. + + + + + + +column.count.back +integer + + +column.count.back +Number of columns on back matter pages + + + + +<xsl:param name="column.count.back" select="1"></xsl:param> + + + +Description + +Number of columns on back matter (appendix, glossary, etc.) pages. + + + + + + +column.count.body +integer + + +column.count.body +Number of columns on body pages + + + + +<xsl:param name="column.count.body" select="1"></xsl:param> + + + +Description + +Number of columns on body pages. + + + + + + +column.count.front +integer + + +column.count.front +Number of columns on front matter pages + + + + +<xsl:param name="column.count.front" select="1"></xsl:param> + + + +Description + +Number of columns on front matter (dedication, preface, etc.) pages. + + + + + + +column.count.index +integer + + +column.count.index +Number of columns on index pages + + + + +<xsl:param name="column.count.index">2</xsl:param> + + + +Description + +Number of columns on index pages. + + + + + + +column.count.lot +integer + + +column.count.lot +Number of columns on a 'List-of-Titles' page + + + + +<xsl:param name="column.count.lot" select="1"></xsl:param> + + + +Description + +Number of columns on a page sequence containing the Table of Contents, +List of Figures, etc. + + + + + + +column.count.titlepage +integer + + +column.count.titlepage +Number of columns on a title page + + + + +<xsl:param name="column.count.titlepage" select="1"></xsl:param> + + + +Description + +Number of columns on a title page + + + + + + +column.gap.back +length + + +column.gap.back +Gap between columns in back matter + + + + +<xsl:param name="column.gap.back">12pt</xsl:param> + + + +Description + +Specifies the gap between columns in back matter (if +column.count.back is greater than one). + + + + + + +column.gap.body +length + + +column.gap.body +Gap between columns in the body + + + + +<xsl:param name="column.gap.body">12pt</xsl:param> + + + +Description + +Specifies the gap between columns in body matter (if +column.count.body is greater than one). + + + + + + +column.gap.front +length + + +column.gap.front +Gap between columns in the front matter + + + + +<xsl:param name="column.gap.front">12pt</xsl:param> + + + +Description + +Specifies the gap between columns in front matter (if +column.count.front is greater than one). + + + + + + +column.gap.index +length + + +column.gap.index +Gap between columns in the index + + + + +<xsl:param name="column.gap.index">12pt</xsl:param> + + + +Description + +Specifies the gap between columns in indexes (if +column.count.index is greater than one). + + + + + + +column.gap.lot +length + + +column.gap.lot +Gap between columns on a 'List-of-Titles' page + + + + +<xsl:param name="column.gap.lot">12pt</xsl:param> + + + +Description + +Specifies the gap between columns on 'List-of-Titles' pages (if +column.count.lot is greater than one). + + + + + + +column.gap.titlepage +length + + +column.gap.titlepage +Gap between columns on title pages + + + + +<xsl:param name="column.gap.titlepage">12pt</xsl:param> + + + +Description + +Specifies the gap between columns on title pages (if +column.count.titlepage is greater than one). + + + + + + + +region.after.extent +length + + +region.after.extent +Specifies the height of the footer. + + + + +<xsl:param name="region.after.extent">0.4in</xsl:param> + + + +Description + +The region after extent is the height of the area where footers +are printed. + + + + + + + +region.before.extent +length + + +region.before.extent +Specifies the height of the header + + + + +<xsl:param name="region.before.extent">0.4in</xsl:param> + + + +Description + +The region before extent is the height of the area where headers +are printed. + + + + + + + +default.units +list +cm +mm +in +pt +pc +px +em + + +default.units +Default units for an unqualified dimension + + + + +<xsl:param name="default.units">pt</xsl:param> + + + +Description + +If an unqualified dimension is encountered (for example, in a +graphic width), the default.units will be used for the +units. Unqualified dimensions are not allowed in XSL Formatting Objects. + + + + + + + +normal.para.spacing +attribute set + + +normal.para.spacing +What space do you want between normal paragraphs + + + +<xsl:attribute-set name="normal.para.spacing"> + <xsl:attribute name="space-before.optimum">1em</xsl:attribute> + <xsl:attribute name="space-before.minimum">0.8em</xsl:attribute> + <xsl:attribute name="space-before.maximum">1.2em</xsl:attribute> +</xsl:attribute-set> + +Description +Specify the spacing required between normal paragraphs + + + + + +body.font.master + number + + +body.font.master +Specifies the default point size for body text + + + + +<xsl:param name="body.font.master">10</xsl:param> + + + +Description + +The body font size is specified in two parameters +(body.font.master and body.font.size) +so that math can be performed on the font size by XSLT. + + + + + + + +body.font.size +length + + +body.font.size +Specifies the default font size for body text + + + + +<xsl:param name="body.font.size"> + <xsl:value-of select="$body.font.master"></xsl:value-of><xsl:text>pt</xsl:text> +</xsl:param> + + +Description + +The body font size is specified in two parameters +(body.font.master and body.font.size) +so that math can be performed on the font size by XSLT. + + + + + + + +footnote.font.size +length + + +footnote.font.size +The font size for footnotes + + + +<xsl:param name="footnote.font.size"> + <xsl:value-of select="$body.font.master * 0.8"></xsl:value-of><xsl:text>pt</xsl:text> +</xsl:param> + + +Description + +The footnote font size is used for...footnotes! + + + + + + + +title.margin.left +length + + +title.margin.left +Adjust the left margin for titles + + + + +<xsl:param name="title.margin.left"> + <xsl:choose> + <xsl:when test="$fop.extensions != 0">-4pc</xsl:when> + <xsl:when test="$passivetex.extensions != 0">0pt</xsl:when> + <xsl:otherwise>0pt</xsl:otherwise> + </xsl:choose> +</xsl:param> + + + +Description + +This parameter provides +the means of adjusting the left margin for titles +when the XSL-FO processor being used is +an old version of FOP (0.25 and earlier). +It is only useful when the fop.extensions +is nonzero. + +The left margin of the body region +is calculated to include this space, +and titles are outdented to the left outside +the body region by this amount, +effectively leaving titles at the intended left margin +and the body text indented. +Currently this method is only used for old FOP because +it cannot properly use the body.start.indent +parameter. + + +The default value when the fop.extensions +parameter is nonzero is -4pc, which means the +body text is indented 4 picas relative to +the titles. +The default value when the fop.extensions +parameter equals zero is 0pt, and +the body indent should instead be specified +using the body.start.indent +parameter. + + +If you set the value to zero, be sure to still include +a unit indicator such as 0pt, or +the FO processor will report errors. + + + + + + + +draft.mode +list +no +yes +maybe + + +draft.mode +Select draft mode + + + + +<xsl:param name="draft.mode">no</xsl:param> + + + +Description + +Selects draft mode. If draft.mode is +yes, the entire document will be treated +as a draft. If it is no, the entire document +will be treated as a final copy. If it is maybe, +individual sections will be treated as draft or final independently, depending +on how their status attribute is set. + + + + + + + +draft.watermark.image +uri + + +draft.watermark.image +The URI of the image to be used for draft watermarks + + + + +<xsl:param name="draft.watermark.image">images/draft.png</xsl:param> + + + +Description + +The image to be used for draft watermarks. + + + + + + +headers.on.blank.pages +boolean + + +headers.on.blank.pages +Put headers on blank pages? + + + + +<xsl:param name="headers.on.blank.pages" select="1"></xsl:param> + + + +Description + +If non-zero, headers will be placed on blank pages. + + + + + + +footers.on.blank.pages +boolean + + +footers.on.blank.pages +Put footers on blank pages? + + + + +<xsl:param name="footers.on.blank.pages" select="1"></xsl:param> + + + +Description + +If non-zero, footers will be placed on blank pages. + + + + + + +header.rule +boolean + + +header.rule +Rule under headers? + + + + +<xsl:param name="header.rule" select="1"></xsl:param> + + + +Description + +If non-zero, a rule will be drawn below the page headers. + + + + + + +footer.rule +boolean + + +footer.rule +Rule over footers? + + + + +<xsl:param name="footer.rule" select="1"></xsl:param> + + + +Description + +If non-zero, a rule will be drawn above the page footers. + + + + + + +header.column.widths +string + + +header.column.widths +Specify relative widths of header areas + + + +<xsl:param name="header.column.widths">1 1 1</xsl:param> + + +Description + +Page headers in print output use a three column table +to position text at the left, center, and right side of +the header on the page. +This parameter lets you specify the relative sizes of the +three columns. The default value is +"1 1 1". + +The parameter value must be three numbers, separated +by white space. The first number represents the relative +width of the inside header for +double-sided output. The second number is the relative +width of the center header. The third number is the +relative width of the outside header for +double-sided output. + +For single-sided output, the first number is the +relative width of left header for left-to-right +text direction, or the right header for right-to-left +text direction. +The third number is the +relative width of right header for left-to-right +text direction, or the left header for right-to-left +text direction. + +The numbers are used to specify the column widths +for the table that makes up the header area. +In the FO output, this looks like: + + + +<fo:table-column column-number="1" + column-width="proportional-column-width(1)"/> + + + +The proportional-column-width() +function computes a column width by dividing its +argument by the total of the arguments for all the columns, and +then multiplying the result by the width of the whole table +(assuming all the column specs use the function). +Its argument can be any positive integer or floating point number. +Zero is an acceptable value, although some FO processors +may warn about it, in which case using a very small number might +be more satisfactory. + + +For example, the value "1 2 1" means the center +header should have twice the width of the other areas. +A value of "0 0 1" means the entire header area +is reserved for the right (or outside) header text. +Note that to keep the center area centered on +the page, the left and right values must be +the same. A specification like "1 2 3" means the +center area is no longer centered on the page +since the right area is three times the width of the left area. + + + + + + + +footer.column.widths +string + + +footer.column.widths +Specify relative widths of footer areas + + + +<xsl:param name="footer.column.widths">1 1 1</xsl:param> + + +Description + +Page footers in print output use a three column table +to position text at the left, center, and right side of +the footer on the page. +This parameter lets you specify the relative sizes of the +three columns. The default value is +"1 1 1". + +The parameter value must be three numbers, separated +by white space. The first number represents the relative +width of the inside footer for +double-sided output. The second number is the relative +width of the center footer. The third number is the +relative width of the outside footer for +double-sided output. + +For single-sided output, the first number is the +relative width of left footer for left-to-right +text direction, or the right footer for right-to-left +text direction. +The third number is the +relative width of right footer for left-to-right +text direction, or the left footer for right-to-left +text direction. + +The numbers are used to specify the column widths +for the table that makes up the footer area. +In the FO output, this looks like: + + + +<fo:table-column column-number="1" + column-width="proportional-column-width(1)"/> + + + +The proportional-column-width() +function computes a column width by dividing its +argument by the total of the arguments for all the columns, and +then multiplying the result by the width of the whole table +(assuming all the column specs use the function). +Its argument can be any positive integer or floating point number. +Zero is an acceptable value, although some FO processors +may warn about it, in which case using a very small number might +be more satisfactory. + + +For example, the value "1 2 1" means the center +footer should have twice the width of the other areas. +A value of "0 0 1" means the entire footer area +is reserved for the right (or outside) footer text. +Note that to keep the center area centered on +the page, the left and right values must be +the same. A specification like "1 2 3" means the +center area is no longer centered on the page +since the right area is three times the width of the left area. + + + + + + + +header.table.properties +attribute set + + +header.table.properties +Apply properties to the header layout table + + + + +<xsl:attribute-set name="header.table.properties"> + <xsl:attribute name="table-layout">fixed</xsl:attribute> + <xsl:attribute name="width">100%</xsl:attribute> +</xsl:attribute-set> + + + +Description + +Properties applied to the table that lays out the page header. + + + + + + +header.table.height +length + + +header.table.height +Specify the minimum height of the table containing the running page headers + + + +<xsl:param name="header.table.height">14pt</xsl:param> + + +Description + +Page headers in print output use a three column table +to position text at the left, center, and right side of +the header on the page. +This parameter lets you specify the minimum height +of the single row in the table. +Since this specifies only the minimum height, +the table should automatically grow to fit taller content. +The default value is "14pt". + + + + + + +footer.table.properties +attribute set + + +footer.table.properties +Apply properties to the footer layout table + + + + +<xsl:attribute-set name="footer.table.properties"> + <xsl:attribute name="table-layout">fixed</xsl:attribute> + <xsl:attribute name="width">100%</xsl:attribute> +</xsl:attribute-set> + + + +Description + +Properties applied to the table that lays out the page footer. + + + + + + +footer.table.height +length + + +footer.table.height +Specify the minimum height of the table containing the running page footers + + + +<xsl:param name="footer.table.height">14pt</xsl:param> + + +Description + +Page footers in print output use a three column table +to position text at the left, center, and right side of +the footer on the page. +This parameter lets you specify the minimum height +of the single row in the table. +Since this specifies only the minimum height, +the table should automatically grow to fit taller content. +The default value is "14pt". + + + + + + +header.content.properties +attribute set + + +header.content.properties +Properties of page header content + + + + +<xsl:attribute-set name="header.content.properties"> + <xsl:attribute name="font-family"> + <xsl:value-of select="$body.fontset"></xsl:value-of> + </xsl:attribute> + <xsl:attribute name="margin-left"> + <xsl:value-of select="$title.margin.left"></xsl:value-of> + </xsl:attribute> +</xsl:attribute-set> + + + +Description + +Properties of page header content. + + + + + + +footer.content.properties +attribute set + + +footer.content.properties +Properties of page footer content + + + + +<xsl:attribute-set name="footer.content.properties"> + <xsl:attribute name="font-family"> + <xsl:value-of select="$body.fontset"></xsl:value-of> + </xsl:attribute> + <xsl:attribute name="margin-left"> + <xsl:value-of select="$title.margin.left"></xsl:value-of> + </xsl:attribute> +</xsl:attribute-set> + + + +Description + +Properties of page footer content. + + + + + + +marker.section.level +integer + + +marker.section.level +Control depth of sections shown in running headers or footers + + + + +<xsl:param name="marker.section.level">2</xsl:param> + + + +Description + +The marker.section.level parameter +controls the depth of section levels that may be displayed +in running headers and footers. For example, if the value +is 2 (the default), then titles from sect1 and +sect2 or equivalent section +elements are candidates for use in running headers and +footers. + +Each candidate title is marked in the FO output with a +<fo:marker marker-class-name="section.head.marker"> +element. + +In order for such titles to appear in headers +or footers, the header.content +or footer.content template +must be customized to retrieve the marker using +an output element such as: + + +<fo:retrieve-marker retrieve-class-name="section.head.marker" + retrieve-position="first-including-carryover" + retrieve-boundary="page-sequence"/> + + + + + + +
+Font Families + + +body.font.family +list +open +serif +sans-serif +monospace + + +body.font.family +The default font family for body text + + + + +<xsl:param name="body.font.family">serif</xsl:param> + + + +Description + +The body font family is the default font used for text in the page body. + + + + + + + +dingbat.font.family +list +open +serif +sans-serif +monospace + + +dingbat.font.family +The font family for copyright, quotes, and other symbols + + + + +<xsl:param name="dingbat.font.family">serif</xsl:param> + + + +Description + +The dingbat font family is used for dingbats. If it is defined +as the empty string, no font change is effected around dingbats. + + + + + + + +monospace.font.family +string + + +monospace.font.family +The default font family for monospace environments + + + + +<xsl:param name="monospace.font.family">monospace</xsl:param> + + + +Description + +The monospace font family is used for verbatim environments +(program listings, screens, etc.). + + + + + + + +sans.font.family +string + + +sans.font.family +The default sans-serif font family + + + + +<xsl:param name="sans.font.family">sans-serif</xsl:param> + + + +Description + +The default sans-serif font family. At the present, this isn't +actually used by the stylesheets. + + + + + + + +title.font.family +list +open +serif +sans-serif +monospace + + +title.font.family +The default font family for titles + + + + +<xsl:param name="title.font.family">sans-serif</xsl:param> + + + +Description + +The title font family is used for titles (chapter, section, figure, +etc.) + + + + + + + +symbol.font.family +list +open +serif +sans-serif +monospace + + +symbol.font.family +The font families to be searched for symbols outside + of the body font + + + + +<xsl:param name="symbol.font.family">Symbol,ZapfDingbats</xsl:param> + + + +Description + +A typical body or title font does not contain all +the character glyphs that DocBook supports. This parameter +specifies additional fonts that should be searched for +special characters not in the normal font. +These symbol font names are automatically appended +to the body or title font family name when fonts +are specified in a +font-family +property in the FO output. + +The symbol font names should be entered as a +comma-separated list. The default value is +Symbol,ZapfDingbats. + + + + + + +Property Sets + + +formal.object.properties +attribute set + + +formal.object.properties +Properties associated with a formal object such as a figure, or other component that has a title + + + + +<xsl:attribute-set name="formal.object.properties"> + <xsl:attribute name="space-before.minimum">0.5em</xsl:attribute> + <xsl:attribute name="space-before.optimum">1em</xsl:attribute> + <xsl:attribute name="space-before.maximum">2em</xsl:attribute> + <xsl:attribute name="space-after.minimum">0.5em</xsl:attribute> + <xsl:attribute name="space-after.optimum">1em</xsl:attribute> + <xsl:attribute name="space-after.maximum">2em</xsl:attribute> + <xsl:attribute name="keep-together.within-column">always</xsl:attribute> +</xsl:attribute-set> + + + +Description + +The styling for formal objects in docbook. Specify the spacing +before and after the object. + + + + + + +formal.title.properties +attribute set + + +formal.title.properties +Style the title element of formal object such as a figure. + + + + +<xsl:attribute-set name="formal.title.properties" use-attribute-sets="normal.para.spacing"> + <xsl:attribute name="font-weight">bold</xsl:attribute> + <xsl:attribute name="font-size"> + <xsl:value-of select="$body.font.master * 1.2"></xsl:value-of> + <xsl:text>pt</xsl:text> + </xsl:attribute> + <xsl:attribute name="hyphenate">false</xsl:attribute> + <xsl:attribute name="space-after.minimum">0.4em</xsl:attribute> + <xsl:attribute name="space-after.optimum">0.6em</xsl:attribute> + <xsl:attribute name="space-after.maximum">0.8em</xsl:attribute> +</xsl:attribute-set> + + +Description +Specify how the title should be styled. Specify the font size and weight of the title of the formal object. + + + + + +informal.object.properties +attribute set + + +informal.object.properties +Properties associated with an informal (untitled) object, such as an informalfigure + + + +<xsl:attribute-set name="informal.object.properties"> + <xsl:attribute name="space-before.minimum">0.5em</xsl:attribute> + <xsl:attribute name="space-before.optimum">1em</xsl:attribute> + <xsl:attribute name="space-before.maximum">2em</xsl:attribute> + <xsl:attribute name="space-after.minimum">0.5em</xsl:attribute> + <xsl:attribute name="space-after.optimum">1em</xsl:attribute> + <xsl:attribute name="space-after.maximum">2em</xsl:attribute> +</xsl:attribute-set> + +Description +The styling for informal objects in docbook. Specify the spacing before and after the object. + + + + + +monospace.properties +attribute set + + +monospace.properties +Properties of monospaced content + + + + +<xsl:attribute-set name="monospace.properties"> + <xsl:attribute name="font-family"> + <xsl:value-of select="$monospace.font.family"></xsl:value-of> + </xsl:attribute> +</xsl:attribute-set> + + + +Description + +Specifies the font name for monospaced output. This property set +used to set the font-size as well, but that doesn't work very well +when different fonts are used (as they are in titles and paragraphs, +for example). + +If you want to set the font-size in a customization layer, it's +probably going to be more appropriate to set font-size-adjust, if your +formatter supports it. + + + + + + +verbatim.properties +attribute set + + +verbatim.properties +Properties associated with verbatim text + + + + +<xsl:attribute-set name="verbatim.properties"> + <xsl:attribute name="space-before.minimum">0.8em</xsl:attribute> + <xsl:attribute name="space-before.optimum">1em</xsl:attribute> + <xsl:attribute name="space-before.maximum">1.2em</xsl:attribute> + <xsl:attribute name="space-after.minimum">0.8em</xsl:attribute> + <xsl:attribute name="space-after.optimum">1em</xsl:attribute> + <xsl:attribute name="space-after.maximum">1.2em</xsl:attribute> + <xsl:attribute name="hyphenate">false</xsl:attribute> + <xsl:attribute name="wrap-option">no-wrap</xsl:attribute> + <xsl:attribute name="white-space-collapse">false</xsl:attribute> + <xsl:attribute name="white-space-treatment">preserve</xsl:attribute> + <xsl:attribute name="linefeed-treatment">preserve</xsl:attribute> + <xsl:attribute name="text-align">start</xsl:attribute> +</xsl:attribute-set> + + +Description +This attribute set is used on all verbatim environments. + + + + + + +monospace.verbatim.properties +attribute set + + +monospace.verbatim.properties +What font and size do you want for monospaced content? + + + + +<xsl:attribute-set name="monospace.verbatim.properties" use-attribute-sets="verbatim.properties monospace.properties"> + <xsl:attribute name="text-align">start</xsl:attribute> + <xsl:attribute name="wrap-option">no-wrap</xsl:attribute> +</xsl:attribute-set> + + +Description +Specify the font name and size you want for monospaced output + + + + + +sidebar.properties +attribute set + + +sidebar.properties +Attribute set for sidebar properties + + + + +<xsl:attribute-set name="sidebar.properties" use-attribute-sets="formal.object.properties"> + <xsl:attribute name="border-style">solid</xsl:attribute> + <xsl:attribute name="border-width">1pt</xsl:attribute> + <xsl:attribute name="border-color">black</xsl:attribute> + <xsl:attribute name="background-color">#DDDDDD</xsl:attribute> + <xsl:attribute name="padding-start">12pt</xsl:attribute> + <xsl:attribute name="padding-end">12pt</xsl:attribute> + <xsl:attribute name="padding-top">6pt</xsl:attribute> + <xsl:attribute name="padding-bottom">6pt</xsl:attribute> + <xsl:attribute name="margin-{$direction.align.start}">0pt</xsl:attribute> + <xsl:attribute name="margin-{$direction.align.end}">0pt</xsl:attribute> +<!-- + <xsl:attribute name="margin-top">6pt</xsl:attribute> + <xsl:attribute name="margin-bottom">6pt</xsl:attribute> +--> +</xsl:attribute-set> + + + +Description + +The styling for sidebars. + + + + + + +sidebar.title.properties +attribute set + + +sidebar.title.properties +Attribute set for sidebar titles + + + + +<xsl:attribute-set name="sidebar.title.properties"> + <xsl:attribute name="font-weight">bold</xsl:attribute> + <xsl:attribute name="hyphenate">false</xsl:attribute> + <xsl:attribute name="text-align">start</xsl:attribute> + <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute> +</xsl:attribute-set> + + + +Description + +The styling for sidebars titles. + + + + + + +sidebar.float.type +list +none +before +left +start +right +end +inside +outside + + +sidebar.float.type +Select type of float for sidebar elements + + + + +<xsl:param name="sidebar.float.type">none</xsl:param> + + + +Description + +Selects the type of float for sidebar elements. + + + +If sidebar.float.type is +none, then +no float is used. + + + +If sidebar.float.type is +before, then +the float appears at the top of the page. On some processors, +that may be the next page rather than the current page. + + + + +If sidebar.float.type is +left, +then a left side float is used. + + + + +If sidebar.float.type is +start, +then when the text direction is left-to-right a left side float is used. +When the text direction is right-to-left, a right side float is used. + + + + +If sidebar.float.type is +right, +then a right side float is used. + + + + +If sidebar.float.type is +end, +then when the text direction is left-to-right a right side float is used. +When the text direction is right-to-left, a left side float is used. + + + + +If your XSL-FO processor supports floats positioned on the +inside or +outside +of double-sided pages, then you have those two +options for side floats as well. + + + + + + + + + +sidebar.float.width +length + + +sidebar.float.width +Set the default width for sidebars + + + + +<xsl:param name="sidebar.float.width">1in</xsl:param> + + + +Description + +Sets the default width for sidebars when used as a side float. +The width determines the degree to which the sidebar block intrudes into +the text area. + +If sidebar.float.type is +before or +none, then +this parameter is ignored. + + + + + + + +margin.note.properties +attribute set + + +margin.note.properties +Attribute set for margin.note properties + + + + +<xsl:attribute-set name="margin.note.properties"> + <xsl:attribute name="font-size">90%</xsl:attribute> + <xsl:attribute name="text-align">start</xsl:attribute> +</xsl:attribute-set> + + + +Description + +The styling for margin notes. +By default, margin notes are not implemented for any +element. A stylesheet customization is needed to make +use of this attribute-set. + +You can use a template named floater +to create the customization. +That template can create side floats by specifying the +content and characteristics as template parameters. + + +For example: +<xsl:template match="para[@role='marginnote']"> + <xsl:call-template name="floater"> + <xsl:with-param name="position"> + <xsl:value-of select="$margin.note.float.type"/> + </xsl:with-param> + <xsl:with-param name="width"> + <xsl:value-of select="$margin.note.width"/> + </xsl:with-param> + <xsl:with-param name="content"> + <xsl:apply-imports/> + </xsl:with-param> + </xsl:call-template> +</xsl:template> + + + + + + +margin.note.title.properties +attribute set + + +margin.note.title.properties +Attribute set for margin note titles + + + + +<xsl:attribute-set name="margin.note.title.properties"> + <xsl:attribute name="font-weight">bold</xsl:attribute> + <xsl:attribute name="hyphenate">false</xsl:attribute> + <xsl:attribute name="text-align">start</xsl:attribute> + <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute> +</xsl:attribute-set> + + + +Description + +The styling for margin note titles. + + + + + + +margin.note.float.type +list +none +before +left +start +right +end +inside +outside + + +margin.note.float.type +Select type of float for margin note customizations + + + + +<xsl:param name="margin.note.float.type">none</xsl:param> + + + +Description + +Selects the type of float for margin notes. +DocBook does not define a margin note element, so this +feature must be implemented as a customization of the stylesheet. +See margin.note.properties for +an example. + + + +If margin.note.float.type is +none, then +no float is used. + + + +If margin.note.float.type is +before, then +the float appears at the top of the page. On some processors, +that may be the next page rather than the current page. + + + +If margin.note.float.type is +left or +start, then +a left side float is used. + + + +If margin.note.float.type is +right or +end, then +a right side float is used. + + + +If your XSL-FO processor supports floats positioned on the +inside or +outside +of double-sided pages, then you have those two +options for side floats as well. + + + + + + + + + +margin.note.width +length + + +margin.note.width +Set the default width for margin notes + + + + +<xsl:param name="margin.note.width">1in</xsl:param> + + + +Description + +Sets the default width for margin notes when used as a side +float. The width determines the degree to which the margin note block +intrudes into the text area. + +If margin.note.float.type is +before or +none, then +this parameter is ignored. + + + + + + + +component.title.properties +attribute set + + +component.title.properties +Properties for component titles + + + + +<xsl:attribute-set name="component.title.properties"> + <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute> + <xsl:attribute name="space-before.optimum"><xsl:value-of select="concat($body.font.master, 'pt')"></xsl:value-of></xsl:attribute> + <xsl:attribute name="space-before.minimum"><xsl:value-of select="concat($body.font.master, 'pt * 0.8')"></xsl:value-of></xsl:attribute> + <xsl:attribute name="space-before.maximum"><xsl:value-of select="concat($body.font.master, 'pt * 1.2')"></xsl:value-of></xsl:attribute> + <xsl:attribute name="hyphenate">false</xsl:attribute> + <xsl:attribute name="text-align"> + <xsl:choose> + <xsl:when test="((parent::article | parent::articleinfo | parent::info/parent::article) and not(ancestor::book) and not(self::bibliography)) or (parent::slides | parent::slidesinfo)">center</xsl:when> + <xsl:otherwise>start</xsl:otherwise> + </xsl:choose> + </xsl:attribute> + <xsl:attribute name="start-indent"><xsl:value-of select="$title.margin.left"></xsl:value-of></xsl:attribute> +</xsl:attribute-set> + + + +Description + +The properties common to all component titles. + + + + + + +component.titlepage.properties +attribute set + + +component.titlepage.properties +Properties for component titlepages + + + + +<xsl:attribute-set name="component.titlepage.properties"> +</xsl:attribute-set> + + + +Description + +The properties that are applied to the outer block containing +all the component title page information. +Its main use is to set a span="all" +property on the block that is a direct child of the flow. + +This attribute-set also applies to index titlepages. It is empty by default. + + + + + + +section.title.properties +attribute set + + +section.title.properties +Properties for section titles + + + + +<xsl:attribute-set name="section.title.properties"> + <xsl:attribute name="font-family"> + <xsl:value-of select="$title.font.family"></xsl:value-of> + </xsl:attribute> + <xsl:attribute name="font-weight">bold</xsl:attribute> + <!-- font size is calculated dynamically by section.heading template --> + <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute> + <xsl:attribute name="space-before.minimum">0.8em</xsl:attribute> + <xsl:attribute name="space-before.optimum">1.0em</xsl:attribute> + <xsl:attribute name="space-before.maximum">1.2em</xsl:attribute> + <xsl:attribute name="text-align">start</xsl:attribute> + <xsl:attribute name="start-indent"><xsl:value-of select="$title.margin.left"></xsl:value-of></xsl:attribute> +</xsl:attribute-set> + + + +Description + +The properties common to all section titles. + + + + + + +section.title.level1.properties +attribute set + + +section.title.level1.properties +Properties for level-1 section titles + + + + +<xsl:attribute-set name="section.title.level1.properties"> + <xsl:attribute name="font-size"> + <xsl:value-of select="$body.font.master * 2.0736"></xsl:value-of> + <xsl:text>pt</xsl:text> + </xsl:attribute> +</xsl:attribute-set> + + + +Description + +The properties of level-1 section titles. + + + + + + + +section.title.level2.properties +attribute set + + +section.title.level2.properties +Properties for level-2 section titles + + + + +<xsl:attribute-set name="section.title.level2.properties"> + <xsl:attribute name="font-size"> + <xsl:value-of select="$body.font.master * 1.728"></xsl:value-of> + <xsl:text>pt</xsl:text> + </xsl:attribute> +</xsl:attribute-set> + + + +Description + +The properties of level-2 section titles. + + + + + + +section.title.level3.properties +attribute set + + +section.title.level3.properties +Properties for level-3 section titles + + + + +<xsl:attribute-set name="section.title.level3.properties"> + <xsl:attribute name="font-size"> + <xsl:value-of select="$body.font.master * 1.44"></xsl:value-of> + <xsl:text>pt</xsl:text> + </xsl:attribute> +</xsl:attribute-set> + + + +Description + +The properties of level-3 section titles. + + + + + + +section.title.level4.properties +attribute set + + +section.title.level4.properties +Properties for level-4 section titles + + + + +<xsl:attribute-set name="section.title.level4.properties"> + <xsl:attribute name="font-size"> + <xsl:value-of select="$body.font.master * 1.2"></xsl:value-of> + <xsl:text>pt</xsl:text> + </xsl:attribute> +</xsl:attribute-set> + + + +Description + +The properties of level-4 section titles. + + + + + + +section.title.level5.properties +attribute set + + +section.title.level5.properties +Properties for level-5 section titles + + + + +<xsl:attribute-set name="section.title.level5.properties"> + <xsl:attribute name="font-size"> + <xsl:value-of select="$body.font.master"></xsl:value-of> + <xsl:text>pt</xsl:text> + </xsl:attribute> +</xsl:attribute-set> + + + +Description + +The properties of level-5 section titles. + + + + + + +section.title.level6.properties +attribute set + + +section.title.level6.properties +Properties for level-6 section titles + + + + +<xsl:attribute-set name="section.title.level6.properties"> + <xsl:attribute name="font-size"> + <xsl:value-of select="$body.font.master"></xsl:value-of> + <xsl:text>pt</xsl:text> + </xsl:attribute> +</xsl:attribute-set> + + + +Description + +The properties of level-6 section titles. This property set is actually +used for all titles below level 5. + + + + + + +section.properties +attribute set + + +section.properties +Properties for all section levels + + + + +<xsl:attribute-set name="section.properties"> +</xsl:attribute-set> + + + +Description + +The properties that apply to the containing +block of all section levels, and therefore apply to +the whole section. +This attribute set is inherited by the +more specific attribute sets such as +section.level1.properties. +The default is empty. + + + + + + + +section.level1.properties +attribute set + + +section.level1.properties +Properties for level-1 sections + + + + +<xsl:attribute-set name="section.level1.properties" use-attribute-sets="section.properties"> +</xsl:attribute-set> + + + +Description + +The properties that apply to the containing +block of a level-1 section, and therefore apply to +the whole section. This includes sect1 +elements and section elements at level 1. + + +For example, you could start each level-1 section on +a new page by using: +<xsl:attribute-set name="section.level1.properties"> + <xsl:attribute name="break-before">page</xsl:attribute> +</xsl:attribute-set> + + +This attribute set inherits attributes from the +general section.properties attribute set. + + + + + + + +section.level2.properties +attribute set + + +section.level2.properties +Properties for level-2 sections + + + + +<xsl:attribute-set name="section.level2.properties" use-attribute-sets="section.properties"> +</xsl:attribute-set> + + + +Description + +The properties that apply to the containing +block of a level-2 section, and therefore apply to +the whole section. This includes sect2 +elements and section elements at level 2. + + +For example, you could start each level-2 section on +a new page by using: +<xsl:attribute-set name="section.level2.properties"> + <xsl:attribute name="break-before">page</xsl:attribute> +</xsl:attribute-set> + + +This attribute set inherits attributes from the +general section.properties attribute set. + + + + + + + +section.level3.properties +attribute set + + +section.level3.properties +Properties for level-3 sections + + + + +<xsl:attribute-set name="section.level3.properties" use-attribute-sets="section.properties"> +</xsl:attribute-set> + + + +Description + +The properties that apply to the containing +block of a level-3 section, and therefore apply to +the whole section. This includes sect3 +elements and section elements at level 3. + + +For example, you could start each level-3 section on +a new page by using: +<xsl:attribute-set name="section.level3.properties"> + <xsl:attribute name="break-before">page</xsl:attribute> +</xsl:attribute-set> + + +This attribute set inherits attributes from the +general section.properties attribute set. + + + + + + + +section.level4.properties +attribute set + + +section.level4.properties +Properties for level-4 sections + + + + +<xsl:attribute-set name="section.level4.properties" use-attribute-sets="section.properties"> +</xsl:attribute-set> + + + +Description + +The properties that apply to the containing +block of a level-4 section, and therefore apply to +the whole section. This includes sect4 +elements and section elements at level 4. + + +For example, you could start each level-4 section on +a new page by using: +<xsl:attribute-set name="section.level4.properties"> + <xsl:attribute name="break-before">page</xsl:attribute> +</xsl:attribute-set> + + +This attribute set inherits attributes from the +general section.properties attribute set. + + + + + + + +section.level5.properties +attribute set + + +section.level5.properties +Properties for level-5 sections + + + + +<xsl:attribute-set name="section.level5.properties" use-attribute-sets="section.properties"> +</xsl:attribute-set> + + + +Description + +The properties that apply to the containing +block of a level-5 section, and therefore apply to +the whole section. This includes sect5 +elements and section elements at level 5. + + +For example, you could start each level-5 section on +a new page by using: +<xsl:attribute-set name="section.level5.properties"> + <xsl:attribute name="break-before">page</xsl:attribute> +</xsl:attribute-set> + + +This attribute set inherits attributes from the +general section.properties attribute set. + + + + + + + +section.level6.properties +attribute set + + +section.level6.properties +Properties for level-6 sections + + + + +<xsl:attribute-set name="section.level6.properties" use-attribute-sets="section.properties"> +</xsl:attribute-set> + + + +Description + +The properties that apply to the containing +block of a level 6 or lower section, and therefore apply to +the whole section. This includes +section elements at level 6 and lower. + + +For example, you could start each level-6 section on +a new page by using: +<xsl:attribute-set name="section.level6.properties"> + <xsl:attribute name="break-before">page</xsl:attribute> +</xsl:attribute-set> + + +This attribute set inherits attributes from the +general section.properties attribute set. + + + + + + + +figure.properties +attribute set + + +figure.properties +Properties associated with a figure + + + + +<xsl:attribute-set name="figure.properties" use-attribute-sets="formal.object.properties"></xsl:attribute-set> + + + +Description + +The styling for figures. + + + + + + +example.properties +attribute set + + +example.properties +Properties associated with a example + + + + +<xsl:attribute-set name="example.properties" use-attribute-sets="formal.object.properties"></xsl:attribute-set> + + + +Description + +The styling for examples. + + + + + + +equation.properties +attribute set + + +equation.properties +Properties associated with a equation + + + + +<xsl:attribute-set name="equation.properties" use-attribute-sets="formal.object.properties"></xsl:attribute-set> + + + +Description + +The styling for equations. + + + + + + +equation.number.properties +attribute set + + +equation.number.properties +Properties that apply to the fo:table-cell containing the number +of an equation that does not have a title. + + + +<xsl:attribute-set name="equation.number.properties"> + <xsl:attribute name="text-align">end</xsl:attribute> + <xsl:attribute name="display-align">center</xsl:attribute> +</xsl:attribute-set> + +Description +Properties that apply to the fo:table-cell containing the number +of an equation when it has no title. The number in an equation with a +title is formatted along with the title, and this attribute-set does not apply. + + + + + +table.properties +attribute set + + +table.properties +Properties associated with the block surrounding a table + + + + +<xsl:attribute-set name="table.properties" use-attribute-sets="formal.object.properties"> + <xsl:attribute name="keep-together.within-column">auto</xsl:attribute> +</xsl:attribute-set> + + + +Description + +Block styling properties for tables. This parameter should really +have been called table.block.properties or something +like that, but we’re leaving it to avoid backwards-compatibility +problems. + +See also table.table.properties. + + + + + + +informalfigure.properties +attribute set + + +informalfigure.properties +Properties associated with an informalfigure + + + + +<xsl:attribute-set name="informalfigure.properties" use-attribute-sets="informal.object.properties"></xsl:attribute-set> + + + +Description + +The styling for informalfigures. + + + + + + +informalexample.properties +attribute set + + +informalexample.properties +Properties associated with an informalexample + + + + +<xsl:attribute-set name="informalexample.properties" use-attribute-sets="informal.object.properties"></xsl:attribute-set> + + + +Description + +The styling for informalexamples. + + + + + + +informalequation.properties +attribute set + + +informalequation.properties +Properties associated with an informalequation + + + + +<xsl:attribute-set name="informalequation.properties" use-attribute-sets="informal.object.properties"></xsl:attribute-set> + + + +Description + +The styling for informalequations. + + + + + + +informaltable.properties +attribute set + + +informaltable.properties +Properties associated with the block surrounding an informaltable + + + + +<xsl:attribute-set name="informaltable.properties" use-attribute-sets="informal.object.properties"></xsl:attribute-set> + + + +Description + +Block styling properties for informaltables. This parameter should really +have been called informaltable.block.properties or something +like that, but we’re leaving it to avoid backwards-compatibility +problems. + +See also table.table.properties. + + + + + + +procedure.properties +attribute set + + +procedure.properties +Properties associated with a procedure + + + + +<xsl:attribute-set name="procedure.properties" use-attribute-sets="formal.object.properties"> + <xsl:attribute name="keep-together.within-column">auto</xsl:attribute> +</xsl:attribute-set> + + + +Description + +The styling for procedures. + + + + + + +root.properties +attribute set + + +root.properties +The properties of the fo:root element + + + + +<xsl:attribute-set name="root.properties"> + <xsl:attribute name="font-family"> + <xsl:value-of select="$body.fontset"></xsl:value-of> + </xsl:attribute> + <xsl:attribute name="font-size"> + <xsl:value-of select="$body.font.size"></xsl:value-of> + </xsl:attribute> + <xsl:attribute name="text-align"> + <xsl:value-of select="$alignment"></xsl:value-of> + </xsl:attribute> + <xsl:attribute name="line-height"> + <xsl:value-of select="$line-height"></xsl:value-of> + </xsl:attribute> + <xsl:attribute name="font-selection-strategy">character-by-character</xsl:attribute> + <xsl:attribute name="line-height-shift-adjustment">disregard-shifts</xsl:attribute> + <xsl:attribute name="writing-mode"> + <xsl:value-of select="$direction.mode"></xsl:value-of> + </xsl:attribute> +</xsl:attribute-set> + + + +Description + +This property set is used on the fo:root element of +an FO file. It defines a set of default, global parameters. + + + + + + +qanda.title.properties +attribute set + + +qanda.title.properties +Properties for qanda set titles + + + + +<xsl:attribute-set name="qanda.title.properties"> + <xsl:attribute name="font-family"> + <xsl:value-of select="$title.font.family"></xsl:value-of> + </xsl:attribute> + <xsl:attribute name="font-weight">bold</xsl:attribute> + <!-- font size is calculated dynamically by qanda.heading template --> + <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute> + <xsl:attribute name="space-before.minimum">0.8em</xsl:attribute> + <xsl:attribute name="space-before.optimum">1.0em</xsl:attribute> + <xsl:attribute name="space-before.maximum">1.2em</xsl:attribute> +</xsl:attribute-set> + + + +Description + +The properties common to all qanda set titles. + + + + + + +qanda.title.level1.properties +attribute set + + +qanda.title.level1.properties +Properties for level-1 qanda set titles + + + + +<xsl:attribute-set name="qanda.title.level1.properties"> + <xsl:attribute name="font-size"> + <xsl:value-of select="$body.font.master * 2.0736"></xsl:value-of> + <xsl:text>pt</xsl:text> + </xsl:attribute> +</xsl:attribute-set> + + + +Description + +The properties of level-1 qanda set titles. + + + + + + +qanda.title.level2.properties +attribute set + + +qanda.title.level2.properties +Properties for level-2 qanda set titles + + + + +<xsl:attribute-set name="qanda.title.level2.properties"> + <xsl:attribute name="font-size"> + <xsl:value-of select="$body.font.master * 1.728"></xsl:value-of> + <xsl:text>pt</xsl:text> + </xsl:attribute> +</xsl:attribute-set> + + + +Description + +The properties of level-2 qanda set titles. + + + + + + +qanda.title.level3.properties +attribute set + + +qanda.title.level3.properties +Properties for level-3 qanda set titles + + + + +<xsl:attribute-set name="qanda.title.level3.properties"> + <xsl:attribute name="font-size"> + <xsl:value-of select="$body.font.master * 1.44"></xsl:value-of> + <xsl:text>pt</xsl:text> + </xsl:attribute> +</xsl:attribute-set> + + + +Description + +The properties of level-3 qanda set titles. + + + + + + +qanda.title.level4.properties +attribute set + + +qanda.title.level4.properties +Properties for level-4 qanda set titles + + + + +<xsl:attribute-set name="qanda.title.level4.properties"> + <xsl:attribute name="font-size"> + <xsl:value-of select="$body.font.master * 1.2"></xsl:value-of> + <xsl:text>pt</xsl:text> + </xsl:attribute> +</xsl:attribute-set> + + + +Description + +The properties of level-4 qanda set titles. + + + + + + +qanda.title.level5.properties +attribute set + + +qanda.title.level5.properties +Properties for level-5 qanda set titles + + + + +<xsl:attribute-set name="qanda.title.level5.properties"> + <xsl:attribute name="font-size"> + <xsl:value-of select="$body.font.master"></xsl:value-of> + <xsl:text>pt</xsl:text> + </xsl:attribute> +</xsl:attribute-set> + + + +Description + +The properties of level-5 qanda set titles. + + + + + + +qanda.title.level6.properties +attribute set + + +qanda.title.level6.properties +Properties for level-6 qanda set titles + + + + +<xsl:attribute-set name="qanda.title.level6.properties"> + <xsl:attribute name="font-size"> + <xsl:value-of select="$body.font.master"></xsl:value-of> + <xsl:text>pt</xsl:text> + </xsl:attribute> +</xsl:attribute-set> + + + +Description + +The properties of level-6 qanda set titles. +This property set is actually +used for all titles below level 5. + + + + + + +article.appendix.title.properties +attribute set + + +article.appendix.title.properties +Properties for appendix titles that appear in an article + + + + +<xsl:attribute-set name="article.appendix.title.properties" use-attribute-sets="section.title.properties section.title.level1.properties"> + <xsl:attribute name="margin-{$direction.align.start}"> + <xsl:value-of select="$title.margin.left"></xsl:value-of> + </xsl:attribute> +</xsl:attribute-set> + + + +Description + +The properties for the title of an appendix that +appears inside an article. The default is to use +the properties of sect1 titles. + + + + + + +abstract.properties +attribute set + + +abstract.properties +Properties associated with the block surrounding an abstract + + + + +<xsl:attribute-set name="abstract.properties"> + <xsl:attribute name="start-indent">0.0in</xsl:attribute> + <xsl:attribute name="end-indent">0.0in</xsl:attribute> +</xsl:attribute-set> + + + +Description + +Block styling properties for abstract. + +See also abstract.title.properties. + + + + + + +abstract.title.properties +attribute set + + +abstract.title.properties +Properties for abstract titles + + + + +<xsl:attribute-set name="abstract.title.properties"> + <xsl:attribute name="font-family"><xsl:value-of select="$title.fontset"></xsl:value-of></xsl:attribute> + <xsl:attribute name="font-weight">bold</xsl:attribute> + <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute> + <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute> + <xsl:attribute name="space-before.optimum"><xsl:value-of select="concat($body.font.master, 'pt')"></xsl:value-of></xsl:attribute> + <xsl:attribute name="space-before.minimum"><xsl:value-of select="concat($body.font.master, 'pt * 0.8')"></xsl:value-of></xsl:attribute> + <xsl:attribute name="space-before.maximum"><xsl:value-of select="concat($body.font.master, 'pt * 1.2')"></xsl:value-of></xsl:attribute> + <xsl:attribute name="hyphenate">false</xsl:attribute> + <xsl:attribute name="text-align">center</xsl:attribute> +</xsl:attribute-set> + + + +Description + +The properties for abstract titles. + +See also abstract.properties. + + + + + + +index.page.number.properties +attribute set + + +index.page.number.properties +Properties associated with index page numbers + + + + +<xsl:attribute-set name="index.page.number.properties"> +</xsl:attribute-set> + + + +Description + +Properties associated with page numbers in indexes. +Changing color to indicate the page number is a link is +one possibility. + + + + + + + +revhistory.table.properties +attribute set + + +revhistory.table.properties +The properties of table used for formatting revhistory + + + + +<xsl:attribute-set name="revhistory.table.properties"> +</xsl:attribute-set> + + + +Description + +This property set defines appearance of revhistory table. + + + + + + +revhistory.table.cell.properties +attribute set + + +revhistory.table.cell.properties +The properties of table cells used for formatting revhistory + + + + +<xsl:attribute-set name="revhistory.table.cell.properties"> +</xsl:attribute-set> + + + +Description + +This property set defines appearance of individual cells in revhistory table. + + + + + + +revhistory.title.properties +attribute set + + +revhistory.title.properties +The properties of revhistory title + + + + +<xsl:attribute-set name="revhistory.title.properties"> +</xsl:attribute-set> + + + +Description + +This property set defines appearance of revhistory title. + + + + + +Profiling + +The following parameters can be used for attribute-based +profiling of your document. For more information about profiling, see +Profiling (conditional text). + + + +profile.arch +string + + +profile.arch +Target profile for arch +attribute + + + + +<xsl:param name="profile.arch"></xsl:param> + + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.audience +string + + +profile.audience +Target profile for audience +attribute + + + + +<xsl:param name="profile.audience"></xsl:param> + + + +Description + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.condition +string + + +profile.condition +Target profile for condition +attribute + + + + +<xsl:param name="profile.condition"></xsl:param> + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.conformance +string + + +profile.conformance +Target profile for conformance +attribute + + + + +<xsl:param name="profile.conformance"></xsl:param> + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.lang +string + + +profile.lang +Target profile for lang +attribute + + + + +<xsl:param name="profile.lang"></xsl:param> + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.os +string + + +profile.os +Target profile for os +attribute + + + + +<xsl:param name="profile.os"></xsl:param> + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.revision +string + + +profile.revision +Target profile for revision +attribute + + + + +<xsl:param name="profile.revision"></xsl:param> + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.revisionflag +string + + +profile.revisionflag +Target profile for revisionflag +attribute + + + + +<xsl:param name="profile.revisionflag"></xsl:param> + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.role +string + + +profile.role +Target profile for role +attribute + + + + +<xsl:param name="profile.role"></xsl:param> + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + +Note that role is often +used for other purposes than profiling. For example it is commonly +used to get emphasize in bold font: + +<emphasis role="bold">very important</emphasis> + +If you are using role for +these purposes do not forget to add values like bold to +value of this parameter. If you forgot you will get document with +small pieces missing which are very hard to track. + +For this reason it is not recommended to use role attribute for profiling. You should +rather use profiling specific attributes like userlevel, os, arch, condition, etc. + + + + + + + +profile.security +string + + +profile.security +Target profile for security +attribute + + + + +<xsl:param name="profile.security"></xsl:param> + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.status +string + + +profile.status +Target profile for status +attribute + + + + +<xsl:param name="profile.status"></xsl:param> + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.userlevel +string + + +profile.userlevel +Target profile for userlevel +attribute + + + + +<xsl:param name="profile.userlevel"></xsl:param> + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.vendor +string + + +profile.vendor +Target profile for vendor +attribute + + + + +<xsl:param name="profile.vendor"></xsl:param> + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.wordsize +string + + +profile.wordsize +Target profile for wordsize +attribute + + + + +<xsl:param name="profile.wordsize"></xsl:param> + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.attribute +string + + +profile.attribute +Name of user-specified profiling attribute + + + + +<xsl:param name="profile.attribute"></xsl:param> + + + +Description + +This parameter is used in conjuction with +profile.value. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.value +string + + +profile.value +Target profile for user-specified attribute + + + + +<xsl:param name="profile.value"></xsl:param> + + + +Description + +When you are using this parameter you must also specify name of +profiling attribute with parameter +profile.attribute. + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.separator +string + + +profile.separator +Separator character for compound profile values + + + + +<xsl:param name="profile.separator">;</xsl:param> + + + +Description + +Separator character used for compound profile values. See profile.arch + + + + + +Localization + + +l10n.gentext.language +string + + +l10n.gentext.language +Sets the gentext language + + + + +<xsl:param name="l10n.gentext.language"></xsl:param> + + + +Description + +If this parameter is set to any value other than the empty string, its +value will be used as the value for the language when generating text. Setting +l10n.gentext.language overrides any settings within the +document being formatted. + +It's much more likely that you might want to set the +l10n.gentext.default.language parameter. + + + + + + + l10n.gentext.default.language + string + + + l10n.gentext.default.language + Sets the default language for generated text + + + + +<xsl:param name="l10n.gentext.default.language">en</xsl:param> + + + +Description + +The value of the l10n.gentext.default.language +parameter is used as the language for generated text if no setting is provided +in the source document. + + + + + + +l10n.gentext.use.xref.language +boolean + + +l10n.gentext.use.xref.language +Use the language of target when generating cross-reference text? + + + + +<xsl:param name="l10n.gentext.use.xref.language" select="0"></xsl:param> + + + +Description + +If non-zero, the language of the target will be used when +generating cross reference text. Usually, the current +language is used when generating text (that is, the language of the +element that contains the cross-reference element). But setting this parameter +allows the language of the element pointed to to control +the generated text. + +Consider the following example: + + +<para lang="en">See also <xref linkend="chap3"/>.</para> + + + +Suppose that Chapter 3 happens to be written in German. +If l10n.gentext.use.xref.language is non-zero, the +resulting text will be something like this: + +
+See also Kapital 3. +
+ +Where the more traditional rendering would be: + +
+See also Chapter 3. +
+ +
+
+ + + +l10n.lang.value.rfc.compliant +boolean + + +l10n.lang.value.rfc.compliant +Make value of lang attribute RFC compliant? + + + + +<xsl:param name="l10n.lang.value.rfc.compliant" select="1"></xsl:param> + + + +Description + +If non-zero, ensure that the values for all lang attributes in HTML output are RFC +compliantSection 8.1.1, Language Codes, in the HTML 4.0 Recommendation states that: + +
[RFC1766] defines and explains the language codes +that must be used in HTML documents. +Briefly, language codes consist of a primary code and a possibly +empty series of subcodes: + +language-code = primary-code ( "-" subcode )* + +And in RFC 1766, Tags for the Identification +of Languages, the EBNF for "language tag" is given as: + +Language-Tag = Primary-tag *( "-" Subtag ) +Primary-tag = 1*8ALPHA +Subtag = 1*8ALPHA + +
+
. + +by taking any underscore characters in any lang values found in source documents, and +replacing them with hyphen characters in output HTML files. For +example, zh_CN in a source document becomes +zh-CN in the HTML output form that source. + + +This parameter does not cause any case change in lang values, because RFC 1766 +explicitly states that all "language tags" (as it calls them) "are +to be treated as case insensitive". + +
+ +
+
+ + + +writing.mode +string + + +writing.mode +Direction of text flow based on locale + + + + +<xsl:param name="writing.mode"> + <xsl:call-template name="gentext"> + <xsl:with-param name="key">writing-mode</xsl:with-param> + <xsl:with-param name="lang"> + <xsl:call-template name="l10n.language"> + <xsl:with-param name="target" select="/*[1]"></xsl:with-param> + </xsl:call-template> + </xsl:with-param> + </xsl:call-template> +</xsl:param> + + + +Description + +Sets direction of text flow and text alignment based on locale. +The value is normally taken from the gentext file for the +lang attribute of the document's root element, using the +key name 'writing-mode' to look it up in the gentext file. +But the param can also be +set on the command line to override that gentext value. + +Accepted values are: + + + lr-tb + + Left-to-right text flow in each line, lines stack top to bottom. + + + + rl-tb + + Right-to-left text flow in each line, lines stack top to bottom. + + + + tb-rl + + Top-to-bottom text flow in each vertical line, lines stack right to left. + Supported by only a few XSL-FO processors. Not supported in HTML output. + + + + lr + + Shorthand for lr-tb. + + + + rl + + Shorthand for rl-tb. + + + + tb + + Shorthand for tb-rl. + + + + + + + + +
+EBNF + + +ebnf.assignment +rtf + + +ebnf.assignment +The EBNF production assignment operator + + + + + +<xsl:param name="ebnf.assignment"> + <fo:inline font-family="{$monospace.font.family}"> + <xsl:text>::=</xsl:text> + </fo:inline> +</xsl:param> + + + +Description + +The ebnf.assignment parameter determines what +text is used to show assignment in productions +in productionsets. + +While ::= is common, so are several +other operators. + + + + + + +ebnf.statement.terminator +rtf + + +ebnf.statement.terminator +Punctuation that ends an EBNF statement. + + + + + +<xsl:param name="ebnf.statement.terminator"></xsl:param> + + + +Description + +The ebnf.statement.terminator parameter determines what +text is used to terminate each production +in productionset. + +Some notations end each statement with a period. + + + + + +Prepress + + +crop.marks +boolean + + +crop.marks +Output crop marks? + + + + +<xsl:param name="crop.marks" select="0"></xsl:param> + + + +Description + +If non-zero, crop marks will be added to each page. Currently this +works only with XEP if you have xep.extensions set. + + + + + + +crop.mark.width +length + + +crop.mark.width +Width of crop marks. + + + + +<xsl:param name="crop.mark.width">0.5pt</xsl:param> + + + +Description + +Width of crop marks. Crop marks are controlled by +crop.marks parameter. + + + + + + +crop.mark.offset +length + + +crop.mark.offset +Length of crop marks. + + + + +<xsl:param name="crop.mark.offset">24pt</xsl:param> + + + +Description + +Length of crop marks. Crop marks are controlled by +crop.marks parameter. + + + + + + +crop.mark.bleed +length + + +crop.mark.bleed +Length of invisible part of crop marks. + + + + +<xsl:param name="crop.mark.bleed">6pt</xsl:param> + + + +Description + +Length of invisible part of crop marks. Crop marks are controlled by +crop.marks parameter. + + + + + + +The Stylesheet + +The param.xsl stylesheet is just a wrapper +around all these parameters. + + +<xsl:stylesheet exclude-result-prefixes="src" version="1.0"> + +<!-- This file is generated from param.xweb --> + +<!-- ******************************************************************** + $Id: param.xweb 8543 2009-12-02 06:05:24Z bobstayton $ + ******************************************************************** + + This file is part of the XSL DocBook Stylesheet distribution. + See ../README or http://docbook.sf.net/release/xsl/current/ for + copyright and other information. + + ******************************************************************** --> + +<src:fragref linkend="abstract.properties.frag"></src:fragref> +<src:fragref linkend="abstract.title.properties.frag"></src:fragref> +<src:fragref linkend="admon.graphics.extension.frag"></src:fragref> +<src:fragref linkend="admon.graphics.frag"></src:fragref> +<src:fragref linkend="admon.graphics.path.frag"></src:fragref> +<src:fragref linkend="admon.textlabel.frag"></src:fragref> +<src:fragref linkend="admonition.properties.frag"></src:fragref> +<src:fragref linkend="admonition.title.properties.frag"></src:fragref> +<src:fragref linkend="graphical.admonition.properties.frag"></src:fragref> +<src:fragref linkend="nongraphical.admonition.properties.frag"></src:fragref> +<src:fragref linkend="alignment.frag"></src:fragref> +<src:fragref linkend="appendix.autolabel.frag"></src:fragref> +<src:fragref linkend="arbortext.extensions.frag"></src:fragref> +<src:fragref linkend="article.appendix.title.properties.frag"></src:fragref> +<src:fragref linkend="author.othername.in.middle.frag"></src:fragref> +<src:fragref linkend="autotoc.label.separator.frag"></src:fragref> +<src:fragref linkend="axf.extensions.frag"></src:fragref> +<src:fragref linkend="biblioentry.item.separator.frag"></src:fragref> +<src:fragref linkend="biblioentry.properties.frag"></src:fragref> +<src:fragref linkend="bibliography.collection.frag"></src:fragref> +<src:fragref linkend="bibliography.numbered.frag"></src:fragref> +<src:fragref linkend="bibliography.style.frag"></src:fragref> +<src:fragref linkend="blockquote.properties.frag"></src:fragref> +<src:fragref linkend="body.font.family.frag"></src:fragref> +<src:fragref linkend="body.font.master.frag"></src:fragref> +<src:fragref linkend="body.font.size.frag"></src:fragref> +<src:fragref linkend="body.margin.bottom.frag"></src:fragref> +<src:fragref linkend="body.margin.top.frag"></src:fragref> +<src:fragref linkend="body.start.indent.frag"></src:fragref> +<src:fragref linkend="body.end.indent.frag"></src:fragref> +<src:fragref linkend="bookmarks.collapse.frag"></src:fragref> +<src:fragref linkend="bridgehead.in.toc.frag"></src:fragref> +<src:fragref linkend="callout.defaultcolumn.frag"></src:fragref> +<src:fragref linkend="callout.graphics.extension.frag"></src:fragref> +<src:fragref linkend="callout.graphics.frag"></src:fragref> +<src:fragref linkend="callout.icon.size.frag"></src:fragref> +<src:fragref linkend="callout.graphics.number.limit.frag"></src:fragref> +<src:fragref linkend="callout.graphics.path.frag"></src:fragref> +<src:fragref linkend="callout.unicode.font.frag"></src:fragref> +<src:fragref linkend="callout.unicode.frag"></src:fragref> +<src:fragref linkend="callout.unicode.number.limit.frag"></src:fragref> +<src:fragref linkend="callout.unicode.start.character.frag"></src:fragref> +<src:fragref linkend="callouts.extension.frag"></src:fragref> +<src:fragref linkend="chapter.autolabel.frag"></src:fragref> +<src:fragref linkend="collect.xref.targets.frag"></src:fragref> +<src:fragref linkend="column.count.back.frag"></src:fragref> +<src:fragref linkend="column.count.body.frag"></src:fragref> +<src:fragref linkend="column.count.front.frag"></src:fragref> +<src:fragref linkend="column.count.index.frag"></src:fragref> +<src:fragref linkend="column.count.lot.frag"></src:fragref> +<src:fragref linkend="column.count.titlepage.frag"></src:fragref> +<src:fragref linkend="column.gap.back.frag"></src:fragref> +<src:fragref linkend="column.gap.body.frag"></src:fragref> +<src:fragref linkend="column.gap.front.frag"></src:fragref> +<src:fragref linkend="column.gap.index.frag"></src:fragref> +<src:fragref linkend="column.gap.lot.frag"></src:fragref> +<src:fragref linkend="column.gap.titlepage.frag"></src:fragref> +<src:fragref linkend="compact.list.item.spacing.frag"></src:fragref> +<src:fragref linkend="component.label.includes.part.label.frag"></src:fragref> +<src:fragref linkend="component.title.properties.frag"></src:fragref> +<src:fragref linkend="component.titlepage.properties.frag"></src:fragref> +<src:fragref linkend="crop.marks.frag"></src:fragref> +<src:fragref linkend="crop.mark.width.frag"></src:fragref> +<src:fragref linkend="crop.mark.offset.frag"></src:fragref> +<src:fragref linkend="crop.mark.bleed.frag"></src:fragref> +<src:fragref linkend="current.docid.frag"></src:fragref> +<src:fragref linkend="default.float.class.frag"></src:fragref> +<src:fragref linkend="default.image.width.frag"></src:fragref> +<src:fragref linkend="default.table.width.frag"></src:fragref> +<src:fragref linkend="default.table.frame.frag"></src:fragref> +<src:fragref linkend="default.table.rules.frag"></src:fragref> +<src:fragref linkend="default.units.frag"></src:fragref> +<src:fragref linkend="dingbat.font.family.frag"></src:fragref> +<src:fragref linkend="double.sided.frag"></src:fragref> +<src:fragref linkend="draft.mode.frag"></src:fragref> +<src:fragref linkend="draft.watermark.image.frag"></src:fragref> +<src:fragref linkend="ebnf.assignment.frag"></src:fragref> +<src:fragref linkend="ebnf.statement.terminator.frag"></src:fragref> +<src:fragref linkend="email.delimiters.enabled.frag"></src:fragref> +<src:fragref linkend="email.mailto.enabled.frag"></src:fragref> +<src:fragref linkend="equation.properties.frag"></src:fragref> +<src:fragref linkend="equation.number.properties.frag"></src:fragref> +<src:fragref linkend="example.properties.frag"></src:fragref> +<src:fragref linkend="exsl.node.set.available.frag"></src:fragref> +<src:fragref linkend="figure.properties.frag"></src:fragref> +<src:fragref linkend="firstterm.only.link.frag"></src:fragref> +<src:fragref linkend="footer.content.properties.frag"></src:fragref> +<src:fragref linkend="footer.rule.frag"></src:fragref> +<src:fragref linkend="footer.column.widths.frag"></src:fragref> +<src:fragref linkend="footer.table.height.frag"></src:fragref> +<src:fragref linkend="footer.table.properties.frag"></src:fragref> +<src:fragref linkend="footers.on.blank.pages.frag"></src:fragref> +<src:fragref linkend="footnote.font.size.frag"></src:fragref> +<src:fragref linkend="footnote.number.format.frag"></src:fragref> +<src:fragref linkend="footnote.number.symbols.frag"></src:fragref> +<src:fragref linkend="footnote.mark.properties.frag"></src:fragref> +<src:fragref linkend="footnote.properties.frag"></src:fragref> +<src:fragref linkend="footnote.sep.leader.properties.frag"></src:fragref> +<src:fragref linkend="fop.extensions.frag"></src:fragref> +<src:fragref linkend="fop1.extensions.frag"></src:fragref> +<src:fragref linkend="formal.object.properties.frag"></src:fragref> +<src:fragref linkend="formal.procedures.frag"></src:fragref> +<src:fragref linkend="formal.title.placement.frag"></src:fragref> +<src:fragref linkend="formal.title.properties.frag"></src:fragref> +<src:fragref linkend="funcsynopsis.decoration.frag"></src:fragref> +<src:fragref linkend="funcsynopsis.style.frag"></src:fragref> +<src:fragref linkend="function.parens.frag"></src:fragref> +<src:fragref linkend="generate.index.frag"></src:fragref> +<src:fragref linkend="generate.section.toc.level.frag"></src:fragref> +<src:fragref linkend="generate.toc.frag"></src:fragref> +<src:fragref linkend="glossary.as.blocks.frag"></src:fragref> +<src:fragref linkend="glossary.collection.frag"></src:fragref> +<src:fragref linkend="glossary.sort.frag"></src:fragref> +<src:fragref linkend="glossentry.show.acronym.frag"></src:fragref> +<src:fragref linkend="glosslist.as.blocks.frag"></src:fragref> +<src:fragref linkend="glossterm.auto.link.frag"></src:fragref> +<src:fragref linkend="glossterm.separation.frag"></src:fragref> +<src:fragref linkend="glossterm.width.frag"></src:fragref> +<src:fragref linkend="glossentry.list.item.properties.frag"></src:fragref> +<src:fragref linkend="glossterm.list.properties.frag"></src:fragref> +<src:fragref linkend="glossterm.block.properties.frag"></src:fragref> +<src:fragref linkend="glossdef.list.properties.frag"></src:fragref> +<src:fragref linkend="glossdef.block.properties.frag"></src:fragref> +<src:fragref linkend="graphic.default.extension.frag"></src:fragref> +<src:fragref linkend="header.content.properties.frag"></src:fragref> +<src:fragref linkend="header.rule.frag"></src:fragref> +<src:fragref linkend="header.column.widths.frag"></src:fragref> +<src:fragref linkend="header.table.height.frag"></src:fragref> +<src:fragref linkend="header.table.properties.frag"></src:fragref> +<src:fragref linkend="headers.on.blank.pages.frag"></src:fragref> +<src:fragref linkend="highlight.default.language.frag"></src:fragref> +<src:fragref linkend="highlight.source.frag"></src:fragref> +<src:fragref linkend="highlight.xslthl.config.frag"></src:fragref> +<src:fragref linkend="hyphenate.frag"></src:fragref> +<src:fragref linkend="hyphenate.verbatim.frag"></src:fragref> +<src:fragref linkend="hyphenate.verbatim.characters.frag"></src:fragref> +<src:fragref linkend="ignore.image.scaling.frag"></src:fragref> +<src:fragref linkend="img.src.path.frag"></src:fragref> +<src:fragref linkend="index.method.frag"></src:fragref> +<src:fragref linkend="index.on.role.frag"></src:fragref> +<src:fragref linkend="index.on.type.frag"></src:fragref> +<src:fragref linkend="index.page.number.properties.frag"></src:fragref> +<src:fragref linkend="informalequation.properties.frag"></src:fragref> +<src:fragref linkend="informalexample.properties.frag"></src:fragref> +<src:fragref linkend="informalfigure.properties.frag"></src:fragref> +<src:fragref linkend="informal.object.properties.frag"></src:fragref> +<src:fragref linkend="informaltable.properties.frag"></src:fragref> +<src:fragref linkend="index.preferred.page.properties.frag"></src:fragref> +<src:fragref linkend="index.div.title.properties.frag"></src:fragref> +<src:fragref linkend="index.entry.properties.frag"></src:fragref> +<src:fragref linkend="index.number.separator.frag"></src:fragref> +<src:fragref linkend="index.range.separator.frag"></src:fragref> +<src:fragref linkend="index.term.separator.frag"></src:fragref> +<src:fragref linkend="insert.link.page.number.frag"></src:fragref> +<src:fragref linkend="insert.xref.page.number.frag"></src:fragref> +<src:fragref linkend="itemizedlist.properties.frag"></src:fragref> +<src:fragref linkend="itemizedlist.label.properties.frag"></src:fragref> +<src:fragref linkend="itemizedlist.label.width.frag"></src:fragref> +<src:fragref linkend="keep.relative.image.uris.frag"></src:fragref> +<src:fragref linkend="l10n.gentext.default.language.frag"></src:fragref> +<src:fragref linkend="l10n.gentext.language.frag"></src:fragref> +<src:fragref linkend="l10n.gentext.use.xref.language.frag"></src:fragref> +<src:fragref linkend="l10n.lang.value.rfc.compliant.frag"></src:fragref> +<src:fragref linkend="label.from.part.frag"></src:fragref> +<src:fragref linkend="line-height.frag"></src:fragref> +<src:fragref linkend="linenumbering.everyNth.frag"></src:fragref> +<src:fragref linkend="linenumbering.extension.frag"></src:fragref> +<src:fragref linkend="linenumbering.separator.frag"></src:fragref> +<src:fragref linkend="linenumbering.width.frag"></src:fragref> +<src:fragref linkend="list.block.properties.frag"></src:fragref> +<src:fragref linkend="list.block.spacing.frag"></src:fragref> +<src:fragref linkend="list.item.spacing.frag"></src:fragref> +<src:fragref linkend="make.index.markup.frag"></src:fragref> +<src:fragref linkend="make.single.year.ranges.frag"></src:fragref> +<src:fragref linkend="make.year.ranges.frag"></src:fragref> +<src:fragref linkend="margin.note.properties.frag"></src:fragref> +<src:fragref linkend="margin.note.title.properties.frag"></src:fragref> +<src:fragref linkend="margin.note.float.type.frag"></src:fragref> +<src:fragref linkend="margin.note.width.frag"></src:fragref> +<src:fragref linkend="marker.section.level.frag"></src:fragref> +<src:fragref linkend="menuchoice.menu.separator.frag"></src:fragref> +<src:fragref linkend="menuchoice.separator.frag"></src:fragref> +<src:fragref linkend="monospace.font.family.frag"></src:fragref> +<src:fragref linkend="monospace.properties.frag"></src:fragref> +<src:fragref linkend="monospace.verbatim.properties.frag"></src:fragref> +<src:fragref linkend="monospace.verbatim.font.width.frag"></src:fragref> +<src:fragref linkend="nominal.table.width.frag"></src:fragref> +<src:fragref linkend="normal.para.spacing.frag"></src:fragref> +<src:fragref linkend="olink.doctitle.frag"></src:fragref> +<src:fragref linkend="olink.base.uri.frag"></src:fragref> +<src:fragref linkend="olink.debug.frag"></src:fragref> +<src:fragref linkend="olink.properties.frag"></src:fragref> +<src:fragref linkend="olink.lang.fallback.sequence.frag"></src:fragref> +<src:fragref linkend="orderedlist.properties.frag"></src:fragref> +<src:fragref linkend="orderedlist.label.properties.frag"></src:fragref> +<src:fragref linkend="orderedlist.label.width.frag"></src:fragref> +<src:fragref linkend="prefer.internal.olink.frag"></src:fragref> +<src:fragref linkend="insert.olink.page.number.frag"></src:fragref> +<src:fragref linkend="insert.olink.pdf.frag.frag"></src:fragref> +<src:fragref linkend="page.height.frag"></src:fragref> +<src:fragref linkend="page.height.portrait.frag"></src:fragref> +<src:fragref linkend="page.margin.bottom.frag"></src:fragref> +<src:fragref linkend="page.margin.inner.frag"></src:fragref> +<src:fragref linkend="page.margin.outer.frag"></src:fragref> +<src:fragref linkend="page.margin.top.frag"></src:fragref> +<src:fragref linkend="page.orientation.frag"></src:fragref> +<src:fragref linkend="page.width.frag"></src:fragref> +<src:fragref linkend="page.width.portrait.frag"></src:fragref> +<src:fragref linkend="paper.type.frag"></src:fragref> +<src:fragref linkend="part.autolabel.frag"></src:fragref> +<src:fragref linkend="passivetex.extensions.frag"></src:fragref> +<src:fragref linkend="pgwide.properties.frag"></src:fragref> +<src:fragref linkend="preface.autolabel.frag"></src:fragref> +<src:fragref linkend="preferred.mediaobject.role.frag"></src:fragref> +<src:fragref linkend="procedure.properties.frag"></src:fragref> +<src:fragref linkend="process.empty.source.toc.frag"></src:fragref> +<src:fragref linkend="process.source.toc.frag"></src:fragref> +<src:fragref linkend="profile.arch.frag"></src:fragref> +<src:fragref linkend="profile.audience.frag"></src:fragref> +<src:fragref linkend="profile.attribute.frag"></src:fragref> +<src:fragref linkend="profile.condition.frag"></src:fragref> +<src:fragref linkend="profile.conformance.frag"></src:fragref> +<src:fragref linkend="profile.lang.frag"></src:fragref> +<src:fragref linkend="profile.os.frag"></src:fragref> +<src:fragref linkend="profile.revision.frag"></src:fragref> +<src:fragref linkend="profile.revisionflag.frag"></src:fragref> +<src:fragref linkend="profile.role.frag"></src:fragref> +<src:fragref linkend="profile.security.frag"></src:fragref> +<src:fragref linkend="profile.separator.frag"></src:fragref> +<src:fragref linkend="profile.status.frag"></src:fragref> +<src:fragref linkend="profile.userlevel.frag"></src:fragref> +<src:fragref linkend="profile.value.frag"></src:fragref> +<src:fragref linkend="profile.vendor.frag"></src:fragref> +<src:fragref linkend="profile.wordsize.frag"></src:fragref> +<src:fragref linkend="punct.honorific.frag"></src:fragref> +<src:fragref linkend="qanda.defaultlabel.frag"></src:fragref> +<src:fragref linkend="qanda.in.toc.frag"></src:fragref> +<src:fragref linkend="qanda.nested.in.toc.frag"></src:fragref> +<src:fragref linkend="qanda.inherit.numeration.frag"></src:fragref> +<src:fragref linkend="qandadiv.autolabel.frag"></src:fragref> +<src:fragref linkend="qanda.title.level1.properties.frag"></src:fragref> +<src:fragref linkend="qanda.title.level2.properties.frag"></src:fragref> +<src:fragref linkend="qanda.title.level3.properties.frag"></src:fragref> +<src:fragref linkend="qanda.title.level4.properties.frag"></src:fragref> +<src:fragref linkend="qanda.title.level5.properties.frag"></src:fragref> +<src:fragref linkend="qanda.title.level6.properties.frag"></src:fragref> +<src:fragref linkend="qanda.title.properties.frag"></src:fragref> +<src:fragref linkend="refentry.generate.name.frag"></src:fragref> +<src:fragref linkend="refentry.generate.title.frag"></src:fragref> +<src:fragref linkend="refentry.pagebreak.frag"></src:fragref> +<src:fragref linkend="refentry.title.properties.frag"></src:fragref> +<src:fragref linkend="refentry.xref.manvolnum.frag"></src:fragref> +<src:fragref linkend="reference.autolabel.frag"></src:fragref> +<src:fragref linkend="refclass.suppress.frag"></src:fragref> +<src:fragref linkend="region.after.extent.frag"></src:fragref> +<src:fragref linkend="region.before.extent.frag"></src:fragref> +<src:fragref linkend="revhistory.table.properties.frag"></src:fragref> +<src:fragref linkend="revhistory.table.cell.properties.frag"></src:fragref> +<src:fragref linkend="revhistory.title.properties.frag"></src:fragref> +<src:fragref linkend="root.properties.frag"></src:fragref> +<src:fragref linkend="rootid.frag"></src:fragref> +<src:fragref linkend="runinhead.default.title.end.punct.frag"></src:fragref> +<src:fragref linkend="runinhead.title.end.punct.frag"></src:fragref> +<src:fragref linkend="sans.font.family.frag"></src:fragref> +<src:fragref linkend="section.autolabel.frag"></src:fragref> +<src:fragref linkend="section.autolabel.max.depth.frag"></src:fragref> +<src:fragref linkend="section.container.element.frag"></src:fragref> +<src:fragref linkend="section.label.includes.component.label.frag"></src:fragref> +<src:fragref linkend="section.title.level1.properties.frag"></src:fragref> +<src:fragref linkend="section.title.level2.properties.frag"></src:fragref> +<src:fragref linkend="section.title.level3.properties.frag"></src:fragref> +<src:fragref linkend="section.title.level4.properties.frag"></src:fragref> +<src:fragref linkend="section.title.level5.properties.frag"></src:fragref> +<src:fragref linkend="section.title.level6.properties.frag"></src:fragref> +<src:fragref linkend="section.title.properties.frag"></src:fragref> +<src:fragref linkend="section.level1.properties.frag"></src:fragref> +<src:fragref linkend="section.level2.properties.frag"></src:fragref> +<src:fragref linkend="section.level3.properties.frag"></src:fragref> +<src:fragref linkend="section.level4.properties.frag"></src:fragref> +<src:fragref linkend="section.level5.properties.frag"></src:fragref> +<src:fragref linkend="section.level6.properties.frag"></src:fragref> +<src:fragref linkend="section.properties.frag"></src:fragref> +<src:fragref linkend="segmentedlist.as.table.frag"></src:fragref> +<src:fragref linkend="shade.verbatim.frag"></src:fragref> +<src:fragref linkend="shade.verbatim.style.frag"></src:fragref> +<src:fragref linkend="show.comments.frag"></src:fragref> +<src:fragref linkend="sidebar.properties.frag"></src:fragref> +<src:fragref linkend="sidebar.title.properties.frag"></src:fragref> +<src:fragref linkend="sidebar.float.type.frag"></src:fragref> +<src:fragref linkend="sidebar.float.width.frag"></src:fragref> +<src:fragref linkend="simplesect.in.toc.frag"></src:fragref> +<src:fragref linkend="subscript.properties.frag"></src:fragref> +<src:fragref linkend="superscript.properties.frag"></src:fragref> +<src:fragref linkend="symbol.font.family.frag"></src:fragref> +<src:fragref linkend="table.cell.border.color.frag"></src:fragref> +<src:fragref linkend="table.cell.border.style.frag"></src:fragref> +<src:fragref linkend="table.cell.border.thickness.frag"></src:fragref> +<src:fragref linkend="table.cell.padding.frag"></src:fragref> +<src:fragref linkend="table.footnote.number.format.frag"></src:fragref> +<src:fragref linkend="table.footnote.number.symbols.frag"></src:fragref> +<src:fragref linkend="table.footnote.properties.frag"></src:fragref> +<src:fragref linkend="table.frame.border.color.frag"></src:fragref> +<src:fragref linkend="table.frame.border.style.frag"></src:fragref> +<src:fragref linkend="table.frame.border.thickness.frag"></src:fragref> +<src:fragref linkend="table.properties.frag"></src:fragref> +<src:fragref linkend="tablecolumns.extension.frag"></src:fragref> +<src:fragref linkend="table.table.properties.frag"></src:fragref> +<src:fragref linkend="target.database.document.frag"></src:fragref> +<src:fragref linkend="targets.filename.frag"></src:fragref> +<src:fragref linkend="textdata.default.encoding.frag"></src:fragref> +<src:fragref linkend="tex.math.delims.frag"></src:fragref> +<src:fragref linkend="tex.math.in.alt.frag"></src:fragref> +<src:fragref linkend="textinsert.extension.frag"></src:fragref> +<src:fragref linkend="title.font.family.frag"></src:fragref> +<src:fragref linkend="title.margin.left.frag"></src:fragref> +<src:fragref linkend="toc.indent.width.frag"></src:fragref> +<src:fragref linkend="toc.line.properties.frag"></src:fragref> +<src:fragref linkend="toc.margin.properties.frag"></src:fragref> +<src:fragref linkend="toc.max.depth.frag"></src:fragref> +<src:fragref linkend="toc.section.depth.frag"></src:fragref> +<src:fragref linkend="ulink.footnotes.frag"></src:fragref> +<src:fragref linkend="ulink.hyphenate.frag"></src:fragref> +<src:fragref linkend="ulink.hyphenate.chars.frag"></src:fragref> +<src:fragref linkend="ulink.show.frag"></src:fragref> +<src:fragref linkend="use.extensions.frag"></src:fragref> +<src:fragref linkend="use.local.olink.style.frag"></src:fragref> +<src:fragref linkend="use.role.as.xrefstyle.frag"></src:fragref> +<src:fragref linkend="use.role.for.mediaobject.frag"></src:fragref> +<src:fragref linkend="use.svg.frag"></src:fragref> +<src:fragref linkend="variablelist.as.blocks.frag"></src:fragref> +<src:fragref linkend="variablelist.max.termlength.frag"></src:fragref> +<src:fragref linkend="variablelist.term.separator.frag"></src:fragref> +<src:fragref linkend="variablelist.term.properties.frag"></src:fragref> +<src:fragref linkend="variablelist.term.break.after.frag"></src:fragref> +<src:fragref linkend="verbatim.properties.frag"></src:fragref> +<src:fragref linkend="writing.mode.frag"></src:fragref> +<src:fragref linkend="xep.extensions.frag"></src:fragref> +<src:fragref linkend="xep.index.item.properties.frag"></src:fragref> +<src:fragref linkend="xref.label-page.separator.frag"></src:fragref> +<src:fragref linkend="xref.label-title.separator.frag"></src:fragref> +<src:fragref linkend="xref.properties.frag"></src:fragref> +<src:fragref linkend="xref.title-page.separator.frag"></src:fragref> +<src:fragref linkend="xref.with.number.and.title.frag"></src:fragref> + +</xsl:stylesheet> + + + +
diff --git a/doc/help/xslt/fo/param.xsl b/doc/help/xslt/fo/param.xsl new file mode 100644 index 00000000..b65ac4d5 --- /dev/null +++ b/doc/help/xslt/fo/param.xsl @@ -0,0 +1,946 @@ + + + + + + + + + 0.0in + 0.0in + + + + bold + always + always + + + + false + center + +.png + +images/ + + + + 14pt + bold + false + always + + + 1em + 0.8em + 1.2em + 1em + 0.8em + 1.2em + + + 0.8em + 1em + 1.2em + 0.25in + 0.25in + +justify +A + + + + + + + +. + +. + + 0.5in + -0.5in + +http://docbook.sourceforge.net/release/bibliography/bibliography.xml + + +normal + +0.5in +0.5in +0.5em +1em +2em + +serif +10 + + pt + +0.5in +0.5in + + + 0pt + 0pt + 4pc + + +0pt + + +60 + +.svg + +7pt + +30 +images/callouts/ +ZapfDingbats + +10 +10102 + + +no + + + +2 + + +12pt +12pt +12pt +12pt +12pt +12pt + + 0em + 0em + 0.2em + + + + always + + + + false + + + center + start + + + + + + + +0.5pt +24pt +6pt + + + + left + before + + + + +all +none +pt +serif + +no +images/draft.png + + + + ::= + + + + + + + + + end + center + + + + + 1 + 0 + + + + + + + + + + + + + +1 1 1 +14pt + + fixed + 100% + + + + pt + +1 + + + + 75% + normal + normal + + + + + normal + normal + + 0pt + 0pt + + wrap + treat-as-space + + + black + rule + 1in + + + + + 0.5em + 1em + 2em + 0.5em + 1em + 2em + always + + + +figure before +example before +equation before +table before +procedure before +task before + + + bold + + + pt + + false + 0.4em + 0.6em + 0.8em + + +kr + + + + + +/appendix toc,title +article/appendix nop +/article toc,title +book toc,title,figure,table,example,equation +/chapter toc,title +part toc,title +/preface toc,title +reference toc,title +/sect1 toc +/sect2 toc +/sect3 toc +/sect4 toc +/sect5 toc +/section toc +set toc,title + + + + +no + + +0.25in +2in + + 1em + 0.8em + 1.2em + + + + + 1em + 0.8em + 1.2em + always + always + + + + + .25in + + + + + + + + + + + +1 1 1 +14pt + + fixed + 100% + + + + + +true + + + + +basic + + + + + + + + + 0.5em + 1em + 2em + 0.5em + 1em + 2em + + + + bold + + + 0pt + 14.4pt + + bold + always + + + + 0pt + + + 0pt + + + + +no +no + + + + + 1.0em + + + +en + + + + +normal +5 + + +3 + + 0.2em + 1.5em + + + 1em + 0.8em + 1.2em + 1em + 0.8em + 1.2em + + + 1em + 0.8em + 1.2em + + + + + + 90% + start + + + bold + false + start + always + +none +1in +2 + ++ +monospace + + + + + + + start + no-wrap + +0.60em +6in + + 1em + 0.8em + 1.2em + +no + + + + replace + + + + 2em + + + +1.2em + +no + + + + + + + + + + + + + + 210mm + 11in + 8.5in + 2378mm + 1682mm + 1189mm + 841mm + 594mm + 420mm + 297mm + 210mm + 148mm + 105mm + 74mm + 52mm + 37mm + 1414mm + 1000mm + 707mm + 500mm + 353mm + 250mm + 176mm + 125mm + 88mm + 62mm + 44mm + 1297mm + 917mm + 648mm + 458mm + 324mm + 229mm + 162mm + 114mm + 81mm + 57mm + 40mm + 11in + + +0.5in + + + 1.25in + 1in + + + + + 0.75in + 1in + + +0.5in +portrait + + + + + + + + + + + + + 8.5in + 1682mm + 1189mm + 841mm + 594mm + 420mm + 297mm + 210mm + 148mm + 105mm + 74mm + 52mm + 37mm + 26mm + 1000mm + 707mm + 500mm + 353mm + 250mm + 176mm + 125mm + 88mm + 62mm + 44mm + 31mm + 917mm + 648mm + 458mm + 324mm + 229mm + 162mm + 114mm + 81mm + 57mm + 40mm + 28mm + 8.5in + + +USletter +I + + + 0pt + + + + + auto + + + + + + + + + + + + + + +; + + + + + +. +number + + + + + + + + pt + + + + + + pt + + + + + + pt + + + + + + pt + + + + + + pt + + + + + + pt + + + + + + + bold + + always + 0.8em + 1.0em + 1.2em + + + + + + + + + 18pt + bold + 1em + false + always + 0.8em + 1.0em + 1.2em + 0.5em + 0.4em + 0.6em + + + + I + +0.4in +0.4in + + + + + + + + + + + + + + + + + + + + character-by-character + disregard-shifts + + + + + +. +.!?: +sans-serif + +8 +block + + + + + pt + + + + + + pt + + + + + + pt + + + + + + pt + + + + + + pt + + + + + + pt + + + + + + + bold + + always + 0.8em + 1.0em + 1.2em + start + + + + + + + + + + + + + + + + + + + + + #E0E0E0 + + + + solid + 1pt + black + #DDDDDD + 12pt + 12pt + 6pt + 6pt + 0pt + 0pt + + + + bold + false + start + always + +none +1in + + + 75% + + + 75% + +Symbol,ZapfDingbats + +black +solid +0.5pt + + 2pt + 2pt + 2pt + 2pt + +a + + + + + normal + normal + 2pt + + + +black +solid +0.5pt + + auto + + + + retain + collapse + + olinkdb.xml +target.db + + + + +sans-serif + + + -4pc + 0pt + 0pt + + +24 + + + justify + start + + + + + 0.5em + 1em + 2em + 0.5em + 1em + 2em + +8 +2 + + +/ + + + + + + + +24 +, + + +0 + + 0.8em + 1em + 1.2em + 0.8em + 1em + 1.2em + false + no-wrap + false + preserve + preserve + start + + + + writing-mode + + + + + + + + + + true + true + + +: + + + + + + diff --git a/doc/help/xslt/fo/passivetex.xsl b/doc/help/xslt/fo/passivetex.xsl new file mode 100644 index 00000000..9fa28ec5 --- /dev/null +++ b/doc/help/xslt/fo/passivetex.xsl @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/fo/pdf2index b/doc/help/xslt/fo/pdf2index new file mode 100755 index 00000000..c14d8ecd --- /dev/null +++ b/doc/help/xslt/fo/pdf2index @@ -0,0 +1,140 @@ +#!/usr/bin/perl -- # -*- Perl -*- + +# this needs some cleanup... + +my $PSTOTEXT = "pstotext"; + +my $pdf = shift @ARGV; + +my $index = ""; +my $inindex = 0; +open (F, "$PSTOTEXT $pdf |"); +while () { + if (/^<\/index/) { + $index .= $_; + $inindex = 0; + } + $inindex = 1 if /^.*?<\/phrase>\s*)+)/s) { + $cindex .= $1; + $_ = $2; + $index = $'; # ' + + my @pages = m/.*?<\/phrase>\s*/sg; + + # Expand ranges + if ($#pages >= 0) { + my @mpages = (); + foreach my $page (@pages) { + my $pageno = &pageno($page); + if ($pageno =~ /^([0-9]+)[^0-9]([0-9]+)$/) { # funky - + for (my $count = $1; $count <= $2; $count++) { + push (@mpages, "$count"); + } + } else { + push (@mpages, $page); + } + } + @pages = sort rangesort @mpages; + } + + # Remove duplicates... + if ($#pages > 0) { + my @mpages = (); + my $current = ""; + foreach my $page (@pages) { + my $pageno = &pageno($page); + if ($pageno ne $current) { + push (@mpages, $page); + $current = $pageno; + } + } + @pages = @mpages; + } + + # Collapse ranges... + if ($#pages > 1) { + my @cpages = (); + while (@pages) { + my $count = 0; + my $len = &rangelen($count, @pages); + if ($len <= 2) { + my $page = shift @pages; + push (@cpages, $page); + } else { + my $fpage = shift @pages; + my $lpage = ""; + while ($len > 1) { + $lpage = shift @pages; + $len--; + } + my $fpno = &pageno($fpage); + my $lpno = &pageno($lpage); + $fpage =~ s/>$fpno${fpno}-$lpno//; + $page =~ s/^//; + + return $1 if $page =~ /^([^<>]+)/; + return "?"; +} + +sub rangesort { + my $apno = &pageno($a); + my $bpno = &pageno($b); + + # Make sure roman pages come before arabic ones, otherwise sort them in order + return -1 if ($apno !~ /^\d+/ && $bpno =~ /^\d+/); + return 1 if ($apno =~ /^\d+/ && $bpno !~ /^\d+/); + return $apno <=> $bpno; +} + +sub rangelen { + my $count = shift; + my @pages = @_; + my $len = 1; + my $inrange = 1; + + my $current = &pageno($pages[$count]); + while ($count < $#pages && $inrange) { + $count++; + my $next = &pageno($pages[$count]); + if ($current + 1 eq $next) { + $current = $next; + $inrange = 1; + $len++; + } else { + $inrange = 0; + } + } + + return $len; +} diff --git a/doc/help/xslt/fo/pi.xml b/doc/help/xslt/fo/pi.xml new file mode 100644 index 00000000..701d414c --- /dev/null +++ b/doc/help/xslt/fo/pi.xml @@ -0,0 +1,1002 @@ + + +FO Processing Instruction Reference + + $Id: pi.xsl 8487 2009-07-14 21:43:36Z bobstayton $ + + + + + Introduction + + +This is generated reference documentation for all + user-specifiable processing instructions (PIs) in the DocBook + XSL stylesheets for FO output. + + +You add these PIs at particular points in a document to + cause specific “exceptions” to formatting/output behavior. To + make global changes in formatting/output behavior across an + entire document, it’s better to do it by setting an + appropriate stylesheet parameter (if there is one). + + + + + + + + +dbfo_background-color +Sets background color for an image + + + + dbfo background-color="color" + + +Description + +Use the dbfo background-color PI before or + after an image (graphic, inlinegraphic, + imagedata, or videodata element) as a + sibling to the element, to set a background color for the + image. + + Parameters + + + background-color="color" + + +An HTML color value + + + + + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Background color + + + + + +dbfo_bgcolor +Sets background color on a table row or table cell + + + + dbfo bgcolor="color" + + +Description + +Use the dbfo bgcolor PI as child of a table row + or cell to set a background color for that table row or cell. + + +This PI works for both CALS and HTML tables. + + Parameters + + + bgcolor="color" + + +An HTML color value + + + + + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Cell background color + + + + + +dbfo_float-type +Specifies float behavior for a sidebar + + + + dbfo float-type="margin.note" + + +Description + +Use the dbfo float-type PI to specify the float + behavior for a sidebar (to cause the sidebar to be + displayed as a marginal note). + + Parameters + + + float-type="margin.note" + + +Specifies that the sidebar should be + displayed as a marginal note. + + + + + + Related Global Parameters + +sidebar.float.type (parameter), + sidebar.float.width (parameter), + sidebar.properties (attribute-set), + sidebar.title.properties (attribute-set) + + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +A sidebar as + side float + + + + + +dbfo_funcsynopsis-style +Specifies presentation style for a funcsynopsis + + + + dbfo funcsynopsis-style="kr"|"ansi" + + +Description + +Use the dbfo funcsynopsis-style PI as a child of + a funcsynopsis or anywhere within a funcsynopsis + to control the presentation style for output of all + funcprototype instances within that funcsynopsis. + + Parameters + + + funcsynopsis-style="kr" + + +Displays funcprototype output in K&R style + + + + funcsynopsis-style="ansi" + + +Displays funcprototype output in ANSI style + + + + + + Related Global Parameters + +funcsynopsis.style + + + + + +dbfo_glossary-presentation +Specifies presentation style for a glossary + + + + dbfo glossary-presentation="list"|"blocks" + + +Description + +Use the dbfo glossary-presentation PI as a child of + a glossary to control its presentation style. + + Parameters + + + glossary-presentation="list" + + +Displays the glossary as a list + + + + glossary-presentation="blocks" + + +Displays the glossary as blocks + + + + + + Related Global Parameters + +glossary.as.blocks + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Glossary + formatting in print + + + + + +dbfo_glosslist-presentation +Specifies presentation style for a glosslist + + + + dbfo glosslist-presentation="list"|"blocks" + + +Description + +Use the dbfo glosslist-presentation PI as a child of + a glosslist to control its presentation style. + + Parameters + + + glosslist-presentation="list" + + +Displays the glosslist as a list + + + + glosslist-presentation="blocks" + + +Displays the glosslist as blocks + + + + + + Related Global Parameters + +glosslist.as.blocks + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Glossary + formatting in print + + + + + +dbfo_glossterm-width +Specifies the glossterm width for a glossary or + glosslist + + + + dbfo glossterm-width="width" + + +Description + +Use the dbfo glossterm-width PI as a child of a + glossary or glosslist to specify the + width for output of glossterm instances in the + output. + + Parameters + + + glossterm-width="width" + + +Specifies the glossterm width (including units) + + + + + + Related Global Parameters + +glossterm.width, + glossterm.separation + + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Glossary + formatting in print + + + + + +dbfo_keep-together +Specifies “keep” behavior for a table, example, + figure, equation, procedure, or task + + + + dbfo keep-together="auto"|"always" + + +Description + +Use the dbfo keep-together PI as a child of a + formal object (table, example, + figure, equation, procedure, or + task) to specify “keep” behavior (to allow the object to + “break” across a page). + + +The PI also works with informaltable, informalexample, + informalfigure and informalequation. + + + + Parameters + + + keep-together="auto" + + +Enables the object to break across a page + + + + keep-together="always" + + +Prevents the object from breaking across a page (the + default stylesheet behavior) + + + + + + Related Global Parameters + +formal.object.properties + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Keep-together processing instruction + + + + + +dbfo_label-width +Specifies the label width for a qandaset, itemizedlist, orderedlist + or calloutlist + + + + dbfo label-width="width" + + +Description + +Use the dbfo label-width PI as a child of a + qandaset, itemizedlist, orderedlist, + or calloutlist to specify the width of labels. + + Parameters + + + label-width="width" + + +Specifies the label width (including units) + + + + + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Q and A formatting + + + + + +dbfo_linenumbering.everyNth +Specifies interval for line numbers in verbatims + + + + dbfo linenumbering.everyNth="N" + + +Description + +Use the dbfo linenumbering.everyNth PI as a child + of a “verbatim” element – programlisting, + screen, synopsis — to specify + the interval at which lines are numbered. + + Parameters + + + linenumbering.everyNth="N" + + +Specifies numbering interval; a number is output + before every Nth line + + + + + + Related Global Parameters + +linenumbering.everyNth + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Line numbering + + + + + +dbfo_linenumbering.separator +Specifies separator text for line numbers in verbatims + + + + dbfo linenumbering.separator="text" + + +Description + +Use the dbfo linenumbering.separator PI as a child + of a “verbatim” element – programlisting, + screen, synopsis — to specify + the separator text output between the line numbers and content. + + Parameters + + + linenumbering.separator="text" + + +Specifies the text (zero or more characters) + + + + + + Related Global Parameters + +linenumbering.separator + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Line numbering + + + + + +dbfo_linenumbering.width +Specifies width for line numbers in verbatims + + + + dbfo linenumbering.width="width" + + +Description + +Use the dbfo linenumbering.width PI as a child + of a “verbatim” element – programlisting, + screen, synopsis — to specify + the width set aside for line numbers. + + Parameters + + + linenumbering.width="width" + + +Specifies the width (inluding units) + + + + + + Related Global Parameters + +linenumbering.width + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Line numbering + + + + + +dbfo_list-presentation +Specifies presentation style for a variablelist or + segmentedlist + + + + dbfo list-presentation="list"|"blocks"|"table" + + +Description + +Use the dbfo list-presentation PI as a child of + a variablelist or segmentedlist to + control the presentation style for the list (to cause it, for + example, to be displayed as a table). + + Parameters + + + list-presentation="list" + + +Displays the list as a list + + + + list-presentation="blocks" + + +(variablelist only) Displays the list as blocks + + + + list-presentation="table" + + +(segmentedlist only) Displays the list as a table + + + + + + Related Global Parameters + + + + +variablelist.as.blocks + + + + +variablelist.as.table + + + + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Variable list formatting in print + + + + + +dbfo_list-width +Specifies the width of a horizontal simplelist + + + + dbfo list-width="width" + + +Description + +Use the dbfo list-width PI as a child of a + simplelist whose class + value is horizontal, to specify the width + of the simplelist. + + Parameters + + + list-width="width" + + +Specifies the simplelist width (including units) + + + + + + + + + +dbfo_orientation +Specifies the orientation for a CALS table row or cell + + + + dbfo orientation="0"|"90"|"180"|"270"|"-90"|"-180"|"-270" + + +Description + +Use the dbfo orientation PI as a child of a CALS + table row or cell to specify the orientation + (rotation) for the row or cell. + + Parameters + + + orientation="0"|"90"|"180"|"270"|"-90"|"-180"|"-270" + + +Specifies the number of degrees by which the cell or + row is rotated + + + + + + + + + +dbfo_pgwide +Specifies if an equation or example goes across full page width + + + + dbfo pgwide="0"|"1" + + +Description + +Use the dbfo pgwide PI as a child of an + equation or example to specify that the + content should rendered across the full width of the page. + + Parameters + + + pgwide="0" + + +If zero, the content is rendered across the current + text flow + + + + pgwide="1" + + +If 1 (or any non-zero value), the + content is rendered across the full width of the page + + + + + + Related Global Parameters + +pgwide.properties + + + + + +dbfo_rotated-width +Specifies the width for a CALS table entry or + row + + + + dbfo rotated-width="width" + + +Description + +Use the dbfo rotated-width PI as a child of + entry or row instance in a CALS table to specify the + width of that the entry or row; or + use it higher up in table to cause the width to be inherited + recursively down. + + Parameters + + + rotated-width="width" + + +Specifies the width of a row or cell (including units) + + + + + + + + + +dbfo_sidebar-width +Specifies the width of a sidebar + + + + dbfo sidebar-width="width" + + +Description + +Use the dbfo sidebar-width PI as a child of a + sidebar to specify the width of the sidebar. + + Parameters + + + sidebar-width="width" + + +Specifies the sidebar width (including units) + + + + + + Related Global Parameters + +sidebar.float.type parameter, + sidebar.float.width parameter, + sidebar.properties attribute-set, + sidebar.title.properties + + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +A sidebar as + side float + + + + + +dbfo_start +(obsolete) Sets the starting number on an ordered list + + + + dbfo start="character" + + +Description + +This PI is obsolete. The intent of + it was to provide a means for setting a specific starting + number for an ordered list. Instead of this PI, set a value + for the override attribute on the first + listitem in the list; that will have the same + effect as what this PI was intended for. + + Parameters + + + start="character" + + +Specifies the character to use as the starting + number; use 0-9, a-z, A-Z, or lowercase or uppercase + Roman numerals + + + + + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +List starting number + + + + + +dbfo_table-width +Specifies the width for a CALS table or for revhistory + output + + + + dbfo table-width="width" + + +Description + +Use the dbfo table-width PI as a child or + sibling of a CALS table, or as a child of an + informaltable, entrytbl, or + revhistory instance (which is rendered as a table + in output) to specify the width of the table in output. + + Parameters + + + table-width="width" + + +Specifies the table width (including units or as a percentage) + + + + + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Table width + + + + + +dbfo_term-width +Specifies the term width for a variablelist + + + + dbfo term-width="width" + + +Description + +Use the dbfo term-width PI as a child of a + variablelist to specify the width for + term output. + + Parameters + + + term-width="width" + + +Specifies the term width (including units) + + + + + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Variable list formatting in print + + + + + +dbfo_toc +Specifies whether a TOC should be generated for a qandaset + + + + dbfo toc="0"|"1" + + +Description + +Use the dbfo toc PI as a child of a + qandaset to specify whether a table of contents + (TOC) is generated for the qandaset. + + Parameters + + + toc="0" + + +If zero, no TOC is generated + + + + toc="1" + + +If 1 (or any non-zero value), + a TOC is generated + + + + + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Q and A list of questions, + Q and A formatting + + + + + +dbfo-need +Specify a need for space (a kind of soft page break) + + + + dbfo-need height="n" [space-before="n"] + + +Description + +A “need” is a request for space on a page. If the + requested space is not available, the page breaks and the + content that follows the need request appears on the next + page. If the requested space is available, then no page break + is inserted. + + Parameters + + + height="n" + + +The amount of height needed (including units) + + + + space-before="n" + + +The amount of extra vertical space to add (including units) + + + + + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Soft page breaks + + + + + +dbfo_row-height +Specifies the height for a CALS table row + + + + dbfo row-height="height" + + +Description + +Use the dbfo row-height PI as a child of a + row to specify the height of the row. + + Parameters + + + row-height="height" + + +Specifies the row height (including units) + + + + + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Row height + + + + diff --git a/doc/help/xslt/fo/pi.xsl b/doc/help/xslt/fo/pi.xsl new file mode 100644 index 00000000..c5f258b8 --- /dev/null +++ b/doc/help/xslt/fo/pi.xsl @@ -0,0 +1,1092 @@ + + + + + +FO Processing Instruction Reference + + $Id: pi.xsl 8487 2009-07-14 21:43:36Z bobstayton $ + + + + + Introduction + + This is generated reference documentation for all + user-specifiable processing instructions (PIs) in the DocBook + XSL stylesheets for FO output. + + You add these PIs at particular points in a document to + cause specific “exceptions” to formatting/output behavior. To + make global changes in formatting/output behavior across an + entire document, it’s better to do it by setting an + appropriate stylesheet parameter (if there is one). + + + + + + + + + Sets background color for an image + + Use the dbfo background-color PI before or + after an image (graphic, inlinegraphic, + imagedata, or videodata element) as a + sibling to the element, to set a background color for the + image. + + + dbfo background-color="color" + + + + background-color="color" + + An HTML color value + + + + + + Background color + + + + + + + + + + + + Sets background color on a table row or table cell + + Use the dbfo bgcolor PI as child of a table row + or cell to set a background color for that table row or cell. + This PI works for both CALS and HTML tables. + + + dbfo bgcolor="color" + + + + bgcolor="color" + + An HTML color value + + + + + + Cell background color + + + + + + + + + + + + Specifies float behavior for a sidebar + + Use the dbfo float-type PI to specify the float + behavior for a sidebar (to cause the sidebar to be + displayed as a marginal note). + + + dbfo float-type="margin.note" + + + + float-type="margin.note" + + Specifies that the sidebar should be + displayed as a marginal note. + + + + + + sidebar.float.type (parameter), + sidebar.float.width (parameter), + sidebar.properties (attribute-set), + sidebar.title.properties (attribute-set) + + + + A sidebar as + side float + + + + + + + + + + + + Specifies presentation style for a funcsynopsis + + Use the dbfo funcsynopsis-style PI as a child of + a funcsynopsis or anywhere within a funcsynopsis + to control the presentation style for output of all + funcprototype instances within that funcsynopsis. + + + dbfo funcsynopsis-style="kr"|"ansi" + + + + funcsynopsis-style="kr" + + Displays funcprototype output in K&R style + + + funcsynopsis-style="ansi" + + Displays funcprototype output in ANSI style + + + + + + funcsynopsis.style + + + + + + + + + + + + Specifies presentation style for a glossary + + Use the dbfo glossary-presentation PI as a child of + a glossary to control its presentation style. + + + dbfo glossary-presentation="list"|"blocks" + + + + glossary-presentation="list" + + Displays the glossary as a list + + + glossary-presentation="blocks" + + Displays the glossary as blocks + + + + + + glossary.as.blocks + + + Glossary + formatting in print + + + + + + + + + + + + Specifies presentation style for a glosslist + + Use the dbfo glosslist-presentation PI as a child of + a glosslist to control its presentation style. + + + dbfo glosslist-presentation="list"|"blocks" + + + + glosslist-presentation="list" + + Displays the glosslist as a list + + + glosslist-presentation="blocks" + + Displays the glosslist as blocks + + + + + + glosslist.as.blocks + + + Glossary + formatting in print + + + + + + + + + + + + Specifies the glossterm width for a glossary or + glosslist + + Use the dbfo glossterm-width PI as a child of a + glossary or glosslist to specify the + width for output of glossterm instances in the + output. + + + dbfo glossterm-width="width" + + + + glossterm-width="width" + + Specifies the glossterm width (including units) + + + + + + glossterm.width, + glossterm.separation + + + + Glossary + formatting in print + + + + + + + + + + + + Specifies “keep” behavior for a table, example, + figure, equation, procedure, or task + + Use the dbfo keep-together PI as a child of a + formal object (table, example, + figure, equation, procedure, or + task) to specify “keep” behavior (to allow the object to + “break” across a page). + The PI also works with informaltable, informalexample, + informalfigure and informalequation. + + + + + dbfo keep-together="auto"|"always" + + + + keep-together="auto" + + Enables the object to break across a page + + + keep-together="always" + + Prevents the object from breaking across a page (the + default stylesheet behavior) + + + + + + formal.object.properties + + + Keep-together processing instruction + + + + + + + + + + + + Specifies the label width for a qandaset, itemizedlist, orderedlist + or calloutlist + + Use the dbfo label-width PI as a child of a + qandaset, itemizedlist, orderedlist, + or calloutlist to specify the width of labels. + + + dbfo label-width="width" + + + + label-width="width" + + Specifies the label width (including units) + + + + + + Q and A formatting + + + + + + + + + + + + Specifies interval for line numbers in verbatims + + Use the dbfo linenumbering.everyNth PI as a child + of a “verbatim” element – programlisting, + screen, synopsis — to specify + the interval at which lines are numbered. + + + dbfo linenumbering.everyNth="N" + + + + linenumbering.everyNth="N" + + Specifies numbering interval; a number is output + before every Nth line + + + + + + linenumbering.everyNth + + + Line numbering + + + + + + + + + + + + Specifies separator text for line numbers in verbatims + + Use the dbfo linenumbering.separator PI as a child + of a “verbatim” element – programlisting, + screen, synopsis — to specify + the separator text output between the line numbers and content. + + + dbfo linenumbering.separator="text" + + + + linenumbering.separator="text" + + Specifies the text (zero or more characters) + + + + + + linenumbering.separator + + + Line numbering + + + + + + + + + + + + Specifies width for line numbers in verbatims + + Use the dbfo linenumbering.width PI as a child + of a “verbatim” element – programlisting, + screen, synopsis — to specify + the width set aside for line numbers. + + + dbfo linenumbering.width="width" + + + + linenumbering.width="width" + + Specifies the width (inluding units) + + + + + + linenumbering.width + + + Line numbering + + + + + + + + + + + + Specifies presentation style for a variablelist or + segmentedlist + + Use the dbfo list-presentation PI as a child of + a variablelist or segmentedlist to + control the presentation style for the list (to cause it, for + example, to be displayed as a table). + + + dbfo list-presentation="list"|"blocks"|"table" + + + + list-presentation="list" + + Displays the list as a list + + + list-presentation="blocks" + + (variablelist only) Displays the list as blocks + + + list-presentation="table" + + (segmentedlist only) Displays the list as a table + + + + + + + + variablelist.as.blocks + + + variablelist.as.table + + + + + Variable list formatting in print + + + + + + + + + + + + Specifies the width of a horizontal simplelist + + Use the dbfo list-width PI as a child of a + simplelist whose class + value is horizontal, to specify the width + of the simplelist. + + + dbfo list-width="width" + + + + list-width="width" + + Specifies the simplelist width (including units) + + + + + + + + + + + + + + + Specifies the orientation for a CALS table row or cell + + Use the dbfo orientation PI as a child of a CALS + table row or cell to specify the orientation + (rotation) for the row or cell. + + + dbfo orientation="0"|"90"|"180"|"270"|"-90"|"-180"|"-270" + + + + orientation="0"|"90"|"180"|"270"|"-90"|"-180"|"-270" + + Specifies the number of degrees by which the cell or + row is rotated + + + + + + + + + + + + + + + Specifies if an equation or example goes across full page width + + Use the dbfo pgwide PI as a child of an + equation or example to specify that the + content should rendered across the full width of the page. + + + dbfo pgwide="0"|"1" + + + + pgwide="0" + + If zero, the content is rendered across the current + text flow + + + pgwide="1" + + If 1 (or any non-zero value), the + content is rendered across the full width of the page + + + + + + pgwide.properties + + + + + + + + + + + + Specifies the width for a CALS table entry or + row + + Use the dbfo rotated-width PI as a child of + entry or row instance in a CALS table to specify the + width of that the entry or row; or + use it higher up in table to cause the width to be inherited + recursively down. + + + dbfo rotated-width="width" + + + + rotated-width="width" + + Specifies the width of a row or cell (including units) + + + + + + + + + + + + + + + Specifies the width of a sidebar + + Use the dbfo sidebar-width PI as a child of a + sidebar to specify the width of the sidebar. + + + dbfo sidebar-width="width" + + + + sidebar-width="width" + + Specifies the sidebar width (including units) + + + + + + sidebar.float.type parameter, + sidebar.float.width parameter, + sidebar.properties attribute-set, + sidebar.title.properties + + + + A sidebar as + side float + + + + + + + + + + + + (obsolete) Sets the starting number on an ordered list + + This PI is obsolete. The intent of + it was to provide a means for setting a specific starting + number for an ordered list. Instead of this PI, set a value + for the override attribute on the first + listitem in the list; that will have the same + effect as what this PI was intended for. + + + dbfo start="character" + + + + start="character" + + Specifies the character to use as the starting + number; use 0-9, a-z, A-Z, or lowercase or uppercase + Roman numerals + + + + + + List starting number + + + + + + + + + + + + Specifies the width for a CALS table or for revhistory + output + + Use the dbfo table-width PI as a child or + sibling of a CALS table, or as a child of an + informaltable, entrytbl, or + revhistory instance (which is rendered as a table + in output) to specify the width of the table in output. + + + dbfo table-width="width" + + + + table-width="width" + + Specifies the table width (including units or as a percentage) + + + + + + Table width + + + + + + + + + + + + Specifies the term width for a variablelist + + Use the dbfo term-width PI as a child of a + variablelist to specify the width for + term output. + + + dbfo term-width="width" + + + + term-width="width" + + Specifies the term width (including units) + + + + + + Variable list formatting in print + + + + + + + + + + + + Specifies whether a TOC should be generated for a qandaset + + Use the dbfo toc PI as a child of a + qandaset to specify whether a table of contents + (TOC) is generated for the qandaset. + + + dbfo toc="0"|"1" + + + + toc="0" + + If zero, no TOC is generated + + + toc="1" + + If 1 (or any non-zero value), + a TOC is generated + + + + + + Q and A list of questions, + Q and A formatting + + + + + + + + + + + + Specify a need for space (a kind of soft page break) + + A “need” is a request for space on a page. If the + requested space is not available, the page breaks and the + content that follows the need request appears on the next + page. If the requested space is available, then no page break + is inserted. + + + dbfo-need height="n" [space-before="n"] + + + + height="n" + + The amount of height needed (including units) + + + space-before="n" + + The amount of extra vertical space to add (including units) + + + + + + Soft page breaks + + + + + Specifies the height for a CALS table row + + Use the dbfo row-height PI as a child of a + row to specify the height of the row. + + + dbfo row-height="height" + + + + row-height="height" + + Specifies the row height (including units) + + + + + + Row height + + + + + + + + + + + + + + + + + + + + + + + + + 0pt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + filename + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/fo/profile-docbook.xsl b/doc/help/xslt/fo/profile-docbook.xsl new file mode 100644 index 00000000..3b9b9c16 --- /dev/null +++ b/doc/help/xslt/fo/profile-docbook.xsl @@ -0,0 +1,289 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Element + + in namespace ' + + ' encountered + + in + + + , but no template matches. + + + + < + + > + + </ + + > + + + + + + +Note: namesp. cut : stripped namespace before processingNote: namesp. cut : processing stripped document + + + + + + + + + + + + + + + + + + ID ' + + ' not found in document. + + + + + ERROR: Document root element ($rootid= + + ) for FO output + must be one of the following elements: + + + + + + + + + + + + + + + + + + + + + ERROR: Document root element for FO output + must be one of the following elements: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [could not find document title] + + + + + + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Making + + pages on + + paper ( + + x + + ) + + + + + + diff --git a/doc/help/xslt/fo/ptc.xsl b/doc/help/xslt/fo/ptc.xsl new file mode 100644 index 00000000..a8874d88 --- /dev/null +++ b/doc/help/xslt/fo/ptc.xsl @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/fo/qandaset.xsl b/doc/help/xslt/fo/qandaset.xsl new file mode 100644 index 00000000..cbf118ae --- /dev/null +++ b/doc/help/xslt/fo/qandaset.xsl @@ -0,0 +1,395 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2.5em + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + em * 0.50 + + + 5em + + + 4em + + + 3em + + 2.5em + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2.5em + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/fo/refentry.xsl b/doc/help/xslt/fo/refentry.xsl new file mode 100644 index 00000000..1a356939 --- /dev/null +++ b/doc/help/xslt/fo/refentry.xsl @@ -0,0 +1,638 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + page + + + + + + + + + + + + + + ( + + ) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1em + + + + + + + + + + + , + + + + + + + + + em-dash + + + + + + + + + + + + + + + + : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + false + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/fo/sections.xsl b/doc/help/xslt/fo/sections.xsl new file mode 100644 index 00000000..4569f2d0 --- /dev/null +++ b/doc/help/xslt/fo/sections.xsl @@ -0,0 +1,764 @@ + + + + + + + + + + + + + + + + + + + + 1 + 2 + 3 + 4 + 5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + 2 + 3 + 4 + 5 + + + + + + + + + + + + + + + + + + + + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + 2 + + + + + + 1 + 2 + 3 + 4 + 5 + + + + + + + + + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/fo/spaces.xsl b/doc/help/xslt/fo/spaces.xsl new file mode 100644 index 00000000..d34c9cd9 --- /dev/null +++ b/doc/help/xslt/fo/spaces.xsl @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + + + + + + + +0.5em +1em +0.5em +1em +0.33em +0.25em +0.16em + + +0.2em +0.1em + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/fo/synop.xsl b/doc/help/xslt/fo/synop.xsl new file mode 100644 index 00000000..92afc208 --- /dev/null +++ b/doc/help/xslt/fo/synop.xsl @@ -0,0 +1,1007 @@ + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ( + + ) + +   + + + + + + + + + + + + + + + + + ( + + ) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + (void); + + + (); + + + + + + (...); + + + + + + + + + + + + ( + + + + + + + + + + + , + + + ); + + + + + + + + + + + + + + + , + + + + + + + ; + + + + + ( + + ) + + + + + + + + + + + + + + + + + + + + + + +java + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Unrecognized language on + + : + + + + + + + + + + + + &RE; + + + + + + + + + + extends + + + &RE;     + + + + implements + + + &RE;     + + + + throws + + +  {&RE; + + } + + + + + + + + + + + , + + + + + + + + + + + +   + + + + + + , + + + + + + + , + + + + + + + , + + + + + + +    + + ; + + + + + + +   + + + + +   + + + + + + + + + void  + + + + + + + + 0 + + ,&RE; + + +   + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ( + + + + ) + + &RE;    throws  + + + + + + + ; + + + + + + + + + + + : + + + &RE;     + + + + implements + + + &RE;     + + + + throws + + +  {&RE; + + } + + + + + + + + + + , + + + + + + + +   + + + + + + , + + + + + + + , + + + + + + + , + + + + + + +    + + ; + + + + + + +   + + + + +   + + + + + + + + + void  + + + + + + + + + , + + + + + + + + + + + + + + + + + + + + + + + + ( + + ) + + &RE;    throws  + + + + + + + ; + + + + + + + + + interface + + + : + + + &RE;     + + + + implements + + + &RE;     + + + + throws + + +  {&RE; + + } + + + + + + + + + + , + + + + + + + +   + + + + + + , + + + + + + + , + + + + + + + , + + + + + + +    + + ; + + + + + + +   + + + + +   + + + + + + + + + void  + + + + + + + + + , + + + + + + + + + + + + + + + + + + + + + + + + ( + + ) + + &RE;    raises( + + ) + + + + + + ; + + + + + + + + + package + + ;&RE; + + + @ISA = ( + + );&RE; + + + + + + + + + + + + + , + + + + + + + +   + + + + + + , + + + + + + + , + + + + + + + , + + + + + + +    + + ; + + + + + + +   + + + + +   + + + + + + + + + void  + + + + + + + + + , + + + + + + + + + + + + + + + sub + + + { ... }; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/fo/table.xml b/doc/help/xslt/fo/table.xml new file mode 100644 index 00000000..f29952ab --- /dev/null +++ b/doc/help/xslt/fo/table.xml @@ -0,0 +1,135 @@ + + + + + + Formatting Object Table Reference + + $Id: table.xsl 8814 2010-08-09 21:19:53Z bobstayton $ + + + + Introduction + +This is technical reference documentation for the FO + table-processing templates in the DocBook XSL Stylesheets. + + +This is not intended to be user documentation. It is + provided for developers writing customization layers for the + stylesheets. + + + + + +calc.column.width +Calculate an XSL FO table column width specification from a +CALS table column width specification. + + +<xsl:template name="calc.column.width"> +<xsl:param name="colwidth">1*</xsl:param> + ... +</xsl:template> + +Description + +CALS expresses table column widths in the following basic +forms: + + + + + + +99.99units, a fixed length specifier. + + + + +99.99, a fixed length specifier without any units. + + + + +99.99*, a relative length specifier. + + + + +99.99*+99.99units, a combination of both. + + + + + + +The CALS units are points (pt), picas (pi), centimeters (cm), +millimeters (mm), and inches (in). These are the same units as XSL, +except that XSL abbreviates picas "pc" instead of "pi". If a length +specifier has no units, the CALS default unit (pt) is assumed. + + + +Relative length specifiers are represented in XSL with the +proportional-column-width() function. + + + +Here are some examples: + + + + + + +"36pt" becomes "36pt" + + + + +"3pi" becomes "3pc" + + + + +"36" becomes "36pt" + + + + +"3*" becomes "proportional-column-width(3)" + + + + +"3*+2pi" becomes "proportional-column-width(3)+2pc" + + + + +"1*+2" becomes "proportional-column-width(1)+2pt" + + + + +Parameters + + +colwidth + + +The CALS column width specification. + + + + + +Returns + +The XSL column width specification. + + + + diff --git a/doc/help/xslt/fo/table.xsl b/doc/help/xslt/fo/table.xsl new file mode 100644 index 00000000..c9a60c9e --- /dev/null +++ b/doc/help/xslt/fo/table.xsl @@ -0,0 +1,1681 @@ + + + + + + + + + + + Formatting Object Table Reference + + $Id: table.xsl 8814 2010-08-09 21:19:53Z bobstayton $ + + + + Introduction + This is technical reference documentation for the FO + table-processing templates in the DocBook XSL Stylesheets. + This is not intended to be user documentation. It is + provided for developers writing customization layers for the + stylesheets. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0pt + none + 0pt + 0pt + 0pt + 0pt + 0pt + 0pt + + + 0pt + none + 0pt + 0pt + 0pt + 0pt + 0pt + 0pt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + before + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + always + + + + + + + + + + + + + + + + + + + + + + + + + + + + + all + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + none + none + none + + + + + + + + + + + + + + + + + + none + none + + + + + + + + + + + + + + + + + + none + none + none + + + + + + + + + + + + none + none + none + + + + + + + + + none + none + + + + none + + + + + + + + + none + none + + + + + + + + + + + + + + + + + + + + + none + none + none + none + + + + Impossible frame on table: + + + none + none + none + none + + + + + + + + + + + + + + + + + + + + + + + + + + Error: CALS tables must specify the number of columns. + + + + + + + + + + + + + + + + + + + + + + + + + fixed + + + + + + + + + + + + + + + + + + + + + No adjustColumnWidths function available. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NOWIDTH + NOWIDTH + + + + + + + + + + + + + + + + + + NOWIDTH + NOWIDTH + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 100% + + + + 100% + + + auto + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Warning: overlapped row contains content! + + + + This row intentionally left blank + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + always + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +   + + + + + + fixed + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + before + center + after + + + Unexpected valign value: + + , center used. + + center + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + before + center + after + + + Unexpected valign value: + + , center used. + + center + + + + + + + + + + + + + + + + + + bold + + + + bold + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + : + + + + + + + + 0: + + + + + + + + + + + + + + + 0 + + : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + 1* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Calculate an XSL FO table column width specification from a +CALS table column width specification. + + +CALS expresses table column widths in the following basic +forms: + + + +99.99units, a fixed length specifier. + + +99.99, a fixed length specifier without any units. + + +99.99*, a relative length specifier. + + +99.99*+99.99units, a combination of both. + + + +The CALS units are points (pt), picas (pi), centimeters (cm), +millimeters (mm), and inches (in). These are the same units as XSL, +except that XSL abbreviates picas "pc" instead of "pi". If a length +specifier has no units, the CALS default unit (pt) is assumed. + +Relative length specifiers are represented in XSL with the +proportional-column-width() function. + +Here are some examples: + + + +"36pt" becomes "36pt" + + +"3pi" becomes "3pc" + + +"36" becomes "36pt" + + +"3*" becomes "proportional-column-width(3)" + + +"3*+2pi" becomes "proportional-column-width(3)+2pc" + + +"1*+2" becomes "proportional-column-width(1)+2pt" + + + + + + +colwidth + +The CALS column width specification. + + + + + + +The XSL column width specification. + + + + + 1* + + + + + + + + + + + + proportional-column-width( + + + + + + 1.00 + + + ) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + pc + pt + + + + + + + diff --git a/doc/help/xslt/fo/task.xsl b/doc/help/xslt/fo/task.xsl new file mode 100644 index 00000000..c864bc69 --- /dev/null +++ b/doc/help/xslt/fo/task.xsl @@ -0,0 +1,91 @@ + + + + + + + + + + + + + + + + + + + + before + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/fo/titlepage.templates.xml b/doc/help/xslt/fo/titlepage.templates.xml new file mode 100644 index 00000000..e3434bc3 --- /dev/null +++ b/doc/help/xslt/fo/titlepage.templates.xml @@ -0,0 +1,1354 @@ + + + + + + + + + + + + +]> + + + + + + + + + + + + + <subtitle/> + + <corpauthor space-before="0.5em" + font-size="&hsize2;"/> + <authorgroup space-before="0.5em" + font-size="&hsize2;"/> + <author space-before="0.5em" + font-size="&hsize2;"/> + + <!-- If you add editor, include this t:predicate attribute + because only the first editor generates the list of editors. + <editor t:predicate="[position() = 1]"/> + --> + <othercredit space-before="0.5em"/> + <releaseinfo space-before="0.5em"/> + <copyright space-before="0.5em"/> + <legalnotice text-align="start" + margin-left="0.5in" + margin-right="0.5in" + font-family="{$body.fontset}"/> + <pubdate space-before="0.5em"/> + <revision space-before="0.5em"/> + <revhistory space-before="0.5em"/> + <abstract space-before="0.5em" + text-align="start" + margin-left="0.5in" + margin-right="0.5in" + font-family="{$body.fontset}"/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<t:titlepage t:element="set" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + t:named-template="division.title" + param:node="ancestor-or-self::set[1]" + text-align="center" + font-size="&hsize5;" + space-before="&hsize5space;" + font-weight="bold" + font-family="{$title.fontset}"/> + <subtitle + font-family="{$title.fontset}" + text-align="center"/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + + <t:titlepage t:element="book" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + t:named-template="division.title" + param:node="ancestor-or-self::book[1]" + text-align="center" + font-size="&hsize5;" + space-before="&hsize5space;" + font-weight="bold" + font-family="{$title.fontset}"/> + <subtitle + text-align="center" + font-size="&hsize4;" + space-before="&hsize4space;" + font-family="{$title.fontset}"/> + <corpauthor font-size="&hsize3;" + keep-with-next.within-column="always" + space-before="2in"/> + <authorgroup space-before="2in"/> + <author font-size="&hsize3;" + space-before="&hsize2space;" + keep-with-next.within-column="always"/> + <!-- If you add editor, include this t:predicate attribute + because only the first editor generates the list of editors. + <editor t:predicate="[position() = 1]"/> + --> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + <title + t:named-template="book.verso.title" + font-size="&hsize2;" + font-weight="bold" + font-family="{$title.fontset}"/> + <corpauthor/> + <authorgroup t:named-template="verso.authorgroup"/> + <author/> + <!-- If you add editor, include this t:predicate attribute + because only the first editor generates the list of editors. + <editor t:predicate="[position() = 1]"/> + --> + <othercredit/> + <releaseinfo space-before="0.5em"/> + <pubdate space-before="1em"/> + <copyright/> + <abstract/> + <legalnotice font-size="8pt"/> + </t:titlepage-content> + + <t:titlepage-separator> + <fo:block break-after="page"/> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + <fo:block break-after="page"/> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<t:titlepage t:element="part" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + t:named-template="division.title" + param:node="ancestor-or-self::part[1]" + text-align="center" + font-size="&hsize5;" + space-before="&hsize5space;" + font-weight="bold" + font-family="{$title.fontset}"/> + <subtitle + text-align="center" + font-size="&hsize4;" + space-before="&hsize4space;" + font-weight='bold' + font-style='italic' + font-family="{$title.fontset}"/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<t:titlepage t:element="partintro" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + text-align="center" + font-size="&hsize5;" + font-weight="bold" + space-before="1em" + font-family="{$title.fontset}"/> + <subtitle + text-align="center" + font-size="&hsize2;" + font-weight="bold" + font-style="italic" + font-family="{$title.fontset}"/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<t:titlepage t:element="reference" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + t:named-template="division.title" + param:node="ancestor-or-self::reference[1]" + text-align="center" + font-size="&hsize5;" + space-before="&hsize5space;" + font-weight="bold" + font-family="{$title.fontset}"/> + <subtitle + font-family="{$title.fontset}" + text-align="center"/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<t:titlepage t:element="refsynopsisdiv" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + font-family="{$title.fontset}"/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<t:titlepage t:element="refsection" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + font-family="{$title.fontset}"/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<t:titlepage t:element="refsect1" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + font-family="{$title.fontset}"/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<t:titlepage t:element="refsect2" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + font-family="{$title.fontset}"/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<t:titlepage t:element="refsect3" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + font-family="{$title.fontset}"/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + + <t:titlepage t:element="dedication" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + t:force="1" + t:named-template="component.title" + param:node="ancestor-or-self::dedication[1]" + margin-left="{$title.margin.left}" + font-size="&hsize5;" + font-family="{$title.fontset}" + font-weight="bold"/> + <subtitle + font-family="{$title.fontset}"/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<!-- Same formatting as dedication --> + <t:titlepage t:element="acknowledgements" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + t:force="1" + t:named-template="component.title" + param:node="ancestor-or-self::acknowledgements[1]" + margin-left="{$title.margin.left}" + font-size="&hsize5;" + font-family="{$title.fontset}" + font-weight="bold"/> + <subtitle + font-family="{$title.fontset}"/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + + +<!-- ==================================================================== --> + + <t:titlepage t:element="preface" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + t:force="1" + t:named-template="component.title" + param:node="ancestor-or-self::preface[1]" + margin-left="{$title.margin.left}" + font-size="&hsize5;" + font-family="{$title.fontset}" + font-weight="bold"/> + <subtitle + font-family="{$title.fontset}"/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + + <t:titlepage t:element="chapter" t:wrapper="fo:block" + font-family="{$title.fontset}"> + <t:titlepage-content t:side="recto" margin-left="{$title.margin.left}"> + <title t:named-template="component.title" + param:node="ancestor-or-self::chapter[1]" + font-size="&hsize5;" + font-weight="bold"/> + + <subtitle space-before="0.5em" + font-style="italic" + font-size="&hsize2;" + font-weight="bold"/> + + <corpauthor space-before="0.5em" + space-after="0.5em" + font-size="&hsize2;"/> + + <authorgroup space-before="0.5em" + space-after="0.5em" + font-size="&hsize2;"/> + + <author space-before="0.5em" + space-after="0.5em" + font-size="&hsize2;"/> + + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + + <t:titlepage t:element="appendix" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + t:named-template="component.title" + param:node="ancestor-or-self::appendix[1]" + margin-left="{$title.margin.left}" + font-size="&hsize5;" + font-weight="bold" + font-family="{$title.fontset}"/> + <subtitle + font-family="{$title.fontset}"/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<t:titlepage t:element="section" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + margin-left="{$title.margin.left}" + font-family="{$title.fontset}"/> + <subtitle + font-family="{$title.fontset}"/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<t:titlepage t:element="sect1" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + margin-left="{$title.margin.left}" + font-family="{$title.fontset}"/> + <subtitle + font-family="{$title.fontset}"/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<t:titlepage t:element="sect2" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + margin-left="{$title.margin.left}" + font-family="{$title.fontset}"/> + <subtitle + font-family="{$title.fontset}"/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<t:titlepage t:element="sect3" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + margin-left="{$title.margin.left}" + font-family="{$title.fontset}"/> + <subtitle + font-family="{$title.fontset}"/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<t:titlepage t:element="sect4" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + margin-left="{$title.margin.left}" + font-family="{$title.fontset}"/> + <subtitle + font-family="{$title.fontset}"/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<t:titlepage t:element="sect5" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + margin-left="{$title.margin.left}" + font-family="{$title.fontset}"/> + <subtitle + font-family="{$title.fontset}"/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<t:titlepage t:element="simplesect" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + margin-left="{$title.margin.left}" + font-family="{$title.fontset}"/> + <subtitle + font-family="{$title.fontset}"/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + + <t:titlepage t:element="bibliography" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + t:force="1" + t:named-template="component.title" + param:node="ancestor-or-self::bibliography[1]" + margin-left="{$title.margin.left}" + font-size="&hsize5;" + font-family="{$title.fontset}" + font-weight="bold"/> + <subtitle + font-family="{$title.fontset}"/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> + </t:titlepage> + +<!-- ==================================================================== --> + + <t:titlepage t:element="bibliodiv" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title t:named-template="component.title" + param:node="ancestor-or-self::bibliodiv[1]" + margin-left="{$title.margin.left}" + font-size="&hsize4;" + font-family="{$title.fontset}" + font-weight="bold"/> + <subtitle + font-family="{$title.fontset}"/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> + </t:titlepage> + +<!-- ==================================================================== --> + + <t:titlepage t:element="glossary" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + t:force="1" + t:named-template="component.title" + param:node="ancestor-or-self::glossary[1]" + margin-left="{$title.margin.left}" + font-size="&hsize5;" + font-family="{$title.fontset}" + font-weight="bold"/> + <subtitle + font-family="{$title.fontset}"/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> + </t:titlepage> + +<!-- ==================================================================== --> + + <t:titlepage t:element="glossdiv" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title t:named-template="component.title" + param:node="ancestor-or-self::glossdiv[1]" + margin-left="{$title.margin.left}" + font-size="&hsize4;" + font-family="{$title.fontset}" + font-weight="bold"/> + <subtitle + font-family="{$title.fontset}"/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> + </t:titlepage> + +<!-- ==================================================================== --> + + <t:titlepage t:element="index" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + t:force="1" + t:named-template="component.title" + param:node="ancestor-or-self::index[1]" + param:pagewide="1" + margin-left="0pt" + font-size="&hsize5;" + font-family="{$title.fontset}" + font-weight="bold"/> + <subtitle + font-family="{$title.fontset}"/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> + </t:titlepage> + +<!-- ==================================================================== --> + + <!-- The indexdiv.title template is used so that manual and --> + <!-- automatically generated indexdiv titles get the same --> + <!-- formatting. --> + + <t:titlepage t:element="indexdiv" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title t:force="1" + t:named-template="indexdiv.title" + param:title="title"/> + <subtitle + font-family="{$title.fontset}"/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> + </t:titlepage> + +<!-- ==================================================================== --> + + <t:titlepage t:element="setindex" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + t:force="1" + t:named-template="component.title" + param:node="ancestor-or-self::setindex[1]" + param:pagewide="1" + margin-left="0pt" + font-size="&hsize5;" + font-family="{$title.fontset}" + font-weight="bold"/> + <subtitle + font-family="{$title.fontset}"/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> + </t:titlepage> + +<!-- ==================================================================== --> + + <t:titlepage t:element="colophon" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + t:force="1" + t:named-template="component.title" + param:node="ancestor-or-self::colophon[1]" + margin-left="{$title.margin.left}" + font-size="&hsize5;" + font-family="{$title.fontset}" + font-weight="bold"/> + <subtitle + font-family="{$title.fontset}"/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + + <t:titlepage t:element="sidebar" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + font-family="{$title.fontset}" + font-weight="bold"/> + <subtitle + font-family="{$title.fontset}"/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> + </t:titlepage> + +<!-- ==================================================================== --> +<t:titlepage t:element="qandaset" t:wrapper="fo:block" + font-family="{$title.fontset}"> + + <t:titlepage-content t:side="recto" + start-indent="0pt" + text-align="center"> + + <title t:named-template="component.title" + param:node="ancestor-or-self::qandaset[1]" + keep-with-next.within-column="always" + font-size="&hsize5;" + font-weight="bold"/> + + <subtitle/> + + <corpauthor space-before="0.5em" + font-size="&hsize2;"/> + <authorgroup space-before="0.5em" + font-size="&hsize2;"/> + <author space-before="0.5em" + font-size="&hsize2;"/> + + <othercredit space-before="0.5em"/> + <releaseinfo space-before="0.5em"/> + <copyright space-before="0.5em"/> + <legalnotice text-align="start" + margin-left="0.5in" + margin-right="0.5in" + font-family="{$body.fontset}"/> + <pubdate space-before="0.5em"/> + <revision space-before="0.5em"/> + <revhistory space-before="0.5em"/> + <abstract space-before="0.5em" + text-align="start" + margin-left="0.5in" + margin-right="0.5in" + font-family="{$body.fontset}"/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + + <t:titlepage t:element="table.of.contents" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + t:force="1" + t:named-template="gentext" + param:key="'TableofContents'" + space-before.minimum="1em" + space-before.optimum="1.5em" + space-before.maximum="2em" + space-after="0.5em" + margin-left="{$title.margin.left}" + start-indent="0pt" + font-size="&hsize3;" + font-weight="bold" + font-family="{$title.fontset}"/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> + </t:titlepage> + + <t:titlepage t:element="list.of.tables" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + t:force="1" + t:named-template="gentext" + param:key="'ListofTables'" + space-before.minimum="1em" + space-before.optimum="1.5em" + space-before.maximum="2em" + space-after="0.5em" + margin-left="{$title.margin.left}" + start-indent="0pt" + font-size="&hsize3;" + font-weight="bold" + font-family="{$title.fontset}"/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> + </t:titlepage> + + <t:titlepage t:element="list.of.figures" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + t:force="1" + t:named-template="gentext" + param:key="'ListofFigures'" + space-before.minimum="1em" + space-before.optimum="1.5em" + space-before.maximum="2em" + space-after="0.5em" + margin-left="{$title.margin.left}" + start-indent="0pt" + font-size="&hsize3;" + font-weight="bold" + font-family="{$title.fontset}"/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> + </t:titlepage> + + <t:titlepage t:element="list.of.examples" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + t:force="1" + t:named-template="gentext" + param:key="'ListofExamples'" + space-before.minimum="1em" + space-before.optimum="1.5em" + space-before.maximum="2em" + space-after="0.5em" + margin-left="{$title.margin.left}" + start-indent="0pt" + font-size="&hsize3;" + font-weight="bold" + font-family="{$title.fontset}"/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> + </t:titlepage> + + <t:titlepage t:element="list.of.equations" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + t:force="1" + t:named-template="gentext" + param:key="'ListofEquations'" + space-before.minimum="1em" + space-before.optimum="1.5em" + space-before.maximum="2em" + space-after="0.5em" + margin-left="{$title.margin.left}" + start-indent="0pt" + font-size="&hsize3;" + font-weight="bold" + font-family="{$title.fontset}"/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> + </t:titlepage> + + <t:titlepage t:element="list.of.procedures" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + t:force="1" + t:named-template="gentext" + param:key="'ListofProcedures'" + space-before.minimum="1em" + space-before.optimum="1.5em" + space-before.maximum="2em" + space-after="0.5em" + margin-left="{$title.margin.left}" + start-indent="0pt" + font-size="&hsize3;" + font-weight="bold" + font-family="{$title.fontset}"/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> + </t:titlepage> + + <t:titlepage t:element="list.of.unknowns" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + t:force="1" + t:named-template="gentext" + param:key="'ListofUnknown'" + space-before.minimum="1em" + space-before.optimum="1.5em" + space-before.maximum="2em" + space-after="0.5em" + margin-left="{$title.margin.left}" + start-indent="0pt" + font-size="&hsize3;" + font-weight="bold" + font-family="{$title.fontset}"/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> + </t:titlepage> + +<!-- ==================================================================== --> + +</t:templates> diff --git a/doc/help/xslt/fo/titlepage.templates.xsl b/doc/help/xslt/fo/titlepage.templates.xsl new file mode 100644 index 00000000..0b9cafa1 --- /dev/null +++ b/doc/help/xslt/fo/titlepage.templates.xsl @@ -0,0 +1,5182 @@ +<?xml version="1.0"?> + +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:exsl="http://exslt.org/common" version="1.0" exclude-result-prefixes="exsl"> + +<!-- This stylesheet was created by template/titlepage.xsl--> + +<xsl:template name="article.titlepage.recto"> + <xsl:choose> + <xsl:when test="articleinfo/title"> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/title"/> + </xsl:when> + <xsl:when test="artheader/title"> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/title"/> + </xsl:when> + <xsl:when test="info/title"> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="articleinfo/subtitle"> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/subtitle"/> + </xsl:when> + <xsl:when test="artheader/subtitle"> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/subtitle"/> + </xsl:when> + <xsl:when test="info/subtitle"> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/corpauthor"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/corpauthor"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/corpauthor"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/authorgroup"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/authorgroup"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/authorgroup"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/author"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/author"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/author"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/othercredit"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/othercredit"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/othercredit"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/releaseinfo"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/releaseinfo"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/releaseinfo"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/copyright"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/copyright"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/copyright"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/legalnotice"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/legalnotice"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/legalnotice"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/pubdate"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/pubdate"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/pubdate"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/revision"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/revision"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/revision"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/revhistory"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/revhistory"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/revhistory"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/abstract"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/abstract"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/abstract"/> +</xsl:template> + +<xsl:template name="article.titlepage.verso"> +</xsl:template> + +<xsl:template name="article.titlepage.separator"> +</xsl:template> + +<xsl:template name="article.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="article.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="article.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" font-family="{$title.fontset}"> + <xsl:variable name="recto.content"> + <xsl:call-template name="article.titlepage.before.recto"/> + <xsl:call-template name="article.titlepage.recto"/> + </xsl:variable> + <xsl:variable name="recto.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> + <fo:block start-indent="0pt" text-align="center"><xsl:copy-of select="$recto.content"/></fo:block> + </xsl:if> + <xsl:variable name="verso.content"> + <xsl:call-template name="article.titlepage.before.verso"/> + <xsl:call-template name="article.titlepage.verso"/> + </xsl:variable> + <xsl:variable name="verso.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> + <fo:block><xsl:copy-of select="$verso.content"/></fo:block> + </xsl:if> + <xsl:call-template name="article.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="article.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="article.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="article.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" keep-with-next.within-column="always" font-size="24.8832pt" font-weight="bold"> +<xsl:call-template name="component.title"> +<xsl:with-param name="node" select="ancestor-or-self::article[1]"/> +</xsl:call-template> +</fo:block> +</xsl:template> + +<xsl:template match="subtitle" mode="article.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style"> +<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="corpauthor" mode="article.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em" font-size="14.4pt"> +<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="authorgroup" mode="article.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em" font-size="14.4pt"> +<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="author" mode="article.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em" font-size="14.4pt"> +<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="othercredit" mode="article.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em"> +<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="releaseinfo" mode="article.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em"> +<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="copyright" mode="article.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em"> +<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="legalnotice" mode="article.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" text-align="start" margin-left="0.5in" margin-right="0.5in" font-family="{$body.fontset}"> +<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="pubdate" mode="article.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em"> +<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="revision" mode="article.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em"> +<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="revhistory" mode="article.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em"> +<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="abstract" mode="article.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em" text-align="start" margin-left="0.5in" margin-right="0.5in" font-family="{$body.fontset}"> +<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template name="set.titlepage.recto"> + <xsl:choose> + <xsl:when test="setinfo/title"> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/title"/> + </xsl:when> + <xsl:when test="info/title"> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="setinfo/subtitle"> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/subtitle"/> + </xsl:when> + <xsl:when test="info/subtitle"> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/corpauthor"/> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/corpauthor"/> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/authorgroup"/> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/authorgroup"/> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/author"/> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/author"/> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/othercredit"/> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/othercredit"/> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/releaseinfo"/> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/releaseinfo"/> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/copyright"/> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/copyright"/> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/legalnotice"/> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/legalnotice"/> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/pubdate"/> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/pubdate"/> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/revision"/> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/revision"/> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/revhistory"/> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/revhistory"/> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/abstract"/> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/abstract"/> +</xsl:template> + +<xsl:template name="set.titlepage.verso"> +</xsl:template> + +<xsl:template name="set.titlepage.separator"> +</xsl:template> + +<xsl:template name="set.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="set.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="set.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <xsl:variable name="recto.content"> + <xsl:call-template name="set.titlepage.before.recto"/> + <xsl:call-template name="set.titlepage.recto"/> + </xsl:variable> + <xsl:variable name="recto.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> + <fo:block><xsl:copy-of select="$recto.content"/></fo:block> + </xsl:if> + <xsl:variable name="verso.content"> + <xsl:call-template name="set.titlepage.before.verso"/> + <xsl:call-template name="set.titlepage.verso"/> + </xsl:variable> + <xsl:variable name="verso.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> + <fo:block><xsl:copy-of select="$verso.content"/></fo:block> + </xsl:if> + <xsl:call-template name="set.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="set.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="set.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="set.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style" text-align="center" font-size="24.8832pt" space-before="18.6624pt" font-weight="bold" font-family="{$title.fontset}"> +<xsl:call-template name="division.title"> +<xsl:with-param name="node" select="ancestor-or-self::set[1]"/> +</xsl:call-template> +</fo:block> +</xsl:template> + +<xsl:template match="subtitle" mode="set.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style" font-family="{$title.fontset}" text-align="center"> +<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="corpauthor" mode="set.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style"> +<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="authorgroup" mode="set.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style"> +<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="author" mode="set.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style"> +<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="othercredit" mode="set.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style"> +<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="releaseinfo" mode="set.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style"> +<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="copyright" mode="set.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style"> +<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="legalnotice" mode="set.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style"> +<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="pubdate" mode="set.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style"> +<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="revision" mode="set.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style"> +<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="revhistory" mode="set.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style"> +<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="abstract" mode="set.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style"> +<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template name="book.titlepage.recto"> + <xsl:choose> + <xsl:when test="bookinfo/title"> + <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/title"/> + </xsl:when> + <xsl:when test="info/title"> + <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="bookinfo/subtitle"> + <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/subtitle"/> + </xsl:when> + <xsl:when test="info/subtitle"> + <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/corpauthor"/> + <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/corpauthor"/> + <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/authorgroup"/> + <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/authorgroup"/> + <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/author"/> + <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/author"/> +</xsl:template> + +<xsl:template name="book.titlepage.verso"> + <xsl:choose> + <xsl:when test="bookinfo/title"> + <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/title"/> + </xsl:when> + <xsl:when test="info/title"> + <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/corpauthor"/> + <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/corpauthor"/> + <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/authorgroup"/> + <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/authorgroup"/> + <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/author"/> + <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/author"/> + <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/othercredit"/> + <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/othercredit"/> + <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/releaseinfo"/> + <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/releaseinfo"/> + <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/pubdate"/> + <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/pubdate"/> + <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/copyright"/> + <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/copyright"/> + <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/abstract"/> + <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/abstract"/> + <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/legalnotice"/> + <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/legalnotice"/> +</xsl:template> + +<xsl:template name="book.titlepage.separator"><fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" break-after="page"/> +</xsl:template> + +<xsl:template name="book.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="book.titlepage.before.verso"><fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" break-after="page"/> +</xsl:template> + +<xsl:template name="book.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <xsl:variable name="recto.content"> + <xsl:call-template name="book.titlepage.before.recto"/> + <xsl:call-template name="book.titlepage.recto"/> + </xsl:variable> + <xsl:variable name="recto.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> + <fo:block><xsl:copy-of select="$recto.content"/></fo:block> + </xsl:if> + <xsl:variable name="verso.content"> + <xsl:call-template name="book.titlepage.before.verso"/> + <xsl:call-template name="book.titlepage.verso"/> + </xsl:variable> + <xsl:variable name="verso.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> + <fo:block><xsl:copy-of select="$verso.content"/></fo:block> + </xsl:if> + <xsl:call-template name="book.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="book.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="book.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="book.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.recto.style" text-align="center" font-size="24.8832pt" space-before="18.6624pt" font-weight="bold" font-family="{$title.fontset}"> +<xsl:call-template name="division.title"> +<xsl:with-param name="node" select="ancestor-or-self::book[1]"/> +</xsl:call-template> +</fo:block> +</xsl:template> + +<xsl:template match="subtitle" mode="book.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.recto.style" text-align="center" font-size="20.736pt" space-before="15.552pt" font-family="{$title.fontset}"> +<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="corpauthor" mode="book.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.recto.style" font-size="17.28pt" keep-with-next.within-column="always" space-before="2in"> +<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="authorgroup" mode="book.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.recto.style" space-before="2in"> +<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="author" mode="book.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.recto.style" font-size="17.28pt" space-before="10.8pt" keep-with-next.within-column="always"> +<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="title" mode="book.titlepage.verso.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style" font-size="14.4pt" font-weight="bold" font-family="{$title.fontset}"> +<xsl:call-template name="book.verso.title"> +</xsl:call-template> +</fo:block> +</xsl:template> + +<xsl:template match="corpauthor" mode="book.titlepage.verso.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style"> +<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="authorgroup" mode="book.titlepage.verso.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style"> +<xsl:call-template name="verso.authorgroup"> +</xsl:call-template> +</fo:block> +</xsl:template> + +<xsl:template match="author" mode="book.titlepage.verso.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style"> +<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="othercredit" mode="book.titlepage.verso.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style"> +<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="releaseinfo" mode="book.titlepage.verso.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style" space-before="0.5em"> +<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="pubdate" mode="book.titlepage.verso.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style" space-before="1em"> +<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="copyright" mode="book.titlepage.verso.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style"> +<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="abstract" mode="book.titlepage.verso.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style"> +<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="legalnotice" mode="book.titlepage.verso.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style" font-size="8pt"> +<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/> +</fo:block> +</xsl:template> + +<xsl:template name="part.titlepage.recto"> + <xsl:choose> + <xsl:when test="partinfo/title"> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/title"/> + </xsl:when> + <xsl:when test="docinfo/title"> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/title"/> + </xsl:when> + <xsl:when test="info/title"> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="partinfo/subtitle"> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/subtitle"/> + </xsl:when> + <xsl:when test="docinfo/subtitle"> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/subtitle"/> + </xsl:when> + <xsl:when test="info/subtitle"> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + +</xsl:template> + +<xsl:template name="part.titlepage.verso"> +</xsl:template> + +<xsl:template name="part.titlepage.separator"> +</xsl:template> + +<xsl:template name="part.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="part.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="part.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <xsl:variable name="recto.content"> + <xsl:call-template name="part.titlepage.before.recto"/> + <xsl:call-template name="part.titlepage.recto"/> + </xsl:variable> + <xsl:variable name="recto.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> + <fo:block><xsl:copy-of select="$recto.content"/></fo:block> + </xsl:if> + <xsl:variable name="verso.content"> + <xsl:call-template name="part.titlepage.before.verso"/> + <xsl:call-template name="part.titlepage.verso"/> + </xsl:variable> + <xsl:variable name="verso.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> + <fo:block><xsl:copy-of select="$verso.content"/></fo:block> + </xsl:if> + <xsl:call-template name="part.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="part.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="part.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="part.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="part.titlepage.recto.style" text-align="center" font-size="24.8832pt" space-before="18.6624pt" font-weight="bold" font-family="{$title.fontset}"> +<xsl:call-template name="division.title"> +<xsl:with-param name="node" select="ancestor-or-self::part[1]"/> +</xsl:call-template> +</fo:block> +</xsl:template> + +<xsl:template match="subtitle" mode="part.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="part.titlepage.recto.style" text-align="center" font-size="20.736pt" space-before="15.552pt" font-weight="bold" font-style="italic" font-family="{$title.fontset}"> +<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template name="partintro.titlepage.recto"> + <xsl:choose> + <xsl:when test="partintroinfo/title"> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/title"/> + </xsl:when> + <xsl:when test="docinfo/title"> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/title"/> + </xsl:when> + <xsl:when test="info/title"> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="partintroinfo/subtitle"> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/subtitle"/> + </xsl:when> + <xsl:when test="docinfo/subtitle"> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/subtitle"/> + </xsl:when> + <xsl:when test="info/subtitle"> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/corpauthor"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/corpauthor"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/corpauthor"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/authorgroup"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/authorgroup"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/authorgroup"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/author"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/author"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/author"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/othercredit"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/othercredit"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/othercredit"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/releaseinfo"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/releaseinfo"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/copyright"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/copyright"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/copyright"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/legalnotice"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/legalnotice"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/legalnotice"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/pubdate"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/pubdate"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/pubdate"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/revision"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/revision"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/revision"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/revhistory"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/revhistory"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/revhistory"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/abstract"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/abstract"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/abstract"/> +</xsl:template> + +<xsl:template name="partintro.titlepage.verso"> +</xsl:template> + +<xsl:template name="partintro.titlepage.separator"> +</xsl:template> + +<xsl:template name="partintro.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="partintro.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="partintro.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <xsl:variable name="recto.content"> + <xsl:call-template name="partintro.titlepage.before.recto"/> + <xsl:call-template name="partintro.titlepage.recto"/> + </xsl:variable> + <xsl:variable name="recto.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> + <fo:block><xsl:copy-of select="$recto.content"/></fo:block> + </xsl:if> + <xsl:variable name="verso.content"> + <xsl:call-template name="partintro.titlepage.before.verso"/> + <xsl:call-template name="partintro.titlepage.verso"/> + </xsl:variable> + <xsl:variable name="verso.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> + <fo:block><xsl:copy-of select="$verso.content"/></fo:block> + </xsl:if> + <xsl:call-template name="partintro.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="partintro.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="partintro.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="partintro.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style" text-align="center" font-size="24.8832pt" font-weight="bold" space-before="1em" font-family="{$title.fontset}"> +<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="subtitle" mode="partintro.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style" text-align="center" font-size="14.4pt" font-weight="bold" font-style="italic" font-family="{$title.fontset}"> +<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="corpauthor" mode="partintro.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style"> +<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="authorgroup" mode="partintro.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style"> +<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="author" mode="partintro.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style"> +<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="othercredit" mode="partintro.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style"> +<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="releaseinfo" mode="partintro.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style"> +<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="copyright" mode="partintro.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style"> +<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="legalnotice" mode="partintro.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style"> +<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="pubdate" mode="partintro.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style"> +<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="revision" mode="partintro.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style"> +<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="revhistory" mode="partintro.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style"> +<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="abstract" mode="partintro.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style"> +<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template name="reference.titlepage.recto"> + <xsl:choose> + <xsl:when test="referenceinfo/title"> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/title"/> + </xsl:when> + <xsl:when test="docinfo/title"> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/title"/> + </xsl:when> + <xsl:when test="info/title"> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="referenceinfo/subtitle"> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/subtitle"/> + </xsl:when> + <xsl:when test="docinfo/subtitle"> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/subtitle"/> + </xsl:when> + <xsl:when test="info/subtitle"> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/corpauthor"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/corpauthor"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/corpauthor"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/authorgroup"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/authorgroup"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/authorgroup"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/author"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/author"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/author"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/othercredit"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/othercredit"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/othercredit"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/releaseinfo"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/releaseinfo"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/copyright"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/copyright"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/copyright"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/legalnotice"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/legalnotice"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/legalnotice"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/pubdate"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/pubdate"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/pubdate"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/revision"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/revision"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/revision"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/revhistory"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/revhistory"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/revhistory"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/abstract"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/abstract"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/abstract"/> +</xsl:template> + +<xsl:template name="reference.titlepage.verso"> +</xsl:template> + +<xsl:template name="reference.titlepage.separator"> +</xsl:template> + +<xsl:template name="reference.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="reference.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="reference.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <xsl:variable name="recto.content"> + <xsl:call-template name="reference.titlepage.before.recto"/> + <xsl:call-template name="reference.titlepage.recto"/> + </xsl:variable> + <xsl:variable name="recto.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> + <fo:block><xsl:copy-of select="$recto.content"/></fo:block> + </xsl:if> + <xsl:variable name="verso.content"> + <xsl:call-template name="reference.titlepage.before.verso"/> + <xsl:call-template name="reference.titlepage.verso"/> + </xsl:variable> + <xsl:variable name="verso.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> + <fo:block><xsl:copy-of select="$verso.content"/></fo:block> + </xsl:if> + <xsl:call-template name="reference.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="reference.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="reference.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="reference.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style" text-align="center" font-size="24.8832pt" space-before="18.6624pt" font-weight="bold" font-family="{$title.fontset}"> +<xsl:call-template name="division.title"> +<xsl:with-param name="node" select="ancestor-or-self::reference[1]"/> +</xsl:call-template> +</fo:block> +</xsl:template> + +<xsl:template match="subtitle" mode="reference.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style" font-family="{$title.fontset}" text-align="center"> +<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="corpauthor" mode="reference.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style"> +<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="authorgroup" mode="reference.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style"> +<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="author" mode="reference.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style"> +<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="othercredit" mode="reference.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style"> +<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="releaseinfo" mode="reference.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style"> +<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="copyright" mode="reference.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style"> +<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="legalnotice" mode="reference.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style"> +<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="pubdate" mode="reference.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style"> +<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="revision" mode="reference.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style"> +<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="revhistory" mode="reference.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style"> +<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="abstract" mode="reference.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style"> +<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template name="refsynopsisdiv.titlepage.recto"> + <xsl:choose> + <xsl:when test="refsynopsisdivinfo/title"> + <xsl:apply-templates mode="refsynopsisdiv.titlepage.recto.auto.mode" select="refsynopsisdivinfo/title"/> + </xsl:when> + <xsl:when test="docinfo/title"> + <xsl:apply-templates mode="refsynopsisdiv.titlepage.recto.auto.mode" select="docinfo/title"/> + </xsl:when> + <xsl:when test="info/title"> + <xsl:apply-templates mode="refsynopsisdiv.titlepage.recto.auto.mode" select="info/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="refsynopsisdiv.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + +</xsl:template> + +<xsl:template name="refsynopsisdiv.titlepage.verso"> +</xsl:template> + +<xsl:template name="refsynopsisdiv.titlepage.separator"> +</xsl:template> + +<xsl:template name="refsynopsisdiv.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="refsynopsisdiv.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="refsynopsisdiv.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <xsl:variable name="recto.content"> + <xsl:call-template name="refsynopsisdiv.titlepage.before.recto"/> + <xsl:call-template name="refsynopsisdiv.titlepage.recto"/> + </xsl:variable> + <xsl:variable name="recto.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> + <fo:block><xsl:copy-of select="$recto.content"/></fo:block> + </xsl:if> + <xsl:variable name="verso.content"> + <xsl:call-template name="refsynopsisdiv.titlepage.before.verso"/> + <xsl:call-template name="refsynopsisdiv.titlepage.verso"/> + </xsl:variable> + <xsl:variable name="verso.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> + <fo:block><xsl:copy-of select="$verso.content"/></fo:block> + </xsl:if> + <xsl:call-template name="refsynopsisdiv.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="refsynopsisdiv.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="refsynopsisdiv.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="refsynopsisdiv.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="refsynopsisdiv.titlepage.recto.style" font-family="{$title.fontset}"> +<xsl:apply-templates select="." mode="refsynopsisdiv.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template name="refsection.titlepage.recto"> + <xsl:choose> + <xsl:when test="refsectioninfo/title"> + <xsl:apply-templates mode="refsection.titlepage.recto.auto.mode" select="refsectioninfo/title"/> + </xsl:when> + <xsl:when test="docinfo/title"> + <xsl:apply-templates mode="refsection.titlepage.recto.auto.mode" select="docinfo/title"/> + </xsl:when> + <xsl:when test="info/title"> + <xsl:apply-templates mode="refsection.titlepage.recto.auto.mode" select="info/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="refsection.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + +</xsl:template> + +<xsl:template name="refsection.titlepage.verso"> +</xsl:template> + +<xsl:template name="refsection.titlepage.separator"> +</xsl:template> + +<xsl:template name="refsection.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="refsection.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="refsection.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <xsl:variable name="recto.content"> + <xsl:call-template name="refsection.titlepage.before.recto"/> + <xsl:call-template name="refsection.titlepage.recto"/> + </xsl:variable> + <xsl:variable name="recto.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> + <fo:block><xsl:copy-of select="$recto.content"/></fo:block> + </xsl:if> + <xsl:variable name="verso.content"> + <xsl:call-template name="refsection.titlepage.before.verso"/> + <xsl:call-template name="refsection.titlepage.verso"/> + </xsl:variable> + <xsl:variable name="verso.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> + <fo:block><xsl:copy-of select="$verso.content"/></fo:block> + </xsl:if> + <xsl:call-template name="refsection.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="refsection.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="refsection.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="refsection.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="refsection.titlepage.recto.style" font-family="{$title.fontset}"> +<xsl:apply-templates select="." mode="refsection.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template name="refsect1.titlepage.recto"> + <xsl:choose> + <xsl:when test="refsect1info/title"> + <xsl:apply-templates mode="refsect1.titlepage.recto.auto.mode" select="refsect1info/title"/> + </xsl:when> + <xsl:when test="docinfo/title"> + <xsl:apply-templates mode="refsect1.titlepage.recto.auto.mode" select="docinfo/title"/> + </xsl:when> + <xsl:when test="info/title"> + <xsl:apply-templates mode="refsect1.titlepage.recto.auto.mode" select="info/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="refsect1.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + +</xsl:template> + +<xsl:template name="refsect1.titlepage.verso"> +</xsl:template> + +<xsl:template name="refsect1.titlepage.separator"> +</xsl:template> + +<xsl:template name="refsect1.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="refsect1.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="refsect1.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <xsl:variable name="recto.content"> + <xsl:call-template name="refsect1.titlepage.before.recto"/> + <xsl:call-template name="refsect1.titlepage.recto"/> + </xsl:variable> + <xsl:variable name="recto.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> + <fo:block><xsl:copy-of select="$recto.content"/></fo:block> + </xsl:if> + <xsl:variable name="verso.content"> + <xsl:call-template name="refsect1.titlepage.before.verso"/> + <xsl:call-template name="refsect1.titlepage.verso"/> + </xsl:variable> + <xsl:variable name="verso.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> + <fo:block><xsl:copy-of select="$verso.content"/></fo:block> + </xsl:if> + <xsl:call-template name="refsect1.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="refsect1.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="refsect1.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="refsect1.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="refsect1.titlepage.recto.style" font-family="{$title.fontset}"> +<xsl:apply-templates select="." mode="refsect1.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template name="refsect2.titlepage.recto"> + <xsl:choose> + <xsl:when test="refsect2info/title"> + <xsl:apply-templates mode="refsect2.titlepage.recto.auto.mode" select="refsect2info/title"/> + </xsl:when> + <xsl:when test="docinfo/title"> + <xsl:apply-templates mode="refsect2.titlepage.recto.auto.mode" select="docinfo/title"/> + </xsl:when> + <xsl:when test="info/title"> + <xsl:apply-templates mode="refsect2.titlepage.recto.auto.mode" select="info/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="refsect2.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + +</xsl:template> + +<xsl:template name="refsect2.titlepage.verso"> +</xsl:template> + +<xsl:template name="refsect2.titlepage.separator"> +</xsl:template> + +<xsl:template name="refsect2.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="refsect2.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="refsect2.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <xsl:variable name="recto.content"> + <xsl:call-template name="refsect2.titlepage.before.recto"/> + <xsl:call-template name="refsect2.titlepage.recto"/> + </xsl:variable> + <xsl:variable name="recto.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> + <fo:block><xsl:copy-of select="$recto.content"/></fo:block> + </xsl:if> + <xsl:variable name="verso.content"> + <xsl:call-template name="refsect2.titlepage.before.verso"/> + <xsl:call-template name="refsect2.titlepage.verso"/> + </xsl:variable> + <xsl:variable name="verso.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> + <fo:block><xsl:copy-of select="$verso.content"/></fo:block> + </xsl:if> + <xsl:call-template name="refsect2.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="refsect2.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="refsect2.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="refsect2.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="refsect2.titlepage.recto.style" font-family="{$title.fontset}"> +<xsl:apply-templates select="." mode="refsect2.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template name="refsect3.titlepage.recto"> + <xsl:choose> + <xsl:when test="refsect3info/title"> + <xsl:apply-templates mode="refsect3.titlepage.recto.auto.mode" select="refsect3info/title"/> + </xsl:when> + <xsl:when test="docinfo/title"> + <xsl:apply-templates mode="refsect3.titlepage.recto.auto.mode" select="docinfo/title"/> + </xsl:when> + <xsl:when test="info/title"> + <xsl:apply-templates mode="refsect3.titlepage.recto.auto.mode" select="info/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="refsect3.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + +</xsl:template> + +<xsl:template name="refsect3.titlepage.verso"> +</xsl:template> + +<xsl:template name="refsect3.titlepage.separator"> +</xsl:template> + +<xsl:template name="refsect3.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="refsect3.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="refsect3.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <xsl:variable name="recto.content"> + <xsl:call-template name="refsect3.titlepage.before.recto"/> + <xsl:call-template name="refsect3.titlepage.recto"/> + </xsl:variable> + <xsl:variable name="recto.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> + <fo:block><xsl:copy-of select="$recto.content"/></fo:block> + </xsl:if> + <xsl:variable name="verso.content"> + <xsl:call-template name="refsect3.titlepage.before.verso"/> + <xsl:call-template name="refsect3.titlepage.verso"/> + </xsl:variable> + <xsl:variable name="verso.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> + <fo:block><xsl:copy-of select="$verso.content"/></fo:block> + </xsl:if> + <xsl:call-template name="refsect3.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="refsect3.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="refsect3.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="refsect3.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="refsect3.titlepage.recto.style" font-family="{$title.fontset}"> +<xsl:apply-templates select="." mode="refsect3.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template name="dedication.titlepage.recto"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="dedication.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="24.8832pt" font-family="{$title.fontset}" font-weight="bold"> +<xsl:call-template name="component.title"> +<xsl:with-param name="node" select="ancestor-or-self::dedication[1]"/> +</xsl:call-template></fo:block> + <xsl:choose> + <xsl:when test="dedicationinfo/subtitle"> + <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="dedicationinfo/subtitle"/> + </xsl:when> + <xsl:when test="docinfo/subtitle"> + <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="docinfo/subtitle"/> + </xsl:when> + <xsl:when test="info/subtitle"> + <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="info/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + +</xsl:template> + +<xsl:template name="dedication.titlepage.verso"> +</xsl:template> + +<xsl:template name="dedication.titlepage.separator"> +</xsl:template> + +<xsl:template name="dedication.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="dedication.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="dedication.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <xsl:variable name="recto.content"> + <xsl:call-template name="dedication.titlepage.before.recto"/> + <xsl:call-template name="dedication.titlepage.recto"/> + </xsl:variable> + <xsl:variable name="recto.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> + <fo:block><xsl:copy-of select="$recto.content"/></fo:block> + </xsl:if> + <xsl:variable name="verso.content"> + <xsl:call-template name="dedication.titlepage.before.verso"/> + <xsl:call-template name="dedication.titlepage.verso"/> + </xsl:variable> + <xsl:variable name="verso.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> + <fo:block><xsl:copy-of select="$verso.content"/></fo:block> + </xsl:if> + <xsl:call-template name="dedication.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="dedication.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="dedication.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="subtitle" mode="dedication.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="dedication.titlepage.recto.style" font-family="{$title.fontset}"> +<xsl:apply-templates select="." mode="dedication.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template name="acknowledgements.titlepage.recto"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="acknowledgements.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="24.8832pt" font-family="{$title.fontset}" font-weight="bold"> +<xsl:call-template name="component.title"> +<xsl:with-param name="node" select="ancestor-or-self::acknowledgements[1]"/> +</xsl:call-template></fo:block> + <xsl:choose> + <xsl:when test="acknowledgementsinfo/subtitle"> + <xsl:apply-templates mode="acknowledgements.titlepage.recto.auto.mode" select="acknowledgementsinfo/subtitle"/> + </xsl:when> + <xsl:when test="docinfo/subtitle"> + <xsl:apply-templates mode="acknowledgements.titlepage.recto.auto.mode" select="docinfo/subtitle"/> + </xsl:when> + <xsl:when test="info/subtitle"> + <xsl:apply-templates mode="acknowledgements.titlepage.recto.auto.mode" select="info/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="acknowledgements.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + +</xsl:template> + +<xsl:template name="acknowledgements.titlepage.verso"> +</xsl:template> + +<xsl:template name="acknowledgements.titlepage.separator"> +</xsl:template> + +<xsl:template name="acknowledgements.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="acknowledgements.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="acknowledgements.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <xsl:variable name="recto.content"> + <xsl:call-template name="acknowledgements.titlepage.before.recto"/> + <xsl:call-template name="acknowledgements.titlepage.recto"/> + </xsl:variable> + <xsl:variable name="recto.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> + <fo:block><xsl:copy-of select="$recto.content"/></fo:block> + </xsl:if> + <xsl:variable name="verso.content"> + <xsl:call-template name="acknowledgements.titlepage.before.verso"/> + <xsl:call-template name="acknowledgements.titlepage.verso"/> + </xsl:variable> + <xsl:variable name="verso.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> + <fo:block><xsl:copy-of select="$verso.content"/></fo:block> + </xsl:if> + <xsl:call-template name="acknowledgements.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="acknowledgements.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="acknowledgements.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="subtitle" mode="acknowledgements.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="acknowledgements.titlepage.recto.style" font-family="{$title.fontset}"> +<xsl:apply-templates select="." mode="acknowledgements.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template name="preface.titlepage.recto"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="24.8832pt" font-family="{$title.fontset}" font-weight="bold"> +<xsl:call-template name="component.title"> +<xsl:with-param name="node" select="ancestor-or-self::preface[1]"/> +</xsl:call-template></fo:block> + <xsl:choose> + <xsl:when test="prefaceinfo/subtitle"> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/subtitle"/> + </xsl:when> + <xsl:when test="docinfo/subtitle"> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/subtitle"/> + </xsl:when> + <xsl:when test="info/subtitle"> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/corpauthor"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/corpauthor"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/corpauthor"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/authorgroup"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/authorgroup"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/authorgroup"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/author"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/author"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/author"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/othercredit"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/othercredit"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/othercredit"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/releaseinfo"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/releaseinfo"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/copyright"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/copyright"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/copyright"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/legalnotice"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/legalnotice"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/legalnotice"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/pubdate"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/pubdate"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/pubdate"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/revision"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/revision"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/revision"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/revhistory"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/revhistory"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/revhistory"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/abstract"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/abstract"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/abstract"/> +</xsl:template> + +<xsl:template name="preface.titlepage.verso"> +</xsl:template> + +<xsl:template name="preface.titlepage.separator"> +</xsl:template> + +<xsl:template name="preface.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="preface.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="preface.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <xsl:variable name="recto.content"> + <xsl:call-template name="preface.titlepage.before.recto"/> + <xsl:call-template name="preface.titlepage.recto"/> + </xsl:variable> + <xsl:variable name="recto.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> + <fo:block><xsl:copy-of select="$recto.content"/></fo:block> + </xsl:if> + <xsl:variable name="verso.content"> + <xsl:call-template name="preface.titlepage.before.verso"/> + <xsl:call-template name="preface.titlepage.verso"/> + </xsl:variable> + <xsl:variable name="verso.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> + <fo:block><xsl:copy-of select="$verso.content"/></fo:block> + </xsl:if> + <xsl:call-template name="preface.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="preface.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="preface.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="subtitle" mode="preface.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style" font-family="{$title.fontset}"> +<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="corpauthor" mode="preface.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style"> +<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="authorgroup" mode="preface.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style"> +<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="author" mode="preface.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style"> +<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="othercredit" mode="preface.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style"> +<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="releaseinfo" mode="preface.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style"> +<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="copyright" mode="preface.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style"> +<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="legalnotice" mode="preface.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style"> +<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="pubdate" mode="preface.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style"> +<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="revision" mode="preface.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style"> +<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="revhistory" mode="preface.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style"> +<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="abstract" mode="preface.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style"> +<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template name="chapter.titlepage.recto"> + <xsl:choose> + <xsl:when test="chapterinfo/title"> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/title"/> + </xsl:when> + <xsl:when test="docinfo/title"> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/title"/> + </xsl:when> + <xsl:when test="info/title"> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="chapterinfo/subtitle"> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/subtitle"/> + </xsl:when> + <xsl:when test="docinfo/subtitle"> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/subtitle"/> + </xsl:when> + <xsl:when test="info/subtitle"> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/corpauthor"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/corpauthor"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/corpauthor"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/authorgroup"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/authorgroup"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/authorgroup"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/author"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/author"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/author"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/othercredit"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/othercredit"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/othercredit"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/releaseinfo"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/releaseinfo"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/copyright"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/copyright"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/copyright"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/legalnotice"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/legalnotice"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/legalnotice"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/pubdate"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/pubdate"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/pubdate"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/revision"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/revision"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/revision"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/revhistory"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/revhistory"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/revhistory"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/abstract"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/abstract"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/abstract"/> +</xsl:template> + +<xsl:template name="chapter.titlepage.verso"> +</xsl:template> + +<xsl:template name="chapter.titlepage.separator"> +</xsl:template> + +<xsl:template name="chapter.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="chapter.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="chapter.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" font-family="{$title.fontset}"> + <xsl:variable name="recto.content"> + <xsl:call-template name="chapter.titlepage.before.recto"/> + <xsl:call-template name="chapter.titlepage.recto"/> + </xsl:variable> + <xsl:variable name="recto.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> + <fo:block margin-left="{$title.margin.left}"><xsl:copy-of select="$recto.content"/></fo:block> + </xsl:if> + <xsl:variable name="verso.content"> + <xsl:call-template name="chapter.titlepage.before.verso"/> + <xsl:call-template name="chapter.titlepage.verso"/> + </xsl:variable> + <xsl:variable name="verso.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> + <fo:block><xsl:copy-of select="$verso.content"/></fo:block> + </xsl:if> + <xsl:call-template name="chapter.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="chapter.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="chapter.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="chapter.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style" font-size="24.8832pt" font-weight="bold"> +<xsl:call-template name="component.title"> +<xsl:with-param name="node" select="ancestor-or-self::chapter[1]"/> +</xsl:call-template> +</fo:block> +</xsl:template> + +<xsl:template match="subtitle" mode="chapter.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style" space-before="0.5em" font-style="italic" font-size="14.4pt" font-weight="bold"> +<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="corpauthor" mode="chapter.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style" space-before="0.5em" space-after="0.5em" font-size="14.4pt"> +<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="authorgroup" mode="chapter.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style" space-before="0.5em" space-after="0.5em" font-size="14.4pt"> +<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="author" mode="chapter.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style" space-before="0.5em" space-after="0.5em" font-size="14.4pt"> +<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="othercredit" mode="chapter.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style"> +<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="releaseinfo" mode="chapter.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style"> +<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="copyright" mode="chapter.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style"> +<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="legalnotice" mode="chapter.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style"> +<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="pubdate" mode="chapter.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style"> +<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="revision" mode="chapter.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style"> +<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="revhistory" mode="chapter.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style"> +<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="abstract" mode="chapter.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style"> +<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template name="appendix.titlepage.recto"> + <xsl:choose> + <xsl:when test="appendixinfo/title"> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/title"/> + </xsl:when> + <xsl:when test="docinfo/title"> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/title"/> + </xsl:when> + <xsl:when test="info/title"> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="appendixinfo/subtitle"> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/subtitle"/> + </xsl:when> + <xsl:when test="docinfo/subtitle"> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/subtitle"/> + </xsl:when> + <xsl:when test="info/subtitle"> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/corpauthor"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/corpauthor"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/corpauthor"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/authorgroup"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/authorgroup"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/authorgroup"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/author"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/author"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/author"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/othercredit"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/othercredit"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/othercredit"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/releaseinfo"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/releaseinfo"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/copyright"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/copyright"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/copyright"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/legalnotice"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/legalnotice"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/legalnotice"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/pubdate"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/pubdate"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/pubdate"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/revision"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/revision"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/revision"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/revhistory"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/revhistory"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/revhistory"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/abstract"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/abstract"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/abstract"/> +</xsl:template> + +<xsl:template name="appendix.titlepage.verso"> +</xsl:template> + +<xsl:template name="appendix.titlepage.separator"> +</xsl:template> + +<xsl:template name="appendix.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="appendix.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="appendix.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <xsl:variable name="recto.content"> + <xsl:call-template name="appendix.titlepage.before.recto"/> + <xsl:call-template name="appendix.titlepage.recto"/> + </xsl:variable> + <xsl:variable name="recto.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> + <fo:block><xsl:copy-of select="$recto.content"/></fo:block> + </xsl:if> + <xsl:variable name="verso.content"> + <xsl:call-template name="appendix.titlepage.before.verso"/> + <xsl:call-template name="appendix.titlepage.verso"/> + </xsl:variable> + <xsl:variable name="verso.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> + <fo:block><xsl:copy-of select="$verso.content"/></fo:block> + </xsl:if> + <xsl:call-template name="appendix.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="appendix.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="appendix.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="appendix.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="24.8832pt" font-weight="bold" font-family="{$title.fontset}"> +<xsl:call-template name="component.title"> +<xsl:with-param name="node" select="ancestor-or-self::appendix[1]"/> +</xsl:call-template> +</fo:block> +</xsl:template> + +<xsl:template match="subtitle" mode="appendix.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style" font-family="{$title.fontset}"> +<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="corpauthor" mode="appendix.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style"> +<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="authorgroup" mode="appendix.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style"> +<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="author" mode="appendix.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style"> +<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="othercredit" mode="appendix.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style"> +<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="releaseinfo" mode="appendix.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style"> +<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="copyright" mode="appendix.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style"> +<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="legalnotice" mode="appendix.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style"> +<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="pubdate" mode="appendix.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style"> +<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="revision" mode="appendix.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style"> +<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="revhistory" mode="appendix.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style"> +<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="abstract" mode="appendix.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style"> +<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template name="section.titlepage.recto"> + <xsl:choose> + <xsl:when test="sectioninfo/title"> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/title"/> + </xsl:when> + <xsl:when test="info/title"> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="sectioninfo/subtitle"> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/subtitle"/> + </xsl:when> + <xsl:when test="info/subtitle"> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/corpauthor"/> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/corpauthor"/> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/authorgroup"/> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/authorgroup"/> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/author"/> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/author"/> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/othercredit"/> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/othercredit"/> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/releaseinfo"/> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/releaseinfo"/> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/copyright"/> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/copyright"/> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/legalnotice"/> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/legalnotice"/> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/pubdate"/> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/pubdate"/> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/revision"/> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/revision"/> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/revhistory"/> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/revhistory"/> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/abstract"/> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/abstract"/> +</xsl:template> + +<xsl:template name="section.titlepage.verso"> +</xsl:template> + +<xsl:template name="section.titlepage.separator"> +</xsl:template> + +<xsl:template name="section.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="section.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="section.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <xsl:variable name="recto.content"> + <xsl:call-template name="section.titlepage.before.recto"/> + <xsl:call-template name="section.titlepage.recto"/> + </xsl:variable> + <xsl:variable name="recto.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> + <fo:block><xsl:copy-of select="$recto.content"/></fo:block> + </xsl:if> + <xsl:variable name="verso.content"> + <xsl:call-template name="section.titlepage.before.verso"/> + <xsl:call-template name="section.titlepage.verso"/> + </xsl:variable> + <xsl:variable name="verso.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> + <fo:block><xsl:copy-of select="$verso.content"/></fo:block> + </xsl:if> + <xsl:call-template name="section.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="section.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="section.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="section.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style" margin-left="{$title.margin.left}" font-family="{$title.fontset}"> +<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="subtitle" mode="section.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style" font-family="{$title.fontset}"> +<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="corpauthor" mode="section.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style"> +<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="authorgroup" mode="section.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style"> +<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="author" mode="section.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style"> +<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="othercredit" mode="section.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style"> +<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="releaseinfo" mode="section.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style"> +<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="copyright" mode="section.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style"> +<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="legalnotice" mode="section.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style"> +<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="pubdate" mode="section.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style"> +<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="revision" mode="section.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style"> +<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="revhistory" mode="section.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style"> +<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="abstract" mode="section.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style"> +<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template name="sect1.titlepage.recto"> + <xsl:choose> + <xsl:when test="sect1info/title"> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/title"/> + </xsl:when> + <xsl:when test="info/title"> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="sect1info/subtitle"> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/subtitle"/> + </xsl:when> + <xsl:when test="info/subtitle"> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/corpauthor"/> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/corpauthor"/> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/authorgroup"/> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/authorgroup"/> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/author"/> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/author"/> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/othercredit"/> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/othercredit"/> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/releaseinfo"/> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/releaseinfo"/> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/copyright"/> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/copyright"/> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/legalnotice"/> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/legalnotice"/> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/pubdate"/> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/pubdate"/> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/revision"/> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/revision"/> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/revhistory"/> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/revhistory"/> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/abstract"/> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/abstract"/> +</xsl:template> + +<xsl:template name="sect1.titlepage.verso"> +</xsl:template> + +<xsl:template name="sect1.titlepage.separator"> +</xsl:template> + +<xsl:template name="sect1.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="sect1.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="sect1.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <xsl:variable name="recto.content"> + <xsl:call-template name="sect1.titlepage.before.recto"/> + <xsl:call-template name="sect1.titlepage.recto"/> + </xsl:variable> + <xsl:variable name="recto.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> + <fo:block><xsl:copy-of select="$recto.content"/></fo:block> + </xsl:if> + <xsl:variable name="verso.content"> + <xsl:call-template name="sect1.titlepage.before.verso"/> + <xsl:call-template name="sect1.titlepage.verso"/> + </xsl:variable> + <xsl:variable name="verso.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> + <fo:block><xsl:copy-of select="$verso.content"/></fo:block> + </xsl:if> + <xsl:call-template name="sect1.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="sect1.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="sect1.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="sect1.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style" margin-left="{$title.margin.left}" font-family="{$title.fontset}"> +<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="subtitle" mode="sect1.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style" font-family="{$title.fontset}"> +<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="corpauthor" mode="sect1.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="authorgroup" mode="sect1.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="author" mode="sect1.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="othercredit" mode="sect1.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="releaseinfo" mode="sect1.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="copyright" mode="sect1.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="legalnotice" mode="sect1.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="pubdate" mode="sect1.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="revision" mode="sect1.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="revhistory" mode="sect1.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="abstract" mode="sect1.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template name="sect2.titlepage.recto"> + <xsl:choose> + <xsl:when test="sect2info/title"> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/title"/> + </xsl:when> + <xsl:when test="info/title"> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="sect2info/subtitle"> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/subtitle"/> + </xsl:when> + <xsl:when test="info/subtitle"> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/corpauthor"/> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/corpauthor"/> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/authorgroup"/> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/authorgroup"/> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/author"/> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/author"/> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/othercredit"/> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/othercredit"/> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/releaseinfo"/> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/releaseinfo"/> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/copyright"/> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/copyright"/> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/legalnotice"/> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/legalnotice"/> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/pubdate"/> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/pubdate"/> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/revision"/> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/revision"/> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/revhistory"/> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/revhistory"/> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/abstract"/> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/abstract"/> +</xsl:template> + +<xsl:template name="sect2.titlepage.verso"> +</xsl:template> + +<xsl:template name="sect2.titlepage.separator"> +</xsl:template> + +<xsl:template name="sect2.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="sect2.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="sect2.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <xsl:variable name="recto.content"> + <xsl:call-template name="sect2.titlepage.before.recto"/> + <xsl:call-template name="sect2.titlepage.recto"/> + </xsl:variable> + <xsl:variable name="recto.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> + <fo:block><xsl:copy-of select="$recto.content"/></fo:block> + </xsl:if> + <xsl:variable name="verso.content"> + <xsl:call-template name="sect2.titlepage.before.verso"/> + <xsl:call-template name="sect2.titlepage.verso"/> + </xsl:variable> + <xsl:variable name="verso.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> + <fo:block><xsl:copy-of select="$verso.content"/></fo:block> + </xsl:if> + <xsl:call-template name="sect2.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="sect2.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="sect2.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="sect2.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style" margin-left="{$title.margin.left}" font-family="{$title.fontset}"> +<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="subtitle" mode="sect2.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style" font-family="{$title.fontset}"> +<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="corpauthor" mode="sect2.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="authorgroup" mode="sect2.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="author" mode="sect2.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="othercredit" mode="sect2.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="releaseinfo" mode="sect2.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="copyright" mode="sect2.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="legalnotice" mode="sect2.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="pubdate" mode="sect2.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="revision" mode="sect2.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="revhistory" mode="sect2.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="abstract" mode="sect2.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template name="sect3.titlepage.recto"> + <xsl:choose> + <xsl:when test="sect3info/title"> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/title"/> + </xsl:when> + <xsl:when test="info/title"> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="sect3info/subtitle"> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/subtitle"/> + </xsl:when> + <xsl:when test="info/subtitle"> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/corpauthor"/> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/corpauthor"/> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/authorgroup"/> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/authorgroup"/> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/author"/> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/author"/> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/othercredit"/> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/othercredit"/> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/releaseinfo"/> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/releaseinfo"/> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/copyright"/> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/copyright"/> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/legalnotice"/> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/legalnotice"/> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/pubdate"/> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/pubdate"/> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/revision"/> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/revision"/> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/revhistory"/> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/revhistory"/> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/abstract"/> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/abstract"/> +</xsl:template> + +<xsl:template name="sect3.titlepage.verso"> +</xsl:template> + +<xsl:template name="sect3.titlepage.separator"> +</xsl:template> + +<xsl:template name="sect3.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="sect3.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="sect3.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <xsl:variable name="recto.content"> + <xsl:call-template name="sect3.titlepage.before.recto"/> + <xsl:call-template name="sect3.titlepage.recto"/> + </xsl:variable> + <xsl:variable name="recto.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> + <fo:block><xsl:copy-of select="$recto.content"/></fo:block> + </xsl:if> + <xsl:variable name="verso.content"> + <xsl:call-template name="sect3.titlepage.before.verso"/> + <xsl:call-template name="sect3.titlepage.verso"/> + </xsl:variable> + <xsl:variable name="verso.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> + <fo:block><xsl:copy-of select="$verso.content"/></fo:block> + </xsl:if> + <xsl:call-template name="sect3.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="sect3.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="sect3.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="sect3.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style" margin-left="{$title.margin.left}" font-family="{$title.fontset}"> +<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="subtitle" mode="sect3.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style" font-family="{$title.fontset}"> +<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="corpauthor" mode="sect3.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="authorgroup" mode="sect3.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="author" mode="sect3.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="othercredit" mode="sect3.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="releaseinfo" mode="sect3.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="copyright" mode="sect3.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="legalnotice" mode="sect3.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="pubdate" mode="sect3.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="revision" mode="sect3.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="revhistory" mode="sect3.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="abstract" mode="sect3.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template name="sect4.titlepage.recto"> + <xsl:choose> + <xsl:when test="sect4info/title"> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/title"/> + </xsl:when> + <xsl:when test="info/title"> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="sect4info/subtitle"> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/subtitle"/> + </xsl:when> + <xsl:when test="info/subtitle"> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/corpauthor"/> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/corpauthor"/> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/authorgroup"/> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/authorgroup"/> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/author"/> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/author"/> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/othercredit"/> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/othercredit"/> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/releaseinfo"/> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/releaseinfo"/> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/copyright"/> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/copyright"/> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/legalnotice"/> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/legalnotice"/> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/pubdate"/> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/pubdate"/> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/revision"/> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/revision"/> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/revhistory"/> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/revhistory"/> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/abstract"/> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/abstract"/> +</xsl:template> + +<xsl:template name="sect4.titlepage.verso"> +</xsl:template> + +<xsl:template name="sect4.titlepage.separator"> +</xsl:template> + +<xsl:template name="sect4.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="sect4.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="sect4.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <xsl:variable name="recto.content"> + <xsl:call-template name="sect4.titlepage.before.recto"/> + <xsl:call-template name="sect4.titlepage.recto"/> + </xsl:variable> + <xsl:variable name="recto.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> + <fo:block><xsl:copy-of select="$recto.content"/></fo:block> + </xsl:if> + <xsl:variable name="verso.content"> + <xsl:call-template name="sect4.titlepage.before.verso"/> + <xsl:call-template name="sect4.titlepage.verso"/> + </xsl:variable> + <xsl:variable name="verso.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> + <fo:block><xsl:copy-of select="$verso.content"/></fo:block> + </xsl:if> + <xsl:call-template name="sect4.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="sect4.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="sect4.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="sect4.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style" margin-left="{$title.margin.left}" font-family="{$title.fontset}"> +<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="subtitle" mode="sect4.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style" font-family="{$title.fontset}"> +<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="corpauthor" mode="sect4.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="authorgroup" mode="sect4.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="author" mode="sect4.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="othercredit" mode="sect4.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="releaseinfo" mode="sect4.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="copyright" mode="sect4.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="legalnotice" mode="sect4.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="pubdate" mode="sect4.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="revision" mode="sect4.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="revhistory" mode="sect4.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="abstract" mode="sect4.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template name="sect5.titlepage.recto"> + <xsl:choose> + <xsl:when test="sect5info/title"> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/title"/> + </xsl:when> + <xsl:when test="info/title"> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="sect5info/subtitle"> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/subtitle"/> + </xsl:when> + <xsl:when test="info/subtitle"> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/corpauthor"/> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/corpauthor"/> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/authorgroup"/> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/authorgroup"/> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/author"/> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/author"/> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/othercredit"/> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/othercredit"/> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/releaseinfo"/> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/releaseinfo"/> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/copyright"/> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/copyright"/> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/legalnotice"/> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/legalnotice"/> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/pubdate"/> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/pubdate"/> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/revision"/> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/revision"/> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/revhistory"/> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/revhistory"/> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/abstract"/> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/abstract"/> +</xsl:template> + +<xsl:template name="sect5.titlepage.verso"> +</xsl:template> + +<xsl:template name="sect5.titlepage.separator"> +</xsl:template> + +<xsl:template name="sect5.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="sect5.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="sect5.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <xsl:variable name="recto.content"> + <xsl:call-template name="sect5.titlepage.before.recto"/> + <xsl:call-template name="sect5.titlepage.recto"/> + </xsl:variable> + <xsl:variable name="recto.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> + <fo:block><xsl:copy-of select="$recto.content"/></fo:block> + </xsl:if> + <xsl:variable name="verso.content"> + <xsl:call-template name="sect5.titlepage.before.verso"/> + <xsl:call-template name="sect5.titlepage.verso"/> + </xsl:variable> + <xsl:variable name="verso.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> + <fo:block><xsl:copy-of select="$verso.content"/></fo:block> + </xsl:if> + <xsl:call-template name="sect5.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="sect5.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="sect5.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="sect5.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style" margin-left="{$title.margin.left}" font-family="{$title.fontset}"> +<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="subtitle" mode="sect5.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style" font-family="{$title.fontset}"> +<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="corpauthor" mode="sect5.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="authorgroup" mode="sect5.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="author" mode="sect5.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="othercredit" mode="sect5.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="releaseinfo" mode="sect5.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="copyright" mode="sect5.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="legalnotice" mode="sect5.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="pubdate" mode="sect5.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="revision" mode="sect5.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="revhistory" mode="sect5.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="abstract" mode="sect5.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template name="simplesect.titlepage.recto"> + <xsl:choose> + <xsl:when test="simplesectinfo/title"> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/title"/> + </xsl:when> + <xsl:when test="docinfo/title"> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/title"/> + </xsl:when> + <xsl:when test="info/title"> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="simplesectinfo/subtitle"> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/subtitle"/> + </xsl:when> + <xsl:when test="docinfo/subtitle"> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/subtitle"/> + </xsl:when> + <xsl:when test="info/subtitle"> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/corpauthor"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/corpauthor"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/corpauthor"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/authorgroup"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/authorgroup"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/authorgroup"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/author"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/author"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/author"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/othercredit"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/othercredit"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/othercredit"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/releaseinfo"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/releaseinfo"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/copyright"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/copyright"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/copyright"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/legalnotice"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/legalnotice"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/legalnotice"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/pubdate"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/pubdate"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/pubdate"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/revision"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/revision"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/revision"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/revhistory"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/revhistory"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/revhistory"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/abstract"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/abstract"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/abstract"/> +</xsl:template> + +<xsl:template name="simplesect.titlepage.verso"> +</xsl:template> + +<xsl:template name="simplesect.titlepage.separator"> +</xsl:template> + +<xsl:template name="simplesect.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="simplesect.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="simplesect.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <xsl:variable name="recto.content"> + <xsl:call-template name="simplesect.titlepage.before.recto"/> + <xsl:call-template name="simplesect.titlepage.recto"/> + </xsl:variable> + <xsl:variable name="recto.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> + <fo:block><xsl:copy-of select="$recto.content"/></fo:block> + </xsl:if> + <xsl:variable name="verso.content"> + <xsl:call-template name="simplesect.titlepage.before.verso"/> + <xsl:call-template name="simplesect.titlepage.verso"/> + </xsl:variable> + <xsl:variable name="verso.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> + <fo:block><xsl:copy-of select="$verso.content"/></fo:block> + </xsl:if> + <xsl:call-template name="simplesect.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="simplesect.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="simplesect.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="simplesect.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style" margin-left="{$title.margin.left}" font-family="{$title.fontset}"> +<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="subtitle" mode="simplesect.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style" font-family="{$title.fontset}"> +<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="corpauthor" mode="simplesect.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style"> +<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="authorgroup" mode="simplesect.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style"> +<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="author" mode="simplesect.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style"> +<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="othercredit" mode="simplesect.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style"> +<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="releaseinfo" mode="simplesect.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style"> +<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="copyright" mode="simplesect.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style"> +<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="legalnotice" mode="simplesect.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style"> +<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="pubdate" mode="simplesect.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style"> +<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="revision" mode="simplesect.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style"> +<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="revhistory" mode="simplesect.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style"> +<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="abstract" mode="simplesect.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style"> +<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template name="bibliography.titlepage.recto"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="bibliography.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="24.8832pt" font-family="{$title.fontset}" font-weight="bold"> +<xsl:call-template name="component.title"> +<xsl:with-param name="node" select="ancestor-or-self::bibliography[1]"/> +</xsl:call-template></fo:block> + <xsl:choose> + <xsl:when test="bibliographyinfo/subtitle"> + <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="bibliographyinfo/subtitle"/> + </xsl:when> + <xsl:when test="docinfo/subtitle"> + <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="docinfo/subtitle"/> + </xsl:when> + <xsl:when test="info/subtitle"> + <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="info/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + +</xsl:template> + +<xsl:template name="bibliography.titlepage.verso"> +</xsl:template> + +<xsl:template name="bibliography.titlepage.separator"> +</xsl:template> + +<xsl:template name="bibliography.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="bibliography.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="bibliography.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <xsl:variable name="recto.content"> + <xsl:call-template name="bibliography.titlepage.before.recto"/> + <xsl:call-template name="bibliography.titlepage.recto"/> + </xsl:variable> + <xsl:variable name="recto.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> + <fo:block><xsl:copy-of select="$recto.content"/></fo:block> + </xsl:if> + <xsl:variable name="verso.content"> + <xsl:call-template name="bibliography.titlepage.before.verso"/> + <xsl:call-template name="bibliography.titlepage.verso"/> + </xsl:variable> + <xsl:variable name="verso.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> + <fo:block><xsl:copy-of select="$verso.content"/></fo:block> + </xsl:if> + <xsl:call-template name="bibliography.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="bibliography.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="bibliography.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="subtitle" mode="bibliography.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="bibliography.titlepage.recto.style" font-family="{$title.fontset}"> +<xsl:apply-templates select="." mode="bibliography.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template name="bibliodiv.titlepage.recto"> + <xsl:choose> + <xsl:when test="bibliodivinfo/title"> + <xsl:apply-templates mode="bibliodiv.titlepage.recto.auto.mode" select="bibliodivinfo/title"/> + </xsl:when> + <xsl:when test="docinfo/title"> + <xsl:apply-templates mode="bibliodiv.titlepage.recto.auto.mode" select="docinfo/title"/> + </xsl:when> + <xsl:when test="info/title"> + <xsl:apply-templates mode="bibliodiv.titlepage.recto.auto.mode" select="info/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="bibliodiv.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="bibliodivinfo/subtitle"> + <xsl:apply-templates mode="bibliodiv.titlepage.recto.auto.mode" select="bibliodivinfo/subtitle"/> + </xsl:when> + <xsl:when test="docinfo/subtitle"> + <xsl:apply-templates mode="bibliodiv.titlepage.recto.auto.mode" select="docinfo/subtitle"/> + </xsl:when> + <xsl:when test="info/subtitle"> + <xsl:apply-templates mode="bibliodiv.titlepage.recto.auto.mode" select="info/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="bibliodiv.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + +</xsl:template> + +<xsl:template name="bibliodiv.titlepage.verso"> +</xsl:template> + +<xsl:template name="bibliodiv.titlepage.separator"> +</xsl:template> + +<xsl:template name="bibliodiv.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="bibliodiv.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="bibliodiv.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <xsl:variable name="recto.content"> + <xsl:call-template name="bibliodiv.titlepage.before.recto"/> + <xsl:call-template name="bibliodiv.titlepage.recto"/> + </xsl:variable> + <xsl:variable name="recto.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> + <fo:block><xsl:copy-of select="$recto.content"/></fo:block> + </xsl:if> + <xsl:variable name="verso.content"> + <xsl:call-template name="bibliodiv.titlepage.before.verso"/> + <xsl:call-template name="bibliodiv.titlepage.verso"/> + </xsl:variable> + <xsl:variable name="verso.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> + <fo:block><xsl:copy-of select="$verso.content"/></fo:block> + </xsl:if> + <xsl:call-template name="bibliodiv.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="bibliodiv.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="bibliodiv.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="bibliodiv.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="bibliodiv.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="20.736pt" font-family="{$title.fontset}" font-weight="bold"> +<xsl:call-template name="component.title"> +<xsl:with-param name="node" select="ancestor-or-self::bibliodiv[1]"/> +</xsl:call-template> +</fo:block> +</xsl:template> + +<xsl:template match="subtitle" mode="bibliodiv.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="bibliodiv.titlepage.recto.style" font-family="{$title.fontset}"> +<xsl:apply-templates select="." mode="bibliodiv.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template name="glossary.titlepage.recto"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="glossary.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="24.8832pt" font-family="{$title.fontset}" font-weight="bold"> +<xsl:call-template name="component.title"> +<xsl:with-param name="node" select="ancestor-or-self::glossary[1]"/> +</xsl:call-template></fo:block> + <xsl:choose> + <xsl:when test="glossaryinfo/subtitle"> + <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="glossaryinfo/subtitle"/> + </xsl:when> + <xsl:when test="docinfo/subtitle"> + <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="docinfo/subtitle"/> + </xsl:when> + <xsl:when test="info/subtitle"> + <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="info/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + +</xsl:template> + +<xsl:template name="glossary.titlepage.verso"> +</xsl:template> + +<xsl:template name="glossary.titlepage.separator"> +</xsl:template> + +<xsl:template name="glossary.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="glossary.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="glossary.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <xsl:variable name="recto.content"> + <xsl:call-template name="glossary.titlepage.before.recto"/> + <xsl:call-template name="glossary.titlepage.recto"/> + </xsl:variable> + <xsl:variable name="recto.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> + <fo:block><xsl:copy-of select="$recto.content"/></fo:block> + </xsl:if> + <xsl:variable name="verso.content"> + <xsl:call-template name="glossary.titlepage.before.verso"/> + <xsl:call-template name="glossary.titlepage.verso"/> + </xsl:variable> + <xsl:variable name="verso.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> + <fo:block><xsl:copy-of select="$verso.content"/></fo:block> + </xsl:if> + <xsl:call-template name="glossary.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="glossary.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="glossary.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="subtitle" mode="glossary.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="glossary.titlepage.recto.style" font-family="{$title.fontset}"> +<xsl:apply-templates select="." mode="glossary.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template name="glossdiv.titlepage.recto"> + <xsl:choose> + <xsl:when test="glossdivinfo/title"> + <xsl:apply-templates mode="glossdiv.titlepage.recto.auto.mode" select="glossdivinfo/title"/> + </xsl:when> + <xsl:when test="docinfo/title"> + <xsl:apply-templates mode="glossdiv.titlepage.recto.auto.mode" select="docinfo/title"/> + </xsl:when> + <xsl:when test="info/title"> + <xsl:apply-templates mode="glossdiv.titlepage.recto.auto.mode" select="info/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="glossdiv.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="glossdivinfo/subtitle"> + <xsl:apply-templates mode="glossdiv.titlepage.recto.auto.mode" select="glossdivinfo/subtitle"/> + </xsl:when> + <xsl:when test="docinfo/subtitle"> + <xsl:apply-templates mode="glossdiv.titlepage.recto.auto.mode" select="docinfo/subtitle"/> + </xsl:when> + <xsl:when test="info/subtitle"> + <xsl:apply-templates mode="glossdiv.titlepage.recto.auto.mode" select="info/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="glossdiv.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + +</xsl:template> + +<xsl:template name="glossdiv.titlepage.verso"> +</xsl:template> + +<xsl:template name="glossdiv.titlepage.separator"> +</xsl:template> + +<xsl:template name="glossdiv.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="glossdiv.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="glossdiv.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <xsl:variable name="recto.content"> + <xsl:call-template name="glossdiv.titlepage.before.recto"/> + <xsl:call-template name="glossdiv.titlepage.recto"/> + </xsl:variable> + <xsl:variable name="recto.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> + <fo:block><xsl:copy-of select="$recto.content"/></fo:block> + </xsl:if> + <xsl:variable name="verso.content"> + <xsl:call-template name="glossdiv.titlepage.before.verso"/> + <xsl:call-template name="glossdiv.titlepage.verso"/> + </xsl:variable> + <xsl:variable name="verso.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> + <fo:block><xsl:copy-of select="$verso.content"/></fo:block> + </xsl:if> + <xsl:call-template name="glossdiv.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="glossdiv.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="glossdiv.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="glossdiv.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="glossdiv.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="20.736pt" font-family="{$title.fontset}" font-weight="bold"> +<xsl:call-template name="component.title"> +<xsl:with-param name="node" select="ancestor-or-self::glossdiv[1]"/> +</xsl:call-template> +</fo:block> +</xsl:template> + +<xsl:template match="subtitle" mode="glossdiv.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="glossdiv.titlepage.recto.style" font-family="{$title.fontset}"> +<xsl:apply-templates select="." mode="glossdiv.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template name="index.titlepage.recto"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="index.titlepage.recto.style" margin-left="0pt" font-size="24.8832pt" font-family="{$title.fontset}" font-weight="bold"> +<xsl:call-template name="component.title"> +<xsl:with-param name="node" select="ancestor-or-self::index[1]"/> +<xsl:with-param name="pagewide" select="1"/> +</xsl:call-template></fo:block> + <xsl:choose> + <xsl:when test="indexinfo/subtitle"> + <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="indexinfo/subtitle"/> + </xsl:when> + <xsl:when test="docinfo/subtitle"> + <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="docinfo/subtitle"/> + </xsl:when> + <xsl:when test="info/subtitle"> + <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="info/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + +</xsl:template> + +<xsl:template name="index.titlepage.verso"> +</xsl:template> + +<xsl:template name="index.titlepage.separator"> +</xsl:template> + +<xsl:template name="index.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="index.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="index.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <xsl:variable name="recto.content"> + <xsl:call-template name="index.titlepage.before.recto"/> + <xsl:call-template name="index.titlepage.recto"/> + </xsl:variable> + <xsl:variable name="recto.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> + <fo:block><xsl:copy-of select="$recto.content"/></fo:block> + </xsl:if> + <xsl:variable name="verso.content"> + <xsl:call-template name="index.titlepage.before.verso"/> + <xsl:call-template name="index.titlepage.verso"/> + </xsl:variable> + <xsl:variable name="verso.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> + <fo:block><xsl:copy-of select="$verso.content"/></fo:block> + </xsl:if> + <xsl:call-template name="index.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="index.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="index.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="subtitle" mode="index.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="index.titlepage.recto.style" font-family="{$title.fontset}"> +<xsl:apply-templates select="." mode="index.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template name="indexdiv.titlepage.recto"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="indexdiv.titlepage.recto.style"> +<xsl:call-template name="indexdiv.title"> +<xsl:with-param name="title" select="title"/> +</xsl:call-template></fo:block> + <xsl:choose> + <xsl:when test="indexdivinfo/subtitle"> + <xsl:apply-templates mode="indexdiv.titlepage.recto.auto.mode" select="indexdivinfo/subtitle"/> + </xsl:when> + <xsl:when test="docinfo/subtitle"> + <xsl:apply-templates mode="indexdiv.titlepage.recto.auto.mode" select="docinfo/subtitle"/> + </xsl:when> + <xsl:when test="info/subtitle"> + <xsl:apply-templates mode="indexdiv.titlepage.recto.auto.mode" select="info/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="indexdiv.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + +</xsl:template> + +<xsl:template name="indexdiv.titlepage.verso"> +</xsl:template> + +<xsl:template name="indexdiv.titlepage.separator"> +</xsl:template> + +<xsl:template name="indexdiv.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="indexdiv.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="indexdiv.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <xsl:variable name="recto.content"> + <xsl:call-template name="indexdiv.titlepage.before.recto"/> + <xsl:call-template name="indexdiv.titlepage.recto"/> + </xsl:variable> + <xsl:variable name="recto.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> + <fo:block><xsl:copy-of select="$recto.content"/></fo:block> + </xsl:if> + <xsl:variable name="verso.content"> + <xsl:call-template name="indexdiv.titlepage.before.verso"/> + <xsl:call-template name="indexdiv.titlepage.verso"/> + </xsl:variable> + <xsl:variable name="verso.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> + <fo:block><xsl:copy-of select="$verso.content"/></fo:block> + </xsl:if> + <xsl:call-template name="indexdiv.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="indexdiv.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="indexdiv.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="subtitle" mode="indexdiv.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="indexdiv.titlepage.recto.style" font-family="{$title.fontset}"> +<xsl:apply-templates select="." mode="indexdiv.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template name="setindex.titlepage.recto"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="setindex.titlepage.recto.style" margin-left="0pt" font-size="24.8832pt" font-family="{$title.fontset}" font-weight="bold"> +<xsl:call-template name="component.title"> +<xsl:with-param name="node" select="ancestor-or-self::setindex[1]"/> +<xsl:with-param name="pagewide" select="1"/> +</xsl:call-template></fo:block> + <xsl:choose> + <xsl:when test="setindexinfo/subtitle"> + <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="setindexinfo/subtitle"/> + </xsl:when> + <xsl:when test="docinfo/subtitle"> + <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="docinfo/subtitle"/> + </xsl:when> + <xsl:when test="info/subtitle"> + <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="info/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + +</xsl:template> + +<xsl:template name="setindex.titlepage.verso"> +</xsl:template> + +<xsl:template name="setindex.titlepage.separator"> +</xsl:template> + +<xsl:template name="setindex.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="setindex.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="setindex.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <xsl:variable name="recto.content"> + <xsl:call-template name="setindex.titlepage.before.recto"/> + <xsl:call-template name="setindex.titlepage.recto"/> + </xsl:variable> + <xsl:variable name="recto.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> + <fo:block><xsl:copy-of select="$recto.content"/></fo:block> + </xsl:if> + <xsl:variable name="verso.content"> + <xsl:call-template name="setindex.titlepage.before.verso"/> + <xsl:call-template name="setindex.titlepage.verso"/> + </xsl:variable> + <xsl:variable name="verso.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> + <fo:block><xsl:copy-of select="$verso.content"/></fo:block> + </xsl:if> + <xsl:call-template name="setindex.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="setindex.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="setindex.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="subtitle" mode="setindex.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="setindex.titlepage.recto.style" font-family="{$title.fontset}"> +<xsl:apply-templates select="." mode="setindex.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template name="colophon.titlepage.recto"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="colophon.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="24.8832pt" font-family="{$title.fontset}" font-weight="bold"> +<xsl:call-template name="component.title"> +<xsl:with-param name="node" select="ancestor-or-self::colophon[1]"/> +</xsl:call-template></fo:block> + <xsl:choose> + <xsl:when test="colophoninfo/subtitle"> + <xsl:apply-templates mode="colophon.titlepage.recto.auto.mode" select="colophoninfo/subtitle"/> + </xsl:when> + <xsl:when test="docinfo/subtitle"> + <xsl:apply-templates mode="colophon.titlepage.recto.auto.mode" select="docinfo/subtitle"/> + </xsl:when> + <xsl:when test="info/subtitle"> + <xsl:apply-templates mode="colophon.titlepage.recto.auto.mode" select="info/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="colophon.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + +</xsl:template> + +<xsl:template name="colophon.titlepage.verso"> +</xsl:template> + +<xsl:template name="colophon.titlepage.separator"> +</xsl:template> + +<xsl:template name="colophon.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="colophon.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="colophon.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <xsl:variable name="recto.content"> + <xsl:call-template name="colophon.titlepage.before.recto"/> + <xsl:call-template name="colophon.titlepage.recto"/> + </xsl:variable> + <xsl:variable name="recto.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> + <fo:block><xsl:copy-of select="$recto.content"/></fo:block> + </xsl:if> + <xsl:variable name="verso.content"> + <xsl:call-template name="colophon.titlepage.before.verso"/> + <xsl:call-template name="colophon.titlepage.verso"/> + </xsl:variable> + <xsl:variable name="verso.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> + <fo:block><xsl:copy-of select="$verso.content"/></fo:block> + </xsl:if> + <xsl:call-template name="colophon.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="colophon.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="colophon.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="subtitle" mode="colophon.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="colophon.titlepage.recto.style" font-family="{$title.fontset}"> +<xsl:apply-templates select="." mode="colophon.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template name="sidebar.titlepage.recto"> + <xsl:choose> + <xsl:when test="sidebarinfo/title"> + <xsl:apply-templates mode="sidebar.titlepage.recto.auto.mode" select="sidebarinfo/title"/> + </xsl:when> + <xsl:when test="docinfo/title"> + <xsl:apply-templates mode="sidebar.titlepage.recto.auto.mode" select="docinfo/title"/> + </xsl:when> + <xsl:when test="info/title"> + <xsl:apply-templates mode="sidebar.titlepage.recto.auto.mode" select="info/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="sidebar.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="sidebarinfo/subtitle"> + <xsl:apply-templates mode="sidebar.titlepage.recto.auto.mode" select="sidebarinfo/subtitle"/> + </xsl:when> + <xsl:when test="docinfo/subtitle"> + <xsl:apply-templates mode="sidebar.titlepage.recto.auto.mode" select="docinfo/subtitle"/> + </xsl:when> + <xsl:when test="info/subtitle"> + <xsl:apply-templates mode="sidebar.titlepage.recto.auto.mode" select="info/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="sidebar.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + +</xsl:template> + +<xsl:template name="sidebar.titlepage.verso"> +</xsl:template> + +<xsl:template name="sidebar.titlepage.separator"> +</xsl:template> + +<xsl:template name="sidebar.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="sidebar.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="sidebar.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <xsl:variable name="recto.content"> + <xsl:call-template name="sidebar.titlepage.before.recto"/> + <xsl:call-template name="sidebar.titlepage.recto"/> + </xsl:variable> + <xsl:variable name="recto.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> + <fo:block><xsl:copy-of select="$recto.content"/></fo:block> + </xsl:if> + <xsl:variable name="verso.content"> + <xsl:call-template name="sidebar.titlepage.before.verso"/> + <xsl:call-template name="sidebar.titlepage.verso"/> + </xsl:variable> + <xsl:variable name="verso.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> + <fo:block><xsl:copy-of select="$verso.content"/></fo:block> + </xsl:if> + <xsl:call-template name="sidebar.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="sidebar.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="sidebar.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="sidebar.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sidebar.titlepage.recto.style" font-family="{$title.fontset}" font-weight="bold"> +<xsl:apply-templates select="." mode="sidebar.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="subtitle" mode="sidebar.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sidebar.titlepage.recto.style" font-family="{$title.fontset}"> +<xsl:apply-templates select="." mode="sidebar.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template name="qandaset.titlepage.recto"> + <xsl:choose> + <xsl:when test="qandasetinfo/title"> + <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="qandasetinfo/title"/> + </xsl:when> + <xsl:when test="blockinfo/title"> + <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="blockinfo/title"/> + </xsl:when> + <xsl:when test="info/title"> + <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="info/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="qandasetinfo/subtitle"> + <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="qandasetinfo/subtitle"/> + </xsl:when> + <xsl:when test="blockinfo/subtitle"> + <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="blockinfo/subtitle"/> + </xsl:when> + <xsl:when test="info/subtitle"> + <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="info/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="qandasetinfo/corpauthor"/> + <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="blockinfo/corpauthor"/> + <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="info/corpauthor"/> + <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="qandasetinfo/authorgroup"/> + <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="blockinfo/authorgroup"/> + <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="info/authorgroup"/> + <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="qandasetinfo/author"/> + <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="blockinfo/author"/> + <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="info/author"/> + <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="qandasetinfo/othercredit"/> + <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="blockinfo/othercredit"/> + <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="info/othercredit"/> + <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="qandasetinfo/releaseinfo"/> + <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="blockinfo/releaseinfo"/> + <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="info/releaseinfo"/> + <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="qandasetinfo/copyright"/> + <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="blockinfo/copyright"/> + <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="info/copyright"/> + <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="qandasetinfo/legalnotice"/> + <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="blockinfo/legalnotice"/> + <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="info/legalnotice"/> + <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="qandasetinfo/pubdate"/> + <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="blockinfo/pubdate"/> + <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="info/pubdate"/> + <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="qandasetinfo/revision"/> + <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="blockinfo/revision"/> + <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="info/revision"/> + <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="qandasetinfo/revhistory"/> + <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="blockinfo/revhistory"/> + <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="info/revhistory"/> + <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="qandasetinfo/abstract"/> + <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="blockinfo/abstract"/> + <xsl:apply-templates mode="qandaset.titlepage.recto.auto.mode" select="info/abstract"/> +</xsl:template> + +<xsl:template name="qandaset.titlepage.verso"> +</xsl:template> + +<xsl:template name="qandaset.titlepage.separator"> +</xsl:template> + +<xsl:template name="qandaset.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="qandaset.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="qandaset.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" font-family="{$title.fontset}"> + <xsl:variable name="recto.content"> + <xsl:call-template name="qandaset.titlepage.before.recto"/> + <xsl:call-template name="qandaset.titlepage.recto"/> + </xsl:variable> + <xsl:variable name="recto.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> + <fo:block start-indent="0pt" text-align="center"><xsl:copy-of select="$recto.content"/></fo:block> + </xsl:if> + <xsl:variable name="verso.content"> + <xsl:call-template name="qandaset.titlepage.before.verso"/> + <xsl:call-template name="qandaset.titlepage.verso"/> + </xsl:variable> + <xsl:variable name="verso.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> + <fo:block><xsl:copy-of select="$verso.content"/></fo:block> + </xsl:if> + <xsl:call-template name="qandaset.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="qandaset.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="qandaset.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="qandaset.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="qandaset.titlepage.recto.style" keep-with-next.within-column="always" font-size="24.8832pt" font-weight="bold"> +<xsl:call-template name="component.title"> +<xsl:with-param name="node" select="ancestor-or-self::qandaset[1]"/> +</xsl:call-template> +</fo:block> +</xsl:template> + +<xsl:template match="subtitle" mode="qandaset.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="qandaset.titlepage.recto.style"> +<xsl:apply-templates select="." mode="qandaset.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="corpauthor" mode="qandaset.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="qandaset.titlepage.recto.style" space-before="0.5em" font-size="14.4pt"> +<xsl:apply-templates select="." mode="qandaset.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="authorgroup" mode="qandaset.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="qandaset.titlepage.recto.style" space-before="0.5em" font-size="14.4pt"> +<xsl:apply-templates select="." mode="qandaset.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="author" mode="qandaset.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="qandaset.titlepage.recto.style" space-before="0.5em" font-size="14.4pt"> +<xsl:apply-templates select="." mode="qandaset.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="othercredit" mode="qandaset.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="qandaset.titlepage.recto.style" space-before="0.5em"> +<xsl:apply-templates select="." mode="qandaset.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="releaseinfo" mode="qandaset.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="qandaset.titlepage.recto.style" space-before="0.5em"> +<xsl:apply-templates select="." mode="qandaset.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="copyright" mode="qandaset.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="qandaset.titlepage.recto.style" space-before="0.5em"> +<xsl:apply-templates select="." mode="qandaset.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="legalnotice" mode="qandaset.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="qandaset.titlepage.recto.style" text-align="start" margin-left="0.5in" margin-right="0.5in" font-family="{$body.fontset}"> +<xsl:apply-templates select="." mode="qandaset.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="pubdate" mode="qandaset.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="qandaset.titlepage.recto.style" space-before="0.5em"> +<xsl:apply-templates select="." mode="qandaset.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="revision" mode="qandaset.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="qandaset.titlepage.recto.style" space-before="0.5em"> +<xsl:apply-templates select="." mode="qandaset.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="revhistory" mode="qandaset.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="qandaset.titlepage.recto.style" space-before="0.5em"> +<xsl:apply-templates select="." mode="qandaset.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="abstract" mode="qandaset.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="qandaset.titlepage.recto.style" space-before="0.5em" text-align="start" margin-left="0.5in" margin-right="0.5in" font-family="{$body.fontset}"> +<xsl:apply-templates select="." mode="qandaset.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template name="table.of.contents.titlepage.recto"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="table.of.contents.titlepage.recto.style" space-before.minimum="1em" space-before.optimum="1.5em" space-before.maximum="2em" space-after="0.5em" margin-left="{$title.margin.left}" start-indent="0pt" font-size="17.28pt" font-weight="bold" font-family="{$title.fontset}"> +<xsl:call-template name="gentext"> +<xsl:with-param name="key" select="'TableofContents'"/> +</xsl:call-template></fo:block> +</xsl:template> + +<xsl:template name="table.of.contents.titlepage.verso"> +</xsl:template> + +<xsl:template name="table.of.contents.titlepage.separator"> +</xsl:template> + +<xsl:template name="table.of.contents.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="table.of.contents.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="table.of.contents.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <xsl:variable name="recto.content"> + <xsl:call-template name="table.of.contents.titlepage.before.recto"/> + <xsl:call-template name="table.of.contents.titlepage.recto"/> + </xsl:variable> + <xsl:variable name="recto.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> + <fo:block><xsl:copy-of select="$recto.content"/></fo:block> + </xsl:if> + <xsl:variable name="verso.content"> + <xsl:call-template name="table.of.contents.titlepage.before.verso"/> + <xsl:call-template name="table.of.contents.titlepage.verso"/> + </xsl:variable> + <xsl:variable name="verso.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> + <fo:block><xsl:copy-of select="$verso.content"/></fo:block> + </xsl:if> + <xsl:call-template name="table.of.contents.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="table.of.contents.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="table.of.contents.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template name="list.of.tables.titlepage.recto"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="list.of.tables.titlepage.recto.style" space-before.minimum="1em" space-before.optimum="1.5em" space-before.maximum="2em" space-after="0.5em" margin-left="{$title.margin.left}" start-indent="0pt" font-size="17.28pt" font-weight="bold" font-family="{$title.fontset}"> +<xsl:call-template name="gentext"> +<xsl:with-param name="key" select="'ListofTables'"/> +</xsl:call-template></fo:block> +</xsl:template> + +<xsl:template name="list.of.tables.titlepage.verso"> +</xsl:template> + +<xsl:template name="list.of.tables.titlepage.separator"> +</xsl:template> + +<xsl:template name="list.of.tables.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="list.of.tables.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="list.of.tables.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <xsl:variable name="recto.content"> + <xsl:call-template name="list.of.tables.titlepage.before.recto"/> + <xsl:call-template name="list.of.tables.titlepage.recto"/> + </xsl:variable> + <xsl:variable name="recto.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> + <fo:block><xsl:copy-of select="$recto.content"/></fo:block> + </xsl:if> + <xsl:variable name="verso.content"> + <xsl:call-template name="list.of.tables.titlepage.before.verso"/> + <xsl:call-template name="list.of.tables.titlepage.verso"/> + </xsl:variable> + <xsl:variable name="verso.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> + <fo:block><xsl:copy-of select="$verso.content"/></fo:block> + </xsl:if> + <xsl:call-template name="list.of.tables.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="list.of.tables.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="list.of.tables.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template name="list.of.figures.titlepage.recto"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="list.of.figures.titlepage.recto.style" space-before.minimum="1em" space-before.optimum="1.5em" space-before.maximum="2em" space-after="0.5em" margin-left="{$title.margin.left}" start-indent="0pt" font-size="17.28pt" font-weight="bold" font-family="{$title.fontset}"> +<xsl:call-template name="gentext"> +<xsl:with-param name="key" select="'ListofFigures'"/> +</xsl:call-template></fo:block> +</xsl:template> + +<xsl:template name="list.of.figures.titlepage.verso"> +</xsl:template> + +<xsl:template name="list.of.figures.titlepage.separator"> +</xsl:template> + +<xsl:template name="list.of.figures.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="list.of.figures.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="list.of.figures.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <xsl:variable name="recto.content"> + <xsl:call-template name="list.of.figures.titlepage.before.recto"/> + <xsl:call-template name="list.of.figures.titlepage.recto"/> + </xsl:variable> + <xsl:variable name="recto.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> + <fo:block><xsl:copy-of select="$recto.content"/></fo:block> + </xsl:if> + <xsl:variable name="verso.content"> + <xsl:call-template name="list.of.figures.titlepage.before.verso"/> + <xsl:call-template name="list.of.figures.titlepage.verso"/> + </xsl:variable> + <xsl:variable name="verso.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> + <fo:block><xsl:copy-of select="$verso.content"/></fo:block> + </xsl:if> + <xsl:call-template name="list.of.figures.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="list.of.figures.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="list.of.figures.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template name="list.of.examples.titlepage.recto"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="list.of.examples.titlepage.recto.style" space-before.minimum="1em" space-before.optimum="1.5em" space-before.maximum="2em" space-after="0.5em" margin-left="{$title.margin.left}" start-indent="0pt" font-size="17.28pt" font-weight="bold" font-family="{$title.fontset}"> +<xsl:call-template name="gentext"> +<xsl:with-param name="key" select="'ListofExamples'"/> +</xsl:call-template></fo:block> +</xsl:template> + +<xsl:template name="list.of.examples.titlepage.verso"> +</xsl:template> + +<xsl:template name="list.of.examples.titlepage.separator"> +</xsl:template> + +<xsl:template name="list.of.examples.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="list.of.examples.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="list.of.examples.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <xsl:variable name="recto.content"> + <xsl:call-template name="list.of.examples.titlepage.before.recto"/> + <xsl:call-template name="list.of.examples.titlepage.recto"/> + </xsl:variable> + <xsl:variable name="recto.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> + <fo:block><xsl:copy-of select="$recto.content"/></fo:block> + </xsl:if> + <xsl:variable name="verso.content"> + <xsl:call-template name="list.of.examples.titlepage.before.verso"/> + <xsl:call-template name="list.of.examples.titlepage.verso"/> + </xsl:variable> + <xsl:variable name="verso.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> + <fo:block><xsl:copy-of select="$verso.content"/></fo:block> + </xsl:if> + <xsl:call-template name="list.of.examples.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="list.of.examples.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="list.of.examples.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template name="list.of.equations.titlepage.recto"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="list.of.equations.titlepage.recto.style" space-before.minimum="1em" space-before.optimum="1.5em" space-before.maximum="2em" space-after="0.5em" margin-left="{$title.margin.left}" start-indent="0pt" font-size="17.28pt" font-weight="bold" font-family="{$title.fontset}"> +<xsl:call-template name="gentext"> +<xsl:with-param name="key" select="'ListofEquations'"/> +</xsl:call-template></fo:block> +</xsl:template> + +<xsl:template name="list.of.equations.titlepage.verso"> +</xsl:template> + +<xsl:template name="list.of.equations.titlepage.separator"> +</xsl:template> + +<xsl:template name="list.of.equations.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="list.of.equations.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="list.of.equations.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <xsl:variable name="recto.content"> + <xsl:call-template name="list.of.equations.titlepage.before.recto"/> + <xsl:call-template name="list.of.equations.titlepage.recto"/> + </xsl:variable> + <xsl:variable name="recto.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> + <fo:block><xsl:copy-of select="$recto.content"/></fo:block> + </xsl:if> + <xsl:variable name="verso.content"> + <xsl:call-template name="list.of.equations.titlepage.before.verso"/> + <xsl:call-template name="list.of.equations.titlepage.verso"/> + </xsl:variable> + <xsl:variable name="verso.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> + <fo:block><xsl:copy-of select="$verso.content"/></fo:block> + </xsl:if> + <xsl:call-template name="list.of.equations.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="list.of.equations.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="list.of.equations.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template name="list.of.procedures.titlepage.recto"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="list.of.procedures.titlepage.recto.style" space-before.minimum="1em" space-before.optimum="1.5em" space-before.maximum="2em" space-after="0.5em" margin-left="{$title.margin.left}" start-indent="0pt" font-size="17.28pt" font-weight="bold" font-family="{$title.fontset}"> +<xsl:call-template name="gentext"> +<xsl:with-param name="key" select="'ListofProcedures'"/> +</xsl:call-template></fo:block> +</xsl:template> + +<xsl:template name="list.of.procedures.titlepage.verso"> +</xsl:template> + +<xsl:template name="list.of.procedures.titlepage.separator"> +</xsl:template> + +<xsl:template name="list.of.procedures.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="list.of.procedures.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="list.of.procedures.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <xsl:variable name="recto.content"> + <xsl:call-template name="list.of.procedures.titlepage.before.recto"/> + <xsl:call-template name="list.of.procedures.titlepage.recto"/> + </xsl:variable> + <xsl:variable name="recto.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> + <fo:block><xsl:copy-of select="$recto.content"/></fo:block> + </xsl:if> + <xsl:variable name="verso.content"> + <xsl:call-template name="list.of.procedures.titlepage.before.verso"/> + <xsl:call-template name="list.of.procedures.titlepage.verso"/> + </xsl:variable> + <xsl:variable name="verso.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> + <fo:block><xsl:copy-of select="$verso.content"/></fo:block> + </xsl:if> + <xsl:call-template name="list.of.procedures.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="list.of.procedures.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="list.of.procedures.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template name="list.of.unknowns.titlepage.recto"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="list.of.unknowns.titlepage.recto.style" space-before.minimum="1em" space-before.optimum="1.5em" space-before.maximum="2em" space-after="0.5em" margin-left="{$title.margin.left}" start-indent="0pt" font-size="17.28pt" font-weight="bold" font-family="{$title.fontset}"> +<xsl:call-template name="gentext"> +<xsl:with-param name="key" select="'ListofUnknown'"/> +</xsl:call-template></fo:block> +</xsl:template> + +<xsl:template name="list.of.unknowns.titlepage.verso"> +</xsl:template> + +<xsl:template name="list.of.unknowns.titlepage.separator"> +</xsl:template> + +<xsl:template name="list.of.unknowns.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="list.of.unknowns.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="list.of.unknowns.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <xsl:variable name="recto.content"> + <xsl:call-template name="list.of.unknowns.titlepage.before.recto"/> + <xsl:call-template name="list.of.unknowns.titlepage.recto"/> + </xsl:variable> + <xsl:variable name="recto.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> + <fo:block><xsl:copy-of select="$recto.content"/></fo:block> + </xsl:if> + <xsl:variable name="verso.content"> + <xsl:call-template name="list.of.unknowns.titlepage.before.verso"/> + <xsl:call-template name="list.of.unknowns.titlepage.verso"/> + </xsl:variable> + <xsl:variable name="verso.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> + <fo:block><xsl:copy-of select="$verso.content"/></fo:block> + </xsl:if> + <xsl:call-template name="list.of.unknowns.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="list.of.unknowns.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="list.of.unknowns.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +</xsl:stylesheet> + diff --git a/doc/help/xslt/fo/titlepage.xsl b/doc/help/xslt/fo/titlepage.xsl new file mode 100644 index 00000000..2e2ec752 --- /dev/null +++ b/doc/help/xslt/fo/titlepage.xsl @@ -0,0 +1,767 @@ +<?xml version='1.0'?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:fo="http://www.w3.org/1999/XSL/Format" + version='1.0'> + +<!-- ******************************************************************** + $Id: titlepage.xsl 8804 2010-08-09 16:41:43Z bobstayton $ + ******************************************************************** + + This file is part of the XSL DocBook Stylesheet distribution. + See ../README or http://docbook.sf.net/release/xsl/current/ for + copyright and other information. + + ******************************************************************** --> + +<!-- ==================================================================== --> + +<xsl:attribute-set name="book.titlepage.recto.style"> + <xsl:attribute name="font-family"> + <xsl:value-of select="$title.fontset"/> + </xsl:attribute> + <xsl:attribute name="font-weight">bold</xsl:attribute> + <xsl:attribute name="font-size">12pt</xsl:attribute> + <xsl:attribute name="text-align">center</xsl:attribute> +</xsl:attribute-set> + +<xsl:attribute-set name="book.titlepage.verso.style"> + <xsl:attribute name="font-size">10pt</xsl:attribute> +</xsl:attribute-set> + +<xsl:attribute-set name="article.titlepage.recto.style"/> +<xsl:attribute-set name="article.titlepage.verso.style"/> + +<xsl:attribute-set name="set.titlepage.recto.style"/> +<xsl:attribute-set name="set.titlepage.verso.style"/> + +<xsl:attribute-set name="part.titlepage.recto.style"> + <xsl:attribute name="text-align">center</xsl:attribute> +</xsl:attribute-set> + +<xsl:attribute-set name="part.titlepage.verso.style"/> + +<xsl:attribute-set name="partintro.titlepage.recto.style"/> +<xsl:attribute-set name="partintro.titlepage.verso.style"/> + +<xsl:attribute-set name="reference.titlepage.recto.style"/> +<xsl:attribute-set name="reference.titlepage.verso.style"/> + +<xsl:attribute-set name="dedication.titlepage.recto.style"/> +<xsl:attribute-set name="dedication.titlepage.verso.style"/> + +<xsl:attribute-set name="acknowledgements.titlepage.recto.style"/> +<xsl:attribute-set name="acknowledgements.titlepage.verso.style"/> + +<xsl:attribute-set name="preface.titlepage.recto.style"/> +<xsl:attribute-set name="preface.titlepage.verso.style"/> + +<xsl:attribute-set name="chapter.titlepage.recto.style"/> +<xsl:attribute-set name="chapter.titlepage.verso.style"/> + +<xsl:attribute-set name="appendix.titlepage.recto.style"/> +<xsl:attribute-set name="appendix.titlepage.verso.style"/> + +<xsl:attribute-set name="bibliography.titlepage.recto.style"/> +<xsl:attribute-set name="bibliography.titlepage.verso.style"/> + +<xsl:attribute-set name="bibliodiv.titlepage.recto.style"/> +<xsl:attribute-set name="bibliodiv.titlepage.verso.style"/> + +<xsl:attribute-set name="glossary.titlepage.recto.style"/> +<xsl:attribute-set name="glossary.titlepage.verso.style"/> + +<xsl:attribute-set name="glossdiv.titlepage.recto.style"/> +<xsl:attribute-set name="glossdiv.titlepage.verso.style"/> + +<xsl:attribute-set name="index.titlepage.recto.style"/> +<xsl:attribute-set name="index.titlepage.verso.style"/> + +<xsl:attribute-set name="setindex.titlepage.recto.style"/> +<xsl:attribute-set name="setindex.titlepage.verso.style"/> + +<xsl:attribute-set name="indexdiv.titlepage.recto.style"/> +<xsl:attribute-set name="indexdiv.titlepage.verso.style"/> + +<xsl:attribute-set name="colophon.titlepage.recto.style"/> +<xsl:attribute-set name="colophon.titlepage.verso.style"/> + +<xsl:attribute-set name="sidebar.titlepage.recto.style"/> +<xsl:attribute-set name="sidebar.titlepage.verso.style"/> + +<xsl:attribute-set name="qandaset.titlepage.recto.style"/> +<xsl:attribute-set name="qandaset.titlepage.verso.style"/> + +<xsl:attribute-set name="section.titlepage.recto.style"> + <xsl:attribute name="keep-together.within-column">always</xsl:attribute> +</xsl:attribute-set> + +<xsl:attribute-set name="section.titlepage.verso.style"> + <xsl:attribute name="keep-together.within-column">always</xsl:attribute> + <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute> +</xsl:attribute-set> + +<xsl:attribute-set name="sect1.titlepage.recto.style" + use-attribute-sets="section.titlepage.recto.style"/> +<xsl:attribute-set name="sect1.titlepage.verso.style" + use-attribute-sets="section.titlepage.verso.style"/> + +<xsl:attribute-set name="sect2.titlepage.recto.style" + use-attribute-sets="section.titlepage.recto.style"/> +<xsl:attribute-set name="sect2.titlepage.verso.style" + use-attribute-sets="section.titlepage.verso.style"/> + +<xsl:attribute-set name="sect3.titlepage.recto.style" + use-attribute-sets="section.titlepage.recto.style"/> +<xsl:attribute-set name="sect3.titlepage.verso.style" + use-attribute-sets="section.titlepage.verso.style"/> + +<xsl:attribute-set name="sect4.titlepage.recto.style" + use-attribute-sets="section.titlepage.recto.style"/> +<xsl:attribute-set name="sect4.titlepage.verso.style" + use-attribute-sets="section.titlepage.verso.style"/> + +<xsl:attribute-set name="sect5.titlepage.recto.style" + use-attribute-sets="section.titlepage.recto.style"/> +<xsl:attribute-set name="sect5.titlepage.verso.style" + use-attribute-sets="section.titlepage.verso.style"/> + +<xsl:attribute-set name="simplesect.titlepage.recto.style" + use-attribute-sets="section.titlepage.recto.style"/> +<xsl:attribute-set name="simplesect.titlepage.verso.style" + use-attribute-sets="section.titlepage.verso.style"/> + +<xsl:attribute-set name="refnamediv.titlepage.recto.style" + use-attribute-sets="section.titlepage.recto.style"/> +<xsl:attribute-set name="refnamediv.titlepage.verso.style" + use-attribute-sets="section.titlepage.verso.style"/> + +<xsl:attribute-set name="refsynopsisdiv.titlepage.recto.style" + use-attribute-sets="section.titlepage.recto.style"/> +<xsl:attribute-set name="refsynopsisdiv.titlepage.verso.style" + use-attribute-sets="section.titlepage.verso.style"/> + +<xsl:attribute-set name="refsection.titlepage.recto.style" + use-attribute-sets="section.titlepage.recto.style"/> +<xsl:attribute-set name="refsection.titlepage.verso.style" + use-attribute-sets="section.titlepage.verso.style"/> + +<xsl:attribute-set name="refsect1.titlepage.recto.style" + use-attribute-sets="section.titlepage.recto.style"/> +<xsl:attribute-set name="refsect1.titlepage.verso.style" + use-attribute-sets="section.titlepage.verso.style"/> + +<xsl:attribute-set name="refsect2.titlepage.recto.style" + use-attribute-sets="section.titlepage.recto.style"/> +<xsl:attribute-set name="refsect2.titlepage.verso.style" + use-attribute-sets="section.titlepage.verso.style"/> + +<xsl:attribute-set name="refsect3.titlepage.recto.style" + use-attribute-sets="section.titlepage.recto.style"/> +<xsl:attribute-set name="refsect3.titlepage.verso.style" + use-attribute-sets="section.titlepage.verso.style"/> + +<xsl:attribute-set name="table.of.contents.titlepage.recto.style"/> +<xsl:attribute-set name="table.of.contents.titlepage.verso.style"/> + +<xsl:attribute-set name="list.of.tables.titlepage.recto.style"/> +<xsl:attribute-set name="list.of.tables.contents.titlepage.verso.style"/> + +<xsl:attribute-set name="list.of.figures.titlepage.recto.style"/> +<xsl:attribute-set name="list.of.figures.contents.titlepage.verso.style"/> + +<xsl:attribute-set name="list.of.equations.titlepage.recto.style"/> +<xsl:attribute-set name="list.of.equations.contents.titlepage.verso.style"/> + +<xsl:attribute-set name="list.of.examples.titlepage.recto.style"/> +<xsl:attribute-set name="list.of.examples.contents.titlepage.verso.style"/> + +<xsl:attribute-set name="list.of.procedures.titlepage.recto.style"/> +<xsl:attribute-set name="list.of.procedures.contents.titlepage.verso.style"/> + +<xsl:attribute-set name="list.of.unknowns.titlepage.recto.style"/> +<xsl:attribute-set name="list.of.unknowns.contents.titlepage.verso.style"/> + +<!-- ==================================================================== --> + +<xsl:template match="*" mode="titlepage.mode"> + <!-- if an element isn't found in this mode, try the default mode --> + <xsl:apply-templates select="."/> +</xsl:template> + +<xsl:template match="abbrev" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="abstract" mode="titlepage.mode"> + <fo:block xsl:use-attribute-sets="abstract.properties"> + <fo:block xsl:use-attribute-sets="abstract.title.properties"> + <xsl:choose> + <xsl:when test="title|info/title"> + <xsl:apply-templates select="title|info/title"/> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="gentext"> + <xsl:with-param name="key" select="'Abstract'"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </fo:block> + <xsl:apply-templates select="*[not(self::title)]" mode="titlepage.mode"/> + </fo:block> +</xsl:template> + +<xsl:template match="abstract/title" mode="titlepage.mode"/> + +<xsl:template match="abstract/title" mode="titlepage.abstract.title.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="address" mode="titlepage.mode"> + <!-- use the normal address handling code --> + <xsl:apply-templates select="."/> +</xsl:template> + +<xsl:template match="affiliation" mode="titlepage.mode"> + <fo:block> + <xsl:apply-templates mode="titlepage.mode"/> + </fo:block> +</xsl:template> + +<xsl:template match="artpagenums" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="author" mode="titlepage.mode"> + <fo:block> + <xsl:call-template name="anchor"/> + <xsl:choose> + <xsl:when test="orgname"> + <xsl:apply-templates/> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="person.name"/> + <xsl:if test="affiliation/orgname"> + <xsl:text>, </xsl:text> + <xsl:apply-templates select="affiliation/orgname" mode="titlepage.mode"/> + </xsl:if> + <xsl:if test="email|affiliation/address/email"> + <xsl:text> </xsl:text> + <xsl:apply-templates select="(email|affiliation/address/email)[1]"/> + </xsl:if> + </xsl:otherwise> + </xsl:choose> + </fo:block> +</xsl:template> + +<xsl:template match="authorblurb" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="authorgroup" mode="titlepage.mode"> + <fo:wrapper> + <xsl:call-template name="anchor"/> + <xsl:apply-templates mode="titlepage.mode"/> + </fo:wrapper> +</xsl:template> + +<xsl:template match="authorinitials" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="bibliomisc" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="bibliomset" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="collab" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="confgroup" mode="titlepage.mode"> + <fo:block> + <xsl:apply-templates mode="titlepage.mode"/> + </fo:block> +</xsl:template> + +<xsl:template match="confdates" mode="titlepage.mode"> + <fo:block> + <xsl:apply-templates mode="titlepage.mode"/> + </fo:block> +</xsl:template> + +<xsl:template match="conftitle" mode="titlepage.mode"> + <fo:block> + <xsl:apply-templates mode="titlepage.mode"/> + </fo:block> +</xsl:template> + +<xsl:template match="confnum" mode="titlepage.mode"> + <!-- suppress --> +</xsl:template> + +<xsl:template match="contractnum" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="contractsponsor" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="contrib" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="copyright" mode="titlepage.mode"> + <xsl:call-template name="gentext"> + <xsl:with-param name="key" select="'Copyright'"/> + </xsl:call-template> + <xsl:call-template name="gentext.space"/> + <xsl:call-template name="dingbat"> + <xsl:with-param name="dingbat">copyright</xsl:with-param> + </xsl:call-template> + <xsl:call-template name="gentext.space"/> + <xsl:call-template name="copyright.years"> + <xsl:with-param name="years" select="year"/> + <xsl:with-param name="print.ranges" select="$make.year.ranges"/> + <xsl:with-param name="single.year.ranges" + select="$make.single.year.ranges"/> + </xsl:call-template> + <xsl:call-template name="gentext.space"/> + <xsl:apply-templates select="holder" mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="year" mode="titlepage.mode"> + <xsl:apply-templates/> +</xsl:template> + +<xsl:template match="holder" mode="titlepage.mode"> + <xsl:apply-templates/> + <xsl:if test="position() < last()"> + <xsl:text>, </xsl:text> + </xsl:if> +</xsl:template> + +<xsl:template match="corpauthor" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="corpcredit" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="corpname" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="date" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="edition" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> + <xsl:call-template name="gentext.space"/> + <xsl:call-template name="gentext"> + <xsl:with-param name="key" select="'Edition'"/> + </xsl:call-template> +</xsl:template> + +<xsl:template match="editor" mode="titlepage.mode"> + <!-- The first editor is dealt with in the following template, + which in turn displays all editors of the same mode. --> +</xsl:template> + +<xsl:template match="editor[1]" priority="2" mode="titlepage.mode"> + <xsl:call-template name="gentext.edited.by"/> + <xsl:call-template name="gentext.space"/> + <xsl:call-template name="person.name.list"> + <xsl:with-param name="person.list" select="../editor"/> + </xsl:call-template> +</xsl:template> + +<xsl:template match="firstname" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="graphic" mode="titlepage.mode"> + <!-- use the normal graphic handling code --> + <xsl:apply-templates select="."/> +</xsl:template> + +<xsl:template match="honorific" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="isbn" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="issn" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="biblioid" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="itermset" mode="titlepage.mode"> + <!-- discard --> +</xsl:template> + +<xsl:template match="invpartnumber" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="issuenum" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="jobtitle" mode="titlepage.mode"> + <fo:block> + <xsl:apply-templates mode="titlepage.mode"/> + </fo:block> +</xsl:template> + +<xsl:template match="keywordset" mode="titlepage.mode"> +</xsl:template> + +<xsl:template match="legalnotice" mode="titlepage.mode"> + + <xsl:variable name="id"> + <xsl:call-template name="object.id"/> + </xsl:variable> + + <fo:block id="{$id}"> + <xsl:if test="title"> <!-- FIXME: add param for using default title? --> + <xsl:call-template name="formal.object.heading"/> + </xsl:if> + <xsl:apply-templates mode="titlepage.mode"/> + </fo:block> +</xsl:template> + +<xsl:template match="legalnotice/title" mode="titlepage.mode"> +</xsl:template> + +<xsl:template match="lineage" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="modespec" mode="titlepage.mode"> + <!-- discard --> +</xsl:template> + +<xsl:template match="orgdiv" mode="titlepage.mode"> + <xsl:if test="preceding-sibling::*[1][self::orgname]"> + <xsl:text> </xsl:text> + </xsl:if> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="orgname" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="othercredit" mode="titlepage.mode"> + <xsl:variable name="contrib" select="string(contrib)"/> + <xsl:choose> + <xsl:when test="contrib"> + <xsl:if test="not(preceding-sibling::othercredit[string(contrib)=$contrib])"> + <fo:block> + <xsl:apply-templates mode="titlepage.mode" select="contrib"/> + <xsl:text>: </xsl:text> + <xsl:call-template name="person.name"/> + <xsl:apply-templates mode="titlepage.mode" select="affiliation"/> + <xsl:apply-templates select="following-sibling::othercredit[string(contrib)=$contrib]" mode="titlepage.othercredits"/> + </fo:block> + </xsl:if> + </xsl:when> + <xsl:otherwise> + <fo:block><xsl:call-template name="person.name"/></fo:block> + <xsl:apply-templates mode="titlepage.mode" select="./affiliation"/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="othercredit" mode="titlepage.othercredits"> + <xsl:text>, </xsl:text> + <xsl:call-template name="person.name"/> +</xsl:template> + +<xsl:template match="othername" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="pagenums" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="printhistory" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="productname" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="productnumber" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="pubdate" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="publisher" mode="titlepage.mode"> + <fo:block> + <xsl:apply-templates mode="titlepage.mode"/> + </fo:block> +</xsl:template> + +<xsl:template match="publishername" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="pubsnumber" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="releaseinfo" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="revhistory" mode="titlepage.mode"> + + <xsl:variable name="explicit.table.width"> + <xsl:call-template name="pi.dbfo_table-width"/> + </xsl:variable> + + <xsl:variable name="table.width"> + <xsl:choose> + <xsl:when test="$explicit.table.width != ''"> + <xsl:value-of select="$explicit.table.width"/> + </xsl:when> + <xsl:when test="$default.table.width = ''"> + <xsl:text>100%</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$default.table.width"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <fo:table table-layout="fixed" width="{$table.width}" xsl:use-attribute-sets="revhistory.table.properties"> + <fo:table-column column-number="1" column-width="proportional-column-width(1)"/> + <fo:table-column column-number="2" column-width="proportional-column-width(1)"/> + <fo:table-column column-number="3" column-width="proportional-column-width(1)"/> + <fo:table-body start-indent="0pt" end-indent="0pt"> + <fo:table-row> + <fo:table-cell number-columns-spanned="3" xsl:use-attribute-sets="revhistory.table.cell.properties"> + <fo:block xsl:use-attribute-sets="revhistory.title.properties"> + <xsl:choose> + <xsl:when test="title|info/title"> + <xsl:apply-templates select="title|info/title" mode="titlepage.mode"/> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="gentext"> + <xsl:with-param name="key" select="'RevHistory'"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </fo:block> + </fo:table-cell> + </fo:table-row> + <xsl:apply-templates select="*[not(self::title)]" mode="titlepage.mode"/> + </fo:table-body> + </fo:table> + +</xsl:template> + + +<xsl:template match="revhistory/revision" mode="titlepage.mode"> + <xsl:variable name="revnumber" select="revnumber"/> + <xsl:variable name="revdate" select="date"/> + <xsl:variable name="revauthor" select="authorinitials|author"/> + <xsl:variable name="revremark" select="revremark|revdescription"/> + <fo:table-row> + <fo:table-cell xsl:use-attribute-sets="revhistory.table.cell.properties"> + <fo:block> + <xsl:if test="$revnumber"> + <xsl:call-template name="gentext"> + <xsl:with-param name="key" select="'Revision'"/> + </xsl:call-template> + <xsl:call-template name="gentext.space"/> + <xsl:apply-templates select="$revnumber[1]" mode="titlepage.mode"/> + </xsl:if> + </fo:block> + </fo:table-cell> + <fo:table-cell xsl:use-attribute-sets="revhistory.table.cell.properties"> + <fo:block> + <xsl:apply-templates select="$revdate[1]" mode="titlepage.mode"/> + </fo:block> + </fo:table-cell> + <fo:table-cell xsl:use-attribute-sets="revhistory.table.cell.properties"> + <fo:block> + <xsl:for-each select="$revauthor"> + <xsl:apply-templates select="." mode="titlepage.mode"/> + <xsl:if test="position() != last()"> + <xsl:text>, </xsl:text> + </xsl:if> + </xsl:for-each> + </fo:block> + </fo:table-cell> + </fo:table-row> + <xsl:if test="$revremark"> + <fo:table-row> + <fo:table-cell number-columns-spanned="3" xsl:use-attribute-sets="revhistory.table.cell.properties"> + <fo:block> + <xsl:apply-templates select="$revremark[1]" mode="titlepage.mode"/> + </fo:block> + </fo:table-cell> + </fo:table-row> + </xsl:if> +</xsl:template> + +<xsl:template match="revision/revnumber" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="revision/date" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="revision/authorinitials" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="revision/author" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="revision/revremark" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="revision/revdescription" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="seriesvolnums" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="shortaffil" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="subjectset" mode="titlepage.mode"> + <!-- discard --> +</xsl:template> + +<xsl:template match="subtitle" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="surname" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="titleabbrev" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="volumenum" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<!-- ==================================================================== --> +<!-- Book templates --> + +<!-- Note: these templates cannot use *.titlepage.recto.mode or + *.titlepage.verso.mode. If they do then subsequent use of a custom + titlepage.templates.xml file will not work correctly. --> + +<!-- book recto --> + +<xsl:template match="bookinfo/authorgroup|book/info/authorgroup" + mode="titlepage.mode" priority="2"> + <fo:block> + <xsl:call-template name="anchor"/> + <xsl:apply-templates mode="titlepage.mode"/> + </fo:block> +</xsl:template> + +<!-- book verso --> + +<xsl:template name="book.verso.title"> + <fo:block> + <xsl:apply-templates mode="titlepage.mode"/> + + <xsl:if test="following-sibling::subtitle + |following-sibling::info/subtitle + |following-sibling::bookinfo/subtitle"> + <xsl:text>: </xsl:text> + + <xsl:apply-templates select="(following-sibling::subtitle + |following-sibling::info/subtitle + |following-sibling::bookinfo/subtitle)[1]" + mode="book.verso.subtitle.mode"/> + </xsl:if> + </fo:block> +</xsl:template> + +<xsl:template match="subtitle" mode="book.verso.subtitle.mode"> + <xsl:apply-templates mode="titlepage.mode"/> + <xsl:if test="following-sibling::subtitle"> + <xsl:text>: </xsl:text> + <xsl:apply-templates select="following-sibling::subtitle[1]" + mode="book.verso.subtitle.mode"/> + </xsl:if> +</xsl:template> + +<xsl:template name="verso.authorgroup"> + <fo:block> + <xsl:call-template name="gentext"> + <xsl:with-param name="key" select="'by'"/> + </xsl:call-template> + <xsl:text> </xsl:text> + <xsl:call-template name="person.name.list"> + <xsl:with-param name="person.list" select="author|corpauthor|editor"/> + </xsl:call-template> + </fo:block> + <xsl:apply-templates select="othercredit" mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="bookinfo/author|book/info/author" + mode="titlepage.mode" priority="2"> + <fo:block> + <xsl:call-template name="person.name"/> + </fo:block> +</xsl:template> + +<xsl:template match="bookinfo/corpauthor|book/info/corpauthor" + mode="titlepage.mode" priority="2"> + <fo:block> + <xsl:apply-templates/> + </fo:block> +</xsl:template> + +<xsl:template match="bookinfo/pubdate|book/info/pubdate" + mode="titlepage.mode" priority="2"> + <fo:block> + <xsl:call-template name="gentext"> + <xsl:with-param name="key" select="'pubdate'"/> + </xsl:call-template> + <xsl:text> </xsl:text> + <xsl:apply-templates mode="titlepage.mode"/> + </fo:block> +</xsl:template> + +<!-- ==================================================================== --> + +</xsl:stylesheet> diff --git a/doc/help/xslt/fo/toc.xsl b/doc/help/xslt/fo/toc.xsl new file mode 100644 index 00000000..cf327242 --- /dev/null +++ b/doc/help/xslt/fo/toc.xsl @@ -0,0 +1,332 @@ +<?xml version='1.0'?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:fo="http://www.w3.org/1999/XSL/Format" + version='1.0'> + +<!-- ******************************************************************** + $Id: toc.xsl 8323 2009-03-12 22:52:17Z bobstayton $ + ******************************************************************** + + This file is part of the XSL DocBook Stylesheet distribution. + See ../README or http://docbook.sf.net/release/xsl/current/ for + copyright and other information. + + ******************************************************************** --> + +<!-- ==================================================================== --> + +<!-- only set, book and part puts toc in its own page sequence --> + +<xsl:template match="set/toc | book/toc | part/toc"> + <xsl:variable name="toc.params"> + <xsl:call-template name="find.path.params"> + <xsl:with-param name="node" select="parent::*"/> + <xsl:with-param name="table" select="normalize-space($generate.toc)"/> + </xsl:call-template> + </xsl:variable> + + <!-- Do not output the toc element if one is already generated + by the use of $generate.toc parameter, or if + generating a source toc is turned off --> + <xsl:if test="not(contains($toc.params, 'toc')) and + ($process.source.toc != 0 or $process.empty.source.toc != 0)"> + <!-- Don't generate a page sequence unless there is content --> + <xsl:variable name="content"> + <xsl:choose> + <xsl:when test="* and $process.source.toc != 0"> + <xsl:apply-templates /> + </xsl:when> + <xsl:when test="count(*) = 0 and $process.empty.source.toc != 0"> + <!-- trick to switch context node to parent element --> + <xsl:for-each select="parent::*"> + <xsl:choose> + <xsl:when test="self::set"> + <xsl:call-template name="set.toc"> + <xsl:with-param name="toc.title.p" + select="contains($toc.params, 'title')"/> + </xsl:call-template> + </xsl:when> + <xsl:when test="self::book"> + <xsl:call-template name="division.toc"> + <xsl:with-param name="toc.title.p" + select="contains($toc.params, 'title')"/> + </xsl:call-template> + </xsl:when> + <xsl:when test="self::part"> + <xsl:call-template name="division.toc"> + <xsl:with-param name="toc.title.p" + select="contains($toc.params, 'title')"/> + </xsl:call-template> + </xsl:when> + </xsl:choose> + </xsl:for-each> + </xsl:when> + </xsl:choose> + </xsl:variable> + + <xsl:if test="string-length(normalize-space($content)) != 0"> + <xsl:variable name="lot-master-reference"> + <xsl:call-template name="select.pagemaster"> + <xsl:with-param name="pageclass" select="'lot'"/> + </xsl:call-template> + </xsl:variable> + + <xsl:call-template name="page.sequence"> + <xsl:with-param name="master-reference" + select="$lot-master-reference"/> + <xsl:with-param name="element" select="'toc'"/> + <xsl:with-param name="gentext-key" select="'TableofContents'"/> + <xsl:with-param name="content" select="$content"/> + </xsl:call-template> + </xsl:if> + </xsl:if> +</xsl:template> + +<xsl:template match="chapter/toc | appendix/toc | preface/toc | article/toc"> + <xsl:variable name="toc.params"> + <xsl:call-template name="find.path.params"> + <xsl:with-param name="node" select="parent::*"/> + <xsl:with-param name="table" select="normalize-space($generate.toc)"/> + </xsl:call-template> + </xsl:variable> + + <!-- Do not output the toc element if one is already generated + by the use of $generate.toc parameter, or if + generating a source toc is turned off --> + <xsl:if test="not(contains($toc.params, 'toc')) and + ($process.source.toc != 0 or $process.empty.source.toc != 0)"> + <xsl:choose> + <xsl:when test="* and $process.source.toc != 0"> + <fo:block> + <xsl:apply-templates/> + </fo:block> + </xsl:when> + <xsl:when test="count(*) = 0 and $process.empty.source.toc != 0"> + <!-- trick to switch context node to section element --> + <xsl:for-each select="parent::*"> + <xsl:call-template name="component.toc"> + <xsl:with-param name="toc.title.p" + select="contains($toc.params, 'title')"/> + </xsl:call-template> + </xsl:for-each> + </xsl:when> + </xsl:choose> + <xsl:call-template name="component.toc.separator"/> + </xsl:if> +</xsl:template> + +<xsl:template match="section/toc + |sect1/toc + |sect2/toc + |sect3/toc + |sect4/toc + |sect5/toc"> + + <xsl:variable name="toc.params"> + <xsl:call-template name="find.path.params"> + <xsl:with-param name="node" select="parent::*"/> + <xsl:with-param name="table" select="normalize-space($generate.toc)"/> + </xsl:call-template> + </xsl:variable> + + <!-- Do not output the toc element if one is already generated + by the use of $generate.toc parameter, or if + generating a source toc is turned off --> + <xsl:if test="not(contains($toc.params, 'toc')) and + ($process.source.toc != 0 or $process.empty.source.toc != 0)"> + <xsl:choose> + <xsl:when test="* and $process.source.toc != 0"> + <fo:block> + <xsl:apply-templates/> + </fo:block> + </xsl:when> + <xsl:when test="count(*) = 0 and $process.empty.source.toc != 0"> + <!-- trick to switch context node to section element --> + <xsl:for-each select="parent::*"> + <xsl:call-template name="section.toc"> + <xsl:with-param name="toc.title.p" + select="contains($toc.params, 'title')"/> + </xsl:call-template> + </xsl:for-each> + </xsl:when> + </xsl:choose> + <xsl:call-template name="section.toc.separator"/> + </xsl:if> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="tocpart|tocchap + |toclevel1|toclevel2|toclevel3|toclevel4|toclevel5"> + <xsl:apply-templates select="tocentry"/> + <xsl:if test="tocchap|toclevel1|toclevel2|toclevel3|toclevel4|toclevel5"> + <fo:block start-indent="{count(ancestor::*)*2}pc"> + <xsl:apply-templates select="tocchap|toclevel1|toclevel2|toclevel3|toclevel4|toclevel5"/> + </fo:block> + </xsl:if> +</xsl:template> + +<xsl:template match="tocentry|lotentry|tocdiv|tocfront|tocback"> + <fo:block text-align-last="justify" + end-indent="2pc" + last-line-end-indent="-2pc"> + <fo:inline keep-with-next.within-line="always"> + <xsl:choose> + <xsl:when test="@linkend"> + <fo:basic-link internal-destination="{@linkend}"> + <xsl:apply-templates/> + </fo:basic-link> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates/> + </xsl:otherwise> + </xsl:choose> + </fo:inline> + + <xsl:choose> + <xsl:when test="@linkend"> + <fo:inline keep-together.within-line="always"> + <xsl:text> </xsl:text> + <fo:leader leader-pattern="dots" + keep-with-next.within-line="always"/> + <xsl:text> </xsl:text> + <fo:basic-link internal-destination="{@linkend}"> + <xsl:choose> + <xsl:when test="@pagenum"> + <xsl:value-of select="@pagenum"/> + </xsl:when> + <xsl:otherwise> + <fo:page-number-citation ref-id="{@linkend}"/> + </xsl:otherwise> + </xsl:choose> + </fo:basic-link> + </fo:inline> + </xsl:when> + <xsl:when test="@pagenum"> + <fo:inline keep-together.within-line="always"> + <xsl:text> </xsl:text> + <fo:leader leader-pattern="dots" + keep-with-next.within-line="always"/> + <xsl:text> </xsl:text> + <xsl:value-of select="@pagenum"/> + </fo:inline> + </xsl:when> + <xsl:otherwise> + <!-- just the leaders, what else can I do? --> + <fo:inline keep-together.within-line="always"> + <xsl:text> </xsl:text> + <fo:leader leader-pattern="space" + keep-with-next.within-line="always"/> + </fo:inline> + </xsl:otherwise> + </xsl:choose> + </fo:block> +</xsl:template> + +<xsl:template match="toc/title"> + <fo:block font-weight="bold"> + <xsl:apply-templates/> + </fo:block> +</xsl:template> + +<xsl:template match="toc/subtitle"> + <fo:block font-weight="bold"> + <xsl:apply-templates/> + </fo:block> +</xsl:template> + +<xsl:template match="toc/titleabbrev"> +</xsl:template> + +<!-- ==================================================================== --> + +<!-- A lot element must have content, because there is no attribute + to select what kind of list should be generated --> +<xsl:template match="book/lot | part/lot"> + <!-- Don't generate a page sequence unless there is content --> + <xsl:variable name="content"> + <xsl:choose> + <xsl:when test="* and $process.source.toc != 0"> + <xsl:apply-templates /> + </xsl:when> + <xsl:when test="not(child::*) and $process.empty.source.toc != 0"> + <xsl:call-template name="process.empty.lot"/> + </xsl:when> + </xsl:choose> + </xsl:variable> + + <xsl:if test="string-length(normalize-space($content)) != 0"> + <xsl:variable name="lot-master-reference"> + <xsl:call-template name="select.pagemaster"> + <xsl:with-param name="pageclass" select="'lot'"/> + </xsl:call-template> + </xsl:variable> + + <xsl:call-template name="page.sequence"> + <xsl:with-param name="master-reference" + select="$lot-master-reference"/> + <xsl:with-param name="element" select="'toc'"/> + <xsl:with-param name="content" select="$content"/> + </xsl:call-template> + </xsl:if> +</xsl:template> + +<xsl:template match="chapter/lot | appendix/lot | preface/lot | article/lot"> + <xsl:choose> + <xsl:when test="* and $process.source.toc != 0"> + <fo:block> + <xsl:apply-templates/> + </fo:block> + <xsl:call-template name="component.toc.separator"/> + </xsl:when> + <xsl:when test="not(child::*) and $process.empty.source.toc != 0"> + <xsl:call-template name="process.empty.lot"/> + </xsl:when> + </xsl:choose> +</xsl:template> + +<xsl:template match="section/lot + |sect1/lot + |sect2/lot + |sect3/lot + |sect4/lot + |sect5/lot"> + <xsl:choose> + <xsl:when test="* and $process.source.toc != 0"> + <fo:block> + <xsl:apply-templates/> + </fo:block> + <xsl:call-template name="section.toc.separator"/> + </xsl:when> + <xsl:when test="not(child::*) and $process.empty.source.toc != 0"> + <xsl:call-template name="process.empty.lot"/> + </xsl:when> + </xsl:choose> +</xsl:template> + +<xsl:template name="process.empty.lot"> + <!-- An empty lot element does not provide any information to indicate + what should be included in it. You can customize this + template to generate a lot based on @role or something --> + <xsl:message> + <xsl:text>Warning: don't know what to generate for </xsl:text> + <xsl:text>lot that has no children.</xsl:text> + </xsl:message> +</xsl:template> + +<xsl:template match="lot/title"> + <fo:block font-weight="bold"> + <xsl:apply-templates/> + </fo:block> +</xsl:template> + +<xsl:template match="lot/subtitle"> + <fo:block font-weight="bold"> + <xsl:apply-templates/> + </fo:block> +</xsl:template> + +<xsl:template match="lot/titleabbrev"> +</xsl:template> + +</xsl:stylesheet> diff --git a/doc/help/xslt/fo/verbatim.xsl b/doc/help/xslt/fo/verbatim.xsl new file mode 100644 index 00000000..098489a5 --- /dev/null +++ b/doc/help/xslt/fo/verbatim.xsl @@ -0,0 +1,465 @@ +<?xml version='1.0'?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:fo="http://www.w3.org/1999/XSL/Format" + xmlns:sverb="http://nwalsh.com/xslt/ext/com.nwalsh.saxon.Verbatim" + xmlns:xverb="com.nwalsh.xalan.Verbatim" + xmlns:lxslt="http://xml.apache.org/xslt" + xmlns:exsl="http://exslt.org/common" + exclude-result-prefixes="sverb xverb lxslt exsl" + version='1.0'> + +<!-- ******************************************************************** + $Id: verbatim.xsl 8344 2009-03-16 06:35:43Z bobstayton $ + ******************************************************************** + + This file is part of the XSL DocBook Stylesheet distribution. + See ../README or http://docbook.sf.net/release/xsl/current/ for + copyright and other information. + + ******************************************************************** --> + +<!-- XSLTHL highlighting is turned off by default. See highlighting/README + for instructions on how to turn on XSLTHL --> +<xsl:template name="apply-highlighting"> + <xsl:apply-templates/> +</xsl:template> + +<lxslt:component prefix="xverb" + functions="numberLines"/> + +<xsl:template match="programlisting|screen|synopsis"> + <xsl:param name="suppress-numbers" select="'0'"/> + <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable> + + <xsl:variable name="content"> + <xsl:choose> + <xsl:when test="$suppress-numbers = '0' + and @linenumbering = 'numbered' + and $use.extensions != '0' + and $linenumbering.extension != '0'"> + <xsl:call-template name="number.rtf.lines"> + <xsl:with-param name="rtf"> + <xsl:choose> + <xsl:when test="$highlight.source != 0"> + <xsl:call-template name="apply-highlighting"/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates/> + </xsl:otherwise> + </xsl:choose> + </xsl:with-param> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:choose> + <xsl:when test="$highlight.source != 0"> + <xsl:call-template name="apply-highlighting"/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates/> + </xsl:otherwise> + </xsl:choose> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:variable name="block.content"> + <xsl:choose> + <xsl:when test="$shade.verbatim != 0"> + <fo:block id="{$id}" + xsl:use-attribute-sets="monospace.verbatim.properties shade.verbatim.style"> + <xsl:choose> + <xsl:when test="$hyphenate.verbatim != 0 and + $exsl.node.set.available != 0"> + <xsl:apply-templates select="exsl:node-set($content)" + mode="hyphenate.verbatim"/> + </xsl:when> + <xsl:otherwise> + <xsl:copy-of select="$content"/> + </xsl:otherwise> + </xsl:choose> + </fo:block> + </xsl:when> + <xsl:otherwise> + <fo:block id="{$id}" + xsl:use-attribute-sets="monospace.verbatim.properties"> + <xsl:choose> + <xsl:when test="$hyphenate.verbatim != 0 and + $exsl.node.set.available != 0"> + <xsl:apply-templates select="exsl:node-set($content)" + mode="hyphenate.verbatim"/> + </xsl:when> + <xsl:otherwise> + <xsl:copy-of select="$content"/> + </xsl:otherwise> + </xsl:choose> + </fo:block> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:choose> + <!-- Need a block-container for these features --> + <xsl:when test="@width != '' or + (self::programlisting and + starts-with($writing.mode, 'rl'))"> + <fo:block-container start-indent="0pt" end-indent="0pt"> + <xsl:if test="@width != ''"> + <xsl:attribute name="width"> + <xsl:value-of select="concat(@width, '*', $monospace.verbatim.font.width)"/> + </xsl:attribute> + </xsl:if> + <!-- All known program code is left-to-right --> + <xsl:if test="self::programlisting and + starts-with($writing.mode, 'rl')"> + <xsl:attribute name="writing-mode">lr-tb</xsl:attribute> + </xsl:if> + <xsl:copy-of select="$block.content"/> + </fo:block-container> + </xsl:when> + <xsl:otherwise> + <xsl:copy-of select="$block.content"/> + </xsl:otherwise> + </xsl:choose> + +</xsl:template> + +<xsl:template match="literallayout"> + <xsl:param name="suppress-numbers" select="'0'"/> + + <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable> + + <xsl:variable name="content"> + <xsl:choose> + <xsl:when test="$suppress-numbers = '0' + and @linenumbering = 'numbered' + and $use.extensions != '0' + and $linenumbering.extension != '0'"> + <xsl:call-template name="number.rtf.lines"> + <xsl:with-param name="rtf"> + <xsl:apply-templates/> + </xsl:with-param> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:choose> + <xsl:when test="@class='monospaced'"> + <xsl:choose> + <xsl:when test="$shade.verbatim != 0"> + <fo:block id="{$id}" + xsl:use-attribute-sets="monospace.verbatim.properties shade.verbatim.style"> + + <xsl:copy-of select="$content"/> + </fo:block> + </xsl:when> + <xsl:otherwise> + <fo:block id="{$id}" + xsl:use-attribute-sets="monospace.verbatim.properties"> + <xsl:copy-of select="$content"/> + </fo:block> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:otherwise> + <xsl:choose> + <xsl:when test="$shade.verbatim != 0"> + <fo:block id="{$id}" + xsl:use-attribute-sets="verbatim.properties shade.verbatim.style"> + <xsl:copy-of select="$content"/> + </fo:block> + </xsl:when> + <xsl:otherwise> + <fo:block id="{$id}" + xsl:use-attribute-sets="verbatim.properties"> + <xsl:copy-of select="$content"/> + </fo:block> + </xsl:otherwise> + </xsl:choose> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="address"> + <xsl:param name="suppress-numbers" select="'0'"/> + + <xsl:variable name="content"> + <xsl:choose> + <xsl:when test="$suppress-numbers = '0' + and @linenumbering = 'numbered' + and $use.extensions != '0' + and $linenumbering.extension != '0'"> + <xsl:call-template name="number.rtf.lines"> + <xsl:with-param name="rtf"> + <xsl:apply-templates/> + </xsl:with-param> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <fo:block xsl:use-attribute-sets="verbatim.properties"> + <xsl:copy-of select="$content"/> + </fo:block> +</xsl:template> + +<xsl:template name="number.rtf.lines"> + <xsl:param name="rtf" select="''"/> + <xsl:param name="pi.context" select="."/> + + <!-- Save the global values --> + <xsl:variable name="global.linenumbering.everyNth" + select="$linenumbering.everyNth"/> + + <xsl:variable name="global.linenumbering.separator" + select="$linenumbering.separator"/> + + <xsl:variable name="global.linenumbering.width" + select="$linenumbering.width"/> + + <!-- Extract the <?dbfo linenumbering.*?> PI values --> + <xsl:variable name="pi.linenumbering.everyNth"> + <xsl:call-template name="pi.dbfo_linenumbering.everyNth"> + <xsl:with-param name="node" select="$pi.context"/> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="pi.linenumbering.separator"> + <xsl:call-template name="pi.dbfo_linenumbering.separator"> + <xsl:with-param name="node" select="$pi.context"/> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="pi.linenumbering.width"> + <xsl:call-template name="pi.dbfo_linenumbering.width"> + <xsl:with-param name="node" select="$pi.context"/> + </xsl:call-template> + </xsl:variable> + + <!-- Construct the 'in-context' values --> + <xsl:variable name="linenumbering.everyNth"> + <xsl:choose> + <xsl:when test="$pi.linenumbering.everyNth != ''"> + <xsl:value-of select="$pi.linenumbering.everyNth"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$global.linenumbering.everyNth"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:variable name="linenumbering.separator"> + <xsl:choose> + <xsl:when test="$pi.linenumbering.separator != ''"> + <xsl:value-of select="$pi.linenumbering.separator"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$global.linenumbering.separator"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:variable name="linenumbering.width"> + <xsl:choose> + <xsl:when test="$pi.linenumbering.width != ''"> + <xsl:value-of select="$pi.linenumbering.width"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$global.linenumbering.width"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:variable name="linenumbering.startinglinenumber"> + <xsl:choose> + <xsl:when test="$pi.context/@startinglinenumber"> + <xsl:value-of select="$pi.context/@startinglinenumber"/> + </xsl:when> + <xsl:when test="$pi.context/@continuation='continues'"> + <xsl:variable name="lastLine"> + <xsl:choose> + <xsl:when test="$pi.context/self::programlisting"> + <xsl:call-template name="lastLineNumber"> + <xsl:with-param name="listings" + select="preceding::programlisting[@linenumbering='numbered']"/> + </xsl:call-template> + </xsl:when> + <xsl:when test="$pi.context/self::screen"> + <xsl:call-template name="lastLineNumber"> + <xsl:with-param name="listings" + select="preceding::screen[@linenumbering='numbered']"/> + </xsl:call-template> + </xsl:when> + <xsl:when test="$pi.context/self::literallayout"> + <xsl:call-template name="lastLineNumber"> + <xsl:with-param name="listings" + select="preceding::literallayout[@linenumbering='numbered']"/> + </xsl:call-template> + </xsl:when> + <xsl:when test="$pi.context/self::address"> + <xsl:call-template name="lastLineNumber"> + <xsl:with-param name="listings" + select="preceding::address[@linenumbering='numbered']"/> + </xsl:call-template> + </xsl:when> + <xsl:when test="$pi.context/self::synopsis"> + <xsl:call-template name="lastLineNumber"> + <xsl:with-param name="listings" + select="preceding::synopsis[@linenumbering='numbered']"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:message> + <xsl:text>Unexpected verbatim environment: </xsl:text> + <xsl:value-of select="local-name(.)"/> + </xsl:message> + <xsl:value-of select="0"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:value-of select="$lastLine + 1"/> + </xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:choose> + <xsl:when test="function-available('sverb:numberLines')"> + <xsl:copy-of select="sverb:numberLines($rtf)"/> + </xsl:when> + <xsl:when test="function-available('xverb:numberLines')"> + <xsl:copy-of select="xverb:numberLines($rtf)"/> + </xsl:when> + <xsl:otherwise> + <xsl:message terminate="yes"> + <xsl:text>No numberLines function available.</xsl:text> + </xsl:message> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<!-- ======================================================================== --> + +<xsl:template name="lastLineNumber"> + <xsl:param name="listings"/> + <xsl:param name="number" select="0"/> + + <xsl:variable name="lines"> + <xsl:call-template name="countLines"> + <xsl:with-param name="listing" select="string($listings[1])"/> + </xsl:call-template> + </xsl:variable> + + <xsl:choose> + <xsl:when test="not($listings)"> + <xsl:value-of select="$number"/> + </xsl:when> + <xsl:when test="$listings[1]/@startinglinenumber"> + <xsl:value-of select="$number + $listings[1]/@startinglinenumber + $lines - 1"/> + </xsl:when> + <xsl:when test="$listings[1]/@continuation='continues'"> + <xsl:call-template name="lastLineNumber"> + <xsl:with-param name="listings" select="listings[position() > 1]"/> + <xsl:with-param name="number" select="$number + $lines"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$lines"/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template name="countLines"> + <xsl:param name="listing"/> + <xsl:param name="count" select="1"/> + + <xsl:choose> + <xsl:when test="contains($listing, ' ')"> + <xsl:call-template name="countLines"> + <xsl:with-param name="listing" select="substring-after($listing, ' ')"/> + <xsl:with-param name="count" select="$count + 1"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$count"/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<!-- ======================================================================== --> + +<xsl:template match="node()|@*" mode="hyphenate.verbatim"> + <xsl:copy> + <xsl:copy-of select="@*"/> + <xsl:apply-templates mode="hyphenate.verbatim"/> + </xsl:copy> +</xsl:template> + +<xsl:template match="text()" mode="hyphenate.verbatim" priority="2"> + <xsl:call-template name="hyphenate.verbatim.block"> + <xsl:with-param name="content" select="."/> + </xsl:call-template> +</xsl:template> + +<xsl:template name="hyphenate.verbatim.block"> + <xsl:param name="content" select="''"/> + <xsl:param name="count" select="1"/> + + <!-- recurse on lines first to keep recursion depth reasonable --> + <xsl:choose> + <xsl:when test="contains($content, ' ')"> + <xsl:variable name="line" select="substring-before($content, ' ')"/> + <xsl:variable name="rest" select="substring-after($content, ' ')"/> + <xsl:call-template name="hyphenate.verbatim"> + <xsl:with-param name="content" select="concat($line, ' ')"/> + </xsl:call-template> + <xsl:call-template name="hyphenate.verbatim.block"> + <xsl:with-param name="content" select="$rest"/> + <xsl:with-param name="count" select="$count + 1"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="hyphenate.verbatim"> + <xsl:with-param name="content" select="$content"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + +</xsl:template> + +<xsl:template name="hyphenate.verbatim"> + <xsl:param name="content"/> + <xsl:variable name="head" select="substring($content, 1, 1)"/> + <xsl:variable name="tail" select="substring($content, 2)"/> + <xsl:choose> + <!-- Place soft-hyphen after space or non-breakable space. --> + <xsl:when test="$head = ' ' or $head = ' '"> + <xsl:text> </xsl:text> + <xsl:text>­</xsl:text> + </xsl:when> + <xsl:when test="$hyphenate.verbatim.characters != '' and + translate($head, $hyphenate.verbatim.characters, '') = '' and not($tail = '')"> + <xsl:value-of select="$head"/> + <xsl:text>­</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$head"/> + </xsl:otherwise> + </xsl:choose> + <xsl:if test="$tail"> + <xsl:call-template name="hyphenate.verbatim"> + <xsl:with-param name="content" select="$tail"/> + </xsl:call-template> + </xsl:if> +</xsl:template> + + +</xsl:stylesheet> diff --git a/doc/help/xslt/fo/xep.xsl b/doc/help/xslt/fo/xep.xsl new file mode 100644 index 00000000..14ce59fd --- /dev/null +++ b/doc/help/xslt/fo/xep.xsl @@ -0,0 +1,180 @@ +<?xml version='1.0'?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:fo="http://www.w3.org/1999/XSL/Format" + xmlns:rx="http://www.renderx.com/XSL/Extensions" + version='1.0'> + +<!-- ******************************************************************** + $Id: xep.xsl 7531 2007-10-17 18:06:49Z dcramer $ + ******************************************************************** + (c) Stephane Bline Peregrine Systems 2001 + Implementation of xep extensions: + * Pdf bookmarks (based on the XEP 2.5 implementation) + * Document information (XEP 2.5 meta information extensions) + ******************************************************************** --> + +<!-- FIXME: Norm, I changed things so that the top-level element (book or set) + does not appear in the TOC. Is this the right thing? --> + +<xsl:template name="xep-document-information"> + <rx:meta-info> + <xsl:variable name="authors" + select="(//author|//editor|//corpauthor|//authorgroup)[1]"/> + <xsl:if test="$authors"> + <xsl:variable name="author"> + <xsl:choose> + <xsl:when test="$authors[self::authorgroup]"> + <xsl:call-template name="person.name.list"> + <xsl:with-param name="person.list" + select="$authors/*[self::author|self::corpauthor| + self::othercredit|self::editor]"/> + </xsl:call-template> + </xsl:when> + <xsl:when test="$authors[self::corpauthor]"> + <xsl:value-of select="$authors"/> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="person.name"> + <xsl:with-param name="node" select="$authors"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:element name="rx:meta-field"> + <xsl:attribute name="name">author</xsl:attribute> + <xsl:attribute name="value"> + <xsl:value-of select="normalize-space($author)"/> + </xsl:attribute> + </xsl:element> + </xsl:if> + + <xsl:variable name="title"> + <xsl:apply-templates select="/*[1]" mode="label.markup"/> + <xsl:apply-templates select="/*[1]" mode="title.markup"/> + </xsl:variable> + + <xsl:element name="rx:meta-field"> + <xsl:attribute name="name">creator</xsl:attribute> + <xsl:attribute name="value"> + <xsl:text>DocBook </xsl:text> + <xsl:value-of select="$DistroTitle"/> + <xsl:text> V</xsl:text> + <xsl:value-of select="$VERSION"/> + </xsl:attribute> + </xsl:element> + + <xsl:element name="rx:meta-field"> + <xsl:attribute name="name">title</xsl:attribute> + <xsl:attribute name="value"> + <xsl:value-of select="normalize-space($title)"/> + </xsl:attribute> + </xsl:element> + + <xsl:if test="//keyword"> + <xsl:element name="rx:meta-field"> + <xsl:attribute name="name">keywords</xsl:attribute> + <xsl:attribute name="value"> + <xsl:for-each select="//keyword"> + <xsl:value-of select="normalize-space(.)"/> + <xsl:if test="position() != last()"> + <xsl:text>, </xsl:text> + </xsl:if> + </xsl:for-each> + </xsl:attribute> + </xsl:element> + </xsl:if> + + <xsl:if test="//subjectterm"> + <xsl:element name="rx:meta-field"> + <xsl:attribute name="name">subject</xsl:attribute> + <xsl:attribute name="value"> + <xsl:for-each select="//subjectterm"> + <xsl:value-of select="normalize-space(.)"/> + <xsl:if test="position() != last()"> + <xsl:text>, </xsl:text> + </xsl:if> + </xsl:for-each> + </xsl:attribute> + </xsl:element> + </xsl:if> + </rx:meta-info> +</xsl:template> + +<!-- ******************************************************************** + Pdf bookmarks + ******************************************************************** --> + +<xsl:template match="*" mode="xep.outline"> + <xsl:apply-templates select="*" mode="xep.outline"/> +</xsl:template> + +<xsl:template match="set|book|part|reference|preface|chapter|appendix|article + |glossary|bibliography|index|setindex + |refentry|refsynopsisdiv + |refsect1|refsect2|refsect3|refsection + |sect1|sect2|sect3|sect4|sect5|section" + mode="xep.outline"> + <xsl:variable name="id"> + <xsl:call-template name="object.id"/> + </xsl:variable> + <xsl:variable name="bookmark-label"> + <xsl:apply-templates select="." mode="object.title.markup"/> + </xsl:variable> + + <!-- Put the root element bookmark at the same level as its children --> + <!-- If the object is a set or book, generate a bookmark for the toc --> + <xsl:choose> + <xsl:when test="self::index and $generate.index = 0"/> + <xsl:when test="parent::*"> + <rx:bookmark internal-destination="{$id}"> + <rx:bookmark-label> + <xsl:value-of select="normalize-space($bookmark-label)"/> + </rx:bookmark-label> + <xsl:apply-templates select="*" mode="xep.outline"/> + </rx:bookmark> + </xsl:when> + <xsl:otherwise> + <xsl:if test="$bookmark-label != ''"> + <rx:bookmark internal-destination="{$id}"> + <rx:bookmark-label> + <xsl:value-of select="normalize-space($bookmark-label)"/> + </rx:bookmark-label> + </rx:bookmark> + </xsl:if> + + <xsl:variable name="toc.params"> + <xsl:call-template name="find.path.params"> + <xsl:with-param name="table" select="normalize-space($generate.toc)"/> + </xsl:call-template> + </xsl:variable> + <xsl:if test="contains($toc.params, 'toc') + and set|book|part|reference|section|sect1|refentry + |article|bibliography|glossary|chapter + |appendix"> + <rx:bookmark internal-destination="toc...{$id}"> + <rx:bookmark-label> + <xsl:call-template name="gentext"> + <xsl:with-param name="key" select="'TableofContents'"/> + </xsl:call-template> + </rx:bookmark-label> + </rx:bookmark> + </xsl:if> + <xsl:apply-templates select="*" mode="xep.outline"/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template name="xep-pis"> + <xsl:if test="$crop.marks != 0"> + <xsl:processing-instruction name="xep-pdf-crop-mark-width"><xsl:value-of select="$crop.mark.width"/></xsl:processing-instruction> + <xsl:processing-instruction name="xep-pdf-crop-offset"><xsl:value-of select="$crop.mark.offset"/></xsl:processing-instruction> + <xsl:processing-instruction name="xep-pdf-bleed"><xsl:value-of select="$crop.mark.bleed"/></xsl:processing-instruction> + </xsl:if> + + <xsl:call-template name="user-xep-pis"/> +</xsl:template> + +<!-- Placeholder for user defined PIs --> +<xsl:template name="user-xep-pis"/> + +</xsl:stylesheet> diff --git a/doc/help/xslt/fo/xref.xsl b/doc/help/xslt/fo/xref.xsl new file mode 100644 index 00000000..771d39be --- /dev/null +++ b/doc/help/xslt/fo/xref.xsl @@ -0,0 +1,1538 @@ +<?xml version='1.0'?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:fo="http://www.w3.org/1999/XSL/Format" + xmlns:exsl="http://exslt.org/common" + xmlns:xlink='http://www.w3.org/1999/xlink' + exclude-result-prefixes="exsl xlink" + version='1.0'> + +<!-- ******************************************************************** + $Id: xref.xsl 8913 2010-10-01 04:44:57Z bobstayton $ + ******************************************************************** + + This file is part of the XSL DocBook Stylesheet distribution. + See ../README or http://docbook.sf.net/release/xsl/current/ for + copyright and other information. + + ******************************************************************** --> + +<!-- Use internal variable for olink xlink role for consistency --> +<xsl:variable + name="xolink.role">http://docbook.org/xlink/role/olink</xsl:variable> + +<!-- ==================================================================== --> + +<xsl:template match="anchor"> + <xsl:variable name="id"> + <xsl:call-template name="object.id"/> + </xsl:variable> + <fo:inline id="{$id}"/> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="xref" name="xref"> + <xsl:param name="xhref" select="@xlink:href"/> + <!-- is the @xlink:href a local idref link? --> + <xsl:param name="xlink.idref"> + <xsl:if test="starts-with($xhref,'#') + and (not(contains($xhref,'(')) + or starts-with($xhref, '#xpointer(id('))"> + <xsl:call-template name="xpointer.idref"> + <xsl:with-param name="xpointer" select="$xhref"/> + </xsl:call-template> + </xsl:if> + </xsl:param> + <xsl:param name="xlink.targets" select="key('id',$xlink.idref)"/> + <xsl:param name="linkend.targets" select="key('id',@linkend)"/> + <xsl:param name="target" select="($xlink.targets | $linkend.targets)[1]"/> + <xsl:param name="refelem" select="local-name($target)"/> + + <xsl:variable name="xrefstyle"> + <xsl:choose> + <xsl:when test="@role and not(@xrefstyle) + and $use.role.as.xrefstyle != 0"> + <xsl:value-of select="@role"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="@xrefstyle"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:variable name="content"> + <fo:inline xsl:use-attribute-sets="xref.properties"> + <xsl:choose> + <xsl:when test="@endterm"> + <xsl:variable name="etargets" select="key('id',@endterm)"/> + <xsl:variable name="etarget" select="$etargets[1]"/> + <xsl:choose> + <xsl:when test="count($etarget) = 0"> + <xsl:message> + <xsl:value-of select="count($etargets)"/> + <xsl:text>Endterm points to nonexistent ID: </xsl:text> + <xsl:value-of select="@endterm"/> + </xsl:message> + <xsl:text>???</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="$etarget" mode="endterm"/> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + + <xsl:when test="$target/@xreflabel"> + <xsl:call-template name="xref.xreflabel"> + <xsl:with-param name="target" select="$target"/> + </xsl:call-template> + </xsl:when> + + <xsl:when test="$target"> + <xsl:if test="not(parent::citation)"> + <xsl:apply-templates select="$target" mode="xref-to-prefix"/> + </xsl:if> + + <xsl:apply-templates select="$target" mode="xref-to"> + <xsl:with-param name="referrer" select="."/> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + </xsl:apply-templates> + + <xsl:if test="not(parent::citation)"> + <xsl:apply-templates select="$target" mode="xref-to-suffix"/> + </xsl:if> + </xsl:when> + <xsl:otherwise> + <xsl:message> + <xsl:text>ERROR: xref linking to </xsl:text> + <xsl:value-of select="@linkend|@xlink:href"/> + <xsl:text> has no generated link text.</xsl:text> + </xsl:message> + <xsl:text>???</xsl:text> + </xsl:otherwise> + </xsl:choose> + </fo:inline> + </xsl:variable> + + <!-- Convert it into an active link --> + <xsl:call-template name="simple.xlink"> + <xsl:with-param name="content" select="$content"/> + </xsl:call-template> + + <!-- Add standard page reference? --> + <xsl:choose> + <xsl:when test="not($target)"> + <!-- page numbers only for local targets --> + </xsl:when> + <xsl:when test="starts-with(normalize-space($xrefstyle), 'select:') + and contains($xrefstyle, 'nopage')"> + <!-- negative xrefstyle in instance turns it off --> + </xsl:when> + <!-- positive xrefstyle already handles it --> + <xsl:when test="not(starts-with(normalize-space($xrefstyle), 'select:') + and (contains($xrefstyle, 'page') + or contains($xrefstyle, 'Page'))) + and ( $insert.xref.page.number = 'yes' + or $insert.xref.page.number = '1') + or (local-name($target) = 'para' and + $xrefstyle = '')"> + <xsl:apply-templates select="$target" mode="page.citation"> + <xsl:with-param name="id" select="$target/@id|$target/@xml:id"/> + </xsl:apply-templates> + </xsl:when> + </xsl:choose> +</xsl:template> + +<!-- ==================================================================== --> + +<!-- Handled largely like an xref --> +<!-- To be done: add support for begin, end, and units attributes --> +<xsl:template match="biblioref" name="biblioref"> + <xsl:variable name="targets" select="key('id',@linkend)"/> + <xsl:variable name="target" select="$targets[1]"/> + <xsl:variable name="refelem" select="local-name($target)"/> + + <xsl:call-template name="check.id.unique"> + <xsl:with-param name="linkend" select="@linkend"/> + </xsl:call-template> + + <xsl:choose> + <xsl:when test="$refelem=''"> + <xsl:message> + <xsl:text>XRef to nonexistent id: </xsl:text> + <xsl:value-of select="@linkend"/> + </xsl:message> + <xsl:text>???</xsl:text> + </xsl:when> + + <xsl:when test="@endterm"> + <fo:basic-link internal-destination="{@linkend}" + xsl:use-attribute-sets="xref.properties"> + <xsl:variable name="etargets" select="key('id',@endterm)"/> + <xsl:variable name="etarget" select="$etargets[1]"/> + <xsl:choose> + <xsl:when test="count($etarget) = 0"> + <xsl:message> + <xsl:value-of select="count($etargets)"/> + <xsl:text>Endterm points to nonexistent ID: </xsl:text> + <xsl:value-of select="@endterm"/> + </xsl:message> + <xsl:text>???</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="$etarget" mode="endterm"/> + </xsl:otherwise> + </xsl:choose> + </fo:basic-link> + </xsl:when> + + <xsl:when test="$target/@xreflabel"> + <fo:basic-link internal-destination="{@linkend}" + xsl:use-attribute-sets="xref.properties"> + <xsl:call-template name="xref.xreflabel"> + <xsl:with-param name="target" select="$target"/> + </xsl:call-template> + </fo:basic-link> + </xsl:when> + + <xsl:otherwise> + <xsl:if test="not(parent::citation)"> + <xsl:apply-templates select="$target" mode="xref-to-prefix"/> + </xsl:if> + + <fo:basic-link internal-destination="{@linkend}" + xsl:use-attribute-sets="xref.properties"> + <xsl:apply-templates select="$target" mode="xref-to"> + <xsl:with-param name="referrer" select="."/> + <xsl:with-param name="xrefstyle"> + <xsl:choose> + <xsl:when test="@role and not(@xrefstyle) and $use.role.as.xrefstyle != 0"> + <xsl:value-of select="@role"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="@xrefstyle"/> + </xsl:otherwise> + </xsl:choose> + </xsl:with-param> + </xsl:apply-templates> + </fo:basic-link> + + <xsl:if test="not(parent::citation)"> + <xsl:apply-templates select="$target" mode="xref-to-suffix"/> + </xsl:if> + </xsl:otherwise> + </xsl:choose> + +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="*" mode="endterm"> + <!-- Process the children of the endterm element --> + <xsl:variable name="endterm"> + <xsl:apply-templates select="child::node()"/> + </xsl:variable> + + <xsl:choose> + <xsl:when test="$exsl.node.set.available != 0"> + <xsl:apply-templates select="exsl:node-set($endterm)" mode="remove-ids"/> + </xsl:when> + <xsl:otherwise> + <xsl:copy-of select="$endterm"/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="*" mode="remove-ids"> + <xsl:copy> + <xsl:for-each select="@*"> + <xsl:choose> + <xsl:when test="name(.) != 'id'"> + <xsl:copy/> + </xsl:when> + <xsl:otherwise> + <xsl:message>removing <xsl:value-of select="name(.)"/></xsl:message> + </xsl:otherwise> + </xsl:choose> + </xsl:for-each> + <xsl:apply-templates mode="remove-ids"/> + </xsl:copy> +</xsl:template> + +<!--- ==================================================================== --> + +<xsl:template match="*" mode="xref-to-prefix"/> +<xsl:template match="*" mode="xref-to-suffix"/> + +<xsl:template match="*" mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="verbose" select="1"/> + + + <xsl:if test="$verbose != 0"> + <xsl:message> + <xsl:text>Don't know what gentext to create for xref to: "</xsl:text> + <xsl:value-of select="name(.)"/> + <xsl:text>"</xsl:text> + </xsl:message> + <xsl:text>???</xsl:text> + </xsl:if> +</xsl:template> + +<xsl:template match="title" mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="verbose" select="1"/> + + <!-- if you xref to a title, xref to the parent... --> + <xsl:choose> + <!-- FIXME: how reliable is this? --> + <xsl:when test="contains(local-name(parent::*), 'info')"> + <xsl:apply-templates select="parent::*[2]" mode="xref-to"> + <xsl:with-param name="referrer" select="$referrer"/> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="verbose" select="$verbose"/> + </xsl:apply-templates> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="parent::*" mode="xref-to"> + <xsl:with-param name="referrer" select="$referrer"/> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="verbose" select="$verbose"/> + </xsl:apply-templates> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="abstract|article|authorblurb|bibliodiv|bibliomset + |biblioset|blockquote|calloutlist|caution|colophon + |constraintdef|formalpara|glossdiv|important|indexdiv + |itemizedlist|legalnotice|lot|msg|msgexplan|msgmain + |msgrel|msgset|msgsub|note|orderedlist|partintro + |productionset|qandadiv|refsynopsisdiv|segmentedlist + |set|setindex|sidebar|tip|toc|variablelist|warning" + mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="verbose" select="1"/> + + <!-- catch-all for things with (possibly optional) titles --> + <xsl:apply-templates select="." mode="object.xref.markup"> + <xsl:with-param name="purpose" select="'xref'"/> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="referrer" select="$referrer"/> + <xsl:with-param name="verbose" select="$verbose"/> + </xsl:apply-templates> +</xsl:template> + +<xsl:template match="author|editor|othercredit|personname" mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="verbose" select="1"/> + + <xsl:call-template name="person.name"/> +</xsl:template> + +<xsl:template match="authorgroup" mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="verbose" select="1"/> + + <xsl:call-template name="person.name.list"/> +</xsl:template> + +<xsl:template match="figure|example|table|equation" mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="verbose" select="1"/> + + <xsl:apply-templates select="." mode="object.xref.markup"> + <xsl:with-param name="purpose" select="'xref'"/> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="referrer" select="$referrer"/> + <xsl:with-param name="verbose" select="$verbose"/> + </xsl:apply-templates> +</xsl:template> + +<xsl:template match="procedure" mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="verbose"/> + + <xsl:apply-templates select="." mode="object.xref.markup"> + <xsl:with-param name="purpose" select="'xref'"/> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="referrer" select="$referrer"/> + <xsl:with-param name="verbose" select="$verbose"/> + </xsl:apply-templates> +</xsl:template> + +<xsl:template match="task" mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="verbose"/> + + <xsl:apply-templates select="." mode="object.xref.markup"> + <xsl:with-param name="purpose" select="'xref'"/> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="referrer" select="$referrer"/> + <xsl:with-param name="verbose" select="$verbose"/> + </xsl:apply-templates> +</xsl:template> + +<xsl:template match="cmdsynopsis" mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="verbose" select="1"/> + + <xsl:apply-templates select="(.//command)[1]" mode="xref"/> +</xsl:template> + +<xsl:template match="funcsynopsis" mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="verbose" select="1"/> + + <xsl:apply-templates select="(.//function)[1]" mode="xref"/> +</xsl:template> + +<xsl:template match="dedication|acknowledgements|preface|chapter|appendix" mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="verbose" select="1"/> + + <xsl:apply-templates select="." mode="object.xref.markup"> + <xsl:with-param name="purpose" select="'xref'"/> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="referrer" select="$referrer"/> + <xsl:with-param name="verbose" select="$verbose"/> + </xsl:apply-templates> +</xsl:template> + +<xsl:template match="bibliography" mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="verbose" select="1"/> + + <xsl:apply-templates select="." mode="object.xref.markup"> + <xsl:with-param name="purpose" select="'xref'"/> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="referrer" select="$referrer"/> + <xsl:with-param name="verbose" select="$verbose"/> + </xsl:apply-templates> +</xsl:template> + +<xsl:template match="biblioentry|bibliomixed" mode="xref-to-prefix"> + <xsl:text>[</xsl:text> +</xsl:template> + +<xsl:template match="biblioentry|bibliomixed" mode="xref-to-suffix"> + <xsl:text>]</xsl:text> +</xsl:template> + +<xsl:template match="biblioentry|bibliomixed" mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="verbose" select="1"/> + + <!-- handles both biblioentry and bibliomixed --> + <xsl:choose> + <xsl:when test="string(.) = ''"> + <xsl:variable name="bib" select="document($bibliography.collection,.)"/> + <xsl:variable name="id" select="(@id|@xml:id)[1]"/> + <xsl:variable name="entry" select="$bib/bibliography/ + *[@id=$id or @xml:id=$id][1]"/> + <xsl:choose> + <xsl:when test="$entry"> + <xsl:choose> + <xsl:when test="$bibliography.numbered != 0"> + <xsl:number from="bibliography" count="biblioentry|bibliomixed" + level="any" format="1"/> + </xsl:when> + <xsl:when test="local-name($entry/*[1]) = 'abbrev'"> + <xsl:apply-templates select="$entry/*[1]"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="(@id|@xml:id)[1]"/> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:otherwise> + <xsl:message> + <xsl:text>No bibliography entry: </xsl:text> + <xsl:value-of select="$id"/> + <xsl:text> found in </xsl:text> + <xsl:value-of select="$bibliography.collection"/> + </xsl:message> + <xsl:value-of select="(@id|@xml:id)[1]"/> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:otherwise> + <xsl:choose> + <xsl:when test="$bibliography.numbered != 0"> + <xsl:number from="bibliography" count="biblioentry|bibliomixed" + level="any" format="1"/> + </xsl:when> + <xsl:when test="local-name(*[1]) = 'abbrev'"> + <xsl:apply-templates select="*[1]"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="(@id|@xml:id)[1]"/> + </xsl:otherwise> + </xsl:choose> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="glossary" mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="verbose" select="1"/> + + <xsl:apply-templates select="." mode="object.xref.markup"> + <xsl:with-param name="purpose" select="'xref'"/> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="referrer" select="$referrer"/> + <xsl:with-param name="verbose" select="$verbose"/> + </xsl:apply-templates> +</xsl:template> + +<xsl:template match="glossentry" mode="xref-to"> + <xsl:choose> + <xsl:when test="$glossentry.show.acronym = 'primary'"> + <xsl:choose> + <xsl:when test="acronym|abbrev"> + <xsl:apply-templates select="(acronym|abbrev)[1]"/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="glossterm[1]" mode="xref-to"/> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="glossterm[1]" mode="xref-to"/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="glossterm|firstterm" mode="xref-to"> + <xsl:apply-templates/> +</xsl:template> + +<xsl:template match="index" mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="verbose" select="1"/> + + <xsl:apply-templates select="." mode="object.xref.markup"> + <xsl:with-param name="purpose" select="'xref'"/> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="referrer" select="$referrer"/> + <xsl:with-param name="verbose" select="$verbose"/> + </xsl:apply-templates> +</xsl:template> + +<xsl:template match="listitem" mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="verbose" select="1"/> + + <xsl:apply-templates select="." mode="object.xref.markup"> + <xsl:with-param name="purpose" select="'xref'"/> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="referrer" select="$referrer"/> + <xsl:with-param name="verbose" select="$verbose"/> + </xsl:apply-templates> +</xsl:template> + +<xsl:template match="section|simplesect + |sect1|sect2|sect3|sect4|sect5 + |refsect1|refsect2|refsect3|refsection" mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="verbose" select="1"/> + + <xsl:apply-templates select="." mode="object.xref.markup"> + <xsl:with-param name="purpose" select="'xref'"/> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="referrer" select="$referrer"/> + <xsl:with-param name="verbose" select="$verbose"/> + </xsl:apply-templates> + <!-- What about "in Chapter X"? --> +</xsl:template> + +<xsl:template match="bridgehead" mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="verbose" select="1"/> + + <xsl:apply-templates select="." mode="object.xref.markup"> + <xsl:with-param name="purpose" select="'xref'"/> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="referrer" select="$referrer"/> + <xsl:with-param name="verbose" select="$verbose"/> + </xsl:apply-templates> + <!-- What about "in Chapter X"? --> +</xsl:template> + +<xsl:template match="qandaset" mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="verbose" select="1"/> + + <xsl:apply-templates select="." mode="object.xref.markup"> + <xsl:with-param name="purpose" select="'xref'"/> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="referrer" select="$referrer"/> + <xsl:with-param name="verbose" select="$verbose"/> + </xsl:apply-templates> +</xsl:template> + +<xsl:template match="qandadiv" mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="verbose" select="1"/> + + <xsl:apply-templates select="." mode="object.xref.markup"> + <xsl:with-param name="purpose" select="'xref'"/> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="referrer" select="$referrer"/> + <xsl:with-param name="verbose" select="$verbose"/> + </xsl:apply-templates> +</xsl:template> + +<xsl:template match="qandaentry" mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="verbose" select="1"/> + + <xsl:apply-templates select="question[1]" mode="xref-to"> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="referrer" select="$referrer"/> + <xsl:with-param name="verbose" select="$verbose"/> + </xsl:apply-templates> +</xsl:template> + +<xsl:template match="question|answer" mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="verbose" select="1"/> + + <xsl:choose> + <xsl:when test="string-length(label) != 0"> + <xsl:apply-templates select="." mode="label.markup"/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="." mode="object.xref.markup"> + <xsl:with-param name="purpose" select="'xref'"/> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="referrer" select="$referrer"/> + <xsl:with-param name="verbose" select="$verbose"/> + </xsl:apply-templates> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="part|reference" mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="verbose" select="1"/> + + <xsl:apply-templates select="." mode="object.xref.markup"> + <xsl:with-param name="purpose" select="'xref'"/> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="referrer" select="$referrer"/> + <xsl:with-param name="verbose" select="$verbose"/> + </xsl:apply-templates> +</xsl:template> + +<xsl:template match="refentry" mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="verbose" select="1"/> + + <xsl:choose> + <xsl:when test="refmeta/refentrytitle"> + <xsl:apply-templates select="refmeta/refentrytitle"/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="refnamediv/refname[1]"/> + </xsl:otherwise> + </xsl:choose> + <xsl:apply-templates select="refmeta/manvolnum"/> +</xsl:template> + +<xsl:template match="refnamediv" mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="verbose" select="1"/> + + <xsl:apply-templates select="refname[1]" mode="xref-to"> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="referrer" select="$referrer"/> + <xsl:with-param name="verbose" select="$verbose"/> + </xsl:apply-templates> +</xsl:template> + +<xsl:template match="refname" mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="verbose" select="1"/> + + <xsl:apply-templates mode="xref-to"> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="referrer" select="$referrer"/> + <xsl:with-param name="verbose" select="$verbose"/> + </xsl:apply-templates> +</xsl:template> + +<xsl:template match="step" mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="verbose" select="1"/> + + <xsl:call-template name="gentext"> + <xsl:with-param name="key" select="'Step'"/> + </xsl:call-template> + <xsl:text> </xsl:text> + <xsl:apply-templates select="." mode="number"/> +</xsl:template> + +<xsl:template match="varlistentry" mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="verbose" select="1"/> + + <xsl:apply-templates select="term[1]" mode="xref-to"> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="referrer" select="$referrer"/> + <xsl:with-param name="verbose" select="$verbose"/> + </xsl:apply-templates> +</xsl:template> + +<xsl:template match="varlistentry/term" mode="xref-to"> + <xsl:param name="verbose" select="1"/> + <!-- to avoid the comma that will be generated if there are several terms --> + <xsl:apply-templates/> +</xsl:template> + +<xsl:template match="co" mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="verbose" select="1"/> + + <xsl:apply-templates select="." mode="callout-bug"/> +</xsl:template> + +<xsl:template match="area|areaset" mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + + <xsl:call-template name="callout-bug"> + <xsl:with-param name="conum"> + <xsl:apply-templates select="." mode="conumber"/> + </xsl:with-param> + </xsl:call-template> +</xsl:template> + +<xsl:template match="book" mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="verbose" select="1"/> + + <xsl:apply-templates select="." mode="object.xref.markup"> + <xsl:with-param name="purpose" select="'xref'"/> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="referrer" select="$referrer"/> + <xsl:with-param name="verbose" select="$verbose"/> + </xsl:apply-templates> +</xsl:template> + +<!-- These are elements for which no link text exists, so an xref to one + uses the xrefstyle attribute if specified, or if not it falls back + to the container element's link text --> +<xsl:template match="para|phrase|simpara|anchor|quote" mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="verbose"/> + + <xsl:variable name="context" select="(ancestor::simplesect + |ancestor::section + |ancestor::sect1 + |ancestor::sect2 + |ancestor::sect3 + |ancestor::sect4 + |ancestor::sect5 + |ancestor::refsection + |ancestor::refsect1 + |ancestor::refsect2 + |ancestor::refsect3 + |ancestor::chapter + |ancestor::appendix + |ancestor::preface + |ancestor::partintro + |ancestor::dedication + |ancestor::acknowledgements + |ancestor::colophon + |ancestor::bibliography + |ancestor::index + |ancestor::glossary + |ancestor::glossentry + |ancestor::listitem + |ancestor::varlistentry)[last()]"/> + + <xsl:choose> + <xsl:when test="$xrefstyle != ''"> + <xsl:apply-templates select="." mode="object.xref.markup"> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="referrer" select="$referrer"/> + <xsl:with-param name="verbose" select="$verbose"/> + </xsl:apply-templates> + </xsl:when> + <xsl:otherwise> + <xsl:if test="$verbose != 0"> + <xsl:message> + <xsl:text>WARNING: xref to <</xsl:text> + <xsl:value-of select="local-name()"/> + <xsl:text> id="</xsl:text> + <xsl:value-of select="@id|@xml:id"/> + <xsl:text>"> has no generated text. Trying its ancestor elements.</xsl:text> + </xsl:message> + </xsl:if> + <xsl:apply-templates select="$context" mode="xref-to"> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="referrer" select="$referrer"/> + <xsl:with-param name="verbose" select="$verbose"/> + </xsl:apply-templates> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="indexterm" mode="xref-to"> + <xsl:value-of select="primary"/> +</xsl:template> + +<xsl:template match="primary|secondary|tertiary" mode="xref-to"> + <xsl:value-of select="."/> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="link" name="link"> + <xsl:param name="linkend" select="@linkend"/> + <xsl:param name="targets" select="key('id',$linkend)"/> + <xsl:param name="target" select="$targets[1]"/> + + <xsl:variable name="xrefstyle"> + <xsl:choose> + <xsl:when test="@role and not(@xrefstyle) + and $use.role.as.xrefstyle != 0"> + <xsl:value-of select="@role"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="@xrefstyle"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:variable name="content"> + <fo:inline xsl:use-attribute-sets="xref.properties"> + <xsl:choose> + <xsl:when test="count(child::node()) > 0"> + <!-- If it has content, use it --> + <xsl:apply-templates/> + </xsl:when> + <!-- look for an endterm --> + <xsl:when test="@endterm"> + <xsl:variable name="etargets" select="key('id',@endterm)"/> + <xsl:variable name="etarget" select="$etargets[1]"/> + <xsl:choose> + <xsl:when test="count($etarget) = 0"> + <xsl:message> + <xsl:value-of select="count($etargets)"/> + <xsl:text>Endterm points to nonexistent ID: </xsl:text> + <xsl:value-of select="@endterm"/> + </xsl:message> + <xsl:text>???</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="$etarget" mode="endterm"/> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <!-- Use the xlink:href if no other text --> + <xsl:when test="@xlink:href"> + <xsl:call-template name="hyphenate-url"> + <xsl:with-param name="url" select="@xlink:href"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:message> + <xsl:text>Link element has no content and no Endterm. </xsl:text> + <xsl:text>Nothing to show in the link to </xsl:text> + <xsl:value-of select="$target"/> + </xsl:message> + <xsl:text>???</xsl:text> + </xsl:otherwise> + </xsl:choose> + </fo:inline> + </xsl:variable> + + <xsl:call-template name="simple.xlink"> + <xsl:with-param name="node" select="."/> + <xsl:with-param name="linkend" select="$linkend"/> + <xsl:with-param name="content" select="$content"/> + </xsl:call-template> + + <!-- Add standard page reference? --> + <xsl:choose> + <!-- page numbering on link only enabled for @linkend --> + <!-- There is no link element in DB5 with xlink:href --> + <xsl:when test="not($linkend)"> + </xsl:when> + <!-- negative xrefstyle in instance turns it off --> + <xsl:when test="starts-with(normalize-space($xrefstyle), 'select:') + and contains($xrefstyle, 'nopage')"> + </xsl:when> + <xsl:when test="(starts-with(normalize-space($xrefstyle), 'select:') + and $insert.link.page.number = 'maybe' + and (contains($xrefstyle, 'page') + or contains($xrefstyle, 'Page'))) + or ( $insert.link.page.number = 'yes' + or $insert.link.page.number = '1') + or local-name($target) = 'para'"> + <xsl:apply-templates select="$target" mode="page.citation"> + <xsl:with-param name="id" select="$linkend"/> + </xsl:apply-templates> + </xsl:when> + </xsl:choose> +</xsl:template> + +<xsl:template match="ulink" name="ulink"> + <xsl:param name="url" select="@url"/> + + <xsl:variable name ="ulink.url"> + <xsl:call-template name="fo-external-image"> + <xsl:with-param name="filename" select="$url"/> + </xsl:call-template> + </xsl:variable> + + <fo:basic-link xsl:use-attribute-sets="xref.properties" + external-destination="{$ulink.url}"> + <xsl:choose> + <xsl:when test="count(child::node())=0 or (string(.) = $url)"> + <xsl:call-template name="hyphenate-url"> + <xsl:with-param name="url" select="$url"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates/> + </xsl:otherwise> + </xsl:choose> + </fo:basic-link> + <!-- * Call the template for determining whether the URL for this --> + <!-- * hyperlink is displayed, and how to display it (either inline or --> + <!-- * as a numbered footnote). --> + <xsl:call-template name="hyperlink.url.display"> + <xsl:with-param name="url" select="$url"/> + <xsl:with-param name="ulink.url" select="$ulink.url"/> + </xsl:call-template> +</xsl:template> + +<xsl:template name="hyperlink.url.display"> + <!-- * This template is called for all external hyperlinks (ulinks and --> + <!-- * for all simple xlinks); it determines whether the URL for the --> + <!-- * hyperlink is displayed, and how to display it (either inline or --> + <!-- * as a numbered footnote). --> + <xsl:param name="url"/> + <xsl:param name="ulink.url"> + <!-- * ulink.url is just the value of the URL wrapped in 'url(...)' --> + <xsl:call-template name="fo-external-image"> + <xsl:with-param name="filename" select="$url"/> + </xsl:call-template> + </xsl:param> + + <xsl:if test="count(child::node()) != 0 + and string(.) != $url + and $ulink.show != 0"> + <!-- * Display the URL for this hyperlink only if it is non-empty, --> + <!-- * and the value of its content is not a URL that is the same as --> + <!-- * URL it links to, and if ulink.show is non-zero. --> + <xsl:choose> + <xsl:when test="$ulink.footnotes != 0 and not(ancestor::footnote)"> + <!-- * ulink.show and ulink.footnote are both non-zero; that --> + <!-- * means we display the URL as a footnote (instead of inline) --> + <fo:footnote> + <xsl:call-template name="ulink.footnote.number"/> + <fo:footnote-body xsl:use-attribute-sets="footnote.properties"> + <fo:block> + <xsl:call-template name="ulink.footnote.number"/> + <xsl:text> </xsl:text> + <fo:basic-link external-destination="{$ulink.url}"> + <xsl:value-of select="$url"/> + </fo:basic-link> + </fo:block> + </fo:footnote-body> + </fo:footnote> + </xsl:when> + <xsl:otherwise> + <!-- * ulink.show is non-zero, but ulink.footnote is not; that --> + <!-- * means we display the URL inline --> + <fo:inline hyphenate="false"> + <!-- * put square brackets around the URL --> + <xsl:text> [</xsl:text> + <fo:basic-link external-destination="{$ulink.url}"> + <xsl:call-template name="hyphenate-url"> + <xsl:with-param name="url" select="$url"/> + </xsl:call-template> + </fo:basic-link> + <xsl:text>]</xsl:text> + </fo:inline> + </xsl:otherwise> + </xsl:choose> + </xsl:if> + +</xsl:template> + +<xsl:template name="ulink.footnote.number"> + <fo:inline xsl:use-attribute-sets="footnote.mark.properties"> + <xsl:choose> + <xsl:when test="$fop.extensions != 0"> + <xsl:attribute name="vertical-align">super</xsl:attribute> + </xsl:when> + <xsl:otherwise> + <xsl:attribute name="baseline-shift">super</xsl:attribute> + </xsl:otherwise> + </xsl:choose> + <xsl:variable name="fnum"> + <!-- * Determine the footnote number to display for this hyperlink, --> + <!-- * by counting all foonotes, ulinks, and any elements that have --> + <!-- * an xlink:href attribute that meets the following criteria: --> + <!-- * --> + <!-- * - the content of the element is not a URI that is the same --> + <!-- * URI as the value of the href attribute --> + <!-- * - the href attribute is not an internal ID reference (does --> + <!-- * not start with a hash sign) --> + <!-- * - the href is not part of an olink reference (the element --> + <!-- * - does not have an xlink:role attribute that indicates it is --> + <!-- * an olink, and the href does not contain a hash sign) --> + <!-- * - the element either has no xlink:type attribute or has --> + <!-- * an xlink:type attribute whose value is 'simple' --> + <!-- FIXME: list in @from is probably not complete --> + <xsl:number level="any" + from="chapter|appendix|preface|article|refentry|bibliography[not(parent::article)]" + count="footnote[not(@label)][not(ancestor::tgroup)] + |ulink[node()][@url != .][not(ancestor::footnote)] + |*[node()][@xlink:href][not(@xlink:href = .)][not(starts-with(@xlink:href,'#'))] + [not(contains(@xlink:href,'#') and @xlink:role = $xolink.role)] + [not(@xlink:type) or @xlink:type='simple'] + [not(ancestor::footnote)]" + format="1"/> + </xsl:variable> + <xsl:choose> + <xsl:when test="string-length($footnote.number.symbols) >= $fnum"> + <xsl:value-of select="substring($footnote.number.symbols, $fnum, 1)"/> + </xsl:when> + <xsl:otherwise> + <xsl:number value="$fnum" format="{$footnote.number.format}"/> + </xsl:otherwise> + </xsl:choose> + </fo:inline> +</xsl:template> + +<xsl:template name="hyphenate-url"> + <xsl:param name="url" select="''"/> + <xsl:choose> + <xsl:when test="$ulink.hyphenate = ''"> + <xsl:value-of select="$url"/> + </xsl:when> + <xsl:when test="string-length($url) > 1"> + <xsl:variable name="char" select="substring($url, 1, 1)"/> + <xsl:value-of select="$char"/> + <xsl:if test="contains($ulink.hyphenate.chars, $char)"> + <!-- Do not hyphen in-between // --> + <xsl:if test="not($char = '/' and substring($url,2,1) = '/')"> + <xsl:copy-of select="$ulink.hyphenate"/> + </xsl:if> + </xsl:if> + <!-- recurse to the next character --> + <xsl:call-template name="hyphenate-url"> + <xsl:with-param name="url" select="substring($url, 2)"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$url"/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="olink" name="olink"> + <!-- olink content may be passed in from xlink olink --> + <xsl:param name="content" select="NOTANELEMENT"/> + + <xsl:variable name="localinfo" select="@localinfo"/> + + <xsl:choose> + <!-- olinks resolved by stylesheet and target database --> + <xsl:when test="@targetdoc or @targetptr or + (@xlink:role=$xolink.role and + contains(@xlink:href, '#') )" > + + <xsl:variable name="targetdoc.att"> + <xsl:choose> + <xsl:when test="@targetdoc != ''"> + <xsl:value-of select="@targetdoc"/> + </xsl:when> + <xsl:when test="@xlink:role=$xolink.role and + contains(@xlink:href, '#')" > + <xsl:value-of select="substring-before(@xlink:href, '#')"/> + </xsl:when> + </xsl:choose> + </xsl:variable> + + <xsl:variable name="targetptr.att"> + <xsl:choose> + <xsl:when test="@targetptr != ''"> + <xsl:value-of select="@targetptr"/> + </xsl:when> + <xsl:when test="@xlink:role=$xolink.role and + contains(@xlink:href, '#')" > + <xsl:value-of select="substring-after(@xlink:href, '#')"/> + </xsl:when> + </xsl:choose> + </xsl:variable> + + <xsl:variable name="olink.lang"> + <xsl:call-template name="l10n.language"> + <xsl:with-param name="xref-context" select="true()"/> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="target.database.filename"> + <xsl:call-template name="select.target.database"> + <xsl:with-param name="targetdoc.att" select="$targetdoc.att"/> + <xsl:with-param name="targetptr.att" select="$targetptr.att"/> + <xsl:with-param name="olink.lang" select="$olink.lang"/> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="target.database" + select="document($target.database.filename, /)"/> + + <xsl:if test="$olink.debug != 0"> + <xsl:message> + <xsl:text>Olink debug: root element of target.database is '</xsl:text> + <xsl:value-of select="local-name($target.database/*[1])"/> + <xsl:text>'.</xsl:text> + </xsl:message> + </xsl:if> + + <xsl:variable name="olink.key"> + <xsl:call-template name="select.olink.key"> + <xsl:with-param name="targetdoc.att" select="$targetdoc.att"/> + <xsl:with-param name="targetptr.att" select="$targetptr.att"/> + <xsl:with-param name="olink.lang" select="$olink.lang"/> + <xsl:with-param name="target.database" select="$target.database"/> + </xsl:call-template> + </xsl:variable> + + <xsl:if test="string-length($olink.key) = 0"> + <xsl:message> + <xsl:text>Error: unresolved olink: </xsl:text> + <xsl:text>targetdoc/targetptr = '</xsl:text> + <xsl:value-of select="$targetdoc.att"/> + <xsl:text>/</xsl:text> + <xsl:value-of select="$targetptr.att"/> + <xsl:text>'.</xsl:text> + </xsl:message> + </xsl:if> + + <xsl:variable name="href"> + <xsl:call-template name="make.olink.href"> + <xsl:with-param name="olink.key" select="$olink.key"/> + <xsl:with-param name="target.database" select="$target.database"/> + </xsl:call-template> + </xsl:variable> + + <!-- Olink that points to internal id can be a link --> + <xsl:variable name="linkend"> + <xsl:call-template name="olink.as.linkend"> + <xsl:with-param name="olink.key" select="$olink.key"/> + <xsl:with-param name="olink.lang" select="$olink.lang"/> + <xsl:with-param name="target.database" select="$target.database"/> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="hottext"> + <xsl:choose> + <xsl:when test="string-length($content) != 0"> + <xsl:copy-of select="$content"/> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="olink.hottext"> + <xsl:with-param name="olink.key" select="$olink.key"/> + <xsl:with-param name="olink.lang" select="$olink.lang"/> + <xsl:with-param name="target.database" select="$target.database"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:variable name="olink.docname.citation"> + <xsl:call-template name="olink.document.citation"> + <xsl:with-param name="olink.key" select="$olink.key"/> + <xsl:with-param name="target.database" select="$target.database"/> + <xsl:with-param name="olink.lang" select="$olink.lang"/> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="olink.page.citation"> + <xsl:call-template name="olink.page.citation"> + <xsl:with-param name="olink.key" select="$olink.key"/> + <xsl:with-param name="target.database" select="$target.database"/> + <xsl:with-param name="olink.lang" select="$olink.lang"/> + <xsl:with-param name="linkend" select="$linkend"/> + </xsl:call-template> + </xsl:variable> + + <xsl:choose> + <xsl:when test="$linkend != ''"> + <fo:basic-link internal-destination="{$linkend}" + xsl:use-attribute-sets="xref.properties"> + <xsl:call-template name="anchor"/> + <xsl:copy-of select="$hottext"/> + <xsl:copy-of select="$olink.page.citation"/> + </fo:basic-link> + </xsl:when> + <xsl:when test="$href != ''"> + <xsl:choose> + <xsl:when test="$fop1.extensions != 0"> + <xsl:variable name="mybeg" select="substring-before($href,'#')"/> + <xsl:variable name="myend" select="substring-after($href,'#')"/> + <fo:basic-link external-destination="url({concat($mybeg,'#dest=',$myend)})" + xsl:use-attribute-sets="olink.properties"> + <xsl:copy-of select="$hottext"/> + </fo:basic-link> + <xsl:copy-of select="$olink.page.citation"/> + <xsl:copy-of select="$olink.docname.citation"/> + </xsl:when> + <xsl:when test="$xep.extensions != 0"> + <fo:basic-link external-destination="url({$href})" + xsl:use-attribute-sets="olink.properties"> + <xsl:call-template name="anchor"/> + <xsl:copy-of select="$hottext"/> + </fo:basic-link> + <xsl:copy-of select="$olink.page.citation"/> + <xsl:copy-of select="$olink.docname.citation"/> + </xsl:when> + <xsl:when test="$axf.extensions != 0"> + <fo:basic-link external-destination="{$href}" + xsl:use-attribute-sets="olink.properties"> + <xsl:copy-of select="$hottext"/> + </fo:basic-link> + <xsl:copy-of select="$olink.page.citation"/> + <xsl:copy-of select="$olink.docname.citation"/> + </xsl:when> + <xsl:otherwise> + <fo:basic-link external-destination="{$href}" + xsl:use-attribute-sets="olink.properties"> + <xsl:copy-of select="$hottext"/> + </fo:basic-link> + <xsl:copy-of select="$olink.page.citation"/> + <xsl:copy-of select="$olink.docname.citation"/> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:otherwise> + <xsl:copy-of select="$hottext"/> + <xsl:copy-of select="$olink.page.citation"/> + <xsl:copy-of select="$olink.docname.citation"/> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + + <!-- olink never implemented in FO for old olink entity syntax --> + <xsl:otherwise> + <xsl:apply-templates/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="*" mode="insert.olink.docname.markup"> + <xsl:param name="docname" select="''"/> + + <fo:inline font-style="italic"> + <xsl:value-of select="$docname"/> + </fo:inline> + +</xsl:template> + +<!-- This prevents error message when processing olinks with xrefstyle --> +<xsl:template match="olink" mode="object.xref.template"/> + + +<xsl:template name="olink.as.linkend"> + <xsl:param name="olink.key" select="''"/> + <xsl:param name="olink.lang" select="''"/> + <xsl:param name="target.database" select="NotANode"/> + + <xsl:variable name="targetdoc"> + <xsl:value-of select="substring-before($olink.key, '/')"/> + </xsl:variable> + + <xsl:variable name="targetptr"> + <xsl:value-of + select="substring-before(substring-after($olink.key, '/'), '/')"/> + </xsl:variable> + + <xsl:variable name="target.lang"> + <xsl:variable name="candidate"> + <xsl:for-each select="$target.database" > + <xsl:value-of + select="key('targetptr-key', $olink.key)[1]/@lang" /> + </xsl:for-each> + </xsl:variable> + <xsl:choose> + <xsl:when test="$candidate != ''"> + <xsl:value-of select="$candidate"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$olink.lang"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:if test="$current.docid = $targetdoc and + $olink.lang = $target.lang"> + <xsl:variable name="targets" select="key('id',$targetptr)"/> + <xsl:variable name="target" select="$targets[1]"/> + <xsl:if test="$target"> + <xsl:value-of select="$targetptr"/> + </xsl:if> + </xsl:if> + +</xsl:template> + + +<xsl:template name="olink.outline"> + <xsl:param name="outline.base.uri"/> + <xsl:param name="localinfo"/> + <xsl:param name="return" select="href"/> + + <xsl:message terminate="yes">Fatal error: olink.outline template: what is this supposed to do?</xsl:message> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template name="title.xref"> + <xsl:param name="target" select="."/> + <xsl:choose> + <xsl:when test="local-name($target) = 'figure' + or local-name($target) = 'example' + or local-name($target) = 'equation' + or local-name($target) = 'table' + or local-name($target) = 'dedication' + or local-name($target) = 'acknowledgements' + or local-name($target) = 'preface' + or local-name($target) = 'bibliography' + or local-name($target) = 'glossary' + or local-name($target) = 'index' + or local-name($target) = 'setindex' + or local-name($target) = 'colophon'"> + <xsl:call-template name="gentext.startquote"/> + <xsl:apply-templates select="$target" mode="title.markup"/> + <xsl:call-template name="gentext.endquote"/> + </xsl:when> + <xsl:otherwise> + <fo:inline font-style="italic"> + <xsl:apply-templates select="$target" mode="title.markup"/> + </fo:inline> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template name="number.xref"> + <xsl:param name="target" select="."/> + <xsl:apply-templates select="$target" mode="label.markup"/> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template name="xref.xreflabel"> + <!-- called to process an xreflabel...you might use this to make --> + <!-- xreflabels come out in the right font for different targets, --> + <!-- for example. --> + <xsl:param name="target" select="."/> + <xsl:value-of select="$target/@xreflabel"/> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="title" mode="xref"> + <xsl:apply-templates/> +</xsl:template> + +<xsl:template match="command" mode="xref"> + <xsl:call-template name="inline.boldseq"/> +</xsl:template> + +<xsl:template match="function" mode="xref"> + <xsl:call-template name="inline.monoseq"/> +</xsl:template> + +<xsl:template match="*" mode="page.citation"> + <xsl:param name="id" select="'???'"/> + + <fo:basic-link internal-destination="{$id}" + xsl:use-attribute-sets="xref.properties"> + <fo:inline keep-together.within-line="always"> + <xsl:call-template name="substitute-markup"> + <xsl:with-param name="template"> + <xsl:call-template name="gentext.template"> + <xsl:with-param name="name" select="'page.citation'"/> + <xsl:with-param name="context" select="'xref'"/> + </xsl:call-template> + </xsl:with-param> + </xsl:call-template> + </fo:inline> + </fo:basic-link> +</xsl:template> + +<xsl:template match="*" mode="pagenumber.markup"> + <xsl:variable name="id"> + <xsl:call-template name="object.id"/> + </xsl:variable> + <fo:page-number-citation ref-id="{$id}"/> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="*" mode="insert.title.markup"> + <xsl:param name="purpose"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="title"/> + + <xsl:choose> + <!-- FIXME: what about the case where titleabbrev is inside the info? --> + <xsl:when test="$purpose = 'xref' and titleabbrev"> + <xsl:apply-templates select="." mode="titleabbrev.markup"/> + </xsl:when> + <xsl:otherwise> + <xsl:copy-of select="$title"/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="chapter|appendix" mode="insert.title.markup"> + <xsl:param name="purpose"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="title"/> + + <xsl:choose> + <xsl:when test="$purpose = 'xref'"> + <fo:inline font-style="italic"> + <xsl:copy-of select="$title"/> + </fo:inline> + </xsl:when> + <xsl:otherwise> + <xsl:copy-of select="$title"/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="*" mode="insert.subtitle.markup"> + <xsl:param name="purpose"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="subtitle"/> + + <xsl:copy-of select="$subtitle"/> +</xsl:template> + +<xsl:template match="*" mode="insert.label.markup"> + <xsl:param name="purpose"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="label"/> + + <xsl:copy-of select="$label"/> +</xsl:template> + +<xsl:template match="*" mode="insert.pagenumber.markup"> + <xsl:param name="purpose"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="pagenumber"/> + + <xsl:copy-of select="$pagenumber"/> +</xsl:template> + +<xsl:template match="*" mode="insert.direction.markup"> + <xsl:param name="purpose"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="direction"/> + + <xsl:copy-of select="$direction"/> +</xsl:template> + +<xsl:template match="olink" mode="pagenumber.markup"> + <!-- Local olinks can use page-citation --> + <xsl:variable name="targetdoc.att" select="@targetdoc"/> + <xsl:variable name="targetptr.att" select="@targetptr"/> + + <xsl:variable name="olink.lang"> + <xsl:call-template name="l10n.language"> + <xsl:with-param name="xref-context" select="true()"/> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="target.database.filename"> + <xsl:call-template name="select.target.database"> + <xsl:with-param name="targetdoc.att" select="$targetdoc.att"/> + <xsl:with-param name="targetptr.att" select="$targetptr.att"/> + <xsl:with-param name="olink.lang" select="$olink.lang"/> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="target.database" + select="document($target.database.filename, /)"/> + + <xsl:if test="$olink.debug != 0"> + <xsl:message> + <xsl:text>Olink debug: root element of target.database is '</xsl:text> + <xsl:value-of select="local-name($target.database/*[1])"/> + <xsl:text>'.</xsl:text> + </xsl:message> + </xsl:if> + + <xsl:variable name="olink.key"> + <xsl:call-template name="select.olink.key"> + <xsl:with-param name="targetdoc.att" select="$targetdoc.att"/> + <xsl:with-param name="targetptr.att" select="$targetptr.att"/> + <xsl:with-param name="olink.lang" select="$olink.lang"/> + <xsl:with-param name="target.database" select="$target.database"/> + </xsl:call-template> + </xsl:variable> + + <!-- Olink that points to internal id can be a link --> + <xsl:variable name="linkend"> + <xsl:call-template name="olink.as.linkend"> + <xsl:with-param name="olink.key" select="$olink.key"/> + <xsl:with-param name="olink.lang" select="$olink.lang"/> + <xsl:with-param name="target.database" select="$target.database"/> + </xsl:call-template> + </xsl:variable> + + <xsl:choose> + <xsl:when test="$linkend != ''"> + <fo:page-number-citation ref-id="{$linkend}"/> + </xsl:when> + <xsl:otherwise> + <xsl:message> + <xsl:text>Olink error: no page number linkend for local olink '</xsl:text> + <xsl:value-of select="$olink.key"/> + <xsl:text>'</xsl:text> + </xsl:message> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +</xsl:stylesheet> diff --git a/doc/help/xslt/highlighting/README b/doc/help/xslt/highlighting/README new file mode 100644 index 00000000..0b31d32f --- /dev/null +++ b/doc/help/xslt/highlighting/README @@ -0,0 +1,16 @@ +To use the syntax higlighting extension with DocBook-XSL 1.74.3+, you must: +1. Use a processor that works with the extension: Saxon 6 or Xalan-J. +2. Add the latest version of xslthl-2.X.X.jar to your classpath. +3. Set the highlight.source parameter to 1. +4. Import into your customization one of the following stylesheet module: + * html/highlight.xsl + * xhtml/highlight.xsl + * xhtml-1_1/highlight.xsl + * fo/highlight.xsl +5. Use that customiztion layer. + + +Note: Saxon 8.5 or later is also supported, but since it is an XSLT 2.0 +processor it is not guaranteed to work with DocBook-XSL in all +circumstances. + diff --git a/doc/help/xslt/highlighting/c-hl.xml b/doc/help/xslt/highlighting/c-hl.xml new file mode 100644 index 00000000..1503dd1d --- /dev/null +++ b/doc/help/xslt/highlighting/c-hl.xml @@ -0,0 +1,101 @@ +<?xml version="1.0" encoding="UTF-8"?> + <!-- + Syntax highlighting definition for C xslthl - XSLT Syntax Highlighting http://sourceforge.net/projects/xslthl/ + Copyright (C) 2005-2008 Michal Molhanec, Jirka Kosek, Michiel Hendriks This software is provided 'as-is', without any + express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this + software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and + to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not + be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an + acknowledgment in the product documentation would be appreciated but is not required. 2. Altered source versions must + be plainly marked as such, and must not be misrepresented as being the original software. 3. This notice may not be + removed or altered from any source distribution. Michal Molhanec <mol1111 at users.sourceforge.net> Jirka Kosek <kosek + at users.sourceforge.net> Michiel Hendriks <elmuerte at users.sourceforge.net> + --> +<highlighters> + <highlighter type="multiline-comment"> + <start>/**</start> + <end>*/</end> + <style>doccomment</style> + </highlighter> + <highlighter type="oneline-comment"> + <start>///</start> + <style>doccomment</style> + </highlighter> + <highlighter type="multiline-comment"> + <start>/*</start> + <end>*/</end> + </highlighter> + <highlighter type="oneline-comment">//</highlighter> + <highlighter type="oneline-comment"> + <!-- use the online-comment highlighter to detect directives --> + <start>#</start> + <lineBreakEscape>\</lineBreakEscape> + <style>directive</style> + </highlighter> + <highlighter type="string"> + <string>"</string> + <escape>\</escape> + </highlighter> + <highlighter type="string"> + <string>'</string> + <escape>\</escape> + </highlighter> + <highlighter type="hexnumber"> + <prefix>0x</prefix> + <suffix>ul</suffix> + <suffix>lu</suffix> + <suffix>u</suffix> + <suffix>l</suffix> + <ignoreCase /> + </highlighter> + <highlighter type="number"> + <point>.</point> + <pointStarts /> + <exponent>e</exponent> + <suffix>ul</suffix> + <suffix>lu</suffix> + <suffix>u</suffix> + <suffix>f</suffix> + <suffix>l</suffix> + <ignoreCase /> + </highlighter> + <highlighter type="keywords"> + <keyword>auto</keyword> + <keyword>_Bool</keyword> + <keyword>break</keyword> + <keyword>case</keyword> + <keyword>char</keyword> + <keyword>_Complex</keyword> + <keyword>const</keyword> + <keyword>continue</keyword> + <keyword>default</keyword> + <keyword>do</keyword> + <keyword>double</keyword> + <keyword>else</keyword> + <keyword>enum</keyword> + <keyword>extern</keyword> + <keyword>float</keyword> + <keyword>for</keyword> + <keyword>goto</keyword> + <keyword>if</keyword> + <keyword>_Imaginary</keyword> + <keyword>inline</keyword> + <keyword>int</keyword> + <keyword>long</keyword> + <keyword>register</keyword> + <keyword>restrict</keyword> + <keyword>return</keyword> + <keyword>short</keyword> + <keyword>signed</keyword> + <keyword>sizeof</keyword> + <keyword>static</keyword> + <keyword>struct</keyword> + <keyword>switch</keyword> + <keyword>typedef</keyword> + <keyword>union</keyword> + <keyword>unsigned</keyword> + <keyword>void</keyword> + <keyword>volatile</keyword> + <keyword>while</keyword> + </highlighter> +</highlighters> \ No newline at end of file diff --git a/doc/help/xslt/highlighting/common.xsl b/doc/help/xslt/highlighting/common.xsl new file mode 100644 index 00000000..e9b56508 --- /dev/null +++ b/doc/help/xslt/highlighting/common.xsl @@ -0,0 +1,120 @@ +<?xml version='1.0'?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + + xmlns:s6hl="http://net.sf.xslthl/ConnectorSaxon6" + xmlns:sbhl="http://net.sf.xslthl/ConnectorSaxonB" + xmlns:xhl="http://net.sf.xslthl/ConnectorXalan" + xmlns:saxon6="http://icl.com/saxon" + xmlns:saxonb="http://saxon.sf.net/" + xmlns:xalan="http://xml.apache.org/xalan" + + xmlns:exsl="http://exslt.org/common" + xmlns:xslthl="http://xslthl.sf.net" + exclude-result-prefixes="exsl xslthl s6hl sbhl xhl" + version='1.0'> + +<!-- ******************************************************************** + $Id: common.xsl 8257 2009-02-20 04:40:16Z abdelazer $ + ******************************************************************** + + This file is part of the XSL DocBook Stylesheet distribution. + See ../README or http://docbook.sf.net/release/xsl/current/ for + and other information. + + ******************************************************************** --> + +<!-- this construction is needed to have the saxon and xalan connectors working alongside each other --> +<xalan:component prefix="xhl" functions="highlight"> + <xalan:script lang="javaclass" src="xalan://net.sf.xslthl.ConnectorXalan" /> +</xalan:component> + +<!-- for saxon 6 --> +<saxon6:script implements-prefix="s6hl" language="java" src="java:net.sf.xslthl.ConnectorSaxon6" /> + +<!-- for saxon 8.5 and later --> +<saxonb:script implements-prefix="sbhl" language="java" src="java:net.sf.xslthl.ConnectorSaxonB" /> + + +<!-- You can override this template to do more complex mapping of + language attribute to highlighter language ID (see xslthl-config.xml) --> +<xsl:template name="language.to.xslthl"> + <xsl:param name="context"/> + + <xsl:choose> + <xsl:when test="$context/@language != ''"> + <xsl:value-of select="$context/@language"/> + </xsl:when> + <xsl:when test="$highlight.default.language != ''"> + <xsl:value-of select="$highlight.default.language"/> + </xsl:when> + </xsl:choose> +</xsl:template> + +<xsl:template name="apply-highlighting"> + <xsl:choose> + <!-- Do we want syntax highlighting --> + <xsl:when test="$highlight.source != 0"> + <xsl:variable name="language"> + <xsl:call-template name="language.to.xslthl"> + <xsl:with-param name="context" select="."/> + </xsl:call-template> + </xsl:variable> + <xsl:choose> + <xsl:when test="$language != ''"> + <xsl:variable name="content"> + <xsl:apply-templates/> + </xsl:variable> + <xsl:choose> + <xsl:when test="function-available('s6hl:highlight')"> + <xsl:apply-templates select="s6hl:highlight($language, exsl:node-set($content), $highlight.xslthl.config)" + mode="xslthl"/> + </xsl:when> + <xsl:when test="function-available('sbhl:highlight')"> + <xsl:apply-templates select="sbhl:highlight($language, exsl:node-set($content), $highlight.xslthl.config)" + mode="xslthl"/> + </xsl:when> + <xsl:when test="function-available('xhl:highlight')"> + <xsl:apply-templates select="xhl:highlight($language, exsl:node-set($content), $highlight.xslthl.config)" + mode="xslthl"/> + </xsl:when> + <xsl:otherwise> + <xsl:copy-of select="$content"/> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates/> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <!-- No syntax highlighting --> + <xsl:otherwise> + <xsl:apply-templates/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<!-- A fallback when the specific style isn't recognized --> +<xsl:template match="xslthl:*" mode="xslthl"> + <xsl:message> + <xsl:text>unprocessed xslthl style: </xsl:text> + <xsl:value-of select="local-name(.)" /> + </xsl:message> + <xsl:apply-templates mode="xslthl"/> +</xsl:template> + +<!-- Copy over already produced markup (FO/HTML) --> +<xsl:template match="node()" mode="xslthl" priority="-1"> + <xsl:copy> + <xsl:apply-templates select="node()" mode="xslthl"/> + </xsl:copy> +</xsl:template> + +<xsl:template match="*" mode="xslthl"> + <xsl:copy> + <xsl:copy-of select="@*"/> + <xsl:apply-templates select="node()" mode="xslthl"/> + </xsl:copy> +</xsl:template> + +</xsl:stylesheet> diff --git a/doc/help/xslt/highlighting/cpp-hl.xml b/doc/help/xslt/highlighting/cpp-hl.xml new file mode 100644 index 00000000..db57d5e7 --- /dev/null +++ b/doc/help/xslt/highlighting/cpp-hl.xml @@ -0,0 +1,150 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + +Syntax highlighting definition for C++ + +xslthl - XSLT Syntax Highlighting +http://sourceforge.net/projects/xslthl/ +Copyright (C) 2005-2008 Michal Molhanec, Jirka Kosek, Michiel Hendriks + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. + +Michal Molhanec <mol1111 at users.sourceforge.net> +Jirka Kosek <kosek at users.sourceforge.net> +Michiel Hendriks <elmuerte at users.sourceforge.net> + +--> +<highlighters> + <highlighter type="multiline-comment"> + <start>/**</start> + <end>*/</end> + <style>doccomment</style> + </highlighter> + <highlighter type="oneline-comment"> + <start>///</start> + <style>doccomment</style> + </highlighter> + <highlighter type="multiline-comment"> + <start>/*</start> + <end>*/</end> + </highlighter> + <highlighter type="oneline-comment">//</highlighter> + <highlighter type="oneline-comment"> + <!-- use the online-comment highlighter to detect directives --> + <start>#</start> + <lineBreakEscape>\</lineBreakEscape> + <style>directive</style> + </highlighter> + <highlighter type="string"> + <string>"</string> + <escape>\</escape> + </highlighter> + <highlighter type="string"> + <string>'</string> + <escape>\</escape> + </highlighter> + <highlighter type="hexnumber"> + <prefix>0x</prefix> + <suffix>ul</suffix> + <suffix>lu</suffix> + <suffix>u</suffix> + <suffix>l</suffix> + <ignoreCase /> + </highlighter> + <highlighter type="number"> + <point>.</point> + <pointStarts /> + <exponent>e</exponent> + <suffix>ul</suffix> + <suffix>lu</suffix> + <suffix>u</suffix> + <suffix>f</suffix> + <suffix>l</suffix> + <ignoreCase /> + </highlighter> + <highlighter type="keywords"> + <!-- C keywords --> + <keyword>auto</keyword> + <keyword>_Bool</keyword> + <keyword>break</keyword> + <keyword>case</keyword> + <keyword>char</keyword> + <keyword>_Complex</keyword> + <keyword>const</keyword> + <keyword>continue</keyword> + <keyword>default</keyword> + <keyword>do</keyword> + <keyword>double</keyword> + <keyword>else</keyword> + <keyword>enum</keyword> + <keyword>extern</keyword> + <keyword>float</keyword> + <keyword>for</keyword> + <keyword>goto</keyword> + <keyword>if</keyword> + <keyword>_Imaginary</keyword> + <keyword>inline</keyword> + <keyword>int</keyword> + <keyword>long</keyword> + <keyword>register</keyword> + <keyword>restrict</keyword> + <keyword>return</keyword> + <keyword>short</keyword> + <keyword>signed</keyword> + <keyword>sizeof</keyword> + <keyword>static</keyword> + <keyword>struct</keyword> + <keyword>switch</keyword> + <keyword>typedef</keyword> + <keyword>union</keyword> + <keyword>unsigned</keyword> + <keyword>void</keyword> + <keyword>volatile</keyword> + <keyword>while</keyword> + <!-- C++ keywords --> + <keyword>asm</keyword> + <keyword>dynamic_cast</keyword> + <keyword>namespace</keyword> + <keyword>reinterpret_cast</keyword> + <keyword>try</keyword> + <keyword>bool</keyword> + <keyword>explicit</keyword> + <keyword>new</keyword> + <keyword>static_cast</keyword> + <keyword>typeid</keyword> + <keyword>catch</keyword> + <keyword>false</keyword> + <keyword>operator</keyword> + <keyword>template</keyword> + <keyword>typename</keyword> + <keyword>class</keyword> + <keyword>friend</keyword> + <keyword>private</keyword> + <keyword>this</keyword> + <keyword>using</keyword> + <keyword>const_cast</keyword> + <keyword>inline</keyword> + <keyword>public</keyword> + <keyword>throw</keyword> + <keyword>virtual</keyword> + <keyword>delete</keyword> + <keyword>mutable</keyword> + <keyword>protected</keyword> + <keyword>true</keyword> + <keyword>wchar_t</keyword> + </highlighter> +</highlighters> \ No newline at end of file diff --git a/doc/help/xslt/highlighting/csharp-hl.xml b/doc/help/xslt/highlighting/csharp-hl.xml new file mode 100644 index 00000000..99c2e3e6 --- /dev/null +++ b/doc/help/xslt/highlighting/csharp-hl.xml @@ -0,0 +1,187 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + +Syntax highlighting definition for C# + +xslthl - XSLT Syntax Highlighting +http://sourceforge.net/projects/xslthl/ +Copyright (C) 2005-2008 Michal Molhanec, Jirka Kosek, Michiel Hendriks + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. + +Michal Molhanec <mol1111 at users.sourceforge.net> +Jirka Kosek <kosek at users.sourceforge.net> +Michiel Hendriks <elmuerte at users.sourceforge.net> + +--> +<highlighters> + <highlighter type="multiline-comment"> + <start>/**</start> + <end>*/</end> + <style>doccomment</style> + </highlighter> + <highlighter type="oneline-comment"> + <start>///</start> + <style>doccomment</style> + </highlighter> + <highlighter type="multiline-comment"> + <start>/*</start> + <end>*/</end> + </highlighter> + <highlighter type="oneline-comment">//</highlighter> + <highlighter type="annotation"> + <!-- annotations are called (custom) "attributes" in .NET --> + <start>[</start> + <end>]</end> + <valueStart>(</valueStart> + <valueEnd>)</valueEnd> + </highlighter> + <highlighter type="oneline-comment"> + <!-- C# supports a couple of directives --> + <start>#</start> + <lineBreakEscape>\</lineBreakEscape> + <style>directive</style> + </highlighter> + <highlighter type="string"> + <!-- strings starting with an "@" can span multiple lines --> + <string>@"</string> + <endString>"</endString> + <escape>\</escape> + <spanNewLines /> + </highlighter> + <highlighter type="string"> + <string>"</string> + <escape>\</escape> + </highlighter> + <highlighter type="string"> + <string>'</string> + <escape>\</escape> + </highlighter> + <highlighter type="hexnumber"> + <prefix>0x</prefix> + <suffix>ul</suffix> + <suffix>lu</suffix> + <suffix>u</suffix> + <suffix>l</suffix> + <ignoreCase /> + </highlighter> + <highlighter type="number"> + <point>.</point> + <pointStarts /> + <exponent>e</exponent> + <suffix>ul</suffix> + <suffix>lu</suffix> + <suffix>u</suffix> + <suffix>f</suffix> + <suffix>d</suffix> + <suffix>m</suffix> + <suffix>l</suffix> + <ignoreCase /> + </highlighter> + <highlighter type="keywords"> + <keyword>abstract</keyword> + <keyword>as</keyword> + <keyword>base</keyword> + <keyword>bool</keyword> + <keyword>break</keyword> + <keyword>byte</keyword> + <keyword>case</keyword> + <keyword>catch</keyword> + <keyword>char</keyword> + <keyword>checked</keyword> + <keyword>class</keyword> + <keyword>const</keyword> + <keyword>continue</keyword> + <keyword>decimal</keyword> + <keyword>default</keyword> + <keyword>delegate</keyword> + <keyword>do</keyword> + <keyword>double</keyword> + <keyword>else</keyword> + <keyword>enum</keyword> + <keyword>event</keyword> + <keyword>explicit</keyword> + <keyword>extern</keyword> + <keyword>false</keyword> + <keyword>finally</keyword> + <keyword>fixed</keyword> + <keyword>float</keyword> + <keyword>for</keyword> + <keyword>foreach</keyword> + <keyword>goto</keyword> + <keyword>if</keyword> + <keyword>implicit</keyword> + <keyword>in</keyword> + <keyword>int</keyword> + <keyword>interface</keyword> + <keyword>internal</keyword> + <keyword>is</keyword> + <keyword>lock</keyword> + <keyword>long</keyword> + <keyword>namespace</keyword> + <keyword>new</keyword> + <keyword>null</keyword> + <keyword>object</keyword> + <keyword>operator</keyword> + <keyword>out</keyword> + <keyword>override</keyword> + <keyword>params</keyword> + <keyword>private</keyword> + <keyword>protected</keyword> + <keyword>public</keyword> + <keyword>readonly</keyword> + <keyword>ref</keyword> + <keyword>return</keyword> + <keyword>sbyte</keyword> + <keyword>sealed</keyword> + <keyword>short</keyword> + <keyword>sizeof</keyword> + <keyword>stackalloc</keyword> + <keyword>static</keyword> + <keyword>string</keyword> + <keyword>struct</keyword> + <keyword>switch</keyword> + <keyword>this</keyword> + <keyword>throw</keyword> + <keyword>true</keyword> + <keyword>try</keyword> + <keyword>typeof</keyword> + <keyword>uint</keyword> + <keyword>ulong</keyword> + <keyword>unchecked</keyword> + <keyword>unsafe</keyword> + <keyword>ushort</keyword> + <keyword>using</keyword> + <keyword>virtual</keyword> + <keyword>void</keyword> + <keyword>volatile</keyword> + <keyword>while</keyword> + </highlighter> + <highlighter type="keywords"> + <!-- special words, not really keywords --> + <keyword>add</keyword> + <keyword>alias</keyword> + <keyword>get</keyword> + <keyword>global</keyword> + <keyword>partial</keyword> + <keyword>remove</keyword> + <keyword>set</keyword> + <keyword>value</keyword> + <keyword>where</keyword> + <keyword>yield</keyword> + </highlighter> +</highlighters> \ No newline at end of file diff --git a/doc/help/xslt/highlighting/delphi-hl.xml b/doc/help/xslt/highlighting/delphi-hl.xml new file mode 100644 index 00000000..d5b4d1a0 --- /dev/null +++ b/doc/help/xslt/highlighting/delphi-hl.xml @@ -0,0 +1,200 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + +Syntax highlighting definition for Delphi (also suitable for Pascal) + +xslthl - XSLT Syntax Highlighting +http://sourceforge.net/projects/xslthl/ +Copyright (C) 2005-2008 Michal Molhanec, Jirka Kosek, Michiel Hendriks + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. + +Michal Molhanec <mol1111 at users.sourceforge.net> +Jirka Kosek <kosek at users.sourceforge.net> +Michiel Hendriks <elmuerte at users.sourceforge.net> + +--> +<highlighters> + <highlighter type="multiline-comment"> + <!-- multiline comments starting with an $ are directives --> + <start>{$</start> + <end>}</end> + <style>directive</style> + </highlighter> + <highlighter type="multiline-comment"> + <!-- multiline comments starting with an $ are directives --> + <start>(*$</start> + <end>)</end> + <style>directive</style> + </highlighter> + <highlighter type="multiline-comment"> + <start>{</start> + <end>}</end> + </highlighter> + <highlighter type="multiline-comment"> + <start>(*</start> + <end>*)</end> + </highlighter> + <highlighter type="oneline-comment">//</highlighter> + <highlighter type="string"> + <string>'</string> + <doubleEscapes /> + </highlighter> + <highlighter type="hexnumber"> + <prefix>#$</prefix> + <ignoreCase /> + <style>string</style> + </highlighter> + <highlighter type="number"> + <prefix>#</prefix> + <ignoreCase /> + <style>string</style> + </highlighter> + <highlighter type="hexnumber"> + <prefix>$</prefix> + <ignoreCase /> + </highlighter> + <highlighter type="number"> + <point>.</point> + <exponent>e</exponent> + <ignoreCase /> + </highlighter> + <highlighter type="keywords"> + <!-- Reserved words --> + <keyword>and</keyword> + <keyword>else</keyword> + <keyword>inherited</keyword> + <keyword>packed</keyword> + <keyword>then</keyword> + <keyword>array</keyword> + <keyword>end</keyword> + <keyword>initialization</keyword> + <keyword>procedure</keyword> + <keyword>threadvar</keyword> + <keyword>as</keyword> + <keyword>except</keyword> + <keyword>inline</keyword> + <keyword>program</keyword> + <keyword>to</keyword> + <keyword>asm</keyword> + <keyword>exports</keyword> + <keyword>interface</keyword> + <keyword>property</keyword> + <keyword>try</keyword> + <keyword>begin</keyword> + <keyword>file</keyword> + <keyword>is</keyword> + <keyword>raise</keyword> + <keyword>type</keyword> + <keyword>case</keyword> + <keyword>final</keyword> + <keyword>label</keyword> + <keyword>record</keyword> + <keyword>unit</keyword> + <keyword>class</keyword> + <keyword>finalization</keyword> + <keyword>library</keyword> + <keyword>repeat</keyword> + <keyword>unsafe</keyword> + <keyword>const</keyword> + <keyword>finally</keyword> + <keyword>mod</keyword> + <keyword>resourcestring</keyword> + <keyword>until</keyword> + <keyword>constructor</keyword> + <keyword>for</keyword> + <keyword>nil</keyword> + <keyword>sealed</keyword> + <keyword>uses</keyword> + <keyword>destructor</keyword> + <keyword>function</keyword> + <keyword>not</keyword> + <keyword>set</keyword> + <keyword>var</keyword> + <keyword>dispinterface</keyword> + <keyword>goto</keyword> + <keyword>object</keyword> + <keyword>shl</keyword> + <keyword>while</keyword> + <keyword>div</keyword> + <keyword>if</keyword> + <keyword>of</keyword> + <keyword>shr</keyword> + <keyword>with</keyword> + <keyword>do</keyword> + <keyword>implementation</keyword> + <keyword>or</keyword> + <keyword>static</keyword> + <keyword>xor</keyword> + <keyword>downto</keyword> + <keyword>in</keyword> + <keyword>out</keyword> + <keyword>string</keyword> + + <!-- Special meaning --> + <keyword>at</keyword> + <keyword>on</keyword> + + <!-- Directives --> + <keyword>absolute</keyword> + <keyword>dynamic</keyword> + <keyword>local</keyword> + <keyword>platform</keyword> + <keyword>requires</keyword> + <keyword>abstract</keyword> + <keyword>export</keyword> + <keyword>message</keyword> + <keyword>private</keyword> + <keyword>resident</keyword> + <keyword>assembler</keyword> + <keyword>external</keyword> + <keyword>name</keyword> + <keyword>protected</keyword> + <keyword>safecall</keyword> + <keyword>automated</keyword> + <keyword>far</keyword> + <keyword>near</keyword> + <keyword>public</keyword> + <keyword>stdcall</keyword> + <keyword>cdecl</keyword> + <keyword>forward</keyword> + <keyword>nodefault</keyword> + <keyword>published</keyword> + <keyword>stored</keyword> + <keyword>contains</keyword> + <keyword>implements</keyword> + <keyword>overload</keyword> + <keyword>read</keyword> + <keyword>varargs</keyword> + <keyword>default</keyword> + <keyword>index</keyword> + <keyword>override</keyword> + <keyword>readonly</keyword> + <keyword>virtual</keyword> + <keyword>deprecated</keyword> + <keyword>inline</keyword> + <keyword>package</keyword> + <keyword>register</keyword> + <keyword>write</keyword> + <keyword>dispid</keyword> + <keyword>library</keyword> + <keyword>pascal</keyword> + <keyword>reintroduce</keyword> + <keyword>writeonly</keyword> + <ignoreCase /> + </highlighter> +</highlighters> \ No newline at end of file diff --git a/doc/help/xslt/highlighting/ini-hl.xml b/doc/help/xslt/highlighting/ini-hl.xml new file mode 100644 index 00000000..8a938f30 --- /dev/null +++ b/doc/help/xslt/highlighting/ini-hl.xml @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + +Syntax highlighting definition for ini files + +xslthl - XSLT Syntax Highlighting +http://sourceforge.net/projects/xslthl/ +Copyright (C) 2005-2008 Michal Molhanec, Jirka Kosek, Michiel Hendriks + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. + +Michal Molhanec <mol1111 at users.sourceforge.net> +Jirka Kosek <kosek at users.sourceforge.net> +Michiel Hendriks <elmuerte at users.sourceforge.net> + +--> +<highlighters> + <highlighter type="oneline-comment">;</highlighter> + <highlighter type="regex"> + <!-- ini sections --> + <pattern>^(\[.+\]\s*)$</pattern> + <style>keyword</style> + <flags>MULTILINE</flags> + </highlighter> + <highlighter type="regex"> + <!-- the keys in an ini section --> + <pattern>^(.+)(?==)</pattern> + <style>attribute</style> + <flags>MULTILINE</flags> + </highlighter> +</highlighters> \ No newline at end of file diff --git a/doc/help/xslt/highlighting/java-hl.xml b/doc/help/xslt/highlighting/java-hl.xml new file mode 100644 index 00000000..672d518b --- /dev/null +++ b/doc/help/xslt/highlighting/java-hl.xml @@ -0,0 +1,117 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + +Syntax highlighting definition for Java + +xslthl - XSLT Syntax Highlighting +http://sourceforge.net/projects/xslthl/ +Copyright (C) 2005-2008 Michal Molhanec, Jirka Kosek, Michiel Hendriks + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. + +Michal Molhanec <mol1111 at users.sourceforge.net> +Jirka Kosek <kosek at users.sourceforge.net> +Michiel Hendriks <elmuerte at users.sourceforge.net> + +--> +<highlighters> + <highlighter type="multiline-comment"> + <start>/**</start> + <end>*/</end> + <style>doccomment</style> + </highlighter> + <highlighter type="multiline-comment"> + <start>/*</start> + <end>*/</end> + </highlighter> + <highlighter type="oneline-comment">//</highlighter> + <highlighter type="string"> + <string>"</string> + <escape>\</escape> + </highlighter> + <highlighter type="string"> + <string>'</string> + <escape>\</escape> + </highlighter> + <highlighter type="annotation"> + <start>@</start> + <valueStart>(</valueStart> + <valueEnd>)</valueEnd> + </highlighter> + <highlighter type="hexnumber"> + <prefix>0x</prefix> + <ignoreCase /> + </highlighter> + <highlighter type="number"> + <point>.</point> + <exponent>e</exponent> + <suffix>f</suffix> + <suffix>d</suffix> + <suffix>l</suffix> + <ignoreCase /> + </highlighter> + <highlighter type="keywords"> + <keyword>abstract</keyword> + <keyword>boolean</keyword> + <keyword>break</keyword> + <keyword>byte</keyword> + <keyword>case</keyword> + <keyword>catch</keyword> + <keyword>char</keyword> + <keyword>class</keyword> + <keyword>const</keyword> + <keyword>continue</keyword> + <keyword>default</keyword> + <keyword>do</keyword> + <keyword>double</keyword> + <keyword>else</keyword> + <keyword>extends</keyword> + <keyword>final</keyword> + <keyword>finally</keyword> + <keyword>float</keyword> + <keyword>for</keyword> + <keyword>goto</keyword> + <keyword>if</keyword> + <keyword>implements</keyword> + <keyword>import</keyword> + <keyword>instanceof</keyword> + <keyword>int</keyword> + <keyword>interface</keyword> + <keyword>long</keyword> + <keyword>native</keyword> + <keyword>new</keyword> + <keyword>package</keyword> + <keyword>private</keyword> + <keyword>protected</keyword> + <keyword>public</keyword> + <keyword>return</keyword> + <keyword>short</keyword> + <keyword>static</keyword> + <keyword>strictfp</keyword> + <keyword>super</keyword> + <keyword>switch</keyword> + <keyword>synchronized</keyword> + <keyword>this</keyword> + <keyword>throw</keyword> + <keyword>throws</keyword> + <keyword>transient</keyword> + <keyword>try</keyword> + <keyword>void</keyword> + <keyword>volatile</keyword> + <keyword>while</keyword> + </highlighter> +</highlighters> \ No newline at end of file diff --git a/doc/help/xslt/highlighting/javascript-hl.xml b/doc/help/xslt/highlighting/javascript-hl.xml new file mode 100644 index 00000000..08c90ba5 --- /dev/null +++ b/doc/help/xslt/highlighting/javascript-hl.xml @@ -0,0 +1,147 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + +Syntax highlighting definition for JavaScript + +xslthl - XSLT Syntax Highlighting +http://sourceforge.net/projects/xslthl/ +Copyright (C) 2005-2008 Michal Molhanec, Jirka Kosek, Michiel Hendriks + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. + +Michal Molhanec <mol1111 at users.sourceforge.net> +Jirka Kosek <kosek at users.sourceforge.net> +Michiel Hendriks <elmuerte at users.sourceforge.net> + +--> +<highlighters> + <highlighter type="multiline-comment"> + <start>/*</start> + <end>*/</end> + </highlighter> + <highlighter type="oneline-comment">//</highlighter> + <highlighter type="string"> + <string>"</string> + <escape>\</escape> + </highlighter> + <highlighter type="string"> + <string>'</string> + <escape>\</escape> + </highlighter> + <highlighter type="hexnumber"> + <prefix>0x</prefix> + <ignoreCase /> + </highlighter> + <highlighter type="number"> + <point>.</point> + <exponent>e</exponent> + <ignoreCase /> + </highlighter> + <highlighter type="keywords"> + <keyword>break</keyword> + <keyword>case</keyword> + <keyword>catch</keyword> + <keyword>continue</keyword> + <keyword>default</keyword> + <keyword>delete</keyword> + <keyword>do</keyword> + <keyword>else</keyword> + <keyword>finally</keyword> + <keyword>for</keyword> + <keyword>function</keyword> + <keyword>if</keyword> + <keyword>in</keyword> + <keyword>instanceof</keyword> + <keyword>new</keyword> + <keyword>return</keyword> + <keyword>switch</keyword> + <keyword>this</keyword> + <keyword>throw</keyword> + <keyword>try</keyword> + <keyword>typeof</keyword> + <keyword>var</keyword> + <keyword>void</keyword> + <keyword>while</keyword> + <keyword>with</keyword> + <!-- future keywords --> + <keyword>abstract</keyword> + <keyword>boolean</keyword> + <keyword>byte</keyword> + <keyword>char</keyword> + <keyword>class</keyword> + <keyword>const</keyword> + <keyword>debugger</keyword> + <keyword>double</keyword> + <keyword>enum</keyword> + <keyword>export</keyword> + <keyword>extends</keyword> + <keyword>final</keyword> + <keyword>float</keyword> + <keyword>goto</keyword> + <keyword>implements</keyword> + <keyword>import</keyword> + <keyword>int</keyword> + <keyword>interface</keyword> + <keyword>long</keyword> + <keyword>native</keyword> + <keyword>package</keyword> + <keyword>private</keyword> + <keyword>protected</keyword> + <keyword>public</keyword> + <keyword>short</keyword> + <keyword>static</keyword> + <keyword>super</keyword> + <keyword>synchronized</keyword> + <keyword>throws</keyword> + <keyword>transient</keyword> + <keyword>volatile</keyword> + </highlighter> + <highlighter type="keywords"> + <keyword>prototype</keyword> + <!-- Global Objects --> + <keyword>Array</keyword> + <keyword>Boolean</keyword> + <keyword>Date</keyword> + <keyword>Error</keyword> + <keyword>EvalError</keyword> + <keyword>Function</keyword> + <keyword>Math</keyword> + <keyword>Number</keyword> + <keyword>Object</keyword> + <keyword>RangeError</keyword> + <keyword>ReferenceError</keyword> + <keyword>RegExp</keyword> + <keyword>String</keyword> + <keyword>SyntaxError</keyword> + <keyword>TypeError</keyword> + <keyword>URIError</keyword> + <!-- Global functions --> + <keyword>decodeURI</keyword> + <keyword>decodeURIComponent</keyword> + <keyword>encodeURI</keyword> + <keyword>encodeURIComponent</keyword> + <keyword>eval</keyword> + <keyword>isFinite</keyword> + <keyword>isNaN</keyword> + <keyword>parseFloat</keyword> + <keyword>parseInt</keyword> + <!-- Global properties --> + <keyword>Infinity</keyword> + <keyword>NaN</keyword> + <keyword>undefined</keyword> + </highlighter> +</highlighters> \ No newline at end of file diff --git a/doc/help/xslt/highlighting/m2-hl.xml b/doc/help/xslt/highlighting/m2-hl.xml new file mode 100644 index 00000000..b145f744 --- /dev/null +++ b/doc/help/xslt/highlighting/m2-hl.xml @@ -0,0 +1,90 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + +Syntax highlighting definition for Modulo-2 + +xslthl - XSLT Syntax Highlighting +http://sourceforge.net/projects/xslthl/ +Copyright (C) 2005-2008 Michal Molhanec, Jirka Kosek, Michiel Hendriks + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. + +Michal Molhanec <mol1111 at users.sourceforge.net> +Jirka Kosek <kosek at users.sourceforge.net> +Michiel Hendriks <elmuerte at users.sourceforge.net> + +--> +<highlighters> + <highlighter type="nested-multiline-comment"> + <start>(*</start> + <end>*)</end> + </highlighter> + <highlighter type="string"> + <string>"</string> + </highlighter> + <highlighter type="string"> + <string>'</string> + </highlighter> + <highlighter type="number"> + <point>.</point> + <exponent>e</exponent> + <ignoreCase /> + </highlighter> + <highlighter type="keywords"> + <keyword>and</keyword> + <keyword>array</keyword> + <keyword>begin</keyword> + <keyword>by</keyword> + <keyword>case</keyword> + <keyword>const</keyword> + <keyword>definition</keyword> + <keyword>div</keyword> + <keyword>do</keyword> + <keyword>else</keyword> + <keyword>elsif</keyword> + <keyword>end</keyword> + <keyword>exit</keyword> + <keyword>export</keyword> + <keyword>for</keyword> + <keyword>from</keyword> + <keyword>if</keyword> + <keyword>implementation</keyword> + <keyword>import</keyword> + <keyword>in</keyword> + <keyword>loop</keyword> + <keyword>mod</keyword> + <keyword>module</keyword> + <keyword>not</keyword> + <keyword>of</keyword> + <keyword>or</keyword> + <keyword>pointer</keyword> + <keyword>procedure</keyword> + <keyword>qualified</keyword> + <keyword>record</keyword> + <keyword>repeat</keyword> + <keyword>return</keyword> + <keyword>set</keyword> + <keyword>then</keyword> + <keyword>to</keyword> + <keyword>type</keyword> + <keyword>until</keyword> + <keyword>var</keyword> + <keyword>while</keyword> + <keyword>with</keyword> + <ignoreCase /> + </highlighter> +</highlighters> \ No newline at end of file diff --git a/doc/help/xslt/highlighting/myxml-hl.xml b/doc/help/xslt/highlighting/myxml-hl.xml new file mode 100644 index 00000000..afa4be71 --- /dev/null +++ b/doc/help/xslt/highlighting/myxml-hl.xml @@ -0,0 +1,116 @@ +<?xml version='1.0'?> +<!-- + + Bakalarska prace: Zvyraznovani syntaxe v XSLT + Michal Molhanec 2005 + + myxml-hl.xml - konfigurace zvyraznovace XML, ktera zvlast zvyrazni + HTML elementy a XSL elementy + +--> +<highlighters> + +<wholehighlighter type='xml'> + <elementSet> + <style>html</style> + <element>A</element> + <element>ABBR</element> + <element>ACRONYM</element> + <element>ADDRESS</element> + <element>APPLET</element> + <element>AREA</element> + <element>B</element> + <element>BASE</element> + <element>BASEFONT</element> + <element>BDO</element> + <element>BIG</element> + <element>BLOCKQUOTE</element> + <element>BODY</element> + <element>BR</element> + <element>BUTTON</element> + <element>CAPTION</element> + <element>CENTER</element> + <element>CITE</element> + <element>CODE</element> + <element>COL</element> + <element>COLGROUP</element> + <element>DD</element> + <element>DEL</element> + <element>DFN</element> + <element>DIR</element> + <element>DIV</element> + <element>DL</element> + <element>DT</element> + <element>EM</element> + <element>FIELDSET</element> + <element>FONT</element> + <element>FORM</element> + <element>FRAME</element> + <element>FRAMESET</element> + <element>H1</element> + <element>H2</element> + <element>H3</element> + <element>H4</element> + <element>H5</element> + <element>H6</element> + <element>HEAD</element> + <element>HR</element> + <element>HTML</element> + <element>I</element> + <element>IFRAME</element> + <element>IMG</element> + <element>INPUT</element> + <element>INS</element> + <element>ISINDEX</element> + <element>KBD</element> + <element>LABEL</element> + <element>LEGEND</element> + <element>LI</element> + <element>LINK</element> + <element>MAP</element> + <element>MENU</element> + <element>META</element> + <element>NOFRAMES</element> + <element>NOSCRIPT</element> + <element>OBJECT</element> + <element>OL</element> + <element>OPTGROUP</element> + <element>OPTION</element> + <element>P</element> + <element>PARAM</element> + <element>PRE</element> + <element>Q</element> + <element>S</element> + <element>SAMP</element> + <element>SCRIPT</element> + <element>SELECT</element> + <element>SMALL</element> + <element>SPAN</element> + <element>STRIKE</element> + <element>STRONG</element> + <element>STYLE</element> + <element>SUB</element> + <element>SUP</element> + <element>TABLE</element> + <element>TBODY</element> + <element>TD</element> + <element>TEXTAREA</element> + <element>TFOOT</element> + <element>TH</element> + <element>THEAD</element> + <element>TITLE</element> + <element>TR</element> + <element>TT</element> + <element>U</element> + <element>UL</element> + <element>VAR</element> + <element>XMP</element> + <ignoreCase/> + </elementSet> + <elementPrefix> + <style>xslt</style> + <prefix>xsl:</prefix> + </elementPrefix> +</wholehighlighter> + +</highlighters> \ No newline at end of file diff --git a/doc/help/xslt/highlighting/perl-hl.xml b/doc/help/xslt/highlighting/perl-hl.xml new file mode 100644 index 00000000..da1924ae --- /dev/null +++ b/doc/help/xslt/highlighting/perl-hl.xml @@ -0,0 +1,120 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + +Syntax highlighting definition for Perl + +xslthl - XSLT Syntax Highlighting +http://sourceforge.net/projects/xslthl/ +Copyright (C) 2005-2008 Michal Molhanec, Jirka Kosek, Michiel Hendriks + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. + +Michal Molhanec <mol1111 at users.sourceforge.net> +Jirka Kosek <kosek at users.sourceforge.net> +Michiel Hendriks <elmuerte at users.sourceforge.net> + +--> +<highlighters> + <highlighter type="oneline-comment">#</highlighter> + <highlighter type="heredoc"> + <start><<</start> + <quote>'</quote> + <quote>"</quote> + <noWhiteSpace/> + </highlighter> + <highlighter type="string"> + <string>"</string> + <escape>\</escape> + </highlighter> + <highlighter type="string"> + <string>'</string> + <escape>\</escape> + <spanNewLines/> + </highlighter> + <highlighter type="hexnumber"> + <prefix>0x</prefix> + <ignoreCase /> + </highlighter> + <highlighter type="number"> + <point>.</point> + <pointStarts /> + <ignoreCase /> + </highlighter> + <highlighter type="keywords"> + <keyword>if</keyword> + <keyword>unless</keyword> + <keyword>while</keyword> + <keyword>until</keyword> + <keyword>foreach</keyword> + <keyword>else</keyword> + <keyword>elsif</keyword> + <keyword>for</keyword> + <keyword>when</keyword> + <keyword>default</keyword> + <keyword>given</keyword> + <!-- Keywords related to the control flow of your perl program --> + <keyword>caller</keyword> + <keyword>continue</keyword> + <keyword>die</keyword> + <keyword>do</keyword> + <keyword>dump</keyword> + <keyword>eval</keyword> + <keyword>exit</keyword> + <keyword>goto</keyword> + <keyword>last</keyword> + <keyword>next</keyword> + <keyword>redo</keyword> + <keyword>return</keyword> + <keyword>sub</keyword> + <keyword>wantarray</keyword> + <!-- Keywords related to scoping --> + <keyword>caller</keyword> + <keyword>import</keyword> + <keyword>local</keyword> + <keyword>my</keyword> + <keyword>package</keyword> + <keyword>use</keyword> + <!-- Keywords related to perl modules --> + <keyword>do</keyword> + <keyword>import</keyword> + <keyword>no</keyword> + <keyword>package</keyword> + <keyword>require</keyword> + <keyword>use</keyword> + <!-- Keywords related to classes and object-orientedness --> + <keyword>bless</keyword> + <keyword>dbmclose</keyword> + <keyword>dbmopen</keyword> + <keyword>package</keyword> + <keyword>ref</keyword> + <keyword>tie</keyword> + <keyword>tied</keyword> + <keyword>untie</keyword> + <keyword>use</keyword> + <!-- operators --> + <keyword>and</keyword> + <keyword>or</keyword> + <keyword>not</keyword> + <keyword>eq</keyword> + <keyword>ne</keyword> + <keyword>lt</keyword> + <keyword>gt</keyword> + <keyword>le</keyword> + <keyword>ge</keyword> + <keyword>cmp</keyword> + </highlighter> +</highlighters> \ No newline at end of file diff --git a/doc/help/xslt/highlighting/php-hl.xml b/doc/help/xslt/highlighting/php-hl.xml new file mode 100644 index 00000000..4a702252 --- /dev/null +++ b/doc/help/xslt/highlighting/php-hl.xml @@ -0,0 +1,149 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + +Syntax highlighting definition for PHP + +xslthl - XSLT Syntax Highlighting +http://sourceforge.net/projects/xslthl/ +Copyright (C) 2005-2008 Michal Molhanec, Jirka Kosek, Michiel Hendriks + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. + +Michal Molhanec <mol1111 at users.sourceforge.net> +Jirka Kosek <kosek at users.sourceforge.net> +Michiel Hendriks <elmuerte at users.sourceforge.net> + +--> +<highlighters> + <highlighter type="multiline-comment"> + <start>/**</start> + <end>*/</end> + <style>doccomment</style> + </highlighter> + <highlighter type="oneline-comment"> + <start>///</start> + <style>doccomment</style> + </highlighter> + <highlighter type="multiline-comment"> + <start>/*</start> + <end>*/</end> + </highlighter> + <highlighter type="oneline-comment">//</highlighter> + <highlighter type="oneline-comment">#</highlighter> + <highlighter type="string"> + <string>"</string> + <escape>\</escape> + <spanNewLines /> + </highlighter> + <highlighter type="string"> + <string>'</string> + <escape>\</escape> + <spanNewLines /> + </highlighter> + <highlighter type="heredoc"> + <start><<<</start> + </highlighter> + <highlighter type="hexnumber"> + <prefix>0x</prefix> + <ignoreCase /> + </highlighter> + <highlighter type="number"> + <point>.</point> + <exponent>e</exponent> + <ignoreCase /> + </highlighter> + <highlighter type="keywords"> + <keyword>and</keyword> + <keyword>or</keyword> + <keyword>xor</keyword> + <keyword>__FILE__</keyword> + <keyword>exception</keyword> + <keyword>__LINE__</keyword> + <keyword>array</keyword> + <keyword>as</keyword> + <keyword>break</keyword> + <keyword>case</keyword> + <keyword>class</keyword> + <keyword>const</keyword> + <keyword>continue</keyword> + <keyword>declare</keyword> + <keyword>default</keyword> + <keyword>die</keyword> + <keyword>do</keyword> + <keyword>echo</keyword> + <keyword>else</keyword> + <keyword>elseif</keyword> + <keyword>empty</keyword> + <keyword>enddeclare</keyword> + <keyword>endfor</keyword> + <keyword>endforeach</keyword> + <keyword>endif</keyword> + <keyword>endswitch</keyword> + <keyword>endwhile</keyword> + <keyword>eval</keyword> + <keyword>exit</keyword> + <keyword>extends</keyword> + <keyword>for</keyword> + <keyword>foreach</keyword> + <keyword>function</keyword> + <keyword>global</keyword> + <keyword>if</keyword> + <keyword>include</keyword> + <keyword>include_once</keyword> + <keyword>isset</keyword> + <keyword>list</keyword> + <keyword>new</keyword> + <keyword>print</keyword> + <keyword>require</keyword> + <keyword>require_once</keyword> + <keyword>return</keyword> + <keyword>static</keyword> + <keyword>switch</keyword> + <keyword>unset</keyword> + <keyword>use</keyword> + <keyword>var</keyword> + <keyword>while</keyword> + <keyword>__FUNCTION__</keyword> + <keyword>__CLASS__</keyword> + <keyword>__METHOD__</keyword> + <keyword>final</keyword> + <keyword>php_user_filter</keyword> + <keyword>interface</keyword> + <keyword>implements</keyword> + <keyword>extends</keyword> + <keyword>public</keyword> + <keyword>private</keyword> + <keyword>protected</keyword> + <keyword>abstract</keyword> + <keyword>clone</keyword> + <keyword>try</keyword> + <keyword>catch</keyword> + <keyword>throw</keyword> + <keyword>cfunction</keyword> + <keyword>old_function</keyword> + <keyword>true</keyword> + <keyword>false</keyword> + <ignoreCase /> + </highlighter> + <highlighter type="word"> + <!-- highlight the php open and close tags as directives --> + <word>?></word> + <word><?php</word> + <word><?=</word> + <style>directive</style> + </highlighter> +</highlighters> \ No newline at end of file diff --git a/doc/help/xslt/highlighting/python-hl.xml b/doc/help/xslt/highlighting/python-hl.xml new file mode 100644 index 00000000..791bc7a0 --- /dev/null +++ b/doc/help/xslt/highlighting/python-hl.xml @@ -0,0 +1,100 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + +Syntax highlighting definition for Python + +xslthl - XSLT Syntax Highlighting +http://sourceforge.net/projects/xslthl/ +Copyright (C) 2005-2008 Michal Molhanec, Jirka Kosek, Michiel Hendriks + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. + +Michal Molhanec <mol1111 at users.sourceforge.net> +Jirka Kosek <kosek at users.sourceforge.net> +Michiel Hendriks <elmuerte at users.sourceforge.net> + +--> +<highlighters> + <highlighter type="annotation"> + <!-- these are actually called decorators --> + <start>@</start> + <valueStart>(</valueStart> + <valueEnd>)</valueEnd> + </highlighter> + <highlighter type="oneline-comment">#</highlighter> + <highlighter type="string"> + <string>"""</string> + <spanNewLines /> + </highlighter> + <highlighter type="string"> + <string>'''</string> + <spanNewLines /> + </highlighter> + <highlighter type="string"> + <string>"</string> + <escape>\</escape> + </highlighter> + <highlighter type="string"> + <string>'</string> + <escape>\</escape> + </highlighter> + <highlighter type="hexnumber"> + <prefix>0x</prefix> + <suffix>l</suffix> + <ignoreCase /> + </highlighter> + <highlighter type="number"> + <point>.</point> + <pointStarts /> + <exponent>e</exponent> + <suffix>l</suffix> + <ignoreCase /> + </highlighter> + <highlighter type="keywords"> + <keyword>and</keyword> + <keyword>del</keyword> + <keyword>from</keyword> + <keyword>not</keyword> + <keyword>while</keyword> + <keyword>as</keyword> + <keyword>elif</keyword> + <keyword>global</keyword> + <keyword>or</keyword> + <keyword>with</keyword> + <keyword>assert</keyword> + <keyword>else</keyword> + <keyword>if</keyword> + <keyword>pass</keyword> + <keyword>yield</keyword> + <keyword>break</keyword> + <keyword>except</keyword> + <keyword>import</keyword> + <keyword>print</keyword> + <keyword>class</keyword> + <keyword>exec</keyword> + <keyword>in</keyword> + <keyword>raise</keyword> + <keyword>continue</keyword> + <keyword>finally</keyword> + <keyword>is</keyword> + <keyword>return</keyword> + <keyword>def</keyword> + <keyword>for</keyword> + <keyword>lambda</keyword> + <keyword>try</keyword> + </highlighter> +</highlighters> \ No newline at end of file diff --git a/doc/help/xslt/highlighting/ruby-hl.xml b/doc/help/xslt/highlighting/ruby-hl.xml new file mode 100644 index 00000000..78189b0a --- /dev/null +++ b/doc/help/xslt/highlighting/ruby-hl.xml @@ -0,0 +1,109 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + +Syntax highlighting definition for Ruby + +xslthl - XSLT Syntax Highlighting +http://sourceforge.net/projects/xslthl/ +Copyright (C) 2005-2008 Michal Molhanec, Jirka Kosek, Michiel Hendriks + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. + +Michal Molhanec <mol1111 at users.sourceforge.net> +Jirka Kosek <kosek at users.sourceforge.net> +Michiel Hendriks <elmuerte at users.sourceforge.net> + +--> +<highlighters> + <highlighter type="oneline-comment">#</highlighter> + <highlighter type="heredoc"> + <start><<</start> + <noWhiteSpace/> + </highlighter> + <highlighter type="string"> + <string>"</string> + <escape>\</escape> + </highlighter> + <highlighter type="string"> + <string>%Q{</string> + <endString>}</endString> + <escape>\</escape> + </highlighter> + <highlighter type="string"> + <string>%/</string> + <endString>/</endString> + <escape>\</escape> + </highlighter> + <highlighter type="string"> + <string>'</string> + <escape>\</escape> + </highlighter> + <highlighter type="string"> + <string>%q{</string> + <endString>}</endString> + <escape>\</escape> + </highlighter> + <highlighter type="hexnumber"> + <prefix>0x</prefix> + <ignoreCase /> + </highlighter> + <highlighter type="number"> + <point>.</point> + <exponent>e</exponent> + <ignoreCase /> + </highlighter> + <highlighter type="keywords"> + <keyword>alias</keyword> + <keyword>and</keyword> + <keyword>BEGIN</keyword> + <keyword>begin</keyword> + <keyword>break</keyword> + <keyword>case</keyword> + <keyword>class</keyword> + <keyword>def</keyword> + <keyword>defined</keyword> + <keyword>do</keyword> + <keyword>else</keyword> + <keyword>elsif</keyword> + <keyword>END</keyword> + <keyword>end</keyword> + <keyword>ensure</keyword> + <keyword>false</keyword> + <keyword>for</keyword> + <keyword>if</keyword> + <keyword>in</keyword> + <keyword>module</keyword> + <keyword>next</keyword> + <keyword>nil</keyword> + <keyword>not</keyword> + <keyword>or</keyword> + <keyword>redo</keyword> + <keyword>rescue</keyword> + <keyword>retry</keyword> + <keyword>return</keyword> + <keyword>self</keyword> + <keyword>super</keyword> + <keyword>then</keyword> + <keyword>true</keyword> + <keyword>undef</keyword> + <keyword>unless</keyword> + <keyword>until</keyword> + <keyword>when</keyword> + <keyword>while</keyword> + <keyword>yield</keyword> + </highlighter> +</highlighters> \ No newline at end of file diff --git a/doc/help/xslt/highlighting/tcl-hl.xml b/doc/help/xslt/highlighting/tcl-hl.xml new file mode 100644 index 00000000..7a8fa9fb --- /dev/null +++ b/doc/help/xslt/highlighting/tcl-hl.xml @@ -0,0 +1,180 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + +xslthl highlighter definition fof Tcl/Tk. +written by Arndt Roger Schneider + +Copyright 2008 Arndt Roger Schneider +License: xlib/libpng + +This software is provided "as-is", without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must + not claim that you wrote the original software. If you use this + software in a product, an acknowledgment in the product + documentation would be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must + not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. + +--> +<highlighters> + <highlighter type="oneline-comment">#</highlighter> + <highlighter type="string"> + <string>"</string> + <escape>\</escape> + </highlighter> + <highlighter type="regex"> + <pattern>-[\p{javaJavaIdentifierStart}][\p{javaJavaIdentifierPart}]+ + </pattern> + <style>none</style> + </highlighter> + <highlighter type="number"> + <point>.</point> + <ignoreCase /> + </highlighter> + <highlighter type="keywords"> + <!-- Tcl and itcl / structural --> + <keyword>if</keyword> + <keyword>then</keyword> + <keyword>else</keyword> + <keyword>elseif</keyword> + <keyword>for</keyword> + <keyword>foreach</keyword> + <keyword>break</keyword> + <keyword>continue</keyword> + <keyword>while</keyword> + <keyword>eval</keyword> + <keyword>case</keyword> + <keyword>in</keyword> + <keyword>switch</keyword> + <keyword>default</keyword> + <keyword>exit</keyword> + <keyword>error</keyword> + <keyword>proc</keyword> + <keyword>rename</keyword> + <keyword>exec</keyword> + <keyword>return</keyword> + <keyword>uplevel</keyword> + <keyword>upvar</keyword> + <keyword>constructor</keyword> + <keyword>destructor</keyword> + <keyword>itcl_class</keyword> + <keyword>loop</keyword> + <keyword>for_array_keys</keyword> + <keyword>for_recursive_glob</keyword> + <keyword>for_file</keyword> + <keyword>method</keyword> + <keyword>body</keyword> + <keyword>configbody</keyword> + <keyword>catch</keyword> + <keyword>namespace</keyword> + <keyword>class</keyword> + <keyword>array</keyword> + <keyword>set</keyword> + <keyword>unset</keyword> + <keyword>package</keyword> + <keyword>source</keyword> + + <!-- Additional commands --> + <keyword>subst</keyword> + <keyword>list</keyword> + <keyword>format</keyword> + <keyword>lappend</keyword> + <keyword>option</keyword> + <keyword>expr</keyword> + <keyword>puts</keyword> + <keyword>winfo</keyword> + <keyword>lindex</keyword> + <keyword>string</keyword> + + + <!-- Runtime Library / structural --> + <keyword>verified</keyword> + <keyword>seteach</keyword> + <keyword>fixme</keyword> + <keyword>debug</keyword> + <keyword>rtl::debug</keyword> + <keyword>rtl::verified</keyword> + <keyword>rtl::template</keyword> + <keyword>rtl::seteach</keyword> + + <!-- Runtime Library / Additional --> + <keyword>mkProc</keyword> + <keyword>getCreator</keyword> + <keyword>properties</keyword> + <keyword>lappendunique</keyword> + <keyword>rtl::lappendunique</keyword> + + <!-- geometry managers from Tk --> + <keyword>place</keyword> + <keyword>pack</keyword> + <keyword>grid</keyword> + + + <!-- Additional Tk stuff --> + <keyword>image</keyword> + <keyword>font</keyword> + <keyword>focus</keyword> + <keyword>tk</keyword> + <keyword>bind</keyword> + <keyword>after</keyword> + + <!-- Window classes from Tk, ... --> + <keyword>toplevel</keyword> + <keyword>frame</keyword> + <keyword>entry</keyword> + <keyword>listbox</keyword> + <keyword>button</keyword> + <keyword>radiobutton</keyword> + <keyword>checkbutton</keyword> + <keyword>canvas</keyword> + <keyword>menu</keyword> + <keyword>menubutton</keyword> + <keyword>text</keyword> + <keyword>label</keyword> + <keyword>message</keyword> + <!-- + The rest of Tk's windows is omitted: scrollbar, scale, panedwindow, labelframe, spinbox ... + --> + + <!-- ... from tkZinc, ... --> + <keyword>zinc</keyword> + + <!-- ... from tkpath, ... --> + <keyword>tkpath::gradient</keyword> + + <!-- ... from Runtime Library, ... --> + <keyword>rtl_combobox</keyword> + <keyword>rtl_tree</keyword> + <keyword>rtl_tabset</keyword> + <keyword>rtl_mlistbox</keyword> + <keyword>rtl_gridwin</keyword> + <keyword>rtlysizer</keyword> + <keyword>rtlxsizer</keyword> + <!-- + The rest of RTL's windows is omitted: spinbox, decoratedframe, symbolbar, symbolbarcustomize, question ... + --> + + <!-- ... from GEI, ... --> + <keyword>goolbar</keyword> + <keyword>gstripes</keyword> + <keyword>zoolbar</keyword> + <keyword>gistbox</keyword> + <keyword>gooleditor</keyword> + <keyword>galette</keyword> + </highlighter> +</highlighters> + <!-- + Local Variables: mode: sgml coding: utf-8-unix sgml-indent-step: 2 sgml-indent-data: t sgml-set-face: t + sgml-insert-missing-element-comment: nil End: + --> \ No newline at end of file diff --git a/doc/help/xslt/highlighting/xslthl-config.xml b/doc/help/xslt/highlighting/xslthl-config.xml new file mode 100644 index 00000000..b24e4690 --- /dev/null +++ b/doc/help/xslt/highlighting/xslthl-config.xml @@ -0,0 +1,46 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + +xslthl - XSLT Syntax Highlighting +http://sourceforge.net/projects/xslthl/ +Copyright (C) 2005-2008 Michal Molhanec, Jirka Kosek, Michiel Hendriks + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. + +Michal Molhanec <mol1111 at users.sourceforge.net> +Jirka Kosek <kosek at users.sourceforge.net> +Michiel Hendriks <elmuerte at users.sourceforge.net> + +--> +<xslthl-config> + <highlighter id="java" file="java-hl.xml" /> + <highlighter id="delphi" file="delphi-hl.xml" /> + <highlighter id="pascal" file="delphi-hl.xml" /> + <highlighter id="ini" file="ini-hl.xml" /> + <highlighter id="php" file="php-hl.xml" /> + <highlighter id="myxml" file="myxml-hl.xml" /> + <highlighter id="m2" file="m2-hl.xml" /> + <highlighter id="tcl" file="tcl-hl.xml" /> + <highlighter id="c" file="c-hl.xml" /> + <highlighter id="cpp" file="cpp-hl.xml" /> + <highlighter id="csharp" file="csharp-hl.xml" /> + <highlighter id="python" file="python-hl.xml" /> + <highlighter id="ruby" file="ruby-hl.xml" /> + <highlighter id="perl" file="perl-hl.xml" /> + <highlighter id="javascript" file="javascript-hl.xml" /> + <namespace prefix="xslthl" uri="http://xslthl.sf.net" /> +</xslthl-config> \ No newline at end of file diff --git a/doc/help/xslt/html/admon.xsl b/doc/help/xslt/html/admon.xsl new file mode 100644 index 00000000..3d1462dd --- /dev/null +++ b/doc/help/xslt/html/admon.xsl @@ -0,0 +1,134 @@ +<?xml version='1.0'?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version='1.0'> + +<!-- ******************************************************************** + $Id: admon.xsl 8421 2009-05-04 07:49:49Z bobstayton $ + ******************************************************************** + + This file is part of the XSL DocBook Stylesheet distribution. + See ../README or http://docbook.sf.net/release/xsl/current/ for + copyright and other information. + + ******************************************************************** --> + +<xsl:template match="*" mode="admon.graphic.width"> + <xsl:param name="node" select="."/> + <xsl:text>25</xsl:text> +</xsl:template> + +<xsl:template match="note|important|warning|caution|tip"> + <xsl:choose> + <xsl:when test="$admon.graphics != 0"> + <xsl:call-template name="graphical.admonition"/> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="nongraphical.admonition"/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template name="admon.graphic"> + <xsl:param name="node" select="."/> + <xsl:value-of select="$admon.graphics.path"/> + <xsl:choose> + <xsl:when test="local-name($node)='note'">note</xsl:when> + <xsl:when test="local-name($node)='warning'">warning</xsl:when> + <xsl:when test="local-name($node)='caution'">caution</xsl:when> + <xsl:when test="local-name($node)='tip'">tip</xsl:when> + <xsl:when test="local-name($node)='important'">important</xsl:when> + <xsl:otherwise>note</xsl:otherwise> + </xsl:choose> + <xsl:value-of select="$admon.graphics.extension"/> +</xsl:template> + +<xsl:template name="graphical.admonition"> + <xsl:variable name="admon.type"> + <xsl:choose> + <xsl:when test="local-name(.)='note'">Note</xsl:when> + <xsl:when test="local-name(.)='warning'">Warning</xsl:when> + <xsl:when test="local-name(.)='caution'">Caution</xsl:when> + <xsl:when test="local-name(.)='tip'">Tip</xsl:when> + <xsl:when test="local-name(.)='important'">Important</xsl:when> + <xsl:otherwise>Note</xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:variable name="alt"> + <xsl:call-template name="gentext"> + <xsl:with-param name="key" select="$admon.type"/> + </xsl:call-template> + </xsl:variable> + + <div> + <xsl:call-template name="common.html.attributes"/> + <xsl:if test="$admon.style != ''"> + <xsl:attribute name="style"> + <xsl:value-of select="$admon.style"/> + </xsl:attribute> + </xsl:if> + + <table border="0"> + <xsl:attribute name="summary"> + <xsl:value-of select="$admon.type"/> + <xsl:if test="title|info/title"> + <xsl:text>: </xsl:text> + <xsl:value-of select="(title|info/title)[1]"/> + </xsl:if> + </xsl:attribute> + <tr> + <td rowspan="2" align="center" valign="top"> + <xsl:attribute name="width"> + <xsl:apply-templates select="." mode="admon.graphic.width"/> + </xsl:attribute> + <img alt="[{$alt}]"> + <xsl:attribute name="src"> + <xsl:call-template name="admon.graphic"/> + </xsl:attribute> + </img> + </td> + <th align="{$direction.align.start}"> + <xsl:call-template name="anchor"/> + <xsl:if test="$admon.textlabel != 0 or title or info/title"> + <xsl:apply-templates select="." mode="object.title.markup"/> + </xsl:if> + </th> + </tr> + <tr> + <td align="{$direction.align.start}" valign="top"> + <xsl:apply-templates/> + </td> + </tr> + </table> + </div> +</xsl:template> + +<xsl:template name="nongraphical.admonition"> + <div> + <xsl:call-template name="common.html.attributes"> + <xsl:with-param name="inherit" select="1"/> + </xsl:call-template> + <xsl:if test="$admon.style"> + <xsl:attribute name="style"> + <xsl:value-of select="$admon.style"/> + </xsl:attribute> + </xsl:if> + + <xsl:if test="$admon.textlabel != 0 or title or info/title"> + <h3 class="title"> + <xsl:call-template name="anchor"/> + <xsl:apply-templates select="." mode="object.title.markup"/> + </h3> + </xsl:if> + + <xsl:apply-templates/> + </div> +</xsl:template> + +<xsl:template match="note/title"></xsl:template> +<xsl:template match="important/title"></xsl:template> +<xsl:template match="warning/title"></xsl:template> +<xsl:template match="caution/title"></xsl:template> +<xsl:template match="tip/title"></xsl:template> + +</xsl:stylesheet> diff --git a/doc/help/xslt/html/annotations.xsl b/doc/help/xslt/html/annotations.xsl new file mode 100644 index 00000000..f0106320 --- /dev/null +++ b/doc/help/xslt/html/annotations.xsl @@ -0,0 +1,169 @@ +<?xml version='1.0'?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version='1.0'> + +<xsl:template name="add.annotation.links"> + <xsl:param name="scripts" select="normalize-space($annotation.js)"/> + <xsl:choose> + <xsl:when test="contains($scripts, ' ')"> + <script type="text/javascript" src="{substring-before($scripts, ' ')}"/> + <xsl:call-template name="add.annotation.links"> + <xsl:with-param name="scripts" select="substring-after($scripts, ' ')"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <script type="text/javascript" src="{$scripts}"/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="annotation"/> + +<xsl:template name="apply-annotations"> + <xsl:if test="$annotation.support != 0"> + <!-- do any annotations apply to the context node? --> + <xsl:variable name="id" select="(@id|@xml:id)[1]"/> + + <xsl:variable name="aids"> + <xsl:for-each select="//annotation"> + <xsl:if test="@annotates=$id + or starts-with(@annotates, concat($id, ' ')) + or contains(@annotates, concat(' ', $id, ' ')) + or substring(@annotates, string-length(@annotates)-3) + = concat(' ', $id)"> + <xsl:value-of select="generate-id()"/> + <xsl:text> </xsl:text> + </xsl:if> + </xsl:for-each> + <xsl:if test="normalize-space(@annotations) != ''"> + <xsl:call-template name="annotations-pointed-to"> + <xsl:with-param name="annotations" + select="normalize-space(@annotations)"/> + </xsl:call-template> + </xsl:if> + </xsl:variable> + + <xsl:if test="$aids != ''"> + <xsl:call-template name="apply-annotations-by-gid"> + <xsl:with-param name="gids" select="normalize-space($aids)"/> + </xsl:call-template> + </xsl:if> + </xsl:if> +</xsl:template> + +<xsl:template name="annotations-pointed-to"> + <xsl:param name="annotations"/> + <xsl:choose> + <xsl:when test="contains($annotations, ' ')"> + <xsl:variable name='a' + select="key('id', substring-before($annotations, ' '))"/> + <xsl:if test="$a"> + <xsl:value-of select="generate-id($a)"/> + <xsl:text> </xsl:text> + </xsl:if> + <xsl:call-template name="annotations-pointed-to"> + <xsl:with-param name="annotations" + select="substring-after($annotations, ' ')"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:variable name='a' + select="key('id', $annotations)"/> + <xsl:if test="$a"> + <xsl:value-of select="generate-id($a)"/> + <xsl:text> </xsl:text> + </xsl:if> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template name="apply-annotations-by-gid"> + <xsl:param name="gids"/> + + <xsl:choose> + <xsl:when test="contains($gids, ' ')"> + <xsl:variable name="gid" select="substring-before($gids, ' ')"/> + <xsl:apply-templates select="key('gid', $gid)" + mode="annotation-inline"/> + <xsl:call-template name="apply-annotations-by-gid"> + <xsl:with-param name="gids" + select="substring-after($gids, ' ')"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="key('gid', $gids)" + mode="annotation-inline"/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="annotation" mode="annotation-inline"> + <xsl:variable name="title"> + <xsl:choose> + <xsl:when test="title"> + <xsl:value-of select="title"/> + </xsl:when> + <xsl:otherwise> + <xsl:text>[Annotation #</xsl:text> + <xsl:number count="annotation" level="any" format="1"/> + <xsl:text>]</xsl:text> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <a href="#annot-{generate-id(.)}" title="{$title}" + name="anch-{generate-id(.)}" id="anch-{generate-id(.)}"> + <xsl:apply-templates select="." mode="class.attribute"/> + <xsl:attribute name="onClick"> + <xsl:text>popup_</xsl:text> + <xsl:value-of select="generate-id(.)"/> + <xsl:text>.showPopup('anch-</xsl:text> + <xsl:value-of select="generate-id(.)"/> + <xsl:text>'); return false;</xsl:text> + </xsl:attribute> + <img src="{$annotation.graphic.open}" border="0" alt="{$title}"/> + </a> +</xsl:template> + +<xsl:template match="annotation" mode="annotation-popup"> + <div class="annotation-nocss"> + <p> + <a name="annot-{generate-id(.)}"/> + <xsl:text>Annotation #</xsl:text> + <xsl:number count="annotation" level="any" format="1"/> + <xsl:text>:</xsl:text> + </p> + </div> + + <div id="popup-{generate-id(.)}" class="annotation-popup"> + <xsl:if test="string-length(.) > 300"> + <xsl:attribute name="style">width:400px</xsl:attribute> + </xsl:if> + + <xsl:call-template name="annotation-title"/> + <div class="annotation-body"> + <xsl:apply-templates select="*[local-name(.) != 'title']"/> + </div> + <div class="annotation-close"> + <a href="#" onclick="popup_{generate-id(.)}.hidePopup();return false;"> + <xsl:apply-templates select="." mode="class.attribute"/> + <img src="{$annotation.graphic.close}" alt="X" border="0"/> + </a> + </div> + </div> +</xsl:template> + +<xsl:template name="annotation-title"> + <div class="annotation-title"> + <xsl:choose> + <xsl:when test="title"> + <xsl:apply-templates select="title/node()"/> + </xsl:when> + <xsl:otherwise> + <xsl:text>Annotation</xsl:text> + </xsl:otherwise> + </xsl:choose> + </div> +</xsl:template> + +</xsl:stylesheet> diff --git a/doc/help/xslt/html/autoidx-kimber.xsl b/doc/help/xslt/html/autoidx-kimber.xsl new file mode 100644 index 00000000..f67b1f60 --- /dev/null +++ b/doc/help/xslt/html/autoidx-kimber.xsl @@ -0,0 +1,165 @@ +<?xml version="1.0"?> +<!DOCTYPE xsl:stylesheet [ +<!ENTITY % common.entities SYSTEM "../common/entities.ent"> +%common.entities; + +<!-- Documents using the kimber index method must have a lang attribute --> +<!-- Only one of these should be present in the entity --> +<!ENTITY lang 'concat(/*/@lang, /*/@xml:lang)'> + +]> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:k="http://www.isogen.com/functions/com.isogen.saxoni18n.Saxoni18nService" + exclude-result-prefixes="k" + version="1.0"> + +<!-- ******************************************************************** + $Id: autoidx-kimber.xsl 8729 2010-07-15 16:43:56Z bobstayton $ + ******************************************************************** + + This file is part of the XSL DocBook Stylesheet distribution. + See ../README or http://docbook.sf.net/release/xsl/current/ for + copyright and other information. + + ******************************************************************** --> + +<!-- ==================================================================== --> +<!-- The "kimber" method contributed by Eliot Kimber of Innodata Isogen. --> +<!-- ==================================================================== --> +<!-- *** THIS MODULE ONLY WORKS WITH SAXON 6 OR SAXON 8 *** --> +<!-- ==================================================================== --> + + +<xsl:include href="../common/autoidx-kimber.xsl"/> + +<!-- Java sort apparently works only on lang part, not country --> +<xsl:param name="sort.lang"> + <xsl:choose> + <xsl:when test="contains(⟨, '-')"> + <xsl:value-of select="substring-before(⟨, '-')"/> + </xsl:when> + <xsl:when test="contains(⟨, '_')"> + <xsl:value-of select="substring-before(⟨, '_')"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="⟨"/> + </xsl:otherwise> + </xsl:choose> +</xsl:param> + +<xsl:template name="generate-kimber-index"> + <xsl:param name="scope" select="NOTANODE"/> + + <xsl:variable name="vendor" select="system-property('xsl:vendor')"/> + <xsl:if test="not(contains($vendor, 'SAXON '))"> + <xsl:message terminate="yes"> + <xsl:text>ERROR: the 'kimber' index method requires the </xsl:text> + <xsl:text>Saxon version 6 or 8 XSLT processor.</xsl:text> + </xsl:message> + </xsl:if> + + <xsl:if test="not(function-available('k:getIndexGroupKey'))"> + <xsl:message terminate="yes"> + <xsl:text>ERROR: the 'kimber' index method requires the </xsl:text> + <xsl:text>Innodata Isogen Java extensions for </xsl:text> + <xsl:text>internationalized indexes. Install those </xsl:text> + <xsl:text>extensions, or use a different index method. </xsl:text> + <xsl:text>For more information, see: </xsl:text> + <xsl:text>http://www.innodata-isogen.com/knowledge_center/tools_downloads/i18nsupport</xsl:text> + </xsl:message> + </xsl:if> + + <xsl:variable name="role"> + <xsl:if test="$index.on.role != 0"> + <xsl:value-of select="@role"/> + </xsl:if> + </xsl:variable> + + <xsl:variable name="type"> + <xsl:if test="$index.on.type != 0"> + <xsl:value-of select="@type"/> + </xsl:if> + </xsl:variable> + + <xsl:variable name="terms" + select="//indexterm[count(.|key('k-group', k:getIndexGroupKey(⟨, &primary;))[&scope;][1]) = 1 and not(@class = 'endofrange')]"/> + + <xsl:variable name="alphabetical" + select="$terms[not(starts-with( + k:getIndexGroupKey(⟨, &primary;), + '#NUMERIC' + ))]"/> + + <xsl:variable name="others" + select="$terms[starts-with( + k:getIndexGroupKey(⟨, &primary;), + '#NUMERIC' + )]"/> + + <div class="index"> + <xsl:if test="$others"> + <div class="indexdev"> + <h3> + <xsl:call-template name="gentext"> + <xsl:with-param name="key" select="'index symbols'"/> + </xsl:call-template> + </h3> + <dl> + <xsl:apply-templates select="$others" + mode="index-symbol-div"> + <xsl:with-param name="scope" select="$scope"/> + <xsl:with-param name="role" select="$role"/> + <xsl:with-param name="type" select="$type"/> + <xsl:sort lang="{$sort.lang}" + select="k:getIndexGroupSortKey(⟨, + k:getIndexGroupKey(⟨, &primary;))"/> + </xsl:apply-templates> + </dl> + </div> + </xsl:if> + + <xsl:apply-templates select="$alphabetical" + mode="index-div-kimber"> + <xsl:with-param name="scope" select="$scope"/> + <xsl:with-param name="role" select="$role"/> + <xsl:with-param name="type" select="$type"/> + <xsl:sort lang="{$sort.lang}" + select="k:getIndexGroupSortKey(⟨, + k:getIndexGroupKey(⟨, &primary;))"/> + </xsl:apply-templates> + </div> + +</xsl:template> + +<xsl:template match="indexterm" mode="index-div-kimber"> + <xsl:param name="scope" select="."/> + <xsl:param name="role" select="''"/> + <xsl:param name="type" select="''"/> + + <xsl:variable name="key" + select="k:getIndexGroupKey(⟨, &primary;)"/> + + <xsl:variable name="label" + select="k:getIndexGroupLabel(⟨, $key)"/> + + <xsl:if test="key('k-group', $label)[&scope;][count(.|key('primary', &primary;)[&scope;][1]) = 1]"> + <div class="indexdiv"> + <h3> + <xsl:value-of select="$label"/> + </h3> + <dl> + <xsl:apply-templates select="key('k-group', $key)[&scope;] + [count(.|key('primary', &primary;)[&scope;] + [1])=1]" + mode="index-primary"> + <xsl:sort select="&primary;" lang="{$sort.lang}"/> + <xsl:with-param name="scope" select="$scope"/> + <xsl:with-param name="role" select="$role"/> + <xsl:with-param name="type" select="$type"/> + </xsl:apply-templates> + </dl> + </div> + </xsl:if> +</xsl:template> + +</xsl:stylesheet> diff --git a/doc/help/xslt/html/autoidx-kosek.xsl b/doc/help/xslt/html/autoidx-kosek.xsl new file mode 100644 index 00000000..d03ff4f6 --- /dev/null +++ b/doc/help/xslt/html/autoidx-kosek.xsl @@ -0,0 +1,120 @@ +<?xml version="1.0"?> +<!DOCTYPE xsl:stylesheet [ +<!ENTITY % common.entities SYSTEM "../common/entities.ent"> +%common.entities; +]> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:i="urn:cz-kosek:functions:index" + xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" + xmlns:func="http://exslt.org/functions" + xmlns:k="http://www.isogen.com/functions/com.isogen.saxoni18n.Saxoni18nService" + xmlns:exslt="http://exslt.org/common" + extension-element-prefixes="func exslt" + exclude-result-prefixes="func exslt i l k" + version="1.0"> + +<!-- ******************************************************************** + $Id: autoidx-kosek.xsl 8725 2010-07-15 08:08:04Z kosek $ + ******************************************************************** + + This file is part of the XSL DocBook Stylesheet distribution. + See ../README or http://docbook.sf.net/release/xsl/current/ for + copyright and other information. + + ******************************************************************** --> + +<!-- ==================================================================== --> +<!-- The "kosek" method contributed by Jirka Kosek. --> + +<xsl:include href="../common/autoidx-kosek.xsl"/> + +<xsl:template name="generate-kosek-index"> + <xsl:param name="scope" select="(ancestor::book|/)[last()]"/> + + <xsl:variable name="vendor" select="system-property('xsl:vendor')"/> + <xsl:if test="contains($vendor, 'libxslt')"> + <xsl:message terminate="yes"> + <xsl:text>ERROR: the 'kosek' index method does not </xsl:text> + <xsl:text>work with the xsltproc XSLT processor.</xsl:text> + </xsl:message> + </xsl:if> + + <xsl:if test="contains($vendor, 'Saxonica')"> + <xsl:message terminate="yes"> + <xsl:text>ERROR: the 'kosek' index method does not </xsl:text> + <xsl:text>work with the Saxon 8 XSLT processor.</xsl:text> + </xsl:message> + </xsl:if> + + <xsl:if test="$exsl.node.set.available = 0"> + <xsl:message terminate="yes"> + <xsl:text>ERROR: the 'kosek' index method requires the </xsl:text> + <xsl:text>exslt:node-set() function. Use a processor that </xsl:text> + <xsl:text>has it, or use a different index method.</xsl:text> + </xsl:message> + </xsl:if> + + <xsl:if test="not(function-available('i:group-index'))"> + <xsl:message terminate="yes"> + <xsl:text>ERROR: the 'kosek' index method requires the </xsl:text> + <xsl:text>index extension functions be imported: </xsl:text> + <xsl:text> xsl:import href="common/autoidx-kosek.xsl"</xsl:text> + </xsl:message> + </xsl:if> + + <xsl:variable name="role"> + <xsl:if test="$index.on.role != 0"> + <xsl:value-of select="@role"/> + </xsl:if> + </xsl:variable> + + <xsl:variable name="type"> + <xsl:if test="$index.on.type != 0"> + <xsl:value-of select="@type"/> + </xsl:if> + </xsl:variable> + + <xsl:variable name="terms" + select="//indexterm[count(.|key('group-code', i:group-index(&primary;))[&scope;][1]) = 1 and not(@class = 'endofrange')]"/> + + <div class="index"> + <xsl:apply-templates select="$terms" mode="index-div-kosek"> + <xsl:with-param name="scope" select="$scope"/> + <xsl:with-param name="role" select="$role"/> + <xsl:with-param name="type" select="$type"/> + <xsl:sort select="i:group-index(&primary;)" data-type="number"/> + </xsl:apply-templates> + </div> +</xsl:template> + +<xsl:template match="indexterm" mode="index-div-kosek"> + <xsl:param name="scope" select="."/> + <xsl:param name="role" select="''"/> + <xsl:param name="type" select="''"/> + + <xsl:variable name="key" + select="i:group-index(&primary;)"/> + + <xsl:variable name="lang"> + <xsl:call-template name="l10n.language"/> + </xsl:variable> + + <xsl:if test="key('group-code', $key)[&scope;][count(.|key('primary', &primary;)[&scope;][1]) = 1]"> + <div class="indexdiv"> + <h3> + <xsl:value-of select="i:group-letter($key)"/> + </h3> + <dl> + <xsl:apply-templates select="key('group-code', $key)[&scope;][count(.|key('primary', &primary;)[&scope;][1])=1]" + mode="index-primary"> + <xsl:sort select="&primary;" lang="{$lang}"/> + <xsl:with-param name="scope" select="$scope"/> + <xsl:with-param name="role" select="$role"/> + <xsl:with-param name="type" select="$type"/> + </xsl:apply-templates> + </dl> + </div> + </xsl:if> +</xsl:template> + +</xsl:stylesheet> diff --git a/doc/help/xslt/html/autoidx-ng.xsl b/doc/help/xslt/html/autoidx-ng.xsl new file mode 100644 index 00000000..9407b5cf --- /dev/null +++ b/doc/help/xslt/html/autoidx-ng.xsl @@ -0,0 +1,20 @@ +<?xml version="1.0"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version="1.0"> + +<!-- ******************************************************************** + $Id: autoidx-ng.xsl 6910 2007-06-28 23:23:30Z xmldoc $ + ******************************************************************** + + This file is part of the DocBook XSL Stylesheet distribution. + See ../README or http://docbook.sf.net/ for copyright + copyright and other information. + + ******************************************************************** --> + +<!-- You should have this directly in your customization file. --> +<!-- This file is there only to retain backward compatibility. --> +<xsl:import href="autoidx-kosek.xsl"/> +<xsl:param name="index.method">kosek</xsl:param> + +</xsl:stylesheet> diff --git a/doc/help/xslt/html/autoidx.xsl b/doc/help/xslt/html/autoidx.xsl new file mode 100644 index 00000000..7268fcd5 --- /dev/null +++ b/doc/help/xslt/html/autoidx.xsl @@ -0,0 +1,739 @@ +<?xml version="1.0"?> +<!DOCTYPE xsl:stylesheet [ +<!ENTITY % common.entities SYSTEM "../common/entities.ent"> +%common.entities; +]> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:exslt="http://exslt.org/common" + extension-element-prefixes="exslt" + exclude-result-prefixes="exslt" + version="1.0"> + +<!-- ******************************************************************** + $Id: autoidx.xsl 8516 2009-08-12 02:54:56Z abdelazer $ + ******************************************************************** + + This file is part of the XSL DocBook Stylesheet distribution. + See ../README or http://docbook.sf.net/release/xsl/current/ for + copyright and other information. + + ******************************************************************** --> + +<!-- ==================================================================== --> +<!-- The "basic" method derived from Jeni Tennison's work. --> +<!-- The "kosek" method contributed by Jirka Kosek. --> +<!-- The "kimber" method contributed by Eliot Kimber of Innodata Isogen. --> + +<xsl:variable name="kimber.imported" select="0"/> +<xsl:variable name="kosek.imported" select="0"/> + +<xsl:key name="letter" + match="indexterm" + use="translate(substring(&primary;, 1, 1),&lowercase;,&uppercase;)"/> + +<xsl:key name="primary" + match="indexterm" + use="&primary;"/> + +<xsl:key name="secondary" + match="indexterm" + use="concat(&primary;, &sep;, &secondary;)"/> + +<xsl:key name="tertiary" + match="indexterm" + use="concat(&primary;, &sep;, &secondary;, &sep;, &tertiary;)"/> + +<xsl:key name="endofrange" + match="indexterm[@class='endofrange']" + use="@startref"/> + +<xsl:key name="primary-section" + match="indexterm[not(secondary) and not(see)]" + use="concat(&primary;, &sep;, §ion.id;)"/> + +<xsl:key name="secondary-section" + match="indexterm[not(tertiary) and not(see)]" + use="concat(&primary;, &sep;, &secondary;, &sep;, §ion.id;)"/> + +<xsl:key name="tertiary-section" + match="indexterm[not(see)]" + use="concat(&primary;, &sep;, &secondary;, &sep;, &tertiary;, &sep;, §ion.id;)"/> + +<xsl:key name="see-also" + match="indexterm[seealso]" + use="concat(&primary;, &sep;, &secondary;, &sep;, &tertiary;, &sep;, seealso)"/> + +<xsl:key name="see" + match="indexterm[see]" + use="concat(&primary;, &sep;, &secondary;, &sep;, &tertiary;, &sep;, see)"/> + +<xsl:key name="sections" match="*[@id or @xml:id]" use="@id|@xml:id"/> + + +<xsl:template name="generate-index"> + <xsl:param name="scope" select="(ancestor::book|/)[last()]"/> + + <xsl:choose> + <xsl:when test="$index.method = 'kosek'"> + <xsl:call-template name="generate-kosek-index"> + <xsl:with-param name="scope" select="$scope"/> + </xsl:call-template> + </xsl:when> + <xsl:when test="$index.method = 'kimber'"> + <xsl:call-template name="generate-kimber-index"> + <xsl:with-param name="scope" select="$scope"/> + </xsl:call-template> + </xsl:when> + + <xsl:otherwise> + <xsl:call-template name="generate-basic-index"> + <xsl:with-param name="scope" select="$scope"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template name="generate-basic-index"> + <xsl:param name="scope" select="NOTANODE"/> + + <xsl:variable name="role"> + <xsl:if test="$index.on.role != 0"> + <xsl:value-of select="@role"/> + </xsl:if> + </xsl:variable> + + <xsl:variable name="type"> + <xsl:if test="$index.on.type != 0"> + <xsl:value-of select="@type"/> + </xsl:if> + </xsl:variable> + + <xsl:variable name="terms" + select="//indexterm + [count(.|key('letter', + translate(substring(&primary;, 1, 1), + &lowercase;, + &uppercase;)) + [&scope;][1]) = 1 + and not(@class = 'endofrange')]"/> + + <xsl:variable name="alphabetical" + select="$terms[contains(concat(&lowercase;, &uppercase;), + substring(&primary;, 1, 1))]"/> + + <xsl:variable name="others" select="$terms[not(contains(concat(&lowercase;, + &uppercase;), + substring(&primary;, 1, 1)))]"/> + <div class="index"> + <xsl:if test="$others"> + <xsl:choose> + <xsl:when test="normalize-space($type) != '' and + $others[@type = $type][count(.|key('primary', &primary;)[&scope;][1]) = 1]"> + <div class="indexdiv"> + <h3> + <xsl:call-template name="gentext"> + <xsl:with-param name="key" select="'index symbols'"/> + </xsl:call-template> + </h3> + <dl> + <xsl:apply-templates select="$others[count(.|key('primary', &primary;)[&scope;][1]) = 1]" + mode="index-symbol-div"> + <xsl:with-param name="position" select="position()"/> + <xsl:with-param name="scope" select="$scope"/> + <xsl:with-param name="role" select="$role"/> + <xsl:with-param name="type" select="$type"/> + <xsl:sort select="translate(&primary;, &lowercase;, &uppercase;)"/> + </xsl:apply-templates> + </dl> + </div> + </xsl:when> + <xsl:when test="normalize-space($type) != ''"> + <!-- Output nothing, as there isn't a match for $other using this $type --> + </xsl:when> + <xsl:otherwise> + <div class="indexdiv"> + <h3> + <xsl:call-template name="gentext"> + <xsl:with-param name="key" select="'index symbols'"/> + </xsl:call-template> + </h3> + <dl> + <xsl:apply-templates select="$others[count(.|key('primary', + &primary;)[&scope;][1]) = 1]" + mode="index-symbol-div"> + <xsl:with-param name="position" select="position()"/> + <xsl:with-param name="scope" select="$scope"/> + <xsl:with-param name="role" select="$role"/> + <xsl:with-param name="type" select="$type"/> + <xsl:sort select="translate(&primary;, &lowercase;, &uppercase;)"/> + </xsl:apply-templates> + </dl> + </div> + </xsl:otherwise> + </xsl:choose> + </xsl:if> + + <xsl:apply-templates select="$alphabetical[count(.|key('letter', + translate(substring(&primary;, 1, 1), + &lowercase;,&uppercase;))[&scope;][1]) = 1]" + mode="index-div-basic"> + <xsl:with-param name="position" select="position()"/> + <xsl:with-param name="scope" select="$scope"/> + <xsl:with-param name="role" select="$role"/> + <xsl:with-param name="type" select="$type"/> + <xsl:sort select="translate(&primary;, &lowercase;, &uppercase;)"/> + </xsl:apply-templates> + </div> +</xsl:template> + +<!-- This template not used if html/autoidx-kosek.xsl is imported --> +<xsl:template name="generate-kosek-index"> + <xsl:param name="scope" select="NOTANODE"/> + + <xsl:variable name="vendor" select="system-property('xsl:vendor')"/> + <xsl:if test="contains($vendor, 'libxslt')"> + <xsl:message terminate="yes"> + <xsl:text>ERROR: the 'kosek' index method does not </xsl:text> + <xsl:text>work with the xsltproc XSLT processor.</xsl:text> + </xsl:message> + </xsl:if> + + + <xsl:if test="$exsl.node.set.available = 0"> + <xsl:message terminate="yes"> + <xsl:text>ERROR: the 'kosek' index method requires the </xsl:text> + <xsl:text>exslt:node-set() function. Use a processor that </xsl:text> + <xsl:text>has it, or use a different index method.</xsl:text> + </xsl:message> + </xsl:if> + + <xsl:if test="$kosek.imported = 0"> + <xsl:message terminate="yes"> + <xsl:text>ERROR: the 'kosek' index method requires the </xsl:text> + <xsl:text>kosek index extensions be imported: </xsl:text> + <xsl:text> xsl:import href="html/autoidx-kosek.xsl"</xsl:text> + </xsl:message> + </xsl:if> + +</xsl:template> + +<!-- This template not used if html/autoidx-kimber.xsl is imported --> +<xsl:template name="generate-kimber-index"> + <xsl:param name="scope" select="NOTANODE"/> + + <xsl:variable name="vendor" select="system-property('xsl:vendor')"/> + <xsl:if test="not(contains($vendor, 'SAXON '))"> + <xsl:message terminate="yes"> + <xsl:text>ERROR: the 'kimber' index method requires the </xsl:text> + <xsl:text>Saxon version 6 or 8 XSLT processor.</xsl:text> + </xsl:message> + </xsl:if> + + <xsl:if test="$kimber.imported = 0"> + <xsl:message terminate="yes"> + <xsl:text>ERROR: the 'kimber' index method requires the </xsl:text> + <xsl:text>kimber index extensions be imported: </xsl:text> + <xsl:text> xsl:import href="html/autoidx-kimber.xsl"</xsl:text> + </xsl:message> + </xsl:if> + +</xsl:template> + +<xsl:template match="indexterm" mode="index-div-basic"> + <xsl:param name="scope" select="."/> + <xsl:param name="role" select="''"/> + <xsl:param name="type" select="''"/> + + <xsl:variable name="key" + select="translate(substring(&primary;, 1, 1), + &lowercase;,&uppercase;)"/> + + <xsl:if test="key('letter', $key)[&scope;] + [count(.|key('primary', &primary;)[&scope;][1]) = 1]"> + <div class="indexdiv"> + <xsl:if test="contains(concat(&lowercase;, &uppercase;), $key)"> + <h3> + <xsl:value-of select="translate($key, &lowercase;, &uppercase;)"/> + </h3> + </xsl:if> + <dl> + <xsl:apply-templates select="key('letter', $key)[&scope;] + [count(.|key('primary', &primary;) + [&scope;][1])=1]" + mode="index-primary"> + <xsl:with-param name="position" select="position()"/> + <xsl:with-param name="scope" select="$scope"/> + <xsl:with-param name="role" select="$role"/> + <xsl:with-param name="type" select="$type"/> + <xsl:sort select="translate(&primary;, &lowercase;, &uppercase;)"/> + </xsl:apply-templates> + </dl> + </div> + </xsl:if> +</xsl:template> + +<xsl:template match="indexterm" mode="index-symbol-div"> + <xsl:param name="scope" select="/"/> + <xsl:param name="role" select="''"/> + <xsl:param name="type" select="''"/> + + <xsl:variable name="key" select="translate(substring(&primary;, 1, 1), + &lowercase;,&uppercase;)"/> + + <xsl:apply-templates select="key('letter', $key) + [&scope;][count(.|key('primary', &primary;)[1]) = 1]" + mode="index-primary"> + <xsl:with-param name="position" select="position()"/> + <xsl:with-param name="scope" select="$scope"/> + <xsl:with-param name="role" select="$role"/> + <xsl:with-param name="type" select="$type"/> + <xsl:sort select="translate(&primary;, &lowercase;, &uppercase;)"/> + </xsl:apply-templates> +</xsl:template> + +<xsl:template match="indexterm" mode="index-primary"> + <xsl:param name="scope" select="."/> + <xsl:param name="role" select="''"/> + <xsl:param name="type" select="''"/> + + <xsl:variable name="key" select="&primary;"/> + <xsl:variable name="refs" select="key('primary', $key)[&scope;]"/> + <dt> + <xsl:for-each select="$refs/primary"> + <xsl:if test="@id or @xml:id"> + <a name="{(@id|@xml:id)[1]}"/> + </xsl:if> + </xsl:for-each> + <xsl:value-of select="primary"/> + <xsl:choose> + <xsl:when test="$index.links.to.section = 1"> + <xsl:for-each select="$refs[generate-id() = generate-id(key('primary-section', concat($key, &sep;, §ion.id;))[&scope;][1])]"> + <xsl:apply-templates select="." mode="reference"> + <xsl:with-param name="position" select="position()"/> + <xsl:with-param name="scope" select="$scope"/> + <xsl:with-param name="role" select="$role"/> + <xsl:with-param name="type" select="$type"/> + </xsl:apply-templates> + </xsl:for-each> + </xsl:when> + <xsl:otherwise> + <xsl:for-each select="$refs[&scope;]"> + <xsl:apply-templates select="." mode="reference"> + <xsl:with-param name="position" select="position()"/> + <xsl:with-param name="scope" select="$scope"/> + <xsl:with-param name="role" select="$role"/> + <xsl:with-param name="type" select="$type"/> + </xsl:apply-templates> + </xsl:for-each> + </xsl:otherwise> + </xsl:choose> + + <xsl:if test="$refs[not(secondary)]/*[self::see]"> + <xsl:apply-templates select="$refs[generate-id() = generate-id(key('see', concat(&primary;, &sep;, &sep;, &sep;, see))[&scope;][1])]" + mode="index-see"> + <xsl:with-param name="position" select="position()"/> + <xsl:with-param name="scope" select="$scope"/> + <xsl:with-param name="role" select="$role"/> + <xsl:with-param name="type" select="$type"/> + <xsl:sort select="translate(see, &lowercase;, &uppercase;)"/> + </xsl:apply-templates> + </xsl:if> + </dt> + <xsl:if test="$refs/secondary or $refs[not(secondary)]/*[self::seealso]"> + <dd> + <dl> + <xsl:apply-templates select="$refs[generate-id() = generate-id(key('see-also', concat(&primary;, &sep;, &sep;, &sep;, seealso))[&scope;][1])]" + mode="index-seealso"> + <xsl:with-param name="position" select="position()"/> + <xsl:with-param name="scope" select="$scope"/> + <xsl:with-param name="role" select="$role"/> + <xsl:with-param name="type" select="$type"/> + <xsl:sort select="translate(seealso, &lowercase;, &uppercase;)"/> + </xsl:apply-templates> + <xsl:apply-templates select="$refs[secondary and count(.|key('secondary', concat($key, &sep;, &secondary;))[&scope;][1]) = 1]" + mode="index-secondary"> + <xsl:with-param name="position" select="position()"/> + <xsl:with-param name="scope" select="$scope"/> + <xsl:with-param name="role" select="$role"/> + <xsl:with-param name="type" select="$type"/> + <xsl:sort select="translate(&secondary;, &lowercase;, &uppercase;)"/> + </xsl:apply-templates> + </dl> + </dd> + </xsl:if> +</xsl:template> + +<xsl:template match="indexterm" mode="index-secondary"> + <xsl:param name="scope" select="."/> + <xsl:param name="role" select="''"/> + <xsl:param name="type" select="''"/> + + <xsl:variable name="key" select="concat(&primary;, &sep;, &secondary;)"/> + <xsl:variable name="refs" select="key('secondary', $key)[&scope;]"/> + <dt> + <xsl:for-each select="$refs/secondary"> + <xsl:if test="@id or @xml:id"> + <a name="{(@id|@xml:id)[1]}"/> + </xsl:if> + </xsl:for-each> + <xsl:value-of select="secondary"/> + <xsl:choose> + <xsl:when test="$index.links.to.section = 1"> + <xsl:for-each select="$refs[generate-id() = generate-id(key('secondary-section', concat($key, &sep;, §ion.id;))[&scope;][1])]"> + <xsl:apply-templates select="." mode="reference"> + <xsl:with-param name="position" select="position()"/> + <xsl:with-param name="scope" select="$scope"/> + <xsl:with-param name="role" select="$role"/> + <xsl:with-param name="type" select="$type"/> + </xsl:apply-templates> + </xsl:for-each> + </xsl:when> + <xsl:otherwise> + <xsl:for-each select="$refs[&scope;]"> + <xsl:apply-templates select="." mode="reference"> + <xsl:with-param name="position" select="position()"/> + <xsl:with-param name="scope" select="$scope"/> + <xsl:with-param name="role" select="$role"/> + <xsl:with-param name="type" select="$type"/> + </xsl:apply-templates> + </xsl:for-each> + </xsl:otherwise> + </xsl:choose> + + <xsl:if test="$refs[not(tertiary)]/*[self::see]"> + <xsl:apply-templates select="$refs[generate-id() = generate-id(key('see', concat(&primary;, &sep;, &secondary;, &sep;, &sep;, see))[&scope;][1])]" + mode="index-see"> + <xsl:with-param name="position" select="position()"/> + <xsl:with-param name="scope" select="$scope"/> + <xsl:with-param name="role" select="$role"/> + <xsl:with-param name="type" select="$type"/> + <xsl:sort select="translate(see, &lowercase;, &uppercase;)"/> + </xsl:apply-templates> + </xsl:if> + </dt> + <xsl:if test="$refs/tertiary or $refs[not(tertiary)]/*[self::seealso]"> + <dd> + <dl> + <xsl:apply-templates select="$refs[generate-id() = generate-id(key('see-also', concat(&primary;, &sep;, &secondary;, &sep;, &sep;, seealso))[&scope;][1])]" + mode="index-seealso"> + <xsl:with-param name="position" select="position()"/> + <xsl:with-param name="scope" select="$scope"/> + <xsl:with-param name="role" select="$role"/> + <xsl:with-param name="type" select="$type"/> + <xsl:sort select="translate(seealso, &lowercase;, &uppercase;)"/> + </xsl:apply-templates> + <xsl:apply-templates select="$refs[tertiary and count(.|key('tertiary', concat($key, &sep;, &tertiary;))[&scope;][1]) = 1]" + mode="index-tertiary"> + <xsl:with-param name="position" select="position()"/> + <xsl:with-param name="scope" select="$scope"/> + <xsl:with-param name="role" select="$role"/> + <xsl:with-param name="type" select="$type"/> + <xsl:sort select="translate(&tertiary;, &lowercase;, &uppercase;)"/> + </xsl:apply-templates> + </dl> + </dd> + </xsl:if> +</xsl:template> + +<xsl:template match="indexterm" mode="index-tertiary"> + <xsl:param name="scope" select="."/> + <xsl:param name="role" select="''"/> + <xsl:param name="type" select="''"/> + + <xsl:variable name="key" select="concat(&primary;, &sep;, &secondary;, &sep;, &tertiary;)"/> + <xsl:variable name="refs" select="key('tertiary', $key)[&scope;]"/> + <dt> + <xsl:for-each select="$refs/tertiary"> + <xsl:if test="@id or @xml:id"> + <a name="{(@id|@xml:id)[1]}"/> + </xsl:if> + </xsl:for-each> + <xsl:value-of select="tertiary"/> + <xsl:choose> + <xsl:when test="$index.links.to.section = 1"> + <xsl:for-each select="$refs[generate-id() = generate-id(key('tertiary-section', concat($key, &sep;, §ion.id;))[&scope;][1])]"> + <xsl:apply-templates select="." mode="reference"> + <xsl:with-param name="position" select="position()"/> + <xsl:with-param name="scope" select="$scope"/> + <xsl:with-param name="role" select="$role"/> + <xsl:with-param name="type" select="$type"/> + </xsl:apply-templates> + </xsl:for-each> + </xsl:when> + <xsl:otherwise> + <xsl:for-each select="$refs[&scope;]"> + <xsl:apply-templates select="." mode="reference"> + <xsl:with-param name="position" select="position()"/> + <xsl:with-param name="scope" select="$scope"/> + <xsl:with-param name="role" select="$role"/> + <xsl:with-param name="type" select="$type"/> + </xsl:apply-templates> + </xsl:for-each> + </xsl:otherwise> + </xsl:choose> + + <xsl:if test="$refs/see"> + <xsl:apply-templates select="$refs[generate-id() = generate-id(key('see', concat(&primary;, &sep;, &secondary;, &sep;, &tertiary;, &sep;, see))[&scope;][1])]" + mode="index-see"> + <xsl:with-param name="position" select="position()"/> + <xsl:with-param name="scope" select="$scope"/> + <xsl:with-param name="role" select="$role"/> + <xsl:with-param name="type" select="$type"/> + <xsl:sort select="translate(see, &lowercase;, &uppercase;)"/> + </xsl:apply-templates> + </xsl:if> + </dt> + <xsl:if test="$refs/seealso"> + <dd> + <dl> + <xsl:apply-templates select="$refs[generate-id() = generate-id(key('see-also', concat(&primary;, &sep;, &secondary;, &sep;, &tertiary;, &sep;, seealso))[&scope;][1])]" + mode="index-seealso"> + <xsl:with-param name="position" select="position()"/> + <xsl:with-param name="scope" select="$scope"/> + <xsl:with-param name="role" select="$role"/> + <xsl:with-param name="type" select="$type"/> + <xsl:sort select="translate(seealso, &lowercase;, &uppercase;)"/> + </xsl:apply-templates> + </dl> + </dd> + </xsl:if> +</xsl:template> + +<xsl:template match="indexterm" mode="reference"> + <xsl:param name="scope" select="."/> + <xsl:param name="role" select="''"/> + <xsl:param name="type" select="''"/> + <xsl:param name="position"/> + + <xsl:variable name="term.separator"> + <xsl:call-template name="index.separator"> + <xsl:with-param name="key" select="'index.term.separator'"/> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="number.separator"> + <xsl:call-template name="index.separator"> + <xsl:with-param name="key" select="'index.number.separator'"/> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="range.separator"> + <xsl:call-template name="index.separator"> + <xsl:with-param name="key" select="'index.range.separator'"/> + </xsl:call-template> + </xsl:variable> + + <xsl:choose> + <xsl:when test="$position = 1"> + <xsl:value-of select="$term.separator"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$number.separator"/> + </xsl:otherwise> + </xsl:choose> + + <xsl:choose> + <xsl:when test="@zone and string(@zone)"> + <xsl:call-template name="reference"> + <xsl:with-param name="zones" select="normalize-space(@zone)"/> + <xsl:with-param name="position" select="position()"/> + <xsl:with-param name="scope" select="$scope"/> + <xsl:with-param name="role" select="$role"/> + <xsl:with-param name="type" select="$type"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <a> + <xsl:apply-templates select="." mode="class.attribute"/> + <xsl:variable name="title"> + <xsl:choose> + <xsl:when test="§ion;/titleabbrev and $index.prefer.titleabbrev != 0"> + <xsl:apply-templates select="§ion;" mode="titleabbrev.markup"/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="§ion;" mode="title.markup"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:attribute name="href"> + <xsl:choose> + <xsl:when test="$index.links.to.section = 1"> + <xsl:call-template name="href.target"> + <xsl:with-param name="object" select="§ion;"/> + <xsl:with-param name="context" select="//index[&scope;][1]"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="href.target"> + <xsl:with-param name="object" select="."/> + <xsl:with-param name="context" select="//index[&scope;][1]"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + + </xsl:attribute> + + <xsl:value-of select="$title"/> <!-- text only --> + </a> + + <xsl:variable name="id" select="(@id|@xml:id)[1]"/> + <xsl:if test="key('endofrange', $id)[&scope;]"> + <xsl:apply-templates select="key('endofrange', $id)[&scope;][last()]" + mode="reference"> + <xsl:with-param name="position" select="position()"/> + <xsl:with-param name="scope" select="$scope"/> + <xsl:with-param name="role" select="$role"/> + <xsl:with-param name="type" select="$type"/> + <xsl:with-param name="separator" select="$range.separator"/> + </xsl:apply-templates> + </xsl:if> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template name="reference"> + <xsl:param name="scope" select="."/> + <xsl:param name="role" select="''"/> + <xsl:param name="type" select="''"/> + <xsl:param name="zones"/> + + <xsl:choose> + <xsl:when test="contains($zones, ' ')"> + <xsl:variable name="zone" select="substring-before($zones, ' ')"/> + <xsl:variable name="target" select="key('sections', $zone)"/> + + <a> + <xsl:apply-templates select="." mode="class.attribute"/> + <xsl:attribute name="href"> + <xsl:call-template name="href.target"> + <xsl:with-param name="object" select="$target[1]"/> + <xsl:with-param name="context" select="//index[&scope;][1]"/> + </xsl:call-template> + </xsl:attribute> + <xsl:apply-templates select="$target[1]" mode="index-title-content"/> + </a> + <xsl:text>, </xsl:text> + <xsl:call-template name="reference"> + <xsl:with-param name="zones" select="substring-after($zones, ' ')"/> + <xsl:with-param name="position" select="position()"/> + <xsl:with-param name="scope" select="$scope"/> + <xsl:with-param name="role" select="$role"/> + <xsl:with-param name="type" select="$type"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:variable name="zone" select="$zones"/> + <xsl:variable name="target" select="key('sections', $zone)"/> + + <a> + <xsl:apply-templates select="." mode="class.attribute"/> + <xsl:attribute name="href"> + <xsl:call-template name="href.target"> + <xsl:with-param name="object" select="$target[1]"/> + <xsl:with-param name="context" select="//index[&scope;][1]"/> + </xsl:call-template> + </xsl:attribute> + <xsl:apply-templates select="$target[1]" mode="index-title-content"/> + </a> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="indexterm" mode="index-see"> + <xsl:param name="scope" select="."/> + <xsl:param name="role" select="''"/> + <xsl:param name="type" select="''"/> + + <xsl:text> (</xsl:text> + <xsl:call-template name="gentext"> + <xsl:with-param name="key" select="'see'"/> + </xsl:call-template> + <xsl:text> </xsl:text> + <xsl:value-of select="see"/> + <xsl:text>)</xsl:text> +</xsl:template> + +<xsl:template match="indexterm" mode="index-seealso"> + <xsl:param name="scope" select="."/> + <xsl:param name="role" select="''"/> + <xsl:param name="type" select="''"/> + + <xsl:for-each select="seealso"> + <xsl:sort select="translate(., &lowercase;, &uppercase;)"/> + <dt> + <xsl:text>(</xsl:text> + <xsl:call-template name="gentext"> + <xsl:with-param name="key" select="'seealso'"/> + </xsl:call-template> + <xsl:text> </xsl:text> + <xsl:value-of select="."/> + <xsl:text>)</xsl:text> + </dt> + </xsl:for-each> +</xsl:template> + +<xsl:template match="*" mode="index-title-content"> + <xsl:variable name="title"> + <xsl:apply-templates select="§ion;" mode="title.markup"/> + </xsl:variable> + + <xsl:value-of select="$title"/> +</xsl:template> + +<xsl:template name="index.separator"> + <xsl:param name="key" select="''"/> + <xsl:param name="lang"> + <xsl:call-template name="l10n.language"/> + </xsl:param> + + <xsl:choose> + <xsl:when test="$key = 'index.term.separator'"> + <xsl:choose> + <!-- Use the override if not blank --> + <xsl:when test="$index.term.separator != ''"> + <xsl:copy-of select="$index.term.separator"/> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="gentext.template"> + <xsl:with-param name="lang" select="$lang"/> + <xsl:with-param name="context">index</xsl:with-param> + <xsl:with-param name="name">term-separator</xsl:with-param> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:when test="$key = 'index.number.separator'"> + <xsl:choose> + <!-- Use the override if not blank --> + <xsl:when test="$index.number.separator != ''"> + <xsl:copy-of select="$index.number.separator"/> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="gentext.template"> + <xsl:with-param name="lang" select="$lang"/> + <xsl:with-param name="context">index</xsl:with-param> + <xsl:with-param name="name">number-separator</xsl:with-param> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:when test="$key = 'index.range.separator'"> + <xsl:choose> + <!-- Use the override if not blank --> + <xsl:when test="$index.range.separator != ''"> + <xsl:copy-of select="$index.range.separator"/> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="gentext.template"> + <xsl:with-param name="lang" select="$lang"/> + <xsl:with-param name="context">index</xsl:with-param> + <xsl:with-param name="name">range-separator</xsl:with-param> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + </xsl:choose> +</xsl:template> + +</xsl:stylesheet> diff --git a/doc/help/xslt/html/autotoc.xsl b/doc/help/xslt/html/autotoc.xsl new file mode 100644 index 00000000..0859b49e --- /dev/null +++ b/doc/help/xslt/html/autotoc.xsl @@ -0,0 +1,707 @@ +<?xml version='1.0'?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version='1.0'> + +<!-- ******************************************************************** + $Id: autotoc.xsl 8558 2009-12-11 00:33:17Z bobstayton $ + ******************************************************************** + + This file is part of the XSL DocBook Stylesheet distribution. + See ../README or http://docbook.sf.net/release/xsl/current/ for + copyright and other information. + + ******************************************************************** --> + +<xsl:variable name="toc.listitem.type"> + <xsl:choose> + <xsl:when test="$toc.list.type = 'dl'">dt</xsl:when> + <xsl:otherwise>li</xsl:otherwise> + </xsl:choose> +</xsl:variable> + +<!-- this is just hack because dl and ul aren't completely isomorphic --> +<xsl:variable name="toc.dd.type"> + <xsl:choose> + <xsl:when test="$toc.list.type = 'dl'">dd</xsl:when> + <xsl:otherwise></xsl:otherwise> + </xsl:choose> +</xsl:variable> + +<xsl:template name="make.toc"> + <xsl:param name="toc-context" select="."/> + <xsl:param name="toc.title.p" select="true()"/> + <xsl:param name="nodes" select="/NOT-AN-ELEMENT"/> + + <xsl:variable name="nodes.plus" select="$nodes | qandaset"/> + + <xsl:variable name="toc.title"> + <xsl:if test="$toc.title.p"> + <xsl:choose> + <xsl:when test="$make.clean.html != 0"> + <div class="toc-title"> + <xsl:call-template name="gentext"> + <xsl:with-param name="key">TableofContents</xsl:with-param> + </xsl:call-template> + </div> + </xsl:when> + <xsl:otherwise> + <p> + <b> + <xsl:call-template name="gentext"> + <xsl:with-param name="key">TableofContents</xsl:with-param> + </xsl:call-template> + </b> + </p> + </xsl:otherwise> + </xsl:choose> + </xsl:if> + </xsl:variable> + + <xsl:choose> + <xsl:when test="$manual.toc != ''"> + <xsl:variable name="id"> + <xsl:call-template name="object.id"/> + </xsl:variable> + <xsl:variable name="toc" select="document($manual.toc, .)"/> + <xsl:variable name="tocentry" select="$toc//tocentry[@linkend=$id]"/> + <xsl:if test="$tocentry and $tocentry/*"> + <div class="toc"> + <xsl:copy-of select="$toc.title"/> + <xsl:element name="{$toc.list.type}"> + <xsl:call-template name="manual-toc"> + <xsl:with-param name="tocentry" select="$tocentry/*[1]"/> + </xsl:call-template> + </xsl:element> + </div> + </xsl:if> + </xsl:when> + <xsl:otherwise> + <xsl:choose> + <xsl:when test="$qanda.in.toc != 0"> + <xsl:if test="$nodes.plus"> + <div class="toc"> + <xsl:copy-of select="$toc.title"/> + <xsl:element name="{$toc.list.type}"> + <xsl:apply-templates select="$nodes.plus" mode="toc"> + <xsl:with-param name="toc-context" select="$toc-context"/> + </xsl:apply-templates> + </xsl:element> + </div> + </xsl:if> + </xsl:when> + <xsl:otherwise> + <xsl:if test="$nodes"> + <div class="toc"> + <xsl:copy-of select="$toc.title"/> + <xsl:element name="{$toc.list.type}"> + <xsl:apply-templates select="$nodes" mode="toc"> + <xsl:with-param name="toc-context" select="$toc-context"/> + </xsl:apply-templates> + </xsl:element> + </div> + </xsl:if> + </xsl:otherwise> + </xsl:choose> + + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template name="make.lots"> + <xsl:param name="toc.params" select="''"/> + <xsl:param name="toc"/> + + <xsl:if test="contains($toc.params, 'toc')"> + <xsl:copy-of select="$toc"/> + </xsl:if> + + <xsl:if test="contains($toc.params, 'figure')"> + <xsl:call-template name="list.of.titles"> + <xsl:with-param name="titles" select="'figure'"/> + <xsl:with-param name="nodes" select=".//figure"/> + </xsl:call-template> + </xsl:if> + + <xsl:if test="contains($toc.params, 'table')"> + <xsl:call-template name="list.of.titles"> + <xsl:with-param name="titles" select="'table'"/> + <xsl:with-param name="nodes" select=".//table"/> + </xsl:call-template> + </xsl:if> + + <xsl:if test="contains($toc.params, 'example')"> + <xsl:call-template name="list.of.titles"> + <xsl:with-param name="titles" select="'example'"/> + <xsl:with-param name="nodes" select=".//example"/> + </xsl:call-template> + </xsl:if> + + <xsl:if test="contains($toc.params, 'equation')"> + <xsl:call-template name="list.of.titles"> + <xsl:with-param name="titles" select="'equation'"/> + <xsl:with-param name="nodes" select=".//equation[title or info/title]"/> + </xsl:call-template> + </xsl:if> + + <xsl:if test="contains($toc.params, 'procedure')"> + <xsl:call-template name="list.of.titles"> + <xsl:with-param name="titles" select="'procedure'"/> + <xsl:with-param name="nodes" select=".//procedure[title]"/> + </xsl:call-template> + </xsl:if> +</xsl:template> + +<!-- ====================================================================== --> + +<xsl:template name="set.toc"> + <xsl:param name="toc-context" select="."/> + <xsl:param name="toc.title.p" select="true()"/> + + <xsl:call-template name="make.toc"> + <xsl:with-param name="toc-context" select="$toc-context"/> + <xsl:with-param name="toc.title.p" select="$toc.title.p"/> + <xsl:with-param name="nodes" select="book|setindex"/> + </xsl:call-template> +</xsl:template> + +<xsl:template name="division.toc"> + <xsl:param name="toc-context" select="."/> + <xsl:param name="toc.title.p" select="true()"/> + + <xsl:call-template name="make.toc"> + <xsl:with-param name="toc-context" select="$toc-context"/> + <xsl:with-param name="toc.title.p" select="$toc.title.p"/> + <xsl:with-param name="nodes" select="part|reference + |preface|chapter|appendix + |article + |bibliography|glossary|index + |refentry + |bridgehead[$bridgehead.in.toc != 0]"/> + + </xsl:call-template> +</xsl:template> + +<xsl:template name="component.toc"> + <xsl:param name="toc-context" select="."/> + <xsl:param name="toc.title.p" select="true()"/> + + <xsl:call-template name="make.toc"> + <xsl:with-param name="toc-context" select="$toc-context"/> + <xsl:with-param name="toc.title.p" select="$toc.title.p"/> + <xsl:with-param name="nodes" select="section|sect1 + |simplesect[$simplesect.in.toc != 0] + |refentry + |article|bibliography|glossary + |appendix|index + |bridgehead[not(@renderas) + and $bridgehead.in.toc != 0] + |.//bridgehead[@renderas='sect1' + and $bridgehead.in.toc != 0]"/> + </xsl:call-template> +</xsl:template> + +<xsl:template name="component.toc.separator"> + <!-- Customize to output something between + component.toc and first output --> +</xsl:template> + +<xsl:template name="section.toc"> + <xsl:param name="toc-context" select="."/> + <xsl:param name="toc.title.p" select="true()"/> + + <xsl:call-template name="make.toc"> + <xsl:with-param name="toc-context" select="$toc-context"/> + <xsl:with-param name="toc.title.p" select="$toc.title.p"/> + <xsl:with-param name="nodes" + select="section|sect1|sect2|sect3|sect4|sect5|refentry + |bridgehead[$bridgehead.in.toc != 0]"/> + + </xsl:call-template> +</xsl:template> + +<xsl:template name="section.toc.separator"> + <!-- Customize to output something between + section.toc and first output --> +</xsl:template> +<!-- ==================================================================== --> + +<xsl:template name="subtoc"> + <xsl:param name="toc-context" select="."/> + <xsl:param name="nodes" select="NOT-AN-ELEMENT"/> + + <xsl:variable name="nodes.plus" select="$nodes | qandaset"/> + + <xsl:variable name="subtoc"> + <xsl:element name="{$toc.list.type}"> + <xsl:choose> + <xsl:when test="$qanda.in.toc != 0"> + <xsl:apply-templates mode="toc" select="$nodes.plus"> + <xsl:with-param name="toc-context" select="$toc-context"/> + </xsl:apply-templates> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates mode="toc" select="$nodes"> + <xsl:with-param name="toc-context" select="$toc-context"/> + </xsl:apply-templates> + </xsl:otherwise> + </xsl:choose> + </xsl:element> + </xsl:variable> + + <xsl:variable name="depth"> + <xsl:choose> + <xsl:when test="local-name(.) = 'section'"> + <xsl:value-of select="count(ancestor::section) + 1"/> + </xsl:when> + <xsl:when test="local-name(.) = 'sect1'">1</xsl:when> + <xsl:when test="local-name(.) = 'sect2'">2</xsl:when> + <xsl:when test="local-name(.) = 'sect3'">3</xsl:when> + <xsl:when test="local-name(.) = 'sect4'">4</xsl:when> + <xsl:when test="local-name(.) = 'sect5'">5</xsl:when> + <xsl:when test="local-name(.) = 'refsect1'">1</xsl:when> + <xsl:when test="local-name(.) = 'refsect2'">2</xsl:when> + <xsl:when test="local-name(.) = 'refsect3'">3</xsl:when> + <xsl:when test="local-name(.) = 'simplesect'"> + <!-- sigh... --> + <xsl:choose> + <xsl:when test="local-name(..) = 'section'"> + <xsl:value-of select="count(ancestor::section)"/> + </xsl:when> + <xsl:when test="local-name(..) = 'sect1'">2</xsl:when> + <xsl:when test="local-name(..) = 'sect2'">3</xsl:when> + <xsl:when test="local-name(..) = 'sect3'">4</xsl:when> + <xsl:when test="local-name(..) = 'sect4'">5</xsl:when> + <xsl:when test="local-name(..) = 'sect5'">6</xsl:when> + <xsl:when test="local-name(..) = 'refsect1'">2</xsl:when> + <xsl:when test="local-name(..) = 'refsect2'">3</xsl:when> + <xsl:when test="local-name(..) = 'refsect3'">4</xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:otherwise>0</xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:variable name="depth.from.context" select="count(ancestor::*)-count($toc-context/ancestor::*)"/> + + <xsl:variable name="subtoc.list"> + <xsl:choose> + <xsl:when test="$toc.dd.type = ''"> + <xsl:copy-of select="$subtoc"/> + </xsl:when> + <xsl:otherwise> + <xsl:element name="{$toc.dd.type}"> + <xsl:copy-of select="$subtoc"/> + </xsl:element> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:element name="{$toc.listitem.type}"> + <xsl:call-template name="toc.line"> + <xsl:with-param name="toc-context" select="$toc-context"/> + </xsl:call-template> + <xsl:if test="$toc.listitem.type = 'li' + and $toc.section.depth > $depth and + ( ($qanda.in.toc = 0 and count($nodes)>0) or + ($qanda.in.toc != 0 and count($nodes.plus)>0) ) + and $toc.max.depth > $depth.from.context"> + <xsl:copy-of select="$subtoc.list"/> + </xsl:if> + </xsl:element> + <xsl:if test="$toc.listitem.type != 'li' + and $toc.section.depth > $depth and + ( ($qanda.in.toc = 0 and count($nodes)>0) or + ($qanda.in.toc != 0 and count($nodes.plus)>0) ) + and $toc.max.depth > $depth.from.context"> + <xsl:copy-of select="$subtoc.list"/> + </xsl:if> +</xsl:template> + +<xsl:template name="toc.line"> + <xsl:param name="toc-context" select="."/> + <xsl:param name="depth" select="1"/> + <xsl:param name="depth.from.context" select="8"/> + + <span> + <xsl:attribute name="class"><xsl:value-of select="local-name(.)"/></xsl:attribute> + + <!-- * if $autotoc.label.in.hyperlink is zero, then output the label --> + <!-- * before the hyperlinked title (as the DSSSL stylesheet does) --> + <xsl:if test="$autotoc.label.in.hyperlink = 0"> + <xsl:variable name="label"> + <xsl:apply-templates select="." mode="label.markup"/> + </xsl:variable> + <xsl:copy-of select="$label"/> + <xsl:if test="$label != ''"> + <xsl:value-of select="$autotoc.label.separator"/> + </xsl:if> + </xsl:if> + + <a> + <xsl:attribute name="href"> + <xsl:call-template name="href.target"> + <xsl:with-param name="context" select="$toc-context"/> + <xsl:with-param name="toc-context" select="$toc-context"/> + </xsl:call-template> + </xsl:attribute> + + <!-- * if $autotoc.label.in.hyperlink is non-zero, then output the label --> + <!-- * as part of the hyperlinked title --> + <xsl:if test="not($autotoc.label.in.hyperlink = 0)"> + <xsl:variable name="label"> + <xsl:apply-templates select="." mode="label.markup"/> + </xsl:variable> + <xsl:copy-of select="$label"/> + <xsl:if test="$label != ''"> + <xsl:value-of select="$autotoc.label.separator"/> + </xsl:if> + </xsl:if> + + <xsl:apply-templates select="." mode="titleabbrev.markup"/> + </a> + </span> +</xsl:template> + +<xsl:template match="book" mode="toc"> + <xsl:param name="toc-context" select="."/> + + <xsl:call-template name="subtoc"> + <xsl:with-param name="toc-context" select="$toc-context"/> + <xsl:with-param name="nodes" select="part|reference + |preface|chapter|appendix + |article + |bibliography|glossary|index + |refentry + |bridgehead[$bridgehead.in.toc != 0]"/> + </xsl:call-template> +</xsl:template> + +<xsl:template match="setindex" mode="toc"> + <xsl:param name="toc-context" select="."/> + + <!-- If the setindex tag is not empty, it should be it in the TOC --> + <xsl:if test="* or $generate.index != 0"> + <xsl:call-template name="subtoc"> + <xsl:with-param name="toc-context" select="$toc-context"/> + </xsl:call-template> + </xsl:if> +</xsl:template> + +<xsl:template match="part|reference" mode="toc"> + <xsl:param name="toc-context" select="."/> + + <xsl:call-template name="subtoc"> + <xsl:with-param name="toc-context" select="$toc-context"/> + <xsl:with-param name="nodes" select="appendix|chapter|article + |index|glossary|bibliography + |preface|reference|refentry + |bridgehead[$bridgehead.in.toc != 0]"/> + </xsl:call-template> +</xsl:template> + +<xsl:template match="preface|chapter|appendix|article" mode="toc"> + <xsl:param name="toc-context" select="."/> + + <xsl:call-template name="subtoc"> + <xsl:with-param name="toc-context" select="$toc-context"/> + <xsl:with-param name="nodes" select="section|sect1 + |simplesect[$simplesect.in.toc != 0] + |refentry + |glossary|bibliography|index + |bridgehead[$bridgehead.in.toc != 0]"/> + </xsl:call-template> +</xsl:template> + +<xsl:template match="sect1" mode="toc"> + <xsl:param name="toc-context" select="."/> + <xsl:call-template name="subtoc"> + <xsl:with-param name="toc-context" select="$toc-context"/> + <xsl:with-param name="nodes" select="sect2 + |bridgehead[$bridgehead.in.toc != 0]"/> + </xsl:call-template> +</xsl:template> + +<xsl:template match="sect2" mode="toc"> + <xsl:param name="toc-context" select="."/> + + <xsl:call-template name="subtoc"> + <xsl:with-param name="toc-context" select="$toc-context"/> + <xsl:with-param name="nodes" select="sect3 + |bridgehead[$bridgehead.in.toc != 0]"/> + </xsl:call-template> +</xsl:template> + +<xsl:template match="sect3" mode="toc"> + <xsl:param name="toc-context" select="."/> + + <xsl:call-template name="subtoc"> + <xsl:with-param name="toc-context" select="$toc-context"/> + <xsl:with-param name="nodes" select="sect4 + |bridgehead[$bridgehead.in.toc != 0]"/> + </xsl:call-template> +</xsl:template> + +<xsl:template match="sect4" mode="toc"> + <xsl:param name="toc-context" select="."/> + + <xsl:call-template name="subtoc"> + <xsl:with-param name="toc-context" select="$toc-context"/> + <xsl:with-param name="nodes" select="sect5 + |bridgehead[$bridgehead.in.toc != 0]"/> + </xsl:call-template> +</xsl:template> + +<xsl:template match="sect5" mode="toc"> + <xsl:param name="toc-context" select="."/> + + <xsl:call-template name="subtoc"> + <xsl:with-param name="toc-context" select="$toc-context"/> + </xsl:call-template> +</xsl:template> + +<xsl:template match="simplesect" mode="toc"> + <xsl:param name="toc-context" select="."/> + + <xsl:call-template name="subtoc"> + <xsl:with-param name="toc-context" select="$toc-context"/> + </xsl:call-template> +</xsl:template> + +<xsl:template match="section" mode="toc"> + <xsl:param name="toc-context" select="."/> + + <xsl:call-template name="subtoc"> + <xsl:with-param name="toc-context" select="$toc-context"/> + <xsl:with-param name="nodes" select="section|refentry + |simplesect[$simplesect.in.toc != 0] + |bridgehead[$bridgehead.in.toc != 0]"/> + </xsl:call-template> +</xsl:template> + +<xsl:template match="bridgehead" mode="toc"> + <xsl:param name="toc-context" select="."/> + + <xsl:if test="$bridgehead.in.toc != 0"> + <xsl:call-template name="subtoc"> + <xsl:with-param name="toc-context" select="$toc-context"/> + </xsl:call-template> + </xsl:if> +</xsl:template> + +<xsl:template match="bibliography|glossary" mode="toc"> + <xsl:param name="toc-context" select="."/> + + <xsl:call-template name="subtoc"> + <xsl:with-param name="toc-context" select="$toc-context"/> + </xsl:call-template> +</xsl:template> + +<xsl:template match="index" mode="toc"> + <xsl:param name="toc-context" select="."/> + + <!-- If the index tag is not empty, it should be it in the TOC --> + <xsl:if test="* or $generate.index != 0"> + <xsl:call-template name="subtoc"> + <xsl:with-param name="toc-context" select="$toc-context"/> + </xsl:call-template> + </xsl:if> +</xsl:template> + +<xsl:template match="refentry" mode="toc"> + <xsl:param name="toc-context" select="."/> + + <xsl:variable name="refmeta" select=".//refmeta"/> + <xsl:variable name="refentrytitle" select="$refmeta//refentrytitle"/> + <xsl:variable name="refnamediv" select=".//refnamediv"/> + <xsl:variable name="refname" select="$refnamediv//refname"/> + <xsl:variable name="refdesc" select="$refnamediv//refdescriptor"/> + <xsl:variable name="title"> + <xsl:choose> + <xsl:when test="$refentrytitle"> + <xsl:apply-templates select="$refentrytitle[1]" + mode="titleabbrev.markup"/> + </xsl:when> + <xsl:when test="$refdesc"> + <xsl:apply-templates select="$refdesc" + mode="titleabbrev.markup"/> + </xsl:when> + <xsl:when test="$refname"> + <xsl:apply-templates select="$refname[1]" + mode="titleabbrev.markup"/> + </xsl:when> + </xsl:choose> + </xsl:variable> + + <xsl:element name="{$toc.listitem.type}"> + <span class='refentrytitle'> + <a> + <xsl:attribute name="href"> + <xsl:call-template name="href.target"> + <xsl:with-param name="toc-context" select="$toc-context"/> + </xsl:call-template> + </xsl:attribute> + <xsl:copy-of select="$title"/> + </a> + </span> + <span class='refpurpose'> + <xsl:if test="$annotate.toc != 0"> + <!-- * DocBook 5 says inlinemediaobject (among other things) --> + <!-- * is allowed in refpurpose; so we need to run --> + <!-- * apply-templates on refpurpose here, instead of value-of --> + <xsl:apply-templates select="refnamediv/refpurpose"/> + </xsl:if> + </span> + </xsl:element> +</xsl:template> + +<xsl:template match="title" mode="toc"> + <xsl:param name="toc-context" select="."/> + + <a> + <xsl:attribute name="href"> + <xsl:call-template name="href.target"> + <xsl:with-param name="object" select=".."/> + <xsl:with-param name="toc-context" select="$toc-context"/> + </xsl:call-template> + </xsl:attribute> + <xsl:apply-templates/> + </a> +</xsl:template> + +<xsl:template name="manual-toc"> + <xsl:param name="toc-context" select="."/> + <xsl:param name="tocentry"/> + + <!-- be careful, we don't want to change the current document to the other tree! --> + + <xsl:if test="$tocentry"> + <xsl:variable name="node" select="key('id', $tocentry/@linkend)"/> + + <xsl:element name="{$toc.listitem.type}"> + <xsl:variable name="label"> + <xsl:apply-templates select="$node" mode="label.markup"/> + </xsl:variable> + <xsl:copy-of select="$label"/> + <xsl:if test="$label != ''"> + <xsl:value-of select="$autotoc.label.separator"/> + </xsl:if> + <a> + <xsl:attribute name="href"> + <xsl:call-template name="href.target"> + <xsl:with-param name="object" select="$node"/> + <xsl:with-param name="toc-context" select="$toc-context"/> + </xsl:call-template> + </xsl:attribute> + <xsl:apply-templates select="$node" mode="titleabbrev.markup"/> + </a> + </xsl:element> + + <xsl:if test="$tocentry/*"> + <xsl:element name="{$toc.list.type}"> + <xsl:call-template name="manual-toc"> + <xsl:with-param name="tocentry" select="$tocentry/*[1]"/> + </xsl:call-template> + </xsl:element> + </xsl:if> + + <xsl:if test="$tocentry/following-sibling::*"> + <xsl:call-template name="manual-toc"> + <xsl:with-param name="tocentry" select="$tocentry/following-sibling::*[1]"/> + </xsl:call-template> + </xsl:if> + </xsl:if> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template name="list.of.titles"> + <xsl:param name="toc-context" select="."/> + <xsl:param name="titles" select="'table'"/> + <xsl:param name="nodes" select=".//table"/> + + <xsl:if test="$nodes"> + <div class="list-of-{$titles}s"> + <xsl:choose> + <xsl:when test="$make.clean.html != 0"> + <div class="toc-title"> + <xsl:call-template name="gentext"> + <xsl:with-param name="key"> + <xsl:choose> + <xsl:when test="$titles='table'">ListofTables</xsl:when> + <xsl:when test="$titles='figure'">ListofFigures</xsl:when> + <xsl:when test="$titles='equation'">ListofEquations</xsl:when> + <xsl:when test="$titles='example'">ListofExamples</xsl:when> + <xsl:when test="$titles='procedure'">ListofProcedures</xsl:when> + <xsl:otherwise>ListofUnknown</xsl:otherwise> + </xsl:choose> + </xsl:with-param> + </xsl:call-template> + </div> + </xsl:when> + <xsl:otherwise> + <p> + <b> + <xsl:call-template name="gentext"> + <xsl:with-param name="key"> + <xsl:choose> + <xsl:when test="$titles='table'">ListofTables</xsl:when> + <xsl:when test="$titles='figure'">ListofFigures</xsl:when> + <xsl:when test="$titles='equation'">ListofEquations</xsl:when> + <xsl:when test="$titles='example'">ListofExamples</xsl:when> + <xsl:when test="$titles='procedure'">ListofProcedures</xsl:when> + <xsl:otherwise>ListofUnknown</xsl:otherwise> + </xsl:choose> + </xsl:with-param> + </xsl:call-template> + </b> + </p> + </xsl:otherwise> + </xsl:choose> + + <xsl:element name="{$toc.list.type}"> + <xsl:apply-templates select="$nodes" mode="toc"> + <xsl:with-param name="toc-context" select="$toc-context"/> + </xsl:apply-templates> + </xsl:element> + </div> + </xsl:if> +</xsl:template> + +<xsl:template match="figure|table|example|equation|procedure" mode="toc"> + <xsl:param name="toc-context" select="."/> + + <xsl:element name="{$toc.listitem.type}"> + <xsl:variable name="label"> + <xsl:apply-templates select="." mode="label.markup"/> + </xsl:variable> + <xsl:copy-of select="$label"/> + <xsl:if test="$label != ''"> + <xsl:value-of select="$autotoc.label.separator"/> + </xsl:if> + <a> + <xsl:attribute name="href"> + <xsl:call-template name="href.target"> + <xsl:with-param name="toc-context" select="$toc-context"/> + </xsl:call-template> + </xsl:attribute> + <xsl:apply-templates select="." mode="titleabbrev.markup"/> + </a> + </xsl:element> +</xsl:template> + +<!-- Used only if qanda.in.toc parameter is non-zero --> +<xsl:template match="qandaset" mode="toc"> + <xsl:param name="toc-context" select="."/> + <xsl:call-template name="subtoc"> + <xsl:with-param name="toc-context" select="$toc-context"/> + <xsl:with-param name="nodes" select="qandadiv | qandaentry"/> + </xsl:call-template> +</xsl:template> + +<xsl:template match="qandadiv|qandaentry" mode="toc"> + <xsl:apply-templates select="." mode="qandatoc.mode"/> +</xsl:template> + +</xsl:stylesheet> + diff --git a/doc/help/xslt/html/biblio-iso690.xsl b/doc/help/xslt/html/biblio-iso690.xsl new file mode 100644 index 00000000..d420becc --- /dev/null +++ b/doc/help/xslt/html/biblio-iso690.xsl @@ -0,0 +1,1300 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version='1.0'> + + +<!-- ******************************************************************** + $Id: biblio.xsl 6402 2006-11-12 08:23:21Z bobstayton $ + ******************************************************************** + + This file is part of the XSL DocBook Stylesheet distribution. + See ../README or http://docbook.sf.net/release/xsl/current/ for + copyright and other information. + + The original code for processing bibliography in ISO690 style + was provided by Jana Dvorakova <jana4u@seznam.cz> + + ******************************************************************** --> + +<!-- ==================================================================== --> + +<!-- if biblioentry.alt.primary.seps is set to nonzero value then use alternative separators for primary responsibility - $alt.person.two.sep, $alt.person.last.sep, $alt.person.more.sep --> +<xsl:param name="biblioentry.alt.primary.seps" select="0"/> + +<!-- how many authors will be printed if there is more than three authors - set to number 1 (default value), 2 or 3 --> +<xsl:param name="biblioentry.primary.count" select="1"/> + +<!-- ==================================================================== --> + +<xsl:template name="iso690.makecitation"> +<!-- Types of resources --> + <xsl:choose> + + <!-- SYSTEMS OF ELECTRONIC COMMUNICATION : ENTIRE MESSAGE SYSTEM --> + <!-- same as Monographs --> + <xsl:when test="./@role='messagesystem'"> + <xsl:call-template name="iso690.monogr"/> + </xsl:when> + + <!-- SYSTEMS OF ELECTRONIC COMMUNICATION : ELECTRONIC MESSAGES --> + <!-- same as Contributions to Monographs --> + <xsl:when test="./@role='message'"> + <xsl:call-template name="iso690.paper.mon"/> + </xsl:when> + + <!-- SERIALS --> + <xsl:when test="./@role='serial' or ./biblioid/@class='issn' or ./issn"> + <xsl:call-template name="iso690.serial"/> + </xsl:when> + + <!-- PARTS OF MONOGRAPHS --> + <xsl:when test="./@role='part' or (./bibliomisc[@role='secnum']|./bibliomisc[@role='sectitle'])"> + <xsl:call-template name="iso690.monogr.part"/> + </xsl:when> + + <!-- CONTRIBUTIONS TO MONOGRAPHS --> + <xsl:when test="./@role='contribution' or (./biblioset/@relation='part' and ./biblioset/@relation='book')"> + <xsl:call-template name="iso690.paper.mon"/> + </xsl:when> + + <!-- ARTICLES, ETC., IN SERIALS --> + <xsl:when test="./@role='article' or (./biblioset/@relation='journal' and ./biblioset/@relation='article')"> + <xsl:call-template name="iso690.article"/> + </xsl:when> + + <!-- PATENT DOCUMENTS --> + <xsl:when test="./@role='patent' or (./bibliomisc[@role='patenttype'] and ./bibliomisc[@role='patentnum'])"> + <xsl:call-template name="iso690.patent"/> + </xsl:when> + + <!-- MONOGRAPHS --> + <xsl:otherwise> + <xsl:call-template name="iso690.monogr"/> + </xsl:otherwise> + + </xsl:choose> +</xsl:template> + +<!-- ==================================================================== --> + +<!-- MONOGRAPHS --> +<xsl:template name="iso690.monogr"> + <!-- Primary responsibility --> + <xsl:call-template name="iso690.primary"/> + <!-- Title and Type of medium --> + <xsl:call-template name="iso690.title"/> + <!-- Subordinate responsibility --> + <xsl:call-template name="iso690.secondary"/> + <!-- Edition --> + <xsl:call-template name="iso690.edition"/> + <!-- Place of publication, Publisher, Year/Date of publication, Date of update/revision, Date of citation --> + <xsl:call-template name="iso690.pub"/> + <!-- Extent --> + <xsl:call-template name="iso690.extent"/> + <!-- Series --> + <xsl:call-template name="iso690.serie"/> + <!-- Notes --> + <xsl:call-template name="iso690.notice"/> + <!-- Avaibility and access --> + <xsl:call-template name="iso690.access"/> + <!-- Standard number --> + <xsl:call-template name="iso690.isbn"/> +</xsl:template> + +<!-- SERIALS --> +<xsl:template name="iso690.serial"> + <!-- Title and Type of medium --> + <xsl:call-template name="iso690.title"/> + <!-- Responsibility [nonEL] --> + <xsl:if test="not(./bibliomisc[@role='medium'])"> + <xsl:call-template name="iso690.secondary"/> + </xsl:if> + <!-- Edition --> + <xsl:call-template name="iso690.edition"> + <xsl:with-param name="after" select="./bibliomisc[@role='issuing']"/> + </xsl:call-template> + <!-- Issue designation (date and/or num) [nonEL] --> + <xsl:if test="not(./bibliomisc[@role='medium'])"> + <xsl:call-template name="iso690.issuing"/> + </xsl:if> + <!-- Place of publication, Publisher, Year/Date of publication, Date of update/revision, Date of citation --> + <xsl:call-template name="iso690.pub"/> + <!-- Series --> + <xsl:call-template name="iso690.serie"/> + <!-- Notes --> + <xsl:call-template name="iso690.notice"/> + <!-- Avaibility and access --> + <xsl:call-template name="iso690.access"/> + <!-- Standard number --> + <xsl:call-template name="iso690.issn"/> +</xsl:template> + +<!-- PARTS OF MONOGRAPHS --> +<xsl:template name="iso690.monogr.part"> + <!-- Primary responsibility of host document --> + <xsl:call-template name="iso690.primary"/> + <!-- Title and Type of medium of host document --> + <xsl:call-template name="iso690.title"/> + <!-- Subordinate responsibility of host document [EL] --> + <xsl:if test="./bibliomisc[@role='medium']"> + <xsl:call-template name="iso690.secondary"/> + </xsl:if> + <!-- Edition --> + <xsl:call-template name="iso690.edition"> + <xsl:with-param name="after" select="./volumenum"/> + </xsl:call-template> + <!-- Numeration of the part [nonEL]--> + <xsl:if test="not(./bibliomisc[@role='medium'])"> + <xsl:call-template name="iso690.partnr"/> + <!-- Subordinate responsibility [nonEL] --> + <xsl:call-template name="iso690.secondary"/> + </xsl:if> + <!-- Place of publication, Publisher, Year/Date of publication, Date of update/revision, Date of citation --> + <xsl:call-template name="iso690.pub"/> + <!-- Location within host --> + <xsl:call-template name="iso690.part.location"/> + <xsl:if test="./bibliomisc[@role='medium']"> + <!-- Numeration within host document [EL] --> + <!-- Notes [EL] --> + <xsl:call-template name="iso690.notice"/> + <!-- Avaibility and access [EL] --> + <xsl:call-template name="iso690.access"/> + <!-- Standard number [EL] --> + <xsl:call-template name="iso690.isbn"/> + </xsl:if> +</xsl:template> + +<!-- CONTRIBUTIONS TO MONOGRAPHS --> +<xsl:template name="iso690.paper.mon"> +<!-- Contribution --> + <xsl:apply-templates mode="iso690.paper.part" select="./biblioset[@relation='part']"/> +<!-- In --> + <xsl:text>In </xsl:text> +<!-- Host --> + <xsl:apply-templates mode="iso690.paper.book" select="./biblioset[@relation='book']"/> +</xsl:template> + +<xsl:template match="biblioset" mode="iso690.paper.part"> +<!-- Contribution --> + <!-- Primary responsibility --> + <xsl:call-template name="iso690.primary"/> + <!-- Title --> + <xsl:call-template name="iso690.title"> + <xsl:with-param name="italic" select="0"/> + </xsl:call-template> +</xsl:template> + +<xsl:template match="biblioset" mode="iso690.paper.book"> +<!-- Host --> + <!-- Primary responsibility --> + <xsl:call-template name="iso690.primary"/> + <!-- Title and Type of medium --> + <xsl:call-template name="iso690.title"/> + <!-- Subordinate responsibility [EL] --> + <xsl:if test="./bibliomisc[@role='medium']"> + <xsl:call-template name="iso690.secondary"/> + </xsl:if> + <!-- Edition --> + <xsl:call-template name="iso690.edition"/> + <!-- Place of publication, Publisher, Year/Date of publication, Date of update/revision, Date of citation --> + <xsl:call-template name="iso690.paper.pub"/> + <!-- Numeration within host document [EL] --> + <!-- Location within host --> + <xsl:call-template name="iso690.location"/> + <xsl:if test="./bibliomisc[@role='medium']"> + <!-- Notes [EL] --> + <xsl:call-template name="iso690.notice"/> + <!-- Avaibility and access [EL] --> + <xsl:call-template name="iso690.access"/> + <!-- Standard number [EL] --> + <xsl:call-template name="iso690.isbn"/> + </xsl:if> +</xsl:template> + +<!-- ARTICLES, ETC., IN SERIALS --> +<xsl:template name="iso690.article"> +<!-- Article --> + <xsl:apply-templates mode="iso690.article.art" select="./biblioset[@relation='article']"/> +<!-- Serial --> + <xsl:apply-templates mode="iso690.article.jour" select="./biblioset[@relation='journal']"/> +</xsl:template> + +<xsl:template match="biblioset" mode="iso690.article.art"> +<!-- Article --> + <!-- Primary responsibility --> + <xsl:call-template name="iso690.primary"/> + <!-- Title --> + <xsl:call-template name="iso690.title"> + <xsl:with-param name="italic" select="0"/> + </xsl:call-template> + <!-- Subordinate responsibility [nonEL] --> + <xsl:if test="not(../*/bibliomisc[@role='medium'])"> + <xsl:call-template name="iso690.secondary"/> + </xsl:if> +</xsl:template> + +<xsl:template match="biblioset" mode="iso690.article.jour"> +<!-- Serial --> + <!-- Title and Type of medium --> + <xsl:call-template name="iso690.title"/> + <!-- Edition --> + <xsl:call-template name="iso690.edition"> + <xsl:with-param name="after" select="./pubdate[not(@role='issuing')]|./volumenum|./issuenum|./pagenums"/> + </xsl:call-template> + <!-- Number designation [EL] --> + <!-- Location within host --> + <xsl:call-template name="iso690.article.location"/> + <xsl:if test="./bibliomisc[@role='medium']"> + <!-- Notes [EL] --> + <xsl:call-template name="iso690.notice"/> + <!-- Avaibility and access [EL] --> + <xsl:call-template name="iso690.access"/> + <!-- Standard number [EL] --> + <xsl:call-template name="iso690.issn"/> + </xsl:if> +</xsl:template> + +<!-- PATENT DOCUMENTS --> +<xsl:template name="iso690.patent"> + <!-- Primary responsibility (applicant) --> + <xsl:call-template name="iso690.primary"/> + <!-- Title of the invention --> + <xsl:call-template name="iso690.title"/> + <!-- Subordinate responsibility --> + <xsl:call-template name="iso690.secondary"/> + <!-- Notes --> + <xsl:call-template name="iso690.notice"/> + <!-- Identification --> + <xsl:call-template name="iso690.pat.ident"/> +</xsl:template> + +<!-- ==================================================================== --> +<!-- Elements --> + +<!-- Primary responsibility --> +<xsl:template name="iso690.primary"> + <xsl:param name="primary.sep"> + <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'primary.sep'"/></xsl:call-template> + </xsl:param> + <xsl:choose> + <xsl:when test="./authorgroup/author|./author"> + <xsl:call-template name="iso690.author.list"> + <xsl:with-param name="person.list" select=".//authorgroup/author|.//author"/> + </xsl:call-template> + </xsl:when> + <xsl:when test="./authorgroup/editor|./editor"> + <xsl:call-template name="iso690.author.list"> + <xsl:with-param name="person.list" select=".//authorgroup/editor|.//editor"/> + </xsl:call-template> + </xsl:when> + <xsl:when test="./authorgroup/corpauthor|./corpauthor"> + <xsl:call-template name="iso690.author.list"> + <xsl:with-param name="person.list" select=".//authorgroup/corpauthor|.//corpauthor"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:if test="(./firstname)and(./surname)"> + <xsl:call-template name="iso690.author"/> + <xsl:call-template name="iso690.endsep"> + <xsl:with-param name="text" select="string(./firstname[1])"/> + <xsl:with-param name="sep" select="$primary.sep"/> + </xsl:call-template> + </xsl:if> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template name="iso690.author.list"> + <xsl:param name="person.list" + select="author|corpauthor|editor"/> + <xsl:param name="person.count" select="count($person.list)"/> + <xsl:param name="count" select="1"/> + <xsl:param name="group" select="./authorgroup[@role='many']"/> + <xsl:param name="many" select="0"/> + + <xsl:param name="primary.many"> + <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'primary.many'"/></xsl:call-template> + </xsl:param> + <xsl:param name="primary.editor"> + <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'primary.editor'"/></xsl:call-template> + </xsl:param> + <xsl:param name="primary.sep"> + <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'primary.sep'"/></xsl:call-template> + </xsl:param> + + <xsl:choose> + <xsl:when test="$count > $person.count"></xsl:when> + <xsl:otherwise> + <xsl:choose> + <xsl:when test="$person.count < 4 and not($group)"> + <xsl:call-template name="iso690.author"> + <xsl:with-param name="node" select="$person.list[position()=$count]"/> + </xsl:call-template> + <xsl:choose> + <xsl:when test="$person.count = 2 and $count = 1 and $biblioentry.alt.primary.seps != 0"> + <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'alt.person.two.sep'"/></xsl:call-template> + </xsl:when> + <xsl:when test="$person.count = 2 and $count = 1"> + <xsl:call-template name="gentext.template"> + <xsl:with-param name="context" select="'authorgroup'"/> + <xsl:with-param name="name" select="'sep2'"/> + </xsl:call-template> + </xsl:when> + <xsl:when test="$person.count > 2 and $count+1 = $person.count and $biblioentry.alt.primary.seps != 0"> + <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'alt.person.last.sep'"/></xsl:call-template> + </xsl:when> + <xsl:when test="$person.count > 2 and $count+1 = $person.count"> + <xsl:call-template name="gentext.template"> + <xsl:with-param name="context" select="'authorgroup'"/> + <xsl:with-param name="name" select="'seplast'"/> + </xsl:call-template> + </xsl:when> + <xsl:when test="$count < $person.count and $biblioentry.alt.primary.seps != 0"> + <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'alt.person.more.sep'"/></xsl:call-template> + </xsl:when> + <xsl:when test="$count < $person.count"> + <xsl:call-template name="gentext.template"> + <xsl:with-param name="context" select="'authorgroup'"/> + <xsl:with-param name="name" select="'sep'"/> + </xsl:call-template> + </xsl:when> + <xsl:when test="($count = $person.count)"> + <xsl:choose> + <xsl:when test="$many!=0"> + <xsl:if test="name($person.list[position()=$count])='editor'"> + <xsl:value-of select="$primary.editor"/> + </xsl:if> + <xsl:value-of select="$primary.many"/> + <xsl:call-template name="iso690.endsep"> + <xsl:with-param name="text" select="$primary.many"/> + <xsl:with-param name="sep" select="$primary.sep"/> + </xsl:call-template> + </xsl:when> + <xsl:when test="name($person.list[position()=$count])='editor'"> + <xsl:value-of select="$primary.editor"/> + <xsl:value-of select="$primary.sep"/> + </xsl:when> + <xsl:when test="name($person.list[position()=$count])='corpauthor'"> + <xsl:call-template name="iso690.endsep"> + <xsl:with-param name="text" select="string($person.list[position()=$count])"/> + <xsl:with-param name="sep" select="$primary.sep"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="iso690.endsep"> + <xsl:with-param name="text" select="string($person.list[position()=$count]//firstname[1])"/> + <xsl:with-param name="sep" select="$primary.sep"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + </xsl:choose> + + <xsl:call-template name="iso690.author.list"> + <xsl:with-param name="person.list" select="$person.list"/> + <xsl:with-param name="person.count" select="$person.count"/> + <xsl:with-param name="count" select="$count+1"/> + <xsl:with-param name="many" select="$many"/> + <xsl:with-param name="group"/> + </xsl:call-template> + </xsl:when> + + <xsl:otherwise> + <xsl:choose> + <xsl:when test="($biblioentry.primary.count>=3) and ($person.count>=3)"> + <xsl:call-template name="iso690.author.list"> + <xsl:with-param name="person.list" select="$person.list[1]|$person.list[2]|$person.list[3]"/> + <xsl:with-param name="person.count" select="3"/> + <xsl:with-param name="count" select="1"/> + <xsl:with-param name="many" select="1"/> + <xsl:with-param name="group"/> + </xsl:call-template> + </xsl:when> + <xsl:when test="($biblioentry.primary.count>1) and ($person.count>1)"> + <xsl:call-template name="iso690.author.list"> + <xsl:with-param name="person.list" select="$person.list[1]|$person.list[2]"/> + <xsl:with-param name="person.count" select="2"/> + <xsl:with-param name="count" select="1"/> + <xsl:with-param name="many" select="1"/> + <xsl:with-param name="group"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="iso690.author.list"> + <xsl:with-param name="person.list" select="$person.list[1]"/> + <xsl:with-param name="person.count" select="1"/> + <xsl:with-param name="count" select="1"/> + <xsl:with-param name="many" select="1"/> + <xsl:with-param name="group"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:otherwise> + </xsl:choose> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template name="iso690.author"> + <xsl:param name="node" select="."/> + <xsl:param name="lastfirst.sep"> + <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'lastfirst.sep'"/></xsl:call-template> + </xsl:param> + <xsl:choose> + <xsl:when test="name($node)!='corpauthor'"> + <span style="text-transform:uppercase"> + <xsl:apply-templates mode="iso690.mode" select="$node//surname[1]"/> + </span> + <xsl:if test="$node//surname and $node//firstname"> + <xsl:value-of select="$lastfirst.sep"/> + </xsl:if> + <xsl:apply-templates mode="iso690.mode" select="$node//firstname[1]"/> + </xsl:when> + <xsl:otherwise> + <span style="text-transform:uppercase"> + <xsl:apply-templates mode="iso690.mode" select="$node"/> + </span> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="corpauthor|firstname|surname" mode="iso690.mode"> + <xsl:apply-templates mode="iso690.mode"/> +</xsl:template> + +<!-- Title and Type of medium --> +<xsl:template name="iso690.title"> + <xsl:param name="medium" select="./bibliomisc[@role='medium']"/> + <xsl:param name="italic" select="1"/> + <xsl:param name="sep"> + <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'title.sep'"/></xsl:call-template> + </xsl:param> + + <xsl:apply-templates mode="iso690.mode" select="./title"> + <xsl:with-param name="medium" select="$medium"/> + <xsl:with-param name="italic" select="$italic"/> + <xsl:with-param name="sep" select="$sep"/> + </xsl:apply-templates> +</xsl:template> + +<xsl:template match="title" mode="iso690.mode"> + <xsl:param name="medium"/> + <xsl:param name="italic" select="1"/> + <xsl:param name="sep"> + <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'title.sep'"/></xsl:call-template> + </xsl:param> + <xsl:param name="medium1"> + <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'medium1'"/></xsl:call-template> + </xsl:param> + <xsl:param name="medium2"> + <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'medium2'"/></xsl:call-template> + </xsl:param> + <xsl:choose> + <xsl:when test="$italic=1"> + <xsl:call-template name="iso690.italic.title"/> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="iso690.make.title"/> + </xsl:otherwise> + </xsl:choose> + <xsl:if test="$medium"> + <xsl:value-of select="$medium1"/> + <xsl:apply-templates mode="iso690.mode" select="$medium"/> + <xsl:value-of select="$medium2"/> + </xsl:if> + <xsl:call-template name="iso690.endsep"> + <xsl:with-param name="text" select="concat(string(.),string(../subtitle))"/> + <xsl:with-param name="sep" select="$sep"/> + </xsl:call-template> +</xsl:template> + +<xsl:template name="iso690.italic.title"> + <i> + <xsl:call-template name="iso690.make.title"/> + </i> +</xsl:template> + +<xsl:template name="iso690.make.title"> + <xsl:param name="submaintitle.sep"> + <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'submaintitle.sep'"/></xsl:call-template> + </xsl:param> + <xsl:apply-templates mode="iso690.mode"/> + <xsl:if test="../subtitle"> + <xsl:value-of select="$submaintitle.sep"/> + <xsl:apply-templates mode="iso690.mode" select="../subtitle"/> + </xsl:if> +</xsl:template> + +<xsl:template match="subtitle" mode="iso690.mode"> + <xsl:apply-templates mode="iso690.mode"/> +</xsl:template> + +<xsl:template match="bibliomisc[@role='medium']" mode="iso690.mode"> + <xsl:apply-templates mode="iso690.mode"/> +</xsl:template> + +<!-- Subordinate responsibility --> +<xsl:template name="iso690.secondary"> + <xsl:param name="secondary.sep"> + <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'secondary.sep'"/></xsl:call-template> + </xsl:param> + <xsl:param name="secondary.person.sep"> + <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'secondary.person.sep'"/></xsl:call-template> + </xsl:param> + <xsl:for-each select="./bibliomisc[@role='secondary']"> + <xsl:apply-templates mode="iso690.mode" select="."/> + <xsl:choose> + <xsl:when test="position()=count(../bibliomisc[@role='secondary'])"> + <xsl:call-template name="iso690.endsep"> + <xsl:with-param name="text" select="string(.)"/> + <xsl:with-param name="sep" select="$secondary.sep"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$secondary.person.sep"/> + </xsl:otherwise> + </xsl:choose> + </xsl:for-each> +</xsl:template> + +<xsl:template match="bibliomisc[@role='secondary']" mode="iso690.mode"> + <xsl:apply-templates mode="iso690.mode"/> +</xsl:template> + +<!-- Edition --> +<xsl:template name="iso690.edition"> + <xsl:param name="after"/> + <xsl:param name="edition.serial.sep"> + <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'edition.serial.sep'"/></xsl:call-template> + </xsl:param> + <xsl:choose> + <xsl:when test="string($after)!=''"> + <xsl:apply-templates mode="iso690.mode" select="./edition"> + <xsl:with-param name="sep" select="$edition.serial.sep"/> + </xsl:apply-templates> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates mode="iso690.mode" select="./edition"/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="edition" mode="iso690.mode"> + <xsl:param name="sep"> + <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'edition.sep'"/></xsl:call-template> + </xsl:param> + <xsl:apply-templates mode="iso690.mode"/> + <xsl:call-template name="iso690.endsep"> + <xsl:with-param name="text" select="string(.)"/> + <xsl:with-param name="sep" select="$sep"/> + </xsl:call-template> +</xsl:template> + +<!-- Issue designation (date and/or num) --> +<xsl:template name="iso690.issuing"> + <xsl:param name="issuing.div"> + <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'issuing.div'"/></xsl:call-template> + </xsl:param> + <xsl:param name="issuing.range"> + <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'issuing.range'"/></xsl:call-template> + </xsl:param> + <xsl:param name="issuing.sep"> + <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'issuing.sep'"/></xsl:call-template> + </xsl:param> + <xsl:choose> + <xsl:when test="./pubdate[@role='issuing'] and ./volumenum[2] and ./issuenum[2]"> + <xsl:call-template name="iso690.issuedate"/> + <xsl:apply-templates mode="iso690.mode" select="./volumenum[1]"> + <xsl:with-param name="sep" select="$issuing.div"/> + </xsl:apply-templates> + <xsl:apply-templates mode="iso690.mode" select="./issuenum[1]"> + <xsl:with-param name="sep" select="$issuing.range"/> + </xsl:apply-templates> + <xsl:apply-templates mode="iso690.mode" select="./volumenum[2]"> + <xsl:with-param name="sep" select="$issuing.div"/> + </xsl:apply-templates> + <xsl:apply-templates mode="iso690.mode" select="./issuenum[2]"> + <xsl:with-param name="sep" select="$issuing.sep"/> + </xsl:apply-templates> + </xsl:when> + <xsl:when test="./pubdate[@role='issuing'] and ./volumenum[2]"> + <xsl:call-template name="iso690.issuedate"/> + <xsl:apply-templates mode="iso690.mode" select="./volumenum[1]"> + <xsl:with-param name="sep" select="$issuing.range"/> + </xsl:apply-templates> + <xsl:apply-templates mode="iso690.mode" select="./volumenum[2]"> + <xsl:with-param name="sep" select="$issuing.sep"/> + </xsl:apply-templates> + </xsl:when> + <xsl:when test="./pubdate[@role='issuing'] and ./volumenum and ./issuenum"> + <xsl:apply-templates mode="iso690.mode" select="./pubdate[@role='issuing']"> + <xsl:with-param name="sep" select="$issuing.div"/> + </xsl:apply-templates> + <xsl:apply-templates mode="iso690.mode" select="./volumenum"> + <xsl:with-param name="sep" select="$issuing.div"/> + </xsl:apply-templates> + <xsl:apply-templates mode="iso690.mode" select="./issuenum"> + <xsl:with-param name="sep" select="$issuing.sep"/> + </xsl:apply-templates> + </xsl:when> + <xsl:when test="./pubdate[@role='issuing']"> + <xsl:apply-templates mode="iso690.mode" select="./pubdate[@role='issuing']"> + <xsl:with-param name="sep" select="$issuing.sep"/> + </xsl:apply-templates> + </xsl:when> + <xsl:when test="./volumenum"> + <xsl:apply-templates mode="iso690.mode" select="./volumenum"> + <xsl:with-param name="sep" select="$issuing.sep"/> + </xsl:apply-templates> + </xsl:when> + <xsl:when test="./issuenum"> + <xsl:apply-templates mode="iso690.mode" select="./issuenum"> + <xsl:with-param name="sep" select="$issuing.sep"/> + </xsl:apply-templates> + </xsl:when> + </xsl:choose> +</xsl:template> + +<xsl:template name="iso690.issuedate"> + <xsl:param name="issuing.div"> + <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'issuing.div'"/></xsl:call-template> + </xsl:param> + <xsl:param name="issuing.range"> + <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'issuing.range'"/></xsl:call-template> + </xsl:param> + <xsl:param name="issuing.sep"> + <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'issuing.sep'"/></xsl:call-template> + </xsl:param> + <xsl:choose> + <xsl:when test="./pubdate[@role='issuing'][2]"> + <xsl:apply-templates mode="iso690.mode" select="./pubdate[@role='issuing'][1]"> + <xsl:with-param name="sep" select="$issuing.range"/> + </xsl:apply-templates> + <xsl:apply-templates mode="iso690.mode" select="./pubdate[@role='issuing'][2]"> + <xsl:with-param name="sep" select="$issuing.div"/> + </xsl:apply-templates> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates mode="iso690.mode" select="./pubdate[@role='issuing']"> + <xsl:with-param name="sep" select="$issuing.div"/> + </xsl:apply-templates> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="pubdate[@role='issuing']" mode="iso690.mode"> + <xsl:param name="sep"/> + <xsl:variable name="substr" select="substring(string(.),string-length(string(.)))"/> + <xsl:apply-templates mode="iso690.mode"/> + <xsl:call-template name="iso690.space"> + <xsl:with-param name="text" select="$substr"/> + </xsl:call-template> + <xsl:choose> + <xsl:when test="$substr='-'"> + <xsl:call-template name="iso690.endsep"> + <xsl:with-param name="text" select="' '"/> + <xsl:with-param name="sep" select="$sep"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="iso690.endsep"> + <xsl:with-param name="text" select="string(.)"/> + <xsl:with-param name="sep" select="$sep"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<!-- Numeration of the part --> +<xsl:template name="iso690.partnr"> + <xsl:param name="partnr.sep"> + <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'partnr.sep'"/></xsl:call-template> + </xsl:param> + <xsl:apply-templates mode="iso690.mode" select="./volumenum"> + <xsl:with-param name="sep" select="$partnr.sep"/> + </xsl:apply-templates> +</xsl:template> + +<!-- Place of publication, Publisher, Year/Date of publication, Date of update/revision, Date of citation --> +<xsl:template name="iso690.pub"> + <xsl:param name="onlydate" select="0"/> + <xsl:param name="placesep"> + <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'placepubl.sep'"/></xsl:call-template> + </xsl:param> + <xsl:param name="pubsep"> + <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'publyear.sep'"/></xsl:call-template> + </xsl:param> + <xsl:param name="endsep"> + <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'pubinfo.sep'"/></xsl:call-template> + </xsl:param> + <xsl:choose> + <xsl:when test="(./publisher/publishername|./publishername|./publisher/address/city)and($onlydate=0)and(./pubdate[not(@role='issuing')]|./copyright/year|./date[@role='upd']|./date[@role='upd'])"> + <xsl:apply-templates mode="iso690.mode" select="./publisher/address/city"> + <xsl:with-param name="sep" select="$placesep"/> + </xsl:apply-templates> + <xsl:apply-templates mode="iso690.mode" select="./publisher/publishername|./publishername"> + <xsl:with-param name="sep" select="$pubsep"/> + </xsl:apply-templates> + <xsl:apply-templates mode="iso690.mode" select="./pubdate[not(@role='issuing')]|./copyright/year"> + <xsl:with-param name="sep" select="$endsep"/> + </xsl:apply-templates> + <xsl:if test="not(./pubdate[not(@role='issuing')]|./copyright/year)"> + <xsl:call-template name="iso690.data"> + <xsl:with-param name="sep" select="$endsep"/> + </xsl:call-template> + </xsl:if> + </xsl:when> + <xsl:when test="(./publisher/publishername|./publishername)and(./publisher/address/city)and($onlydate=0)"> + <xsl:apply-templates mode="iso690.mode" select="./publisher/address/city"> + <xsl:with-param name="sep" select="$placesep"/> + </xsl:apply-templates> + <xsl:apply-templates mode="iso690.mode" select="./publisher/publishername|./publishername"> + <xsl:with-param name="sep" select="$endsep"/> + </xsl:apply-templates> + </xsl:when> + <xsl:when test="($onlydate=1)or(./pubdate[not(@role='issuing')]|./copyright/year)"> + <xsl:apply-templates mode="iso690.mode" select="./pubdate[not(@role='issuing')]|./copyright/year"> + <xsl:with-param name="sep" select="$endsep"/> + </xsl:apply-templates> + <xsl:if test="$onlydate=1"> + <xsl:call-template name="iso690.location"> + <xsl:with-param name="onlypages" select="1"/> + </xsl:call-template> + </xsl:if> + </xsl:when> + <xsl:when test="not(./pubdate[not(@role='issuing')]|./copyright/year)"> + <xsl:call-template name="iso690.data"> + <xsl:with-param name="sep" select="$endsep"/> + </xsl:call-template> + </xsl:when> + </xsl:choose> +</xsl:template> + +<xsl:template name="iso690.paper.pub"> + <xsl:param name="spec.pubinfo.sep"> + <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'spec.pubinfo.sep'"/></xsl:call-template> + </xsl:param> + <xsl:choose> + <xsl:when test="./volumnum|./issuenum|./pagenums"> + <xsl:call-template name="iso690.pub"> + <xsl:with-param name="endsep" select="$spec.pubinfo.sep"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="iso690.pub"/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template name="iso690.data"> + <xsl:param name="sep"/> + <xsl:param name="datecit2"> + <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'datecit2'"/></xsl:call-template> + </xsl:param> + <xsl:apply-templates mode="iso690.mode" select="./date[@role='upd']"> + <xsl:with-param name="sep"/> + </xsl:apply-templates> + <xsl:apply-templates mode="iso690.mode" select="./date[@role='cit']"/> + <xsl:choose> + <xsl:when test="./date[@role='cit']"> + <xsl:call-template name="iso690.endsep"> + <xsl:with-param name="text" select="$datecit2"/> + <xsl:with-param name="sep" select="$sep"/> + </xsl:call-template> + </xsl:when> + <xsl:when test="./date[@role='upd']"> + <xsl:call-template name="iso690.endsep"> + <xsl:with-param name="text" select="string(./date[@role='upd'])"/> + <xsl:with-param name="sep" select="$sep"/> + </xsl:call-template> + </xsl:when> + </xsl:choose> +</xsl:template> + +<xsl:template match="publisher/address/city|publishername" mode="iso690.mode"> + <xsl:param name="sep"/> + <xsl:param name="upd" select="0"/> + <xsl:apply-templates mode="iso690.mode"/> + <xsl:call-template name="iso690.endsep"> + <xsl:with-param name="text" select="string(.)"/> + <xsl:with-param name="sep" select="$sep"/> + </xsl:call-template> +</xsl:template> + +<xsl:template match="pubdate|copyright/year" mode="iso690.mode"> + <xsl:param name="sep"/> + <xsl:param name="upd" select="1"/> + <xsl:param name="datecit2"> + <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'datecit2'"/></xsl:call-template> + </xsl:param> + <xsl:variable name="substr" select="substring(string(.),string-length(string(.)))"/> + <xsl:if test="name(.)!='pubdate'"> + <xsl:value-of select="'©'"/><!-- copyright --> + </xsl:if> + <xsl:apply-templates mode="iso690.mode"/> + <xsl:call-template name="iso690.space"> + <xsl:with-param name="text" select="$substr"/> + </xsl:call-template> + <xsl:if test="$upd!=0"> + <xsl:choose> + <xsl:when test="name(.)='pubdate'"> + <xsl:apply-templates mode="iso690.mode" select="../date[@role='upd']"/> + <xsl:apply-templates mode="iso690.mode" select="../date[@role='cit']"/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates mode="iso690.mode" select="../../date[@role='upd']"/> + <xsl:apply-templates mode="iso690.mode" select="../../date[@role='cit']"/> + </xsl:otherwise> + </xsl:choose> + </xsl:if> + <xsl:choose> + <xsl:when test="../date[@role='cit']|../../date[@role='cit'] and $upd!=0"> + <xsl:call-template name="iso690.endsep"> + <xsl:with-param name="text" select="$datecit2"/> + <xsl:with-param name="sep" select="$sep"/> + </xsl:call-template> + </xsl:when> + <xsl:when test="../date[@role='upd']|../../date[@role='upd'] and $upd!=0"> + <xsl:call-template name="iso690.endsep"> + <xsl:with-param name="text" select="string(../date[@role='upd'])"/> + <xsl:with-param name="sep" select="$sep"/> + </xsl:call-template> + </xsl:when> + <xsl:when test="$substr='-'"> + <xsl:call-template name="iso690.endsep"> + <xsl:with-param name="text" select="' '"/> + <xsl:with-param name="sep" select="$sep"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="iso690.endsep"> + <xsl:with-param name="text" select="string(.)"/> + <xsl:with-param name="sep" select="$sep"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template name="iso690.space"> + <xsl:param name="text" select="substring(string(.),string-length(string(.)))"/> + <xsl:if test="$text='-'"> + <xsl:value-of select="' '"/> + </xsl:if> +</xsl:template> + +<!-- Date of update/revision --> +<xsl:template match="date[@role='upd']" mode="iso690.mode"> + <xsl:param name="sep"> + <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'upd.sep'"/></xsl:call-template> + </xsl:param> + <xsl:value-of select="$sep"/> + <xsl:apply-templates mode="iso690.mode"/> +</xsl:template> + +<!-- Date of citation --> +<xsl:template match="date[@role='cit']" mode="iso690.mode"> + <xsl:param name="datecit1"> + <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'datecit1'"/></xsl:call-template> + </xsl:param> + <xsl:param name="datecit2"> + <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'datecit2'"/></xsl:call-template> + </xsl:param> + <xsl:value-of select="$datecit1"/> + <xsl:apply-templates mode="iso690.mode"/> + <xsl:value-of select="$datecit2"/> +</xsl:template> + +<!-- Extent --> +<xsl:template name="iso690.extent"> + <xsl:param name="extent.sep"> + <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'extent.sep'"/></xsl:call-template> + </xsl:param> + <xsl:apply-templates mode="iso690.mode" select="./pagenums"> + <xsl:with-param name="sep" select="$extent.sep"/> + </xsl:apply-templates> +</xsl:template> + +<!-- Location within host --> +<xsl:template name="iso690.part.location"> + <xsl:param name="location.sep"> + <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'location.sep'"/></xsl:call-template> + </xsl:param> + <xsl:choose> + <xsl:when test="./pagenums"> + <xsl:apply-templates mode="iso690.mode" select="./bibliomisc[@role='secnum']"/> + <xsl:apply-templates mode="iso690.mode" select="./bibliomisc[@role='sectitle']"/> + <xsl:apply-templates mode="iso690.mode" select="./pagenums"/> + </xsl:when> + <xsl:when test="./bibliomisc[@role='sectitle']"> + <xsl:apply-templates mode="iso690.mode" select="./bibliomisc[@role='secnum']"/> + <xsl:apply-templates mode="iso690.mode" select="./bibliomisc[@role='sectitle']"> + <xsl:with-param name="sep" select="$location.sep"/> + </xsl:apply-templates> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates mode="iso690.mode" select="./bibliomisc[@role='secnum']"> + <xsl:with-param name="sep" select="$location.sep"/> + </xsl:apply-templates> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template name="iso690.article.location"> + <xsl:param name="location.sep"> + <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'location.sep'"/></xsl:call-template> + </xsl:param> + <xsl:param name="locs.sep"> + <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'locs.sep'"/></xsl:call-template> + </xsl:param> + <xsl:choose> + <xsl:when test="not(./date[@role='upd']|./date[@role='cit'])"> + <xsl:choose> + <xsl:when test="./volumenum|./issuenum|./pagenums"> + <xsl:apply-templates mode="iso690.mode" select="./pubdate[not(@role='issuing')]"> + <xsl:with-param name="upd" select="0"/> + <xsl:with-param name="sep" select="$locs.sep"/> + </xsl:apply-templates> + <xsl:call-template name="iso690.location"/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates mode="iso690.mode" select="./pubdate[not(@role='issuing')]"> + <xsl:with-param name="sep" select="$location.sep"/> + </xsl:apply-templates> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:otherwise> + <xsl:choose> + <xsl:when test="./volumenum|./issuenum|./pagenums"> + <xsl:apply-templates mode="iso690.mode" select="./pubdate[not(@role='issuing')]"> + <xsl:with-param name="upd" select="0"/> + <xsl:with-param name="sep" select="$locs.sep"/> + </xsl:apply-templates> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates mode="iso690.mode" select="./pubdate[not(@role='issuing')]"> + <xsl:with-param name="upd" select="0"/> + <xsl:with-param name="sep" select="$location.sep"/> + </xsl:apply-templates> + </xsl:otherwise> + </xsl:choose> + <xsl:choose> + <xsl:when test="./issuenum"> + <xsl:apply-templates mode="iso690.mode" select="./volumenum"/> + <xsl:apply-templates mode="iso690.mode" select="./issuenum"> + <xsl:with-param name="sep"/> + </xsl:apply-templates> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates mode="iso690.mode" select="./volumenum"> + <xsl:with-param name="sep"/> + </xsl:apply-templates> + </xsl:otherwise> + </xsl:choose> + <xsl:choose> + <xsl:when test="./pagenums"> + <xsl:call-template name="iso690.data"> + <xsl:with-param name="sep" select="$locs.sep"/> + </xsl:call-template> + <xsl:apply-templates mode="iso690.mode" select="./pagenums"/> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="iso690.data"> + <xsl:with-param name="sep" select="$location.sep"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template name="iso690.location"> + <xsl:param name="location.sep"> + <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'location.sep'"/></xsl:call-template> + </xsl:param> + <xsl:choose> + <xsl:when test="./volumenum and not(./issuenum) and not(./pagenums)"> + <xsl:apply-templates mode="iso690.mode" select="./volumenum"> + <xsl:with-param name="sep" select="$location.sep"/> + </xsl:apply-templates> + </xsl:when> + <xsl:when test="./issuenum and not(./pagenums)"> + <xsl:apply-templates mode="iso690.mode" select="./volumenum"/> + <xsl:apply-templates mode="iso690.mode" select="./issuenum"> + <xsl:with-param name="sep" select="$location.sep"/> + </xsl:apply-templates> + </xsl:when> + <xsl:when test="./pagenums"> + <xsl:apply-templates mode="iso690.mode" select="./volumenum"/> + <xsl:apply-templates mode="iso690.mode" select="./issuenum"/> + <xsl:apply-templates mode="iso690.mode" select="./pagenums"/> + </xsl:when> + </xsl:choose> +</xsl:template> + +<xsl:template match="bibliomisc[@role='secnum']|bibliomisc[@role='sectitle']" mode="iso690.mode"> + <xsl:param name="sep"> + <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'locs.sep'"/></xsl:call-template> + </xsl:param> + <xsl:apply-templates mode="iso690.mode"/> + <xsl:call-template name="iso690.endsep"> + <xsl:with-param name="text" select="string(.)"/> + <xsl:with-param name="sep" select="$sep"/> + </xsl:call-template> +</xsl:template> + +<xsl:template match="volumenum|issuenum" mode="iso690.mode"> + <xsl:param name="sep"> + <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'locs.sep'"/></xsl:call-template> + </xsl:param> + <xsl:apply-templates mode="iso690.mode"/> + <xsl:call-template name="iso690.endsep"> + <xsl:with-param name="text" select="string(.)"/> + <xsl:with-param name="sep" select="$sep"/> + </xsl:call-template> +</xsl:template> + +<xsl:template match="pagenums" mode="iso690.mode"> + <xsl:param name="sep"> + <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'location.sep'"/></xsl:call-template> + </xsl:param> + <xsl:apply-templates mode="iso690.mode"/> + <xsl:call-template name="iso690.endsep"> + <xsl:with-param name="text" select="string(.)"/> + <xsl:with-param name="sep" select="$sep"/> + </xsl:call-template> +</xsl:template> + +<!-- Series --> +<xsl:template name="iso690.serie"> + <xsl:apply-templates mode="iso690.mode" select=".//bibliomisc[@role='serie']"/> +</xsl:template> + +<!-- Notes --> +<xsl:template name="iso690.notice"> + <xsl:apply-templates mode="iso690.mode" select=".//bibliomisc[not(@role)]"/> +</xsl:template> + +<xsl:template match="bibliomisc[not(@role)]|bibliomisc[@role='serie']" mode="iso690.mode"> + <xsl:param name="notice.sep"> + <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'notice.sep'"/></xsl:call-template> + </xsl:param> + <xsl:apply-templates mode="iso690.mode"/> + <xsl:call-template name="iso690.endsep"> + <xsl:with-param name="text" select="string(.)"/> + <xsl:with-param name="sep" select="$notice.sep"/> + </xsl:call-template> +</xsl:template> + +<!-- Avaibility and access --> +<xsl:template name="iso690.access"> + <xsl:for-each select="./biblioid[@class='uri']|./bibliomisc[@role='access']"> + <xsl:choose> + <xsl:when test="position()=1"> + <xsl:apply-templates mode="iso690.mode" select="."/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates mode="iso690.mode" select="."> + <xsl:with-param name="firstacc" select="0"/> + </xsl:apply-templates> + </xsl:otherwise> + </xsl:choose> + </xsl:for-each> +</xsl:template> + +<xsl:template match="biblioid[@class='uri']/ulink|bibliomisc[@role='access']/ulink" mode="iso690.mode"> + <xsl:param name="link1"> + <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'link1'"/></xsl:call-template> + </xsl:param> + <xsl:param name="link2"> + <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'link2'"/></xsl:call-template> + </xsl:param> + <xsl:value-of select="$link1"/> + <xsl:call-template name="ulink"/> + <xsl:value-of select="$link2"/> +</xsl:template> + +<xsl:template match="biblioid[@class='uri']|bibliomisc[@role='access']" mode="iso690.mode"> + <xsl:param name="firstacc" select="1"/> + <xsl:param name="access"> + <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'access'"/></xsl:call-template> + </xsl:param> + <xsl:param name="acctoo"> + <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'acctoo'"/></xsl:call-template> + </xsl:param> + <xsl:param name="onwww"> + <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'onwww'"/></xsl:call-template> + </xsl:param> + <xsl:param name="oninet"> + <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'oninet'"/></xsl:call-template> + </xsl:param> + <xsl:param name="access.end"> + <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'access.end'"/></xsl:call-template> + </xsl:param> + <xsl:param name="access.sep"> + <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'access.sep'"/></xsl:call-template> + </xsl:param> + <xsl:choose> + <xsl:when test="$firstacc=1"> + <xsl:value-of select="$access"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$acctoo"/> + </xsl:otherwise> + </xsl:choose> + <xsl:choose> + <xsl:when test="(./ulink)and(string(./ulink)=string(.))"> + <xsl:choose> + <xsl:when test="(starts-with(./ulink/@url,'http://')or(starts-with(./ulink/@url,'https://')))"> + <xsl:value-of select="$onwww"/> + <xsl:value-of select="$access.end"/> + <xsl:apply-templates mode="iso690.mode" select="./ulink"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$oninet"/> + <xsl:value-of select="$access.end"/> + <xsl:apply-templates mode="iso690.mode" select="./ulink"/> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:when test="(./ulink)and(string(./ulink)!=string(.))"> + <xsl:value-of select="text()[1]"/> + <xsl:call-template name="iso690.endsep"> + <xsl:with-param name="text" select="text()[1]"/> + <xsl:with-param name="sep" select="$access.end"/> + </xsl:call-template> + <xsl:apply-templates mode="iso690.mode" select="./ulink"/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates mode="iso690.mode"/> + </xsl:otherwise> + </xsl:choose> + <xsl:value-of select="$access.sep"/> +</xsl:template> + +<!-- Standard number - ISBN --> +<xsl:template name="iso690.isbn"> + <xsl:choose> + <xsl:when test="./biblioid/@class='isbn'"> + <xsl:apply-templates mode="iso690.mode" select="./biblioid[@class='isbn']"/> + </xsl:when> + <xsl:when test="./isbn"> + <xsl:apply-templates mode="iso690.mode" select="./isbn"/> + </xsl:when> + </xsl:choose> +</xsl:template> + +<xsl:template match="isbn|biblioid[@class='isbn']" mode="iso690.mode"> + <xsl:param name="isbn"> + <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'isbn'"/></xsl:call-template> + </xsl:param> + <xsl:param name="stdnum.sep"> + <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'stdnum.sep'"/></xsl:call-template> + </xsl:param> + <xsl:value-of select="$isbn"/> + <xsl:apply-templates mode="iso690.mode"/> + <xsl:value-of select="$stdnum.sep"/> +</xsl:template> + +<!-- Standard number - ISSN --> +<xsl:template name="iso690.issn"> + <xsl:choose> + <xsl:when test="./biblioid/@class='issn'"> + <xsl:apply-templates mode="iso690.mode" select="./biblioid[@class='issn']"/> + </xsl:when> + <xsl:when test="./issn"> + <xsl:apply-templates mode="iso690.mode" select="./issn"/> + </xsl:when> + </xsl:choose> +</xsl:template> + +<xsl:template match="issn|biblioid[@class='issn']" mode="iso690.mode"> + <xsl:param name="issn"> + <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'issn'"/></xsl:call-template> + </xsl:param> + <xsl:param name="stdnum.sep"> + <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'stdnum.sep'"/></xsl:call-template> + </xsl:param> + <xsl:value-of select="$issn"/> + <xsl:apply-templates mode="iso690.mode"/> + <xsl:value-of select="$stdnum.sep"/> +</xsl:template> + +<!-- Identification of patent document --> +<xsl:template name="iso690.pat.ident"> + <xsl:param name="patdate.sep"> + <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'patdate.sep'"/></xsl:call-template> + </xsl:param> + <xsl:apply-templates mode="iso690.mode" select="./address/country"/> + <xsl:apply-templates mode="iso690.mode" select="./bibliomisc[@role='patenttype']"/> + <xsl:choose> + <xsl:when test="./biblioid[@class='other' and @otherclass='patentnum']"> + <xsl:apply-templates mode="iso690.mode" select="./biblioid[@class='other' and @otherclass='patentnum']"/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates mode="iso690.mode" select="./bibliomisc[@role='patentnum']"/> + </xsl:otherwise> + </xsl:choose> + <xsl:apply-templates mode="iso690.mode" select="./pubdate[not(@role='issuing')]"> + <xsl:with-param name="sep" select="$patdate.sep"/> + </xsl:apply-templates> +</xsl:template> + +<!-- Country or issuing office --> +<xsl:template match="address/country" mode="iso690.mode"> + <xsl:param name="patcountry.sep"> + <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'patcountry.sep'"/></xsl:call-template> + </xsl:param> + <i> + <xsl:apply-templates mode="iso690.mode"/> + </i> + <xsl:value-of select="$patcountry.sep"/> +</xsl:template> + +<!-- Kind of patent document --> +<xsl:template match="bibliomisc[@role='patenttype']" mode="iso690.mode"> + <xsl:param name="pattype.sep"> + <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'pattype.sep'"/></xsl:call-template> + </xsl:param> + <i> + <xsl:apply-templates mode="iso690.mode"/> + </i> + <xsl:value-of select="$pattype.sep"/> +</xsl:template> + +<!-- Number --> +<xsl:template match="biblioid[@class='other' and @otherclass='patentnum']|bibliomisc[@role='patentnum']" mode="iso690.mode"> + <xsl:param name="patnum.sep"> + <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'patnum.sep'"/></xsl:call-template> + </xsl:param> + <xsl:apply-templates mode="iso690.mode"/> + <xsl:value-of select="$patnum.sep"/> +</xsl:template> + +<!-- ==================================================================== --> +<!-- Supplementary templates --> + +<xsl:template name="iso690.endsep"> + <xsl:param name="text"/> + <xsl:param name="sep" select=". "/> + <xsl:choose> + <xsl:when test="substring($text,string-length($text))!=substring($sep,1,1)"> + <xsl:value-of select="$sep"/> + </xsl:when> + <xsl:when test="substring($text,string-length($text))=' '"> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="' '"/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="*" mode="iso690.mode"> + <xsl:apply-templates select="."/><!-- try the default mode --> +</xsl:template> + +<!-- ==================================================================== --> + +</xsl:stylesheet> diff --git a/doc/help/xslt/html/biblio.xsl b/doc/help/xslt/html/biblio.xsl new file mode 100644 index 00000000..f145bb9e --- /dev/null +++ b/doc/help/xslt/html/biblio.xsl @@ -0,0 +1,1253 @@ +<?xml version='1.0'?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version='1.0'> + +<!-- ******************************************************************** + $Id: biblio.xsl 8421 2009-05-04 07:49:49Z bobstayton $ + ******************************************************************** + + This file is part of the XSL DocBook Stylesheet distribution. + See ../README or http://docbook.sf.net/release/xsl/current/ for + copyright and other information. + + ******************************************************************** --> + +<!-- ==================================================================== --> + +<xsl:template match="bibliography"> + <xsl:call-template name="id.warning"/> + + <div> + <xsl:call-template name="common.html.attributes"> + <xsl:with-param name="inherit" select="1"/> + </xsl:call-template> + <xsl:if test="$generate.id.attributes != 0"> + <xsl:attribute name="id"> + <xsl:call-template name="object.id"/> + </xsl:attribute> + </xsl:if> + + <xsl:call-template name="bibliography.titlepage"/> + + <xsl:apply-templates/> + + <xsl:if test="not(parent::article)"> + <xsl:call-template name="process.footnotes"/> + </xsl:if> + </div> +</xsl:template> + +<xsl:template match="bibliography/bibliographyinfo"></xsl:template> +<xsl:template match="bibliography/info"></xsl:template> +<xsl:template match="bibliography/title"></xsl:template> +<xsl:template match="bibliography/subtitle"></xsl:template> +<xsl:template match="bibliography/titleabbrev"></xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="bibliodiv"> + <xsl:call-template name="id.warning"/> + + <div> + <xsl:call-template name="common.html.attributes"> + <xsl:with-param name="inherit" select="0"/> + </xsl:call-template> + <xsl:apply-templates/> + </div> +</xsl:template> + +<xsl:template match="bibliodiv/title"> + <h3> + <xsl:call-template name="common.html.attributes"/> + <xsl:call-template name="anchor"> + <xsl:with-param name="node" select=".."/> + <xsl:with-param name="conditional" select="0"/> + </xsl:call-template> + <xsl:apply-templates/> + </h3> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="bibliolist"> + <div> + <xsl:call-template name="common.html.attributes"> + <xsl:with-param name="inherit" select="0"/> + </xsl:call-template> + <xsl:call-template name="anchor"/> + <xsl:if test="blockinfo/title|info/title|title"> + <xsl:call-template name="formal.object.heading"/> + </xsl:if> + <xsl:apply-templates select="*[not(self::blockinfo) + and not(self::info) + and not(self::title) + and not(self::titleabbrev) + and not(self::biblioentry) + and not(self::bibliomixed)]"/> + <xsl:apply-templates select="biblioentry|bibliomixed"/> + </div> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="biblioentry"> + <xsl:param name="label"> + <xsl:call-template name="biblioentry.label"/> + </xsl:param> + + <xsl:variable name="id"> + <xsl:call-template name="object.id"/> + </xsl:variable> + + <xsl:choose> + <xsl:when test="string(.) = ''"> + <xsl:variable name="bib" select="document($bibliography.collection,.)"/> + <xsl:variable name="entry" select="$bib/bibliography// + *[@id=$id or @xml:id=$id][1]"/> + <xsl:choose> + <xsl:when test="$entry"> + <xsl:choose> + <xsl:when test="$bibliography.numbered != 0"> + <xsl:apply-templates select="$entry"> + <xsl:with-param name="label" select="$label"/> + </xsl:apply-templates> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="$entry"/> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:otherwise> + <xsl:message> + <xsl:text>No bibliography entry: </xsl:text> + <xsl:value-of select="$id"/> + <xsl:text> found in </xsl:text> + <xsl:value-of select="$bibliography.collection"/> + </xsl:message> + <div> + <xsl:call-template name="common.html.attributes"/> + <xsl:call-template name="anchor"/> + <p> + <xsl:copy-of select="$label"/> + <xsl:text>Error: no bibliography entry: </xsl:text> + <xsl:value-of select="$id"/> + <xsl:text> found in </xsl:text> + <xsl:value-of select="$bibliography.collection"/> + </p> + </div> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:otherwise> + <div> + <xsl:call-template name="common.html.attributes"/> + <xsl:call-template name="anchor"> + <xsl:with-param name="conditional" select="0"/> + </xsl:call-template> + <p> + <xsl:copy-of select="$label"/> + <xsl:choose> + <xsl:when test="$bibliography.style = 'iso690'"> + <xsl:call-template name="iso690.makecitation"/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates mode="bibliography.mode"/> + </xsl:otherwise> + </xsl:choose> + </p> + </div> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="bibliomixed"> + <xsl:param name="label"> + <xsl:call-template name="biblioentry.label"/> + </xsl:param> + + <xsl:variable name="id"> + <xsl:call-template name="object.id"/> + </xsl:variable> + + <xsl:choose> + <xsl:when test="string(.) = ''"> + <xsl:variable name="bib" select="document($bibliography.collection,.)"/> + <xsl:variable name="entry" select="$bib/bibliography// + *[@id=$id or @xml:id=$id][1]"/> + <xsl:choose> + <xsl:when test="$entry"> + <xsl:choose> + <xsl:when test="$bibliography.numbered != 0"> + <xsl:apply-templates select="$entry"> + <xsl:with-param name="label" select="$label"/> + </xsl:apply-templates> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="$entry"/> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:otherwise> + <xsl:message> + <xsl:text>No bibliography entry: </xsl:text> + <xsl:value-of select="$id"/> + <xsl:text> found in </xsl:text> + <xsl:value-of select="$bibliography.collection"/> + </xsl:message> + <div> + <xsl:call-template name="common.html.attributes"/> + <xsl:call-template name="anchor"/> + <p> + <xsl:copy-of select="$label"/> + <xsl:text>Error: no bibliography entry: </xsl:text> + <xsl:value-of select="$id"/> + <xsl:text> found in </xsl:text> + <xsl:value-of select="$bibliography.collection"/> + </p> + </div> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:otherwise> + <div> + <xsl:call-template name="common.html.attributes"/> + <xsl:call-template name="anchor"> + <xsl:with-param name="conditional" select="0"/> + </xsl:call-template> + <p> + <xsl:call-template name="common.html.attributes"/> + <xsl:copy-of select="$label"/> + <xsl:apply-templates mode="bibliomixed.mode"/> + </p> + </div> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template name="biblioentry.label"> + <xsl:param name="node" select="."/> + + <xsl:choose> + <xsl:when test="$bibliography.numbered != 0"> + <xsl:text>[</xsl:text> + <xsl:number from="bibliography" count="biblioentry|bibliomixed" + level="any" format="1"/> + <xsl:text>] </xsl:text> + </xsl:when> + <xsl:when test="local-name($node/child::*[1]) = 'abbrev'"> + <xsl:text>[</xsl:text> + <xsl:apply-templates select="$node/abbrev[1]"/> + <xsl:text>] </xsl:text> + </xsl:when> + <xsl:when test="$node/@xreflabel"> + <xsl:text>[</xsl:text> + <xsl:value-of select="$node/@xreflabel"/> + <xsl:text>] </xsl:text> + </xsl:when> + <xsl:when test="$node/@id"> + <xsl:text>[</xsl:text> + <xsl:value-of select="$node/@id"/> + <xsl:text>] </xsl:text> + </xsl:when> + <xsl:when test="$node/@xml:id"> + <xsl:text>[</xsl:text> + <xsl:value-of select="$node/@xml:id"/> + <xsl:text>] </xsl:text> + </xsl:when> + <xsl:otherwise><!-- nop --></xsl:otherwise> + </xsl:choose> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="*" mode="bibliography.mode"> + <xsl:apply-templates select="."/><!-- try the default mode --> +</xsl:template> + +<xsl:template match="abbrev" mode="bibliography.mode"> + <xsl:if test="preceding-sibling::*"> + <xsl:apply-templates mode="bibliography.mode"/> + </xsl:if> +</xsl:template> + +<xsl:template match="abstract" mode="bibliography.mode"> + <!-- suppressed --> +</xsl:template> + +<xsl:template match="address" mode="bibliography.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:copy-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="affiliation" mode="bibliography.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:copy-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="shortaffil" mode="bibliography.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:copy-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="jobtitle" mode="bibliography.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:copy-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="artheader|articleinfo|info" mode="bibliography.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:copy-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="artpagenums" mode="bibliography.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:copy-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="author" mode="bibliography.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:call-template name="person.name"/> + <xsl:copy-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="authorblurb|personblurb" mode="bibliography.mode"> + <!-- suppressed --> +</xsl:template> + +<xsl:template match="authorgroup" mode="bibliography.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:call-template name="person.name.list"/> + <xsl:copy-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="authorinitials" mode="bibliography.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:copy-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="bibliomisc" mode="bibliography.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:copy-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="bibliomset" mode="bibliography.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:copy-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<!-- ================================================== --> + +<xsl:template match="biblioset" mode="bibliography.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliography.mode"/> + </span> +</xsl:template> + +<xsl:template match="biblioset/title|biblioset/citetitle" + mode="bibliography.mode"> + <xsl:variable name="relation" select="../@relation"/> + <xsl:choose> + <xsl:when test="$relation='article' or @pubwork='article'"> + <xsl:call-template name="gentext.startquote"/> + <xsl:apply-templates/> + <xsl:call-template name="gentext.endquote"/> + </xsl:when> + <xsl:otherwise> + <i><xsl:apply-templates/></i> + </xsl:otherwise> + </xsl:choose> + <xsl:copy-of select="$biblioentry.item.separator"/> +</xsl:template> + +<!-- ================================================== --> + +<xsl:template match="bookbiblio" mode="bibliography.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:copy-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="citetitle" mode="bibliography.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:choose> + <xsl:when test="@pubwork = 'article'"> + <xsl:call-template name="gentext.startquote"/> + <xsl:call-template name="inline.charseq"/> + <xsl:call-template name="gentext.endquote"/> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="inline.italicseq"/> + </xsl:otherwise> + </xsl:choose> + <xsl:copy-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="collab" mode="bibliography.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:copy-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="collabname" mode="bibliography.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:copy-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="confgroup" mode="bibliography.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:copy-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="confdates" mode="bibliography.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:copy-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="conftitle" mode="bibliography.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:copy-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="confnum" mode="bibliography.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:copy-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="confsponsor" mode="bibliography.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:copy-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="contractnum" mode="bibliography.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:copy-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="contractsponsor" mode="bibliography.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:copy-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="contrib" mode="bibliography.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:copy-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<!-- ================================================== --> + +<xsl:template match="copyright" mode="bibliography.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:call-template name="gentext"> + <xsl:with-param name="key" select="'Copyright'"/> + </xsl:call-template> + <xsl:call-template name="gentext.space"/> + <xsl:call-template name="dingbat"> + <xsl:with-param name="dingbat">copyright</xsl:with-param> + </xsl:call-template> + <xsl:call-template name="gentext.space"/> + <xsl:apply-templates select="year" mode="bibliography.mode"/> + <xsl:if test="holder"> + <xsl:call-template name="gentext.space"/> + <xsl:apply-templates select="holder" mode="bibliography.mode"/> + </xsl:if> + <xsl:copy-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="year" mode="bibliography.mode"> + <xsl:apply-templates/><xsl:text>, </xsl:text> +</xsl:template> + +<xsl:template match="year[position()=last()]" mode="bibliography.mode"> + <xsl:apply-templates/> +</xsl:template> + +<xsl:template match="holder" mode="bibliography.mode"> + <xsl:apply-templates/> +</xsl:template> + +<!-- ================================================== --> + +<xsl:template match="corpauthor" mode="bibliography.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:copy-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="corpcredit" mode="bibliography.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:copy-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="corpname" mode="bibliography.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:copy-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="date" mode="bibliography.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:copy-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="edition" mode="bibliography.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:copy-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="editor" mode="bibliography.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:call-template name="person.name"/> + <xsl:copy-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="firstname" mode="bibliography.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:copy-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="honorific" mode="bibliography.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:copy-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="indexterm" mode="bibliography.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:copy-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="invpartnumber" mode="bibliography.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:copy-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="isbn" mode="bibliography.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:copy-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="issn" mode="bibliography.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:copy-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="issuenum" mode="bibliography.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:copy-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="lineage" mode="bibliography.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:copy-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="orgname" mode="bibliography.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:copy-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="orgdiv" mode="bibliography.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:copy-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="othercredit" mode="bibliography.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:copy-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="othername" mode="bibliography.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:copy-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="pagenums" mode="bibliography.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:copy-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="printhistory" mode="bibliography.mode"> + <!-- suppressed --> +</xsl:template> + +<xsl:template match="productname" mode="bibliography.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:copy-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="productnumber" mode="bibliography.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:copy-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="pubdate" mode="bibliography.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:copy-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="publisher" mode="bibliography.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliography.mode"/> + </span> +</xsl:template> + +<xsl:template match="publishername" mode="bibliography.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:copy-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="pubsnumber" mode="bibliography.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:copy-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="releaseinfo" mode="bibliography.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:copy-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="revhistory" mode="bibliography.mode"> + <!-- suppressed; how could this be represented? --> +</xsl:template> + +<xsl:template match="seriesinfo" mode="bibliography.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliography.mode"/> + </span> +</xsl:template> + +<xsl:template match="seriesvolnums" mode="bibliography.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:copy-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="subtitle" mode="bibliography.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:copy-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="surname" mode="bibliography.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:copy-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="title" mode="bibliography.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <i><xsl:apply-templates mode="bibliography.mode"/></i> + <xsl:copy-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="titleabbrev" mode="bibliography.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:copy-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="volumenum" mode="bibliography.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:copy-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="bibliocoverage|biblioid|bibliorelation|bibliosource" + mode="bibliography.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:copy-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<!-- See FR #1934434 and http://doi.org --> +<xsl:template match="biblioid[@class='doi']" + mode="bibliography.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <a href="{concat('http://dx.doi.org/', .)}">doi:<xsl:value-of select="."/></a> + </span> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="*" mode="bibliomixed.mode"> + <xsl:apply-templates select="."/><!-- try the default mode --> +</xsl:template> + +<xsl:template match="abbrev" mode="bibliomixed.mode"> + <xsl:if test="preceding-sibling::*"> + <xsl:apply-templates mode="bibliomixed.mode"/> + </xsl:if> +</xsl:template> + +<xsl:template match="abstract" mode="bibliomixed.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="address" mode="bibliomixed.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="affiliation" mode="bibliomixed.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="shortaffil" mode="bibliomixed.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="jobtitle" mode="bibliomixed.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="artpagenums" mode="bibliomixed.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="author" mode="bibliomixed.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="authorblurb|personblurb" mode="bibliomixed.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="authorgroup" mode="bibliomixed.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="authorinitials" mode="bibliomixed.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="bibliomisc" mode="bibliomixed.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<!-- ================================================== --> + +<xsl:template match="bibliomset" mode="bibliomixed.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="bibliomset/title|bibliomset/citetitle" + mode="bibliomixed.mode"> + <xsl:variable name="relation" select="../@relation"/> + <xsl:choose> + <xsl:when test="$relation='article' or @pubwork='article'"> + <xsl:call-template name="gentext.startquote"/> + <xsl:apply-templates/> + <xsl:call-template name="gentext.endquote"/> + </xsl:when> + <xsl:otherwise> + <i><xsl:apply-templates/></i> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<!-- ================================================== --> + +<xsl:template match="biblioset" mode="bibliomixed.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="citetitle" mode="bibliomixed.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:choose> + <xsl:when test="@pubwork = 'article'"> + <xsl:call-template name="gentext.startquote"/> + <xsl:call-template name="inline.charseq"/> + <xsl:call-template name="gentext.endquote"/> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="inline.italicseq"/> + </xsl:otherwise> + </xsl:choose> + </span> +</xsl:template> + + +<xsl:template match="collab" mode="bibliomixed.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="confgroup" mode="bibliomixed.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="contractnum" mode="bibliomixed.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="contractsponsor" mode="bibliomixed.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="contrib" mode="bibliomixed.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="copyright" mode="bibliomixed.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="corpauthor" mode="bibliomixed.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="corpcredit" mode="bibliomixed.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="corpname" mode="bibliomixed.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="date" mode="bibliomixed.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="edition" mode="bibliomixed.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="editor" mode="bibliomixed.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="firstname" mode="bibliomixed.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="honorific" mode="bibliomixed.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="indexterm" mode="bibliomixed.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="invpartnumber" mode="bibliomixed.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="isbn" mode="bibliomixed.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="issn" mode="bibliomixed.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="issuenum" mode="bibliomixed.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="lineage" mode="bibliomixed.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="orgname" mode="bibliomixed.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="othercredit" mode="bibliomixed.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="othername" mode="bibliomixed.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="pagenums" mode="bibliomixed.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="printhistory" mode="bibliomixed.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="productname" mode="bibliomixed.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="productnumber" mode="bibliomixed.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="pubdate" mode="bibliomixed.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="publisher" mode="bibliomixed.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="publishername" mode="bibliomixed.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="pubsnumber" mode="bibliomixed.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="releaseinfo" mode="bibliomixed.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="revhistory" mode="bibliomixed.mode"> + <!-- suppressed; how could this be represented? --> +</xsl:template> + +<xsl:template match="seriesvolnums" mode="bibliomixed.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="subtitle" mode="bibliomixed.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="surname" mode="bibliomixed.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="title" mode="bibliomixed.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="titleabbrev" mode="bibliomixed.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="volumenum" mode="bibliomixed.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="bibliocoverage|biblioid|bibliorelation|bibliosource" + mode="bibliomixed.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<!-- See FR #1934434 and http://doi.org --> +<xsl:template match="biblioid[@class='doi']" + mode="bibliomixed.mode"> + <span> + <xsl:call-template name="common.html.attributes"/> + <a href="{concat('http://dx.doi.org/', .)}">doi:<xsl:value-of select="."/></a> + </span> +</xsl:template> + +<!-- ==================================================================== --> + +</xsl:stylesheet> diff --git a/doc/help/xslt/html/block.xsl b/doc/help/xslt/html/block.xsl new file mode 100644 index 00000000..c76beaf9 --- /dev/null +++ b/doc/help/xslt/html/block.xsl @@ -0,0 +1,538 @@ +<?xml version='1.0'?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version='1.0'> + +<!-- ******************************************************************** + $Id: block.xsl 8831 2010-08-13 17:08:49Z mzjn $ + ******************************************************************** + + This file is part of the XSL DocBook Stylesheet distribution. + See ../README or http://docbook.sf.net/release/xsl/current/ for + copyright and other information. + + ******************************************************************** --> + +<!-- ==================================================================== --> +<!-- What should we do about styling blockinfo? --> + +<xsl:template match="blockinfo|info"> + <!-- suppress --> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template name="block.object"> + <div> + <xsl:call-template name="common.html.attributes"/> + <xsl:call-template name="anchor"/> + <xsl:apply-templates/> + </div> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="para"> + <xsl:call-template name="paragraph"> + <xsl:with-param name="class"> + <xsl:if test="@role and $para.propagates.style != 0"> + <xsl:value-of select="@role"/> + </xsl:if> + </xsl:with-param> + <xsl:with-param name="content"> + <xsl:if test="position() = 1 and parent::listitem"> + <xsl:call-template name="anchor"> + <xsl:with-param name="node" select="parent::listitem"/> + </xsl:call-template> + </xsl:if> + + <xsl:call-template name="anchor"/> + <xsl:apply-templates/> + </xsl:with-param> + </xsl:call-template> +</xsl:template> + +<xsl:template name="paragraph"> + <xsl:param name="class" select="''"/> + <xsl:param name="content"/> + + <xsl:variable name="p"> + <p> + <xsl:choose> + <xsl:when test="$class != ''"> + <xsl:call-template name="common.html.attributes"> + <xsl:with-param name="class" select="$class"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="locale.html.attributes"/> + </xsl:otherwise> + </xsl:choose> + <xsl:copy-of select="$content"/> + </p> + </xsl:variable> + + <xsl:choose> + <xsl:when test="$html.cleanup != 0"> + <xsl:call-template name="unwrap.p"> + <xsl:with-param name="p" select="$p"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:copy-of select="$p"/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="simpara"> + <!-- see also listitem/simpara in lists.xsl --> + <p> + <xsl:call-template name="locale.html.attributes"/> + <xsl:if test="@role and $para.propagates.style != 0"> + <xsl:apply-templates select="." mode="class.attribute"> + <xsl:with-param name="class" select="@role"/> + </xsl:apply-templates> + </xsl:if> + + <xsl:call-template name="anchor"/> + <xsl:apply-templates/> + </p> +</xsl:template> + +<xsl:template match="formalpara"> + <xsl:call-template name="paragraph"> + <xsl:with-param name="class"> + <xsl:if test="@role and $para.propagates.style != 0"> + <xsl:value-of select="@role"/> + </xsl:if> + </xsl:with-param> + <xsl:with-param name="content"> + <xsl:call-template name="anchor"/> + <xsl:apply-templates/> + </xsl:with-param> + </xsl:call-template> +</xsl:template> + +<!-- Only use title from info --> +<xsl:template match="formalpara/info"> + <xsl:apply-templates select="title"/> +</xsl:template> + +<xsl:template match="formalpara/title|formalpara/info/title"> + <xsl:variable name="titleStr"> + <xsl:apply-templates/> + </xsl:variable> + <xsl:variable name="lastChar"> + <xsl:if test="$titleStr != ''"> + <xsl:value-of select="substring($titleStr,string-length($titleStr),1)"/> + </xsl:if> + </xsl:variable> + + <xsl:choose> + <xsl:when test="$make.clean.html != 0"> + <span class="formalpara-title"> + <xsl:copy-of select="$titleStr"/> + <xsl:if test="$lastChar != '' + and not(contains($runinhead.title.end.punct, $lastChar))"> + <xsl:value-of select="$runinhead.default.title.end.punct"/> + </xsl:if> + <xsl:text> </xsl:text> + </span> + </xsl:when> + <xsl:otherwise> + <b> + <xsl:copy-of select="$titleStr"/> + <xsl:if test="$lastChar != '' + and not(contains($runinhead.title.end.punct, $lastChar))"> + <xsl:value-of select="$runinhead.default.title.end.punct"/> + </xsl:if> + <xsl:text> </xsl:text> + </b> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="formalpara/para"> + <xsl:apply-templates/> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="blockquote"> + <div> + <xsl:call-template name="common.html.attributes"/> + <xsl:call-template name="anchor"/> + + <xsl:choose> + <xsl:when test="attribution"> + <table border="0" width="100%" + cellspacing="0" cellpadding="0" class="blockquote" + summary="Block quote"> + <tr> + <td width="10%" valign="top"> </td> + <td width="80%" valign="top"> + <xsl:apply-templates select="child::*[local-name(.)!='attribution']"/> + </td> + <td width="10%" valign="top"> </td> + </tr> + <tr> + <td width="10%" valign="top"> </td> + <td colspan="2" align="{$direction.align.end}" valign="top"> + <xsl:text>--</xsl:text> + <xsl:apply-templates select="attribution"/> + </td> + </tr> + </table> + </xsl:when> + <xsl:otherwise> + <blockquote> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates/> + </blockquote> + </xsl:otherwise> + </xsl:choose> + </div> +</xsl:template> + +<xsl:template match="blockquote/title|blockquote/info/title"> + <xsl:choose> + <xsl:when test="$make.clean.html != 0"> + <div class="blockquote-title"> + <xsl:apply-templates/> + </div> + </xsl:when> + <xsl:otherwise> + <div class="blockquote-title"> + <p> + <b> + <xsl:apply-templates/> + </b> + </p> + </div> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<!-- Use an em dash per Chicago Manual of Style and https://sourceforge.net/tracker/index.php?func=detail&aid=2793878&group_id=21935&atid=373747 --> +<xsl:template match="epigraph"> + <div> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates select="para|simpara|formalpara|literallayout"/> + <xsl:if test="attribution"> + <div class="attribution"> + <span>—<xsl:apply-templates select="attribution"/></span> + </div> + </xsl:if> + </div> +</xsl:template> + +<xsl:template match="attribution"> + <span> + <xsl:call-template name="common.html.attributes"/> + <xsl:apply-templates/> + </span> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="abstract|sidebar"> + <div> + <xsl:call-template name="common.html.attributes"/> + <xsl:call-template name="anchor"/> + <xsl:call-template name="sidebar.titlepage"/> + <xsl:apply-templates/> + </div> +</xsl:template> + +<xsl:template match="abstract/title|sidebar/title"> +</xsl:template> + +<xsl:template match="sidebar/sidebarinfo|sidebar/info"/> + +<!-- ==================================================================== --> + +<xsl:template match="msgset"> + <xsl:apply-templates/> +</xsl:template> + +<xsl:template match="msgentry"> + <xsl:call-template name="block.object"/> +</xsl:template> + +<xsl:template match="simplemsgentry"> + <xsl:call-template name="block.object"/> +</xsl:template> + +<xsl:template match="msg"> + <xsl:call-template name="block.object"/> +</xsl:template> + +<xsl:template match="msgmain"> + <xsl:apply-templates/> +</xsl:template> + +<xsl:template match="msgmain/title"> + <xsl:choose> + <xsl:when test="$make.clean.html != 0"> + <span class="msgmain-title"> + <xsl:apply-templates/> + </span> + </xsl:when> + <xsl:otherwise> + <b><xsl:apply-templates/></b> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="msgsub"> + <xsl:apply-templates/> +</xsl:template> + +<xsl:template match="msgsub/title"> + <xsl:choose> + <xsl:when test="$make.clean.html != 0"> + <span class="msgsub-title"> + <xsl:apply-templates/> + </span> + </xsl:when> + <xsl:otherwise> + <b><xsl:apply-templates/></b> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="msgrel"> + <xsl:apply-templates/> +</xsl:template> + +<xsl:template match="msgrel/title"> + <xsl:choose> + <xsl:when test="$make.clean.html != 0"> + <span class="msgrel-title"> + <xsl:apply-templates/> + </span> + </xsl:when> + <xsl:otherwise> + <b><xsl:apply-templates/></b> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="msgtext"> + <xsl:apply-templates/> +</xsl:template> + +<xsl:template match="msginfo"> + <xsl:call-template name="block.object"/> +</xsl:template> + +<xsl:template match="msglevel"> + <xsl:choose> + <xsl:when test="$make.clean.html != 0"> + <div class="msglevel"> + <span class="msglevel-title"> + <xsl:call-template name="gentext.template"> + <xsl:with-param name="context" select="'msgset'"/> + <xsl:with-param name="name" select="'MsgLevel'"/> + </xsl:call-template> + </span> + <xsl:apply-templates/> + </div> + </xsl:when> + <xsl:otherwise> + <p> + <b> + <xsl:call-template name="gentext.template"> + <xsl:with-param name="context" select="'msgset'"/> + <xsl:with-param name="name" select="'MsgLevel'"/> + </xsl:call-template> + </b> + <xsl:apply-templates/> + </p> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="msgorig"> + <xsl:choose> + <xsl:when test="$make.clean.html != 0"> + <div class="msgorig"> + <span class="msgorig-title"> + <xsl:call-template name="gentext.template"> + <xsl:with-param name="context" select="'msgset'"/> + <xsl:with-param name="name" select="'MsgOrig'"/> + </xsl:call-template> + </span> + <xsl:apply-templates/> + </div> + </xsl:when> + <xsl:otherwise> + <p> + <b> + <xsl:call-template name="gentext.template"> + <xsl:with-param name="context" select="'msgset'"/> + <xsl:with-param name="name" select="'MsgOrig'"/> + </xsl:call-template> + </b> + <xsl:apply-templates/> + </p> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="msgaud"> + <xsl:choose> + <xsl:when test="$make.clean.html != 0"> + <div class="msgaud"> + <span class="msgaud-title"> + <xsl:call-template name="gentext.template"> + <xsl:with-param name="context" select="'msgset'"/> + <xsl:with-param name="name" select="'MsgAud'"/> + </xsl:call-template> + </span> + <xsl:apply-templates/> + </div> + </xsl:when> + <xsl:otherwise> + <p> + <b> + <xsl:call-template name="gentext.template"> + <xsl:with-param name="context" select="'msgset'"/> + <xsl:with-param name="name" select="'MsgAud'"/> + </xsl:call-template> + </b> + <xsl:apply-templates/> + </p> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="msgexplan"> + <xsl:call-template name="block.object"/> +</xsl:template> + +<xsl:template match="msgexplan/title"> + <xsl:choose> + <xsl:when test="$make.clean.html != 0"> + <div class="msgexplan"> + <span class="msgexplan-title"> + <xsl:apply-templates/> + </span> + </div> + </xsl:when> + <xsl:otherwise> + <p> + <b> + <xsl:apply-templates/> + </b> + </p> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="revhistory"> + <div> + <xsl:call-template name="common.html.attributes"/> + <table border="0" width="100%" summary="Revision history"> + <tr> + <th align="{$direction.align.start}" valign="top" colspan="3"> + <b> + <xsl:call-template name="gentext"> + <xsl:with-param name="key" select="'RevHistory'"/> + </xsl:call-template> + </b> + </th> + </tr> + <xsl:apply-templates/> + </table> + </div> +</xsl:template> + +<xsl:template match="revhistory/revision"> + <xsl:variable name="revnumber" select="revnumber"/> + <xsl:variable name="revdate" select="date"/> + <xsl:variable name="revauthor" select="authorinitials|author"/> + <xsl:variable name="revremark" select="revremark|revdescription"/> + <tr> + <td align="{$direction.align.start}"> + <xsl:if test="$revnumber"> + <xsl:call-template name="gentext"> + <xsl:with-param name="key" select="'Revision'"/> + </xsl:call-template> + <xsl:call-template name="gentext.space"/> + <xsl:apply-templates select="$revnumber"/> + </xsl:if> + </td> + <td align="{$direction.align.start}"> + <xsl:apply-templates select="$revdate"/> + </td> + <xsl:choose> + <xsl:when test="count($revauthor)=0"> + <td align="{$direction.align.start}"> + <xsl:call-template name="dingbat"> + <xsl:with-param name="dingbat">nbsp</xsl:with-param> + </xsl:call-template> + </td> + </xsl:when> + <xsl:otherwise> + <td align="{$direction.align.start}"> + <xsl:for-each select="$revauthor"> + <xsl:apply-templates select="."/> + <xsl:if test="position() != last()"> + <xsl:text>, </xsl:text> + </xsl:if> + </xsl:for-each> + </td> + </xsl:otherwise> + </xsl:choose> + </tr> + <xsl:if test="$revremark"> + <tr> + <td align="{$direction.align.start}" colspan="3"> + <xsl:apply-templates select="$revremark"/> + </td> + </tr> + </xsl:if> +</xsl:template> + +<xsl:template match="revision/revnumber"> + <xsl:apply-templates/> +</xsl:template> + +<xsl:template match="revision/date"> + <xsl:apply-templates/> +</xsl:template> + +<xsl:template match="revision/authorinitials"> + <xsl:text>, </xsl:text> + <xsl:apply-templates/> +</xsl:template> + +<xsl:template match="revision/authorinitials[1]" priority="2"> + <xsl:apply-templates/> +</xsl:template> + +<xsl:template match="revision/revremark"> + <xsl:apply-templates/> +</xsl:template> + +<xsl:template match="revision/revdescription"> + <xsl:apply-templates/> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="ackno|acknowledgements[parent::article]"> + <xsl:call-template name="block.object"/> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="highlights"> + <xsl:call-template name="block.object"/> +</xsl:template> + +<!-- ==================================================================== --> + +</xsl:stylesheet> diff --git a/doc/help/xslt/html/callout.xsl b/doc/help/xslt/html/callout.xsl new file mode 100644 index 00000000..88a9bd0c --- /dev/null +++ b/doc/help/xslt/html/callout.xsl @@ -0,0 +1,201 @@ +<?xml version='1.0'?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:sverb="http://nwalsh.com/xslt/ext/com.nwalsh.saxon.Verbatim" + xmlns:xverb="xalan://com.nwalsh.xalan.Verbatim" + xmlns:lxslt="http://xml.apache.org/xslt" + exclude-result-prefixes="sverb xverb lxslt" + version='1.0'> + +<!-- ******************************************************************** + $Id: callout.xsl 8421 2009-05-04 07:49:49Z bobstayton $ + ******************************************************************** + + This file is part of the XSL DocBook Stylesheet distribution. + See ../README or http://docbook.sf.net/release/xsl/current/ for + copyright and other information. + + ******************************************************************** --> + +<lxslt:component prefix="xverb" + functions="insertCallouts"/> + +<xsl:template match="programlistingco|screenco"> + <xsl:variable name="verbatim" select="programlisting|screen"/> + + <xsl:choose> + <xsl:when test="$use.extensions != '0' + and $callouts.extension != '0'"> + <xsl:variable name="rtf"> + <xsl:apply-templates select="$verbatim"> + <xsl:with-param name="suppress-numbers" select="'1'"/> + </xsl:apply-templates> + </xsl:variable> + + <xsl:variable name="rtf-with-callouts"> + <xsl:choose> + <xsl:when test="function-available('sverb:insertCallouts')"> + <xsl:copy-of select="sverb:insertCallouts(areaspec,$rtf)"/> + </xsl:when> + <xsl:when test="function-available('xverb:insertCallouts')"> + <xsl:copy-of select="xverb:insertCallouts(areaspec,$rtf)"/> + </xsl:when> + <xsl:otherwise> + <xsl:message terminate="yes"> + <xsl:text>No insertCallouts function is available.</xsl:text> + </xsl:message> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:choose> + <xsl:when test="$verbatim/@linenumbering = 'numbered' + and $linenumbering.extension != '0'"> + <div> + <xsl:call-template name="common.html.attributes"/> + <xsl:call-template name="number.rtf.lines"> + <xsl:with-param name="rtf" select="$rtf-with-callouts"/> + <xsl:with-param name="pi.context" + select="programlisting|screen"/> + </xsl:call-template> + <xsl:apply-templates select="calloutlist"/> + </div> + </xsl:when> + <xsl:otherwise> + <div> + <xsl:call-template name="common.html.attributes"/> + <xsl:copy-of select="$rtf-with-callouts"/> + <xsl:apply-templates select="calloutlist"/> + </div> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:otherwise> + <div> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:apply-templates/> + </div> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="areaspec|areaset|area"> +</xsl:template> + +<xsl:template match="areaset" mode="conumber"> + <xsl:number count="area|areaset" format="1"/> +</xsl:template> + +<xsl:template match="area" mode="conumber"> + <xsl:number count="area|areaset" format="1"/> +</xsl:template> + +<xsl:template match="co" name="co"> + <!-- Support a single linkend in HTML --> + <xsl:variable name="targets" select="key('id', @linkends)"/> + <xsl:variable name="target" select="$targets[1]"/> + <xsl:choose> + <xsl:when test="$target"> + <a> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:if test="@id or @xml:id"> + <xsl:attribute name="name"> + <xsl:value-of select="(@id|@xml:id)[1]"/> + </xsl:attribute> + </xsl:if> + <xsl:attribute name="href"> + <xsl:call-template name="href.target"> + <xsl:with-param name="object" select="$target"/> + </xsl:call-template> + </xsl:attribute> + <xsl:apply-templates select="." mode="callout-bug"/> + </a> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="anchor"/> + <xsl:apply-templates select="." mode="callout-bug"/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="coref"> + <!-- tricky; this relies on the fact that we can process the "co" that's --> + <!-- "over there" as if it were "right here" --> + + <xsl:variable name="co" select="key('id', @linkend)"/> + <xsl:choose> + <xsl:when test="not($co)"> + <xsl:message> + <xsl:text>Error: coref link is broken: </xsl:text> + <xsl:value-of select="@linkend"/> + </xsl:message> + </xsl:when> + <xsl:when test="local-name($co) != 'co'"> + <xsl:message> + <xsl:text>Error: coref doesn't point to a co: </xsl:text> + <xsl:value-of select="@linkend"/> + </xsl:message> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="$co"/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="co" mode="callout-bug"> + <xsl:call-template name="callout-bug"> + <xsl:with-param name="conum"> + <xsl:number count="co" + level="any" + from="programlisting|screen|literallayout|synopsis" + format="1"/> + </xsl:with-param> + </xsl:call-template> +</xsl:template> + +<xsl:template name="callout-bug"> + <xsl:param name="conum" select='1'/> + + <xsl:choose> + <xsl:when test="$callout.graphics != 0 + and $conum <= $callout.graphics.number.limit"> + <img src="{$callout.graphics.path}{$conum}{$callout.graphics.extension}" + alt="{$conum}" border="0"/> + </xsl:when> + <xsl:when test="$callout.unicode != 0 + and $conum <= $callout.unicode.number.limit"> + <xsl:choose> + <xsl:when test="$callout.unicode.start.character = 10102"> + <xsl:choose> + <xsl:when test="$conum = 1">❶</xsl:when> + <xsl:when test="$conum = 2">❷</xsl:when> + <xsl:when test="$conum = 3">❸</xsl:when> + <xsl:when test="$conum = 4">❹</xsl:when> + <xsl:when test="$conum = 5">❺</xsl:when> + <xsl:when test="$conum = 6">❻</xsl:when> + <xsl:when test="$conum = 7">❼</xsl:when> + <xsl:when test="$conum = 8">❽</xsl:when> + <xsl:when test="$conum = 9">❾</xsl:when> + <xsl:when test="$conum = 10">❿</xsl:when> + </xsl:choose> + </xsl:when> + <xsl:otherwise> + <xsl:message> + <xsl:text>Don't know how to generate Unicode callouts </xsl:text> + <xsl:text>when $callout.unicode.start.character is </xsl:text> + <xsl:value-of select="$callout.unicode.start.character"/> + </xsl:message> + <xsl:text>(</xsl:text> + <xsl:value-of select="$conum"/> + <xsl:text>)</xsl:text> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:otherwise> + <xsl:text>(</xsl:text> + <xsl:value-of select="$conum"/> + <xsl:text>)</xsl:text> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +</xsl:stylesheet> diff --git a/doc/help/xslt/html/changebars.xsl b/doc/help/xslt/html/changebars.xsl new file mode 100644 index 00000000..dae1cc32 --- /dev/null +++ b/doc/help/xslt/html/changebars.xsl @@ -0,0 +1,121 @@ +<?xml version="1.0"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version="1.0"> + +<!-- ******************************************************************** + $Id: changebars.xsl 8128 2008-09-29 17:16:10Z mzjn $ + ******************************************************************** + + This file is part of the XSL DocBook Stylesheet distribution. + See ../README or http://docbook.sf.net/release/xsl/current/ for + copyright and other information. + + ******************************************************************** --> + +<!-- ==================================================================== --> +<xsl:import href="docbook.xsl"/> + +<xsl:param name="show.revisionflag" select="'1'"/> + +<xsl:template name="system.head.content"> +<xsl:param name="node" select="."/> + +<style type="text/css"> +<xsl:text> +div.added { background-color: #ffff99; + text-decoration: underline; } +div.deleted { text-decoration: line-through; + background-color: #FF7F7F; } +div.changed { background-color: #99ff99; } +div.off { } + +span.added { background-color: #ffff99; + text-decoration: underline; } +span.deleted { text-decoration: line-through; + background-color: #FF7F7F; } +span.changed { background-color: #99ff99; } +span.off { } +</xsl:text> +</style> +</xsl:template> + +<xsl:template match="*[@revisionflag]"> + <xsl:call-template name="block.or.inline.revision"/> +</xsl:template> + +<xsl:template name="block.or.inline.revision"> + <xsl:param name="revisionflag" select="@revisionflag"/> + + <xsl:choose> + <xsl:when test="local-name(.) = 'para' + or local-name(.) = 'formalpara' + or local-name(.) = 'simpara' + or local-name(.) = 'simplesect' + or local-name(.) = 'section' + or local-name(.) = 'sect1' + or local-name(.) = 'sect2' + or local-name(.) = 'sect3' + or local-name(.) = 'sect4' + or local-name(.) = 'sect5' + or local-name(.) = 'chapter' + or local-name(.) = 'preface' + or local-name(.) = 'itemizedlist' + or local-name(.) = 'orderedlist' + or local-name(.) = 'variablelist' + or local-name(.) = 'varlistentry' + or local-name(.) = 'informaltable' + or local-name(.) = 'informalexample' + or local-name(.) = 'note' + or local-name(.) = 'example' + or local-name(.) = 'mediaobject' + or local-name(.) = 'sidebar' + or local-name(.) = 'glossary' + or local-name(.) = 'glossentry' + or local-name(.) = 'bibliography' + or local-name(.) = 'index' + or local-name(.) = 'appendix'"> + <div class='{$revisionflag}'> + <xsl:apply-imports/> + </div> + </xsl:when> + <xsl:when test="local-name(.) = 'phrase' + or local-name(.) = 'ulink' + or local-name(.) = 'link' + or local-name(.) = 'olink' + or local-name(.) = 'inlinemediaobject' + or local-name(.) = 'filename' + or local-name(.) = 'literal' + or local-name(.) = 'member' + or local-name(.) = 'term' + or local-name(.) = 'guilabel' + or local-name(.) = 'glossterm' + or local-name(.) = 'sgmltag' + or local-name(.) = 'tag' + or local-name(.) = 'quote' + or local-name(.) = 'emphasis' + or local-name(.) = 'command' + or local-name(.) = 'xref'"> + <span class='{$revisionflag}'> + <xsl:apply-imports/> + </span> + </xsl:when> + <xsl:when test="local-name(.) = 'listitem' + or local-name(.) = 'entry' + or local-name(.) = 'title'"> + <!-- nop; these are handled directly in the stylesheet --> + <xsl:apply-imports/> + </xsl:when> + <xsl:otherwise> + <xsl:message> + <xsl:text>Revisionflag on unexpected element: </xsl:text> + <xsl:value-of select="local-name(.)"/> + <xsl:text> (Assuming block)</xsl:text> + </xsl:message> + <div class='{$revisionflag}'> + <xsl:apply-imports/> + </div> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +</xsl:stylesheet> diff --git a/doc/help/xslt/html/chunk-changebars.xsl b/doc/help/xslt/html/chunk-changebars.xsl new file mode 100644 index 00000000..6bfd3c07 --- /dev/null +++ b/doc/help/xslt/html/chunk-changebars.xsl @@ -0,0 +1,99 @@ +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:exsl="http://exslt.org/common" + xmlns:cf="http://docbook.sourceforge.net/xmlns/chunkfast/1.0" + version="1.0" + exclude-result-prefixes="exsl cf"> + +<!-- ******************************************************************** + $Id: chunk-changebars.xsl 8399 2009-04-08 07:37:42Z bobstayton $ + ******************************************************************** + + This file is part of the XSL DocBook Stylesheet distribution. + See ../README or http://docbook.sf.net/release/xsl/current/ for + copyright and other information. + + ******************************************************************** --> + +<!-- ==================================================================== --> + +<!-- This file is a variant of chunk.xsl, to be used for generating chunked + output with highlighting based on change markup. --> + +<xsl:import href="changebars.xsl"/> +<xsl:import href="chunk-common.xsl"/> + +<!-- This customization of "process-chunk-element" is needed in order to make change + highlighting be inherited by chunked children of an element with change markup. --> +<xsl:template name="process-chunk-element"> + <xsl:param name="content"> + <xsl:choose> + + <xsl:when test="ancestor-or-self::*[@revisionflag] and $show.revisionflag != 0"> + <xsl:variable name="revisionflag" select="ancestor-or-self::*[@revisionflag][1]/@revisionflag" /> + <xsl:call-template name="block.or.inline.revision"> + <xsl:with-param name="revisionflag" select="$revisionflag"/> + </xsl:call-template> + </xsl:when> + + <xsl:otherwise> + <xsl:apply-imports/> + </xsl:otherwise> + </xsl:choose> + </xsl:param> + + <xsl:choose> + <xsl:when test="$chunk.fast != 0 and $exsl.node.set.available != 0"> + <xsl:variable name="chunks" select="exsl:node-set($chunk.hierarchy)//cf:div"/> + <xsl:variable name="genid" select="generate-id()"/> + + <xsl:variable name="div" select="$chunks[@id=$genid or @xml:id=$genid]"/> + + <xsl:variable name="prevdiv" + select="($div/preceding-sibling::cf:div|$div/preceding::cf:div|$div/parent::cf:div)[last()]"/> + <xsl:variable name="prev" select="key('genid', ($prevdiv/@id|$prevdiv/@xml:id)[1])"/> + + <xsl:variable name="nextdiv" + select="($div/following-sibling::cf:div|$div/following::cf:div|$div/cf:div)[1]"/> + <xsl:variable name="next" select="key('genid', ($nextdiv/@id|$nextdiv/@xml:id)[1])"/> + + <xsl:choose> + <xsl:when test="$onechunk != 0 and parent::*"> + <xsl:copy-of select="$content"/> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="process-chunk"> + <xsl:with-param name="prev" select="$prev"/> + <xsl:with-param name="next" select="$next"/> + <xsl:with-param name="content" select="$content"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:otherwise> + <xsl:choose> + <xsl:when test="$onechunk != 0 and not(parent::*)"> + <xsl:call-template name="chunk-all-sections"> + <xsl:with-param name="content" select="$content"/> + </xsl:call-template> + </xsl:when> + <xsl:when test="$onechunk != 0"> + <xsl:copy-of select="$content"/> + </xsl:when> + <xsl:when test="$chunk.first.sections = 0"> + <xsl:call-template name="chunk-first-section-with-parent"> + <xsl:with-param name="content" select="$content"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="chunk-all-sections"> + <xsl:with-param name="content" select="$content"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:include href="chunk-code.xsl"/> + +</xsl:stylesheet> diff --git a/doc/help/xslt/html/chunk-code.xsl b/doc/help/xslt/html/chunk-code.xsl new file mode 100644 index 00000000..694e9fe8 --- /dev/null +++ b/doc/help/xslt/html/chunk-code.xsl @@ -0,0 +1,674 @@ +<?xml version="1.0"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:exsl="http://exslt.org/common" + xmlns:cf="http://docbook.sourceforge.net/xmlns/chunkfast/1.0" + xmlns:ng="http://docbook.org/docbook-ng" + xmlns:db="http://docbook.org/ns/docbook" + exclude-result-prefixes="exsl cf ng db" + version="1.0"> + +<!-- ******************************************************************** + $Id: chunk-code.xsl 8596 2010-03-20 04:36:45Z bobstayton $ + ******************************************************************** + + This file is part of the XSL DocBook Stylesheet distribution. + See ../README or http://docbook.sf.net/release/xsl/current/ for + copyright and other information. + + ******************************************************************** --> + +<!-- ==================================================================== --> + + +<xsl:template match="*" mode="chunk-filename"> + <!-- returns the filename of a chunk --> + <xsl:variable name="ischunk"> + <xsl:call-template name="chunk"/> + </xsl:variable> + + <xsl:variable name="fn"> + <xsl:apply-templates select="." mode="recursive-chunk-filename"/> + </xsl:variable> + + <!-- + <xsl:message> + <xsl:value-of select="$ischunk"/> + <xsl:text> (</xsl:text> + <xsl:value-of select="local-name(.)"/> + <xsl:text>) </xsl:text> + <xsl:value-of select="$fn"/> + <xsl:text>, </xsl:text> + <xsl:call-template name="dbhtml-dir"/> + </xsl:message> + --> + + <!-- 2003-11-25 by ndw: + The following test used to read test="$ischunk != 0 and $fn != ''" + I've removed the ischunk part of the test so that href.to.uri and + href.from.uri will be fully qualified even if the source or target + isn't a chunk. I *think* that if $fn != '' then it's appropriate + to put the directory on the front, even if the element isn't a + chunk. I could be wrong. --> + + <xsl:if test="$fn != ''"> + <xsl:call-template name="dbhtml-dir"/> + </xsl:if> + + <xsl:value-of select="$fn"/> + <!-- You can't add the html.ext here because dbhtml filename= may already --> + <!-- have added it. It really does have to be handled in the recursive template --> +</xsl:template> + +<xsl:template match="*" mode="recursive-chunk-filename"> + <xsl:param name="recursive" select="false()"/> + + <!-- returns the filename of a chunk --> + <xsl:variable name="ischunk"> + <xsl:call-template name="chunk"/> + </xsl:variable> + + <xsl:variable name="dbhtml-filename"> + <xsl:call-template name="pi.dbhtml_filename"/> + </xsl:variable> + + <xsl:variable name="filename"> + <xsl:choose> + <xsl:when test="$dbhtml-filename != ''"> + <xsl:value-of select="$dbhtml-filename"/> + </xsl:when> + <!-- if this is the root element, use the root.filename --> + <xsl:when test="not(parent::*) and $root.filename != ''"> + <xsl:value-of select="$root.filename"/> + <xsl:value-of select="$html.ext"/> + </xsl:when> + <!-- Special case --> + <xsl:when test="self::legalnotice and not($generate.legalnotice.link = 0)"> + <xsl:choose> + <xsl:when test="(@id or @xml:id) and not($use.id.as.filename = 0)"> + <!-- * if this legalnotice has an ID, then go ahead and use --> + <!-- * just the value of that ID as the basename for the file --> + <!-- * (that is, without prepending an "ln-" too it) --> + <xsl:value-of select="(@id|@xml:id)[1]"/> + <xsl:value-of select="$html.ext"/> + </xsl:when> + <xsl:otherwise> + <!-- * otherwise, if this legalnotice does not have an ID, --> + <!-- * then we generate an ID... --> + <xsl:variable name="id"> + <xsl:call-template name="object.id"/> + </xsl:variable> + <!-- * ...and then we take that generated ID, prepend an --> + <!-- * "ln-" to it, and use that as the basename for the file --> + <xsl:value-of select="concat('ln-',$id,$html.ext)"/> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <!-- if there's no dbhtml filename, and if we're to use IDs as --> + <!-- filenames, then use the ID to generate the filename. --> + <xsl:when test="(@id or @xml:id) and $use.id.as.filename != 0"> + <xsl:value-of select="(@id|@xml:id)[1]"/> + <xsl:value-of select="$html.ext"/> + </xsl:when> + <xsl:otherwise></xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:choose> + <xsl:when test="$ischunk='0'"> + <!-- if called on something that isn't a chunk, walk up... --> + <xsl:choose> + <xsl:when test="count(parent::*)>0"> + <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*"> + <xsl:with-param name="recursive" select="$recursive"/> + </xsl:apply-templates> + </xsl:when> + <!-- unless there is no up, in which case return "" --> + <xsl:otherwise></xsl:otherwise> + </xsl:choose> + </xsl:when> + + <xsl:when test="not($recursive) and $filename != ''"> + <!-- if this chunk has an explicit name, use it --> + <xsl:value-of select="$filename"/> + </xsl:when> + + <xsl:when test="self::set"> + <xsl:value-of select="$root.filename"/> + <xsl:if test="not($recursive)"> + <xsl:value-of select="$html.ext"/> + </xsl:if> + </xsl:when> + + <xsl:when test="self::book"> + <xsl:text>bk</xsl:text> + <xsl:number level="any" format="01"/> + <xsl:if test="not($recursive)"> + <xsl:value-of select="$html.ext"/> + </xsl:if> + </xsl:when> + + <xsl:when test="self::article"> + <xsl:if test="/set"> + <!-- in a set, make sure we inherit the right book info... --> + <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*"> + <xsl:with-param name="recursive" select="true()"/> + </xsl:apply-templates> + </xsl:if> + + <xsl:text>ar</xsl:text> + <xsl:number level="any" format="01" from="book"/> + <xsl:if test="not($recursive)"> + <xsl:value-of select="$html.ext"/> + </xsl:if> + </xsl:when> + + <xsl:when test="self::preface"> + <xsl:if test="/set"> + <!-- in a set, make sure we inherit the right book info... --> + <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*"> + <xsl:with-param name="recursive" select="true()"/> + </xsl:apply-templates> + </xsl:if> + + <xsl:text>pr</xsl:text> + <xsl:number level="any" format="01" from="book"/> + <xsl:if test="not($recursive)"> + <xsl:value-of select="$html.ext"/> + </xsl:if> + </xsl:when> + + <xsl:when test="self::chapter"> + <xsl:if test="/set"> + <!-- in a set, make sure we inherit the right book info... --> + <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*"> + <xsl:with-param name="recursive" select="true()"/> + </xsl:apply-templates> + </xsl:if> + + <xsl:text>ch</xsl:text> + <xsl:number level="any" format="01" from="book"/> + <xsl:if test="not($recursive)"> + <xsl:value-of select="$html.ext"/> + </xsl:if> + </xsl:when> + + <xsl:when test="self::appendix"> + <xsl:if test="/set"> + <!-- in a set, make sure we inherit the right book info... --> + <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*"> + <xsl:with-param name="recursive" select="true()"/> + </xsl:apply-templates> + </xsl:if> + + <xsl:text>ap</xsl:text> + <xsl:number level="any" format="a" from="book"/> + <xsl:if test="not($recursive)"> + <xsl:value-of select="$html.ext"/> + </xsl:if> + </xsl:when> + + <xsl:when test="self::part"> + <xsl:choose> + <xsl:when test="/set"> + <!-- in a set, make sure we inherit the right book info... --> + <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*"> + <xsl:with-param name="recursive" select="true()"/> + </xsl:apply-templates> + </xsl:when> + <xsl:otherwise> + </xsl:otherwise> + </xsl:choose> + + <xsl:text>pt</xsl:text> + <xsl:number level="any" format="01" from="book"/> + <xsl:if test="not($recursive)"> + <xsl:value-of select="$html.ext"/> + </xsl:if> + </xsl:when> + + <xsl:when test="self::reference"> + <xsl:choose> + <xsl:when test="/set"> + <!-- in a set, make sure we inherit the right book info... --> + <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*"> + <xsl:with-param name="recursive" select="true()"/> + </xsl:apply-templates> + </xsl:when> + <xsl:otherwise> + </xsl:otherwise> + </xsl:choose> + + <xsl:text>rn</xsl:text> + <xsl:number level="any" format="01" from="book"/> + <xsl:if test="not($recursive)"> + <xsl:value-of select="$html.ext"/> + </xsl:if> + </xsl:when> + + <xsl:when test="self::refentry"> + <xsl:choose> + <xsl:when test="parent::reference"> + <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*"> + <xsl:with-param name="recursive" select="true()"/> + </xsl:apply-templates> + </xsl:when> + <xsl:otherwise> + <xsl:if test="/set"> + <!-- in a set, make sure we inherit the right book info... --> + <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*"> + <xsl:with-param name="recursive" select="true()"/> + </xsl:apply-templates> + </xsl:if> + </xsl:otherwise> + </xsl:choose> + + <xsl:text>re</xsl:text> + <xsl:number level="any" format="01" from="book"/> + <xsl:if test="not($recursive)"> + <xsl:value-of select="$html.ext"/> + </xsl:if> + </xsl:when> + + <xsl:when test="self::colophon"> + <xsl:choose> + <xsl:when test="/set"> + <!-- in a set, make sure we inherit the right book info... --> + <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*"> + <xsl:with-param name="recursive" select="true()"/> + </xsl:apply-templates> + </xsl:when> + <xsl:otherwise> + </xsl:otherwise> + </xsl:choose> + + <xsl:text>co</xsl:text> + <xsl:number level="any" format="01" from="book"/> + <xsl:if test="not($recursive)"> + <xsl:value-of select="$html.ext"/> + </xsl:if> + </xsl:when> + + <xsl:when test="self::sect1 + or self::sect2 + or self::sect3 + or self::sect4 + or self::sect5 + or self::section"> + <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*"> + <xsl:with-param name="recursive" select="true()"/> + </xsl:apply-templates> + <xsl:text>s</xsl:text> + <xsl:number format="01"/> + <xsl:if test="not($recursive)"> + <xsl:value-of select="$html.ext"/> + </xsl:if> + </xsl:when> + + <xsl:when test="self::bibliography"> + <xsl:choose> + <xsl:when test="/set"> + <!-- in a set, make sure we inherit the right book info... --> + <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*"> + <xsl:with-param name="recursive" select="true()"/> + </xsl:apply-templates> + </xsl:when> + <xsl:otherwise> + </xsl:otherwise> + </xsl:choose> + + <xsl:text>bi</xsl:text> + <xsl:number level="any" format="01" from="book"/> + <xsl:if test="not($recursive)"> + <xsl:value-of select="$html.ext"/> + </xsl:if> + </xsl:when> + + <xsl:when test="self::glossary"> + <xsl:choose> + <xsl:when test="/set"> + <!-- in a set, make sure we inherit the right book info... --> + <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*"> + <xsl:with-param name="recursive" select="true()"/> + </xsl:apply-templates> + </xsl:when> + <xsl:otherwise> + </xsl:otherwise> + </xsl:choose> + + <xsl:text>go</xsl:text> + <xsl:number level="any" format="01" from="book"/> + <xsl:if test="not($recursive)"> + <xsl:value-of select="$html.ext"/> + </xsl:if> + </xsl:when> + + <xsl:when test="self::index"> + <xsl:choose> + <xsl:when test="/set"> + <!-- in a set, make sure we inherit the right book info... --> + <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*"> + <xsl:with-param name="recursive" select="true()"/> + </xsl:apply-templates> + </xsl:when> + <xsl:otherwise> + </xsl:otherwise> + </xsl:choose> + + <xsl:text>ix</xsl:text> + <xsl:number level="any" format="01" from="book"/> + <xsl:if test="not($recursive)"> + <xsl:value-of select="$html.ext"/> + </xsl:if> + </xsl:when> + + <xsl:when test="self::setindex"> + <xsl:text>si</xsl:text> + <xsl:number level="any" format="01" from="set"/> + <xsl:if test="not($recursive)"> + <xsl:value-of select="$html.ext"/> + </xsl:if> + </xsl:when> + + <xsl:otherwise> + <xsl:text>chunk-filename-error-</xsl:text> + <xsl:value-of select="name(.)"/> + <xsl:number level="any" format="01" from="set"/> + <xsl:if test="not($recursive)"> + <xsl:value-of select="$html.ext"/> + </xsl:if> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<!-- ==================================================================== --> + + + +<xsl:template match="processing-instruction('dbhtml')"> + <!-- nop --> +</xsl:template> + +<!-- ==================================================================== --> + + +<xsl:template match="*" mode="find.chunks"> + <xsl:variable name="chunk"> + <xsl:call-template name="chunk"/> + </xsl:variable> + + <xsl:choose> + <xsl:when test="$chunk != 0"> + <cf:div id="{generate-id()}"> + <xsl:apply-templates select="." mode="class.attribute"/> + <xsl:apply-templates select="*" mode="find.chunks"/> + </cf:div> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="*" mode="find.chunks"/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="/"> + <!-- * Get a title for current doc so that we let the user --> + <!-- * know what document we are processing at this point. --> + <xsl:variable name="doc.title"> + <xsl:call-template name="get.doc.title"/> + </xsl:variable> + <xsl:choose> + <!-- Hack! If someone hands us a DocBook V5.x or DocBook NG document, + toss the namespace and continue. Use the docbook5 namespaced + stylesheets for DocBook5 if you don't want to use this feature.--> + <xsl:when test="$exsl.node.set.available != 0 + and (*/self::ng:* or */self::db:*)"> + <xsl:call-template name="log.message"> + <xsl:with-param name="level">Note</xsl:with-param> + <xsl:with-param name="source" select="$doc.title"/> + <xsl:with-param name="context-desc"> + <xsl:text>namesp. cut</xsl:text> + </xsl:with-param> + <xsl:with-param name="message"> + <xsl:text>stripped namespace before processing</xsl:text> + </xsl:with-param> + </xsl:call-template> + <xsl:variable name="nons"> + <xsl:apply-templates mode="stripNS"/> + </xsl:variable> + <xsl:call-template name="log.message"> + <xsl:with-param name="level">Note</xsl:with-param> + <xsl:with-param name="source" select="$doc.title"/> + <xsl:with-param name="context-desc"> + <xsl:text>namesp. cut</xsl:text> + </xsl:with-param> + <xsl:with-param name="message"> + <xsl:text>processing stripped document</xsl:text> + </xsl:with-param> + </xsl:call-template> + <xsl:apply-templates select="exsl:node-set($nons)"/> + </xsl:when> + <!-- Can't process unless namespace removed --> + <xsl:when test="*/self::ng:* or */self::db:*"> + <xsl:message terminate="yes"> + <xsl:text>Unable to strip the namespace from DB5 document,</xsl:text> + <xsl:text> cannot proceed.</xsl:text> + </xsl:message> + </xsl:when> + <xsl:otherwise> + <xsl:choose> + <xsl:when test="$rootid != ''"> + <xsl:choose> + <xsl:when test="count(key('id',$rootid)) = 0"> + <xsl:message terminate="yes"> + <xsl:text>ID '</xsl:text> + <xsl:value-of select="$rootid"/> + <xsl:text>' not found in document.</xsl:text> + </xsl:message> + </xsl:when> + <xsl:otherwise> + <xsl:if test="$collect.xref.targets = 'yes' or + $collect.xref.targets = 'only'"> + <xsl:apply-templates select="key('id', $rootid)" + mode="collect.targets"/> + </xsl:if> + <xsl:if test="$collect.xref.targets != 'only'"> + <xsl:apply-templates select="key('id',$rootid)" + mode="process.root"/> + <xsl:if test="$tex.math.in.alt != ''"> + <xsl:apply-templates select="key('id',$rootid)" + mode="collect.tex.math"/> + </xsl:if> + <xsl:if test="$generate.manifest != 0"> + <xsl:call-template name="generate.manifest"> + <xsl:with-param name="node" select="key('id',$rootid)"/> + </xsl:call-template> + </xsl:if> + </xsl:if> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:otherwise> + <xsl:if test="$collect.xref.targets = 'yes' or + $collect.xref.targets = 'only'"> + <xsl:apply-templates select="/" mode="collect.targets"/> + </xsl:if> + <xsl:if test="$collect.xref.targets != 'only'"> + <xsl:apply-templates select="/" mode="process.root"/> + <xsl:if test="$tex.math.in.alt != ''"> + <xsl:apply-templates select="/" mode="collect.tex.math"/> + </xsl:if> + <xsl:if test="$generate.manifest != 0"> + <xsl:call-template name="generate.manifest"> + <xsl:with-param name="node" select="/"/> + </xsl:call-template> + </xsl:if> + </xsl:if> + </xsl:otherwise> + </xsl:choose> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="*" mode="process.root"> + <xsl:apply-templates select="."/> + <xsl:call-template name="generate.css"/> +</xsl:template> + +<!-- ====================================================================== --> + +<xsl:template match="set|book|part|preface|chapter|appendix + |article + |reference|refentry + |book/glossary|article/glossary|part/glossary + |book/bibliography|article/bibliography|part/bibliography + |colophon"> + <xsl:choose> + <xsl:when test="$onechunk != 0 and parent::*"> + <xsl:apply-imports/> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="process-chunk-element"/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="sect1|sect2|sect3|sect4|sect5|section"> + <xsl:variable name="ischunk"> + <xsl:call-template name="chunk"/> + </xsl:variable> + + <xsl:choose> + <xsl:when test="not(parent::*)"> + <xsl:call-template name="process-chunk-element"/> + </xsl:when> + <xsl:when test="$ischunk = 0"> + <xsl:apply-imports/> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="process-chunk-element"/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="setindex + |book/index + |article/index + |part/index"> + <!-- some implementations use completely empty index tags to indicate --> + <!-- where an automatically generated index should be inserted. so --> + <!-- if the index is completely empty, skip it. --> + <xsl:if test="count(*)>0 or $generate.index != '0'"> + <xsl:call-template name="process-chunk-element"/> + </xsl:if> +</xsl:template> + +<!-- Resolve xml:base attributes --> +<xsl:template match="@fileref"> + <!-- need a check for absolute urls --> + <xsl:choose> + <xsl:when test="contains(., ':')"> + <!-- it has a uri scheme so it is an absolute uri --> + <xsl:value-of select="."/> + </xsl:when> + <xsl:when test="$keep.relative.image.uris != 0"> + <!-- leave it alone --> + <xsl:value-of select="."/> + </xsl:when> + <xsl:otherwise> + <!-- its a relative uri --> + <xsl:call-template name="relative-uri"> + <xsl:with-param name="destdir"> + <xsl:call-template name="dbhtml-dir"> + <xsl:with-param name="context" select=".."/> + </xsl:call-template> + </xsl:with-param> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<!-- ==================================================================== --> +<xsl:template match="set|book|part|preface|chapter|appendix + |article + |reference|refentry + |sect1|sect2|sect3|sect4|sect5 + |section + |book/glossary|article/glossary|part/glossary + |book/bibliography|article/bibliography|part/bibliography + |colophon" + mode="enumerate-files"> + <xsl:variable name="ischunk"><xsl:call-template name="chunk"/></xsl:variable> + <xsl:if test="$ischunk='1'"> + <xsl:call-template name="make-relative-filename"> + <xsl:with-param name="base.dir"> + <xsl:if test="$manifest.in.base.dir = 0"> + <xsl:value-of select="$base.dir"/> + </xsl:if> + </xsl:with-param> + <xsl:with-param name="base.name"> + <xsl:apply-templates mode="chunk-filename" select="."/> + </xsl:with-param> + </xsl:call-template> + <xsl:text> </xsl:text> + </xsl:if> + <xsl:apply-templates select="*" mode="enumerate-files"/> +</xsl:template> + +<xsl:template match="book/index|article/index|part/index" + mode="enumerate-files"> + <xsl:if test="$htmlhelp.output != 1"> + <xsl:variable name="ischunk"><xsl:call-template name="chunk"/></xsl:variable> + <xsl:if test="$ischunk='1'"> + <xsl:call-template name="make-relative-filename"> + <xsl:with-param name="base.dir"> + <xsl:if test="$manifest.in.base.dir = 0"> + <xsl:value-of select="$base.dir"/> + </xsl:if> + </xsl:with-param> + <xsl:with-param name="base.name"> + <xsl:apply-templates mode="chunk-filename" select="."/> + </xsl:with-param> + </xsl:call-template> + <xsl:text> </xsl:text> + </xsl:if> + <xsl:apply-templates select="*" mode="enumerate-files"/> + </xsl:if> +</xsl:template> + +<xsl:template match="legalnotice" mode="enumerate-files"> + <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable> + <xsl:if test="$generate.legalnotice.link != 0"> + <xsl:call-template name="make-relative-filename"> + <xsl:with-param name="base.dir"> + <xsl:if test="$manifest.in.base.dir = 0"> + <xsl:value-of select="$base.dir"/> + </xsl:if> + </xsl:with-param> + <xsl:with-param name="base.name"> + <xsl:apply-templates mode="chunk-filename" select="."/> + </xsl:with-param> + </xsl:call-template> + <xsl:text> </xsl:text> + </xsl:if> +</xsl:template> + +<xsl:template match="mediaobject[imageobject] | inlinemediaobject[imageobject]" mode="enumerate-files"> + <xsl:variable name="longdesc.uri"> + <xsl:call-template name="longdesc.uri"> + <xsl:with-param name="mediaobject" + select="."/> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="mediaobject" select="."/> + + <xsl:if test="$html.longdesc != 0 and $mediaobject/textobject[not(phrase)]"> + <xsl:call-template name="longdesc.uri"> + <xsl:with-param name="mediaobject" select="$mediaobject"/> + </xsl:call-template> + <xsl:text> </xsl:text> + </xsl:if> +</xsl:template> + +<xsl:template match="text()" mode="enumerate-files"> +</xsl:template> + +</xsl:stylesheet> diff --git a/doc/help/xslt/html/chunk-common.xsl b/doc/help/xslt/html/chunk-common.xsl new file mode 100644 index 00000000..0ea2df56 --- /dev/null +++ b/doc/help/xslt/html/chunk-common.xsl @@ -0,0 +1,1920 @@ +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:exsl="http://exslt.org/common" + xmlns:cf="http://docbook.sourceforge.net/xmlns/chunkfast/1.0" + xmlns:ng="http://docbook.org/docbook-ng" + xmlns:db="http://docbook.org/ns/docbook" + version="1.0" + exclude-result-prefixes="exsl cf ng db"> + +<!-- ******************************************************************** + $Id: chunk-common.xsl 8551 2009-12-07 06:03:50Z bobstayton $ + ******************************************************************** + + This file is part of the XSL DocBook Stylesheet distribution. + See ../README or http://docbook.sf.net/release/xsl/current/ for + copyright and other information. + + ******************************************************************** --> + +<!-- ==================================================================== --> + +<xsl:param name="onechunk" select="0"/> +<xsl:param name="refentry.separator" select="0"/> +<xsl:param name="chunk.fast" select="0"/> + +<xsl:key name="genid" match="*" use="generate-id()"/> + +<!-- ==================================================================== --> + +<xsl:variable name="chunk.hierarchy"> + <xsl:if test="$chunk.fast != 0"> + <xsl:choose> + <xsl:when test="$exsl.node.set.available != 0"> + <xsl:message>Computing chunks...</xsl:message> + <xsl:apply-templates select="/*" mode="find.chunks"/> + </xsl:when> + <xsl:otherwise> + <xsl:message> + <xsl:text>Fast chunking requires exsl:node-set(). </xsl:text> + <xsl:text>Using "slow" chunking.</xsl:text> + </xsl:message> + </xsl:otherwise> + </xsl:choose> + </xsl:if> +</xsl:variable> + +<!-- ==================================================================== --> + +<xsl:template name="process-chunk-element"> + <xsl:param name="content"> + <xsl:apply-imports/> + </xsl:param> + + <xsl:choose> + <xsl:when test="$chunk.fast != 0 and $exsl.node.set.available != 0"> + <xsl:variable name="chunks" select="exsl:node-set($chunk.hierarchy)//cf:div"/> + <xsl:variable name="genid" select="generate-id()"/> + + <xsl:variable name="div" select="$chunks[@id=$genid or @xml:id=$genid]"/> + + <xsl:variable name="prevdiv" + select="($div/preceding-sibling::cf:div|$div/preceding::cf:div|$div/parent::cf:div)[last()]"/> + <xsl:variable name="prev" select="key('genid', ($prevdiv/@id|$prevdiv/@xml:id)[1])"/> + + <xsl:variable name="nextdiv" + select="($div/following-sibling::cf:div|$div/following::cf:div|$div/cf:div)[1]"/> + <xsl:variable name="next" select="key('genid', ($nextdiv/@id|$nextdiv/@xml:id)[1])"/> + + <xsl:choose> + <xsl:when test="$onechunk != 0 and parent::*"> + <xsl:copy-of select="$content"/> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="process-chunk"> + <xsl:with-param name="prev" select="$prev"/> + <xsl:with-param name="next" select="$next"/> + <xsl:with-param name="content" select="$content"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:otherwise> + <xsl:choose> + <xsl:when test="$onechunk != 0 and not(parent::*)"> + <xsl:call-template name="chunk-all-sections"> + <xsl:with-param name="content" select="$content"/> + </xsl:call-template> + </xsl:when> + <xsl:when test="$onechunk != 0"> + <xsl:copy-of select="$content"/> + </xsl:when> + <xsl:when test="$chunk.first.sections = 0"> + <xsl:call-template name="chunk-first-section-with-parent"> + <xsl:with-param name="content" select="$content"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="chunk-all-sections"> + <xsl:with-param name="content" select="$content"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template name="process-chunk"> + <xsl:param name="prev" select="."/> + <xsl:param name="next" select="."/> + <xsl:param name="content"> + <xsl:apply-imports/> + </xsl:param> + + <xsl:variable name="ischunk"> + <xsl:call-template name="chunk"/> + </xsl:variable> + + <xsl:variable name="chunkfn"> + <xsl:if test="$ischunk='1'"> + <xsl:apply-templates mode="chunk-filename" select="."/> + </xsl:if> + </xsl:variable> + + <xsl:if test="$ischunk='0'"> + <xsl:message> + <xsl:text>Error </xsl:text> + <xsl:value-of select="name(.)"/> + <xsl:text> is not a chunk!</xsl:text> + </xsl:message> + </xsl:if> + + <xsl:variable name="filename"> + <xsl:call-template name="make-relative-filename"> + <xsl:with-param name="base.dir" select="$base.dir"/> + <xsl:with-param name="base.name" select="$chunkfn"/> + </xsl:call-template> + </xsl:variable> + + <xsl:call-template name="write.chunk"> + <xsl:with-param name="filename" select="$filename"/> + <xsl:with-param name="content"> + <xsl:call-template name="chunk-element-content"> + <xsl:with-param name="prev" select="$prev"/> + <xsl:with-param name="next" select="$next"/> + <xsl:with-param name="content" select="$content"/> + </xsl:call-template> + </xsl:with-param> + <xsl:with-param name="quiet" select="$chunk.quietly"/> + </xsl:call-template> +</xsl:template> + +<xsl:template name="chunk-first-section-with-parent"> + <xsl:param name="content"> + <xsl:apply-imports/> + </xsl:param> + + <!-- These xpath expressions are really hairy. The trick is to pick sections --> + <!-- that are not first children and are not the children of first children --> + + <!-- Break these variables into pieces to work around + http://nagoya.apache.org/bugzilla/show_bug.cgi?id=6063 --> + + <xsl:variable name="prev-v1" + select="(ancestor::sect1[$chunk.section.depth > 0 + and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking']) + and preceding-sibling::sect1][1] + + |ancestor::sect2[$chunk.section.depth > 1 + and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking']) + and preceding-sibling::sect2 + and parent::sect1[preceding-sibling::sect1]][1] + + |ancestor::sect3[$chunk.section.depth > 2 + and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking']) + and preceding-sibling::sect3 + and parent::sect2[preceding-sibling::sect2] + and ancestor::sect1[preceding-sibling::sect1]][1] + + |ancestor::sect4[$chunk.section.depth > 3 + and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking']) + and preceding-sibling::sect4 + and parent::sect3[preceding-sibling::sect3] + and ancestor::sect2[preceding-sibling::sect2] + and ancestor::sect1[preceding-sibling::sect1]][1] + + |ancestor::sect5[$chunk.section.depth > 4 + and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking']) + and preceding-sibling::sect5 + and parent::sect4[preceding-sibling::sect4] + and ancestor::sect3[preceding-sibling::sect3] + and ancestor::sect2[preceding-sibling::sect2] + and ancestor::sect1[preceding-sibling::sect1]][1] + + |ancestor::section[$chunk.section.depth > count(ancestor::section) + and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking']) + and not(ancestor::section[not(preceding-sibling::section)])][1])[last()]"/> + + <xsl:variable name="prev-v2" + select="(preceding::sect1[$chunk.section.depth > 0 + and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking']) + and preceding-sibling::sect1][1] + + |preceding::sect2[$chunk.section.depth > 1 + and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking']) + and preceding-sibling::sect2 + and parent::sect1[preceding-sibling::sect1]][1] + + |preceding::sect3[$chunk.section.depth > 2 + and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking']) + and preceding-sibling::sect3 + and parent::sect2[preceding-sibling::sect2] + and ancestor::sect1[preceding-sibling::sect1]][1] + + |preceding::sect4[$chunk.section.depth > 3 + and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking']) + and preceding-sibling::sect4 + and parent::sect3[preceding-sibling::sect3] + and ancestor::sect2[preceding-sibling::sect2] + and ancestor::sect1[preceding-sibling::sect1]][1] + + |preceding::sect5[$chunk.section.depth > 4 + and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking']) + and preceding-sibling::sect5 + and parent::sect4[preceding-sibling::sect4] + and ancestor::sect3[preceding-sibling::sect3] + and ancestor::sect2[preceding-sibling::sect2] + and ancestor::sect1[preceding-sibling::sect1]][1] + + |preceding::section[$chunk.section.depth > count(ancestor::section) + and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking']) + and preceding-sibling::section + and not(ancestor::section[not(preceding-sibling::section)])][1])[last()]"/> + + <xsl:variable name="prev" + select="(preceding::book[1] + |preceding::preface[1] + |preceding::chapter[1] + |preceding::appendix[1] + |preceding::part[1] + |preceding::reference[1] + |preceding::refentry[1] + |preceding::colophon[1] + |preceding::article[1] + |preceding::bibliography[parent::article or parent::book or parent::part][1] + |preceding::glossary[parent::article or parent::book or parent::part][1] + |preceding::index[$generate.index != 0] + [parent::article or parent::book or parent::part][1] + |preceding::setindex[$generate.index != 0][1] + |ancestor::set + |ancestor::book[1] + |ancestor::preface[1] + |ancestor::chapter[1] + |ancestor::appendix[1] + |ancestor::part[1] + |ancestor::reference[1] + |ancestor::article[1] + |$prev-v1 + |$prev-v2)[last()]"/> + + <xsl:variable name="next-v1" + select="(following::sect1[$chunk.section.depth > 0 + and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking']) + and preceding-sibling::sect1][1] + + |following::sect2[$chunk.section.depth > 1 + and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking']) + and preceding-sibling::sect2 + and parent::sect1[preceding-sibling::sect1]][1] + + |following::sect3[$chunk.section.depth > 2 + and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking']) + and preceding-sibling::sect3 + and parent::sect2[preceding-sibling::sect2] + and ancestor::sect1[preceding-sibling::sect1]][1] + + |following::sect4[$chunk.section.depth > 3 + and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking']) + and preceding-sibling::sect4 + and parent::sect3[preceding-sibling::sect3] + and ancestor::sect2[preceding-sibling::sect2] + and ancestor::sect1[preceding-sibling::sect1]][1] + + |following::sect5[$chunk.section.depth > 4 + and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking']) + and preceding-sibling::sect5 + and parent::sect4[preceding-sibling::sect4] + and ancestor::sect3[preceding-sibling::sect3] + and ancestor::sect2[preceding-sibling::sect2] + and ancestor::sect1[preceding-sibling::sect1]][1] + + |following::section[$chunk.section.depth > count(ancestor::section) + and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking']) + and preceding-sibling::section + and not(ancestor::section[not(preceding-sibling::section)])][1])[1]"/> + + <xsl:variable name="next-v2" + select="(descendant::sect1[$chunk.section.depth > 0 + and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking']) + and preceding-sibling::sect1][1] + + |descendant::sect2[$chunk.section.depth > 1 + and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking']) + and preceding-sibling::sect2 + and parent::sect1[preceding-sibling::sect1]][1] + + |descendant::sect3[$chunk.section.depth > 2 + and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking']) + and preceding-sibling::sect3 + and parent::sect2[preceding-sibling::sect2] + and ancestor::sect1[preceding-sibling::sect1]][1] + + |descendant::sect4[$chunk.section.depth > 3 + and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking']) + and preceding-sibling::sect4 + and parent::sect3[preceding-sibling::sect3] + and ancestor::sect2[preceding-sibling::sect2] + and ancestor::sect1[preceding-sibling::sect1]][1] + + |descendant::sect5[$chunk.section.depth > 4 + and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking']) + and preceding-sibling::sect5 + and parent::sect4[preceding-sibling::sect4] + and ancestor::sect3[preceding-sibling::sect3] + and ancestor::sect2[preceding-sibling::sect2] + and ancestor::sect1[preceding-sibling::sect1]][1] + + |descendant::section[$chunk.section.depth > count(ancestor::section) + and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking']) + and preceding-sibling::section + and not(ancestor::section[not(preceding-sibling::section)])])[1]"/> + + <xsl:variable name="next" + select="(following::book[1] + |following::preface[1] + |following::chapter[1] + |following::appendix[1] + |following::part[1] + |following::reference[1] + |following::refentry[1] + |following::colophon[1] + |following::bibliography[parent::article or parent::book or parent::part][1] + |following::glossary[parent::article or parent::book or parent::part][1] + |following::index[$generate.index != 0] + [parent::article or parent::book or parent::part][1] + |following::article[1] + |following::setindex[$generate.index != 0][1] + |descendant::book[1] + |descendant::preface[1] + |descendant::chapter[1] + |descendant::appendix[1] + |descendant::article[1] + |descendant::bibliography[parent::article or parent::book or parent::part][1] + |descendant::glossary[parent::article or parent::book or parent::part][1] + |descendant::index[$generate.index != 0] + [parent::article or parent::book or parent::part][1] + |descendant::colophon[1] + |descendant::setindex[$generate.index != 0][1] + |descendant::part[1] + |descendant::reference[1] + |descendant::refentry[1] + |$next-v1 + |$next-v2)[1]"/> + + <xsl:call-template name="process-chunk"> + <xsl:with-param name="prev" select="$prev"/> + <xsl:with-param name="next" select="$next"/> + <xsl:with-param name="content" select="$content"/> + </xsl:call-template> +</xsl:template> + +<xsl:template name="chunk-all-sections"> + <xsl:param name="content"> + <xsl:apply-imports/> + </xsl:param> + + <xsl:variable name="prev-v1" + select="(preceding::sect1[$chunk.section.depth > 0 and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])][1] + |preceding::sect2[$chunk.section.depth > 1 and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])][1] + |preceding::sect3[$chunk.section.depth > 2 and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])][1] + |preceding::sect4[$chunk.section.depth > 3 and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])][1] + |preceding::sect5[$chunk.section.depth > 4 and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])][1] + |preceding::section[$chunk.section.depth > count(ancestor::section) and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])][1])[last()]"/> + + <xsl:variable name="prev-v2" + select="(ancestor::sect1[$chunk.section.depth > 0 and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])][1] + |ancestor::sect2[$chunk.section.depth > 1 and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])][1] + |ancestor::sect3[$chunk.section.depth > 2 and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])][1] + |ancestor::sect4[$chunk.section.depth > 3 and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])][1] + |ancestor::sect5[$chunk.section.depth > 4 and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])][1] + |ancestor::section[$chunk.section.depth > count(ancestor::section) and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])][1])[last()]"/> + + <xsl:variable name="prev" + select="(preceding::book[1] + |preceding::preface[1] + |preceding::chapter[1] + |preceding::appendix[1] + |preceding::part[1] + |preceding::reference[1] + |preceding::refentry[1] + |preceding::colophon[1] + |preceding::article[1] + |preceding::bibliography[parent::article or parent::book or parent::part][1] + |preceding::glossary[parent::article or parent::book or parent::part][1] + |preceding::index[$generate.index != 0] + [parent::article or parent::book or parent::part][1] + |preceding::setindex[$generate.index != 0][1] + |ancestor::set + |ancestor::book[1] + |ancestor::preface[1] + |ancestor::chapter[1] + |ancestor::appendix[1] + |ancestor::part[1] + |ancestor::reference[1] + |ancestor::article[1] + |$prev-v1 + |$prev-v2)[last()]"/> + + <xsl:variable name="next-v1" + select="(following::sect1[$chunk.section.depth > 0 and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])][1] + |following::sect2[$chunk.section.depth > 1 and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])][1] + |following::sect3[$chunk.section.depth > 2 and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])][1] + |following::sect4[$chunk.section.depth > 3 and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])][1] + |following::sect5[$chunk.section.depth > 4 and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])][1] + |following::section[$chunk.section.depth > count(ancestor::section) and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])][1])[1]"/> + + <xsl:variable name="next-v2" + select="(descendant::sect1[$chunk.section.depth > 0 and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])][1] + |descendant::sect2[$chunk.section.depth > 1 and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])][1] + |descendant::sect3[$chunk.section.depth > 2 and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])][1] + |descendant::sect4[$chunk.section.depth > 3 and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])][1] + |descendant::sect5[$chunk.section.depth > 4 and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])][1] + |descendant::section[$chunk.section.depth + > count(ancestor::section) and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])][1])[1]"/> + + <xsl:variable name="next" + select="(following::book[1] + |following::preface[1] + |following::chapter[1] + |following::appendix[1] + |following::part[1] + |following::reference[1] + |following::refentry[1] + |following::colophon[1] + |following::bibliography[parent::article or parent::book or parent::part][1] + |following::glossary[parent::article or parent::book or parent::part][1] + |following::index[$generate.index != 0] + [parent::article or parent::book][1] + |following::article[1] + |following::setindex[$generate.index != 0][1] + |descendant::book[1] + |descendant::preface[1] + |descendant::chapter[1] + |descendant::appendix[1] + |descendant::article[1] + |descendant::bibliography[parent::article or parent::book][1] + |descendant::glossary[parent::article or parent::book or parent::part][1] + |descendant::index[$generate.index != 0] + [parent::article or parent::book][1] + |descendant::colophon[1] + |descendant::setindex[$generate.index != 0][1] + |descendant::part[1] + |descendant::reference[1] + |descendant::refentry[1] + |$next-v1 + |$next-v2)[1]"/> + + <xsl:call-template name="process-chunk"> + <xsl:with-param name="prev" select="$prev"/> + <xsl:with-param name="next" select="$next"/> + <xsl:with-param name="content" select="$content"/> + </xsl:call-template> +</xsl:template> + +<!-- ==================================================================== --> + +<!-- ==================================================================== --> + +<xsl:template name="make.lots"> + <xsl:param name="toc.params" select="''"/> + <xsl:param name="toc"/> + + <xsl:variable name="lots"> + <xsl:if test="contains($toc.params, 'toc')"> + <xsl:copy-of select="$toc"/> + </xsl:if> + + <xsl:if test="contains($toc.params, 'figure')"> + <xsl:choose> + <xsl:when test="$chunk.separate.lots != '0'"> + <xsl:call-template name="make.lot.chunk"> + <xsl:with-param name="type" select="'figure'"/> + <xsl:with-param name="lot"> + <xsl:call-template name="list.of.titles"> + <xsl:with-param name="titles" select="'figure'"/> + <xsl:with-param name="nodes" select=".//figure"/> + </xsl:call-template> + </xsl:with-param> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="list.of.titles"> + <xsl:with-param name="titles" select="'figure'"/> + <xsl:with-param name="nodes" select=".//figure"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:if> + + <xsl:if test="contains($toc.params, 'table')"> + <xsl:choose> + <xsl:when test="$chunk.separate.lots != '0'"> + <xsl:call-template name="make.lot.chunk"> + <xsl:with-param name="type" select="'table'"/> + <xsl:with-param name="lot"> + <xsl:call-template name="list.of.titles"> + <xsl:with-param name="titles" select="'table'"/> + <xsl:with-param name="nodes" select=".//table"/> + </xsl:call-template> + </xsl:with-param> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="list.of.titles"> + <xsl:with-param name="titles" select="'table'"/> + <xsl:with-param name="nodes" select=".//table"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:if> + + <xsl:if test="contains($toc.params, 'example')"> + <xsl:choose> + <xsl:when test="$chunk.separate.lots != '0'"> + <xsl:call-template name="make.lot.chunk"> + <xsl:with-param name="type" select="'example'"/> + <xsl:with-param name="lot"> + <xsl:call-template name="list.of.titles"> + <xsl:with-param name="titles" select="'example'"/> + <xsl:with-param name="nodes" select=".//example"/> + </xsl:call-template> + </xsl:with-param> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="list.of.titles"> + <xsl:with-param name="titles" select="'example'"/> + <xsl:with-param name="nodes" select=".//example"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:if> + + <xsl:if test="contains($toc.params, 'equation')"> + <xsl:choose> + <xsl:when test="$chunk.separate.lots != '0'"> + <xsl:call-template name="make.lot.chunk"> + <xsl:with-param name="type" select="'equation'"/> + <xsl:with-param name="lot"> + <xsl:call-template name="list.of.titles"> + <xsl:with-param name="titles" select="'equation'"/> + <xsl:with-param name="nodes" select=".//equation[title or info/title]"/> + </xsl:call-template> + </xsl:with-param> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="list.of.titles"> + <xsl:with-param name="titles" select="'equation'"/> + <xsl:with-param name="nodes" select=".//equation[title or info/title]"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:if> + + <xsl:if test="contains($toc.params, 'procedure')"> + <xsl:choose> + <xsl:when test="$chunk.separate.lots != '0'"> + <xsl:call-template name="make.lot.chunk"> + <xsl:with-param name="type" select="'procedure'"/> + <xsl:with-param name="lot"> + <xsl:call-template name="list.of.titles"> + <xsl:with-param name="titles" select="'procedure'"/> + <xsl:with-param name="nodes" select=".//procedure[title]"/> + </xsl:call-template> + </xsl:with-param> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="list.of.titles"> + <xsl:with-param name="titles" select="'procedure'"/> + <xsl:with-param name="nodes" select=".//procedure[title]"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:if> + </xsl:variable> + + <xsl:if test="string($lots) != ''"> + <xsl:choose> + <xsl:when test="$chunk.tocs.and.lots != 0 and not(parent::*)"> + <xsl:call-template name="write.chunk"> + <xsl:with-param name="filename"> + <xsl:call-template name="make-relative-filename"> + <xsl:with-param name="base.dir" select="$base.dir"/> + <xsl:with-param name="base.name"> + <xsl:call-template name="dbhtml-dir"/> + <xsl:apply-templates select="." mode="recursive-chunk-filename"> + <xsl:with-param name="recursive" select="true()"/> + </xsl:apply-templates> + <xsl:text>-toc</xsl:text> + <xsl:value-of select="$html.ext"/> + </xsl:with-param> + </xsl:call-template> + </xsl:with-param> + <xsl:with-param name="content"> + <xsl:call-template name="chunk-element-content"> + <xsl:with-param name="prev" select="/foo"/> + <xsl:with-param name="next" select="/foo"/> + <xsl:with-param name="nav.context" select="'toc'"/> + <xsl:with-param name="content"> + <xsl:if test="$chunk.tocs.and.lots.has.title != 0"> + <h1> + <xsl:apply-templates select="." mode="object.title.markup"/> + </h1> + </xsl:if> + <xsl:copy-of select="$lots"/> + </xsl:with-param> + </xsl:call-template> + </xsl:with-param> + <xsl:with-param name="quiet" select="$chunk.quietly"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:copy-of select="$lots"/> + </xsl:otherwise> + </xsl:choose> + </xsl:if> +</xsl:template> + +<xsl:template name="make.lot.chunk"> + <xsl:param name="type" select="''"/> + <xsl:param name="lot"/> + + <xsl:if test="string($lot) != ''"> + <xsl:variable name="filename"> + <xsl:call-template name="make-relative-filename"> + <xsl:with-param name="base.dir" select="$base.dir"/> + <xsl:with-param name="base.name"> + <xsl:call-template name="dbhtml-dir"/> + <xsl:value-of select="$type"/> + <xsl:text>-toc</xsl:text> + <xsl:value-of select="$html.ext"/> + </xsl:with-param> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="href"> + <xsl:call-template name="make-relative-filename"> + <xsl:with-param name="base.name"> + <xsl:call-template name="dbhtml-dir"/> + <xsl:value-of select="$type"/> + <xsl:text>-toc</xsl:text> + <xsl:value-of select="$html.ext"/> + </xsl:with-param> + </xsl:call-template> + </xsl:variable> + + <xsl:call-template name="write.chunk"> + <xsl:with-param name="filename" select="$filename"/> + <xsl:with-param name="content"> + <xsl:call-template name="chunk-element-content"> + <xsl:with-param name="prev" select="/foo"/> + <xsl:with-param name="next" select="/foo"/> + <xsl:with-param name="nav.context" select="'toc'"/> + <xsl:with-param name="content"> + <xsl:copy-of select="$lot"/> + </xsl:with-param> + </xsl:call-template> + </xsl:with-param> + <xsl:with-param name="quiet" select="$chunk.quietly"/> + </xsl:call-template> + <!-- And output a link to this file --> + <div> + <xsl:attribute name="class"> + <xsl:text>ListofTitles</xsl:text> + </xsl:attribute> + <a href="{$href}"> + <xsl:call-template name="gentext"> + <xsl:with-param name="key"> + <xsl:choose> + <xsl:when test="$type='table'">ListofTables</xsl:when> + <xsl:when test="$type='figure'">ListofFigures</xsl:when> + <xsl:when test="$type='equation'">ListofEquations</xsl:when> + <xsl:when test="$type='example'">ListofExamples</xsl:when> + <xsl:when test="$type='procedure'">ListofProcedures</xsl:when> + <xsl:otherwise>ListofUnknown</xsl:otherwise> + </xsl:choose> + </xsl:with-param> + </xsl:call-template> + </a> + </div> + </xsl:if> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template name="in.other.chunk"> + <xsl:param name="chunk" select="."/> + <xsl:param name="node" select="."/> + + <xsl:variable name="is.chunk"> + <xsl:call-template name="chunk"> + <xsl:with-param name="node" select="$node"/> + </xsl:call-template> + </xsl:variable> + +<!-- + <xsl:message> + <xsl:text>in.other.chunk: </xsl:text> + <xsl:value-of select="name($chunk)"/> + <xsl:text> </xsl:text> + <xsl:value-of select="name($node)"/> + <xsl:text> </xsl:text> + <xsl:value-of select="$chunk = $node"/> + <xsl:text> </xsl:text> + <xsl:value-of select="$is.chunk"/> + </xsl:message> +--> + + <xsl:choose> + <xsl:when test="$chunk = $node">0</xsl:when> + <xsl:when test="$is.chunk = 1">1</xsl:when> + <xsl:when test="count($node) = 0">0</xsl:when> + <xsl:otherwise> + <xsl:call-template name="in.other.chunk"> + <xsl:with-param name="chunk" select="$chunk"/> + <xsl:with-param name="node" select="$node/parent::*"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template name="count.footnotes.in.this.chunk"> + <xsl:param name="node" select="."/> + <xsl:param name="footnotes" select="$node//footnote"/> + <xsl:param name="count" select="0"/> + +<!-- + <xsl:message> + <xsl:text>count.footnotes.in.this.chunk: </xsl:text> + <xsl:value-of select="name($node)"/> + </xsl:message> +--> + + <xsl:variable name="in.other.chunk"> + <xsl:call-template name="in.other.chunk"> + <xsl:with-param name="chunk" select="$node"/> + <xsl:with-param name="node" select="$footnotes[1]"/> + </xsl:call-template> + </xsl:variable> + + <xsl:choose> + <xsl:when test="count($footnotes) = 0"> + <xsl:value-of select="$count"/> + </xsl:when> + <xsl:otherwise> + <xsl:choose> + <xsl:when test="$in.other.chunk != 0"> + <xsl:call-template name="count.footnotes.in.this.chunk"> + <xsl:with-param name="node" select="$node"/> + <xsl:with-param name="footnotes" + select="$footnotes[position() > 1]"/> + <xsl:with-param name="count" select="$count"/> + </xsl:call-template> + </xsl:when> + <xsl:when test="$footnotes[1]/ancestor::table + |$footnotes[1]/ancestor::informaltable"> + <xsl:call-template name="count.footnotes.in.this.chunk"> + <xsl:with-param name="node" select="$node"/> + <xsl:with-param name="footnotes" + select="$footnotes[position() > 1]"/> + <xsl:with-param name="count" select="$count"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="count.footnotes.in.this.chunk"> + <xsl:with-param name="node" select="$node"/> + <xsl:with-param name="footnotes" + select="$footnotes[position() > 1]"/> + <xsl:with-param name="count" select="$count + 1"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template name="process.footnotes.in.this.chunk"> + <xsl:param name="node" select="."/> + <xsl:param name="footnotes" select="$node//footnote"/> + +<!-- + <xsl:message>process.footnotes.in.this.chunk</xsl:message> +--> + + <xsl:variable name="in.other.chunk"> + <xsl:call-template name="in.other.chunk"> + <xsl:with-param name="chunk" select="$node"/> + <xsl:with-param name="node" select="$footnotes[1]"/> + </xsl:call-template> + </xsl:variable> + + <xsl:choose> + <xsl:when test="count($footnotes) = 0"> + <!-- nop --> + </xsl:when> + <xsl:otherwise> + <xsl:choose> + <xsl:when test="$in.other.chunk != 0"> + <xsl:call-template name="process.footnotes.in.this.chunk"> + <xsl:with-param name="node" select="$node"/> + <xsl:with-param name="footnotes" + select="$footnotes[position() > 1]"/> + </xsl:call-template> + </xsl:when> + <xsl:when test="$footnotes[1]/ancestor::table + |$footnotes[1]/ancestor::informaltable"> + <xsl:call-template name="process.footnotes.in.this.chunk"> + <xsl:with-param name="node" select="$node"/> + <xsl:with-param name="footnotes" + select="$footnotes[position() > 1]"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="$footnotes[1]" + mode="process.footnote.mode"/> + <xsl:call-template name="process.footnotes.in.this.chunk"> + <xsl:with-param name="node" select="$node"/> + <xsl:with-param name="footnotes" + select="$footnotes[position() > 1]"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template name="process.footnotes"> + <xsl:variable name="footnotes" select=".//footnote"/> + <xsl:variable name="fcount"> + <xsl:call-template name="count.footnotes.in.this.chunk"> + <xsl:with-param name="node" select="."/> + <xsl:with-param name="footnotes" select="$footnotes"/> + </xsl:call-template> + </xsl:variable> + +<!-- + <xsl:message> + <xsl:value-of select="name(.)"/> + <xsl:text> fcount: </xsl:text> + <xsl:value-of select="$fcount"/> + </xsl:message> +--> + + <!-- Only bother to do this if there's at least one non-table footnote --> + <xsl:if test="$fcount > 0"> + <div class="footnotes"> + <br/> + <hr width="100" align="{$direction.align.start}"/> + <xsl:call-template name="process.footnotes.in.this.chunk"> + <xsl:with-param name="node" select="."/> + <xsl:with-param name="footnotes" select="$footnotes"/> + </xsl:call-template> + </div> + </xsl:if> + + <!-- FIXME: When chunking, only the annotations actually used + in this chunk should be referenced. I don't think it + does any harm to reference them all, but it adds + unnecessary bloat to each chunk. --> + <xsl:if test="$annotation.support != 0 and //annotation"> + <div class="annotation-list"> + <div class="annotation-nocss"> + <p>The following annotations are from this essay. You are seeing + them here because your browser doesn’t support the user-interface + techniques used to make them appear as ‘popups’ on modern browsers.</p> + </div> + + <xsl:apply-templates select="//annotation" + mode="annotation-popup"/> + </div> + </xsl:if> +</xsl:template> + +<xsl:template name="process.chunk.footnotes"> + <xsl:variable name="is.chunk"> + <xsl:call-template name="chunk"/> + </xsl:variable> + <xsl:if test="$is.chunk = 1"> + <xsl:call-template name="process.footnotes"/> + </xsl:if> +</xsl:template> + +<!-- ====================================================================== --> + +<xsl:template name="chunk"> + <xsl:param name="node" select="."/> + <!-- returns 1 if $node is a chunk --> + + <!-- ==================================================================== --> + <!-- What's a chunk? + + The root element + appendix + article + bibliography in article or part or book + book + chapter + colophon + glossary in article or part or book + index in article or part or book + part + preface + refentry + reference + sect{1,2,3,4,5} if position()>1 && depth < chunk.section.depth + section if position()>1 && depth < chunk.section.depth + set + setindex + --> + <!-- ==================================================================== --> + +<!-- + <xsl:message> + <xsl:text>chunk: </xsl:text> + <xsl:value-of select="name($node)"/> + <xsl:text>(</xsl:text> + <xsl:value-of select="$node/@id"/> + <xsl:text>)</xsl:text> + <xsl:text> csd: </xsl:text> + <xsl:value-of select="$chunk.section.depth"/> + <xsl:text> cfs: </xsl:text> + <xsl:value-of select="$chunk.first.sections"/> + <xsl:text> ps: </xsl:text> + <xsl:value-of select="count($node/parent::section)"/> + <xsl:text> prs: </xsl:text> + <xsl:value-of select="count($node/preceding-sibling::section)"/> + </xsl:message> +--> + + <xsl:choose> + <xsl:when test="$node/parent::*/processing-instruction('dbhtml')[normalize-space(.) = 'stop-chunking']">0</xsl:when> + <xsl:when test="not($node/parent::*)">1</xsl:when> + + <xsl:when test="local-name($node) = 'sect1' + and $chunk.section.depth >= 1 + and ($chunk.first.sections != 0 + or count($node/preceding-sibling::sect1) > 0)"> + <xsl:text>1</xsl:text> + </xsl:when> + <xsl:when test="local-name($node) = 'sect2' + and $chunk.section.depth >= 2 + and ($chunk.first.sections != 0 + or count($node/preceding-sibling::sect2) > 0)"> + <xsl:call-template name="chunk"> + <xsl:with-param name="node" select="$node/parent::*"/> + </xsl:call-template> + </xsl:when> + <xsl:when test="local-name($node) = 'sect3' + and $chunk.section.depth >= 3 + and ($chunk.first.sections != 0 + or count($node/preceding-sibling::sect3) > 0)"> + <xsl:call-template name="chunk"> + <xsl:with-param name="node" select="$node/parent::*"/> + </xsl:call-template> + </xsl:when> + <xsl:when test="local-name($node) = 'sect4' + and $chunk.section.depth >= 4 + and ($chunk.first.sections != 0 + or count($node/preceding-sibling::sect4) > 0)"> + <xsl:call-template name="chunk"> + <xsl:with-param name="node" select="$node/parent::*"/> + </xsl:call-template> + </xsl:when> + <xsl:when test="local-name($node) = 'sect5' + and $chunk.section.depth >= 5 + and ($chunk.first.sections != 0 + or count($node/preceding-sibling::sect5) > 0)"> + <xsl:call-template name="chunk"> + <xsl:with-param name="node" select="$node/parent::*"/> + </xsl:call-template> + </xsl:when> + <xsl:when test="local-name($node) = 'section' + and $chunk.section.depth >= count($node/ancestor::section)+1 + and ($chunk.first.sections != 0 + or count($node/preceding-sibling::section) > 0)"> + <xsl:call-template name="chunk"> + <xsl:with-param name="node" select="$node/parent::*"/> + </xsl:call-template> + </xsl:when> + + <xsl:when test="local-name($node)='preface'">1</xsl:when> + <xsl:when test="local-name($node)='chapter'">1</xsl:when> + <xsl:when test="local-name($node)='appendix'">1</xsl:when> + <xsl:when test="local-name($node)='article'">1</xsl:when> + <xsl:when test="local-name($node)='part'">1</xsl:when> + <xsl:when test="local-name($node)='reference'">1</xsl:when> + <xsl:when test="local-name($node)='refentry'">1</xsl:when> + <xsl:when test="local-name($node)='index' and ($generate.index != 0 or count($node/*) > 0) + and (local-name($node/parent::*) = 'article' + or local-name($node/parent::*) = 'book' + or local-name($node/parent::*) = 'part' + )">1</xsl:when> + <xsl:when test="local-name($node)='bibliography' + and (local-name($node/parent::*) = 'article' + or local-name($node/parent::*) = 'book' + or local-name($node/parent::*) = 'part' + )">1</xsl:when> + <xsl:when test="local-name($node)='glossary' + and (local-name($node/parent::*) = 'article' + or local-name($node/parent::*) = 'book' + or local-name($node/parent::*) = 'part' + )">1</xsl:when> + <xsl:when test="local-name($node)='colophon'">1</xsl:when> + <xsl:when test="local-name($node)='book'">1</xsl:when> + <xsl:when test="local-name($node)='set'">1</xsl:when> + <xsl:when test="local-name($node)='setindex'">1</xsl:when> + <xsl:when test="local-name($node)='legalnotice' + and $generate.legalnotice.link != 0">1</xsl:when> + <xsl:otherwise>0</xsl:otherwise> + </xsl:choose> +</xsl:template> + +<!-- ==================================================================== --> +<xsl:template name="href.target.uri"> + <xsl:param name="object" select="."/> + <xsl:variable name="ischunk"> + <xsl:call-template name="chunk"> + <xsl:with-param name="node" select="$object"/> + </xsl:call-template> + </xsl:variable> + + <xsl:apply-templates mode="chunk-filename" select="$object"/> + + <xsl:if test="$ischunk='0'"> + <xsl:text>#</xsl:text> + <xsl:call-template name="object.id"> + <xsl:with-param name="object" select="$object"/> + </xsl:call-template> + </xsl:if> +</xsl:template> + +<xsl:template name="href.target"> + <xsl:param name="context" select="."/> + <xsl:param name="object" select="."/> + <xsl:param name="toc-context" select="."/> + <!-- * If $toc-context contains some node other than the current node, --> + <!-- * it means we're processing a link in a TOC. In that case, to --> + <!-- * ensure the link will work correctly, we need to take a look at --> + <!-- * where the file containing the TOC will get written, and where --> + <!-- * the file that's being linked to will get written. --> + <xsl:variable name="toc-output-dir"> + <xsl:if test="not($toc-context = .)"> + <!-- * Get the $toc-context node and all its ancestors, look down --> + <!-- * through them to find the last/closest node to the --> + <!-- * toc-context node that has a "dbhtml dir" PI, and get the --> + <!-- * directory name from that. That's the name of the directory --> + <!-- * to which the current toc output file will get written. --> + <xsl:call-template name="dbhtml-dir"> + <xsl:with-param name="context" + select="$toc-context/ancestor-or-self::*[processing-instruction('dbhtml')[contains(.,'dir')]][last()]"/> + </xsl:call-template> + </xsl:if> + </xsl:variable> + <xsl:variable name="linked-file-output-dir"> + <xsl:if test="not($toc-context = .)"> + <!-- * Get the current node and all its ancestors, look down --> + <!-- * through them to find the last/closest node to the current --> + <!-- * node that has a "dbhtml dir" PI, and get the directory name --> + <!-- * from that. That's the name of the directory to which the --> + <!-- * file that's being linked to will get written. --> + <xsl:call-template name="dbhtml-dir"> + <xsl:with-param name="context" + select="ancestor-or-self::*[processing-instruction('dbhtml')[contains(.,'dir')]][last()]"/> + </xsl:call-template> + </xsl:if> + </xsl:variable> + <xsl:variable name="href.to.uri"> + <xsl:call-template name="href.target.uri"> + <xsl:with-param name="object" select="$object"/> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="href.from.uri"> + <xsl:choose> + <xsl:when test="not($toc-context = .)"> + <xsl:call-template name="href.target.uri"> + <xsl:with-param name="object" select="$toc-context"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="href.target.uri"> + <xsl:with-param name="object" select="$context"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + <!-- * <xsl:message>toc-context: <xsl:value-of select="local-name($toc-context)"/></xsl:message> --> + <!-- * <xsl:message>node: <xsl:value-of select="local-name(.)"/></xsl:message> --> + <!-- * <xsl:message>context: <xsl:value-of select="local-name($context)"/></xsl:message> --> + <!-- * <xsl:message>object: <xsl:value-of select="local-name($object)"/></xsl:message> --> + <!-- * <xsl:message>toc-output-dir: <xsl:value-of select="$toc-output-dir"/></xsl:message> --> + <!-- * <xsl:message>linked-file-output-dir: <xsl:value-of select="$linked-file-output-dir"/></xsl:message> --> + <!-- * <xsl:message>href.to.uri: <xsl:value-of select="$href.to.uri"/></xsl:message> --> + <!-- * <xsl:message>href.from.uri: <xsl:value-of select="$href.from.uri"/></xsl:message> --> + <xsl:variable name="href.to"> + <xsl:choose> + <!-- * 2007-07-19, MikeSmith: Added the following conditional to --> + <!-- * deal with a problem case for links in TOCs. It checks to see --> + <!-- * if the output dir that a TOC will get written to is --> + <!-- * different from the output dir of the file being linked to. --> + <!-- * If it is different, we do not call trim.common.uri.paths. --> + <!-- * --> + <!-- * Reason why I added that conditional is: I ran into a bug for --> + <!-- * this case: --> + <!-- * --> + <!-- * 1. we are chunking into separate dirs --> + <!-- * --> + <!-- * 2. output for the TOC is written to current dir, but the file --> + <!-- * being linked to is written to some subdir "foo". --> + <!-- * --> + <!-- * For that case, links to that file in that TOC did not show --> + <!-- * the correct path - they omitted the "foo". --> + <!-- * --> + <!-- * The cause of that problem was that the trim.common.uri.paths --> + <!-- * template[1] was being called under all conditions. But it's --> + <!-- * apparent that we don't want to call trim.common.uri.paths in --> + <!-- * the case where a linked file is being written to a different --> + <!-- * directory than the TOC that contains the link, because doing --> + <!-- * so will cause a necessary (not redundant) directory-name --> + <!-- * part of the link to get inadvertently trimmed, resulting in --> + <!-- * a broken link to that file. Thus, added the conditional. --> + <!-- * --> + <!-- * [1] The purpose of the trim.common.uri.paths template is to --> + <!-- * prevent cases where, if we didn't call it, we end up with --> + <!-- * unnecessary, redundant directory names getting output; for --> + <!-- * example, "foo/foo/refname.html". --> + <xsl:when test="not($toc-output-dir = $linked-file-output-dir)"> + <xsl:value-of select="$href.to.uri"/> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="trim.common.uri.paths"> + <xsl:with-param name="uriA" select="$href.to.uri"/> + <xsl:with-param name="uriB" select="$href.from.uri"/> + <xsl:with-param name="return" select="'A'"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:variable name="href.from"> + <xsl:call-template name="trim.common.uri.paths"> + <xsl:with-param name="uriA" select="$href.to.uri"/> + <xsl:with-param name="uriB" select="$href.from.uri"/> + <xsl:with-param name="return" select="'B'"/> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="depth"> + <xsl:call-template name="count.uri.path.depth"> + <xsl:with-param name="filename" select="$href.from"/> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="href"> + <xsl:call-template name="copy-string"> + <xsl:with-param name="string" select="'../'"/> + <xsl:with-param name="count" select="$depth"/> + </xsl:call-template> + <xsl:value-of select="$href.to"/> + </xsl:variable> + <!-- + <xsl:message> + <xsl:text>In </xsl:text> + <xsl:value-of select="name(.)"/> + <xsl:text> (</xsl:text> + <xsl:value-of select="$href.from"/> + <xsl:text>,</xsl:text> + <xsl:value-of select="$depth"/> + <xsl:text>) </xsl:text> + <xsl:value-of select="name($object)"/> + <xsl:text> href=</xsl:text> + <xsl:value-of select="$href"/> + </xsl:message> + --> + <xsl:value-of select="$href"/> +</xsl:template> + +<!-- Returns the complete olink href value if found --> +<!-- Must take into account any dbhtml dir of the chunk containing the olink --> +<xsl:template name="make.olink.href"> + <xsl:param name="olink.key" select="''"/> + <xsl:param name="target.database"/> + + <xsl:if test="$olink.key != ''"> + <xsl:variable name="target.href" > + <xsl:for-each select="$target.database" > + <xsl:value-of select="key('targetptr-key', $olink.key)[1]/@href" /> + </xsl:for-each> + </xsl:variable> + + <!-- an olink starting point may be in a subdirectory, so need + the "from" reference point to compute a relative path --> + + <xsl:variable name="from.href"> + <xsl:call-template name="olink.from.uri"> + <xsl:with-param name="target.database" select="$target.database"/> + <xsl:with-param name="object" select="."/> + <xsl:with-param name="object.targetdoc" select="$current.docid"/> + </xsl:call-template> + </xsl:variable> + + <!-- If the from.href has directory path, then must "../" upward + to document level --> + <xsl:variable name="upward.from.path"> + <xsl:call-template name="upward.path"> + <xsl:with-param name="path" select="$from.href"/> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="targetdoc"> + <xsl:value-of select="substring-before($olink.key, '/')"/> + </xsl:variable> + + <!-- Does the target database use a sitemap? --> + <xsl:variable name="use.sitemap"> + <xsl:choose> + <xsl:when test="$target.database//sitemap">1</xsl:when> + <xsl:otherwise>0</xsl:otherwise> + </xsl:choose> + </xsl:variable> + + + <!-- Get the baseuri for this targetptr --> + <xsl:variable name="baseuri" > + <xsl:choose> + <!-- Does the database use a sitemap? --> + <xsl:when test="$use.sitemap != 0" > + <xsl:choose> + <!-- Was current.docid parameter set? --> + <xsl:when test="$current.docid != ''"> + <!-- Was it found in the database? --> + <xsl:variable name="currentdoc.key" > + <xsl:for-each select="$target.database" > + <xsl:value-of select="key('targetdoc-key', + $current.docid)/@targetdoc" /> + </xsl:for-each> + </xsl:variable> + <xsl:choose> + <xsl:when test="$currentdoc.key != ''"> + <xsl:for-each select="$target.database" > + <xsl:call-template name="targetpath" > + <xsl:with-param name="dirnode" + select="key('targetdoc-key', $current.docid)/parent::dir"/> + <xsl:with-param name="targetdoc" select="$targetdoc"/> + </xsl:call-template> + </xsl:for-each > + </xsl:when> + <xsl:otherwise> + <xsl:message> + <xsl:text>Olink error: cannot compute relative </xsl:text> + <xsl:text>sitemap path because $current.docid '</xsl:text> + <xsl:value-of select="$current.docid"/> + <xsl:text>' not found in target database.</xsl:text> + </xsl:message> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:otherwise> + <xsl:message> + <xsl:text>Olink warning: cannot compute relative </xsl:text> + <xsl:text>sitemap path without $current.docid parameter</xsl:text> + </xsl:message> + </xsl:otherwise> + </xsl:choose> + <!-- In either case, add baseuri from its document entry--> + <xsl:variable name="docbaseuri"> + <xsl:for-each select="$target.database" > + <xsl:value-of select="key('targetdoc-key', $targetdoc)/@baseuri" /> + </xsl:for-each> + </xsl:variable> + <xsl:if test="$docbaseuri != ''" > + <xsl:value-of select="$docbaseuri"/> + </xsl:if> + </xsl:when> + <!-- No database sitemap in use --> + <xsl:otherwise> + <!-- Just use any baseuri from its document entry --> + <xsl:variable name="docbaseuri"> + <xsl:for-each select="$target.database" > + <xsl:value-of select="key('targetdoc-key', $targetdoc)/@baseuri" /> + </xsl:for-each> + </xsl:variable> + <xsl:if test="$docbaseuri != ''" > + <xsl:value-of select="$docbaseuri"/> + </xsl:if> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <!-- Form the href information --> + <xsl:if test="not(contains($baseuri, ':'))"> + <!-- if not an absolute uri, add upward path from olink chunk --> + <xsl:value-of select="$upward.from.path"/> + </xsl:if> + + <xsl:if test="$baseuri != ''"> + <xsl:value-of select="$baseuri"/> + <xsl:if test="substring($target.href,1,1) != '#'"> + <!--xsl:text>/</xsl:text--> + </xsl:if> + </xsl:if> + <!-- optionally turn off frag for PDF references --> + <xsl:if test="not($insert.olink.pdf.frag = 0 and + translate(substring($baseuri, string-length($baseuri) - 3), + 'PDF', 'pdf') = '.pdf' + and starts-with($target.href, '#') )"> + <xsl:value-of select="$target.href"/> + </xsl:if> + </xsl:if> +</xsl:template> + +<!-- Computes "../" to reach top --> +<xsl:template name="upward.path"> + <xsl:param name="path" select="''"/> + <xsl:choose> + <!-- Don't bother with absolute uris --> + <xsl:when test="contains($path, ':')"/> + <xsl:when test="starts-with($path, '/')"/> + <xsl:when test="contains($path, '/')"> + <xsl:text>../</xsl:text> + <xsl:call-template name="upward.path"> + <xsl:with-param name="path" select="substring-after($path, '/')"/> + </xsl:call-template> + </xsl:when> + </xsl:choose> + +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template name="html.head"> + <xsl:param name="prev" select="/foo"/> + <xsl:param name="next" select="/foo"/> + <xsl:variable name="this" select="."/> + <xsl:variable name="home" select="/*[1]"/> + <xsl:variable name="up" select="parent::*"/> + + <head> + <xsl:call-template name="system.head.content"/> + <xsl:call-template name="head.content"/> + + <xsl:if test="$home"> + <link rel="home"> + <xsl:attribute name="href"> + <xsl:call-template name="href.target"> + <xsl:with-param name="object" select="$home"/> + </xsl:call-template> + </xsl:attribute> + <xsl:attribute name="title"> + <xsl:apply-templates select="$home" + mode="object.title.markup.textonly"/> + </xsl:attribute> + </link> + </xsl:if> + + <xsl:if test="$up"> + <link rel="up"> + <xsl:attribute name="href"> + <xsl:call-template name="href.target"> + <xsl:with-param name="object" select="$up"/> + </xsl:call-template> + </xsl:attribute> + <xsl:attribute name="title"> + <xsl:apply-templates select="$up" mode="object.title.markup.textonly"/> + </xsl:attribute> + </link> + </xsl:if> + + <xsl:if test="$prev"> + <link rel="prev"> + <xsl:attribute name="href"> + <xsl:call-template name="href.target"> + <xsl:with-param name="object" select="$prev"/> + </xsl:call-template> + </xsl:attribute> + <xsl:attribute name="title"> + <xsl:apply-templates select="$prev" mode="object.title.markup.textonly"/> + </xsl:attribute> + </link> + </xsl:if> + + <xsl:if test="$next"> + <link rel="next"> + <xsl:attribute name="href"> + <xsl:call-template name="href.target"> + <xsl:with-param name="object" select="$next"/> + </xsl:call-template> + </xsl:attribute> + <xsl:attribute name="title"> + <xsl:apply-templates select="$next" mode="object.title.markup.textonly"/> + </xsl:attribute> + </link> + </xsl:if> + + <xsl:if test="$html.extra.head.links != 0"> + <xsl:for-each select="//part + |//reference + |//preface + |//chapter + |//article + |//refentry + |//appendix[not(parent::article)]|appendix + |//glossary[not(parent::article)]|glossary + |//index[not(parent::article)]|index"> + <link rel="{local-name(.)}"> + <xsl:attribute name="href"> + <xsl:call-template name="href.target"> + <xsl:with-param name="context" select="$this"/> + <xsl:with-param name="object" select="."/> + </xsl:call-template> + </xsl:attribute> + <xsl:attribute name="title"> + <xsl:apply-templates select="." mode="object.title.markup.textonly"/> + </xsl:attribute> + </link> + </xsl:for-each> + + <xsl:for-each select="section|sect1|refsection|refsect1"> + <link> + <xsl:attribute name="rel"> + <xsl:choose> + <xsl:when test="local-name($this) = 'section' + or local-name($this) = 'refsection'"> + <xsl:value-of select="'subsection'"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="'section'"/> + </xsl:otherwise> + </xsl:choose> + </xsl:attribute> + <xsl:attribute name="href"> + <xsl:call-template name="href.target"> + <xsl:with-param name="context" select="$this"/> + <xsl:with-param name="object" select="."/> + </xsl:call-template> + </xsl:attribute> + <xsl:attribute name="title"> + <xsl:apply-templates select="." mode="object.title.markup.textonly"/> + </xsl:attribute> + </link> + </xsl:for-each> + + <xsl:for-each select="sect2|sect3|sect4|sect5|refsect2|refsect3"> + <link rel="subsection"> + <xsl:attribute name="href"> + <xsl:call-template name="href.target"> + <xsl:with-param name="context" select="$this"/> + <xsl:with-param name="object" select="."/> + </xsl:call-template> + </xsl:attribute> + <xsl:attribute name="title"> + <xsl:apply-templates select="." mode="object.title.markup.textonly"/> + </xsl:attribute> + </link> + </xsl:for-each> + </xsl:if> + + <!-- * if we have a legalnotice and user wants it output as a --> + <!-- * separate page and $html.head.legalnotice.link.types is --> + <!-- * non-empty, we generate a link or links for each value in --> + <!-- * $html.head.legalnotice.link.types --> + <xsl:if test="//legalnotice + and not($generate.legalnotice.link = 0) + and not($html.head.legalnotice.link.types = '')"> + <xsl:call-template name="make.legalnotice.head.links"/> + </xsl:if> + + <xsl:call-template name="user.head.content"/> + </head> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template name="header.navigation"> + <xsl:param name="prev" select="/foo"/> + <xsl:param name="next" select="/foo"/> + <xsl:param name="nav.context"/> + + <xsl:variable name="home" select="/*[1]"/> + <xsl:variable name="up" select="parent::*"/> + + <xsl:variable name="row1" select="$navig.showtitles != 0"/> + <xsl:variable name="row2" select="count($prev) > 0 + or (count($up) > 0 + and generate-id($up) != generate-id($home) + and $navig.showtitles != 0) + or count($next) > 0"/> + + <xsl:if test="$suppress.navigation = '0' and $suppress.header.navigation = '0'"> + <div class="navheader"> + <xsl:if test="$row1 or $row2"> + <table width="100%" summary="Navigation header"> + <xsl:if test="$row1"> + <tr> + <th colspan="3" align="center"> + <xsl:apply-templates select="." mode="object.title.markup"/> + </th> + </tr> + </xsl:if> + + <xsl:if test="$row2"> + <tr> + <td width="20%" align="{$direction.align.start}"> + <xsl:if test="count($prev)>0"> + <a accesskey="p"> + <xsl:attribute name="href"> + <xsl:call-template name="href.target"> + <xsl:with-param name="object" select="$prev"/> + </xsl:call-template> + </xsl:attribute> + <xsl:call-template name="navig.content"> + <xsl:with-param name="direction" select="'prev'"/> + </xsl:call-template> + </a> + </xsl:if> + <xsl:text> </xsl:text> + </td> + <th width="60%" align="center"> + <xsl:choose> + <xsl:when test="count($up) > 0 + and generate-id($up) != generate-id($home) + and $navig.showtitles != 0"> + <xsl:apply-templates select="$up" mode="object.title.markup"/> + </xsl:when> + <xsl:otherwise> </xsl:otherwise> + </xsl:choose> + </th> + <td width="20%" align="{$direction.align.end}"> + <xsl:text> </xsl:text> + <xsl:if test="count($next)>0"> + <a accesskey="n"> + <xsl:attribute name="href"> + <xsl:call-template name="href.target"> + <xsl:with-param name="object" select="$next"/> + </xsl:call-template> + </xsl:attribute> + <xsl:call-template name="navig.content"> + <xsl:with-param name="direction" select="'next'"/> + </xsl:call-template> + </a> + </xsl:if> + </td> + </tr> + </xsl:if> + </table> + </xsl:if> + <xsl:if test="$header.rule != 0"> + <hr/> + </xsl:if> + </div> + </xsl:if> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template name="footer.navigation"> + <xsl:param name="prev" select="/foo"/> + <xsl:param name="next" select="/foo"/> + <xsl:param name="nav.context"/> + + <xsl:variable name="home" select="/*[1]"/> + <xsl:variable name="up" select="parent::*"/> + + <xsl:variable name="row1" select="count($prev) > 0 + or count($up) > 0 + or count($next) > 0"/> + + <xsl:variable name="row2" select="($prev and $navig.showtitles != 0) + or (generate-id($home) != generate-id(.) + or $nav.context = 'toc') + or ($chunk.tocs.and.lots != 0 + and $nav.context != 'toc') + or ($next and $navig.showtitles != 0)"/> + + <xsl:if test="$suppress.navigation = '0' and $suppress.footer.navigation = '0'"> + <div class="navfooter"> + <xsl:if test="$footer.rule != 0"> + <hr/> + </xsl:if> + + <xsl:if test="$row1 or $row2"> + <table width="100%" summary="Navigation footer"> + <xsl:if test="$row1"> + <tr> + <td width="40%" align="{$direction.align.start}"> + <xsl:if test="count($prev)>0"> + <a accesskey="p"> + <xsl:attribute name="href"> + <xsl:call-template name="href.target"> + <xsl:with-param name="object" select="$prev"/> + </xsl:call-template> + </xsl:attribute> + <xsl:call-template name="navig.content"> + <xsl:with-param name="direction" select="'prev'"/> + </xsl:call-template> + </a> + </xsl:if> + <xsl:text> </xsl:text> + </td> + <td width="20%" align="center"> + <xsl:choose> + <xsl:when test="count($up)>0 + and generate-id($up) != generate-id($home)"> + <a accesskey="u"> + <xsl:attribute name="href"> + <xsl:call-template name="href.target"> + <xsl:with-param name="object" select="$up"/> + </xsl:call-template> + </xsl:attribute> + <xsl:call-template name="navig.content"> + <xsl:with-param name="direction" select="'up'"/> + </xsl:call-template> + </a> + </xsl:when> + <xsl:otherwise> </xsl:otherwise> + </xsl:choose> + </td> + <td width="40%" align="{$direction.align.end}"> + <xsl:text> </xsl:text> + <xsl:if test="count($next)>0"> + <a accesskey="n"> + <xsl:attribute name="href"> + <xsl:call-template name="href.target"> + <xsl:with-param name="object" select="$next"/> + </xsl:call-template> + </xsl:attribute> + <xsl:call-template name="navig.content"> + <xsl:with-param name="direction" select="'next'"/> + </xsl:call-template> + </a> + </xsl:if> + </td> + </tr> + </xsl:if> + + <xsl:if test="$row2"> + <tr> + <td width="40%" align="{$direction.align.start}" valign="top"> + <xsl:if test="$navig.showtitles != 0"> + <xsl:apply-templates select="$prev" mode="object.title.markup"/> + </xsl:if> + <xsl:text> </xsl:text> + </td> + <td width="20%" align="center"> + <xsl:choose> + <xsl:when test="$home != . or $nav.context = 'toc'"> + <a accesskey="h"> + <xsl:attribute name="href"> + <xsl:call-template name="href.target"> + <xsl:with-param name="object" select="$home"/> + </xsl:call-template> + </xsl:attribute> + <xsl:call-template name="navig.content"> + <xsl:with-param name="direction" select="'home'"/> + </xsl:call-template> + </a> + <xsl:if test="$chunk.tocs.and.lots != 0 and $nav.context != 'toc'"> + <xsl:text> | </xsl:text> + </xsl:if> + </xsl:when> + <xsl:otherwise> </xsl:otherwise> + </xsl:choose> + + <xsl:if test="$chunk.tocs.and.lots != 0 and $nav.context != 'toc'"> + <a accesskey="t"> + <xsl:attribute name="href"> + <xsl:apply-templates select="/*[1]" + mode="recursive-chunk-filename"> + <xsl:with-param name="recursive" select="true()"/> + </xsl:apply-templates> + <xsl:text>-toc</xsl:text> + <xsl:value-of select="$html.ext"/> + </xsl:attribute> + <xsl:call-template name="gentext"> + <xsl:with-param name="key" select="'nav-toc'"/> + </xsl:call-template> + </a> + </xsl:if> + </td> + <td width="40%" align="{$direction.align.end}" valign="top"> + <xsl:text> </xsl:text> + <xsl:if test="$navig.showtitles != 0"> + <xsl:apply-templates select="$next" mode="object.title.markup"/> + </xsl:if> + </td> + </tr> + </xsl:if> + </table> + </xsl:if> + </div> + </xsl:if> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template name="navig.content"> + <xsl:param name="direction" select="next"/> + <xsl:variable name="navtext"> + <xsl:choose> + <xsl:when test="$direction = 'prev'"> + <xsl:call-template name="gentext.nav.prev"/> + </xsl:when> + <xsl:when test="$direction = 'next'"> + <xsl:call-template name="gentext.nav.next"/> + </xsl:when> + <xsl:when test="$direction = 'up'"> + <xsl:call-template name="gentext.nav.up"/> + </xsl:when> + <xsl:when test="$direction = 'home'"> + <xsl:call-template name="gentext.nav.home"/> + </xsl:when> + <xsl:otherwise> + <xsl:text>xxx</xsl:text> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:choose> + <xsl:when test="$navig.graphics != 0"> + <img> + <xsl:attribute name="src"> + <xsl:value-of select="$navig.graphics.path"/> + <xsl:value-of select="$direction"/> + <xsl:value-of select="$navig.graphics.extension"/> + </xsl:attribute> + <xsl:attribute name="alt"> + <xsl:value-of select="$navtext"/> + </xsl:attribute> + </img> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$navtext"/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<!-- ==================================================================== --> + +<!-- * The following template assumes that the first legalnotice --> +<!-- * instance found in a document applies to the contents of the --> +<!-- * entire document. It generates an HTML link in each chunk, back --> +<!-- * to the file containing the contents of the first legalnotice. --> +<!-- * --> +<!-- * Actually, it may generate multiple link instances in each chunk, --> +<!-- * because it walks through the space-separated list of link --> +<!-- * types specified in the $html.head.legalnotice.link.types param, --> +<!-- * popping off link types and generating links for them until it --> +<!-- * depletes the list. --> + +<xsl:template name="make.legalnotice.head.links"> + <!-- * the following ID is used as part of the legalnotice filename; --> + <!-- * we need it in order to construct the filename for use in the --> + <!-- * value of the href attribute on the link --> + + <xsl:param name="ln-node" select="(//legalnotice)[1]"/> + + <xsl:param name="linktype"> + <xsl:choose> + <xsl:when test="contains($html.head.legalnotice.link.types, ' ')"> + <xsl:value-of + select="normalize-space( + substring-before($html.head.legalnotice.link.types, ' '))"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$html.head.legalnotice.link.types"/> + </xsl:otherwise> + </xsl:choose> + </xsl:param> + <xsl:param + name="remaining.linktypes" + select="concat( + normalize-space( + substring-after($html.head.legalnotice.link.types, ' ')),' ')"/> + <xsl:if test="not($linktype = '')"> + + <!-- Compute name of legalnotice file (see titlepage.xsl) --> + <xsl:variable name="file"> + <xsl:call-template name="ln.or.rh.filename"> + <xsl:with-param name="node" select="$ln-node"/> + </xsl:call-template> + </xsl:variable> + + <link rel="{$linktype}"> + <xsl:attribute name="href"> + <xsl:value-of select="$file"/> + </xsl:attribute> + <xsl:attribute name="title"> + <xsl:apply-templates select="(//legalnotice)[1]" + mode="object.title.markup.textonly"/> + </xsl:attribute> + </link> + <xsl:call-template name="make.legalnotice.head.links"> + <!-- * pop the next value off the list of link types --> + <xsl:with-param + name="linktype" + select="substring-before($remaining.linktypes, ' ')"/> + <!-- * remove the link type from the list of remaining link types --> + <xsl:with-param + name="remaining.linktypes" + select="substring-after($remaining.linktypes, ' ')"/> + </xsl:call-template> + </xsl:if> +</xsl:template> + +<!-- ==================================================================== --> +<xsl:template name="chunk-element-content"> + <xsl:param name="prev"/> + <xsl:param name="next"/> + <xsl:param name="nav.context"/> + <xsl:param name="content"> + <xsl:apply-imports/> + </xsl:param> + + <xsl:call-template name="user.preroot"/> + + <html> + <xsl:call-template name="html.head"> + <xsl:with-param name="prev" select="$prev"/> + <xsl:with-param name="next" select="$next"/> + </xsl:call-template> + + <body> + <xsl:call-template name="body.attributes"/> + <xsl:call-template name="user.header.navigation"/> + + <xsl:call-template name="header.navigation"> + <xsl:with-param name="prev" select="$prev"/> + <xsl:with-param name="next" select="$next"/> + <xsl:with-param name="nav.context" select="$nav.context"/> + </xsl:call-template> + + <xsl:call-template name="user.header.content"/> + + <xsl:copy-of select="$content"/> + + <xsl:call-template name="user.footer.content"/> + + <xsl:call-template name="footer.navigation"> + <xsl:with-param name="prev" select="$prev"/> + <xsl:with-param name="next" select="$next"/> + <xsl:with-param name="nav.context" select="$nav.context"/> + </xsl:call-template> + + <xsl:call-template name="user.footer.navigation"/> + </body> + </html> + <xsl:value-of select="$chunk.append"/> +</xsl:template> + +<!-- ==================================================================== --> +<xsl:template name="generate.manifest"> + <xsl:param name="node" select="/"/> + <xsl:call-template name="write.text.chunk"> + <xsl:with-param name="filename"> + <xsl:if test="$manifest.in.base.dir != 0"> + <xsl:value-of select="$base.dir"/> + </xsl:if> + <xsl:value-of select="$manifest"/> + </xsl:with-param> + <xsl:with-param name="method" select="'text'"/> + <xsl:with-param name="content"> + <xsl:apply-templates select="$node" mode="enumerate-files"/> + </xsl:with-param> + <xsl:with-param name="encoding" select="$chunker.output.encoding"/> + </xsl:call-template> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template name="dbhtml-dir"> + <xsl:param name="context" select="."/> + <!-- directories are now inherited from previous levels --> + <xsl:variable name="ppath"> + <xsl:if test="$context/parent::*"> + <xsl:call-template name="dbhtml-dir"> + <xsl:with-param name="context" select="$context/parent::*"/> + </xsl:call-template> + </xsl:if> + </xsl:variable> + <xsl:variable name="path"> + <xsl:call-template name="pi.dbhtml_dir"> + <xsl:with-param name="node" select="$context"/> + </xsl:call-template> + </xsl:variable> + <xsl:choose> + <xsl:when test="$path = ''"> + <xsl:if test="$ppath != ''"> + <xsl:value-of select="$ppath"/> + </xsl:if> + </xsl:when> + <xsl:otherwise> + <xsl:if test="$ppath != ''"> + <xsl:value-of select="$ppath"/> + <xsl:if test="substring($ppath, string-length($ppath), 1) != '/'"> + <xsl:text>/</xsl:text> + </xsl:if> + </xsl:if> + <xsl:value-of select="$path"/> + <xsl:text>/</xsl:text> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +</xsl:stylesheet> diff --git a/doc/help/xslt/html/chunk.xsl b/doc/help/xslt/html/chunk.xsl new file mode 100644 index 00000000..a89e2421 --- /dev/null +++ b/doc/help/xslt/html/chunk.xsl @@ -0,0 +1,52 @@ +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:exsl="http://exslt.org/common" + version="1.0" + exclude-result-prefixes="exsl"> + +<!-- ******************************************************************** + $Id: chunk.xsl 6910 2007-06-28 23:23:30Z xmldoc $ + ******************************************************************** + + This file is part of the XSL DocBook Stylesheet distribution. + See ../README or http://docbook.sf.net/release/xsl/current/ for + copyright and other information. + + ******************************************************************** --> + +<!-- ==================================================================== --> + +<!-- First import the non-chunking templates that format elements + within each chunk file. In a customization, you should + create a separate non-chunking customization layer such + as mydocbook.xsl that imports the original docbook.xsl and + customizes any presentation templates. Then your chunking + customization should import mydocbook.xsl instead of + docbook.xsl. --> +<xsl:import href="docbook.xsl"/> + +<!-- chunk-common.xsl contains all the named templates for chunking. + In a customization file, you import chunk-common.xsl, then + add any customized chunking templates of the same name. + They will have import precedence over the original + chunking templates in chunk-common.xsl. --> +<xsl:import href="chunk-common.xsl"/> + +<!-- The manifest.xsl module is no longer imported because its + templates were moved into chunk-common and chunk-code --> + +<!-- chunk-code.xsl contains all the chunking templates that use + a match attribute. In a customization it should be referenced + using <xsl:include> instead of <xsl:import>, and then add + any customized chunking templates with match attributes. But be sure + to add a priority="1" to such customized templates to resolve + its conflict with the original, since they have the + same import precedence. + + Using xsl:include prevents adding another layer + of import precedence, which would cause any + customizations that use xsl:apply-imports to wrongly + apply the chunking version instead of the original + non-chunking version to format an element. --> +<xsl:include href="chunk-code.xsl"/> + +</xsl:stylesheet> diff --git a/doc/help/xslt/html/chunker.xsl b/doc/help/xslt/html/chunker.xsl new file mode 100644 index 00000000..89a5d237 --- /dev/null +++ b/doc/help/xslt/html/chunker.xsl @@ -0,0 +1,439 @@ +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:saxon="http://icl.com/saxon" + xmlns:lxslt="http://xml.apache.org/xslt" + xmlns:redirect="http://xml.apache.org/xalan/redirect" + xmlns:exsl="http://exslt.org/common" + xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" + version="1.0" + exclude-result-prefixes="saxon lxslt redirect exsl doc" + extension-element-prefixes="saxon redirect lxslt exsl"> + +<!-- ******************************************************************** + $Id: chunker.xsl 8526 2009-10-14 18:59:40Z bobstayton $ + ******************************************************************** + + This file is part of the XSL DocBook Stylesheet distribution. + See ../README or http://docbook.sf.net/release/xsl/current/ for + copyright and other information. + + ******************************************************************** --> + +<!-- ==================================================================== --> + +<!-- This stylesheet works with XSLT implementations that support --> +<!-- exsl:document, saxon:output, or Xalan's redirect:write --> +<!-- Note: Only Saxon 6.4.2 or later is supported. --> + +<xsl:param name="chunker.output.method" select="'html'"/> +<xsl:param name="chunker.output.encoding" select="'ISO-8859-1'"/> +<xsl:param name="chunker.output.indent" select="'no'"/> +<xsl:param name="chunker.output.omit-xml-declaration" select="'no'"/> +<xsl:param name="chunker.output.standalone" select="'no'"/> +<xsl:param name="chunker.output.doctype-public" select="''"/> +<xsl:param name="chunker.output.doctype-system" select="''"/> +<xsl:param name="chunker.output.media-type" select="''"/> +<xsl:param name="chunker.output.cdata-section-elements" select="''"/> +<xsl:param name="chunker.output.quiet" select="0"/> + +<xsl:param name="saxon.character.representation" select="'entity;decimal'"/> + +<!-- ==================================================================== --> + +<xsl:template name="make-relative-filename"> + <xsl:param name="base.dir" select="'./'"/> + <xsl:param name="base.name" select="''"/> + + <xsl:choose> + <!-- put Saxon first to work around a bug in libxslt --> + <xsl:when test="element-available('saxon:output')"> + <!-- Saxon doesn't make the chunks relative --> + <xsl:value-of select="concat($base.dir,$base.name)"/> + </xsl:when> + <xsl:when test="element-available('exsl:document')"> + <!-- EXSL document does make the chunks relative, I think --> + <xsl:choose> + <xsl:when test="count(parent::*) = 0"> + <xsl:value-of select="concat($base.dir,$base.name)"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$base.name"/> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:when test="element-available('redirect:write')"> + <!-- Xalan doesn't make the chunks relative --> + <xsl:value-of select="concat($base.dir,$base.name)"/> + </xsl:when> + <xsl:otherwise> + <xsl:message terminate="yes"> + <xsl:text>Don't know how to chunk with </xsl:text> + <xsl:value-of select="system-property('xsl:vendor')"/> + </xsl:message> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template name="write.chunk"> + <xsl:param name="filename" select="''"/> + <xsl:param name="quiet" select="$chunker.output.quiet"/> + <xsl:param name="suppress-context-node-name" select="0"/> + <xsl:param name="message-prolog"/> + <xsl:param name="message-epilog"/> + + <xsl:param name="method" select="$chunker.output.method"/> + <xsl:param name="encoding" select="$chunker.output.encoding"/> + <xsl:param name="indent" select="$chunker.output.indent"/> + <xsl:param name="omit-xml-declaration" + select="$chunker.output.omit-xml-declaration"/> + <xsl:param name="standalone" select="$chunker.output.standalone"/> + <xsl:param name="doctype-public" select="$chunker.output.doctype-public"/> + <xsl:param name="doctype-system" select="$chunker.output.doctype-system"/> + <xsl:param name="media-type" select="$chunker.output.media-type"/> + <xsl:param name="cdata-section-elements" + select="$chunker.output.cdata-section-elements"/> + + <xsl:param name="content"/> + + <xsl:if test="$quiet = 0"> + <xsl:message> + <xsl:if test="not($message-prolog = '')"> + <xsl:value-of select="$message-prolog"/> + </xsl:if> + <xsl:text>Writing </xsl:text> + <xsl:value-of select="$filename"/> + <xsl:if test="name(.) != '' and $suppress-context-node-name = 0"> + <xsl:text> for </xsl:text> + <xsl:value-of select="name(.)"/> + <xsl:if test="@id or @xml:id"> + <xsl:text>(</xsl:text> + <xsl:value-of select="(@id|@xml:id)[1]"/> + <xsl:text>)</xsl:text> + </xsl:if> + </xsl:if> + <xsl:if test="not($message-epilog = '')"> + <xsl:value-of select="$message-epilog"/> + </xsl:if> + </xsl:message> + </xsl:if> + + <xsl:choose> + <xsl:when test="element-available('exsl:document')"> + <xsl:choose> + <!-- Handle the permutations ... --> + <xsl:when test="$media-type != ''"> + <xsl:choose> + <xsl:when test="$doctype-public != '' and $doctype-system != ''"> + <exsl:document href="{$filename}" + method="{$method}" + encoding="{$encoding}" + indent="{$indent}" + omit-xml-declaration="{$omit-xml-declaration}" + cdata-section-elements="{$cdata-section-elements}" + media-type="{$media-type}" + doctype-public="{$doctype-public}" + doctype-system="{$doctype-system}" + standalone="{$standalone}"> + <xsl:copy-of select="$content"/> + </exsl:document> + </xsl:when> + <xsl:when test="$doctype-public != '' and $doctype-system = ''"> + <exsl:document href="{$filename}" + method="{$method}" + encoding="{$encoding}" + indent="{$indent}" + omit-xml-declaration="{$omit-xml-declaration}" + cdata-section-elements="{$cdata-section-elements}" + media-type="{$media-type}" + doctype-public="{$doctype-public}" + standalone="{$standalone}"> + <xsl:copy-of select="$content"/> + </exsl:document> + </xsl:when> + <xsl:when test="$doctype-public = '' and $doctype-system != ''"> + <exsl:document href="{$filename}" + method="{$method}" + encoding="{$encoding}" + indent="{$indent}" + omit-xml-declaration="{$omit-xml-declaration}" + cdata-section-elements="{$cdata-section-elements}" + media-type="{$media-type}" + doctype-system="{$doctype-system}" + standalone="{$standalone}"> + <xsl:copy-of select="$content"/> + </exsl:document> + </xsl:when> + <xsl:otherwise><!-- $doctype-public = '' and $doctype-system = ''"> --> + <exsl:document href="{$filename}" + method="{$method}" + encoding="{$encoding}" + indent="{$indent}" + omit-xml-declaration="{$omit-xml-declaration}" + cdata-section-elements="{$cdata-section-elements}" + media-type="{$media-type}" + standalone="{$standalone}"> + <xsl:copy-of select="$content"/> + </exsl:document> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:otherwise> + <xsl:choose> + <xsl:when test="$doctype-public != '' and $doctype-system != ''"> + <exsl:document href="{$filename}" + method="{$method}" + encoding="{$encoding}" + indent="{$indent}" + omit-xml-declaration="{$omit-xml-declaration}" + cdata-section-elements="{$cdata-section-elements}" + doctype-public="{$doctype-public}" + doctype-system="{$doctype-system}" + standalone="{$standalone}"> + <xsl:copy-of select="$content"/> + </exsl:document> + </xsl:when> + <xsl:when test="$doctype-public != '' and $doctype-system = ''"> + <exsl:document href="{$filename}" + method="{$method}" + encoding="{$encoding}" + indent="{$indent}" + omit-xml-declaration="{$omit-xml-declaration}" + cdata-section-elements="{$cdata-section-elements}" + doctype-public="{$doctype-public}" + standalone="{$standalone}"> + <xsl:copy-of select="$content"/> + </exsl:document> + </xsl:when> + <xsl:when test="$doctype-public = '' and $doctype-system != ''"> + <exsl:document href="{$filename}" + method="{$method}" + encoding="{$encoding}" + indent="{$indent}" + omit-xml-declaration="{$omit-xml-declaration}" + cdata-section-elements="{$cdata-section-elements}" + doctype-system="{$doctype-system}" + standalone="{$standalone}"> + <xsl:copy-of select="$content"/> + </exsl:document> + </xsl:when> + <xsl:otherwise><!-- $doctype-public = '' and $doctype-system = ''"> --> + <exsl:document href="{$filename}" + method="{$method}" + encoding="{$encoding}" + indent="{$indent}" + omit-xml-declaration="{$omit-xml-declaration}" + cdata-section-elements="{$cdata-section-elements}" + standalone="{$standalone}"> + <xsl:copy-of select="$content"/> + </exsl:document> + </xsl:otherwise> + </xsl:choose> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + + <xsl:when test="element-available('saxon:output')"> + <xsl:choose> + <!-- Handle the permutations ... --> + <xsl:when test="$media-type != ''"> + <xsl:choose> + <xsl:when test="$doctype-public != '' and $doctype-system != ''"> + <saxon:output saxon:character-representation="{$saxon.character.representation}" + href="{$filename}" + method="{$method}" + encoding="{$encoding}" + indent="{$indent}" + omit-xml-declaration="{$omit-xml-declaration}" + cdata-section-elements="{$cdata-section-elements}" + media-type="{$media-type}" + doctype-public="{$doctype-public}" + doctype-system="{$doctype-system}" + standalone="{$standalone}"> + <xsl:copy-of select="$content"/> + </saxon:output> + </xsl:when> + <xsl:when test="$doctype-public != '' and $doctype-system = ''"> + <saxon:output saxon:character-representation="{$saxon.character.representation}" + href="{$filename}" + method="{$method}" + encoding="{$encoding}" + indent="{$indent}" + omit-xml-declaration="{$omit-xml-declaration}" + cdata-section-elements="{$cdata-section-elements}" + media-type="{$media-type}" + doctype-public="{$doctype-public}" + standalone="{$standalone}"> + <xsl:copy-of select="$content"/> + </saxon:output> + </xsl:when> + <xsl:when test="$doctype-public = '' and $doctype-system != ''"> + <saxon:output saxon:character-representation="{$saxon.character.representation}" + href="{$filename}" + method="{$method}" + encoding="{$encoding}" + indent="{$indent}" + omit-xml-declaration="{$omit-xml-declaration}" + cdata-section-elements="{$cdata-section-elements}" + media-type="{$media-type}" + doctype-system="{$doctype-system}" + standalone="{$standalone}"> + <xsl:copy-of select="$content"/> + </saxon:output> + </xsl:when> + <xsl:otherwise><!-- $doctype-public = '' and $doctype-system = ''"> --> + <saxon:output saxon:character-representation="{$saxon.character.representation}" + href="{$filename}" + method="{$method}" + encoding="{$encoding}" + indent="{$indent}" + omit-xml-declaration="{$omit-xml-declaration}" + cdata-section-elements="{$cdata-section-elements}" + media-type="{$media-type}" + standalone="{$standalone}"> + <xsl:copy-of select="$content"/> + </saxon:output> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:otherwise> + <xsl:choose> + <xsl:when test="$doctype-public != '' and $doctype-system != ''"> + <saxon:output saxon:character-representation="{$saxon.character.representation}" + href="{$filename}" + method="{$method}" + encoding="{$encoding}" + indent="{$indent}" + omit-xml-declaration="{$omit-xml-declaration}" + cdata-section-elements="{$cdata-section-elements}" + doctype-public="{$doctype-public}" + doctype-system="{$doctype-system}" + standalone="{$standalone}"> + <xsl:copy-of select="$content"/> + </saxon:output> + </xsl:when> + <xsl:when test="$doctype-public != '' and $doctype-system = ''"> + <saxon:output saxon:character-representation="{$saxon.character.representation}" + href="{$filename}" + method="{$method}" + encoding="{$encoding}" + indent="{$indent}" + omit-xml-declaration="{$omit-xml-declaration}" + cdata-section-elements="{$cdata-section-elements}" + doctype-public="{$doctype-public}" + standalone="{$standalone}"> + <xsl:copy-of select="$content"/> + </saxon:output> + </xsl:when> + <xsl:when test="$doctype-public = '' and $doctype-system != ''"> + <saxon:output saxon:character-representation="{$saxon.character.representation}" + href="{$filename}" + method="{$method}" + encoding="{$encoding}" + indent="{$indent}" + omit-xml-declaration="{$omit-xml-declaration}" + cdata-section-elements="{$cdata-section-elements}" + doctype-system="{$doctype-system}" + standalone="{$standalone}"> + <xsl:copy-of select="$content"/> + </saxon:output> + </xsl:when> + <xsl:otherwise><!-- $doctype-public = '' and $doctype-system = ''"> --> + <saxon:output saxon:character-representation="{$saxon.character.representation}" + href="{$filename}" + method="{$method}" + encoding="{$encoding}" + indent="{$indent}" + omit-xml-declaration="{$omit-xml-declaration}" + cdata-section-elements="{$cdata-section-elements}" + standalone="{$standalone}"> + <xsl:copy-of select="$content"/> + </saxon:output> + </xsl:otherwise> + </xsl:choose> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + + <xsl:when test="element-available('redirect:write')"> + <!-- Xalan uses redirect --> + <redirect:write file="{$filename}"> + <xsl:copy-of select="$content"/> + </redirect:write> + </xsl:when> + + <xsl:otherwise> + <!-- it doesn't matter since we won't be making chunks... --> + <xsl:message terminate="yes"> + <xsl:text>Can't make chunks with </xsl:text> + <xsl:value-of select="system-property('xsl:vendor')"/> + <xsl:text>'s processor.</xsl:text> + </xsl:message> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template name="write.chunk.with.doctype"> + <xsl:param name="filename" select="''"/> + <xsl:param name="quiet" select="$chunker.output.quiet"/> + + <xsl:param name="method" select="$chunker.output.method"/> + <xsl:param name="encoding" select="$chunker.output.encoding"/> + <xsl:param name="indent" select="$chunker.output.indent"/> + <xsl:param name="omit-xml-declaration" + select="$chunker.output.omit-xml-declaration"/> + <xsl:param name="standalone" select="$chunker.output.standalone"/> + <xsl:param name="doctype-public" select="$chunker.output.doctype-public"/> + <xsl:param name="doctype-system" select="$chunker.output.doctype-system"/> + <xsl:param name="media-type" select="$chunker.output.media-type"/> + <xsl:param name="cdata-section-elements" + select="$chunker.output.cdata-section-elements"/> + + <xsl:param name="content"/> + + <xsl:call-template name="write.chunk"> + <xsl:with-param name="filename" select="$filename"/> + <xsl:with-param name="quiet" select="$quiet"/> + <xsl:with-param name="method" select="$method"/> + <xsl:with-param name="encoding" select="$encoding"/> + <xsl:with-param name="indent" select="$indent"/> + <xsl:with-param name="omit-xml-declaration" select="$omit-xml-declaration"/> + <xsl:with-param name="standalone" select="$standalone"/> + <xsl:with-param name="doctype-public" select="$doctype-public"/> + <xsl:with-param name="doctype-system" select="$doctype-system"/> + <xsl:with-param name="media-type" select="$media-type"/> + <xsl:with-param name="cdata-section-elements" select="$cdata-section-elements"/> + <xsl:with-param name="content" select="$content"/> + </xsl:call-template> +</xsl:template> + +<xsl:template name="write.text.chunk"> + <xsl:param name="filename" select="''"/> + <xsl:param name="quiet" select="$chunker.output.quiet"/> + <xsl:param name="suppress-context-node-name" select="0"/> + <xsl:param name="message-prolog"/> + <xsl:param name="message-epilog"/> + <xsl:param name="method" select="'text'"/> + <xsl:param name="encoding" select="$chunker.output.encoding"/> + <xsl:param name="media-type" select="$chunker.output.media-type"/> + <xsl:param name="content"/> + + <xsl:call-template name="write.chunk"> + <xsl:with-param name="filename" select="$filename"/> + <xsl:with-param name="quiet" select="$quiet"/> + <xsl:with-param name="suppress-context-node-name" select="$suppress-context-node-name"/> + <xsl:with-param name="message-prolog" select="$message-prolog"/> + <xsl:with-param name="message-epilog" select="$message-epilog"/> + <xsl:with-param name="method" select="$method"/> + <xsl:with-param name="encoding" select="$encoding"/> + <xsl:with-param name="indent" select="'no'"/> + <xsl:with-param name="omit-xml-declaration" select="'no'"/> + <xsl:with-param name="standalone" select="'no'"/> + <xsl:with-param name="doctype-public"/> + <xsl:with-param name="doctype-system"/> + <xsl:with-param name="media-type" select="$media-type"/> + <xsl:with-param name="cdata-section-elements"/> + <xsl:with-param name="content" select="$content"/> + </xsl:call-template> +</xsl:template> + + +</xsl:stylesheet> diff --git a/doc/help/xslt/html/chunkfast.xsl b/doc/help/xslt/html/chunkfast.xsl new file mode 100644 index 00000000..35a4631e --- /dev/null +++ b/doc/help/xslt/html/chunkfast.xsl @@ -0,0 +1,72 @@ +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:exsl="http://exslt.org/common" + xmlns:cf="http://docbook.sourceforge.net/xmlns/chunkfast/1.0" + version="1.0" + exclude-result-prefixes="cf exsl"> + +<!-- ******************************************************************** + $Id: chunkfast.xsl 8345 2009-03-16 06:44:07Z bobstayton $ + ******************************************************************** + + This file is part of the XSL DocBook Stylesheet distribution. + See ../README or http://docbook.sf.net/release/xsl/current/ for + copyright and other information. + + ******************************************************************** --> + +<!-- ==================================================================== --> + +<xsl:import href="chunk.xsl"/> +<xsl:param name="chunk.fast" select="1"/> + +<xsl:variable name="chunks" select="exsl:node-set($chunk.hierarchy)//cf:div"/> + +<!-- ==================================================================== --> + +<xsl:template name="process-chunk-element"> + <xsl:choose> + <xsl:when test="$chunk.fast != 0 and $exsl.node.set.available != 0"> + <xsl:variable name="genid" select="generate-id()"/> + + <xsl:variable name="div" select="$chunks[@id=$genid or @xml:id=$genid]"/> + + <xsl:variable name="prevdiv" + select="($div/preceding-sibling::cf:div|$div/preceding::cf:div|$div/parent::cf:div)[last()]"/> + <xsl:variable name="prev" select="key('genid', ($prevdiv/@id|$prevdiv/@xml:id)[1])"/> + + <xsl:variable name="nextdiv" + select="($div/following-sibling::cf:div|$div/following::cf:div|$div/cf:div)[1]"/> + <xsl:variable name="next" select="key('genid', ($nextdiv/@id|$nextdiv/@xml:id)[1])"/> + + <xsl:choose> + <xsl:when test="$onechunk != 0 and parent::*"> + <xsl:apply-imports/> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="process-chunk"> + <xsl:with-param name="prev" select="$prev"/> + <xsl:with-param name="next" select="$next"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:otherwise> + <xsl:choose> + <xsl:when test="$onechunk != 0 and not(parent::*)"> + <xsl:call-template name="chunk-all-sections"/> + </xsl:when> + <xsl:when test="$onechunk != 0"> + <xsl:apply-imports/> + </xsl:when> + <xsl:when test="$chunk.first.sections = 0"> + <xsl:call-template name="chunk-first-section-with-parent"/> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="chunk-all-sections"/> + </xsl:otherwise> + </xsl:choose> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +</xsl:stylesheet> diff --git a/doc/help/xslt/html/chunktoc.xsl b/doc/help/xslt/html/chunktoc.xsl new file mode 100644 index 00000000..8422aa4c --- /dev/null +++ b/doc/help/xslt/html/chunktoc.xsl @@ -0,0 +1,543 @@ +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" + xmlns:exsl="http://exslt.org/common" + xmlns:ng="http://docbook.org/docbook-ng" + xmlns:db="http://docbook.org/ns/docbook" + version="1.0" + exclude-result-prefixes="doc exsl ng db"> + +<!-- ******************************************************************** + $Id: chunktoc.xsl 8545 2009-12-02 07:22:10Z bobstayton $ + ******************************************************************** + + This file is part of the XSL DocBook Stylesheet distribution. + See ../README or http://docbook.sf.net/release/xsl/current/ for + copyright and other information. + + ******************************************************************** --> + +<!-- ==================================================================== --> + +<xsl:import href="docbook.xsl"/> +<xsl:import href="chunk-common.xsl"/> + +<xsl:template name="chunk"> + <xsl:param name="node" select="."/> + <!-- returns 1 if $node is a chunk --> + + <xsl:variable name="id"> + <xsl:call-template name="object.id"> + <xsl:with-param name="object" select="$node"/> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="chunks" select="document($chunk.toc,/)"/> + + <xsl:choose> + <xsl:when test="$chunks//tocentry[@linkend=$id]">1</xsl:when> + <xsl:otherwise>0</xsl:otherwise> + </xsl:choose> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="*" mode="chunk-filename"> + <!-- returns the filename of a chunk --> + + <xsl:variable name="id"> + <xsl:call-template name="object.id"/> + </xsl:variable> + + <xsl:variable name="chunks" select="document($chunk.toc,/)"/> + + <xsl:variable name="chunk" select="$chunks//tocentry[@linkend=$id]"/> + <xsl:variable name="filename"> + <xsl:call-template name="pi.dbhtml_filename"> + <xsl:with-param name="node" select="$chunk"/> + </xsl:call-template> + </xsl:variable> + + <xsl:choose> + <xsl:when test="$chunk"> + <xsl:value-of select="$filename"/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="parent::*" mode="chunk-filename"/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template name="process-chunk"> + <xsl:variable name="id"> + <xsl:call-template name="object.id"/> + </xsl:variable> + + <xsl:variable name="chunks" select="document($chunk.toc,/)"/> + + <xsl:variable name="chunk" select="$chunks//tocentry[@linkend=$id]"/> + <xsl:variable name="prev-id" + select="($chunk/preceding::tocentry + |$chunk/ancestor::tocentry)[last()]/@linkend"/> + <xsl:variable name="next-id" + select="($chunk/following::tocentry + |$chunk/child::tocentry)[1]/@linkend"/> + + <xsl:variable name="prev" select="key('id',$prev-id)"/> + <xsl:variable name="next" select="key('id',$next-id)"/> + + <xsl:variable name="ischunk"> + <xsl:call-template name="chunk"/> + </xsl:variable> + + <xsl:variable name="chunkfn"> + <xsl:if test="$ischunk='1'"> + <xsl:apply-templates mode="chunk-filename" select="."/> + </xsl:if> + </xsl:variable> + + <xsl:variable name="filename"> + <xsl:call-template name="make-relative-filename"> + <xsl:with-param name="base.dir" select="$base.dir"/> + <xsl:with-param name="base.name" select="$chunkfn"/> + </xsl:call-template> + </xsl:variable> + + <xsl:choose> + <xsl:when test="$ischunk = 0"> + <xsl:apply-imports/> + </xsl:when> + + <xsl:otherwise> + <xsl:call-template name="write.chunk"> + <xsl:with-param name="filename" select="$filename"/> + <xsl:with-param name="content"> + <xsl:call-template name="chunk-element-content"> + <xsl:with-param name="prev" select="$prev"/> + <xsl:with-param name="next" select="$next"/> + </xsl:call-template> + </xsl:with-param> + <xsl:with-param name="quiet" select="$chunk.quietly"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="set"> + <xsl:call-template name="process-chunk"/> +</xsl:template> + +<xsl:template match="book"> + <xsl:call-template name="process-chunk"/> +</xsl:template> + +<xsl:template match="appendix"> + <xsl:call-template name="process-chunk"/> +</xsl:template> + +<xsl:template match="book/glossary"> + <xsl:call-template name="process-chunk"/> +</xsl:template> + +<xsl:template match="book/bibliography"> + <xsl:call-template name="process-chunk"/> +</xsl:template> + +<xsl:template match="dedication" mode="dedication"> + <xsl:call-template name="process-chunk"/> +</xsl:template> + +<xsl:template match="preface|chapter"> + <xsl:call-template name="process-chunk"/> +</xsl:template> + +<xsl:template match="part|reference"> + <xsl:call-template name="process-chunk"/> +</xsl:template> + +<xsl:template match="refentry"> + <xsl:call-template name="process-chunk"/> +</xsl:template> + +<xsl:template match="colophon"> + <xsl:call-template name="process-chunk"/> +</xsl:template> + +<xsl:template match="article"> + <xsl:call-template name="process-chunk"/> +</xsl:template> + +<xsl:template match="article/glossary"> + <xsl:call-template name="process-chunk"/> +</xsl:template> + +<xsl:template match="article/bibliography"> + <xsl:call-template name="process-chunk"/> +</xsl:template> + +<xsl:template match="sect1|sect2|sect3|sect4|sect5|section"> + <xsl:variable name="ischunk"> + <xsl:call-template name="chunk"/> + </xsl:variable> + + <xsl:choose> + <xsl:when test="$ischunk != 0"> + <xsl:call-template name="process-chunk"/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-imports/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="setindex + |book/index + |article/index"> + <!-- some implementations use completely empty index tags to indicate --> + <!-- where an automatically generated index should be inserted. so --> + <!-- if the index is completely empty, skip it. --> + <xsl:if test="count(*)>0 or $generate.index != '0'"> + <xsl:call-template name="process-chunk"/> + </xsl:if> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="/"> + <!-- * Get a title for current doc so that we let the user --> + <!-- * know what document we are processing at this point. --> + <xsl:variable name="doc.title"> + <xsl:call-template name="get.doc.title"/> + </xsl:variable> + <xsl:choose> + <xsl:when test="$chunk.toc = ''"> + <xsl:message terminate="yes"> + <xsl:text>The chunk.toc file is not set.</xsl:text> + </xsl:message> + </xsl:when> + <!-- Hack! If someone hands us a DocBook V5.x or DocBook NG document, + toss the namespace and continue. Use the docbook5 namespaced + stylesheets for DocBook5 if you don't want to use this feature.--> + <!-- include extra test for Xalan quirk --> + <xsl:when test="$exsl.node.set.available != 0 + and (*/self::ng:* or */self::db:*)"> + <xsl:call-template name="log.message"> + <xsl:with-param name="level">Note</xsl:with-param> + <xsl:with-param name="source" select="$doc.title"/> + <xsl:with-param name="context-desc"> + <xsl:text>namesp. cut</xsl:text> + </xsl:with-param> + <xsl:with-param name="message"> + <xsl:text>stripped namespace before processing</xsl:text> + </xsl:with-param> + </xsl:call-template> + <xsl:variable name="nons"> + <xsl:apply-templates mode="stripNS"/> + </xsl:variable> + <xsl:call-template name="log.message"> + <xsl:with-param name="level">Note</xsl:with-param> + <xsl:with-param name="source" select="$doc.title"/> + <xsl:with-param name="context-desc"> + <xsl:text>namesp. cut</xsl:text> + </xsl:with-param> + <xsl:with-param name="message"> + <xsl:text>processing stripped document</xsl:text> + </xsl:with-param> + </xsl:call-template> + <xsl:apply-templates select="exsl:node-set($nons)"/> + </xsl:when> + <!-- Can't process unless namespace removed --> + <xsl:when test="*/self::ng:* or */self::db:*"> + <xsl:message terminate="yes"> + <xsl:text>Unable to strip the namespace from DB5 document,</xsl:text> + <xsl:text> cannot proceed.</xsl:text> + </xsl:message> + </xsl:when> + <xsl:otherwise> + <xsl:choose> + <xsl:when test="$rootid != ''"> + <xsl:choose> + <xsl:when test="count(key('id',$rootid)) = 0"> + <xsl:message terminate="yes"> + <xsl:text>ID '</xsl:text> + <xsl:value-of select="$rootid"/> + <xsl:text>' not found in document.</xsl:text> + </xsl:message> + </xsl:when> + <xsl:otherwise> + <xsl:if test="$collect.xref.targets = 'yes' or + $collect.xref.targets = 'only'"> + <xsl:apply-templates select="key('id', $rootid)" + mode="collect.targets"/> + </xsl:if> + <xsl:if test="$collect.xref.targets != 'only'"> + <xsl:apply-templates select="key('id',$rootid)" + mode="process.root"/> + <xsl:if test="$tex.math.in.alt != ''"> + <xsl:apply-templates select="key('id',$rootid)" + mode="collect.tex.math"/> + </xsl:if> + <xsl:if test="$generate.manifest != 0"> + <xsl:call-template name="generate.manifest"> + <xsl:with-param name="node" select="key('id',$rootid)"/> + </xsl:call-template> + </xsl:if> + </xsl:if> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:otherwise> + <xsl:if test="$collect.xref.targets = 'yes' or + $collect.xref.targets = 'only'"> + <xsl:apply-templates select="/" mode="collect.targets"/> + </xsl:if> + <xsl:if test="$collect.xref.targets != 'only'"> + <xsl:apply-templates select="/" mode="process.root"/> + <xsl:if test="$tex.math.in.alt != ''"> + <xsl:apply-templates select="/" mode="collect.tex.math"/> + </xsl:if> + <xsl:if test="$generate.manifest != 0"> + <xsl:call-template name="generate.manifest"> + <xsl:with-param name="node" select="/"/> + </xsl:call-template> + </xsl:if> + </xsl:if> + </xsl:otherwise> + </xsl:choose> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="*" mode="process.root"> + <xsl:apply-templates select="."/> +</xsl:template> + +<xsl:template name="make.lots"> + <xsl:param name="toc.params" select="''"/> + <xsl:param name="toc"/> + + <xsl:variable name="lots"> + <xsl:if test="contains($toc.params, 'toc')"> + <xsl:copy-of select="$toc"/> + </xsl:if> + + <xsl:if test="contains($toc.params, 'figure')"> + <xsl:choose> + <xsl:when test="$chunk.separate.lots != '0'"> + <xsl:call-template name="make.lot.chunk"> + <xsl:with-param name="type" select="'figure'"/> + <xsl:with-param name="lot"> + <xsl:call-template name="list.of.titles"> + <xsl:with-param name="titles" select="'figure'"/> + <xsl:with-param name="nodes" select=".//figure"/> + </xsl:call-template> + </xsl:with-param> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="list.of.titles"> + <xsl:with-param name="titles" select="'figure'"/> + <xsl:with-param name="nodes" select=".//figure"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:if> + + <xsl:if test="contains($toc.params, 'table')"> + <xsl:choose> + <xsl:when test="$chunk.separate.lots != '0'"> + <xsl:call-template name="make.lot.chunk"> + <xsl:with-param name="type" select="'table'"/> + <xsl:with-param name="lot"> + <xsl:call-template name="list.of.titles"> + <xsl:with-param name="titles" select="'table'"/> + <xsl:with-param name="nodes" select=".//table"/> + </xsl:call-template> + </xsl:with-param> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="list.of.titles"> + <xsl:with-param name="titles" select="'table'"/> + <xsl:with-param name="nodes" select=".//table"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:if> + + <xsl:if test="contains($toc.params, 'example')"> + <xsl:choose> + <xsl:when test="$chunk.separate.lots != '0'"> + <xsl:call-template name="make.lot.chunk"> + <xsl:with-param name="type" select="'example'"/> + <xsl:with-param name="lot"> + <xsl:call-template name="list.of.titles"> + <xsl:with-param name="titles" select="'example'"/> + <xsl:with-param name="nodes" select=".//example"/> + </xsl:call-template> + </xsl:with-param> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="list.of.titles"> + <xsl:with-param name="titles" select="'example'"/> + <xsl:with-param name="nodes" select=".//example"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:if> + + <xsl:if test="contains($toc.params, 'equation')"> + <xsl:choose> + <xsl:when test="$chunk.separate.lots != '0'"> + <xsl:call-template name="make.lot.chunk"> + <xsl:with-param name="type" select="'equation'"/> + <xsl:with-param name="lot"> + <xsl:call-template name="list.of.titles"> + <xsl:with-param name="titles" select="'equation'"/> + <xsl:with-param name="nodes" select=".//equation"/> + </xsl:call-template> + </xsl:with-param> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="list.of.titles"> + <xsl:with-param name="titles" select="'equation'"/> + <xsl:with-param name="nodes" select=".//equation"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:if> + + <xsl:if test="contains($toc.params, 'procedure')"> + <xsl:choose> + <xsl:when test="$chunk.separate.lots != '0'"> + <xsl:call-template name="make.lot.chunk"> + <xsl:with-param name="type" select="'procedure'"/> + <xsl:with-param name="lot"> + <xsl:call-template name="list.of.titles"> + <xsl:with-param name="titles" select="'procedure'"/> + <xsl:with-param name="nodes" select=".//procedure[title]"/> + </xsl:call-template> + </xsl:with-param> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="list.of.titles"> + <xsl:with-param name="titles" select="'procedure'"/> + <xsl:with-param name="nodes" select=".//procedure[title]"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:if> + </xsl:variable> + + <xsl:if test="string($lots) != ''"> + <xsl:choose> + <xsl:when test="$chunk.tocs.and.lots != 0 and not(parent::*)"> + <xsl:call-template name="write.chunk"> + <xsl:with-param name="filename"> + <xsl:call-template name="make-relative-filename"> + <xsl:with-param name="base.dir" select="$base.dir"/> + <xsl:with-param name="base.name"> + <xsl:call-template name="dbhtml-dir"/> + <xsl:apply-templates select="." mode="recursive-chunk-filename"> + <xsl:with-param name="recursive" select="true()"/> + </xsl:apply-templates> + <xsl:text>-toc</xsl:text> + <xsl:value-of select="$html.ext"/> + </xsl:with-param> + </xsl:call-template> + </xsl:with-param> + <xsl:with-param name="content"> + <xsl:call-template name="chunk-element-content"> + <xsl:with-param name="prev" select="/foo"/> + <xsl:with-param name="next" select="/foo"/> + <xsl:with-param name="nav.context" select="'toc'"/> + <xsl:with-param name="content"> + <h1> + <xsl:apply-templates select="." mode="object.title.markup"/> + </h1> + <xsl:copy-of select="$lots"/> + </xsl:with-param> + </xsl:call-template> + </xsl:with-param> + <xsl:with-param name="quiet" select="$chunk.quietly"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:copy-of select="$lots"/> + </xsl:otherwise> + </xsl:choose> + </xsl:if> +</xsl:template> + +<xsl:template name="make.lot.chunk"> + <xsl:param name="type" select="''"/> + <xsl:param name="lot"/> + + <xsl:if test="string($lot) != ''"> + <xsl:variable name="filename"> + <xsl:call-template name="make-relative-filename"> + <xsl:with-param name="base.dir" select="$base.dir"/> + <xsl:with-param name="base.name"> + <xsl:call-template name="dbhtml-dir"/> + <xsl:value-of select="$type"/> + <xsl:text>-toc</xsl:text> + <xsl:value-of select="$html.ext"/> + </xsl:with-param> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="href"> + <xsl:call-template name="make-relative-filename"> + <xsl:with-param name="base.name"> + <xsl:call-template name="dbhtml-dir"/> + <xsl:value-of select="$type"/> + <xsl:text>-toc</xsl:text> + <xsl:value-of select="$html.ext"/> + </xsl:with-param> + </xsl:call-template> + </xsl:variable> + + <xsl:call-template name="write.chunk"> + <xsl:with-param name="filename" select="$filename"/> + <xsl:with-param name="content"> + <xsl:call-template name="chunk-element-content"> + <xsl:with-param name="prev" select="/foo"/> + <xsl:with-param name="next" select="/foo"/> + <xsl:with-param name="nav.context" select="'toc'"/> + <xsl:with-param name="content"> + <xsl:copy-of select="$lot"/> + </xsl:with-param> + </xsl:call-template> + </xsl:with-param> + <xsl:with-param name="quiet" select="$chunk.quietly"/> + </xsl:call-template> + <!-- And output a link to this file --> + <div> + <xsl:attribute name="class"> + <xsl:text>ListofTitles</xsl:text> + </xsl:attribute> + <a href="{$href}"> + <xsl:call-template name="gentext"> + <xsl:with-param name="key"> + <xsl:choose> + <xsl:when test="$type='table'">ListofTables</xsl:when> + <xsl:when test="$type='figure'">ListofFigures</xsl:when> + <xsl:when test="$type='equation'">ListofEquations</xsl:when> + <xsl:when test="$type='example'">ListofExamples</xsl:when> + <xsl:when test="$type='procedure'">ListofProcedures</xsl:when> + <xsl:otherwise>ListofUnknown</xsl:otherwise> + </xsl:choose> + </xsl:with-param> + </xsl:call-template> + </a> + </div> + </xsl:if> +</xsl:template> + +</xsl:stylesheet> diff --git a/doc/help/xslt/html/component.xsl b/doc/help/xslt/html/component.xsl new file mode 100644 index 00000000..666ea17d --- /dev/null +++ b/doc/help/xslt/html/component.xsl @@ -0,0 +1,425 @@ +<?xml version='1.0'?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version='1.0'> + +<!-- ******************************************************************** + $Id: component.xsl 8568 2010-01-11 03:16:56Z bobstayton $ + ******************************************************************** + + This file is part of the XSL DocBook Stylesheet distribution. + See ../README or http://docbook.sf.net/release/xsl/current/ for + copyright and other information. + + ******************************************************************** --> + +<!-- ==================================================================== --> + +<xsl:template name="component.title"> + <xsl:param name="node" select="."/> + + <xsl:variable name="level"> + <xsl:choose> + <xsl:when test="ancestor::section"> + <xsl:value-of select="count(ancestor::section)+1"/> + </xsl:when> + <xsl:when test="ancestor::sect5">6</xsl:when> + <xsl:when test="ancestor::sect4">5</xsl:when> + <xsl:when test="ancestor::sect3">4</xsl:when> + <xsl:when test="ancestor::sect2">3</xsl:when> + <xsl:when test="ancestor::sect1">2</xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <!-- Let's handle the case where a component (bibliography, for example) + occurs inside a section; will we need parameters for this? --> + + <xsl:element name="h{$level+1}"> + <xsl:attribute name="class">title</xsl:attribute> + <xsl:if test="$generate.id.attributes = 0"> + <xsl:call-template name="anchor"> + <xsl:with-param name="node" select="$node"/> + <xsl:with-param name="conditional" select="0"/> + </xsl:call-template> + </xsl:if> + <xsl:apply-templates select="$node" mode="object.title.markup"> + <xsl:with-param name="allow-anchors" select="1"/> + </xsl:apply-templates> + </xsl:element> +</xsl:template> + +<xsl:template name="component.subtitle"> + <xsl:param name="node" select="."/> + <xsl:variable name="subtitle" + select="($node/docinfo/subtitle + |$node/info/subtitle + |$node/prefaceinfo/subtitle + |$node/chapterinfo/subtitle + |$node/appendixinfo/subtitle + |$node/articleinfo/subtitle + |$node/artheader/subtitle + |$node/subtitle)[1]"/> + + <xsl:if test="$subtitle"> + <h3 class="subtitle"> + <i> + <xsl:apply-templates select="$node" mode="object.subtitle.markup"/> + </i> + </h3> + </xsl:if> +</xsl:template> + +<xsl:template name="component.separator"> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="dedication" mode="dedication"> + <xsl:call-template name="id.warning"/> + + <div> + <xsl:call-template name="common.html.attributes"> + <xsl:with-param name="inherit" select="1"/> + </xsl:call-template> + <xsl:call-template name="dedication.titlepage"/> + <xsl:apply-templates/> + <xsl:call-template name="process.footnotes"/> + </div> +</xsl:template> + +<xsl:template match="dedication/title|dedication/info/title" + mode="titlepage.mode" priority="2"> + <xsl:call-template name="component.title"> + <xsl:with-param name="node" select="ancestor::dedication[1]"/> + </xsl:call-template> +</xsl:template> + +<xsl:template match="dedication/subtitle|dedication/info/subtitle" + mode="titlepage.mode" priority="2"> + <xsl:call-template name="component.subtitle"> + <xsl:with-param name="node" select="ancestor::dedication[1]"/> + </xsl:call-template> +</xsl:template> + +<xsl:template match="dedication"></xsl:template> <!-- see mode="dedication" --> +<xsl:template match="dedication/title"></xsl:template> +<xsl:template match="dedication/subtitle"></xsl:template> +<xsl:template match="dedication/titleabbrev"></xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="acknowledgements" mode="acknowledgements"> + <xsl:call-template name="id.warning"/> + + <div> + <xsl:call-template name="common.html.attributes"> + <xsl:with-param name="inherit" select="1"/> + </xsl:call-template> + <xsl:call-template name="acknowledgements.titlepage"/> + <xsl:apply-templates/> + <xsl:call-template name="process.footnotes"/> + </div> +</xsl:template> + +<xsl:template match="acknowledgements/title|acknowledgements/info/title" + mode="titlepage.mode" priority="2"> + <xsl:call-template name="component.title"> + <xsl:with-param name="node" select="ancestor::acknowledgements[1]"/> + </xsl:call-template> +</xsl:template> + +<xsl:template match="acknowledgements/subtitle|acknowledgements/info/subtitle" + mode="titlepage.mode" priority="2"> + <xsl:call-template name="component.subtitle"> + <xsl:with-param name="node" select="ancestor::acknowledgements[1]"/> + </xsl:call-template> +</xsl:template> + +<xsl:template match="acknowledgements"></xsl:template> <!-- see mode="acknowledgements" --> +<xsl:template match="acknowledgements/title"></xsl:template> +<xsl:template match="acknowledgements/subtitle"></xsl:template> +<xsl:template match="acknowledgements/titleabbrev"></xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="colophon"> + <xsl:call-template name="id.warning"/> + + <div> + <xsl:call-template name="common.html.attributes"> + <xsl:with-param name="inherit" select="1"/> + </xsl:call-template> + <xsl:if test="$generate.id.attributes != 0"> + <xsl:attribute name="id"> + <xsl:call-template name="object.id"/> + </xsl:attribute> + </xsl:if> + + <xsl:call-template name="component.separator"/> + <xsl:call-template name="component.title"/> + <xsl:call-template name="component.subtitle"/> + + <xsl:apply-templates/> + <xsl:call-template name="process.footnotes"/> + </div> +</xsl:template> + +<xsl:template match="colophon/title"></xsl:template> +<xsl:template match="colophon/subtitle"></xsl:template> +<xsl:template match="colophon/titleabbrev"></xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="preface"> + <xsl:call-template name="id.warning"/> + + <div> + <xsl:call-template name="common.html.attributes"> + <xsl:with-param name="inherit" select="1"/> + </xsl:call-template> + <xsl:if test="$generate.id.attributes != 0"> + <xsl:attribute name="id"> + <xsl:call-template name="object.id"/> + </xsl:attribute> + </xsl:if> + + <xsl:call-template name="component.separator"/> + <xsl:call-template name="preface.titlepage"/> + + <xsl:variable name="toc.params"> + <xsl:call-template name="find.path.params"> + <xsl:with-param name="table" select="normalize-space($generate.toc)"/> + </xsl:call-template> + </xsl:variable> + + <xsl:if test="contains($toc.params, 'toc')"> + <xsl:call-template name="component.toc"> + <xsl:with-param name="toc.title.p" select="contains($toc.params, 'title')"/> + </xsl:call-template> + <xsl:call-template name="component.toc.separator"/> + </xsl:if> + <xsl:apply-templates/> + <xsl:call-template name="process.footnotes"/> + </div> +</xsl:template> + +<xsl:template match="preface/title" mode="titlepage.mode" priority="2"> + <xsl:call-template name="component.title"> + <xsl:with-param name="node" select="ancestor::preface[1]"/> + </xsl:call-template> +</xsl:template> + +<xsl:template match="preface/subtitle + |preface/prefaceinfo/subtitle + |preface/info/subtitle + |preface/docinfo/subtitle" + mode="titlepage.mode" priority="2"> + <xsl:call-template name="component.subtitle"> + <xsl:with-param name="node" select="ancestor::preface[1]"/> + </xsl:call-template> +</xsl:template> + +<xsl:template match="preface/docinfo|prefaceinfo"></xsl:template> +<xsl:template match="preface/info"></xsl:template> +<xsl:template match="preface/title"></xsl:template> +<xsl:template match="preface/titleabbrev"></xsl:template> +<xsl:template match="preface/subtitle"></xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="chapter"> + <xsl:call-template name="id.warning"/> + + <div> + <xsl:call-template name="common.html.attributes"> + <xsl:with-param name="inherit" select="1"/> + </xsl:call-template> + <xsl:if test="$generate.id.attributes != 0"> + <xsl:attribute name="id"> + <xsl:call-template name="object.id"/> + </xsl:attribute> + </xsl:if> + + <xsl:call-template name="component.separator"/> + <xsl:call-template name="chapter.titlepage"/> + + <xsl:variable name="toc.params"> + <xsl:call-template name="find.path.params"> + <xsl:with-param name="table" select="normalize-space($generate.toc)"/> + </xsl:call-template> + </xsl:variable> + <xsl:if test="contains($toc.params, 'toc')"> + <xsl:call-template name="component.toc"> + <xsl:with-param name="toc.title.p" select="contains($toc.params, 'title')"/> + </xsl:call-template> + <xsl:call-template name="component.toc.separator"/> + </xsl:if> + <xsl:apply-templates/> + <xsl:call-template name="process.footnotes"/> + </div> +</xsl:template> + +<xsl:template match="chapter/title|chapter/chapterinfo/title|chapter/info/title" + mode="titlepage.mode" priority="2"> + <xsl:call-template name="component.title"> + <xsl:with-param name="node" select="ancestor::chapter[1]"/> + </xsl:call-template> +</xsl:template> + +<xsl:template match="chapter/subtitle + |chapter/chapterinfo/subtitle + |chapter/info/subtitle + |chapter/docinfo/subtitle" + mode="titlepage.mode" priority="2"> + <xsl:call-template name="component.subtitle"> + <xsl:with-param name="node" select="ancestor::chapter[1]"/> + </xsl:call-template> +</xsl:template> + +<xsl:template match="chapter/docinfo|chapterinfo"></xsl:template> +<xsl:template match="chapter/info"></xsl:template> +<xsl:template match="chapter/title"></xsl:template> +<xsl:template match="chapter/titleabbrev"></xsl:template> +<xsl:template match="chapter/subtitle"></xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="appendix"> + <xsl:variable name="ischunk"> + <xsl:call-template name="chunk"/> + </xsl:variable> + + <xsl:call-template name="id.warning"/> + + <div> + <xsl:call-template name="common.html.attributes"> + <xsl:with-param name="inherit" select="1"/> + </xsl:call-template> + <xsl:if test="$generate.id.attributes != 0"> + <xsl:attribute name="id"> + <xsl:call-template name="object.id"/> + </xsl:attribute> + </xsl:if> + + <xsl:choose> + <xsl:when test="parent::article and $ischunk = 0"> + <xsl:call-template name="section.heading"> + <xsl:with-param name="level" select="1"/> + <xsl:with-param name="title"> + <xsl:apply-templates select="." mode="object.title.markup"/> + </xsl:with-param> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="component.separator"/> + <xsl:call-template name="appendix.titlepage"/> + </xsl:otherwise> + </xsl:choose> + + <xsl:variable name="toc.params"> + <xsl:call-template name="find.path.params"> + <xsl:with-param name="table" select="normalize-space($generate.toc)"/> + </xsl:call-template> + </xsl:variable> + + <xsl:if test="contains($toc.params, 'toc')"> + <xsl:call-template name="component.toc"> + <xsl:with-param name="toc.title.p" select="contains($toc.params, 'title')"/> + </xsl:call-template> + <xsl:call-template name="component.toc.separator"/> + </xsl:if> + + <xsl:apply-templates/> + + <xsl:if test="not(parent::article) or $ischunk != 0"> + <xsl:call-template name="process.footnotes"/> + </xsl:if> + </div> +</xsl:template> + +<xsl:template match="appendix/title|appendix/appendixinfo/title" + mode="titlepage.mode" priority="2"> + <xsl:call-template name="component.title"> + <xsl:with-param name="node" select="ancestor::appendix[1]"/> + </xsl:call-template> +</xsl:template> + +<xsl:template match="appendix/subtitle + |appendix/appendixinfo/subtitle + |appendix/info/subtitle + |appendix/docinfo/subtitle" + mode="titlepage.mode" priority="2"> + <xsl:call-template name="component.subtitle"> + <xsl:with-param name="node" select="ancestor::appendix[1]"/> + </xsl:call-template> +</xsl:template> + +<xsl:template match="appendix/docinfo|appendixinfo"></xsl:template> +<xsl:template match="appendix/info"></xsl:template> +<xsl:template match="appendix/title"></xsl:template> +<xsl:template match="appendix/titleabbrev"></xsl:template> +<xsl:template match="appendix/subtitle"></xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="article"> + <xsl:call-template name="id.warning"/> + + <div> + <xsl:call-template name="common.html.attributes"> + <xsl:with-param name="inherit" select="1"/> + </xsl:call-template> + <xsl:if test="$generate.id.attributes != 0"> + <xsl:attribute name="id"> + <xsl:call-template name="object.id"/> + </xsl:attribute> + </xsl:if> + + <xsl:call-template name="article.titlepage"/> + + <xsl:variable name="toc.params"> + <xsl:call-template name="find.path.params"> + <xsl:with-param name="table" select="normalize-space($generate.toc)"/> + </xsl:call-template> + </xsl:variable> + + <xsl:call-template name="make.lots"> + <xsl:with-param name="toc.params" select="$toc.params"/> + <xsl:with-param name="toc"> + <xsl:call-template name="component.toc"> + <xsl:with-param name="toc.title.p" select="contains($toc.params, 'title')"/> + </xsl:call-template> + </xsl:with-param> + </xsl:call-template> + + <xsl:apply-templates/> + <xsl:call-template name="process.footnotes"/> + </div> +</xsl:template> + +<xsl:template match="article/title|article/articleinfo/title" mode="titlepage.mode" priority="2"> + <xsl:call-template name="component.title"> + <xsl:with-param name="node" select="ancestor::article[1]"/> + </xsl:call-template> +</xsl:template> + +<xsl:template match="article/subtitle + |article/articleinfo/subtitle + |article/info/subtitle + |article/artheader/subtitle" + mode="titlepage.mode" priority="2"> + <xsl:call-template name="component.subtitle"> + <xsl:with-param name="node" select="ancestor::article[1]"/> + </xsl:call-template> +</xsl:template> + +<xsl:template match="article/artheader|article/articleinfo"></xsl:template> +<xsl:template match="article/info"></xsl:template> +<xsl:template match="article/title"></xsl:template> +<xsl:template match="article/titleabbrev"></xsl:template> +<xsl:template match="article/subtitle"></xsl:template> + +<!-- ==================================================================== --> + +</xsl:stylesheet> + diff --git a/doc/help/xslt/html/division.xsl b/doc/help/xslt/html/division.xsl new file mode 100644 index 00000000..e910fdd5 --- /dev/null +++ b/doc/help/xslt/html/division.xsl @@ -0,0 +1,217 @@ +<?xml version='1.0'?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version='1.0'> + +<!-- ******************************************************************** + $Id: division.xsl 8421 2009-05-04 07:49:49Z bobstayton $ + ******************************************************************** + + This file is part of the XSL DocBook Stylesheet distribution. + See ../README or http://docbook.sf.net/release/xsl/current/ for + copyright and other information. + + ******************************************************************** --> + +<!-- ==================================================================== --> + +<xsl:template match="set"> + <xsl:call-template name="id.warning"/> + + <div> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:call-template name="dir"> + <xsl:with-param name="inherit" select="1"/> + </xsl:call-template> + <xsl:call-template name="language.attribute"/> + <xsl:if test="$generate.id.attributes != 0"> + <xsl:attribute name="id"> + <xsl:call-template name="object.id"/> + </xsl:attribute> + </xsl:if> + + <xsl:call-template name="set.titlepage"/> + + <xsl:variable name="toc.params"> + <xsl:call-template name="find.path.params"> + <xsl:with-param name="table" select="normalize-space($generate.toc)"/> + </xsl:call-template> + </xsl:variable> + + <xsl:call-template name="make.lots"> + <xsl:with-param name="toc.params" select="$toc.params"/> + <xsl:with-param name="toc"> + <xsl:call-template name="set.toc"> + <xsl:with-param name="toc.title.p" select="contains($toc.params, 'title')"/> + </xsl:call-template> + </xsl:with-param> + </xsl:call-template> + + <xsl:apply-templates/> + </div> +</xsl:template> + +<xsl:template match="set/setinfo"></xsl:template> +<xsl:template match="set/title"></xsl:template> +<xsl:template match="set/titleabbrev"></xsl:template> +<xsl:template match="set/subtitle"></xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="book"> + <xsl:call-template name="id.warning"/> + + <div> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:if test="$generate.id.attributes != 0"> + <xsl:attribute name="id"> + <xsl:call-template name="object.id"/> + </xsl:attribute> + </xsl:if> + + <xsl:call-template name="book.titlepage"/> + + <xsl:apply-templates select="dedication" mode="dedication"/> + <xsl:apply-templates select="acknowledgements" mode="acknowledgements"/> + + <xsl:variable name="toc.params"> + <xsl:call-template name="find.path.params"> + <xsl:with-param name="table" select="normalize-space($generate.toc)"/> + </xsl:call-template> + </xsl:variable> + + <xsl:call-template name="make.lots"> + <xsl:with-param name="toc.params" select="$toc.params"/> + <xsl:with-param name="toc"> + <xsl:call-template name="division.toc"> + <xsl:with-param name="toc.title.p" select="contains($toc.params, 'title')"/> + </xsl:call-template> + </xsl:with-param> + </xsl:call-template> + + <xsl:apply-templates/> + </div> +</xsl:template> + +<xsl:template match="book/bookinfo"></xsl:template> +<xsl:template match="book/info"></xsl:template> +<xsl:template match="book/title"></xsl:template> +<xsl:template match="book/titleabbrev"></xsl:template> +<xsl:template match="book/subtitle"></xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="part"> + <xsl:call-template name="id.warning"/> + + <div> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:if test="$generate.id.attributes != 0"> + <xsl:attribute name="id"> + <xsl:call-template name="object.id"/> + </xsl:attribute> + </xsl:if> + + <xsl:call-template name="part.titlepage"/> + + <xsl:variable name="toc.params"> + <xsl:call-template name="find.path.params"> + <xsl:with-param name="table" select="normalize-space($generate.toc)"/> + </xsl:call-template> + </xsl:variable> + <xsl:if test="not(partintro) and contains($toc.params, 'toc')"> + <xsl:call-template name="division.toc"/> + </xsl:if> + <xsl:apply-templates/> + </div> +</xsl:template> + +<xsl:template match="part" mode="make.part.toc"> + <xsl:call-template name="division.toc"/> +</xsl:template> + +<xsl:template match="reference" mode="make.part.toc"> + <xsl:call-template name="division.toc"/> +</xsl:template> + +<xsl:template match="part/docinfo"></xsl:template> +<xsl:template match="part/partinfo"></xsl:template> +<xsl:template match="part/info"></xsl:template> +<xsl:template match="part/title"></xsl:template> +<xsl:template match="part/titleabbrev"></xsl:template> +<xsl:template match="part/subtitle"></xsl:template> + +<xsl:template match="partintro"> + <xsl:call-template name="id.warning"/> + + <div> + <xsl:call-template name="common.html.attributes"/> + <xsl:if test="$generate.id.attributes != 0"> + <xsl:attribute name="id"> + <xsl:call-template name="object.id"/> + </xsl:attribute> + </xsl:if> + + <xsl:call-template name="partintro.titlepage"/> + <xsl:apply-templates/> + + <xsl:variable name="toc.params"> + <xsl:call-template name="find.path.params"> + <xsl:with-param name="node" select="parent::*"/> + <xsl:with-param name="table" select="normalize-space($generate.toc)"/> + </xsl:call-template> + </xsl:variable> + <xsl:if test="contains($toc.params, 'toc')"> + <!-- not ancestor::part because partintro appears in reference --> + <xsl:apply-templates select="parent::*" mode="make.part.toc"/> + </xsl:if> + <xsl:call-template name="process.footnotes"/> + </div> +</xsl:template> + +<xsl:template match="partintro/title"></xsl:template> +<xsl:template match="partintro/titleabbrev"></xsl:template> +<xsl:template match="partintro/subtitle"></xsl:template> + +<xsl:template match="partintro/title" mode="partintro.title.mode"> + <h2> + <xsl:apply-templates/> + </h2> +</xsl:template> + +<xsl:template match="partintro/subtitle" mode="partintro.title.mode"> + <h3> + <i><xsl:apply-templates/></i> + </h3> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="book" mode="division.number"> + <xsl:number from="set" count="book" format="1."/> +</xsl:template> + +<xsl:template match="part" mode="division.number"> + <xsl:number from="book" count="part" format="I."/> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template name="division.title"> + <xsl:param name="node" select="."/> + + <h1> + <xsl:attribute name="class">title</xsl:attribute> + <xsl:if test="$generate.id.attributes = 0"> + <xsl:call-template name="anchor"> + <xsl:with-param name="node" select="$node"/> + <xsl:with-param name="conditional" select="0"/> + </xsl:call-template> + </xsl:if> + <xsl:apply-templates select="$node" mode="object.title.markup"> + <xsl:with-param name="allow-anchors" select="1"/> + </xsl:apply-templates> + </h1> +</xsl:template> + +</xsl:stylesheet> + diff --git a/doc/help/xslt/html/docbook.css.xml b/doc/help/xslt/html/docbook.css.xml new file mode 100644 index 00000000..d93a25c8 --- /dev/null +++ b/doc/help/xslt/html/docbook.css.xml @@ -0,0 +1,109 @@ +<?xml version="1.0"?> +<style> + +/********************************/ +/* start of styles in block.xsl */ + +.formalpara-title { + font-weight: bold; +} + +div.blockquote-title { + font-weight: bold; + margin-top: 1em; + margin-bottom: 1em; +} + +span.msgmain-title { + font-weight: bold; +} + +span.msgsub-title { + font-weight: bold; +} + +span.msgrel-title { + font-weight: bold; +} + +div.msglevel, div.msgorig, div.msgaud { + margin-top: 1em; + margin-bottom: 1em; +} + +span.msglevel-title, span.msgorig-title, span.msgaud-title { + font-weight: bold; +} + +div.msgexplan { + margin-top: 1em; + margin-bottom: 1em; +} + +span.msgexplan-title { + font-weight: bold; +} + +/* end of styles in block.xsl */ +/********************************/ + +/********************************/ +/* start of styles in autotoc.xsl */ + + font-weight: bold; + margin-top: 1em; + margin-bottom: 1em; +} + + +/* end of styles in autotoc.xsl */ +/********************************/ + +/********************************/ +/* start of styles in formal.xsl */ + +div.figure-title { + font-weight: bold; +} + +div.example-title { + font-weight: bold; +} + +div.equation-title { + font-weight: bold; +} + +div.table-title { + font-weight: bold; +} + +div.sidebar-title { + font-weight: bold; +} + + +/* end of styles in formal.xsl */ +/********************************/ + +/********************************/ +/* start of styles in verbatim.xsl */ + +div.programlisting { + white-space: pre; + font-family: monospace; +} + +div.screen { + white-space: pre; + font-family: monospace; +} + +div.synopsis { + white-space: pre; + font-family: monospace; +} + +/* end of styles in verbatim.xsl */ +/********************************/ +</style> diff --git a/doc/help/xslt/html/docbook.xsl b/doc/help/xslt/html/docbook.xsl new file mode 100644 index 00000000..523ed0da --- /dev/null +++ b/doc/help/xslt/html/docbook.xsl @@ -0,0 +1,480 @@ +<?xml version='1.0'?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:ng="http://docbook.org/docbook-ng" + xmlns:db="http://docbook.org/ns/docbook" + xmlns:exsl="http://exslt.org/common" + xmlns:exslt="http://exslt.org/common" + exclude-result-prefixes="db ng exsl exslt" + version='1.0'> + +<xsl:output method="html" + encoding="ISO-8859-1" + indent="no"/> + +<!-- ******************************************************************** + $Id: docbook.xsl 8783 2010-07-28 10:59:39Z mzjn $ + ******************************************************************** + + This file is part of the XSL DocBook Stylesheet distribution. + See ../README or http://docbook.sf.net/release/xsl/current/ for + copyright and other information. + + ******************************************************************** --> + +<!-- ==================================================================== --> + +<xsl:include href="../VERSION"/> +<xsl:include href="param.xsl"/> +<xsl:include href="../lib/lib.xsl"/> +<xsl:include href="../common/l10n.xsl"/> +<xsl:include href="../common/common.xsl"/> +<xsl:include href="../common/utility.xsl"/> +<xsl:include href="../common/labels.xsl"/> +<xsl:include href="../common/titles.xsl"/> +<xsl:include href="../common/subtitles.xsl"/> +<xsl:include href="../common/gentext.xsl"/> +<xsl:include href="../common/targets.xsl"/> +<xsl:include href="../common/olink.xsl"/> +<xsl:include href="../common/pi.xsl"/> +<xsl:include href="autotoc.xsl"/> +<xsl:include href="autoidx.xsl"/> +<xsl:include href="lists.xsl"/> +<xsl:include href="callout.xsl"/> +<xsl:include href="verbatim.xsl"/> +<xsl:include href="graphics.xsl"/> +<xsl:include href="xref.xsl"/> +<xsl:include href="formal.xsl"/> +<xsl:include href="table.xsl"/> +<xsl:include href="htmltbl.xsl"/> +<xsl:include href="sections.xsl"/> +<xsl:include href="inline.xsl"/> +<xsl:include href="footnote.xsl"/> +<xsl:include href="html.xsl"/> +<xsl:include href="info.xsl"/> +<xsl:include href="keywords.xsl"/> +<xsl:include href="division.xsl"/> +<xsl:include href="toc.xsl"/> +<xsl:include href="index.xsl"/> +<xsl:include href="refentry.xsl"/> +<xsl:include href="math.xsl"/> +<xsl:include href="admon.xsl"/> +<xsl:include href="component.xsl"/> +<xsl:include href="biblio.xsl"/> +<xsl:include href="biblio-iso690.xsl"/> +<xsl:include href="glossary.xsl"/> +<xsl:include href="block.xsl"/> +<xsl:include href="task.xsl"/> +<xsl:include href="qandaset.xsl"/> +<xsl:include href="synop.xsl"/> +<xsl:include href="titlepage.xsl"/> +<xsl:include href="titlepage.templates.xsl"/> +<xsl:include href="pi.xsl"/> +<xsl:include href="ebnf.xsl"/> +<xsl:include href="chunker.xsl"/> +<xsl:include href="html-rtf.xsl"/> +<xsl:include href="annotations.xsl"/> +<xsl:include href="../common/stripns.xsl"/> + +<xsl:param name="stylesheet.result.type" select="'html'"/> +<xsl:param name="htmlhelp.output" select="0"/> + +<!-- ==================================================================== --> + +<xsl:key name="id" match="*" use="@id|@xml:id"/> +<xsl:key name="gid" match="*" use="generate-id()"/> + +<!-- ==================================================================== --> + +<xsl:template match="*"> + <xsl:message> + <xsl:text>Element </xsl:text> + <xsl:value-of select="local-name(.)"/> + <xsl:text> in namespace '</xsl:text> + <xsl:value-of select="namespace-uri(.)"/> + <xsl:text>' encountered</xsl:text> + <xsl:if test="parent::*"> + <xsl:text> in </xsl:text> + <xsl:value-of select="name(parent::*)"/> + </xsl:if> + <xsl:text>, but no template matches.</xsl:text> + </xsl:message> + + <span style="color: red"> + <xsl:text><</xsl:text> + <xsl:value-of select="name(.)"/> + <xsl:text>></xsl:text> + <xsl:apply-templates/> + <xsl:text></</xsl:text> + <xsl:value-of select="name(.)"/> + <xsl:text>></xsl:text> + </span> +</xsl:template> + +<xsl:template match="text()"> + <xsl:value-of select="."/> +</xsl:template> + +<xsl:template name="body.attributes"> + <xsl:attribute name="bgcolor">white</xsl:attribute> + <xsl:attribute name="text">black</xsl:attribute> + <xsl:attribute name="link">#0000FF</xsl:attribute> + <xsl:attribute name="vlink">#840084</xsl:attribute> + <xsl:attribute name="alink">#0000FF</xsl:attribute> + <xsl:if test="starts-with($writing.mode, 'rl')"> + <xsl:attribute name="dir">rtl</xsl:attribute> + </xsl:if> +</xsl:template> + +<xsl:template name="head.content"> + <xsl:param name="node" select="."/> + <xsl:param name="title"> + <xsl:apply-templates select="$node" mode="object.title.markup.textonly"/> + </xsl:param> + + <title> + <xsl:copy-of select="$title"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Note + + + namesp. cut + + + stripped namespace before processing + + + + + + + + Note + + + namesp. cut + + + processing stripped document + + + + + + + + Unable to strip the namespace from DB5 document, + cannot proceed. + + + + + + + + + ID ' + + ' not found in document. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + diff --git a/doc/help/xslt/html/ebnf.xsl b/doc/help/xslt/html/ebnf.xsl new file mode 100644 index 00000000..b2ab23aa --- /dev/null +++ b/doc/help/xslt/html/ebnf.xsl @@ -0,0 +1,329 @@ + + + + + + + + +$Id: ebnf.xsl 8178 2008-12-15 22:26:38Z bobstayton $ + +Walsh +Norman +19992000 +Norman Walsh + + +HTML EBNF Reference + + +
Introduction + +This is technical reference documentation for the DocBook XSL +Stylesheets; it documents (some of) the parameters, templates, and +other elements of the stylesheets. + +This reference describes the templates and parameters relevant +to formatting EBNF markup. + +This is not intended to be user documentation. +It is provided for developers writing customization layers for the +stylesheets, and for anyone who's interested in how it +works. + +Although I am trying to be thorough, this documentation is known +to be incomplete. Don't forget to read the source, too :-) +
+
+
+ + + + + + + + + + + + 1 + + + + + + EBNF + + for + + + + + + + + + + + + +
+ + +
+ + + + + + + + + + EBNF productions + +
+
+
+ + + + + + + + + + [ + + ] + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +   + + + + + + + + + + + + + Error: no ID for productionrecap linkend: + + . + + + + + + Warning: multiple "IDs" for productionrecap linkend: + + . + + + + + + + + + + + + + + + + | +
+
+
+ + + + + + + + + + + + + + + production + + + + + + + + + Non-terminals with no content must point to + production elements in the current document. + + + Invalid xpointer for empty nt: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ??? + + + + + + + + + + + + + /*  + +  */ +
+
+ + + + + + + + + constraintdef + + + + + + + + + + + + + + + + : + + + + + + + : + + + + + + + + + +  ] + +
+
+
+ + +
+ + + +
+
+ + +

+
+ + + + diff --git a/doc/help/xslt/html/footnote.xsl b/doc/help/xslt/html/footnote.xsl new file mode 100644 index 00000000..035e3f3f --- /dev/null +++ b/doc/help/xslt/html/footnote.xsl @@ -0,0 +1,313 @@ + + + + + + + + + + + #ftn. + + + + + + + [ + + + + + ] + + + + + [ + + + + + ] + + + + + + + + + + + +ERROR: A footnoteref element has a linkend that points to an element that is not a footnote. +Typically this happens when an id attribute is accidentally applied to the child of a footnote element. +target element: +linkend/id: + + + + + + + + + + + + #ftn. + + + + + [ + + + + + ] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ftn. + + + + + + # + + + + + + + + + + + + + + [ + + + + + ] + + + + + + + + + + + + ftn. + + + + + + # + + + + + + + [ + + + + + ] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+
+ + +
+
+

The following annotations are from this essay. You are seeing + them here because your browser doesn’t support the user-interface + techniques used to make them appear as ‘popups’ on modern browsers.

+
+ + +
+
+
+ + + + + + + + +
+ + +
+
+ + +
+ + + +
+
+ + + + Warning: footnote number may not be generated + correctly; + + unexpected as first child of footnote. + +
+ + +
+
+
+
+ + + + + + + + +
diff --git a/doc/help/xslt/html/formal.xsl b/doc/help/xslt/html/formal.xsl new file mode 100644 index 00000000..768ca582 --- /dev/null +++ b/doc/help/xslt/html/formal.xsl @@ -0,0 +1,425 @@ + + + + + +1 + + + + + + + + + + +
+ + + + + + + +
+ +
+ + + + + +

+ + +

+

+ + + + + + + +
+
+ +
+
+
+ + + + + + + + + -float + + + + + + + + + +
+ + + + + + + + + + + + + +
+ +
+
+ +

+ + + +

+
+
+
+ + + + + +
+

+ + + + + + + + +

+

+
+ + + + + + + + + -float + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + before + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Broken table: tr descendent of CALS Table. + + + + + + + + + + before + + + + + + + + + + + + + + + + + + + + + + + + + Broken table: row descendent of HTML table. + + + + + + + + + + + + + + + + + + + + + + + + before + + + + + + + + + + + + + + + + + + + + + before + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + float: + + ; + + + +
+
+ +
diff --git a/doc/help/xslt/html/glossary.xsl b/doc/help/xslt/html/glossary.xsl new file mode 100644 index 00000000..f98ddbc1 --- /dev/null +++ b/doc/help/xslt/html/glossary.xsl @@ -0,0 +1,492 @@ + + +%common.entities; +]> + + + + + + + + &setup-language-variable; + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + +
+
+ + + +
+ + + + +
+
+ + + + + + + + + + + &setup-language-variable; +
+ + + + + +
+ + + + + + + + + + +
+
+
+ + + + + &setup-language-variable; + + +
+ + + +
+ + + + + + + + + + +
+
+
+ + +

+ + +

+
+ + + + + + + + +
+ + + + 0 + 1 + + + + + + + + ( + + ) + + + + + +
+
+ +
+ + + + 0 + 1 + + + + + + + + ( + + ) + +
+
+ +
+ + + + 0 + 1 + + + + + +
+
+
+ + +
+ + + + , + + + + + , + + + + + , + + + + + + + + + + + +
+

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Warning: glosssee @otherterm reference not found: + + + + + + + + + + + + + + +

+
+
+ + +
+ + +

+ + + + + + + + + + + + + +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + Warning: glossseealso @otherterm reference not found: + + + + + + + + + + + + + + + + + + + + + + + + + + &setup-language-variable; + + + + + + + + Warning: processing automatic glossary + without a glossary.collection file. + + + + + + Warning: processing automatic glossary but unable to + open glossary.collection file ' + + ' + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+
+
+ + + + +
+
+ + + + + + + + + + &setup-language-variable; + +
+ + + +
+ + + + ! + + + + + + + + + + + + + + + +
+
+
+ + + +
diff --git a/doc/help/xslt/html/graphics.xsl b/doc/help/xslt/html/graphics.xsl new file mode 100644 index 00000000..93ea95fe --- /dev/null +++ b/doc/help/xslt/html/graphics.xsl @@ -0,0 +1,1515 @@ + + + + + + + + + + + + + + 1 + + + + + + 1 + + + + + +
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + 0 + 0 + + 1 + 0 + + + + + + 1.0 + 1.0 + + + + 1.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + px + + + + + + + + + + + px + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + px + + + + + + + + + + + px + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + middle + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Warning: imagemaps not supported + on scaled images + + + + 0 + + + + + + + + + + + + + + + + + + + + middle + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + height: + + px + + + + + + + + + + + +
+ + + + + background-color: + + + + + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + calspair + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + , + + , + + , + + + + + + + + + + + + Warning: only calspair or + otherunits='imagemap' supported + in imageobjectco + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + middle + + + + + + + + + + + + + + + + + +
+ + + + + + + +
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + No insertfile extension available. + + + + + + + Cannot insert + . Check use.extensions and textinsert.extension parameters. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No insertfile extension available. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No insertfile extension available. + + + + + + + Cannot insert + . Check use.extensions and textinsert.extension parameters. + + + + + + + + +
+ + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/doc/help/xslt/html/highlight.xsl b/doc/help/xslt/html/highlight.xsl new file mode 100644 index 00000000..f7307a48 --- /dev/null +++ b/doc/help/xslt/html/highlight.xsl @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/html/html-rtf.xsl b/doc/help/xslt/html/html-rtf.xsl new file mode 100644 index 00000000..8de6bb30 --- /dev/null +++ b/doc/help/xslt/html/html-rtf.xsl @@ -0,0 +1,336 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + + +
+
+
+
+ + + + + + + + + + + + + + +
+
+ + + + + + + + + + +
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/doc/help/xslt/html/html.xsl b/doc/help/xslt/html/html.xsl new file mode 100644 index 00000000..bf76e83f --- /dev/null +++ b/doc/help/xslt/html/html.xsl @@ -0,0 +1,612 @@ + + + + + + + + + + left + right + left + + + + + + right + left + right + + + + + + ltr + rtl + ltr + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + # + + + + + + + + + # + + + + + + + + + + + + + + + + + + + bullet + + + + + + + + + bullet + + + © + + + ® + (SM) +   + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID recommended on + + + : + + + + ... + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ERROR: no root element for CSS source file' + + '. + + + + + + + + + + + + + + + + + + + + + + + + + + + + ERROR: missing CSS input filename. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/html/htmltbl.xsl b/doc/help/xslt/html/htmltbl.xsl new file mode 100644 index 00000000..1fb5d6f0 --- /dev/null +++ b/doc/help/xslt/html/htmltbl.xsl @@ -0,0 +1,135 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + float: + + left + right + + + + + + + + + + + + + none + none + + ; + + + + diff --git a/doc/help/xslt/html/index.xsl b/doc/help/xslt/html/index.xsl new file mode 100644 index 00000000..18370201 --- /dev/null +++ b/doc/help/xslt/html/index.xsl @@ -0,0 +1,288 @@ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+ + + + + + + + + + +
+
+
+ + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+
+
+ + + + + + + + + + + + +
+ + + + + + + + + +
+ +
+
+
+ + +

+ + +

+
+ + + + + + + + + +
+ + + + + + + + + + + + +
+ +
+
+ + + +
+
+ + + + + + + + + + +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+
+ +
+
+ + + + + + + + + + + + + + +
+
+
+ + +
+ ( + + + + + + ) +
+
+ + +
+ ( + + + + + + ) +
+
+ + diff --git a/doc/help/xslt/html/info.xsl b/doc/help/xslt/html/info.xsl new file mode 100644 index 00000000..404ac132 --- /dev/null +++ b/doc/help/xslt/html/info.xsl @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/html/inline.xsl b/doc/help/xslt/html/inline.xsl new file mode 100644 index 00000000..cd3d3424 --- /dev/null +++ b/doc/help/xslt/html/inline.xsl @@ -0,0 +1,1490 @@ + + +%common.entities; +]> + + + + + + + + + + + + + + + + + + + _blank + _top + + + + + + + + + + + + + + 1 + 0 + + + + + + + + + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + XLink to nonexistent id: + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + span + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ( + + ) + + + + + + + + + + + , + + + + + + + , + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + abbr + + + + + + acronym + + + + + + + + + + + + + + + + + + + + + + + + + + http://example.com/cgi-bin/man.cgi? + + ( + + ) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SM + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Warning: glossary.collection specified, but there are + + automatic glossaries + + + + + + + + + + + + + + + + + + + + + + + + There's no entry for + + in + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Error: no glossentry for glossterm: + + . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + element + + + + + + + + + + + + + + + + </ + + > + + + & + + ; + + + &# + + ; + + + % + + ; + + + <? + + > + + + <? + + ?> + + + < + + > + + + < + + /> + + + <!-- + + --> + + + + + + + + + + + + + + + + + + + + + + < + + + + + mailto: + + + + + + > + + + + + + + + + + + + + - + - + - + + + + + + + + + + + + + + + + + + + + + + ( + + ) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [ + + + + + + + + + + + + + + + + + + + ] + + + [ + + ] + + + + + + + + + + + + + [ + + + + + + + + + + + + ] + + + [ + + ] + + + + + + + + + + + + +

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/html/keywords.xsl b/doc/help/xslt/html/keywords.xsl new file mode 100644 index 00000000..c12e39fc --- /dev/null +++ b/doc/help/xslt/html/keywords.xsl @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + , + + + + + diff --git a/doc/help/xslt/html/lists.xsl b/doc/help/xslt/html/lists.xsl new file mode 100644 index 00000000..52123b02 --- /dev/null +++ b/doc/help/xslt/html/lists.xsl @@ -0,0 +1,1183 @@ + + + + + + + + +
+ + + + + + + + + +
    + + + + + + + + + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + circle + disc + square + + + + + + +
  • + + + + list-style-type: + + + + + + + + + + + +
    + +
    +
    + + + +
    +
  • +
    + + + + + + + + + + + + + 1 + a + i + A + I + + + + Unexpected numeration: + + + + + + + +
    + + + + + + + + + + + + + + + + + + +
    +
    + +
      + + + + + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + + + + +
  • + + + + + + + + + + + + + + +
    + +
    +
    + + + +
    +
  • +
    + + + + + + + + + + + + + +
    + +
    +
    + + + +
    + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + +
    + +
    +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + +

    + + + + + + + + + + + + + +

    +
    +
    +
    + + +
    + + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    +
    +
    + + + + + + + + + +
    + +
    +
    + + + +
    +
    + + + + + + + + + + + + + + + 1 + + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + , + + + + + + + + + + + + + + + + + + + + + + + 1 + + + +
    +
    + + + + + + + + + + + + 1 + + + +
    +
    + + + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + 1 + 1 + + 1 + + + + + + + + +   + + + + + + + + + + + + + + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + 1 + 1 + + 1 + + + + + + + + +   + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + before + + + + + + + + + +
    + + + + + 0 + 1 + + + + + + + + + + + + +
      + + +
    +
    + +
      + + + + + +
    +
    +
    + + + + +
    +
    + + + + + + + + + + + + +
      + + +
    +
    + + +
  • + + + +
  • +
    + + + +
      + + +
    +
    + + +

    + + + + +

    +
    + + + + + + + + +
    + + + + + + + + + + + + + + + + + +
    +
    + + +
    + + + + + + + +
    +
    + + + + + + + + + +
    + + + +
    +
    + + + + + + + + +
    + + + + + : + + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + +
    +
    + +
    + +
    +
    +
    +
    +
    + + + + + + + + + + + + + + + +

    + + + + +

    + + + + + +
    + +
    + + + + +
    +
    +
    +
    +
    + + + + + + + + + +

    + + + + + + + + + + + + + + + +

    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ??? + + + + + # + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ??? + + + + + + + + + + + + + + + + + + + +
    diff --git a/doc/help/xslt/html/maketoc.xsl b/doc/help/xslt/html/maketoc.xsl new file mode 100644 index 00000000..1ba3931e --- /dev/null +++ b/doc/help/xslt/html/maketoc.xsl @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + filename=" + + " + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/html/manifest.xsl b/doc/help/xslt/html/manifest.xsl new file mode 100644 index 00000000..01faaccf --- /dev/null +++ b/doc/help/xslt/html/manifest.xsl @@ -0,0 +1,22 @@ + + + + + + + + + + + diff --git a/doc/help/xslt/html/math.xsl b/doc/help/xslt/html/math.xsl new file mode 100644 index 00000000..801b1068 --- /dev/null +++ b/doc/help/xslt/html/math.xsl @@ -0,0 +1,270 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Unsupported TeX math notation: + + + + + + + + + + + + + \nopagenumbers + + + + \bye + + + + + + + + + + + + + + + + + + + + + + + \special{dvi2bitmap outputfile + + } + + $ + + + + $ + + \vfill\eject + + + + + + + + + + + + + + + + + + + + + + + + \special{dvi2bitmap outputfile + + } + + $$ + + + + $$ + + \vfill\eject + + + + + + + + + \documentclass{article} + \pagestyle{empty} + \begin{document} + + + + \end{document} + + + + + + + + + + + + + + + + + + + + + + + \special{dvi2bitmap outputfile + + } + + $ + + + + $ + + \newpage + + + + + + + + + + + + + + + + + + + + + + + + \special{dvi2bitmap outputfile + + } + + $$ + + + + $$ + + \newpage + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + 0 + 1 + + + + + + diff --git a/doc/help/xslt/html/oldchunker.xsl b/doc/help/xslt/html/oldchunker.xsl new file mode 100644 index 00000000..fe6b17c3 --- /dev/null +++ b/doc/help/xslt/html/oldchunker.xsl @@ -0,0 +1,202 @@ + + + + + + + + + + + + + +Encoding used in generated HTML pages + +This encoding is used in files generated by chunking stylesheet. Currently +only Saxon is able to change output encoding. + + + + + + + + + +Saxon character representation used in generated HTML pages + +This character representation is used in files generated by chunking stylesheet. If +you want to suppress entity references for characters with direct representation +in default.encoding, set this parameter to value native. + + + + + + + + + + + + + + + + + + + + + + + + Chunking isn't supported with + + + + + + + + + + + + + + + Writing + + + for + + + ( + + ) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Can't make chunks with + + 's processor. + + + + + + + + + + + + + + + + Writing + + + for + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Can't make chunks with + + 's processor. + + + + + + diff --git a/doc/help/xslt/html/onechunk.xsl b/doc/help/xslt/html/onechunk.xsl new file mode 100644 index 00000000..527dccfd --- /dev/null +++ b/doc/help/xslt/html/onechunk.xsl @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + +1 + + + + # + + + + + + diff --git a/doc/help/xslt/html/param.xml b/doc/help/xslt/html/param.xml new file mode 100644 index 00000000..e70de9cf --- /dev/null +++ b/doc/help/xslt/html/param.xml @@ -0,0 +1,10905 @@ + + + +HTML Parameter Reference + +$Id: param.xweb 8552 2009-12-07 17:45:26Z bobstayton $ + + + + Walsh + Norman + + + + 1999 + 2000 + 2001 + 2002 + 2003 + 2004 + 2005 + 2006 + 2007 + Norman Walsh + + + This is reference documentation for all user-configurable + parameters in the DocBook XSL HTML stylesheets (for generating + HTML output). + + +Admonitions + + +admon.graphics.extension +string + + +admon.graphics.extension +Filename extension for admonition graphics + + + + +<xsl:param name="admon.graphics.extension">.png</xsl:param> + + + +Description + +Sets the filename extension to use on admonition graphics. + + + + + + +admon.graphics.path +string + + +admon.graphics.path +Path to admonition graphics + + + +<xsl:param name="admon.graphics.path">images/</xsl:param> + + +Description + +Sets the path to the directory containing the admonition graphics +(caution.png, important.png etc). This location is normally relative +to the output html directory. See base.dir + + + + + + +admon.graphics +boolean + + +admon.graphics +Use graphics in admonitions? + + + + +<xsl:param name="admon.graphics" select="0"></xsl:param> + + + +Description + +If true (non-zero), admonitions are presented in an alternate style that uses +a graphic. Default graphics are provided in the distribution. + + + + + + + +admon.textlabel +boolean + + +admon.textlabel +Use text label in admonitions? + + + + +<xsl:param name="admon.textlabel" select="1"></xsl:param> + + + +Description + +If true (non-zero), admonitions are presented with a generated +text label such as Note or Warning in the appropriate language. +If zero, such labels are turned off, but any title child +of the admonition element are still output. +The default value is 1. + + + + + + + +admon.style +string + + +admon.style +Specifies the CSS style attribute that should be added to +admonitions. + + + +<xsl:param name="admon.style"> + <xsl:value-of select="concat('margin-', $direction.align.start, ': 0.5in; margin-', $direction.align.end, ': 0.5in;')"></xsl:value-of> +</xsl:param> + + +Description + +Specifies the value of the CSS style +attribute that should be added to admonitions. + + + + + + +Callouts + + +callout.defaultcolumn +integer + + +callout.defaultcolumn +Indicates what column callouts appear in by default + + + + +<xsl:param name="callout.defaultcolumn">60</xsl:param> + + + +Description + +If a callout does not identify a column (for example, if it uses +the linerange unit), +it will appear in the default column. + + + + + + + +callout.graphics.extension +string + + +callout.graphics.extension +Filename extension for callout graphics + + + + +<xsl:param name="callout.graphics.extension">.png</xsl:param> + + + + +Description +Sets the filename extension to use on callout graphics. + + +The Docbook XSL distribution provides callout graphics in the following formats: +SVG (extension: .svg) +PNG (extension: .png) +GIF (extension: .gif) + + + + + + +callout.graphics.number.limit +integer + + +callout.graphics.number.limit +Number of the largest callout graphic + + + + +<xsl:param name="callout.graphics.number.limit">15</xsl:param> + + + + +Description + +If callout.graphics is non-zero, graphics +are used to represent callout numbers instead of plain text. The value +of callout.graphics.number.limit is the largest +number for which a graphic exists. If the callout number exceeds this +limit, the default presentation "(plain text instead of a graphic)" +will be used. + + + + + + + +callout.graphics.path +string + + +callout.graphics.path +Path to callout graphics + + + + +<xsl:param name="callout.graphics.path">images/callouts/</xsl:param> + + + +Description + +Sets the path to the directory holding the callout graphics. his +location is normally relative to the output html directory. see +base.dir. Always terminate the directory with / since the graphic file +is appended to this string, hence needs the separator. + + + + + + + +callout.graphics +boolean + + +callout.graphics +Use graphics for callouts? + + + + +<xsl:param name="callout.graphics" select="1"></xsl:param> + + + +Description + +If non-zero, callouts are presented with graphics (e.g., reverse-video +circled numbers instead of "(1)", "(2)", etc.). +Default graphics are provided in the distribution. + + + + + + + +callout.list.table +boolean + + +callout.list.table +Present callout lists using a table? + + + + +<xsl:param name="callout.list.table" select="1"></xsl:param> + + + +Description + +The default presentation of calloutlists uses +an HTML DL element. Some browsers don't align DLs very well +if callout.graphics is used. With this option +turned on, calloutlists are presented in an HTML +TABLE, which usually results in better alignment +of the callout number with the callout description. + + + + + + +callout.unicode.number.limit +integer + + +callout.unicode.number.limit +Number of the largest unicode callout character + + + + +<xsl:param name="callout.unicode.number.limit">10</xsl:param> + + + +Description + +If callout.unicode +is non-zero, unicode characters are used to represent +callout numbers. The value of +callout.unicode.number.limit +is +the largest number for which a unicode character exists. If the callout number +exceeds this limit, the default presentation "(nnn)" will always +be used. + + + + + + + +callout.unicode.start.character +integer + + +callout.unicode.start.character +First Unicode character to use, decimal value. + + + + +<xsl:param name="callout.unicode.start.character">10102</xsl:param> + + + +Description + +If callout.graphics is zero and callout.unicode +is non-zero, unicode characters are used to represent +callout numbers. The value of +callout.unicode.start.character +is the decimal unicode value used for callout number one. Currently, +only 10102 is supported in the stylesheets for this parameter. + + + + + + + +callout.unicode +boolean + + +callout.unicode +Use Unicode characters rather than images for callouts. + + + +<xsl:param name="callout.unicode" select="0"></xsl:param> + + +Description + +The stylesheets can use either an image of the numbers one to ten, or the single Unicode character which represents the numeral, in white on a black background. Use this to select the Unicode character option. + + + + + + + +callouts.extension +boolean + + +callouts.extension +Enable the callout extension + + + + +<xsl:param name="callouts.extension" select="1"></xsl:param> + + + +Description + +The callouts extension processes areaset +elements in programlistingco and other text-based +callout elements. + + + + + + +EBNF + + +ebnf.table.bgcolor +color + + +ebnf.table.bgcolor +Background color for EBNF tables + + + + +<xsl:param name="ebnf.table.bgcolor">#F5DCB3</xsl:param> + + + +Description + +Sets the background color for EBNF tables (a pale brown). No +bgcolor attribute is output if +ebnf.table.bgcolor is set to the null string. + + + + + + + +ebnf.table.border +boolean + + +ebnf.table.border +Selects border on EBNF tables + + + +<xsl:param name="ebnf.table.border" select="1"></xsl:param> + + +Description + +Selects the border on EBNF tables. If non-zero, the tables have +borders, otherwise they don't. + + + + + + +ebnf.assignment +rtf + + +ebnf.assignment +The EBNF production assignment operator + + + + +<xsl:param name="ebnf.assignment"> +<code>::=</code> +</xsl:param> + + + + +Description + +The ebnf.assignment parameter determines what +text is used to show assignment in productions +in productionsets. + +While ::= is common, so are several +other operators. + + + + + + +ebnf.statement.terminator +rtf + + +ebnf.statement.terminator +Punctuation that ends an EBNF statement. + + + + +<xsl:param name="ebnf.statement.terminator"></xsl:param> + + + + +Description + +The ebnf.statement.terminator parameter determines what +text is used to terminate each production +in productionset. + +Some notations end each statement with a period. + + + + + +ToC/LoT/Index Generation + + +annotate.toc +boolean + + +annotate.toc +Annotate the Table of Contents? + + + +<xsl:param name="annotate.toc" select="1"></xsl:param> + + +Description + +If true, TOCs will be annotated. At present, this just means +that the refpurpose of refentry +TOC entries will be displayed. + + + + + + + +autotoc.label.separator +string + + +autotoc.label.separator +Separator between labels and titles in the ToC + + + + +<xsl:param name="autotoc.label.separator">. </xsl:param> + + + +Description + +String used to separate labels and titles in a table of contents. + + + + + + +autotoc.label.in.hyperlink +boolean + + +autotoc.label.in.hyperlink +Include label in hyperlinked titles in TOC? + + + +<xsl:param name="autotoc.label.in.hyperlink" select="1"></xsl:param> + + +Description + +If the value of +autotoc.label.in.hyperlink is non-zero, labels +are included in hyperlinked titles in the TOC. If it is instead zero, +labels are still displayed prior to the hyperlinked titles, but +are not hyperlinked along with the titles. + + + + + + +process.source.toc +boolean + + +process.source.toc +Process a non-empty toc element if it occurs in a source document? + + + +<xsl:param name="process.source.toc" select="0"></xsl:param> + + +Description + +Specifies that the contents of a non-empty "hard-coded" +toc element in a source document are processed to +generate a TOC in output. + + This parameter has no effect on automated generation of + TOCs. An automated TOC may still be generated along with the + "hard-coded" TOC. To suppress automated TOC generation, adjust the + value of the generate.toc paramameter. + + The process.source.toc parameter also has + no effect if the toc element is empty; handling + for empty toc is controlled by the + process.empty.source.toc parameter. + + + + + + + + +process.empty.source.toc +boolean + + +process.empty.source.toc +Generate automated TOC if toc element occurs in a source document? + + + +<xsl:param name="process.empty.source.toc" select="0"></xsl:param> + + +Description + +Specifies that if an empty toc element is found in a +source document, an automated TOC is generated at this point in the +document. + + Depending on what the value of the + generate.toc parameter is, setting this + parameter to 1 could result in generation of + duplicate automated TOCs. So the + process.empty.source.toc is primarily useful + as an "override": by placing an empty toc in your + document and setting this parameter to 1, you can + force a TOC to be generated even if generate.toc + says not to. + + + + + + + + +bridgehead.in.toc +boolean + + +bridgehead.in.toc +Should bridgehead elements appear in the TOC? + + + +<xsl:param name="bridgehead.in.toc" select="0"></xsl:param> + + +Description + +If non-zero, bridgeheads appear in the TOC. Note that +this option is not fully supported and may be removed in a future +version of the stylesheets. + + + + + + + +simplesect.in.toc +boolean + + +simplesect.in.toc +Should simplesect elements appear in the TOC? + + + +<xsl:param name="simplesect.in.toc" select="0"></xsl:param> + + +Description + +If non-zero, simplesects will be included in the TOC. + + + + + + + +manual.toc +string + + +manual.toc +An explicit TOC to be used for the TOC + + + + +<xsl:param name="manual.toc"></xsl:param> + + + +Description + +The manual.toc identifies an explicit TOC that +will be used for building the printed TOC. + + + + + + + +toc.list.type +list +dl +ul +ol + + +toc.list.type +Type of HTML list element to use for Tables of Contents + + + +<xsl:param name="toc.list.type">dl</xsl:param> + + +Description + +When an automatically generated Table of Contents (or List of Titles) +is produced, this HTML element will be used to make the list. + + + + + + + +toc.section.depth +integer + + +toc.section.depth +How deep should recursive sections appear +in the TOC? + + + +<xsl:param name="toc.section.depth">2</xsl:param> + + +Description + +Specifies the depth to which recursive sections should appear in the +TOC. + + + + + + + +toc.max.depth +integer + + +toc.max.depth +How many levels should be created for each TOC? + + + +<xsl:param name="toc.max.depth">8</xsl:param> + + +Description + +Specifies the maximal depth of TOC on all levels. + + + + + + +generate.toc +table + + +generate.toc +Control generation of ToCs and LoTs + + + + +<xsl:param name="generate.toc"> +appendix toc,title +article/appendix nop +article toc,title +book toc,title,figure,table,example,equation +chapter toc,title +part toc,title +preface toc,title +qandadiv toc +qandaset toc +reference toc,title +sect1 toc +sect2 toc +sect3 toc +sect4 toc +sect5 toc +section toc +set toc,title +</xsl:param> + + + + +Description + +This parameter has a structured value. It is a table of space-delimited +path/value pairs. Each path identifies some element in the source document +using a restricted subset of XPath (only the implicit child axis, no wildcards, +no predicates). Paths can be either relative or absolute. + +When processing a particular element, the stylesheets consult this table to +determine if a ToC (or LoT(s)) should be generated. + +For example, consider the entry: + +book toc,figure + +This indicates that whenever a book is formatted, a +Table Of Contents and a List of Figures should be generated. Similarly, + +/chapter toc + +indicates that whenever a document that has a root +of chapter is formatted, a Table of +Contents should be generated. The entry chapter would match +all chapters, but /chapter matches only chapter +document elements. + +Generally, the longest match wins. So, for example, if you want to distinguish +articles in books from articles in parts, you could use these two entries: + +book/article toc,figure +part/article toc + +Note that an article in a part can never match a book/article, +so if you want nothing to be generated for articles in parts, you can simply leave +that rule out. + +If you want to leave the rule in, to make it explicit that you're turning +something off, use the value nop. For example, the following +entry disables ToCs and LoTs for articles: + +article nop + +Do not simply leave the word article in the file +without a matching value. That'd be just begging the silly little +path/value parser to get confused. + +Section ToCs are further controlled by the +generate.section.toc.level parameter. +For a given section level to have a ToC, it must have both an entry in +generate.toc and be within the range enabled by +generate.section.toc.level. + + + + + +generate.section.toc.level +integer + + +generate.section.toc.level +Control depth of TOC generation in sections + + + + +<xsl:param name="generate.section.toc.level" select="0"></xsl:param> + + + +Description + +The generate.section.toc.level parameter +controls the depth of section in which TOCs will be generated. Note +that this is related to, but not the same as +toc.section.depth, which controls the depth to +which TOC entries will be generated in a given TOC. +If, for example, generate.section.toc.level +is 3, TOCs will be generated in first, second, and third +level sections, but not in fourth level sections. + + + + + + + +generate.index +boolean + + +generate.index +Do you want an index? + + + +<xsl:param name="generate.index" select="1"></xsl:param> + + +Description + +Specify if an index should be generated. + + + + + + +index.method +list +basic +kosek +kimber + + +index.method +Select method used to group index entries in an index + + + + +<xsl:param name="index.method">basic</xsl:param> + + + +Description + +This parameter lets you select which method to use for sorting and grouping + index entries in an index. +Indexes in Latin-based languages that have accented characters typically +sort together accented words and unaccented words. +Thus Á (U+00C1 LATIN CAPITAL LETTER A WITH ACUTE) would sort together +with A (U+0041 LATIN CAPITAL LETTER A), so both would appear in the A +section of the index. +Languages using other alphabets (such as Russian, which is written in the Cyrillic alphabet) +and languages using ideographic chararacters (such as Japanese) +require grouping specific to the languages and alphabets. + + +The default indexing method is limited. +It can group accented characters in Latin-based languages only. +It cannot handle non-Latin alphabets or ideographic languages. +The other indexing methods require extensions of one type or +another, and do not work with +all XSLT processors, which is why they are not used by default. + +The three choices for indexing method are: + + +basic + + +(default) Sort and groups words based only on the Latin alphabet. +Words with accented Latin letters will group and sort with +their respective primary letter, but +words in non-Latin alphabets will be +put in the Symbols section of the index. + + + + +kosek + + +This method sorts and groups words based on letter groups configured in +the DocBook locale file for the given language. +See, for example, the French locale file common/fr.xml. +This method requires that the XSLT processor +supports the EXSLT extensions (most do). +It also requires support for using +user-defined functions in xsl:key (xsltproc does not). + +This method is suitable for any language for which you can +list all the individual characters that should appear +in each letter group in an index. +It is probably not practical to use it for ideographic languages +such as Chinese that have hundreds or thousands of characters. + + +To use the kosek method, you must: + + + +Use a processor that supports its extensions, such as +Saxon 6 or Xalan (xsltproc and Saxon 8 do not). + + + +Set the index.method parameter's value to kosek. + + + +Import the appropriate index extensions stylesheet module +fo/autoidx-kosek.xsl or +html/autoidx-kosek.xsl into your +customization. + + + + + + + +kimber + + +This method uses extensions to the Saxon processor to implement +sophisticated indexing processes. It uses its own +configuration file, which can include information for any number of +languages. Each language's configuration can group +words using one of two processes. In the +enumerated process similar to that used in the kosek method, +you indicate the groupings character-by-character. +In the between-key process, you specify the +break-points in the sort order that should start a new group. +The latter configuration is useful for ideographic languages +such as Chinese, Japanese, and Korean. +You can also define your own collation algorithms and how you +want mixed Latin-alphabet words sorted. + + +For a whitepaper describing the extensions, see: +http://www.innodata-isogen.com/knowledge_center/white_papers/back_of_book_for_xsl_fo.pdf. + + + +To download the extension library, see +http://www.innodata-isogen.com/knowledge_center/tools_downloads/i18nsupport. + + + + +To use the kimber method, you must: + + + +Use Saxon (version 6 or 8) as your XSLT processor. + + + +Install and configure the Innodata Isogen library, using +the documentation that comes with it. + + + +Set the index.method parameter's value to kimber. + + + +Import the appropriate index extensions stylesheet module +fo/autoidx-kimber.xsl or +html/autoidx-kimber.xsl into your +customization. + + + + + + + + + + + + + +index.on.type +boolean + + +index.on.type +Select indexterms based on type +attribute value + + + + +<xsl:param name="index.on.type" select="0"></xsl:param> + + + +Description + + +If non-zero, +then an index element that has a +type attribute +value will contain only those indexterm +elements with a matching type attribute value. +If an index has no type +attribute or it is blank, then the index will contain +all indexterms in the current scope. + + + +If index.on.type is zero, then the +type attribute has no effect +on selecting indexterms for an index. + + +For those using DocBook version 4.2 or earlier, +the type attribute is not available +for index terms. However, you can achieve the same +effect by using the role attribute +in the same manner on indexterm +and index, and setting the stylesheet parameter +index.on.role to a nonzero value. + + + + + + + +index.on.role +boolean + + +index.on.role +Select indexterms based on role value + + + + +<xsl:param name="index.on.role" select="0"></xsl:param> + + + +Description + + +If non-zero, +then an index element that has a +role attribute +value will contain only those indexterm +elements with a matching role value. +If an index has no role +attribute or it is blank, then the index will contain +all indexterms in the current scope. + + +If index.on.role is zero, then the +role attribute has no effect +on selecting indexterms for an index. + + +If you are using DocBook version 4.3 or later, you should +use the type attribute instead of role +on indexterm and index, +and set the index.on.type to a nonzero +value. + + + + + + + +index.links.to.section +boolean + + +index.links.to.section +HTML index entries link to container section title + + + + +<xsl:param name="index.links.to.section" select="1"></xsl:param> + + + +Description + +If zero, then an index entry in an index links +directly to the location of the +generated anchor that is output +for the indexterm. If two identical indexterm elements +exist in the same section, then both entries appear +in the index with the same title but link to different +locations. + +If non-zero, then an index entry in an index links to the +section title containing the indexterm, rather than +directly to the anchor output for the indexterm. +Duplicate indexterm entries in the same section are dropped. + + +The default value is 1, so index entries link to +section titles by default. + +In both cases, the link text in an index entry is the +title of the section containing the indexterm. +That is because HTML does not have numbered pages. +It also provides the reader with context information +for each link. + +This parameter lets you choose which style of +index linking you want. + + + +When set to 0, an index entry takes you +to the precise location of its corresponding indexterm. +However, if you have a lot of duplicate +entries in sections, then you have a lot of duplicate +titles in the index, which makes it more cluttered. +The reader may not recognize why duplicate titles +appear until they follow the links. Also, the links +may land the reader in the middle of a section where the +section title is not visible, which may also be +confusing to the reader. + + +When set to 1, an index entry link is +less precise, but duplicate titles in the +index entries are eliminated. +Landing on the section title location may confirm the reader's +expectation that a link that +shows a section title will take them to that section title, +not a location within the section. + + + + + + + + + +index.prefer.titleabbrev +boolean + + +index.prefer.titleabbrev +Should abbreviated titles be used as back references? + + + + +<xsl:param name="index.prefer.titleabbrev" select="0"></xsl:param> + + + +Description + +If non-zero, and if a titleabbrev is defined, the abbreviated title +is used as the link text of a back reference in the index. + + + + + + + +index.term.separator +string + + +index.term.separator +Override for punctuation separating an index term +from its list of page references in an index + + + + +<xsl:param name="index.term.separator"></xsl:param> + + + +Description + +This parameter permits you to override +the text to insert between +the end of an index term and its list of page references. +Typically that might be a comma and a space. + + +Because this text may be locale dependent, +this parameter's value is normally taken from a gentext +template named 'term-separator' in the +context 'index' in the stylesheet +locale file for the language +of the current document. +This parameter can be used to override the gentext string, +and would typically be used on the command line. +This parameter would apply to all languages. + + +So this text string can be customized in two ways. +You can reset the default gentext string using +the local.l10n.xml parameter, or you can +fill in the content for this normally empty +override parameter. +The content can be a simple string, or it can be +something more complex such as a call-template. +For fo output, it could be an fo:leader +element to provide space of a specific length, or a dot leader. + + + + + + + +index.number.separator +string + + +index.number.separator +Override for punctuation separating page numbers in index + + + + +<xsl:param name="index.number.separator"></xsl:param> + + + +Description + +This parameter permits you to override the text to insert between +page references in a formatted index entry. Typically +that would be a comma and a space. + + +Because this text may be locale dependent, +this parameter's value is normally taken from a gentext +template named 'number-separator' in the +context 'index' in the stylesheet +locale file for the language +of the current document. +This parameter can be used to override the gentext string, +and would typically be used on the command line. +This parameter would apply to all languages. + + +So this text string can be customized in two ways. +You can reset the default gentext string using +the local.l10n.xml parameter, or you can +override the gentext with the content of this parameter. +The content can be a simple string, or it can be +something more complex such as a call-template. + + +In HTML index output, section title references are used instead of +page number references. This punctuation appears between +such section titles in an HTML index. + + + + + + + +index.range.separator +string + + +index.range.separator +Override for punctuation separating the two numbers +in a page range in index + + + + +<xsl:param name="index.range.separator"></xsl:param> + + + +Description + +This parameter permits you +to override the text to insert between +the two numbers of a page range in an index. +This parameter is only used by those XSL-FO processors +that support an extension for generating such page ranges +(such as XEP). + +Because this text may be locale dependent, +this parameter's value is normally taken from a gentext +template named 'range-separator' in the +context 'index' in the stylesheet +locale file for the language +of the current document. +This parameter can be used to override the gentext string, +and would typically be used on the command line. +This parameter would apply to all languages. + + +So this text string can be customized in two ways. +You can reset the default gentext string using +the local.l10n.xml parameter, or you can +override the gentext with the content of this parameter. +The content can be a simple string, or it can be +something more complex such as a call-template. + + +In HTML index output, section title references are used instead of +page number references. So there are no page ranges +and this parameter has no effect. + + + + + + +Stylesheet Extensions + + +linenumbering.everyNth +integer + + +linenumbering.everyNth +Indicate which lines should be numbered + + + + +<xsl:param name="linenumbering.everyNth">5</xsl:param> + + + +Description + +If line numbering is enabled, everyNth line will be +numbered. Note that numbering is one based, not zero based. + + + + + + + +linenumbering.extension +boolean + + +linenumbering.extension +Enable the line numbering extension + + + + +<xsl:param name="linenumbering.extension" select="1"></xsl:param> + + + +Description + +If non-zero, verbatim environments (address, literallayout, +programlisting, screen, synopsis) that specify line numbering will +have line numbers. + + + + + + + +linenumbering.separator +string + + +linenumbering.separator +Specify a separator between line numbers and lines + + + + +<xsl:param name="linenumbering.separator"><xsl:text> </xsl:text></xsl:param> + + + +Description + +The separator is inserted between line numbers and lines in the +verbatim environment. The default value is a single white space. + Note the interaction with linenumbering.width + + + + + + + +linenumbering.width +integer + + +linenumbering.width +Indicates the width of line numbers + + + + +<xsl:param name="linenumbering.width">3</xsl:param> + + + +Description + +If line numbering is enabled, line numbers will appear right +justified in a field "width" characters wide. + + + + + + + +tablecolumns.extension +boolean + + +tablecolumns.extension +Enable the table columns extension function + + + + +<xsl:param name="tablecolumns.extension" select="1"></xsl:param> + + + +Description + +The table columns extension function adjusts the widths of table +columns in the HTML result to more accurately reflect the specifications +in the CALS table. + + + + + + + + textinsert.extension + boolean + + + textinsert.extension + Enables the textinsert extension element + + + + <xsl:param name="textinsert.extension" select="1"></xsl:param> + + + Description + The textinsert extension element inserts the contents of + a file into the result tree (as text). + + To use the textinsert extension element, you must use + either Saxon or Xalan as your XSLT processor (it doesn’t + work with xsltproc), along with either the DocBook Saxon + extensions or DocBook Xalan extensions (for more + information about those extensions, see DocBook Saxon Extensions and DocBook Xalan Extensions), and you must set both + the use.extensions and + textinsert.extension parameters to + 1. + As an alternative to using the textinsert element, + consider using an Xinclude element with the + parse="text" attribute and value + specified, as detailed in Using XInclude for text inclusions. + + + See Also + You can also use the dbhtml-include href processing + instruction to insert external files — both files containing + plain text and files with markup content (including HTML + content). + + More information + For how-to documentation on inserting contents of + external code files and other text files into output, see + External code files. + For guidelines on inserting contents of + HTML files into output, see Inserting external HTML code. + + + + + +textdata.default.encoding +string + + +textdata.default.encoding +Default encoding of external text files which are included +using textdata element + + + + +<xsl:param name="textdata.default.encoding"></xsl:param> + + + +Description + +Specifies the encoding of any external text files included using +textdata element. This value is used only when you do +not specify encoding by the appropriate attribute +directly on textdata. An empty string is interpreted as the system +default encoding. + + + + + + +graphicsize.extension +boolean + + +graphicsize.extension +Enable the getWidth()/getDepth() extension functions + + + + +<xsl:param name="graphicsize.extension" select="1"></xsl:param> + + + +Description + +If non-zero (and if use.extensions is non-zero +and if you're using a processor that supports extension functions), the +getWidth and getDepth functions +will be used to extract image sizes from graphics. + + + + + + +graphicsize.use.img.src.path +boolean + + +graphicsize.use.img.src.path +Prepend img.src.path before +filenames passed to extension functions + + + + +<xsl:param name="graphicsize.use.img.src.path" select="0"></xsl:param> + + + +Description + +If non-zero img.src.path parameter will +be appended before filenames passed to extension functions for +measuring image dimensions. + + + + + + +use.extensions +boolean + + +use.extensions +Enable extensions + + + + +<xsl:param name="use.extensions" select="0"></xsl:param> + + + +Description + +If non-zero, extensions may be used. Each extension is +further controlled by its own parameter. But if +use.extensions is zero, no extensions will +be used. + + + + + + +Automatic labelling + + +chapter.autolabel +list +0none +11,2,3... +AA,B,C... +aa,b,c... +ii,ii,iii... +II,II,III... + + +chapter.autolabel +Specifies the labeling format for Chapter titles + + + + +<xsl:param name="chapter.autolabel" select="1"></xsl:param> + + +Description + +If non-zero, then chapters will be numbered using the parameter +value as the number format if the value matches one of the following: + + + + + 1 or arabic + + Arabic numeration (1, 2, 3 ...). + + + + A or upperalpha + + Uppercase letter numeration (A, B, C ...). + + + + a or loweralpha + + Lowercase letter numeration (a, b, c ...). + + + + I or upperroman + + Uppercase roman numeration (I, II, III ...). + + + + i or lowerroman + + Lowercase roman letter numeration (i, ii, iii ...). + + + + +Any nonzero value other than the above will generate +the default number format (arabic). + + + + + + + +appendix.autolabel +list +0none +11,2,3... +AA,B,C... +aa,b,c... +ii,ii,iii... +II,II,III... + + +appendix.autolabel +Specifies the labeling format for Appendix titles + + + + +<xsl:param name="appendix.autolabel">A</xsl:param> + + + +Description + +If non-zero, then appendices will be numbered using the +parameter value as the number format if the value matches one of the +following: + + + + + 1 or arabic + + Arabic numeration (1, 2, 3 ...). + + + + A or upperalpha + + Uppercase letter numeration (A, B, C ...). + + + + a or loweralpha + + Lowercase letter numeration (a, b, c ...). + + + + I or upperroman + + Uppercase roman numeration (I, II, III ...). + + + + i or lowerroman + + Lowercase roman letter numeration (i, ii, iii ...). + + + + +Any nonzero value other than the above will generate +the default number format (upperalpha). + + + + + + + +part.autolabel +list +0none +11,2,3... +AA,B,C... +aa,b,c... +ii,ii,iii... +II,II,III... + + +part.autolabel +Specifies the labeling format for Part titles + + + + +<xsl:param name="part.autolabel">I</xsl:param> + + + +Description + +If non-zero, then parts will be numbered using the parameter +value as the number format if the value matches one of the following: + + + + + 1 or arabic + + Arabic numeration (1, 2, 3 ...). + + + + A or upperalpha + + Uppercase letter numeration (A, B, C ...). + + + + a or loweralpha + + Lowercase letter numeration (a, b, c ...). + + + + I or upperroman + + Uppercase roman numeration (I, II, III ...). + + + + i or lowerroman + + Lowercase roman letter numeration (i, ii, iii ...). + + + + +Any nonzero value other than the above will generate +the default number format (upperroman). + + + + + + + + +reference.autolabel +list +0none +11,2,3... +AA,B,C... +aa,b,c... +ii,ii,iii... +II,II,III... + + +reference.autolabel +Specifies the labeling format for Reference titles + + + + <xsl:param name="reference.autolabel">I</xsl:param> + + +Description +If non-zero, references will be numbered using the parameter + value as the number format if the value matches one of the + following: + + + + 1 or arabic + + Arabic numeration (1, 2, 3 ...). + + + + A or upperalpha + + Uppercase letter numeration (A, B, C ...). + + + + a or loweralpha + + Lowercase letter numeration (a, b, c ...). + + + + I or upperroman + + Uppercase roman numeration (I, II, III ...). + + + + i or lowerroman + + Lowercase roman letter numeration (i, ii, iii ...). + + + +Any non-zero value other than the above will generate +the default number format (upperroman). + + + + + + +preface.autolabel +list +0none +11,2,3... +AA,B,C... +aa,b,c... +ii,ii,iii... +II,II,III... + + +preface.autolabel +Specifices the labeling format for Preface titles + + + +<xsl:param name="preface.autolabel" select="0"></xsl:param> + + +Description + +If non-zero then prefaces will be numbered using the parameter +value as the number format if the value matches one of the following: + + + + + 1 or arabic + + Arabic numeration (1, 2, 3 ...). + + + + A or upperalpha + + Uppercase letter numeration (A, B, C ...). + + + + a or loweralpha + + Lowercase letter numeration (a, b, c ...). + + + + I or upperroman + + Uppercase roman numeration (I, II, III ...). + + + + i or lowerroman + + Lowercase roman letter numeration (i, ii, iii ...). + + + + +Any nonzero value other than the above will generate +the default number format (arabic). + + + + + + + + +qandadiv.autolabel +boolean + + +qandadiv.autolabel +Are divisions in QAndASets enumerated? + + + +<xsl:param name="qandadiv.autolabel" select="1"></xsl:param> + + +Description + +If non-zero, unlabeled qandadivs will be enumerated. + + + + + + + +section.autolabel +boolean + + +section.autolabel +Are sections enumerated? + + + +<xsl:param name="section.autolabel" select="0"></xsl:param> + + +Description + +If true (non-zero), unlabeled sections will be enumerated. + + + + + + + +section.autolabel.max.depth +integer + + +section.autolabel.max.depth +The deepest level of sections that are numbered. + + + + +<xsl:param name="section.autolabel.max.depth">8</xsl:param> + + + +Description + +When section numbering is turned on by the +section.autolabel parameter, then this +parameter controls the depth of section nesting that is +numbered. Sections nested to a level deeper than this value will not +be numbered. + + + + + + + +section.label.includes.component.label +boolean + + +section.label.includes.component.label +Do section labels include the component label? + + + +<xsl:param name="section.label.includes.component.label" select="0"></xsl:param> + + +Description + +If non-zero, section labels are prefixed with the label of the +component that contains them. + + + + + + + +label.from.part +boolean + + +label.from.part +Renumber components in each part? + + + + +<xsl:param name="label.from.part" select="0"></xsl:param> + + + +Description + +If label.from.part is non-zero, then + numbering of components — preface, + chapter, appendix, and + reference (when reference occurs at the + component level) — is re-started within each + part. +If label.from.part is zero (the + default), numbering of components is not + re-started within each part; instead, components are + numbered sequentially throughout each book, + regardless of whether or not they occur within part + instances. + + + + + + +component.label.includes.part.label +boolean + + +component.label.includes.part.label +Do component labels include the part label? + + + +<xsl:param name="component.label.includes.part.label" select="0"></xsl:param> + + +Description + +If non-zero, number labels for chapter, +appendix, and other component elements are prefixed with +the label of the part element that contains them. So you might see +Chapter II.3 instead of Chapter 3. Also, the labels for formal +elements such as table and figure will include +the part label. If there is no part element container, then no prefix +is generated. + + +This feature is most useful when the +label.from.part parameter is turned on. +In that case, there would be more than one chapter +1, and the extra part label prefix will identify +each chapter unambiguously. + + + + + + + +HTML + + +html.base +uri + + +html.base +An HTML base URI + + + + +<xsl:param name="html.base"></xsl:param> + + +Description + +If html.base is set, it is used for the base element +in the head of the html documents. The parameter specifies +the base URL for all relative URLs in the document. This is useful +for dynamically served html where the base URI needs to be +shifted. + + + + + + +html.stylesheet.type +string + + +html.stylesheet.type +The type of the stylesheet used in the generated HTML + + + +<xsl:param name="html.stylesheet.type">text/css</xsl:param> + + +Description + +The type of the stylesheet to place in the HTML link tag. + + + + + + + +html.stylesheet +string + + +html.stylesheet +Name of the stylesheet(s) to use in the generated HTML + + + + +<xsl:param name="html.stylesheet"></xsl:param> + + + +Description + +The html.stylesheet parameter is either +empty, indicating that no stylesheet link tag should be +generated in the html output, or it is a list of one or more +stylesheet files. + +Multiple stylesheets are space-delimited. If you need to +reference a stylesheet URI that includes a space, encode it with +%20. A separate html link element will +be generated for each stylesheet in the order they are listed in the +parameter. + + + + + + +css.decoration +boolean + + +css.decoration +Enable CSS decoration of elements + + + + +<xsl:param name="css.decoration" select="1"></xsl:param> + + + +Description + + +If non-zero, then html elements produced by the stylesheet may be +decorated with style attributes. For example, the +li tags produced for list items may include a +fragment of CSS in the style attribute which sets +the CSS property "list-style-type". + + + + + + + +spacing.paras +boolean + + +spacing.paras +Insert additional <p> elements for spacing? + + + + +<xsl:param name="spacing.paras" select="0"></xsl:param> + + + +Description + +When non-zero, additional, empty paragraphs are inserted in +several contexts (for example, around informal figures), to create a +more pleasing visual appearance in many browsers. + + + + + + + +emphasis.propagates.style +boolean + + +emphasis.propagates.style +Pass emphasis role attribute through to HTML? + + + +<xsl:param name="emphasis.propagates.style" select="1"></xsl:param> + + +Description +If non-zero, the role attribute of +emphasis elements will be passed through to the HTML as a +class attribute on a span that surrounds the +emphasis. + + + + + +para.propagates.style +boolean + + +para.propagates.style +Pass para role attribute through to HTML? + + + + +<xsl:param name="para.propagates.style" select="1"></xsl:param> + + + +Description + +If true, the role attribute of para elements +will be passed through to the HTML as a class attribute on the +p generated for the paragraph. + + + + + + +phrase.propagates.style +boolean + + +phrase.propagates.style +Pass phrase role attribute through to HTML? + + + + +<xsl:param name="phrase.propagates.style" select="1"></xsl:param> + + +Description + +If non-zero, the role attribute of phrase elements +will be passed through to the HTML as a class +attribute on a span that surrounds the +phrase. + + + + + + +entry.propagates.style +boolean + + +entry.propagates.style +Pass entry role attribute through to HTML? + + + + +<xsl:param name="entry.propagates.style" select="1"></xsl:param> + + + +Description + +If true, the role attribute of entry elements +will be passed through to the HTML as a class attribute on the +td or th generated for the table +cell. + + + + + + +html.longdesc +boolean + + +html.longdesc +Should longdesc URIs be created? + + + +<xsl:param name="html.longdesc" select="1"></xsl:param> + + +Description +If non-zero, HTML files will be created for the +longdesc attribute. These files +are created from the textobjects in +mediaobjects and +inlinemediaobject. + + + + + + +html.longdesc.link +boolean + + +html.longdesc.link +Should a link to the longdesc be included in the HTML? + + + + +<xsl:param name="html.longdesc.link" select="$html.longdesc"></xsl:param> + + + +Description + +If non-zero, links will be created to the +HTML files created for the +longdesc attribute. It makes no +sense to enable this option without also enabling the +html.longdesc parameter. + + + + + + + + +make.valid.html +boolean + + +make.valid.html +Attempt to make sure the HTML output is valid HTML + + + + +<xsl:param name="make.valid.html" select="0"></xsl:param> + + + +Description + +If make.valid.html is true, the stylesheets take +extra effort to ensure that the resulting HTML is valid. This may mean that some +para tags are translated into HTML divs or +that other substitutions occur. + +This parameter is different from html.cleanup +because it changes the resulting markup; it does not use extension functions +to manipulate result-tree-fragments and is therefore applicable to any +XSLT processor. + + + + + + +html.cleanup +boolean + + +html.cleanup +Attempt to clean up the resulting HTML? + + + + +<xsl:param name="html.cleanup" select="1"></xsl:param> + + + +Description + +If non-zero, and if the EXSLT +extensions are supported by your processor, the resulting HTML will be +cleaned up. This improves the chances that the +resulting HTML will be valid. It may also improve the formatting of +some elements. + +This parameter is different from make.valid.html +because it uses extension functions to manipulate result-tree-fragments. + + + + + + +html.append +string + + +html.append +Specifies content to append to HTML output + + + +<xsl:param name="html.append"></xsl:param> + + +Description + +Specifies content to append to the end of HTML files output by +the html/docbook.xsl stylesheet, after the +closing <html> tag. You probably don’t want to set any +value for this parameter; but if you do, the only value it should ever +be set to is a newline character: &#x0a; or +&#10; + + + + + + +draft.mode +list +no +yes +maybe + + +draft.mode +Select draft mode + + + + +<xsl:param name="draft.mode">no</xsl:param> + + + +Description + +Selects draft mode. If draft.mode is +yes, the entire document will be treated +as a draft. If it is no, the entire document +will be treated as a final copy. If it is maybe, +individual sections will be treated as draft or final independently, depending +on how their status attribute is set. + + + + + + + +draft.watermark.image +uri + + +draft.watermark.image +The URI of the image to be used for draft watermarks + + + + +<xsl:param name="draft.watermark.image">images/draft.png</xsl:param> + + + +Description + +The image to be used for draft watermarks. + + + + + + +generate.id.attributes +boolean + + +generate.id.attributes +Generate ID attributes on container elements? + + + + +<xsl:param name="generate.id.attributes" select="0"></xsl:param> + + + +Description + +If non-zero, the HTML stylesheet will generate ID attributes on +containers. For example, the markup: + +<section id="foo"><title>Some Title</title> +<para>Some para.</para> +</section> + +might produce: + +<div class="section" id="foo"> +<h2>Some Title</h2> +<p>Some para.</p> +</div> + +The alternative is to generate anchors: + +<div class="section"> +<h2><a name="foo"></a>Some Title</h2> +<p>Some para.</p> +</div> + +Because the name attribute of +the a element and the id +attribute of other tags are both of type ID, producing both +generates invalid documents. + +As of version 1.50, you can use this switch to control which type of +identifier is generated. For backwards-compatibility, generating +a anchors is preferred. + +Note: at present, this switch is incompletely implemented. +Disabling ID attributes will suppress them, but enabling ID attributes +will not suppress the anchors. + + + + + + +generate.meta.abstract +boolean + + +generate.meta.abstract +Generate HTML META element from abstract? + + + + +<xsl:param name="generate.meta.abstract" select="1"></xsl:param> + + + +Description + +If non-zero, document abstracts will be reproduced in the HTML +head, with >meta name="description" content="..." + + + + + + + +make.clean.html +boolean + + +make.clean.html +Make HTML conform to modern coding standards + + + + +<xsl:param name="make.clean.html" select="0"></xsl:param> + + + +Description + +If make.clean.html is true, the stylesheets take +extra effort to ensure that the resulting HTML is conforms to +modern HTML coding standards. In addition to eliminating +excessive and noncompliant coding, it moves presentation +HTML coding to a CSS stylesheet. + +The resulting HTML is dependent on +CSS for formatting, and so the stylesheet is capable of +generating a supporting CSS file. The docbook.css.source +and custom.css.source parameters control +how a CSS file is generated. + +If you require your CSS to reside in the HTML +head element, then the generate.css.header +can be used to do that. + +The make.clean.html parameter is +different from html.cleanup +because the former changes the resulting markup; it does not use extension functions +like the latter to manipulate result-tree-fragments, +and is therefore applicable to any XSLT processor. + +If make.clean.html is set to zero (the default), +then the stylesheet retains its original +old style +HTML formatting features. + + + + + + docbook.css.source + string + + + docbook.css.source + Name of the default CSS input file + + + + <xsl:param name="docbook.css.source">docbook.css.xml</xsl:param> + + + Description + +The docbook.css.source parameter +specifies the name of the file containing the default DocBook +CSS styles. Those styles are necessary when the +make.clean.html parameter is nonzero. + +The file is a well-formed XML file that +must consist of a single style root +element that contains CSS styles as its text content. +The default value of the parameter (and filename) +is docbook.css.xml. +The stylesheets ship with the default file. You can substitute +your own and specify its path in this parameter. + +If docbook.css.source is not blank, +and make.clean.html is nonzero, then +the stylesheet takes the following actions: + + + + The stylesheet uses the XSLT document() + function to open the file specified by the parameter and + load it into a variable. + + + The stylesheet forms an output pathname consisting of the + value of the base.dir parameter (if it is set) + and the value of docbook.css.source, + with the .xml suffix stripped off. + + + + The stylesheet removes the style + wrapper element and writes just the CSS text content to the output file. + + + The stylesheet adds a link element to the + HTML HEAD element to reference the external CSS stylesheet. + For example: + <link rel="stylesheet" href="docbook.css" type="text/css"> + + However, if the docbook.css.link + parameter is set to zero, then no link is written + for the default CSS file. That is useful if a custom + CSS file will import the default CSS stylesheet to ensure + proper cascading of styles. + + + +If the docbook.css.source parameter +is changed from its default docbook.css.xml to blank, +then no default CSS is generated. Likewise if the +make.clean.html parameter is set to zero, +then no default CSS is generated. The +custom.css.source parameter can be used +instead to generate a complete custom CSS file. + +You can use the generate.css.header +parameter to instead write the CSS to each HTML HEAD +element in a style tag instead of an external CSS file. + + + + + + +docbook.css.link +boolean + + +docbook.css.link +Insert a link referencing the default CSS stylesheet + + + + +<xsl:param name="docbook.css.link" select="1"></xsl:param> + + + +Description + +The stylesheets are capable of generating a default +CSS stylesheet file. The parameters +make.clean.html and +docbook.css.source control that feature. + +Normally if a default CSS file is generated, then +the stylesheet inserts a link tag in the HTML +HEAD element to reference it. +However, you can omit that link reference if +you set the docbook.css.link to zero +(1 is the default). + +This parameter is useful when you want to import the +default CSS into a custom CSS file generated using the +custom.css.source parameter. + + + + + + + + custom.css.source + string + + + custom.css.source + Name of a custom CSS input file + + + + <xsl:param name="custom.css.source"></xsl:param> + + + Description + +The custom.css.source +parameter enables you to add CSS styles to DocBook's +HTML output. + +The parameter +specifies the name of a file containing custom +CSS styles. The file must be a well-formed XML file that +consists of a single style root +element that contains CSS styles as its text content. +For example: +<?xml version="1.0"?> +<style> +h2 { + font-weight: bold; + color: blue; +} +... +</style> + + +The filename specified by the parameter +should have a .xml +filename suffix, although that is not required. +The default value of this parameter is blank. + +If custom.css.source is not blank, then +the stylesheet takes the following actions. +These actions take place regardless of the value of +the make.clean.html parameter. + + + + The stylesheet uses the XSLT document() + function to open the file specified by the parameter and + load it into a variable. + + + The stylesheet forms an output pathname consisting of the + value of the base.dir parameter (if it is set) + and the value of custom.css.source, + with the .xml suffix stripped off. + + + + The stylesheet removes the style + wrapper element and writes just the CSS text content to the output file. + + + The stylesheet adds a link element to the + HTML HEAD element to reference this external CSS stylesheet. + For example: + <link rel="stylesheet" href="custom.css" type="text/css"> + + + + + + + +If the make.clean.html parameter is nonzero +(the default is zero), +and if the docbook.css.source parameter +is not blank (the default is not blank), +then the stylesheet will also generate a default CSS file +and add a link tag to reference it. +The link to the custom CSS comes after the +link to the default, so it should cascade properly +in most browsers. +If you do not want two link tags, and +instead want your custom CSS to import the default generated +CSS file, then do the following: + + + + + Add a line like the following to your custom CSS source file: + @import url("docbook.css") + + + + Set the docbook.css.link parameter + to zero. This will omit the link tag + that references the default CSS file. + + + +If you set make.clean.html to nonzero but +you do not want the default CSS generated, then also set +the docbook.css.source parameter to blank. +Then no default CSS will be generated, and so +all CSS styles must come from your custom CSS file. + +You can use the generate.css.header +parameter to instead write the CSS to each HTML HEAD +element in a style tag instead of an external CSS file. + + + + + + +generate.css.header +boolean + + +generate.css.header +Insert generated CSS styles in HEAD element + + + + +<xsl:param name="generate.css.header" select="0"></xsl:param> + + + +Description + +The stylesheets are capable of generating both default +and custom CSS stylesheet files. The parameters +make.clean.html, +docbook.css.source, and +custom.css.source control that feature. + +If you require that CSS styles reside in the HTML +HEAD element instead of external CSS files, +then set the generate.css.header +parameter to nonzero (it is zero by default). +Then instead of generating the CSS in external files, +they are wrapped in style elements in +the HEAD element of each HTML output file. + + + + + + +XSLT Processing + + +rootid +string + + +rootid +Specify the root element to format + + + + +<xsl:param name="rootid"></xsl:param> + + +Description + +If rootid is not empty, it must be the +value of an ID that occurs in the document being formatted. The entire +document will be loaded and parsed, but formatting will begin at the +element identified, rather than at the root. For example, this allows +you to process only chapter 4 of a book. +Because the entire document is available to the processor, automatic +numbering, cross references, and other dependencies are correctly +resolved. + + + + + + +suppress.navigation +boolean + + +suppress.navigation +Disable header and footer navigation + + + + +<xsl:param name="suppress.navigation" select="0"></xsl:param> + + + +Description + + +If non-zero, header and footer navigation will be suppressed. + + + + + + +suppress.header.navigation +boolean + + +suppress.header.navigation +Disable header navigation + + + + +<xsl:param name="suppress.header.navigation" select="0"></xsl:param> + + + +Description + +If non-zero, header navigation will be suppressed. + + + + + + +suppress.footer.navigation +boolean + + +suppress.footer.navigation +Disable footer navigation + + + +<xsl:param name="suppress.footer.navigation">0</xsl:param> + + +Description + + +If non-zero, footer navigation will be suppressed. + + + + + + +header.rule +boolean + + +header.rule +Rule under headers? + + + + +<xsl:param name="header.rule" select="1"></xsl:param> + + + +Description + +If non-zero, a rule will be drawn below the page headers. + + + + + + +footer.rule +boolean + + +footer.rule +Rule over footers? + + + + +<xsl:param name="footer.rule" select="1"></xsl:param> + + + +Description + +If non-zero, a rule will be drawn above the page footers. + + + + + + +id.warnings +boolean + + +id.warnings +Should warnings be generated for titled elements without IDs? + + + +<xsl:param name="id.warnings" select="0"></xsl:param> + + +Description +If non-zero, the stylesheet will issue a warning for any element +(other than the root element) which has a title but does not have an +ID. + + + + +Meta/*Info and Titlepages + + +inherit.keywords +boolean + + +inherit.keywords +Inherit keywords from ancestor elements? + + + + +<xsl:param name="inherit.keywords" select="1"></xsl:param> + + +Description + +If inherit.keywords +is non-zero, the keyword meta for each HTML +head element will include all of the keywords from +ancestor elements. Otherwise, only the keywords from the current section +will be used. + + + + + + + +make.single.year.ranges +boolean + + +make.single.year.ranges +Print single-year ranges (e.g., 1998-1999) + + + + +<xsl:param name="make.single.year.ranges" select="0"></xsl:param> + + +Description + +If non-zero, year ranges that span a single year will be printed +in range notation (1998-1999) instead of discrete notation +(1998, 1999). + + + + + + +make.year.ranges +boolean + + +make.year.ranges +Collate copyright years into ranges? + + + +<xsl:param name="make.year.ranges" select="0"></xsl:param> + + +Description + +If non-zero, multiple copyright year elements will be +collated into ranges. +This works only if each year number is put into a separate +year element. The copyright element permits multiple +year elements. If a year element contains a dash or +a comma, then that year element will not be merged into +any range. + + + + + + + +author.othername.in.middle +boolean + + +author.othername.in.middle +Is othername in author a +middle name? + + + + +<xsl:param name="author.othername.in.middle" select="1"></xsl:param> + + +Description + +If non-zero, the othername of an author +appears between the firstname and +surname. Otherwise, othername +is suppressed. + + + + + + + +blurb.on.titlepage.enabled +boolean + + +blurb.on.titlepage.enabled +Display personblurb and authorblurb on title pages? + + + + +<xsl:param name="blurb.on.titlepage.enabled" select="0"></xsl:param> + + + +Description + +If non-zero, output from authorblurb and +personblurb elements is displayed on title pages. If zero +(the default), output from those elements is suppressed on title pages +(unless you are using a titlepage customization +that causes them to be included). + + + + + + +contrib.inline.enabled +boolean + + +contrib.inline.enabled +Display contrib output inline? + + + +<xsl:param name="contrib.inline.enabled">1</xsl:param> + + +Description + +If non-zero (the default), output of the contrib element is +displayed as inline content rather than as block content. + + + + + + +editedby.enabled +boolean + + +editedby.enabled +Display “Edited by” heading above editor name? + + + +<xsl:param name="editedby.enabled">1</xsl:param> + + +Description + +If non-zero, a localized Edited +by heading is displayed above editor names in output of the +editor element. + + + + + + +abstract.notitle.enabled +boolean + + +abstract.notitle.enabled +Suppress display of abstract titles? + + + <xsl:param name="abstract.notitle.enabled" select="0"></xsl:param> + +Description +If non-zero, in output of the abstract element on titlepages, +display of the abstract title is suppressed. + + + + + +othercredit.like.author.enabled +boolean + + +othercredit.like.author.enabled +Display othercredit in same style as author? + + + +<xsl:param name="othercredit.like.author.enabled">0</xsl:param> + + +Description + +If non-zero, output of the +othercredit element on titlepages is displayed in +the same style as author and +editor output. If zero then +othercredit output is displayed using a style +different than that of author and +editor. + + + + + + +generate.legalnotice.link +boolean + + +generate.legalnotice.link +Write legalnotice to separate chunk and generate link? + + + +<xsl:param name="generate.legalnotice.link" select="0"></xsl:param> + + +Description + +If the value of generate.legalnotice.link +is non-zero, the stylesheet: + + + + writes the contents of legalnotice to a separate + HTML file + + + inserts a hyperlink to the legalnotice file + + + adds (in the HTML head) either a single + link or element or multiple + link elements (depending on the value of the + html.head.legalnotice.link.multiple + parameter), with the value or values derived from the + html.head.legalnotice.link.types + parameter + + + + Otherwise, if generate.legalnotice.link is + zero, legalnotice contents are rendered on the title + page. + +The name of the separate HTML file is computed as follows: + + + + If a filename is given by the dbhtml filename +processing instruction, that filename is used. + + + If the legalnotice has an id/xml:id +attribute, and if use.id.as.filename != 0, the filename +is the concatenation of the id value and the value of the html.ext +parameter. + + + If the legalnotice does not have an id/xml:id + attribute, or if use.id.as.filename = 0, the filename is the concatenation of "ln-", +auto-generated id value, and html.ext value. + + + + + + + + + + + +generate.revhistory.link +boolean + + +generate.revhistory.link +Write revhistory to separate chunk and generate link? + + + +<xsl:param name="generate.revhistory.link" select="0"></xsl:param> + + +Description + +If non-zero, the contents of revhistory are written +to a separate HTML file and a link to the file is +generated. Otherwise, revhistory contents are rendered on +the title page. + +The name of the separate HTML file is computed as follows: + + + + If a filename is given by the dbhtml filename processing instruction, +that filename is used. + + + If the revhistory has an id/xml:id +attribute, and if use.id.as.filename != 0, the filename is the concatenation of +the id value and the value of the html.ext parameter. + + + If the revhistory does not have an id/xml:id +attribute, or if use.id.as.filename = 0, the filename is the concatenation of "rh-", +auto-generated id value, and html.ext value. + + + + + + + + + + + +html.head.legalnotice.link.types +string + + +html.head.legalnotice.link.types +Specifies link types for legalnotice link in html head + + + + +<xsl:param name="html.head.legalnotice.link.types">copyright</xsl:param> + + + +Description + +The value of +html.head.legalnotice.link.types is a +space-separated list of link types, as described in Section 6.12 +of the HTML 4.01 specification. If the value of the +generate.legalnotice.link parameter is +non-zero, then the stylesheet generates (in the +head section of the HTML source) either a single +HTML link element or, if the value of the +html.head.legalnotice.link.multiple is +non-zero, one link element for each link type +specified. Each link has the following attributes: + + + + a rel attribute whose + value is derived from the value of + html.head.legalnotice.link.types + + + an href attribute whose + value is set to the URL of the file containing the + legalnotice + + + a title attribute whose + value is set to the title of the corresponding + legalnotice (or a title programatically + determined by the stylesheet) + + + +For example: + + <link rel="license" href="ln-id2524073.html" title="Legal Notice"> + + +About the default value + + In an ideal world, the default value of + html.head.legalnotice.link.types would + probably be “license”, since the content of the + DocBook legalnotice is typically license + information, not copyright information. However, the default value + is “copyright” for pragmatic reasons: because + that’s among the set of “recognized link types” listed in Section + 6.12 of the HTML 4.01 specification, and because certain + browsers and browser extensions are preconfigured to recognize that + value. + + + + + + + +html.head.legalnotice.link.multiple +boolean + + +html.head.legalnotice.link.multiple +Generate multiple link instances in html head for legalnotice? + + + + +<xsl:param name="html.head.legalnotice.link.multiple" select="1"></xsl:param> + + + +Description + +If html.head.legalnotice.link.multiple is +non-zero and the value of +html.head.legalnotice.link.types contains +multiple link types, then the stylesheet generates (in the +head section of the HTML source) one +link element for each link type specified. For +example, if the value of +html.head.legalnotice.link.types is +“copyright license”: + + <link rel="copyright" href="ln-id2524073.html" title="Legal Notice"> + <link rel="license" href="ln-id2524073.html" title="Legal Notice"> + + Otherwise, the stylesheet generates generates a single + link instance; for example: + + <link rel="copyright license" href="ln-id2524073.html" title="Legal Notice"> + + + + + + +Reference Pages + + +funcsynopsis.decoration +boolean + + +funcsynopsis.decoration +Decorate elements of a funcsynopsis? + + + + +<xsl:param name="funcsynopsis.decoration" select="1"></xsl:param> + + + +Description + +If non-zero, elements of the funcsynopsis will be +decorated (e.g. rendered as bold or italic text). The decoration is controlled by +templates that can be redefined in a customization layer. + + + + + + + +funcsynopsis.style +list +ansi +kr + + +funcsynopsis.style +What style of funcsynopsis should be generated? + + + +<xsl:param name="funcsynopsis.style">kr</xsl:param> + + +Description + +If funcsynopsis.style is ansi, +ANSI-style function synopses are generated for a +funcsynopsis, otherwise K&R-style +function synopses are generated. + + + + + + + +function.parens +boolean + + +function.parens +Generate parens after a function? + + + + +<xsl:param name="function.parens" select="0"></xsl:param> + + + +Description + +If non-zero, the formatting of a function element +will include generated parentheses. + + + + + + + +refentry.generate.name +boolean + + +refentry.generate.name +Output NAME header before refnames? + + + + +<xsl:param name="refentry.generate.name" select="1"></xsl:param> + + + +Description + +If non-zero, a "NAME" section title is output before the list +of refnames. This parameter and +refentry.generate.title are mutually +exclusive. This means that if you change this parameter to zero, you +should set refentry.generate.title to non-zero unless +you want get quite strange output. + + + + + + + +refentry.generate.title +boolean + + +refentry.generate.title +Output title before refnames? + + + + +<xsl:param name="refentry.generate.title" select="0"></xsl:param> + + + +Description + +If non-zero, the reference page title or first name is +output before the list of refnames. This parameter and +refentry.generate.name are mutually exclusive. +This means that if you change this parameter to non-zero, you +should set refentry.generate.name to zero unless +you want get quite strange output. + + + + + + + +refentry.xref.manvolnum +boolean + + +refentry.xref.manvolnum +Output manvolnum as part of +refentry cross-reference? + + + + +<xsl:param name="refentry.xref.manvolnum" select="1"></xsl:param> + + + +Description + +if non-zero, the manvolnum is used when cross-referencing +refentrys, either with xref +or citerefentry. + + + + + + + +citerefentry.link +boolean + + +citerefentry.link +Generate URL links when cross-referencing RefEntrys? + + + + +<xsl:param name="citerefentry.link" select="0"></xsl:param> + + +Description + +If non-zero, a web link will be generated, presumably +to an online man->HTML gateway. The text of the link is +generated by the generate.citerefentry.link template. + + + + + + + +refentry.separator +boolean + + +refentry.separator +Generate a separator between consecutive RefEntry elements? + + + + +<xsl:param name="refentry.separator" select="1"></xsl:param> + + + +Description + +If true, a separator will be generated between consecutive +reference pages. + + + + + + + +refclass.suppress +boolean + + +refclass.suppress +Suppress display of refclass contents? + + + + +<xsl:param name="refclass.suppress" select="0"></xsl:param> + + +Description + +If the value of refclass.suppress is +non-zero, then display of refclass contents is +suppressed in output. + + + + + +Tables + + +default.table.width +length + + +default.table.width +The default width of tables + + + +<xsl:param name="default.table.width"></xsl:param> + + +Description +If non-zero, this value will be used for the +width attribute on tables that do not specify an +alternate width (with the dbhtml table-width or +dbfo table-width processing instruction). + + + + + +nominal.table.width +length + + +nominal.table.width +The (absolute) nominal width of tables + + + + +<xsl:param name="nominal.table.width">6in</xsl:param> + + + +Description + +In order to convert CALS column widths into HTML column widths, it +is sometimes necessary to have an absolute table width to use for conversion +of mixed absolute and relative widths. This value must be an absolute +length (not a percentage). + + + + + + +table.borders.with.css +boolean + + +table.borders.with.css +Use CSS to specify table, row, and cell borders? + + + + +<xsl:param name="table.borders.with.css" select="0"></xsl:param> + + + +Description + +If non-zero, CSS will be used to draw table borders. + + + + + + + +table.cell.border.style +list +none +solid +dotted +dashed +double +groove +ridge +inset +outset +solid + + +table.cell.border.style +Specifies the border style of table cells + + + + +<xsl:param name="table.cell.border.style">solid</xsl:param> + + + +Description + +Specifies the border style of table cells. + + + To control properties of cell borders in HTML output, you must also turn on the + table.borders.with.css parameter. + + + + + + + +table.cell.border.thickness +length + + +table.cell.border.thickness +Specifies the thickness of table cell borders + + + + +<xsl:param name="table.cell.border.thickness">0.5pt</xsl:param> + + + +Description + +If non-zero, specifies the thickness of borders on table +cells. The units are points. See +CSS + + + To control properties of cell borders in HTML output, you must also turn on the + table.borders.with.css parameter. + + + + + + + +table.cell.border.color +color + + +table.cell.border.color +Specifies the border color of table cells + + + + +<xsl:param name="table.cell.border.color"></xsl:param> + + + + +Description + +Set the color of table cell borders. If non-zero, the value is used +for the border coloration. See CSS. A +color is either a keyword or a numerical RGB specification. +Keywords are aqua, black, blue, fuchsia, gray, green, lime, maroon, +navy, olive, orange, purple, red, silver, teal, white, and +yellow. + + + To control properties of cell borders in HTML output, you must also turn on the + table.borders.with.css parameter. + + + + + + + +table.frame.border.style +list +none +solid +dotted +dashed +double +groove +ridge +inset +outset +solid + + +table.frame.border.style +Specifies the border style of table frames + + + + +<xsl:param name="table.frame.border.style">solid</xsl:param> + + + +Description + +Specifies the border style of table frames. + + + + + + +table.frame.border.thickness +length + + +table.frame.border.thickness +Specifies the thickness of the frame border + + + + +<xsl:param name="table.frame.border.thickness">0.5pt</xsl:param> + + + +Description + +Specifies the thickness of the border on the table's frame. + + + + + + +table.frame.border.color +color + + +table.frame.border.color +Specifies the border color of table frames + + + + +<xsl:param name="table.frame.border.color"></xsl:param> + + + + +Description + +Specifies the border color of table frames. + + + + + + +default.table.frame +string + + +default.table.frame +The default framing of tables + + + + +<xsl:param name="default.table.frame">all</xsl:param> + + + +Description + +This value will be used when there is no frame attribute on the +table. + + + + + + +html.cellspacing +integer + + +html.cellspacing +Default value for cellspacing in HTML tables + + + + +<xsl:param name="html.cellspacing"></xsl:param> + + + +Description + +If non-zero, this value will be used as the default cellspacing +value in HTML tables. nn for pixels or nn% for percentage +length. E.g. 5 or 5% + + + + + + +html.cellpadding +integer + + +html.cellpadding +Default value for cellpadding in HTML tables + + + + +<xsl:param name="html.cellpadding"></xsl:param> + + + +Description + +If non-zero, this value will be used as the default cellpadding value +in HTML tables. nn for pixels or nn% for percentage length. E.g. 5 or +5% + + + + + +QAndASet + + +qanda.defaultlabel +list +number +qanda +none + + +qanda.defaultlabel +Sets the default for defaultlabel on QandASet. + + + + +<xsl:param name="qanda.defaultlabel">number</xsl:param> + + + +Description + +If no defaultlabel attribute is specified on +a qandaset, this value is used. It is generally one of the legal +values for the defaultlabel attribute (none, +number or +qanda), or one of the additional stylesheet-specific values +(qnumber or qnumberanda). +The default value is 'number'. + +The values are rendered as follows: + +qanda + +questions are labeled "Q:" and +answers are labeled "A:". + + + +number + +The questions are enumerated and the answers +are not labeled. + + + +qnumber + +The questions are labeled "Q:" followed by a number, and answers are not +labeled. +When sections are numbered, adding a label +to the number distinguishes the question numbers +from the section numbers. +This value is not allowed in the +defaultlabel attribute +of a qandaset element. + + + +qnumberanda + +The questions are labeled "Q:" followed by a number, and +the answers are labeled "A:". +When sections are numbered, adding a label +to the number distinguishes the question numbers +from the section numbers. +This value is not allowed in the +defaultlabel attribute +of a qandaset element. + + + +none + +No distinguishing label precedes Questions or Answers. + + + + + + + + + + +qanda.inherit.numeration +boolean + + +qanda.inherit.numeration +Does enumeration of QandASet components inherit the numeration of parent elements? + + + + +<xsl:param name="qanda.inherit.numeration" select="1"></xsl:param> + + + +Description + +If non-zero, numbered qandadiv elements and +question and answer inherit the enumeration of +the ancestors of the qandaset. + + + + + + + +qanda.in.toc +boolean + + +qanda.in.toc +Should qandaentry questions appear in +the document table of contents? + + + +<xsl:param name="qanda.in.toc" select="0"></xsl:param> + + +Description + +If true (non-zero), then the generated table of contents +for a document will include qandaset titles, +qandadiv titles, +and question elements. The default value (zero) excludes +them from the TOC. + +This parameter does not affect any tables of contents +that may be generated inside a qandaset or qandadiv. + + + + + + + +qanda.nested.in.toc +boolean + + +qanda.nested.in.toc +Should nested answer/qandaentry instances appear in TOC? + + + + +<xsl:param name="qanda.nested.in.toc" select="0"></xsl:param> + + + +Description + +If non-zero, instances of qandaentry +that are children of answer elements are shown in +the TOC. + + + + + +Linking + + +target.database.document +uri + + +target.database.document +Name of master database file for resolving +olinks + + + + <xsl:param name="target.database.document">olinkdb.xml</xsl:param> + + +Description + + +To resolve olinks between documents, the stylesheets use a master +database document that identifies the target datafiles for all the +documents within the scope of the olinks. This parameter value is the +URI of the master document to be read during processing to resolve +olinks. The default value is olinkdb.xml. + +The data structure of the file is defined in the +targetdatabase.dtd DTD. The database file +provides the high level elements to record the identifiers, locations, +and relationships of documents. The cross reference data for +individual documents is generally pulled into the database using +system entity references or XIncludes. See also +targets.filename. + + + + +targets.filename +string + + +targets.filename +Name of cross reference targets data file + + +<xsl:param name="targets.filename">target.db</xsl:param> + + +Description + + +In order to resolve olinks efficiently, the stylesheets can +generate an external data file containing information about +all potential cross reference endpoints in a document. +This parameter lets you change the name of the generated +file from the default name target.db. +The name must agree with that used in the target database +used to resolve olinks during processing. +See also target.database.document. + + + + + + +olink.base.uri +uri + + +olink.base.uri +Base URI used in olink hrefs + + +<xsl:param name="olink.base.uri"></xsl:param> + + +Description + +When cross reference data is collected for resolving olinks, it +may be necessary to prepend a base URI to each target's href. This +parameter lets you set that base URI when cross reference data is +collected. This feature is needed when you want to link to a document +that is processed without chunking. The output filename for such a +document is not known to the XSL stylesheet; the only target +information consists of fragment identifiers such as +#idref. To enable the resolution of olinks between +documents, you should pass the name of the HTML output file as the +value of this parameter. Then the hrefs recorded in the cross +reference data collection look like +outfile.html#idref, which can be reached as links +from other documents. + + + + + +use.local.olink.style +boolean + + +use.local.olink.style +Process olinks using xref style of current +document + + +<xsl:param name="use.local.olink.style" select="0"></xsl:param> + +Description + +When cross reference data is collected for use by olinks, the data for each potential target includes one field containing a completely assembled cross reference string, as if it were an xref generated in that document. Other fields record the separate title, number, and element name of each target. When an olink is formed to a target from another document, the olink resolves to that preassembled string by default. If the use.local.olink.style parameter is set to non-zero, then instead the cross +reference string is formed again from the target title, number, and +element name, using the stylesheet processing the targeting document. +Then olinks will match the xref style in the targeting document +rather than in the target document. If both documents are processed +with the same stylesheet, then the results will be the same. + + + + + +current.docid +string + + +current.docid +targetdoc identifier for the document being +processed + + +<xsl:param name="current.docid"></xsl:param> + + +Description + +When olinks between documents are resolved for HTML output, the stylesheet can compute the relative path between the current document and the target document. The stylesheet needs to know the targetdoc identifiers for both documents, as they appear in the target.database.document database file. This parameter passes to the stylesheet +the targetdoc identifier of the current document, since that +identifier does not appear in the document itself. +This parameter can also be used for print output. If an olink's targetdoc id differs from the current.docid, then the stylesheet can append the target document's title to the generated olink text. That identifies to the reader that the link is to a different document, not the current document. See also olink.doctitle to enable that feature. + + + + + +olink.doctitle +list +no +yes +maybe + + +olink.doctitle +show the document title for external olinks? + + + +<xsl:param name="olink.doctitle">no</xsl:param> + + +Description + +When olinks between documents are resolved, the generated text +may not make it clear that the reference is to another document. +It is possible for the stylesheets to append the other document's +title to external olinks. For this to happen, two parameters must +be set. + + +This olink.doctitle parameter +should be set to either yes or maybe +to enable this feature. + + + +And you should also set the current.docid +parameter to the document id for the document currently +being processed for output. + + + + + +Then if an olink's targetdoc id differs from +the current.docid value, the stylesheet knows +that it is a reference to another document and can +append the target document's +title to the generated olink text. + +The text for the target document's title is copied from the +olink database from the ttl element +of the top-level div for that document. +If that ttl element is missing or empty, +no title is output. + + +The supported values for olink.doctitle are: + + + +yes + + +Always insert the title to the target document if it is not +the current document. + + + + +no + + +Never insert the title to the target document, even if requested +in an xrefstyle attribute. + + + + +maybe + + +Only insert the title to the target document, if requested +in an xrefstyle attribute. + + + + +An xrefstyle attribute +may override the global setting for individual olinks. +The following values are supported in an +xrefstyle +attribute using the select: syntax: + + + + +docname + + +Insert the target document name for this olink using the +docname gentext template, but only +if the value of olink.doctitle +is not no. + + + + +docnamelong + + +Insert the target document name for this olink using the +docnamelong gentext template, but only +if the value of olink.doctitle +is not no. + + + + +nodocname + + +Omit the target document name even if +the value of olink.doctitle +is yes. + + + + +Another way of inserting the target document name +for a single olink is to employ an +xrefstyle +attribute using the template: syntax. +The %o placeholder (the letter o, not zero) +in such a template +will be filled in with the target document's title when it is processed. +This will occur regardless of +the value of olink.doctitle. + +Note that prior to version 1.66 of the XSL stylesheets, +the allowed values for this parameter were 0 and 1. Those +values are still supported and mapped to 'no' and 'yes', respectively. + + + + + + +olink.debug +boolean + + +olink.debug +Turn on debugging messages for olinks + + + + +<xsl:param name="olink.debug" select="0"></xsl:param> + + + +Description + +If non-zero, then each olink will generate several +messages about how it is being resolved during processing. +This is useful when an olink does not resolve properly +and the standard error messages are not sufficient to +find the problem. + + +You may need to read through the olink XSL templates +to understand the context for some of the debug messages. + + + + + + + +olink.properties +attribute set + + +olink.properties +Properties associated with the cross-reference +text of an olink. + + + + +<xsl:attribute-set name="olink.properties"> + <xsl:attribute name="show-destination">replace</xsl:attribute> +</xsl:attribute-set> + + + +Description + +This attribute set is applied to the +fo:basic-link element of an olink. It is not applied to the +optional page number or optional title of the external +document. + + + + + + +olink.lang.fallback.sequence +string + + +olink.lang.fallback.sequence +look up translated documents if olink not found? + + + +<xsl:param name="olink.lang.fallback.sequence"></xsl:param> + + +Description + + +This parameter defines a list of lang values +to search among to resolve olinks. + + +Normally an olink tries to resolve to a document in the same +language as the olink itself. The language of an olink +is determined by its nearest ancestor element with a +lang attribute, otherwise the +value of the l10n.gentext.default.lang +parameter. + + +An olink database can contain target data for the same +document in multiple languages. Each set of data has the +same value for the targetdoc attribute in +the document element in the database, but with a +different lang attribute value. + + +When an olink is being resolved, the target is first +sought in the document with the same language as the olink. +If no match is found there, then this parameter is consulted +for additional languages to try. + +The olink.lang.fallback.sequence +must be a whitespace separated list of lang values to +try. The first one with a match in the olink database is used. +The default value is empty. + +For example, a document might be written in German +and contain an olink with +targetdoc="adminguide". +When the document is processed, the processor +first looks for a target dataset in the +olink database starting with: + +<document targetdoc="adminguide" lang="de">. + + +If there is no such element, then the +olink.lang.fallback.sequence +parameter is consulted. +If its value is, for example, fr en, then the processor next +looks for targetdoc="adminguide" lang="fr", and +then for targetdoc="adminguide" lang="en". +If there is still no match, it looks for +targetdoc="adminguide" with no +lang attribute. + + +This parameter is useful when a set of documents is only +partially translated, or is in the process of being translated. +If a target of an olink has not yet been translated, then this +parameter permits the processor to look for the document in +other languages. This assumes the reader would rather have +a link to a document in a different language than to have +a broken link. + + + + + + + +insert.olink.page.number +list +no +yes +maybe + + +insert.olink.page.number +Turns page numbers in olinks on and off + + + + +<xsl:param name="insert.olink.page.number">no</xsl:param> + + + +Description + +The value of this parameter determines if +cross references made between documents with +olink will +include page number citations. +In most cases this is only applicable to references in printed output. + +The parameter has three possible values. + + + +no +No page number references will be generated for olinks. + + + +yes +Page number references will be generated +for all olink references. +The style of page reference may be changed +if an xrefstyle +attribute is used. + + + +maybe +Page number references will not be generated +for an olink element unless +it has an +xrefstyle +attribute whose value specifies a page reference. + + + +Olinks that point to targets within the same document +are treated as xrefs, and controlled by +the insert.xref.page.number parameter. + + +Page number references for olinks to +external documents can only be inserted if the +information exists in the olink database. +This means each olink target element +(div or obj) +must have a page attribute +whose value is its page number in the target document. +The XSL stylesheets are not able to extract that information +during processing because pages have not yet been created in +XSLT transformation. Only the XSL-FO processor knows what +page each element is placed on. +Therefore some postprocessing must take place to populate +page numbers in the olink database. + + + + + + + + + +insert.olink.pdf.frag +boolean + + +insert.olink.pdf.frag +Add fragment identifiers for links into PDF files + + + + +<xsl:param name="insert.olink.pdf.frag" select="0"></xsl:param> + + + +Description + +The value of this parameter determines whether +the cross reference URIs to PDF documents made with +olink will +include fragment identifiers. + + +When forming a URI to link to a PDF document, +a fragment identifier (typically a '#' followed by an +id value) appended to the PDF filename can be used by +the PDF viewer to open +the PDF file to a location within the document instead of +the first page. +However, not all PDF files have id +values embedded in them, and not all PDF viewers can +handle fragment identifiers. + + +If insert.olink.pdf.frag is set +to a non-zero value, then any olink targeting a +PDF file will have the fragment identifier appended to the URI. +The URI is formed by concatenating the value of the +olink.base.uri parameter, the +value of the baseuri +attribute from the document +element in the olink database with the matching +targetdoc value, +and the value of the href +attribute for the targeted element in the olink database. +The href attribute +contains the fragment identifier. + + +If insert.olink.pdf.frag is set +to zero (the default value), then +the href attribute +from the olink database +is not appended to PDF olinks, so the fragment identifier is left off. +A PDF olink is any olink for which the +baseuri attribute +from the matching document +element in the olink database ends with '.pdf'. +Any other olinks will still have the fragment identifier added. + + + + + + +prefer.internal.olink +boolean + + +prefer.internal.olink +Prefer a local olink reference to an external reference + + + + +<xsl:param name="prefer.internal.olink" select="0"></xsl:param> + + + +Description + +If you are re-using XML content modules in multiple documents, +you may want to redirect some of your olinks. This parameter +permits you to redirect an olink to the current document. + + +For example: you are writing documentation for a product, +which includes 3 manuals: a little installation +booklet (booklet.xml), a user +guide (user.xml), and a reference manual (reference.xml). +All 3 documents begin with the same introduction section (intro.xml) that +contains a reference to the customization section (custom.xml) which is +included in both user.xml and reference.xml documents. + + +How do you write the link to custom.xml in intro.xml +so that it is interpreted correctly in all 3 documents? + +If you use xref, it will fail in user.xml. + +If you use olink (pointing to reference.xml), +the reference in user.xml +will point to the customization section of the reference manual, while it is +actually available in user.xml. + + + +If you set the prefer.internal.olink +parameter to a non-zero value, then the processor will +first look in the olink database +for the olink's targetptr attribute value +in document matching the current.docid +parameter value. If it isn't found there, then +it tries the document in the database +with the targetdoc +value that matches the olink's targetdoc +attribute. + + +This feature permits an olink reference to resolve to +the current document if there is an element +with an id matching the olink's targetptr +value. The current document's olink data must be +included in the target database for this to work. + + +There is a potential for incorrect links if +the same id attribute value is used for different +content in different documents. +Some of your olinks may be redirected to the current document +when they shouldn't be. It is not possible to control +individual olink instances. + + + + + + + +link.mailto.url +string + + +link.mailto.url +Mailto URL for the LINK REL=made HTML HEAD element + + + + +<xsl:param name="link.mailto.url"></xsl:param> + + + +Description + +If not the empty string, this address will be used for the +rel=made link element in the html head + + + + + + + +ulink.target +string + + +ulink.target +The HTML anchor target for ULinks + + + + +<xsl:param name="ulink.target">_top</xsl:param> + + + +Description + +If ulink.target is non-zero, its value will +be used for the target attribute +on anchors generated for ulinks. + + + + + + +olink.fragid +string + + +olink.fragid +Names the fragment identifier portion of an OLink resolver query + + + +<xsl:param name="olink.fragid">fragid=</xsl:param> + + +Description +The fragment identifier portion of an olink target. + + + + + +olink.outline.ext +string + + +olink.outline.ext +The extension of OLink outline files + + + + +<xsl:param name="olink.outline.ext">.olink</xsl:param> + + + +Description + +The extension to be expected for OLink outline files +Bob has this parameter as dead. Please don't use + + + + + + +olink.pubid +string + + +olink.pubid +Names the public identifier portion of an OLink resolver query + + + + +<xsl:param name="olink.pubid">pubid</xsl:param> + + + +Description + + + + + + + + +olink.sysid +string + + +olink.sysid +Names the system identifier portion of an OLink resolver query + + + + +<xsl:param name="olink.sysid">sysid</xsl:param> + + + +Description + +FIXME + + + + + + +olink.resolver +string + + +olink.resolver +The root name of the OLink resolver (usually a script) + + + + <xsl:param name="olink.resolver">/cgi-bin/olink</xsl:param> + + +Description +FIXME: + + + + +Cross References + + +collect.xref.targets +list +no +yes +only + + +collect.xref.targets +Controls whether cross reference data is +collected + + +<xsl:param name="collect.xref.targets">no</xsl:param> + + +Description + + +In order to resolve olinks efficiently, the stylesheets can +generate an external data file containing information about +all potential cross reference endpoints in a document. +This parameter determines whether the collection process is run when the document is processed by the stylesheet. The default value is no, which means the data file is not generated during processing. The other choices are yes, which means the data file is created and the document is processed for output, and only, which means the data file is created but the document is not processed for output. +See also targets.filename. + + + + + + +insert.xref.page.number +list +no +yes +maybe + + +insert.xref.page.number +Turns page numbers in xrefs on and off + + + + +<xsl:param name="insert.xref.page.number">no</xsl:param> + + + +Description + +The value of this parameter determines if +cross references (xrefs) in +printed output will +include page number citations. +It has three possible values. + + + +no +No page number references will be generated. + + + +yes +Page number references will be generated +for all xref elements. +The style of page reference may be changed +if an xrefstyle +attribute is used. + + + +maybe +Page number references will not be generated +for an xref element unless +it has an +xrefstyle +attribute whose value specifies a page reference. + + + + + + + + + +use.role.as.xrefstyle +boolean + + +use.role.as.xrefstyle +Use role attribute for +xrefstyle on xref? + + + + +<xsl:param name="use.role.as.xrefstyle" select="1"></xsl:param> + + + +Description + +In DocBook documents that conform to a schema older than V4.3, this parameter allows +role to serve the purpose of specifying the cross reference style. + +If non-zero, the role attribute on +xref will be used to select the cross reference style. +In DocBook V4.3, the xrefstyle attribute was added for this purpose. +If the xrefstyle attribute is present, +role will be ignored, regardless of the setting +of this parameter. + + + +Example + +The following small stylesheet shows how to configure the +stylesheets to make use of the cross reference style: + +<?xml version="1.0"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version="1.0"> + +<xsl:import href="../xsl/html/docbook.xsl"/> + +<xsl:output method="html"/> + +<xsl:param name="local.l10n.xml" select="document('')"/> +<l:i18n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0"> + <l:l10n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" language="en"> + <l:context name="xref"> + <l:template name="chapter" style="title" text="Chapter %n, %t"/> + <l:template name="chapter" text="Chapter %n"/> + </l:context> + </l:l10n> +</l:i18n> + +</xsl:stylesheet> + +With this stylesheet, the cross references in the following document: + +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> +<book id="book"><title>Book</title> + +<preface> +<title>Preface</title> + +<para>Normal: <xref linkend="ch1"/>.</para> +<para>Title: <xref xrefstyle="title" linkend="ch1"/>.</para> + +</preface> + +<chapter id="ch1"> +<title>First Chapter</title> + +<para>Irrelevant.</para> + +</chapter> +</book> + +will appear as: + + +Normal: Chapter 1. +Title: Chapter 1, First Chapter. + + + + + + + +xref.with.number.and.title +boolean + + +xref.with.number.and.title +Use number and title in cross references + + + + +<xsl:param name="xref.with.number.and.title" select="1"></xsl:param> + + + +Description + +A cross reference may include the number (for example, the number of +an example or figure) and the title which is a required child of some +targets. This parameter inserts both the relevant number as well as +the title into the link. + + + + + + +xref.label-page.separator +string + + +xref.label-page.separator +Punctuation or space separating label from page number in xref + + + +<xsl:param name="xref.label-page.separator"><xsl:text> </xsl:text></xsl:param> + + +Description + + +This parameter allows you to control the punctuation of certain +types of generated cross reference text. +When cross reference text is generated for an +xref or +olink element +using an xrefstyle attribute +that makes use of the select: feature, +and the selected components include both label and page +but no title, +then the value of this parameter is inserted between +label and page number in the output. +If a title is included, then other separators are used. + + + + + + + +xref.label-title.separator +string + + +xref.label-title.separator +Punctuation or space separating label from title in xref + + + +<xsl:param name="xref.label-title.separator">: </xsl:param> + + +Description + + +This parameter allows you to control the punctuation of certain +types of generated cross reference text. +When cross reference text is generated for an +xref or +olink element +using an xrefstyle attribute +that makes use of the select: feature, +and the selected components include both label and title, +then the value of this parameter is inserted between +label and title in the output. + + + + + + + +xref.title-page.separator +string + + +xref.title-page.separator +Punctuation or space separating title from page number in xref + + + +<xsl:param name="xref.title-page.separator"><xsl:text> </xsl:text></xsl:param> + + +Description + + +This parameter allows you to control the punctuation of certain +types of generated cross reference text. +When cross reference text is generated for an +xref or +olink element +using an xrefstyle attribute +that makes use of the select: feature, +and the selected components include both title and page number, +then the value of this parameter is inserted between +title and page number in the output. + + + + + + +Lists + + +segmentedlist.as.table +boolean + + +segmentedlist.as.table +Format segmented lists as tables? + + + + +<xsl:param name="segmentedlist.as.table" select="0"></xsl:param> + + + +Description + +If non-zero, segmentedlists will be formatted as +tables. + + + + + + +variablelist.as.table +boolean + + +variablelist.as.table +Format variablelists as tables? + + + + +<xsl:param name="variablelist.as.table" select="0"></xsl:param> + + + +Description + +If non-zero, variablelists will be formatted as +tables. A processing instruction exists to specify a particular width for the +column containing the terms: +dbhtml term-width=".25in" + +You can override this setting with a processing instruction as the +child of variablelist: dbhtml +list-presentation="table" or dbhtml +list-presentation="list". + +This parameter only applies to the HTML transformations. In the +FO case, proper list markup is robust enough to handle the formatting. +But see also variablelist.as.blocks. + + <variablelist> + <?dbhtml list-presentation="table"?> + <?dbhtml term-width="1.5in"?> + <?dbfo list-presentation="list"?> + <?dbfo term-width="1in"?> + <varlistentry> + <term>list</term> + <listitem> + <para> + Formatted as a table even if variablelist.as.table is set to 0. + </para> + </listitem> + </varlistentry> + </variablelist> + + + + + + +variablelist.term.separator +string + + +variablelist.term.separator +Text to separate terms within a multi-term +varlistentry + + + + +<xsl:param name="variablelist.term.separator">, </xsl:param> + + +Description + +When a varlistentry contains multiple term +elements, the string specified in the value of the +variablelist.term.separator parameter is placed +after each term except the last. + + + To generate a line break between multiple terms in + a varlistentry, set a non-zero value for the + variablelist.term.break.after parameter. If + you do so, you may also want to set the value of the + variablelist.term.separator parameter to an + empty string (to suppress rendering of the default comma and space + after each term). + + + + + + + +variablelist.term.break.after +boolean + + +variablelist.term.break.after +Generate line break after each term within a +multi-term varlistentry? + + + + +<xsl:param name="variablelist.term.break.after">0</xsl:param> + + +Description + +Set a non-zero value for the +variablelist.term.break.after parameter to +generate a line break between terms in a +multi-term varlistentry. + + +If you set a non-zero value for +variablelist.term.break.after, you may also +want to set the value of the +variablelist.term.separator parameter to an +empty string (to suppress rendering of the default comma and space +after each term). + + + + + + +Bibliography + + +bibliography.style +list +normal +iso690 + + +bibliography.style +Style used for formatting of biblioentries. + + + + +<xsl:param name="bibliography.style">normal</xsl:param> + + + +Description + +Currently only normal and +iso690 styles are supported. + +In order to use ISO690 style to the full extent you might need +to use additional markup described on the +following WiKi page. + + + + + + +biblioentry.item.separator +string + + +biblioentry.item.separator +Text to separate bibliography entries + + + +<xsl:param name="biblioentry.item.separator">. </xsl:param> + + +Description + +Text to separate bibliography entries + + + + + + + +bibliography.collection +string + + +bibliography.collection +Name of the bibliography collection file + + + + +<xsl:param name="bibliography.collection">http://docbook.sourceforge.net/release/bibliography/bibliography.xml</xsl:param> + + + + +Description + +Maintaining bibliography entries across a set of documents is tedious, time +consuming, and error prone. It makes much more sense, usually, to store all of +the bibliography entries in a single place and simply extract +the ones you need in each document. + +That's the purpose of the +bibliography.collection parameter. To setup a global +bibliography database, follow these steps: + +First, create a stand-alone bibliography document that contains all of +the documents that you wish to reference. Make sure that each bibliography +entry (whether you use biblioentry or bibliomixed) +has an ID. + +My global bibliography, ~/bibliography.xml begins +like this: + + +<!DOCTYPE bibliography + PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" + "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"> +<bibliography><title>References</title> + +<bibliomixed id="xml-rec"><abbrev>XML 1.0</abbrev>Tim Bray, +Jean Paoli, C. M. Sperberg-McQueen, and Eve Maler, editors. +<citetitle><ulink url="http://www.w3.org/TR/REC-xml">Extensible Markup +Language (XML) 1.0 Second Edition</ulink></citetitle>. +World Wide Web Consortium, 2000. +</bibliomixed> + +<bibliomixed id="xml-names"><abbrev>Namespaces</abbrev>Tim Bray, +Dave Hollander, +and Andrew Layman, editors. +<citetitle><ulink url="http://www.w3.org/TR/REC-xml-names/">Namespaces in +XML</ulink></citetitle>. +World Wide Web Consortium, 1999. +</bibliomixed> + +<!-- ... --> +</bibliography> + + + +When you create a bibliography in your document, simply +provide empty bibliomixed +entries for each document that you wish to cite. Make sure that these +elements have the same ID as the corresponding real +entry in your global bibliography. + +For example: + + +<bibliography><title>Bibliography</title> + +<bibliomixed id="xml-rec"/> +<bibliomixed id="xml-names"/> +<bibliomixed id="DKnuth86">Donald E. Knuth. <citetitle>Computers and +Typesetting: Volume B, TeX: The Program</citetitle>. Addison-Wesley, +1986. ISBN 0-201-13437-3. +</bibliomixed> +<bibliomixed id="relaxng"/> + +</bibliography> + + +Note that it's perfectly acceptable to mix entries from your +global bibliography with normal entries. You can use +xref or other elements to cross-reference your +bibliography entries in exactly the same way you do now. + +Finally, when you are ready to format your document, simply set the +bibliography.collection parameter (in either a +customization layer or directly through your processor's interface) to +point to your global bibliography. + +The stylesheets will format the bibliography in your document as if +all of the entries referenced appeared there literally. + + + + + + +bibliography.numbered +boolean + + +bibliography.numbered +Should bibliography entries be numbered? + + + + +<xsl:param name="bibliography.numbered" select="0"></xsl:param> + + + +Description + +If non-zero bibliography entries will be numbered + + + + + +Glossary + + +glossterm.auto.link +boolean + + +glossterm.auto.link +Generate links from glossterm to glossentry automatically? + + + + +<xsl:param name="glossterm.auto.link" select="0"></xsl:param> + + + +Description + +If non-zero, links from inline glossterms to the corresponding +glossentry elements in a glossary or glosslist +will be automatically generated. This is useful when your glossterms are consistent +and you don't want to add links manually. + +The automatic link generation feature is not used on glossterm elements +that have a linkend attribute. + + + + + + +firstterm.only.link +boolean + + +firstterm.only.link +Does automatic glossterm linking only apply to firstterms? + + + + +<xsl:param name="firstterm.only.link" select="0"></xsl:param> + + + +Description + +If non-zero, only firstterms will be automatically linked +to the glossary. If glossary linking is not enabled, this parameter +has no effect. + + + + + + +glossary.collection +string + + +glossary.collection +Name of the glossary collection file + + + + +<xsl:param name="glossary.collection"></xsl:param> + + + +Description + +Glossaries maintained independently across a set of documents +are likely to become inconsistent unless considerable effort is +expended to keep them in sync. It makes much more sense, usually, to +store all of the glossary entries in a single place and simply +extract the ones you need in each document. + +That's the purpose of the +glossary.collection parameter. To setup a global +glossary database, follow these steps: + +Setting Up the Glossary Database + +First, create a stand-alone glossary document that contains all of +the entries that you wish to reference. Make sure that each glossary +entry has an ID. + +Here's an example glossary: + + + +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE glossary + PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" + "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"> +<glossary> +<glossaryinfo> +<editor><firstname>Eric</firstname><surname>Raymond</surname></editor> +<title>Jargon File 4.2.3 (abridged)</title> +<releaseinfo>Just some test data</releaseinfo> +</glossaryinfo> + +<glossdiv><title>0</title> + +<glossentry> +<glossterm>0</glossterm> +<glossdef> +<para>Numeric zero, as opposed to the letter `O' (the 15th letter of +the English alphabet). In their unmodified forms they look a lot +alike, and various kluges invented to make them visually distinct have +compounded the confusion. If your zero is center-dotted and letter-O +is not, or if letter-O looks almost rectangular but zero looks more +like an American football stood on end (or the reverse), you're +probably looking at a modern character display (though the dotted zero +seems to have originated as an option on IBM 3270 controllers). If +your zero is slashed but letter-O is not, you're probably looking at +an old-style ASCII graphic set descended from the default typewheel on +the venerable ASR-33 Teletype (Scandinavians, for whom /O is a letter, +curse this arrangement). (Interestingly, the slashed zero long +predates computers; Florian Cajori's monumental "A History of +Mathematical Notations" notes that it was used in the twelfth and +thirteenth centuries.) If letter-O has a slash across it and the zero +does not, your display is tuned for a very old convention used at IBM +and a few other early mainframe makers (Scandinavians curse <emphasis>this</emphasis> +arrangement even more, because it means two of their letters collide). +Some Burroughs/Unisys equipment displays a zero with a <emphasis>reversed</emphasis> +slash. Old CDC computers rendered letter O as an unbroken oval and 0 +as an oval broken at upper right and lower left. And yet another +convention common on early line printers left zero unornamented but +added a tail or hook to the letter-O so that it resembled an inverted +Q or cursive capital letter-O (this was endorsed by a draft ANSI +standard for how to draw ASCII characters, but the final standard +changed the distinguisher to a tick-mark in the upper-left corner). +Are we sufficiently confused yet?</para> +</glossdef> +</glossentry> + +<glossentry> +<glossterm>1TBS</glossterm> +<glossdef> +<para role="accidence"> +<phrase role="pronounce"></phrase> +<phrase role="partsofspeach">n</phrase> +</para> +<para>The "One True Brace Style"</para> +<glossseealso>indent style</glossseealso> +</glossdef> +</glossentry> + +<!-- ... --> + +</glossdiv> + +<!-- ... --> + +</glossary> + + + + +Marking Up Glossary Terms + +That takes care of the glossary database, now you have to get the entries +into your document. Unlike bibliography entries, which can be empty, creating +placeholder glossary entries would be very tedious. So instead, +support for glossary.collection relies on implicit linking. + +In your source document, simply use firstterm and +glossterm to identify the terms you wish to have included +in the glossary. The stylesheets assume that you will either set the +baseform attribute correctly, or that the +content of the element exactly matches a term in your glossary. + +If you're using a glossary.collection, don't +make explicit links on the terms in your document. + +So, in your document, you might write things like this: + + +<para>This is dummy text, without any real meaning. +The point is simply to reference glossary terms like <glossterm>0</glossterm> +and the <firstterm baseform="1TBS">One True Brace Style (1TBS)</firstterm>. +The <glossterm>1TBS</glossterm>, as you can probably imagine, is a nearly +religious issue.</para> + + +If you set the firstterm.only.link parameter, +only the terms marked with firstterm will be links. +Otherwise, all the terms will be linked. + + + +Marking Up the Glossary + +The glossary itself has to be identified for the stylesheets. For lack +of a better choice, the role is used. +To identify the glossary as the target for automatic processing, set +the role to auto. The title of this +glossary (and any other information from the glossaryinfo +that's rendered by your stylesheet) will be displayed, but the entries will +come from the database. + + +Unfortunately, the glossary can't be empty, so you must put in +at least one glossentry. The content of this entry +is irrelevant, it will not be rendered: + + +<glossary role="auto"> +<glossentry> +<glossterm>Irrelevant</glossterm> +<glossdef> +<para>If you can see this, the document was processed incorrectly. Use +the <parameter>glossary.collection</parameter> parameter.</para> +</glossdef> +</glossentry> +</glossary> + + +What about glossary divisions? If your glossary database has glossary +divisions and your automatic glossary contains at least +one glossdiv, the automic glossary will have divisions. +If the glossdiv is missing from either location, no divisions +will be rendered. + +Glossary entries (and divisions, if appropriate) in the glossary will +occur in precisely the order they occur in your database. + + + +Formatting the Document + +Finally, when you are ready to format your document, simply set the +glossary.collection parameter (in either a +customization layer or directly through your processor's interface) to +point to your global glossary. + +The stylesheets will format the glossary in your document as if +all of the entries implicilty referenced appeared there literally. + + +Limitations + +Glossary cross-references within the glossary are +not supported. For example, this will not work: + + +<glossentry> +<glossterm>gloss-1</glossterm> +<glossdef><para>A description that references <glossterm>gloss-2</glossterm>.</para> +<glossseealso>gloss-2</glossseealso> +</glossdef> +</glossentry> + + +If you put glossary cross-references in your glossary that way, +you'll get the cryptic error: Warning: +glossary.collection specified, but there are 0 automatic +glossaries. + +Instead, you must do two things: + + + +Markup your glossary using glossseealso: + + +<glossentry> +<glossterm>gloss-1</glossterm> +<glossdef><para>A description that references <glossterm>gloss-2</glossterm>.</para> +<glossseealso>gloss-2</glossseealso> +</glossdef> +</glossentry> + + + + +Make sure there is at least one glossterm reference to +gloss-2 in your document. The +easiest way to do that is probably within a remark in your +automatic glossary: + + +<glossary role="auto"> +<remark>Make sure there's a reference to <glossterm>gloss-2</glossterm>.</remark> +<glossentry> +<glossterm>Irrelevant</glossterm> +<glossdef> +<para>If you can see this, the document was processed incorrectly. Use +the <parameter>glossary.collection</parameter> parameter.</para> +</glossdef> +</glossentry> +</glossary> + + + + + + + + + + +glossary.sort +boolean + + +glossary.sort +Sort glossentry elements? + + + + +<xsl:param name="glossary.sort" select="0"></xsl:param> + + + +Description + +If non-zero, then the glossentry elements within a +glossary, glossdiv, or glosslist are sorted on the glossterm, using +the current lang setting. If zero (the default), then +glossentry elements are not sorted and are presented +in document order. + + + + + + + +glossentry.show.acronym +list +no +yes +primary + + +glossentry.show.acronym +Display glossentry acronyms? + + + + +<xsl:param name="glossentry.show.acronym">no</xsl:param> + + + +Description + +A setting of yes means they should be displayed; +no means they shouldn't. If primary is used, +then they are shown as the primary text for the entry. + + +This setting controls both acronym and +abbrev elements in the glossentry. + + + + + + +Miscellaneous + + +formal.procedures +boolean + + +formal.procedures +Selects formal or informal procedures + + + + +<xsl:param name="formal.procedures" select="1"></xsl:param> + + + +Description + +Formal procedures are numbered and always have a title. + + + + + + + +formal.title.placement +table + + +formal.title.placement +Specifies where formal object titles should occur + + + + +<xsl:param name="formal.title.placement"> +figure before +example before +equation before +table before +procedure before +task before +</xsl:param> + + + +Description + +Specifies where formal object titles should occur. For each formal object +type (figure, +example, +equation, +table, and procedure) +you can specify either the keyword +before or +after. + + + + + + +runinhead.default.title.end.punct +string + + +runinhead.default.title.end.punct +Default punctuation character on a run-in-head + + + +<xsl:param name="runinhead.default.title.end.punct">.</xsl:param> + + + +Description + +If non-zero, For a formalpara, use the specified +string as the separator between the title and following text. The period is the default value. + + + + + + +runinhead.title.end.punct +string + + +runinhead.title.end.punct +Characters that count as punctuation on a run-in-head + + + + +<xsl:param name="runinhead.title.end.punct">.!?:</xsl:param> + + + +Description + +Specify which characters are to be counted as punctuation. These +characters are checked for a match with the last character of the +title. If no match is found, the +runinhead.default.title.end.punct contents are +inserted. This is to avoid duplicated punctuation in the output. + + + + + + + +show.comments +boolean + + +show.comments +Display remark elements? + + + + +<xsl:param name="show.comments" select="1"></xsl:param> + + + +Description + +If non-zero, comments will be displayed, otherwise they +are suppressed. Comments here refers to the remark element +(which was called comment prior to DocBook +4.0), not XML comments (<-- like this -->) which are +unavailable. + + + + + + + +show.revisionflag +boolean + + +show.revisionflag +Enable decoration of elements that have a revisionflag + + + + +<xsl:param name="show.revisionflag" select="0"></xsl:param> + + + +Description + + +If show.revisionflag is turned on, then the stylesheets +may produce additional markup designed to allow a CSS stylesheet to +highlight elements that have specific revisionflag settings. + +The markup inserted will be usually be either a <span> or +<div> with an appropriate class +attribute. (The value of the class attribute will be the same as the +value of the revisionflag attribute). In some contexts, for example +tables, where extra markup would be structurally illegal, the class +attribute will be added to the appropriate container element. + +In general, the stylesheets only test for revisionflag in contexts +where an importing stylesheet would have to redefine whole templates. +Most of the revisionflag processing is expected to be done by another +stylesheet, for example changebars.xsl. + + + + + + +shade.verbatim +boolean + + +shade.verbatim +Should verbatim environments be shaded? + + + +<xsl:param name="shade.verbatim" select="0"></xsl:param> + + +Description + +In the FO stylesheet, if this parameter is non-zero then the +shade.verbatim.style properties will be applied +to verbatim environments. + +In the HTML stylesheet, this parameter is now deprecated. Use +CSS instead. + + + + + + +shade.verbatim.style +attribute set + + +shade.verbatim.style +Properties that specify the style of shaded verbatim listings + + + + +<xsl:attribute-set name="shade.verbatim.style"> + <xsl:attribute name="border">0</xsl:attribute> + <xsl:attribute name="bgcolor">#E0E0E0</xsl:attribute> +</xsl:attribute-set> + + + + +Description + +Properties that specify the style of shaded verbatim listings. The +parameters specified (the border and background color) are added to +the styling of the xsl-fo output. A border might be specified as "thin +black solid" for example. See xsl-fo + + + + + + +punct.honorific +string + + +punct.honorific +Punctuation after an honorific in a personal name. + + + + +<xsl:param name="punct.honorific">.</xsl:param> + + + +Description + +This parameter specifies the punctuation that should be added after an +honorific in a personal name. + + + + + + +tex.math.in.alt +list +plain +latex + + +tex.math.in.alt +TeX notation used for equations + + + + +<xsl:param name="tex.math.in.alt"></xsl:param> + + + +Description + +If you want type math directly in TeX notation in equations, +this parameter specifies notation used. Currently are supported two +values -- plain and latex. Empty +value means that you are not using TeX math at all. + +Preferred way for including TeX alternative of math is inside of +textobject element. Eg.: + +<inlineequation> +<inlinemediaobject> +<imageobject> +<imagedata fileref="eq1.gif"/> +</imageobject> +<textobject><phrase>E=mc squared</phrase></textobject> +<textobject role="tex"><phrase>E=mc^2</phrase></textobject> +</inlinemediaobject> +</inlineequation> + +If you are using graphic element, you can +store TeX inside alt element: + +<inlineequation> +<alt role="tex">a^2+b^2=c^2</alt> +<graphic fileref="a2b2c2.gif"/> +</inlineequation> + +If you want use this feature, you should process your FO with +PassiveTeX, which only supports TeX math notation. When calling +stylsheet, don't forget to specify also +passivetex.extensions=1. + +If you want equations in HTML, just process generated file +tex-math-equations.tex by TeX or LaTeX. Then run +dvi2bitmap program on result DVI file. You will get images for +equations in your document. + + + This feature is useful for print/PDF output only if you + use the obsolete and now unsupported PassiveTeX XSL-FO + engine. + + + + +Related Parameters + tex.math.delims, + passivetex.extensions, + tex.math.file + + + + + + +tex.math.file +string + + +tex.math.file +Name of temporary file for generating images from equations + + + + +<xsl:param name="tex.math.file">tex-math-equations.tex</xsl:param> + + + +Description + +Name of auxiliary file for TeX equations. This file can be +processed by dvi2bitmap to get bitmap versions of equations for HTML +output. + + +Related Parameters + tex.math.in.alt, + tex.math.delims, + + +More information + For how-to documentation on embedding TeX equations and + generating output from them, see + DBTeXMath. + + + + + +tex.math.delims +boolean + + +tex.math.delims +Should equations output for processing by TeX be +surrounded by math mode delimiters? + + + + +<xsl:param name="tex.math.delims" select="1"></xsl:param> + + + +Description + +For compatibility with DSSSL based DBTeXMath from Allin Cottrell +you should set this parameter to 0. + + + This feature is useful for print/PDF output only if you + use the obsolete and now unsupported PassiveTeX XSL-FO + engine. + + + +Related Parameters + tex.math.in.alt, + passivetex.extensions + + +See Also + You can also use the dbtex delims processing + instruction to control whether delimiters are output. + + + + + + + +pixels.per.inch +integer + + +pixels.per.inch +How many pixels are there per inch? + + + + +<xsl:param name="pixels.per.inch">90</xsl:param> + + + +Description + +When lengths are converted to pixels, this value is used to +determine the size of a pixel. The default value is taken from the +XSL +Recommendation. + + + + + + + +points.per.em +number + + +points.per.em +Specify the nominal size of an em-space in points + + + + +<xsl:param name="points.per.em">10</xsl:param> + + + +Description + +The fixed value used for calculations based upon the size of a +character. The assumption made is that ten point font is in use. This +assumption may not be valid. + + + + + + +use.svg +boolean + + +use.svg +Allow SVG in the result tree? + + + + +<xsl:param name="use.svg" select="1"></xsl:param> + + + +Description + +If non-zero, SVG will be considered an acceptable image format. SVG +is passed through to the result tree, so correct rendering of the resulting +diagram depends on the formatter (FO processor or web browser) that is used +to process the output from the stylesheet. + + + + + + +menuchoice.separator +string + + +menuchoice.separator +Separator between items of a menuchoice +other than guimenuitem and +guisubmenu + + + + +<xsl:param name="menuchoice.separator">+</xsl:param> + + + +Description + +Separator used to connect items of a menuchoice other +than guimenuitem and guisubmenu. The latter +elements are linked with menuchoice.menu.separator. + + + + + + + +menuchoice.menu.separator +string + + +menuchoice.menu.separator +Separator between items of a menuchoice +with guimenuitem or +guisubmenu + + + + +<xsl:param name="menuchoice.menu.separator"> → </xsl:param> + + + +Description + +Separator used to connect items of a menuchoice with +guimenuitem or guisubmenu. Other elements +are linked with menuchoice.separator. + +The default value is &#x2192;, which is the +&rarr; (right arrow) character entity. +The current FOP (0.20.5) requires setting the font-family +explicitly. + +The default value also includes spaces around the arrow, +which will allow a line to break. Replace the spaces with +&#xA0; (nonbreaking space) if you don't want those +spaces to break. + + + + + + + +default.float.class +string + + +default.float.class +Specifies the default float class + + + + +<xsl:param name="default.float.class"> + <xsl:choose> + <xsl:when test="contains($stylesheet.result.type,'html')">left</xsl:when> + <xsl:otherwise>before</xsl:otherwise> + </xsl:choose> +</xsl:param> + + + +Description + +Selects the direction in which a float should be placed. for +xsl-fo this is before, for html it is left. For Western texts, the +before direction is the top of the page. + + + + + + +footnote.number.format +list +11,2,3... +AA,B,C... +aa,b,c... +ii,ii,iii... +II,II,III... + + +footnote.number.format +Identifies the format used for footnote numbers + + + + +<xsl:param name="footnote.number.format">1</xsl:param> + + + +Description + +The footnote.number.format specifies the format +to use for footnote numeration (1, i, I, a, or A). + + + + + + +table.footnote.number.format +list +11,2,3... +AA,B,C... +aa,b,c... +ii,ii,iii... +II,II,III... + + +table.footnote.number.format +Identifies the format used for footnote numbers in tables + + + + +<xsl:param name="table.footnote.number.format">a</xsl:param> + + + +Description + +The table.footnote.number.format specifies the format +to use for footnote numeration (1, i, I, a, or A) in tables. + + + + + + +footnote.number.symbols + + + +footnote.number.symbols +Special characters to use as footnote markers + + + + +<xsl:param name="footnote.number.symbols"></xsl:param> + + + +Description + +If footnote.number.symbols is not the empty string, +footnotes will use the characters it contains as footnote symbols. For example, +*&#x2020;&#x2021;&#x25CA;&#x2720; will identify +footnotes with *, , , +, and . If there are more footnotes +than symbols, the stylesheets will fall back to numbered footnotes using +footnote.number.format. + +The use of symbols for footnotes depends on the ability of your +processor (or browser) to render the symbols you select. Not all systems are +capable of displaying the full range of Unicode characters. If the quoted characters +in the preceding paragraph are not displayed properly, that's a good indicator +that you may have trouble using those symbols for footnotes. + + + + + + +table.footnote.number.symbols +string + + +table.footnote.number.symbols +Special characters to use a footnote markers in tables + + + + +<xsl:param name="table.footnote.number.symbols"></xsl:param> + + + +Description + +If table.footnote.number.symbols is not the empty string, +table footnotes will use the characters it contains as footnote symbols. For example, +*&#x2020;&#x2021;&#x25CA;&#x2720; will identify +footnotes with *, , , +, and . If there are more footnotes +than symbols, the stylesheets will fall back to numbered footnotes using +table.footnote.number.format. + +The use of symbols for footnotes depends on the ability of your +processor (or browser) to render the symbols you select. Not all systems are +capable of displaying the full range of Unicode characters. If the quoted characters +in the preceding paragraph are not displayed properly, that's a good indicator +that you may have trouble using those symbols for footnotes. + + + + + + +highlight.source +boolean + + +highlight.source +Should the content of programlisting +be syntactically highlighted? + + + + +<xsl:param name="highlight.source" select="0"></xsl:param> + + + +Description + +When this parameter is non-zero, the stylesheets will try to do syntax highlighting of the +content of programlisting elements. You specify the language for each programlisting +by using the language attribute. The highlight.default.language +parameter can be used to specify the language for programlistings without a language +attribute. Syntax highlighting also works for screen and synopsis elements. + +The actual highlighting work is done by the XSLTHL extension module. This is an external Java library that has to be +downloaded separately (see below). + + +In order to use this extension, you must + +add xslthl-2.x.x.jar to your Java classpath. The latest version is available +from the XSLT syntax highlighting project +at SourceForge. + + +use a customization layer in which you import one of the following stylesheet modules: + + + html/highlight.xsl + + + + xhtml/highlight.xsl + + + + xhtml-1_1/highlight.xsl + + + + fo/highlight.xsl + + + + + +let either the xslthl.config Java system property or the +highlight.xslthl.config parameter point to the configuration file for syntax +highlighting (using URL syntax). DocBook XSL comes with a ready-to-use configuration file, +highlighting/xslthl-config.xml. + + + +The extension works with Saxon 6.5.x and Xalan-J. (Saxon 8.5 or later is also supported, but since it is +an XSLT 2.0 processor it is not guaranteed to work with DocBook XSL in all circumstances.) + +The following is an example of a Saxon 6 command adapted for syntax highlighting, to be used on Windows: + + +java -cp c:/Java/saxon.jar;c:/Java/xslthl-2.0.1.jar +-Dxslthl.config=file:///c:/docbook-xsl/highlighting/xslthl-config.xml com.icl.saxon.StyleSheet +-o test.html test.xml myhtml.xsl + + + + + + + +highlight.xslthl.config +uri + + +highlight.xslthl.config +Location of XSLTHL configuration file + + + + +<xsl:param name="highlight.xslthl.config"></xsl:param> + + + +Description + +This location has precedence over the corresponding Java property. + +Please note that usually you have to specify location as URL not +just as a simple path on the local +filesystem. E.g. file:///home/user/xslthl/my-xslthl-config.xml. + + + + + + + + +highlight.default.language +string + + +highlight.default.language +Default language of programlisting + + + + +<xsl:param name="highlight.default.language"></xsl:param> + + + +Description + +This language is used when there is no language attribute on programlisting. + + + + + + +email.delimiters.enabled +boolean + + +email.delimiters.enabled +Generate delimiters around email addresses? + + + + +<xsl:param name="email.delimiters.enabled" select="1"></xsl:param> + + + +Description + +If non-zero, delimiters + +For delimiters, the +stylesheets are currently hard-coded to output angle +brackets. + +are generated around e-mail addresses +(the output of the email element). + + + + + + +exsl.node.set.available +boolean + + +exsl.node.set.available +Is the test function-available('exsl:node-set') true? + + + +<xsl:param name="exsl.node.set.available"> + <xsl:choose> + <xsl:when exsl:foo="" test="function-available('exsl:node-set') or contains(system-property('xsl:vendor'), 'Apache Software Foundation')">1</xsl:when> + <xsl:otherwise>0</xsl:otherwise> + </xsl:choose> +</xsl:param> + + + +Description + +If non-zero, +then the exsl:node-set() function is available to be used in +the stylesheet. +If zero, then the function is not available. +This param automatically detects the presence of +the function and does not normally need to be set manually. + +This param was created to handle a long-standing +bug in the Xalan processor that fails to detect the +function even though it is available. + + + + + +Annotations + + +annotation.support +boolean + + +annotation.support +Enable annotations? + + + + +<xsl:param name="annotation.support" select="0"></xsl:param> + + + +Description + +If non-zero, the stylesheets will attempt to support annotation +elements in HTML by including some JavaScript (see +annotation.js). + + + + + + +annotation.js +string + + +annotation.js +URIs identifying JavaScript files with support for annotation popups + + + + + +<xsl:param name="annotation.js"> +<xsl:text>http://docbook.sourceforge.net/release/script/AnchorPosition.js http://docbook.sourceforge.net/release/script/PopupWindow.js</xsl:text></xsl:param> + + + + +Description + +If annotation.support is enabled and the +document contains annotations, then the URIs listed +in this parameter will be included. These JavaScript files are required +for popup annotation support. + + + + + + +annotation.css +string + + +annotation.css +CSS rules for annotations + + + + +<xsl:param name="annotation.css"> +/* ====================================================================== + Annotations +*/ + +div.annotation-list { visibility: hidden; + } + +div.annotation-nocss { position: absolute; + visibility: hidden; + } + +div.annotation-popup { position: absolute; + z-index: 4; + visibility: hidden; + padding: 0px; + margin: 2px; + border-style: solid; + border-width: 1px; + width: 200px; + background-color: white; + } + +div.annotation-title { padding: 1px; + font-weight: bold; + border-bottom-style: solid; + border-bottom-width: 1px; + color: white; + background-color: black; + } + +div.annotation-body { padding: 2px; + } + +div.annotation-body p { margin-top: 0px; + padding-top: 0px; + } + +div.annotation-close { position: absolute; + top: 2px; + right: 2px; + } +</xsl:param> + + + +Description + +If annotation.support is enabled and the +document contains annotations, then the CSS in this +parameter will be included in the document. + + + + + + +annotation.graphic.open +uri + + +annotation.graphic.open +Image for identifying a link that opens an annotation popup + + + + +<xsl:param name="annotation.graphic.open">http://docbook.sourceforge.net/release/images/annot-open.png</xsl:param> + + + +Description + +This image is used inline to identify the location of +annotations. It may be replaced by a user provided graphic. The size should be approximately 10x10 pixels. + + + + + + +annotation.graphic.close +uri + + +annotation.graphic.close +Image for identifying a link that closes an annotation popup + + + + +<xsl:param name="annotation.graphic.close"> +http://docbook.sourceforge.net/release/images/annot-close.png</xsl:param> + + + +Description + +This image is used on popup annotations as the “x” that the +user can click to dismiss the popup. +This image is used on popup annotations as the “x” that the user can +click to dismiss the popup. It may be replaced by a user provided graphic. The size should be approximately 10x10 pixels. + + + + + +Graphics + + +img.src.path +string + + +img.src.path +Path to HTML/FO image files + + + +<xsl:param name="img.src.path"></xsl:param> + + +Description + +Add a path prefix to the value of the fileref +attribute of graphic, inlinegraphic, and imagedata elements. The resulting +compound path is used in the output as the value of the src +attribute of img (HTML) or external-graphic (FO). + + + +The path given by img.src.path could be relative to the directory where the HTML/FO +files are created, or it could be an absolute URI. +The default value is empty. +Be sure to include a trailing slash if needed. + + +This prefix is not applied to any filerefs that start +with "/" or contain "//:". + + + + + + + +keep.relative.image.uris +boolean + + +keep.relative.image.uris +Should image URIs be resolved against xml:base? + + + + +<xsl:param name="keep.relative.image.uris" select="1"></xsl:param> + + + + +Description + +If non-zero, relative URIs (in, for example +fileref attributes) will be used in the generated +output. Otherwise, the URIs will be made absolute with respect to the +base URI. + +Note that the stylesheets calculate (and use) the absolute form +for some purposes, this only applies to the resulting output. + + + + + + +graphic.default.extension +string + + +graphic.default.extension +Default extension for graphic filenames + + + +<xsl:param name="graphic.default.extension"></xsl:param> + + +Description + +If a graphic or mediaobject +includes a reference to a filename that does not include an extension, +and the format attribute is +unspecified, the default extension will be used. + + + + + + + +default.image.width +length + + +default.image.width +The default width of images + + + + +<xsl:param name="default.image.width"></xsl:param> + + + +Description + +If specified, this value will be used for the +width attribute on images that do not specify any +viewport dimensions. + + + + + + +nominal.image.width +length + + +nominal.image.width +The nominal image width + + + + +<xsl:param name="nominal.image.width" select="6 * $pixels.per.inch"></xsl:param> + + + +Description + +Graphic widths expressed as a percentage are problematic. In the +following discussion, we speak of width and contentwidth, but +the same issues apply to depth and contentdepth. + +A width of 50% means "half of the available space for the image." +That's fine. But note that in HTML, this is a dynamic property and +the image size will vary if the browser window is resized. + +A contentwidth of 50% means "half of the actual image width". +But what does that mean if the stylesheets cannot assess the image's +actual size? Treating this as a width of 50% is one possibility, but +it produces behavior (dynamic scaling) that seems entirely out of +character with the meaning. + +Instead, the stylesheets define a +nominal.image.width and convert percentages to +actual values based on that nominal size. + + + + + + +nominal.image.depth +length + + +nominal.image.depth +Nominal image depth + + + + +<xsl:param name="nominal.image.depth" select="4 * $pixels.per.inch"></xsl:param> + + + +Description + +See nominal.image.width. + + + + + + +use.embed.for.svg +boolean + + +use.embed.for.svg +Use HTML embed for SVG? + + + + +<xsl:param name="use.embed.for.svg" select="0"></xsl:param> + + + +Description + +If non-zero, an embed element will be created for +SVG figures. An object is always created, +this parameter merely controls whether or not an additional embed +is generated inside the object. + +On the plus side, this may be more portable among browsers and plug-ins. +On the minus side, it isn't valid HTML. + + + + + + +make.graphic.viewport +boolean + + +make.graphic.viewport +Use tables in HTML to make viewports for graphics + + + + +<xsl:param name="make.graphic.viewport" select="1"></xsl:param> + + + +Description + +The HTML img element only supports the notion +of content-area scaling; it doesn't support the distinction between a +content-area and a viewport-area, so we have to make some compromises. + +If make.graphic.viewport is non-zero, a table +will be used to frame the image. This creates an effective viewport-area. + + +Tables and alignment don't work together, so this parameter is ignored +if alignment is specified on an image. + + + + + +preferred.mediaobject.role +string + + +preferred.mediaobject.role +Select which mediaobject to use based on +this value of an object's role attribute. + + + + + +<xsl:param name="preferred.mediaobject.role"></xsl:param> + + + +Description + +A mediaobject may contain several objects such as imageobjects. +If the parameter use.role.for.mediaobject is +non-zero, then the role attribute on +imageobjects and other objects within a +mediaobject container will be used to select which object +will be used. If one of the objects has a role value that matches the +preferred.mediaobject.role parameter, then it +has first priority for selection. If more than one has such a role +value, the first one is used. + + +See the use.role.for.mediaobject parameter +for the sequence of selection. + + + + + +use.role.for.mediaobject +boolean + + +use.role.for.mediaobject +Use role attribute +value for selecting which of several objects within a mediaobject to use. + + + + + +<xsl:param name="use.role.for.mediaobject" select="1"></xsl:param> + + + +Description + +If non-zero, the role attribute on +imageobjects or other objects within a mediaobject container will be used to select which object will be +used. + + +The order of selection when then parameter is non-zero is: + + + + If the stylesheet parameter preferred.mediaobject.role has a value, then the object whose role equals that value is selected. + + +Else if an object's role attribute has a value of +html for HTML processing or +fo for FO output, then the first +of such objects is selected. + + + +Else the first suitable object is selected. + + + +If the value of +use.role.for.mediaobject +is zero, then role attributes are not considered +and the first suitable object +with or without a role value is used. + + + + + + +ignore.image.scaling +boolean + + +ignore.image.scaling +Tell the stylesheets to ignore the author's image scaling attributes + + + + +<xsl:param name="ignore.image.scaling" select="0"></xsl:param> + + + +Description + +If non-zero, the scaling attributes on graphics and media objects are +ignored. + + + + + +Chunking + + +chunker.output.cdata-section-elements +string + + +chunker.output.cdata-section-elements +List of elements to escape with CDATA sections + + + +<xsl:param name="chunker.output.cdata-section-elements"></xsl:param> + + +Description +This parameter specifies the list of elements that should be escaped +as CDATA sections by the chunking stylesheet. Not all processors support +specification of this parameter. + + +This parameter is documented here, but the declaration is actually +in the chunker.xsl stylesheet module. + + + + + + +chunker.output.doctype-public +string + + +chunker.output.doctype-public +Public identifer to use in the document type of generated pages + + + +<xsl:param name="chunker.output.doctype-public"></xsl:param> + + +Description +This parameter specifies the public identifier that should be used by +the chunking stylesheet in the document type declaration of chunked pages. +Not all processors support specification of +this parameter. + + +This parameter is documented here, but the declaration is actually +in the chunker.xsl stylesheet module. + + + + + + +chunker.output.doctype-system +uri + + +chunker.output.doctype-system +System identifier to use for the document type in generated pages + + + +<xsl:param name="chunker.output.doctype-system"></xsl:param> + + +Description +This parameter specifies the system identifier that should be used by +the chunking stylesheet in the document type declaration of chunked pages. +Not all processors support specification of +this parameter. + + +This parameter is documented here, but the declaration is actually +in the chunker.xsl stylesheet module. + + + + + + +chunker.output.encoding +string + + +chunker.output.encoding +Encoding used in generated pages + + + +<xsl:param name="chunker.output.encoding">ISO-8859-1</xsl:param> + + +Description +This parameter specifies the encoding to be used in files +generated by the chunking stylesheet. Not all processors support +specification of this parameter. + +This parameter used to be named default.encoding. + +This parameter is documented here, but the declaration is actually +in the chunker.xsl stylesheet module. + + + + + + +chunker.output.indent +string + + +chunker.output.indent +Specification of indentation on generated pages + + + +<xsl:param name="chunker.output.indent">no</xsl:param> + + +Description +This parameter specifies the value of the indent +specification for generated pages. Not all processors support +specification of this parameter. + + +This parameter is documented here, but the declaration is actually +in the chunker.xsl stylesheet module. + + + + + + +chunker.output.media-type +string + + +chunker.output.media-type +Media type to use in generated pages + + + +<xsl:param name="chunker.output.media-type"></xsl:param> + + +Description +This parameter specifies the media type that should be used by +the chunking stylesheet. Not all processors support specification of +this parameter. + +This parameter specifies the media type that should be used by the +chunking stylesheet. This should be one from those defined in +[RFC2045] and + [RFC2046] + +This parameter is documented here, but the declaration is actually +in the chunker.xsl stylesheet module. +It must be one from html, xml or text + + + + + + +chunker.output.method +list +html +xml + + +chunker.output.method +Method used in generated pages + + + +<xsl:param name="chunker.output.method">html</xsl:param> + + +Description +This parameter specifies the output method to be used in files +generated by the chunking stylesheet. + +This parameter used to be named output.method. + +This parameter is documented here, but the declaration is actually +in the chunker.xsl stylesheet module. + + + + + + +chunker.output.omit-xml-declaration +string + + +chunker.output.omit-xml-declaration +Omit-xml-declaration for generated pages + + + +<xsl:param name="chunker.output.omit-xml-declaration">no</xsl:param> + + +Description +This parameter specifies the value of the omit-xml-declaration +specification for generated pages. Not all processors support +specification of this parameter. + + +This parameter is documented here, but the declaration is actually +in the chunker.xsl stylesheet module. + + + + + + +chunker.output.standalone +string + + +chunker.output.standalone +Standalone declaration for generated pages + + + +<xsl:param name="chunker.output.standalone">no</xsl:param> + + +Description +This parameter specifies the value of the standalone + specification for generated pages. It must be either + yes or no. Not all + processors support specification of this parameter. + + +This parameter is documented here, but the declaration is actually +in the chunker.xsl stylesheet module. + + + + + + +saxon.character.representation +string + + +saxon.character.representation +Saxon character representation used in generated HTML pages + + + + <xsl:param name="saxon.character.representation" select="'entity;decimal'"></xsl:param> + + +Description + +This parameter has effect only when Saxon 6 is used (version 6.4.2 or later). +It sets the character representation in files generated by the chunking stylesheets. +If you want to suppress entity references for characters with direct representations in +chunker.output.encoding, set the parameter value to native. + + + For more information, see Saxon output character representation. + + +This parameter is documented here, but the declaration is actually +in the chunker.xsl stylesheet module. + + + + + + + + +html.ext +string + + +html.ext +Identifies the extension of generated HTML files + + + + +<xsl:param name="html.ext">.html</xsl:param> + + + +Description + +The extension identified by html.ext will +be used as the filename extension for chunks created by this +stylesheet. + + + + + + +use.id.as.filename +boolean + + +use.id.as.filename +Use ID value of chunk elements as the filename? + + + + +<xsl:param name="use.id.as.filename" select="0"></xsl:param> + + + +Description + +If use.id.as.filename +is non-zero, the filename of chunk elements that have IDs will be +derived from the ID value. + + + + + + + +html.extra.head.links +boolean + + +html.extra.head.links +Toggle extra HTML head link information + + + + +<xsl:param name="html.extra.head.links" select="0"></xsl:param> + + + +Description + +If non-zero, extra link elements will be +generated in the head of chunked HTML files. These +extra links point to chapters, appendixes, sections, etc. as supported +by the Site Navigation Bar in Mozilla 1.0 (as of CR1, at least). + + + + + + + +root.filename +uri + + +root.filename +Identifies the name of the root HTML file when chunking + + + + +<xsl:param name="root.filename">index</xsl:param> + + + +Description + +The root.filename is the base filename for +the chunk created for the root of each document processed. + + + + + + + +base.dir +uri + + +base.dir +The base directory of chunks + + + + +<xsl:param name="base.dir"></xsl:param> + + + +Description + +If specified, the base.dir identifies +the output directory for chunks. (If not specified, the output directory +is system dependent.) + + + + + + + generate.manifest + boolean + + + generate.manifest + Generate a manifest file? + + + + <xsl:param name="generate.manifest" select="0"></xsl:param> + + + Description + + If non-zero, a list of HTML files generated by the + stylesheet transformation is written to the file named by + the manifest parameter. + + + + + + + manifest + string + + + manifest + Name of manifest file + + + + + <xsl:param name="manifest">HTML.manifest</xsl:param> + + + + Description + + The name of the file to which a manifest is written (if the + value of the generate.manifest parameter + is non-zero). + + + + + + +manifest.in.base.dir +boolean + + +manifest.in.base.dir +Should the manifest file be written into base.dir? + + + + +<xsl:param name="manifest.in.base.dir" select="0"></xsl:param> + + + +Description + +If non-zero, the manifest file as well as project files for HTML Help and +Eclipse Help are written into base.dir instead +of the current directory. + + + + + + +chunk.toc +string + + +chunk.toc +An explicit TOC to be used for chunking + + + + +<xsl:param name="chunk.toc"></xsl:param> + + + +Description + +The chunk.toc identifies an explicit TOC that +will be used for chunking. This parameter is only used by the +chunktoc.xsl stylesheet (and customization layers built +from it). + + + + + + +chunk.tocs.and.lots +boolean + + +chunk.tocs.and.lots +Should ToC and LoTs be in separate chunks? + + + + +<xsl:param name="chunk.tocs.and.lots" select="0"></xsl:param> + + + +Description + +If non-zero, ToC and LoT (List of Examples, List of Figures, etc.) +will be put in a separate chunk. At the moment, this chunk is not in the +normal forward/backward navigation list. Instead, a new link is added to the +navigation footer. + +This feature is still somewhat experimental. Feedback welcome. + + + + + + +chunk.separate.lots +boolean + + +chunk.separate.lots +Should each LoT be in its own separate chunk? + + + + +<xsl:param name="chunk.separate.lots" select="0"></xsl:param> + + + +Description + +If non-zero, each of the ToC and LoTs +(List of Examples, List of Figures, etc.) +will be put in its own separate chunk. +The title page includes generated links to each of the separate files. + + +This feature depends on the +chunk.tocs.and.lots +parameter also being non-zero. + + + + + + + +chunk.tocs.and.lots.has.title +boolean + + +chunk.tocs.and.lots.has.title +Should ToC and LoTs in a separate chunks have title? + + + + +<xsl:param name="chunk.tocs.and.lots.has.title" select="1"></xsl:param> + + + +Description + +If non-zero title of document is shown before ToC/LoT in +separate chunk. + + + + + + +chunk.section.depth +integer + + +chunk.section.depth +Depth to which sections should be chunked + + + + +<xsl:param name="chunk.section.depth" select="1"></xsl:param> + + + +Description + +This parameter sets the depth of section chunking. + + + + + + +chunk.first.sections +boolean + + +chunk.first.sections +Chunk the first top-level section? + + + + +<xsl:param name="chunk.first.sections" select="0"></xsl:param> + + + +Description + +If non-zero, a chunk will be created for the first top-level +sect1 or section elements in +each component. Otherwise, that section will be part of the chunk for +its parent. + + + + + + + +chunk.quietly +boolean + + +chunk.quietly +Omit the chunked filename messages. + + + + +<xsl:param name="chunk.quietly" select="0"></xsl:param> + + + +Description + +If zero (the default), the XSL processor emits a message naming +each separate chunk filename as it is being output. +If nonzero, then the messages are suppressed. + + + + + + + +chunk.append +string + + +chunk.append +Specifies content to append to chunked HTML output + + + +<xsl:param name="chunk.append"></xsl:param> + + +Description + +Specifies content to append to the end of HTML files output by +the html/chunk.xsl stylesheet, after the closing +<html> tag. You probably don’t want to set any value +for this parameter; but if you do, the only value it should ever be +set to is a newline character: &#x0a; or +&#10; + + + + + + +navig.graphics +boolean + + +navig.graphics +Use graphics in navigational headers and footers? + + + + +<xsl:param name="navig.graphics" select="0"></xsl:param> + + + +Description + +If non-zero, the navigational headers and footers in chunked +HTML are presented in an alternate style that uses graphical icons for +Next, Previous, Up, and Home. Default graphics are provided in the +distribution. If zero, text is used instead of graphics. + + + + + + + +navig.graphics.extension +string + + +navig.graphics.extension +Extension for navigational graphics + + + + +<xsl:param name="navig.graphics.extension">.gif</xsl:param> + + + +Description + +Sets the filename extension to use on navigational graphics used +in the headers and footers of chunked HTML. + + + + + + +navig.graphics.path +string + + +navig.graphics.path +Path to navigational graphics + + + + +<xsl:param name="navig.graphics.path">images/</xsl:param> + + + +Description + +Sets the path, probably relative to the directory where the HTML +files are created, to the navigational graphics used in the +headers and footers of chunked HTML. + + + + + + + +navig.showtitles +boolean + + +navig.showtitles +Display titles in HTML headers and footers? + + + +<xsl:param name="navig.showtitles">1</xsl:param> + + +Description + +If non-zero, +the headers and footers of chunked HTML +display the titles of the next and previous chunks, +along with the words 'Next' and 'Previous' (or the +equivalent graphical icons if navig.graphics is true). +If false (zero), then only the words 'Next' and 'Previous' +(or the icons) are displayed. + + + + + + +Profiling + +The following parameters can be used for attribute-based +profiling of your document. For more information about profiling, see +Profiling (conditional text). + + + +profile.arch +string + + +profile.arch +Target profile for arch +attribute + + + + +<xsl:param name="profile.arch"></xsl:param> + + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.audience +string + + +profile.audience +Target profile for audience +attribute + + + + +<xsl:param name="profile.audience"></xsl:param> + + + +Description + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.condition +string + + +profile.condition +Target profile for condition +attribute + + + + +<xsl:param name="profile.condition"></xsl:param> + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.conformance +string + + +profile.conformance +Target profile for conformance +attribute + + + + +<xsl:param name="profile.conformance"></xsl:param> + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.lang +string + + +profile.lang +Target profile for lang +attribute + + + + +<xsl:param name="profile.lang"></xsl:param> + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.os +string + + +profile.os +Target profile for os +attribute + + + + +<xsl:param name="profile.os"></xsl:param> + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.revision +string + + +profile.revision +Target profile for revision +attribute + + + + +<xsl:param name="profile.revision"></xsl:param> + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.revisionflag +string + + +profile.revisionflag +Target profile for revisionflag +attribute + + + + +<xsl:param name="profile.revisionflag"></xsl:param> + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.role +string + + +profile.role +Target profile for role +attribute + + + + +<xsl:param name="profile.role"></xsl:param> + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + +Note that role is often +used for other purposes than profiling. For example it is commonly +used to get emphasize in bold font: + +<emphasis role="bold">very important</emphasis> + +If you are using role for +these purposes do not forget to add values like bold to +value of this parameter. If you forgot you will get document with +small pieces missing which are very hard to track. + +For this reason it is not recommended to use role attribute for profiling. You should +rather use profiling specific attributes like userlevel, os, arch, condition, etc. + + + + + + + +profile.security +string + + +profile.security +Target profile for security +attribute + + + + +<xsl:param name="profile.security"></xsl:param> + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.status +string + + +profile.status +Target profile for status +attribute + + + + +<xsl:param name="profile.status"></xsl:param> + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.userlevel +string + + +profile.userlevel +Target profile for userlevel +attribute + + + + +<xsl:param name="profile.userlevel"></xsl:param> + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.vendor +string + + +profile.vendor +Target profile for vendor +attribute + + + + +<xsl:param name="profile.vendor"></xsl:param> + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.wordsize +string + + +profile.wordsize +Target profile for wordsize +attribute + + + + +<xsl:param name="profile.wordsize"></xsl:param> + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.attribute +string + + +profile.attribute +Name of user-specified profiling attribute + + + + +<xsl:param name="profile.attribute"></xsl:param> + + + +Description + +This parameter is used in conjuction with +profile.value. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.value +string + + +profile.value +Target profile for user-specified attribute + + + + +<xsl:param name="profile.value"></xsl:param> + + + +Description + +When you are using this parameter you must also specify name of +profiling attribute with parameter +profile.attribute. + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.separator +string + + +profile.separator +Separator character for compound profile values + + + + +<xsl:param name="profile.separator">;</xsl:param> + + + +Description + +Separator character used for compound profile values. See profile.arch + + + + + +HTML Help + + +htmlhelp.encoding +string + + +htmlhelp.encoding +Character encoding to use in files for HTML Help compiler. + + + + +<xsl:param name="htmlhelp.encoding">iso-8859-1</xsl:param> + + + +Description + +HTML Help Compiler is not UTF-8 aware, so you should always use an +appropriate single-byte encoding here. Use one from iana, the registered charset values. + + + + + + +htmlhelp.autolabel +boolean + + +htmlhelp.autolabel +Should tree-like ToC use autonumbering feature? + + + + +<xsl:param name="htmlhelp.autolabel" select="0"></xsl:param> + + + +Description + +Set this to non-zero to include chapter and section numbers into ToC +in the left panel. + + + + + + +htmlhelp.chm +string + + +htmlhelp.chm +Filename of output HTML Help file. + + + + +<xsl:param name="htmlhelp.chm">htmlhelp.chm</xsl:param> + + + +Description + +Set the name of resulting CHM file + + + + + + +htmlhelp.default.topic +string + + +htmlhelp.default.topic +Name of file with default topic + + + + +<xsl:param name="htmlhelp.default.topic"></xsl:param> + + + +Description + +Normally first chunk of document is displayed when you open HTML +Help file. If you want to display another topic, simply set its +filename by this parameter. + +This is useful especially if you don't generate ToC in front of +your document and you also hide root element in ToC. E.g.: + +<xsl:param name="generate.book.toc" select="0"/> +<xsl:param name="htmlhelp.hhc.show.root" select="0"/> +<xsl:param name="htmlhelp.default.topic">pr01.html</xsl:param> + + + + + + + +htmlhelp.display.progress +boolean + + +htmlhelp.display.progress +Display compile progress? + + + + +<xsl:param name="htmlhelp.display.progress" select="1"></xsl:param> + + + +Description + +Set to non-zero to to display compile progress + + + + + + + +htmlhelp.hhp +string + + +htmlhelp.hhp +Filename of project file. + + + + +<xsl:param name="htmlhelp.hhp">htmlhelp.hhp</xsl:param> + + + +Description + +Change this parameter if you want different name of project +file than htmlhelp.hhp. + + + + + + +htmlhelp.hhc +string + + +htmlhelp.hhc +Filename of TOC file. + + + + +<xsl:param name="htmlhelp.hhc">toc.hhc</xsl:param> + + + +Description + +Set the name of the TOC file. The default is toc.hhc. + + + + + + +htmlhelp.hhk +string + + +htmlhelp.hhk +Filename of index file. + + + + +<xsl:param name="htmlhelp.hhk">index.hhk</xsl:param> + + + +Description + +set the name of the index file. The default is index.hhk. + + + + + + +htmlhelp.hhp.tail +string + + +htmlhelp.hhp.tail +Additional content for project file. + + + + +<xsl:param name="htmlhelp.hhp.tail"></xsl:param> + + + +Description + +If you want to include some additional parameters into project file, +store appropriate part of project file into this parameter. + + + + + + +htmlhelp.hhp.window +string + + +htmlhelp.hhp.window +Name of default window. + + + + +<xsl:param name="htmlhelp.hhp.window">Main</xsl:param> + + + +Description + +Name of default window. If empty no [WINDOWS] section will be +added to project file. + + + + + + +htmlhelp.hhp.windows +string + + +htmlhelp.hhp.windows +Definition of additional windows + + + + +<xsl:param name="htmlhelp.hhp.windows"></xsl:param> + + + +Description + +Content of this parameter is placed at the end of [WINDOWS] +section of project file. You can use it for defining your own +addtional windows. + + + + + + +htmlhelp.enhanced.decompilation +boolean + + +htmlhelp.enhanced.decompilation +Allow enhanced decompilation of CHM? + + + + +<xsl:param name="htmlhelp.enhanced.decompilation" select="0"></xsl:param> + + + +Description + +When non-zero this parameter enables enhanced decompilation of CHM. + + + + + + +htmlhelp.enumerate.images +boolean + + +htmlhelp.enumerate.images +Should the paths to all used images be added to the project file? + + + + +<xsl:param name="htmlhelp.enumerate.images" select="0"></xsl:param> + + + +Description + +Set to non-zero if you insert images into your documents as +external binary entities or if you are using absolute image paths. + + + + + + +htmlhelp.force.map.and.alias +boolean + + +htmlhelp.force.map.and.alias +Should [MAP] and [ALIAS] sections be added to the project file unconditionally? + + + +<xsl:param name="htmlhelp.force.map.and.alias" select="0"></xsl:param> + + +Description + Set to non-zero if you have your own + alias.h and context.h + files and you want to include references to them in the project + file. + + + + + +htmlhelp.map.file +string + + +htmlhelp.map.file +Filename of map file. + + + +<xsl:param name="htmlhelp.map.file">context.h</xsl:param> + + +Description +Set the name of map file. The default is + context.h. (used for context-sensitive + help). + + + + + +htmlhelp.alias.file +string + + +htmlhelp.alias.file +Filename of alias file. + + + + +<xsl:param name="htmlhelp.alias.file">alias.h</xsl:param> + + + +Description + +Specifies the filename of the alias file (used for context-sensitive help). + + + + + + +htmlhelp.hhc.section.depth +integer + + +htmlhelp.hhc.section.depth +Depth of TOC for sections in a left pane. + + + + +<xsl:param name="htmlhelp.hhc.section.depth">5</xsl:param> + + + +Description + +Set the section depth in the left pane of HTML Help viewer. + + + + + + +htmlhelp.hhc.show.root +boolean + + +htmlhelp.hhc.show.root +Should there be an entry for the root element in the ToC? + + + + +<xsl:param name="htmlhelp.hhc.show.root" select="1"></xsl:param> + + + +Description + +If set to zero, there will be no entry for the root element in the +ToC. This is useful when you want to provide the user with an expanded +ToC as a default. + + + + + + +htmlhelp.hhc.folders.instead.books +boolean + + +htmlhelp.hhc.folders.instead.books +Use folder icons in ToC (instead of book icons)? + + + + +<xsl:param name="htmlhelp.hhc.folders.instead.books" select="1"></xsl:param> + + + +Description + +Set to non-zero for folder-like icons or zero for book-like icons in the ToC. +If you want to use folder-like icons, you must switch off the binary ToC using +htmlhelp.hhc.binary. + + + + + + + + +htmlhelp.hhc.binary +boolean + + +htmlhelp.hhc.binary +Generate binary ToC? + + + + +<xsl:param name="htmlhelp.hhc.binary" select="1"></xsl:param> + + + +Description + +Set to non-zero to generate a binary TOC. You must create a binary TOC +if you want to add Prev/Next buttons to toolbar (which is default +behaviour). Files with binary TOC can't be merged. + + + + + + +htmlhelp.hhc.width +integer + + +htmlhelp.hhc.width +Width of navigation pane + + + + +<xsl:param name="htmlhelp.hhc.width"></xsl:param> + + + +Description + +This parameter specifies the width of the navigation pane (containing TOC and +other navigation tabs) in pixels. + + + + + + +htmlhelp.title +string + + +htmlhelp.title +Title of HTML Help + + + + +<xsl:param name="htmlhelp.title"></xsl:param> + + + +Description + +Content of this parameter will be used as a title for generated +HTML Help. If empty, title will be automatically taken from document. + + + + + + +htmlhelp.show.menu +boolean + + +htmlhelp.show.menu +Should the menu bar be shown? + + + + +<xsl:param name="htmlhelp.show.menu" select="0"></xsl:param> + + + +Description + +Set to non-zero to have an application menu bar in your HTML Help window. + + + + + + + +htmlhelp.show.toolbar.text +boolean + + +htmlhelp.show.toolbar.text +Show text under toolbar buttons? + + + + +<xsl:param name="htmlhelp.show.toolbar.text" select="1"></xsl:param> + + + +Description + +Set to non-zero to display texts under toolbar buttons, zero to switch +off displays. + + + + + + +htmlhelp.show.advanced.search +boolean + + +htmlhelp.show.advanced.search +Should advanced search features be available? + + + + +<xsl:param name="htmlhelp.show.advanced.search" select="0"></xsl:param> + + + +Description + +If you want advanced search features in your help, turn this +parameter to 1. + + + + + + +htmlhelp.show.favorities +boolean + + +htmlhelp.show.favorities +Should the Favorites tab be shown? + + + + +<xsl:param name="htmlhelp.show.favorities" select="0"></xsl:param> + + + +Description + +Set to non-zero to include a Favorites tab in the navigation pane +of the help window. + + + + + + +htmlhelp.button.hideshow +boolean + + +htmlhelp.button.hideshow +Should the Hide/Show button be shown? + + + + +<xsl:param name="htmlhelp.button.hideshow" select="1"></xsl:param> + + + +Description + +Set to non-zero to include the Hide/Show button shown on toolbar + + + + + + +htmlhelp.button.back +boolean + + +htmlhelp.button.back +Should the Back button be shown? + + + + +<xsl:param name="htmlhelp.button.back" select="1"></xsl:param> + + + +Description + +Set to non-zero to include the Hide/Show button shown on toolbar + + + + + + +htmlhelp.button.forward +boolean + + +htmlhelp.button.forward +Should the Forward button be shown? + + + + +<xsl:param name="htmlhelp.button.forward" select="0"></xsl:param> + + + +Description + +Set to non-zero to include the Forward button on the toolbar. + + + + + + +htmlhelp.button.stop +boolean + + +htmlhelp.button.stop +Should the Stop button be shown? + + + + +<xsl:param name="htmlhelp.button.stop" select="0"></xsl:param> + + + +Description + +If you want Stop button shown on toolbar, turn this +parameter to 1. + + + + + + +htmlhelp.button.refresh +boolean + + +htmlhelp.button.refresh +Should the Refresh button be shown? + + + + +<xsl:param name="htmlhelp.button.refresh" select="0"></xsl:param> + + + +Description + +Set to non-zero to include the Stop button on the toolbar. + + + + + + +htmlhelp.button.home +boolean + + +htmlhelp.button.home +Should the Home button be shown? + + + + +<xsl:param name="htmlhelp.button.home" select="0"></xsl:param> + + + +Description + +Set to non-zero to include the Home button on the toolbar. + + + + + + +htmlhelp.button.home.url +string + + +htmlhelp.button.home.url +URL address of page accessible by Home button + + + + +<xsl:param name="htmlhelp.button.home.url"></xsl:param> + + + +Description + +URL address of page accessible by Home button. + + + + + + +htmlhelp.button.options +boolean + + +htmlhelp.button.options +Should the Options button be shown? + + + + +<xsl:param name="htmlhelp.button.options" select="1"></xsl:param> + + + +Description + +If you want Options button shown on toolbar, turn this +parameter to 1. + + + + + + +htmlhelp.button.print +boolean + + +htmlhelp.button.print +Should the Print button be shown? + + + + +<xsl:param name="htmlhelp.button.print" select="1"></xsl:param> + + + +Description + +Set to non-zero to include the Print button on the toolbar. + + + + + + + +htmlhelp.button.locate +boolean + + +htmlhelp.button.locate +Should the Locate button be shown? + + + + +<xsl:param name="htmlhelp.button.locate" select="0"></xsl:param> + + + +Description + +If you want Locate button shown on toolbar, turn this +parameter to 1. + + + + + + +htmlhelp.button.jump1 +boolean + + +htmlhelp.button.jump1 +Should the Jump1 button be shown? + + + +<xsl:param name="htmlhelp.button.jump1" select="0"></xsl:param> + + +Description + Set to non-zero to include the Jump1 button on the toolbar. + + + + + +htmlhelp.button.jump1.url +string + + +htmlhelp.button.jump1.url +URL address of page accessible by Jump1 button + + + + +<xsl:param name="htmlhelp.button.jump1.url"></xsl:param> + + + +Description + +URL address of page accessible by Jump1 button. + + + + + + +htmlhelp.button.jump1.title +string + + +htmlhelp.button.jump1.title +Title of Jump1 button + + + + +<xsl:param name="htmlhelp.button.jump1.title">User1</xsl:param> + + + +Description + +Title of Jump1 button. + + + + + + +htmlhelp.button.jump2 +boolean + + +htmlhelp.button.jump2 +Should the Jump2 button be shown? + + + + +<xsl:param name="htmlhelp.button.jump2" select="0"></xsl:param> + + + +Description + +Set to non-zero to include the Jump2 button on the toolbar. + + + + + + +htmlhelp.button.jump2.url +string + + +htmlhelp.button.jump2.url +URL address of page accessible by Jump2 button + + + + +<xsl:param name="htmlhelp.button.jump2.url"></xsl:param> + + + +Description + +URL address of page accessible by Jump2 button. + + + + + + +htmlhelp.button.jump2.title +string + + +htmlhelp.button.jump2.title +Title of Jump2 button + + + + +<xsl:param name="htmlhelp.button.jump2.title">User2</xsl:param> + + + +Description + +Title of Jump2 button. + + + + + + +htmlhelp.button.next +boolean + + +htmlhelp.button.next +Should the Next button be shown? + + + + +<xsl:param name="htmlhelp.button.next" select="1"></xsl:param> + + + +Description + +Set to non-zero to include the Next button on the toolbar. + + + + + + +htmlhelp.button.prev +boolean + + +htmlhelp.button.prev +Should the Prev button be shown? + + + + +<xsl:param name="htmlhelp.button.prev" select="1"></xsl:param> + + + +Description + +Set to non-zero to include the Prev button on the toolbar. + + + + + + + +htmlhelp.button.zoom +boolean + + +htmlhelp.button.zoom +Should the Zoom button be shown? + + + + +<xsl:param name="htmlhelp.button.zoom" select="0"></xsl:param> + + + +Description + +Set to non-zero to include the Zoom button on the toolbar. + + + + + + + +htmlhelp.remember.window.position +boolean + + +htmlhelp.remember.window.position +Remember help window position? + + + + +<xsl:param name="htmlhelp.remember.window.position" select="0"></xsl:param> + + + +Description + +Set to non-zero to remember help window position between starts. + + + + + + +htmlhelp.window.geometry +string + + +htmlhelp.window.geometry +Set initial geometry of help window + + + + +<xsl:param name="htmlhelp.window.geometry"></xsl:param> + + + +Description + +This parameter specifies initial position of help +window. E.g. + +<xsl:param name="htmlhelp.window.geometry">[160,64,992,704]</xsl:param> + + + + + + +htmlhelp.use.hhk +boolean + + +htmlhelp.use.hhk +Should the index be built using the HHK file? + + + + +<xsl:param name="htmlhelp.use.hhk" select="0"></xsl:param> + + + +Description + +If non-zero, the index is created using the HHK file (instead of using object +elements in the HTML files). For more information, see Generating an index. + + + + + +htmlhelp.only +boolean + + +htmlhelp.only +Should only project files be generated? + + + + +<xsl:param name="htmlhelp.only" select="0"></xsl:param> + + + +Description + + +Set to non-zero if you want to play with various HTML Help parameters +and you don't need to regenerate all HTML files. This setting will not +process whole document, only project files (hhp, hhc, hhk,...) will be +generated. + + + + + + +Eclipse Help Platform + + +eclipse.autolabel +boolean + + +eclipse.autolabel +Should tree-like ToC use autonumbering feature? + + + + +<xsl:param name="eclipse.autolabel" select="0"></xsl:param> + + + +Description + +If you want to include chapter and section numbers into ToC in +the left panel, set this parameter to 1. + + + + + + +eclipse.plugin.name +string + + +eclipse.plugin.name +Eclipse Help plugin name + + + + +<xsl:param name="eclipse.plugin.name">DocBook Online Help Sample</xsl:param> + + + +Description + +Eclipse Help plugin name. + + + + + + +eclipse.plugin.id +string + + +eclipse.plugin.id +Eclipse Help plugin id + + + + +<xsl:param name="eclipse.plugin.id">com.example.help</xsl:param> + + + +Description + +Eclipse Help plugin id. You should change this id to something +unique for each help. + + + + + + +eclipse.plugin.provider +string + + +eclipse.plugin.provider +Eclipse Help plugin provider name + + + + +<xsl:param name="eclipse.plugin.provider">Example provider</xsl:param> + + + +Description + +Eclipse Help plugin provider name. + + + + + +JavaHelp + + +javahelp.encoding +string + + +javahelp.encoding +Character encoding to use in control files for JavaHelp. + + + + +<xsl:param name="javahelp.encoding">iso-8859-1</xsl:param> + + + +Description + +JavaHelp crashes on some characters when written as character +references. In that case you can use this parameter to select an appropriate encoding. + + + + + + + + +Localization + + +l10n.gentext.language +string + + +l10n.gentext.language +Sets the gentext language + + + + +<xsl:param name="l10n.gentext.language"></xsl:param> + + + +Description + +If this parameter is set to any value other than the empty string, its +value will be used as the value for the language when generating text. Setting +l10n.gentext.language overrides any settings within the +document being formatted. + +It's much more likely that you might want to set the +l10n.gentext.default.language parameter. + + + + + + + l10n.gentext.default.language + string + + + l10n.gentext.default.language + Sets the default language for generated text + + + + +<xsl:param name="l10n.gentext.default.language">en</xsl:param> + + + +Description + +The value of the l10n.gentext.default.language +parameter is used as the language for generated text if no setting is provided +in the source document. + + + + + + +l10n.gentext.use.xref.language +boolean + + +l10n.gentext.use.xref.language +Use the language of target when generating cross-reference text? + + + + +<xsl:param name="l10n.gentext.use.xref.language" select="0"></xsl:param> + + + +Description + +If non-zero, the language of the target will be used when +generating cross reference text. Usually, the current +language is used when generating text (that is, the language of the +element that contains the cross-reference element). But setting this parameter +allows the language of the element pointed to to control +the generated text. + +Consider the following example: + + +<para lang="en">See also <xref linkend="chap3"/>.</para> + + + +Suppose that Chapter 3 happens to be written in German. +If l10n.gentext.use.xref.language is non-zero, the +resulting text will be something like this: + +
    +See also Kapital 3. +
    + +Where the more traditional rendering would be: + +
    +See also Chapter 3. +
    + +
    +
    + + + +l10n.lang.value.rfc.compliant +boolean + + +l10n.lang.value.rfc.compliant +Make value of lang attribute RFC compliant? + + + + +<xsl:param name="l10n.lang.value.rfc.compliant" select="1"></xsl:param> + + + +Description + +If non-zero, ensure that the values for all lang attributes in HTML output are RFC +compliantSection 8.1.1, Language Codes, in the HTML 4.0 Recommendation states that: + +
    [RFC1766] defines and explains the language codes +that must be used in HTML documents. +Briefly, language codes consist of a primary code and a possibly +empty series of subcodes: + +language-code = primary-code ( "-" subcode )* + +And in RFC 1766, Tags for the Identification +of Languages, the EBNF for "language tag" is given as: + +Language-Tag = Primary-tag *( "-" Subtag ) +Primary-tag = 1*8ALPHA +Subtag = 1*8ALPHA + +
    +
    . + +by taking any underscore characters in any lang values found in source documents, and +replacing them with hyphen characters in output HTML files. For +example, zh_CN in a source document becomes +zh-CN in the HTML output form that source. + + +This parameter does not cause any case change in lang values, because RFC 1766 +explicitly states that all "language tags" (as it calls them) "are +to be treated as case insensitive". + +
    + +
    +
    + + + +writing.mode +string + + +writing.mode +Direction of text flow based on locale + + + + +<xsl:param name="writing.mode"> + <xsl:call-template name="gentext"> + <xsl:with-param name="key">writing-mode</xsl:with-param> + <xsl:with-param name="lang"> + <xsl:call-template name="l10n.language"> + <xsl:with-param name="target" select="/*[1]"></xsl:with-param> + </xsl:call-template> + </xsl:with-param> + </xsl:call-template> +</xsl:param> + + + +Description + +Sets direction of text flow and text alignment based on locale. +The value is normally taken from the gentext file for the +lang attribute of the document's root element, using the +key name 'writing-mode' to look it up in the gentext file. +But the param can also be +set on the command line to override that gentext value. + +Accepted values are: + + + lr-tb + + Left-to-right text flow in each line, lines stack top to bottom. + + + + rl-tb + + Right-to-left text flow in each line, lines stack top to bottom. + + + + tb-rl + + Top-to-bottom text flow in each vertical line, lines stack right to left. + Supported by only a few XSL-FO processors. Not supported in HTML output. + + + + lr + + Shorthand for lr-tb. + + + + rl + + Shorthand for rl-tb. + + + + tb + + Shorthand for tb-rl. + + + + + + + + +
    +The Stylesheet + +The param.xsl stylesheet is just a wrapper +around all these parameters. + + + +<!-- This file is generated from param.xweb --> + +<xsl:stylesheet exclude-result-prefixes="src" version="1.0"> + +<!-- ******************************************************************** + $Id: param.xweb 8552 2009-12-07 17:45:26Z bobstayton $ + ******************************************************************** + + This file is part of the XSL DocBook Stylesheet distribution. + See ../README or http://docbook.sf.net/release/xsl/current/ for + copyright and other information. + + ******************************************************************** --> + +<src:fragref linkend="abstract.notitle.enabled.frag"></src:fragref> +<src:fragref linkend="admon.graphics.extension.frag"></src:fragref> +<src:fragref linkend="admon.graphics.frag"></src:fragref> +<src:fragref linkend="admon.graphics.path.frag"></src:fragref> +<src:fragref linkend="admon.style.frag"></src:fragref> +<src:fragref linkend="admon.textlabel.frag"></src:fragref> +<src:fragref linkend="annotate.toc.frag"></src:fragref> +<src:fragref linkend="annotation.css.frag"></src:fragref> +<src:fragref linkend="annotation.graphic.close.frag"></src:fragref> +<src:fragref linkend="annotation.graphic.open.frag"></src:fragref> +<src:fragref linkend="annotation.js.frag"></src:fragref> +<src:fragref linkend="annotation.support.frag"></src:fragref> +<src:fragref linkend="appendix.autolabel.frag"></src:fragref> +<src:fragref linkend="author.othername.in.middle.frag"></src:fragref> +<src:fragref linkend="autotoc.label.in.hyperlink.frag"></src:fragref> +<src:fragref linkend="autotoc.label.separator.frag"></src:fragref> +<src:fragref linkend="base.dir.frag"></src:fragref> +<src:fragref linkend="biblioentry.item.separator.frag"></src:fragref> +<src:fragref linkend="bibliography.collection.frag"></src:fragref> +<src:fragref linkend="bibliography.numbered.frag"></src:fragref> +<src:fragref linkend="bibliography.style.frag"></src:fragref> +<src:fragref linkend="blurb.on.titlepage.enabled.frag"></src:fragref> +<src:fragref linkend="bridgehead.in.toc.frag"></src:fragref> +<src:fragref linkend="callout.defaultcolumn.frag"></src:fragref> +<src:fragref linkend="callout.graphics.extension.frag"></src:fragref> +<src:fragref linkend="callout.graphics.frag"></src:fragref> +<src:fragref linkend="callout.graphics.number.limit.frag"></src:fragref> +<src:fragref linkend="callout.graphics.path.frag"></src:fragref> +<src:fragref linkend="callout.list.table.frag"></src:fragref> +<src:fragref linkend="callout.unicode.frag"></src:fragref> +<src:fragref linkend="callout.unicode.number.limit.frag"></src:fragref> +<src:fragref linkend="callout.unicode.start.character.frag"></src:fragref> +<src:fragref linkend="callouts.extension.frag"></src:fragref> +<src:fragref linkend="chapter.autolabel.frag"></src:fragref> +<src:fragref linkend="chunk.append.frag"></src:fragref> +<src:fragref linkend="chunk.first.sections.frag"></src:fragref> +<src:fragref linkend="chunk.quietly.frag"></src:fragref> +<src:fragref linkend="chunk.section.depth.frag"></src:fragref> +<src:fragref linkend="chunk.separate.lots.frag"></src:fragref> +<src:fragref linkend="chunk.toc.frag"></src:fragref> +<src:fragref linkend="chunk.tocs.and.lots.frag"></src:fragref> +<src:fragref linkend="chunk.tocs.and.lots.has.title.frag"></src:fragref> +<src:fragref linkend="citerefentry.link.frag"></src:fragref> +<src:fragref linkend="collect.xref.targets.frag"></src:fragref> +<src:fragref linkend="component.label.includes.part.label.frag"></src:fragref> +<src:fragref linkend="contrib.inline.enabled.frag"></src:fragref> +<src:fragref linkend="css.decoration.frag"></src:fragref> +<src:fragref linkend="current.docid.frag"></src:fragref> +<src:fragref linkend="custom.css.source.frag"></src:fragref> +<src:fragref linkend="default.float.class.frag"></src:fragref> +<src:fragref linkend="default.image.width.frag"></src:fragref> +<src:fragref linkend="default.table.frame.frag"></src:fragref> +<src:fragref linkend="default.table.width.frag"></src:fragref> +<src:fragref linkend="docbook.css.link.frag"></src:fragref> +<src:fragref linkend="docbook.css.source.frag"></src:fragref> +<src:fragref linkend="draft.mode.frag"></src:fragref> +<src:fragref linkend="draft.watermark.image.frag"></src:fragref> +<src:fragref linkend="ebnf.assignment.frag"></src:fragref> +<src:fragref linkend="ebnf.statement.terminator.frag"></src:fragref> +<src:fragref linkend="ebnf.table.bgcolor.frag"></src:fragref> +<src:fragref linkend="ebnf.table.border.frag"></src:fragref> +<src:fragref linkend="eclipse.autolabel.frag"></src:fragref> +<src:fragref linkend="eclipse.plugin.id.frag"></src:fragref> +<src:fragref linkend="eclipse.plugin.name.frag"></src:fragref> +<src:fragref linkend="eclipse.plugin.provider.frag"></src:fragref> +<src:fragref linkend="editedby.enabled.frag"></src:fragref> +<src:fragref linkend="email.delimiters.enabled.frag"></src:fragref> +<src:fragref linkend="emphasis.propagates.style.frag"></src:fragref> +<src:fragref linkend="entry.propagates.style.frag"></src:fragref> +<src:fragref linkend="exsl.node.set.available.frag"></src:fragref> +<src:fragref linkend="firstterm.only.link.frag"></src:fragref> +<src:fragref linkend="footer.rule.frag"></src:fragref> +<src:fragref linkend="footnote.number.format.frag"></src:fragref> +<src:fragref linkend="footnote.number.symbols.frag"></src:fragref> +<src:fragref linkend="formal.procedures.frag"></src:fragref> +<src:fragref linkend="formal.title.placement.frag"></src:fragref> +<src:fragref linkend="funcsynopsis.decoration.frag"></src:fragref> +<src:fragref linkend="funcsynopsis.style.frag"></src:fragref> +<src:fragref linkend="function.parens.frag"></src:fragref> +<src:fragref linkend="generate.css.header.frag"></src:fragref> +<src:fragref linkend="generate.id.attributes.frag"></src:fragref> +<src:fragref linkend="generate.index.frag"></src:fragref> +<src:fragref linkend="generate.legalnotice.link.frag"></src:fragref> +<src:fragref linkend="generate.manifest.frag"></src:fragref> +<src:fragref linkend="generate.meta.abstract.frag"></src:fragref> +<src:fragref linkend="generate.revhistory.link.frag"></src:fragref> +<src:fragref linkend="generate.section.toc.level.frag"></src:fragref> +<src:fragref linkend="generate.toc.frag"></src:fragref> +<src:fragref linkend="glossary.collection.frag"></src:fragref> +<src:fragref linkend="glossary.sort.frag"></src:fragref> +<src:fragref linkend="glossentry.show.acronym.frag"></src:fragref> +<src:fragref linkend="glossterm.auto.link.frag"></src:fragref> +<src:fragref linkend="graphic.default.extension.frag"></src:fragref> +<src:fragref linkend="graphicsize.extension.frag"></src:fragref> +<src:fragref linkend="graphicsize.use.img.src.path.frag"></src:fragref> +<src:fragref linkend="header.rule.frag"></src:fragref> +<src:fragref linkend="highlight.default.language.frag"></src:fragref> +<src:fragref linkend="highlight.source.frag"></src:fragref> +<src:fragref linkend="highlight.xslthl.config.frag"></src:fragref> +<src:fragref linkend="html.append.frag"></src:fragref> +<src:fragref linkend="html.base.frag"></src:fragref> +<src:fragref linkend="html.cellpadding.frag"></src:fragref> +<src:fragref linkend="html.cellspacing.frag"></src:fragref> +<src:fragref linkend="html.cleanup.frag"></src:fragref> +<src:fragref linkend="html.ext.frag"></src:fragref> +<src:fragref linkend="html.extra.head.links.frag"></src:fragref> +<src:fragref linkend="html.head.legalnotice.link.multiple.frag"></src:fragref> +<src:fragref linkend="html.head.legalnotice.link.types.frag"></src:fragref> +<src:fragref linkend="html.longdesc.frag"></src:fragref> +<src:fragref linkend="html.longdesc.link.frag"></src:fragref> +<src:fragref linkend="html.stylesheet.frag"></src:fragref> +<src:fragref linkend="html.stylesheet.type.frag"></src:fragref> +<src:fragref linkend="htmlhelp.alias.file.frag"></src:fragref> +<src:fragref linkend="htmlhelp.autolabel.frag"></src:fragref> +<src:fragref linkend="htmlhelp.button.back.frag"></src:fragref> +<src:fragref linkend="htmlhelp.button.forward.frag"></src:fragref> +<src:fragref linkend="htmlhelp.button.hideshow.frag"></src:fragref> +<src:fragref linkend="htmlhelp.button.home.frag"></src:fragref> +<src:fragref linkend="htmlhelp.button.home.url.frag"></src:fragref> +<src:fragref linkend="htmlhelp.button.jump1.frag"></src:fragref> +<src:fragref linkend="htmlhelp.button.jump1.title.frag"></src:fragref> +<src:fragref linkend="htmlhelp.button.jump1.url.frag"></src:fragref> +<src:fragref linkend="htmlhelp.button.jump2.frag"></src:fragref> +<src:fragref linkend="htmlhelp.button.jump2.title.frag"></src:fragref> +<src:fragref linkend="htmlhelp.button.jump2.url.frag"></src:fragref> +<src:fragref linkend="htmlhelp.button.locate.frag"></src:fragref> +<src:fragref linkend="htmlhelp.button.next.frag"></src:fragref> +<src:fragref linkend="htmlhelp.button.options.frag"></src:fragref> +<src:fragref linkend="htmlhelp.button.prev.frag"></src:fragref> +<src:fragref linkend="htmlhelp.button.print.frag"></src:fragref> +<src:fragref linkend="htmlhelp.button.refresh.frag"></src:fragref> +<src:fragref linkend="htmlhelp.button.stop.frag"></src:fragref> +<src:fragref linkend="htmlhelp.button.zoom.frag"></src:fragref> +<src:fragref linkend="htmlhelp.chm.frag"></src:fragref> +<src:fragref linkend="htmlhelp.default.topic.frag"></src:fragref> +<src:fragref linkend="htmlhelp.display.progress.frag"></src:fragref> +<src:fragref linkend="htmlhelp.encoding.frag"></src:fragref> +<src:fragref linkend="htmlhelp.enhanced.decompilation.frag"></src:fragref> +<src:fragref linkend="htmlhelp.enumerate.images.frag"></src:fragref> +<src:fragref linkend="htmlhelp.force.map.and.alias.frag"></src:fragref> +<src:fragref linkend="htmlhelp.hhc.binary.frag"></src:fragref> +<src:fragref linkend="htmlhelp.hhc.folders.instead.books.frag"></src:fragref> +<src:fragref linkend="htmlhelp.hhc.frag"></src:fragref> +<src:fragref linkend="htmlhelp.hhc.section.depth.frag"></src:fragref> +<src:fragref linkend="htmlhelp.hhc.show.root.frag"></src:fragref> +<src:fragref linkend="htmlhelp.hhc.width.frag"></src:fragref> +<src:fragref linkend="htmlhelp.hhk.frag"></src:fragref> +<src:fragref linkend="htmlhelp.hhp.frag"></src:fragref> +<src:fragref linkend="htmlhelp.hhp.tail.frag"></src:fragref> +<src:fragref linkend="htmlhelp.hhp.window.frag"></src:fragref> +<src:fragref linkend="htmlhelp.hhp.windows.frag"></src:fragref> +<src:fragref linkend="htmlhelp.map.file.frag"></src:fragref> +<src:fragref linkend="htmlhelp.only.frag"></src:fragref> +<src:fragref linkend="htmlhelp.remember.window.position.frag"></src:fragref> +<src:fragref linkend="htmlhelp.show.advanced.search.frag"></src:fragref> +<src:fragref linkend="htmlhelp.show.favorities.frag"></src:fragref> +<src:fragref linkend="htmlhelp.show.menu.frag"></src:fragref> +<src:fragref linkend="htmlhelp.show.toolbar.text.frag"></src:fragref> +<src:fragref linkend="htmlhelp.title.frag"></src:fragref> +<src:fragref linkend="htmlhelp.use.hhk.frag"></src:fragref> +<src:fragref linkend="htmlhelp.window.geometry.frag"></src:fragref> +<src:fragref linkend="id.warnings.frag"></src:fragref> +<src:fragref linkend="ignore.image.scaling.frag"></src:fragref> +<src:fragref linkend="img.src.path.frag"></src:fragref> +<src:fragref linkend="index.links.to.section.frag"></src:fragref> +<src:fragref linkend="index.method.frag"></src:fragref> +<src:fragref linkend="index.number.separator.frag"></src:fragref> +<src:fragref linkend="index.on.role.frag"></src:fragref> +<src:fragref linkend="index.on.type.frag"></src:fragref> +<src:fragref linkend="index.prefer.titleabbrev.frag"></src:fragref> +<src:fragref linkend="index.range.separator.frag"></src:fragref> +<src:fragref linkend="index.term.separator.frag"></src:fragref> +<src:fragref linkend="inherit.keywords.frag"></src:fragref> +<src:fragref linkend="insert.olink.page.number.frag"></src:fragref> +<src:fragref linkend="insert.olink.pdf.frag.frag"></src:fragref> +<src:fragref linkend="insert.xref.page.number.frag"></src:fragref> +<src:fragref linkend="javahelp.encoding.frag"></src:fragref> +<src:fragref linkend="keep.relative.image.uris.frag"></src:fragref> +<src:fragref linkend="l10n.gentext.default.language.frag"></src:fragref> +<src:fragref linkend="l10n.gentext.language.frag"></src:fragref> +<src:fragref linkend="l10n.gentext.use.xref.language.frag"></src:fragref> +<src:fragref linkend="l10n.lang.value.rfc.compliant.frag"></src:fragref> +<src:fragref linkend="label.from.part.frag"></src:fragref> +<src:fragref linkend="linenumbering.everyNth.frag"></src:fragref> +<src:fragref linkend="linenumbering.extension.frag"></src:fragref> +<src:fragref linkend="linenumbering.separator.frag"></src:fragref> +<src:fragref linkend="linenumbering.width.frag"></src:fragref> +<src:fragref linkend="link.mailto.url.frag"></src:fragref> +<src:fragref linkend="make.clean.html.frag"></src:fragref> +<src:fragref linkend="make.graphic.viewport.frag"></src:fragref> +<src:fragref linkend="make.single.year.ranges.frag"></src:fragref> +<src:fragref linkend="make.valid.html.frag"></src:fragref> +<src:fragref linkend="make.year.ranges.frag"></src:fragref> +<src:fragref linkend="manifest.frag"></src:fragref> +<src:fragref linkend="manifest.in.base.dir.frag"></src:fragref> +<src:fragref linkend="manual.toc.frag"></src:fragref> +<src:fragref linkend="menuchoice.menu.separator.frag"></src:fragref> +<src:fragref linkend="menuchoice.separator.frag"></src:fragref> +<src:fragref linkend="navig.graphics.extension.frag"></src:fragref> +<src:fragref linkend="navig.graphics.frag"></src:fragref> +<src:fragref linkend="navig.graphics.path.frag"></src:fragref> +<src:fragref linkend="navig.showtitles.frag"></src:fragref> +<src:fragref linkend="nominal.image.depth.frag"></src:fragref> +<src:fragref linkend="nominal.image.width.frag"></src:fragref> +<src:fragref linkend="nominal.table.width.frag"></src:fragref> +<src:fragref linkend="olink.base.uri.frag"></src:fragref> +<src:fragref linkend="olink.debug.frag"></src:fragref> +<src:fragref linkend="olink.doctitle.frag"></src:fragref> +<src:fragref linkend="olink.fragid.frag"></src:fragref> +<src:fragref linkend="olink.lang.fallback.sequence.frag"></src:fragref> +<src:fragref linkend="olink.outline.ext.frag"></src:fragref> +<src:fragref linkend="olink.properties.frag"></src:fragref> +<src:fragref linkend="olink.pubid.frag"></src:fragref> +<src:fragref linkend="olink.resolver.frag"></src:fragref> +<src:fragref linkend="olink.sysid.frag"></src:fragref> +<src:fragref linkend="othercredit.like.author.enabled.frag"></src:fragref> +<src:fragref linkend="para.propagates.style.frag"></src:fragref> +<src:fragref linkend="part.autolabel.frag"></src:fragref> +<src:fragref linkend="phrase.propagates.style.frag"></src:fragref> +<src:fragref linkend="pixels.per.inch.frag"></src:fragref> +<src:fragref linkend="points.per.em.frag"></src:fragref> +<src:fragref linkend="preface.autolabel.frag"></src:fragref> +<src:fragref linkend="prefer.internal.olink.frag"></src:fragref> +<src:fragref linkend="preferred.mediaobject.role.frag"></src:fragref> +<src:fragref linkend="process.empty.source.toc.frag"></src:fragref> +<src:fragref linkend="process.source.toc.frag"></src:fragref> +<src:fragref linkend="profile.arch.frag"></src:fragref> +<src:fragref linkend="profile.attribute.frag"></src:fragref> +<src:fragref linkend="profile.audience.frag"></src:fragref> +<src:fragref linkend="profile.condition.frag"></src:fragref> +<src:fragref linkend="profile.conformance.frag"></src:fragref> +<src:fragref linkend="profile.lang.frag"></src:fragref> +<src:fragref linkend="profile.os.frag"></src:fragref> +<src:fragref linkend="profile.revision.frag"></src:fragref> +<src:fragref linkend="profile.revisionflag.frag"></src:fragref> +<src:fragref linkend="profile.role.frag"></src:fragref> +<src:fragref linkend="profile.security.frag"></src:fragref> +<src:fragref linkend="profile.separator.frag"></src:fragref> +<src:fragref linkend="profile.status.frag"></src:fragref> +<src:fragref linkend="profile.userlevel.frag"></src:fragref> +<src:fragref linkend="profile.value.frag"></src:fragref> +<src:fragref linkend="profile.vendor.frag"></src:fragref> +<src:fragref linkend="profile.wordsize.frag"></src:fragref> +<src:fragref linkend="punct.honorific.frag"></src:fragref> +<src:fragref linkend="qanda.defaultlabel.frag"></src:fragref> +<src:fragref linkend="qanda.in.toc.frag"></src:fragref> +<src:fragref linkend="qanda.inherit.numeration.frag"></src:fragref> +<src:fragref linkend="qanda.nested.in.toc.frag"></src:fragref> +<src:fragref linkend="qandadiv.autolabel.frag"></src:fragref> +<src:fragref linkend="refclass.suppress.frag"></src:fragref> +<src:fragref linkend="refentry.generate.name.frag"></src:fragref> +<src:fragref linkend="refentry.generate.title.frag"></src:fragref> +<src:fragref linkend="refentry.separator.frag"></src:fragref> +<src:fragref linkend="refentry.xref.manvolnum.frag"></src:fragref> +<src:fragref linkend="reference.autolabel.frag"></src:fragref> +<src:fragref linkend="root.filename.frag"></src:fragref> +<src:fragref linkend="rootid.frag"></src:fragref> +<src:fragref linkend="runinhead.default.title.end.punct.frag"></src:fragref> +<src:fragref linkend="runinhead.title.end.punct.frag"></src:fragref> +<src:fragref linkend="section.autolabel.frag"></src:fragref> +<src:fragref linkend="section.autolabel.max.depth.frag"></src:fragref> +<src:fragref linkend="section.label.includes.component.label.frag"></src:fragref> +<src:fragref linkend="segmentedlist.as.table.frag"></src:fragref> +<src:fragref linkend="shade.verbatim.frag"></src:fragref> +<src:fragref linkend="shade.verbatim.style.frag"></src:fragref> +<src:fragref linkend="show.comments.frag"></src:fragref> +<src:fragref linkend="show.revisionflag.frag"></src:fragref> +<src:fragref linkend="simplesect.in.toc.frag"></src:fragref> +<src:fragref linkend="spacing.paras.frag"></src:fragref> +<src:fragref linkend="suppress.footer.navigation.frag"></src:fragref> +<src:fragref linkend="suppress.header.navigation.frag"></src:fragref> +<src:fragref linkend="suppress.navigation.frag"></src:fragref> +<src:fragref linkend="table.borders.with.css.frag"></src:fragref> +<src:fragref linkend="table.cell.border.color.frag"></src:fragref> +<src:fragref linkend="table.cell.border.style.frag"></src:fragref> +<src:fragref linkend="table.cell.border.thickness.frag"></src:fragref> +<src:fragref linkend="table.footnote.number.format.frag"></src:fragref> +<src:fragref linkend="table.footnote.number.symbols.frag"></src:fragref> +<src:fragref linkend="table.frame.border.color.frag"></src:fragref> +<src:fragref linkend="table.frame.border.style.frag"></src:fragref> +<src:fragref linkend="table.frame.border.thickness.frag"></src:fragref> +<src:fragref linkend="tablecolumns.extension.frag"></src:fragref> +<src:fragref linkend="target.database.document.frag"></src:fragref> +<src:fragref linkend="targets.filename.frag"></src:fragref> +<src:fragref linkend="tex.math.delims.frag"></src:fragref> +<src:fragref linkend="tex.math.file.frag"></src:fragref> +<src:fragref linkend="tex.math.in.alt.frag"></src:fragref> +<src:fragref linkend="textdata.default.encoding.frag"></src:fragref> +<src:fragref linkend="textinsert.extension.frag"></src:fragref> +<src:fragref linkend="toc.list.type.frag"></src:fragref> +<src:fragref linkend="toc.max.depth.frag"></src:fragref> +<src:fragref linkend="toc.section.depth.frag"></src:fragref> +<src:fragref linkend="ulink.target.frag"></src:fragref> +<src:fragref linkend="use.embed.for.svg.frag"></src:fragref> +<src:fragref linkend="use.extensions.frag"></src:fragref> +<src:fragref linkend="use.id.as.filename.frag"></src:fragref> +<src:fragref linkend="use.local.olink.style.frag"></src:fragref> +<src:fragref linkend="use.role.as.xrefstyle.frag"></src:fragref> +<src:fragref linkend="use.role.for.mediaobject.frag"></src:fragref> +<src:fragref linkend="use.svg.frag"></src:fragref> +<src:fragref linkend="variablelist.as.table.frag"></src:fragref> +<src:fragref linkend="variablelist.term.break.after.frag"></src:fragref> +<src:fragref linkend="variablelist.term.separator.frag"></src:fragref> +<src:fragref linkend="writing.mode.frag"></src:fragref> +<src:fragref linkend="xref.label-page.separator.frag"></src:fragref> +<src:fragref linkend="xref.label-title.separator.frag"></src:fragref> +<src:fragref linkend="xref.title-page.separator.frag"></src:fragref> +<src:fragref linkend="xref.with.number.and.title.frag"></src:fragref> + +</xsl:stylesheet> + + + +
    diff --git a/doc/help/xslt/html/param.xsl b/doc/help/xslt/html/param.xsl new file mode 100644 index 00000000..d5e60862 --- /dev/null +++ b/doc/help/xslt/html/param.xsl @@ -0,0 +1,434 @@ + + + + + + + +.png + +images/ + + + + + + +/* ====================================================================== + Annotations +*/ + +div.annotation-list { visibility: hidden; + } + +div.annotation-nocss { position: absolute; + visibility: hidden; + } + +div.annotation-popup { position: absolute; + z-index: 4; + visibility: hidden; + padding: 0px; + margin: 2px; + border-style: solid; + border-width: 1px; + width: 200px; + background-color: white; + } + +div.annotation-title { padding: 1px; + font-weight: bold; + border-bottom-style: solid; + border-bottom-width: 1px; + color: white; + background-color: black; + } + +div.annotation-body { padding: 2px; + } + +div.annotation-body p { margin-top: 0px; + padding-top: 0px; + } + +div.annotation-close { position: absolute; + top: 2px; + right: 2px; + } + + +http://docbook.sourceforge.net/release/images/annot-close.png +http://docbook.sourceforge.net/release/images/annot-open.png + + +http://docbook.sourceforge.net/release/script/AnchorPosition.js http://docbook.sourceforge.net/release/script/PopupWindow.js + + +A + + +. + +. +http://docbook.sourceforge.net/release/bibliography/bibliography.xml + + +normal + + +60 +.png + + +15 + +images/callouts/ + + +10 +10102 + + + + + + + + + + + +no + +1 + + + + + + left + before + + + +all + + +docbook.css.xml +no +images/draft.png + +::= + + + + +#F5DCB3 + + +com.example.help +DocBook Online Help Sample +Example provider +1 + + + + + + 1 + 0 + + + + +1 + + + +figure before +example before +equation before +table before +procedure before +task before + + +kr + + + + + + + + + + +appendix toc,title +article/appendix nop +article toc,title +book toc,title,figure,table,example,equation +chapter toc,title +part toc,title +preface toc,title +qandadiv toc +qandaset toc +reference toc,title +sect1 toc +sect2 toc +sect3 toc +sect4 toc +sect5 toc +section toc +set toc,title + + + + +no + + + + + + + + + + + + + +.html + + +copyright + + + +text/css +alias.h + + + + + + + +User1 + + +User2 + + + + + + + + + +htmlhelp.chm + + +iso-8859-1 + + + + + +toc.hhc +5 + + +index.hhk +htmlhelp.hhp + +Main + +context.h + + + + + + + + + + + + + +basic + + + + + + + +no + +no +iso-8859-1 + + +en + + + + +5 + + +3 + + + + + + + HTML.manifest + + + + ++ +.gif + +images/ +1 + + +6in + + +no +fragid= + +.olink + + replace + +pubid + /cgi-bin/olink +sysid +0 + +I + +90 +10 + + + + + + + + + + + + + + + + +; + + + + + +. +number + + + + + + + + + + I +index + +. +.!?: + +8 + + + + + 0 + #E0E0E0 + + + + + + +0 + + + + + +solid +0.5pt +a + + + +solid +0.5pt + + olinkdb.xml +target.db + +tex-math-equations.tex + + + +dl +8 +2 +_top + + + + + + + + +0 +, + + + writing-mode + + + + + + + + +: + + + + diff --git a/doc/help/xslt/html/pi.xml b/doc/help/xslt/html/pi.xml new file mode 100644 index 00000000..a8f357e5 --- /dev/null +++ b/doc/help/xslt/html/pi.xml @@ -0,0 +1,1113 @@ + + +HTML Processing Instruction Reference + + $Id: pi.xsl 8394 2009-04-02 20:31:30Z mzjn $ + + + + Introduction + +This is generated reference documentation for all + user-specifiable processing instructions (PIs) in the DocBook + XSL stylesheets for HTML output. + + +You add these PIs at particular points in a document to + cause specific “exceptions” to formatting/output behavior. To + make global changes in formatting/output behavior across an + entire document, it’s better to do it by setting an + appropriate stylesheet parameter (if there is one). + + + + + + + + +dbhtml_background-color +Sets background color for an image + + + + dbhtml background-color="color" + + +Description + +Use the dbhtml background-color PI before or + after an image (graphic, inlinegraphic, + imagedata, or videodata element) as a + sibling to the element, to set a background color for the + image. + + Parameters + + + background-color="color" + + +An HTML color value + + + + + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Background color + + + + + +dbhtml_bgcolor +Sets background color on a CALS table row or table cell + + + + dbhtml bgcolor="color" + + +Description + +Use the dbhtml bgcolor PI as child of a CALS table row + or cell to set a background color for that table row or cell. + + Parameters + + + bgcolor="color" + + +An HTML color value + + + + + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Cell background color + + + + + +dbhtml_cellpadding +Specifies cellpadding in CALS table or qandaset output + + + + dbhtml cellpadding="number" + + +Description + +Use the dbhtml cellpadding PI as a child of a + CALS table or qandaset to specify the value + for the HTML cellpadding attribute in the + output HTML table. + + Parameters + + + cellpadding="number" + + +Specifies the cellpadding + + + + + + Related Global Parameters + +html.cellpadding + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Cell spacing and cell padding, + Q and A formatting + + + + + +dbhtml_cellspacing +Specifies cellspacing in CALS table or qandaset output + + + + dbhtml cellspacing="number" + + +Description + +Use the dbhtml cellspacing PI as a child of a + CALS table or qandaset to specify the value + for the HTML cellspacing attribute in the + output HTML table. + + Parameters + + + cellspacing="number" + + +Specifies the cellspacing + + + + + + Related Global Parameters + +html.cellspacing + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Cell spacing and cell padding, + Q and A formatting + + + + + +dbhtml_class +Set value of the class attribute for a CALS table row + + + + dbhtml class="name" + + +Description + +Use the dbhtml class PI as a child of a + row to specify a class + attribute and value in the HTML output for that row. + + Parameters + + + class="name" + + +Specifies the class name + + + + + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Table styles in HTML output + + + + + +dbhtml_dir +Specifies a directory name in which to write files + + + + dbhtml dir="path" + + +Description + +When chunking output, use the dbhtml dir PI + as a child of a chunk source to cause the output of that + chunk to be written to the specified directory; also, use it + as a child of a mediaobject to specify a + directory into which any long-description files for that + mediaobject will be written. + + Parameters + + + dir="path" + + +Specifies the pathname for the directory + + + + + + Related Global Parameters + +base.dir + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +dbhtml dir processing instruction + + + + + +dbhtml_filename +Specifies a filename for a chunk + + + + dbhtml filename="filename" + + +Description + +When chunking output, use the dbhtml filename + PI as a child of a chunk source to specify a filename for + the output file for that chunk. + + Parameters + + + filename="path" + + +Specifies the filename for the file + + + + + + Related Global Parameters + +use.id.as.filename + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +dbhtml filenames + + + + + +dbhtml_funcsynopsis-style +Specifies presentation style for a funcsynopsis + + + + dbhtml funcsynopsis-style="kr"|"ansi" + + +Description + +Use the dbhtml funcsynopsis-style PI as a child of + a funcsynopsis or anywhere within a funcsynopsis + to control the presentation style for output of all + funcprototype instances within that funcsynopsis. + + Parameters + + + funcsynopsis-style="kr" + + +Displays funcprototype output in K&R style + + + + funcsynopsis-style="ansi" + + +Displays funcprototype output in ANSI style + + + + + + Related Global Parameters + +funcsynopsis.style + + + + + +dbhtml_img.src.path +Specifies a path to the location of an image file + + + + dbhtml img.src.path="path" + + +Description + +Use the dbhtml img.src.path PI before or + after an image (graphic, + inlinegraphic, imagedata, or + videodata element) as a sibling to the element, + to specify a path to the location of the image; in HTML + output, the value specified for the + img.src.path attribute is prepended to the + filename. + + Parameters + + + img.src.path="path" + + +Specifies the pathname to prepend to the name of the image file + + + + + + Related Global Parameters + +img.src.path + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Using fileref + + + + + +dbhtml_label-width +Specifies the label width for a qandaset + + + + dbhtml label-width="width" + + +Description + +Use the dbhtml label-width PI as a child of a + qandaset to specify the width of labels. + + Parameters + + + label-width="width" + + +Specifies the label width (including units) + + + + + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Q and A formatting + + + + + +dbhtml_linenumbering.everyNth +Specifies interval for line numbers in verbatims + + + + dbhtml linenumbering.everyNth="N" + + +Description + +Use the dbhtml linenumbering.everyNth PI as a child + of a “verbatim” element – programlisting, + screen, synopsis — to specify + the interval at which lines are numbered. + + Parameters + + + linenumbering.everyNth="N" + + +Specifies numbering interval; a number is output + before every Nth line + + + + + + Related Global Parameters + +linenumbering.everyNth + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Line numbering + + + + + +dbhtml_linenumbering.separator +Specifies separator text for line numbers in verbatims + + + + dbhtml linenumbering.separator="text" + + +Description + +Use the dbhtml linenumbering.separator PI as a child + of a “verbatim” element – programlisting, + screen, synopsis — to specify + the separator text output between the line numbers and content. + + Parameters + + + linenumbering.separator="text" + + +Specifies the text (zero or more characters) + + + + + + Related Global Parameters + +linenumbering.separator + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Line numbering + + + + + +dbhtml_linenumbering.width +Specifies width for line numbers in verbatims + + + + dbhtml linenumbering.width="width" + + +Description + +Use the dbhtml linenumbering.width PI as a child + of a “verbatim” element – programlisting, + screen, synopsis — to specify + the width set aside for line numbers. + + Parameters + + + linenumbering.width="width" + + +Specifies the width (inluding units) + + + + + + Related Global Parameters + +linenumbering.width + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Line numbering + + + + + +dbhtml_list-presentation +Specifies presentation style for a variablelist or + segmentedlist + + + + dbhtml list-presentation="list"|"table" + + +Description + +Use the dbhtml list-presentation PI as a child of + a variablelist or segmentedlist to + control the presentation style for the list (to cause it, for + example, to be displayed as a table). + + Parameters + + + list-presentation="list" + + +Displays the list as a list + + + + list-presentation="table" + + +Displays the list as a table + + + + + + Related Global Parameters + + + + +variablelist.as.table + + + + +segmentedlist.as.table + + + + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Variable list formatting in HTML + + + + + +dbhtml_list-width +Specifies the width of a variablelist or simplelist + + + + dbhtml list-width="width" + + +Description + +Use the dbhtml list-width PI as a child of a + variablelist or a simplelist presented + as a table, to specify the output width. + + Parameters + + + list-width="width" + + +Specifies the output width (including units) + + + + + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Variable list formatting in HTML + + + + + +dbhtml_row-height +Specifies the height for a CALS table row + + + + dbhtml row-height="height" + + +Description + +Use the dbhtml row-height PI as a child of a + row to specify the height of the row. + + Parameters + + + row-height="height" + + +Specifies the row height (including units) + + + + + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Row height + + + + + +dbhtml_start +(obsolete) Sets the starting number on an ordered list + + + + dbhtml start="character" + + +Description + +This PI is obsolete. The intent of + this PI was to provide a means for setting a specific starting + number for an ordered list. Instead of this PI, set a value + for the override attribute on the first + listitem in the list; that will have the same + effect as what this PI was intended for. + + Parameters + + + start="character" + + +Specifies the character to use as the starting + number; use 0-9, a-z, A-Z, or lowercase or uppercase + Roman numerals + + + + + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +List starting number + + + + + +dbhtml_stop-chunking +Do not chunk any descendants of this element. + + + + dbhtml stop-chunking + + +Description + +When generating chunked HTML output, adding this PI as the child of an element that contains elements that would normally be generated on separate pages if generating chunked output causes chunking to stop at this point. No descendants of the current element will be split into new HTML pages: +<section> +<title>Configuring pencil</title> +<?dbhtml stop-chunking?> + +... + +</section> + + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Chunking into multiple HTML files + + + + + +dbhtml_table-summary +Specifies summary for CALS table, variablelist, segmentedlist, or qandaset output + + + + dbhtml table-summary="text" + + +Description + +Use the dbhtml table-summary PI as a child of + a CALS table, variablelist, + segmentedlist, or qandaset to specify + the text for the HTML summary attribute + in the output HTML table. + + Parameters + + + table-summary="text" + + +Specifies the summary text (zero or more characters) + + + + + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Variable list formatting in HTML, + Table summary text + + + + + +dbhtml_table-width +Specifies the width for a CALS table + + + + dbhtml table-width="width" + + +Description + +Use the dbhtml table-width PI as a child of a + CALS table to specify the width of the table in + output. + + Parameters + + + table-width="width" + + +Specifies the table width (including units or as a percentage) + + + + + + Related Global Parameters + +default.table.width + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Table width + + + + + +dbhtml_term-presentation +Sets character formatting for terms in a variablelist + + + + dbhtml term-presentation="bold"|"italic"|"bold-italic" + + +Description + +Use the dbhtml term-presentation PI as a child + of a variablelist to set character formatting for + the term output of the list. + + Parameters + + + term-presentation="bold" + + +Specifies that terms are displayed in bold + + + + term-presentation="italic" + + +Specifies that terms are displayed in italic + + + + term-presentation="bold-italic" + + +Specifies that terms are displayed in bold-italic + + + + + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Variable list formatting in HTML + + + + + +dbhtml_term-separator +Specifies separator text among terms in a varlistentry + + + + dbhtml term-separator="text" + + +Description + +Use the dbhtml term-separator PI as a child + of a variablelist to specify the separator text + among term instances. + + Parameters + + + term-separator="text" + + +Specifies the text (zero or more characters) + + + + + + Related Global Parameters + +variablelist.term.separator + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Variable list formatting in HTML + + + + + +dbhtml_term-width +Specifies the term width for a variablelist + + + + dbhtml term-width="width" + + +Description + +Use the dbhtml term-width PI as a child of a + variablelist to specify the width for + term output. + + Parameters + + + term-width="width" + + +Specifies the term width (including units) + + + + + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Variable list formatting in HTML + + + + + +dbhtml_toc +Specifies whether a TOC should be generated for a qandaset + + + + dbhtml toc="0"|"1" + + +Description + +Use the dbhtml toc PI as a child of a + qandaset to specify whether a table of contents + (TOC) is generated for the qandaset. + + Parameters + + + toc="0" + + +If zero, no TOC is generated + + + + toc="1" + + +If 1 (or any non-zero value), + a TOC is generated + + + + + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Q and A list of questions, + Q and A formatting + + + + + +dbcmdlist +Generates a hyperlinked list of commands + + + + dbcmdlist + + +Description + +Use the dbcmdlist PI as the child of any + element (for example, refsynopsisdiv) containing multiple + cmdsynopsis instances; a hyperlinked navigational + “command list” will be generated at the top of output for that + element, enabling users to quickly jump + to each command synopsis. + + Parameters + +[No parameters] + + + + + +dbfunclist +Generates a hyperlinked list of functions + + + + dbfunclist + + +Description + +Use the dbfunclist PI as the child of any + element (for example, refsynopsisdiv) containing multiple + funcsynopsis instances; a hyperlinked + navigational “function list” will be generated at the top of + output for that element, enabling users to quickly + jump to to each function synopsis. + + Parameters + +[No parameters] + + + + + +dbhtml-include_href +Copies an external well-formed HTML/XML file into current doc + + + + dbhtml-include href="URI" + + +Description + +Use the dbhtml-include href PI anywhere in a + document to cause the contents of the file referenced by the + href pseudo-attribute to be copied/inserted “as + is” into your HTML output at the point in document order + where the PI occurs in the source. + + + +The referenced file may contain plain text (as long as + it is “wrapped” in an html element — see the + note below) or markup in any arbitrary vocabulary, + including HTML — but it must conform to XML + well-formedness constraints (because the feature in XSLT + 1.0 for opening external files, the + document() function, can only handle + files that meet XML well-formedness constraints). + + +Among other things, XML well-formedness constraints + require a document to have a single root + element. So if the content you want to + include is plain text or is markup that does + not have a single root element, + wrap the content in an + html element. The stylesheets will + strip out that surrounding html “wrapper” when + they find it, leaving just the content you want to + insert. + + + Parameters + + + href="URI" + + +Specifies the URI for the file to include; the URI + can be, for example, a remote http: + URI, or a local filesystem file: + URI + + + + + + Related Global Parameters + +textinsert.extension + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Inserting external HTML code, + External code files + + + + + +dbhh +Sets topic name and topic id for context-sensitive HTML Help + + + + dbhh topicname="name" topicid="id" + + +Description + +Use the dbhh PI as a child of components + that should be used as targets for context-sensitive help requests. + + Parameters + + + topicname="name" + + +Specifies a unique string constant that identifies a help topic + + + + topicid="id" + + +Specifies a unique integer value for the topicname string + + + + + + Related Information in <link xlink:href="http://www.sagehill.net/docbookxsl/">DocBook XSL: The Complete Guide</link> + +Context-sensitive help + + + + diff --git a/doc/help/xslt/html/pi.xsl b/doc/help/xslt/html/pi.xsl new file mode 100644 index 00000000..ac1345fd --- /dev/null +++ b/doc/help/xslt/html/pi.xsl @@ -0,0 +1,1263 @@ + + + + + +HTML Processing Instruction Reference + + $Id: pi.xsl 8394 2009-04-02 20:31:30Z mzjn $ + + + + Introduction + This is generated reference documentation for all + user-specifiable processing instructions (PIs) in the DocBook + XSL stylesheets for HTML output. + + You add these PIs at particular points in a document to + cause specific “exceptions” to formatting/output behavior. To + make global changes in formatting/output behavior across an + entire document, it’s better to do it by setting an + appropriate stylesheet parameter (if there is one). + + + + + + + + + Sets background color for an image + + Use the dbhtml background-color PI before or + after an image (graphic, inlinegraphic, + imagedata, or videodata element) as a + sibling to the element, to set a background color for the + image. + + + dbhtml background-color="color" + + + + background-color="color" + + An HTML color value + + + + + + Background color + + + + + + + + + + + + Sets background color on a CALS table row or table cell + + Use the dbhtml bgcolor PI as child of a CALS table row + or cell to set a background color for that table row or cell. + + + dbhtml bgcolor="color" + + + + bgcolor="color" + + An HTML color value + + + + + + Cell background color + + + + + + + + + + + + Specifies cellpadding in CALS table or qandaset output + + Use the dbhtml cellpadding PI as a child of a + CALS table or qandaset to specify the value + for the HTML cellpadding attribute in the + output HTML table. + + + dbhtml cellpadding="number" + + + + cellpadding="number" + + Specifies the cellpadding + + + + + + html.cellpadding + + + Cell spacing and cell padding, + Q and A formatting + + + + + + + + + + + + Specifies cellspacing in CALS table or qandaset output + + Use the dbhtml cellspacing PI as a child of a + CALS table or qandaset to specify the value + for the HTML cellspacing attribute in the + output HTML table. + + + dbhtml cellspacing="number" + + + + cellspacing="number" + + Specifies the cellspacing + + + + + + html.cellspacing + + + Cell spacing and cell padding, + Q and A formatting + + + + + + + + + + + + Set value of the class attribute for a CALS table row + + Use the dbhtml class PI as a child of a + row to specify a class + attribute and value in the HTML output for that row. + + + dbhtml class="name" + + + + class="name" + + Specifies the class name + + + + + + Table styles in HTML output + + + + + + + + + + + + Specifies a directory name in which to write files + + When chunking output, use the dbhtml dir PI + as a child of a chunk source to cause the output of that + chunk to be written to the specified directory; also, use it + as a child of a mediaobject to specify a + directory into which any long-description files for that + mediaobject will be written. + + + dbhtml dir="path" + + + + dir="path" + + Specifies the pathname for the directory + + + + + + base.dir + + + dbhtml dir processing instruction + + + + + + + + + + + + Specifies a filename for a chunk + + When chunking output, use the dbhtml filename + PI as a child of a chunk source to specify a filename for + the output file for that chunk. + + + dbhtml filename="filename" + + + + filename="path" + + Specifies the filename for the file + + + + + + use.id.as.filename + + + dbhtml filenames + + + + + + + + + + + + Specifies presentation style for a funcsynopsis + + Use the dbhtml funcsynopsis-style PI as a child of + a funcsynopsis or anywhere within a funcsynopsis + to control the presentation style for output of all + funcprototype instances within that funcsynopsis. + + + dbhtml funcsynopsis-style="kr"|"ansi" + + + + funcsynopsis-style="kr" + + Displays funcprototype output in K&R style + + + funcsynopsis-style="ansi" + + Displays funcprototype output in ANSI style + + + + + + funcsynopsis.style + + + + + + + + + + + + Specifies a path to the location of an image file + + Use the dbhtml img.src.path PI before or + after an image (graphic, + inlinegraphic, imagedata, or + videodata element) as a sibling to the element, + to specify a path to the location of the image; in HTML + output, the value specified for the + img.src.path attribute is prepended to the + filename. + + + dbhtml img.src.path="path" + + + + img.src.path="path" + + Specifies the pathname to prepend to the name of the image file + + + + + + img.src.path + + + Using fileref + + + + + + + + + + + + Specifies the label width for a qandaset + + Use the dbhtml label-width PI as a child of a + qandaset to specify the width of labels. + + + dbhtml label-width="width" + + + + label-width="width" + + Specifies the label width (including units) + + + + + + Q and A formatting + + + + + + + + + + + + Specifies interval for line numbers in verbatims + + Use the dbhtml linenumbering.everyNth PI as a child + of a “verbatim” element – programlisting, + screen, synopsis — to specify + the interval at which lines are numbered. + + + dbhtml linenumbering.everyNth="N" + + + + linenumbering.everyNth="N" + + Specifies numbering interval; a number is output + before every Nth line + + + + + + linenumbering.everyNth + + + Line numbering + + + + + + + + + + + + Specifies separator text for line numbers in verbatims + + Use the dbhtml linenumbering.separator PI as a child + of a “verbatim” element – programlisting, + screen, synopsis — to specify + the separator text output between the line numbers and content. + + + dbhtml linenumbering.separator="text" + + + + linenumbering.separator="text" + + Specifies the text (zero or more characters) + + + + + + linenumbering.separator + + + Line numbering + + + + + + + + + + + + Specifies width for line numbers in verbatims + + Use the dbhtml linenumbering.width PI as a child + of a “verbatim” element – programlisting, + screen, synopsis — to specify + the width set aside for line numbers. + + + dbhtml linenumbering.width="width" + + + + linenumbering.width="width" + + Specifies the width (inluding units) + + + + + + linenumbering.width + + + Line numbering + + + + + + + + + + + + Specifies presentation style for a variablelist or + segmentedlist + + Use the dbhtml list-presentation PI as a child of + a variablelist or segmentedlist to + control the presentation style for the list (to cause it, for + example, to be displayed as a table). + + + dbhtml list-presentation="list"|"table" + + + + list-presentation="list" + + Displays the list as a list + + + list-presentation="table" + + Displays the list as a table + + + + + + + + variablelist.as.table + + + segmentedlist.as.table + + + + + Variable list formatting in HTML + + + + + + + + + + + + Specifies the width of a variablelist or simplelist + + Use the dbhtml list-width PI as a child of a + variablelist or a simplelist presented + as a table, to specify the output width. + + + dbhtml list-width="width" + + + + list-width="width" + + Specifies the output width (including units) + + + + + + Variable list formatting in HTML + + + + + + + + + + + + Specifies the height for a CALS table row + + Use the dbhtml row-height PI as a child of a + row to specify the height of the row. + + + dbhtml row-height="height" + + + + row-height="height" + + Specifies the row height (including units) + + + + + + Row height + + + + + + + + + + + + (obsolete) Sets the starting number on an ordered list + + This PI is obsolete. The intent of + this PI was to provide a means for setting a specific starting + number for an ordered list. Instead of this PI, set a value + for the override attribute on the first + listitem in the list; that will have the same + effect as what this PI was intended for. + + + dbhtml start="character" + + + + start="character" + + Specifies the character to use as the starting + number; use 0-9, a-z, A-Z, or lowercase or uppercase + Roman numerals + + + + + + List starting number + + + + + + + + + + + + Do not chunk any descendants of this element. + + When generating chunked HTML output, adding this PI as the child of an element that contains elements that would normally be generated on separate pages if generating chunked output causes chunking to stop at this point. No descendants of the current element will be split into new HTML pages: + +Configuring pencil + + +... + +]]> + + + + dbhtml stop-chunking + + + Chunking into multiple HTML files + + + + + + Specifies summary for CALS table, variablelist, segmentedlist, or qandaset output + + Use the dbhtml table-summary PI as a child of + a CALS table, variablelist, + segmentedlist, or qandaset to specify + the text for the HTML summary attribute + in the output HTML table. + + + dbhtml table-summary="text" + + + + table-summary="text" + + Specifies the summary text (zero or more characters) + + + + + + Variable list formatting in HTML, + Table summary text + + + + + + + + + + + + Specifies the width for a CALS table + + Use the dbhtml table-width PI as a child of a + CALS table to specify the width of the table in + output. + + + dbhtml table-width="width" + + + + table-width="width" + + Specifies the table width (including units or as a percentage) + + + + + + default.table.width + + + Table width + + + + + + + + + + + + Sets character formatting for terms in a variablelist + + Use the dbhtml term-presentation PI as a child + of a variablelist to set character formatting for + the term output of the list. + + + dbhtml term-presentation="bold"|"italic"|"bold-italic" + + + + term-presentation="bold" + + Specifies that terms are displayed in bold + + + term-presentation="italic" + + Specifies that terms are displayed in italic + + + term-presentation="bold-italic" + + Specifies that terms are displayed in bold-italic + + + + + + Variable list formatting in HTML + + + + + + + + + + + + Specifies separator text among terms in a varlistentry + + Use the dbhtml term-separator PI as a child + of a variablelist to specify the separator text + among term instances. + + + dbhtml term-separator="text" + + + + term-separator="text" + + Specifies the text (zero or more characters) + + + + + + variablelist.term.separator + + + Variable list formatting in HTML + + + + + + + + + + + + Specifies the term width for a variablelist + + Use the dbhtml term-width PI as a child of a + variablelist to specify the width for + term output. + + + dbhtml term-width="width" + + + + term-width="width" + + Specifies the term width (including units) + + + + + + Variable list formatting in HTML + + + + + + + + + + + + Specifies whether a TOC should be generated for a qandaset + + Use the dbhtml toc PI as a child of a + qandaset to specify whether a table of contents + (TOC) is generated for the qandaset. + + + dbhtml toc="0"|"1" + + + + toc="0" + + If zero, no TOC is generated + + + toc="1" + + If 1 (or any non-zero value), + a TOC is generated + + + + + + Q and A list of questions, + Q and A formatting + + + + + + + + + + + + Generates a hyperlinked list of commands + + Use the dbcmdlist PI as the child of any + element (for example, refsynopsisdiv) containing multiple + cmdsynopsis instances; a hyperlinked navigational + “command list” will be generated at the top of output for that + element, enabling users to quickly jump + to each command synopsis. + + + dbcmdlist + + + [No parameters] + + + + + + No cmdsynopsis elements matched dbcmdlist PI, perhaps it's nested too deep? + + +
    + + + +
    +
    + + + Generates a hyperlinked list of functions + + Use the dbfunclist PI as the child of any + element (for example, refsynopsisdiv) containing multiple + funcsynopsis instances; a hyperlinked + navigational “function list” will be generated at the top of + output for that element, enabling users to quickly + jump to to each function synopsis. + + + dbfunclist + + + [No parameters] + + + + + + No funcsynopsis elements matched dbfunclist PI, perhaps it's nested too deep? + + +
    + + + +
    +
    + + + Copies an external well-formed HTML/XML file into current doc + + Use the dbhtml-include href PI anywhere in a + document to cause the contents of the file referenced by the + href pseudo-attribute to be copied/inserted “as + is” into your HTML output at the point in document order + where the PI occurs in the source. + + The referenced file may contain plain text (as long as + it is “wrapped” in an html element — see the + note below) or markup in any arbitrary vocabulary, + including HTML — but it must conform to XML + well-formedness constraints (because the feature in XSLT + 1.0 for opening external files, the + document() function, can only handle + files that meet XML well-formedness constraints). + Among other things, XML well-formedness constraints + require a document to have a single root + element. So if the content you want to + include is plain text or is markup that does + not have a single root element, + wrap the content in an + html element. The stylesheets will + strip out that surrounding html “wrapper” when + they find it, leaving just the content you want to + insert. + + + + dbhtml-include href="URI" + + + + href="URI" + + Specifies the URI for the file to include; the URI + can be, for example, a remote http: + URI, or a local filesystem file: + URI + + + + + + textinsert.extension + + + Inserting external HTML code, + External code files + + + + + + + href + + + + + + + + + + + + + + + + + + + + ERROR: dbhtml-include processing instruction + href has no content. + + + + + + + ERROR: dbhtml-include processing instruction has + missing or empty href value. + + + + + + + + Sets topic name and topic id for context-sensitive HTML Help + + Use the dbhh PI as a child of components + that should be used as targets for context-sensitive help requests. + + + dbhh topicname="name" topicid="id" + + + + topicname="name" + + Specifies a unique string constant that identifies a help topic + + + topicid="id" + + Specifies a unique integer value for the topicname string + + + + + + Context-sensitive help + + + + + + + + + + filename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + # + + + + + + + + + + + + + + + + + + +
    + + + + + +
    +
    +
    + + + + + + + + + + + + + + + +
    + + + # + + + + + + + + + + + + + + + + + + +
    + + + + + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + / + + + + / + + + + +
    diff --git a/doc/help/xslt/html/profile-chunk-code.xsl b/doc/help/xslt/html/profile-chunk-code.xsl new file mode 100644 index 00000000..cabfd911 --- /dev/null +++ b/doc/help/xslt/html/profile-chunk-code.xsl @@ -0,0 +1,615 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + bk + + + + + + + + + + + + + + + ar + + + + + + + + + + + + + + + pr + + + + + + + + + + + + + + + ch + + + + + + + + + + + + + + + ap + + + + + + + + + + + + + + + + + + + pt + + + + + + + + + + + + + + + + + + + rn + + + + + + + + + + + + + + + + + + + + + + + + re + + + + + + + + + + + + + + + + + + + co + + + + + + + + + + + s + + + + + + + + + + + + + + + + + + + bi + + + + + + + + + + + + + + + + + + + go + + + + + + + + + + + + + + + + + + + ix + + + + + + + + si + + + + + + + + chunk-filename-error- + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Note: namesp. cut : stripped namespace before processingNote: namesp. cut : processing stripped document + + + + + + + + + + + + + + + + + ID ' + + ' not found in document. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/html/profile-chunk.xsl b/doc/help/xslt/html/profile-chunk.xsl new file mode 100644 index 00000000..02920b12 --- /dev/null +++ b/doc/help/xslt/html/profile-chunk.xsl @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/html/profile-docbook.xsl b/doc/help/xslt/html/profile-docbook.xsl new file mode 100644 index 00000000..45e55f24 --- /dev/null +++ b/doc/help/xslt/html/profile-docbook.xsl @@ -0,0 +1,413 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Element + + in namespace ' + + ' encountered + + in + + + , but no template matches. + + + + < + + > + + </ + + > + + + + + + + + + white + black + #0000FF + #840084 + #0000FF + + rtl + + + + + + + + + + + <xsl:copy-of select="$title"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Note: namesp. cut : stripped namespace before processingNote: namesp. cut : processing stripped document + + + + + + + + + + + + + + + + + + ID ' + + ' not found in document. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + diff --git a/doc/help/xslt/html/profile-onechunk.xsl b/doc/help/xslt/html/profile-onechunk.xsl new file mode 100644 index 00000000..325b8b12 --- /dev/null +++ b/doc/help/xslt/html/profile-onechunk.xsl @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + +1 + + + + # + + + + + + diff --git a/doc/help/xslt/html/qandaset.xsl b/doc/help/xslt/html/qandaset.xsl new file mode 100644 index 00000000..3bf35e8f --- /dev/null +++ b/doc/help/xslt/html/qandaset.xsl @@ -0,0 +1,437 @@ + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + +

    +
    + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + +

    +
    + + + + + + + + + + +
    + + + + + + + + + + + + + + +
    + + +
    +
    + + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + +
    + + + + +
    + + + +
    + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1% + + + + + + + + +
    +
    + + + + + + + + + +
    diff --git a/doc/help/xslt/html/refentry.xsl b/doc/help/xslt/html/refentry.xsl new file mode 100644 index 00000000..8eaf7680 --- /dev/null +++ b/doc/help/xslt/html/refentry.xsl @@ -0,0 +1,299 @@ + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + +

    +
    + + + + +
    + + + + +
    +
    +
    +
    + + + + + + +
    +
    + + + + + + + + + + + + + + ( + + ) + + + + + + + + + + + +
    + + + + + + + + + + +

    + + + +

    +
    + +

    + + + + + + + + +

    +
    +
    + +

    + +

    +
    +
    + + + + + + , + + + + + + + + + em-dash + + + + + + + + + + + + + + + + : + + + + + + + +
    + + + + +

    + + + + + + + + + + +

    + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + +
    +
    + + + + + + 0 + 1 + + + + 6 + + + + + + + + + + + + +

    + +

    +
    + + + +

    + +

    +
    + + + +

    + +

    +
    + + + + + + + + + +
    diff --git a/doc/help/xslt/html/sections.xsl b/doc/help/xslt/html/sections.xsl new file mode 100644 index 00000000..4278d2f7 --- /dev/null +++ b/doc/help/xslt/html/sections.xsl @@ -0,0 +1,615 @@ + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + + 1 + 2 + 3 + 4 + 5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + + +
    + + + + + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 6 + + + + + + + + + + clear: both + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + 1 + + + + + + + 2 + 3 + 4 + 5 + 6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + diff --git a/doc/help/xslt/html/synop.xsl b/doc/help/xslt/html/synop.xsl new file mode 100644 index 00000000..be197567 --- /dev/null +++ b/doc/help/xslt/html/synop.xsl @@ -0,0 +1,1554 @@ + + +]> + + + + + + + + + + + +
    + +

    + + + + + + + + + + + + +

    +
    +
    + + +
    + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + + + + + ( + + ) + +   + + + + + + + + + + + + + + + + + + + ( + + ) + + + + + + + + + + + + + + + + + + + + + + +
    +    
    +    
    +  
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + + +
    + +
    +

    +
    + + + + + + ( + + + + + + + + + + + + + + + + ) + ; + + + + ... + ) + ; + + + + + + + , + + + ) + ; + + + + + + + + + + + + + + + + + + + + +
    + + + + ; +
    + + + + + + + + + + + + + + + + + + ( + + ) + + + + + + + + + + + + + + + + + +
    + +
     
    + +
    + +
    +
    +
     
    +
    + + + + + + ( + + + + + + + + + + + + + + + + + ) + ; + +   + + + + + ... + ) + ; + +   + + + + + + + + , + + + ) + ; + + + +   + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +   + + + + + + + + + + + + + + + + + + + + + + + + + + + + +   + + + + + + ; + + + + + + + + + + + + + + + + + + + + + + + + ( + + ) + ; + + + + + + +

    + +

    +
    + + + + + + ( + + + + + + + + + + + + + + + + void) + ; + + + + ... + ) + ; + + + + + + + , + + + ) + ; + + + + + + + + + + + + + + + + + + + + + ( + + ) + + + + + + + + + + + + + + + + + +
    + +
     
    +
     
    +
    + + + + + + ( + + + + + + + + + + + + + + + + + void) + ; + +   + + + + + ... + ) + ; + +   + + + + + + + + , + + + ) + ; + + + + + + + + + + + + + + + + + + + + + + ( + + ) + + + + +java + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Unrecognized language on + + : + + + + + + + + + + + +
    +
    +
    + + + + + +
    +    
    +    
    +    
    +       extends
    +      
    +      
    +        
    +      +
    +
    + + implements + + +
    +      +
    +
    + + throws + + +  { +
    + + } +
    +
    + + + + + + + + + , + + + + + + + + + + + + + + + + +   + + + + + + + , + + + + + + + + + + , + + + + + + + + + + , + + + + + + + + + + + +    + + + ; + + + + + + + + +   + + + + + + + +   + + + + + + + + + + + + + + + void  + + + + + + + + + + + + 0 + + , +
    + + +   + + + +
    + + + + +
    + + + + + + + + + + + + + + +    + + + + + + + + + + + + + + + ( + + + + ) + +
    +     throws  + +
    + + + + + ; +
    + +
    + + + + +
    +    
    +    
    +    
    +      : 
    +      
    +      
    +        
    +      +
    +
    + + implements + + +
    +      +
    +
    + + throws + + +  { +
    + + } +
    +
    + + + + + + + + , + + + + + + + + + + + + +   + + + + + + + , + + + + + + + + + + , + + + + + + + + + + , + + + + + + + + + + + +    + + + ; + + + + + + + + +   + + + + + + + +   + + + + + + + + + + + + + + + void  + + + + + + + + + + + + + , + + + + + + + + + + + + + + + + + + + + + + +    + + + + + + + + + + ( + + ) + +
    +     throws  + +
    + + + + + ; +
    + +
    + + + + +
    +    
    +    interface 
    +    
    +    
    +      : 
    +      
    +      
    +        
    +      +
    +
    + + implements + + +
    +      +
    +
    + + throws + + +  { +
    + + } +
    +
    + + + + + + + + , + + + + + + + + + + + + +   + + + + + + + , + + + + + + + + + + , + + + + + + + + + + , + + + + + + + + + + + +    + + + ; + + + + + + + + +   + + + + + + + +   + + + + + + + + + + + + + + + void  + + + + + + + + + + + + + , + + + + + + + + + + + + + + + + + + + + + +    + + + + + + + + + + ( + + ) + +
    +     raises( + + ) +
    + + + + + ; +
    + +
    + + + + +
    +    
    +    package 
    +    
    +    ;
    +    
    + + + @ISA = ( + + ); +
    +
    + + +
    +
    + + + + + + + + , + + + + + + + + + + + + +   + + + + + + + , + + + + + + + + + + , + + + + + + + + + + , + + + + + + + + + + + +    + + + ; + + + + + + + + +   + + + + + + + +   + + + + + + + + + + + + + + + void  + + + + + + + + + + + + + , + + + + + + + + + + + + + + + + + + + + + + sub + + + { ... }; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    diff --git a/doc/help/xslt/html/table.xsl b/doc/help/xslt/html/table.xsl new file mode 100644 index 00000000..405be133 --- /dev/null +++ b/doc/help/xslt/html/table.xsl @@ -0,0 +1,1200 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + +   + + + + + + + + + + + + + + + + + + + border- + + : + + + + + + ; + + + + + border- + + -width: + + ; + + + + border- + + -style: + + ; + + + + border- + + -color: + + ; + + + + + + + + + + + Error: CALS tables must specify the number of columns. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 100% + + + + + + + + border-collapse: collapse; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + border-collapse: collapse; + + + + + + + + + + + + + + + + + border-collapse: collapse; + + + + + + + + + + + border-collapse: collapse; + + + + + + + + + + + border-collapse: collapse; + + + + + + + + + + + + + + + + + border: none; + + + + + border-collapse: collapse; + + + + + + + 0 + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + 100% + + + + + + + + + + + + + + + + + + + + + + + + No convertLength function available. + + + + + + + + + + + + + + + + + + + + + + + + + + No adjustColumnWidths function available. + + + + + + + + + + + + + + + + + + + + +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Warning: overlapped row contains content! + + + This row intentionally left blank + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + th + th + + th + + td + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +   + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + : + + + + + + + + 0: + + + + + + + + + + + + + + + 0 + + : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + diff --git a/doc/help/xslt/html/task.xsl b/doc/help/xslt/html/task.xsl new file mode 100644 index 00000000..01da9402 --- /dev/null +++ b/doc/help/xslt/html/task.xsl @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + before + + + + + + + + +
    + + + + + + + + + + + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + +
    diff --git a/doc/help/xslt/html/titlepage.templates.xml b/doc/help/xslt/html/titlepage.templates.xml new file mode 100644 index 00000000..cae51602 --- /dev/null +++ b/doc/help/xslt/html/titlepage.templates.xml @@ -0,0 +1,708 @@ + + + + + + + + <subtitle/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + <hr/> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<t:titlepage t:element="set" t:wrapper="div" class="titlepage"> + <t:titlepage-content t:side="recto"> + <title/> + <subtitle/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + <hr/> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<t:titlepage t:element="book" t:wrapper="div" class="titlepage"> + <t:titlepage-content t:side="recto"> + <title/> + <subtitle/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + <hr/> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<t:titlepage t:element="part" t:wrapper="div" class="titlepage"> + <t:titlepage-content t:side="recto"> + <title + t:force="1" + t:named-template="division.title" + param:node="ancestor-or-self::part[1]"/> + <subtitle/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<t:titlepage t:element="partintro" t:wrapper="div"> + <t:titlepage-content t:side="recto"> + <title/> + <subtitle/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<t:titlepage t:element="reference" t:wrapper="div" class="titlepage"> + <t:titlepage-content t:side="recto"> + <title/> + <subtitle/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + <hr/> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<t:titlepage t:element="refentry" t:wrapper="div" class="titlepage"> + <t:titlepage-content t:side="recto"> +<!-- uncomment this if you want refentry titlepages + <title t:force="1" + t:named-template="refentry.title" + param:node="ancestor-or-self::refentry[1]"/> +--> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator/> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + + <t:titlepage t:element="dedication" t:wrapper="div" class="titlepage"> + <t:titlepage-content t:side="recto"> + <title + t:force="1" + t:named-template="component.title" + param:node="ancestor-or-self::dedication[1]"/> + <subtitle/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<t:titlepage t:element="acknowledgements" t:wrapper="div" class="titlepage"> + <t:titlepage-content t:side="recto"> + <title + t:force="1" + t:named-template="component.title" + param:node="ancestor-or-self::acknowledgements[1]"/> + <subtitle/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<t:titlepage t:element="preface" t:wrapper="div" class="titlepage"> + <t:titlepage-content t:side="recto"> + <title/> + <subtitle/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<t:titlepage t:element="chapter" t:wrapper="div" class="titlepage"> + <t:titlepage-content t:side="recto"> + <title/> + <subtitle/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<t:titlepage t:element="appendix" t:wrapper="div" class="titlepage"> + <t:titlepage-content t:side="recto"> + <title/> + <subtitle/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<t:titlepage t:element="section" t:wrapper="div" class="titlepage"> + <t:titlepage-content t:side="recto"> + <title/> + <subtitle/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + <xsl:if test="count(parent::*)='0'"><hr/></xsl:if> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<t:titlepage t:element="sect1" t:wrapper="div" class="titlepage"> + <t:titlepage-content t:side="recto"> + <title/> + <subtitle/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + <xsl:if test="count(parent::*)='0'"><hr/></xsl:if> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<t:titlepage t:element="sect2" t:wrapper="div" class="titlepage"> + <t:titlepage-content t:side="recto"> + <title/> + <subtitle/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + <xsl:if test="count(parent::*)='0'"><hr/></xsl:if> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<t:titlepage t:element="sect3" t:wrapper="div" class="titlepage"> + <t:titlepage-content t:side="recto"> + <title/> + <subtitle/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + <xsl:if test="count(parent::*)='0'"><hr/></xsl:if> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<t:titlepage t:element="sect4" t:wrapper="div" class="titlepage"> + <t:titlepage-content t:side="recto"> + <title/> + <subtitle/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + <xsl:if test="count(parent::*)='0'"><hr/></xsl:if> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<t:titlepage t:element="sect5" t:wrapper="div" class="titlepage"> + <t:titlepage-content t:side="recto"> + <title/> + <subtitle/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + <xsl:if test="count(parent::*)='0'"><hr/></xsl:if> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<t:titlepage t:element="simplesect" t:wrapper="div" class="titlepage"> + <t:titlepage-content t:side="recto"> + <title/> + <subtitle/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + <xsl:if test="count(parent::*)='0'"><hr/></xsl:if> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<t:titlepage t:element="bibliography" t:wrapper="div" class="titlepage"> + <t:titlepage-content t:side="recto"> + <title + t:force="1" + t:named-template="component.title" + param:node="ancestor-or-self::bibliography[1]"/> + <subtitle/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<t:titlepage t:element="glossary" t:wrapper="div" class="titlepage"> + <t:titlepage-content t:side="recto"> + <title + t:force="1" + t:named-template="component.title" + param:node="ancestor-or-self::glossary[1]"/> + <subtitle/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<t:titlepage t:element="index" t:wrapper="div" class="titlepage"> + <t:titlepage-content t:side="recto"> + <title + t:force="1" + t:named-template="component.title" + param:node="ancestor-or-self::index[1]"/> + <subtitle/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<t:titlepage t:element="setindex" t:wrapper="div" class="titlepage"> + <t:titlepage-content t:side="recto"> + <title + t:force="1" + t:named-template="component.title" + param:node="ancestor-or-self::setindex[1]"/> + <subtitle/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> +<t:titlepage t:element="sidebar" t:wrapper="div" class="titlepage"> + <t:titlepage-content t:side="recto"> + <title + t:named-template="formal.object.heading" + param:object="ancestor-or-self::sidebar[1]"/> + <subtitle/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +</t:templates> diff --git a/doc/help/xslt/html/titlepage.templates.xsl b/doc/help/xslt/html/titlepage.templates.xsl new file mode 100644 index 00000000..a025c437 --- /dev/null +++ b/doc/help/xslt/html/titlepage.templates.xsl @@ -0,0 +1,3817 @@ +<?xml version="1.0"?> + +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:exsl="http://exslt.org/common" version="1.0" exclude-result-prefixes="exsl"> + +<!-- This stylesheet was created by template/titlepage.xsl--> + +<xsl:template name="article.titlepage.recto"> + <xsl:choose> + <xsl:when test="articleinfo/title"> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/title"/> + </xsl:when> + <xsl:when test="artheader/title"> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/title"/> + </xsl:when> + <xsl:when test="info/title"> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="articleinfo/subtitle"> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/subtitle"/> + </xsl:when> + <xsl:when test="artheader/subtitle"> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/subtitle"/> + </xsl:when> + <xsl:when test="info/subtitle"> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/corpauthor"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/corpauthor"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/corpauthor"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/authorgroup"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/authorgroup"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/authorgroup"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/author"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/author"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/author"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/othercredit"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/othercredit"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/othercredit"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/releaseinfo"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/releaseinfo"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/releaseinfo"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/copyright"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/copyright"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/copyright"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/legalnotice"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/legalnotice"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/legalnotice"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/pubdate"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/pubdate"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/pubdate"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/revision"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/revision"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/revision"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/revhistory"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/revhistory"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/revhistory"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/abstract"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/abstract"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/abstract"/> +</xsl:template> + +<xsl:template name="article.titlepage.verso"> +</xsl:template> + +<xsl:template name="article.titlepage.separator"><hr/> +</xsl:template> + +<xsl:template name="article.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="article.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="article.titlepage"> + <div class="titlepage"> + <xsl:variable name="recto.content"> + <xsl:call-template name="article.titlepage.before.recto"/> + <xsl:call-template name="article.titlepage.recto"/> + </xsl:variable> + <xsl:variable name="recto.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> + <div><xsl:copy-of select="$recto.content"/></div> + </xsl:if> + <xsl:variable name="verso.content"> + <xsl:call-template name="article.titlepage.before.verso"/> + <xsl:call-template name="article.titlepage.verso"/> + </xsl:variable> + <xsl:variable name="verso.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> + <div><xsl:copy-of select="$verso.content"/></div> + </xsl:if> + <xsl:call-template name="article.titlepage.separator"/> + </div> +</xsl:template> + +<xsl:template match="*" mode="article.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="article.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="article.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="article.titlepage.recto.style"> +<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="subtitle" mode="article.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="article.titlepage.recto.style"> +<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="corpauthor" mode="article.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="article.titlepage.recto.style"> +<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="authorgroup" mode="article.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="article.titlepage.recto.style"> +<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="author" mode="article.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="article.titlepage.recto.style"> +<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="othercredit" mode="article.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="article.titlepage.recto.style"> +<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="releaseinfo" mode="article.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="article.titlepage.recto.style"> +<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="copyright" mode="article.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="article.titlepage.recto.style"> +<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="legalnotice" mode="article.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="article.titlepage.recto.style"> +<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="pubdate" mode="article.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="article.titlepage.recto.style"> +<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="revision" mode="article.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="article.titlepage.recto.style"> +<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="revhistory" mode="article.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="article.titlepage.recto.style"> +<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="abstract" mode="article.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="article.titlepage.recto.style"> +<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template name="set.titlepage.recto"> + <xsl:choose> + <xsl:when test="setinfo/title"> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/title"/> + </xsl:when> + <xsl:when test="info/title"> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="setinfo/subtitle"> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/subtitle"/> + </xsl:when> + <xsl:when test="info/subtitle"> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/corpauthor"/> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/corpauthor"/> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/authorgroup"/> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/authorgroup"/> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/author"/> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/author"/> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/othercredit"/> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/othercredit"/> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/releaseinfo"/> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/releaseinfo"/> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/copyright"/> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/copyright"/> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/legalnotice"/> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/legalnotice"/> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/pubdate"/> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/pubdate"/> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/revision"/> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/revision"/> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/revhistory"/> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/revhistory"/> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/abstract"/> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/abstract"/> +</xsl:template> + +<xsl:template name="set.titlepage.verso"> +</xsl:template> + +<xsl:template name="set.titlepage.separator"><hr/> +</xsl:template> + +<xsl:template name="set.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="set.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="set.titlepage"> + <div class="titlepage"> + <xsl:variable name="recto.content"> + <xsl:call-template name="set.titlepage.before.recto"/> + <xsl:call-template name="set.titlepage.recto"/> + </xsl:variable> + <xsl:variable name="recto.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> + <div><xsl:copy-of select="$recto.content"/></div> + </xsl:if> + <xsl:variable name="verso.content"> + <xsl:call-template name="set.titlepage.before.verso"/> + <xsl:call-template name="set.titlepage.verso"/> + </xsl:variable> + <xsl:variable name="verso.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> + <div><xsl:copy-of select="$verso.content"/></div> + </xsl:if> + <xsl:call-template name="set.titlepage.separator"/> + </div> +</xsl:template> + +<xsl:template match="*" mode="set.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="set.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="set.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="set.titlepage.recto.style"> +<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="subtitle" mode="set.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="set.titlepage.recto.style"> +<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="corpauthor" mode="set.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="set.titlepage.recto.style"> +<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="authorgroup" mode="set.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="set.titlepage.recto.style"> +<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="author" mode="set.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="set.titlepage.recto.style"> +<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="othercredit" mode="set.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="set.titlepage.recto.style"> +<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="releaseinfo" mode="set.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="set.titlepage.recto.style"> +<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="copyright" mode="set.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="set.titlepage.recto.style"> +<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="legalnotice" mode="set.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="set.titlepage.recto.style"> +<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="pubdate" mode="set.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="set.titlepage.recto.style"> +<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="revision" mode="set.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="set.titlepage.recto.style"> +<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="revhistory" mode="set.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="set.titlepage.recto.style"> +<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="abstract" mode="set.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="set.titlepage.recto.style"> +<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template name="book.titlepage.recto"> + <xsl:choose> + <xsl:when test="bookinfo/title"> + <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/title"/> + </xsl:when> + <xsl:when test="info/title"> + <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="bookinfo/subtitle"> + <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/subtitle"/> + </xsl:when> + <xsl:when test="info/subtitle"> + <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/corpauthor"/> + <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/corpauthor"/> + <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/authorgroup"/> + <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/authorgroup"/> + <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/author"/> + <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/author"/> + <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/othercredit"/> + <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/othercredit"/> + <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/releaseinfo"/> + <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/releaseinfo"/> + <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/copyright"/> + <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/copyright"/> + <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/legalnotice"/> + <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/legalnotice"/> + <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/pubdate"/> + <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/pubdate"/> + <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/revision"/> + <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/revision"/> + <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/revhistory"/> + <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/revhistory"/> + <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/abstract"/> + <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/abstract"/> +</xsl:template> + +<xsl:template name="book.titlepage.verso"> +</xsl:template> + +<xsl:template name="book.titlepage.separator"><hr/> +</xsl:template> + +<xsl:template name="book.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="book.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="book.titlepage"> + <div class="titlepage"> + <xsl:variable name="recto.content"> + <xsl:call-template name="book.titlepage.before.recto"/> + <xsl:call-template name="book.titlepage.recto"/> + </xsl:variable> + <xsl:variable name="recto.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> + <div><xsl:copy-of select="$recto.content"/></div> + </xsl:if> + <xsl:variable name="verso.content"> + <xsl:call-template name="book.titlepage.before.verso"/> + <xsl:call-template name="book.titlepage.verso"/> + </xsl:variable> + <xsl:variable name="verso.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> + <div><xsl:copy-of select="$verso.content"/></div> + </xsl:if> + <xsl:call-template name="book.titlepage.separator"/> + </div> +</xsl:template> + +<xsl:template match="*" mode="book.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="book.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="book.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="book.titlepage.recto.style"> +<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="subtitle" mode="book.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="book.titlepage.recto.style"> +<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="corpauthor" mode="book.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="book.titlepage.recto.style"> +<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="authorgroup" mode="book.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="book.titlepage.recto.style"> +<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="author" mode="book.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="book.titlepage.recto.style"> +<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="othercredit" mode="book.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="book.titlepage.recto.style"> +<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="releaseinfo" mode="book.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="book.titlepage.recto.style"> +<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="copyright" mode="book.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="book.titlepage.recto.style"> +<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="legalnotice" mode="book.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="book.titlepage.recto.style"> +<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="pubdate" mode="book.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="book.titlepage.recto.style"> +<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="revision" mode="book.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="book.titlepage.recto.style"> +<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="revhistory" mode="book.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="book.titlepage.recto.style"> +<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="abstract" mode="book.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="book.titlepage.recto.style"> +<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template name="part.titlepage.recto"> + <div xsl:use-attribute-sets="part.titlepage.recto.style"> +<xsl:call-template name="division.title"> +<xsl:with-param name="node" select="ancestor-or-self::part[1]"/> +</xsl:call-template></div> + <xsl:choose> + <xsl:when test="partinfo/subtitle"> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/subtitle"/> + </xsl:when> + <xsl:when test="docinfo/subtitle"> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/subtitle"/> + </xsl:when> + <xsl:when test="info/subtitle"> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/corpauthor"/> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/corpauthor"/> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/corpauthor"/> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/authorgroup"/> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/authorgroup"/> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/authorgroup"/> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/author"/> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/author"/> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/author"/> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/othercredit"/> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/othercredit"/> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/othercredit"/> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/releaseinfo"/> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/releaseinfo"/> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/copyright"/> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/copyright"/> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/copyright"/> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/legalnotice"/> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/legalnotice"/> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/legalnotice"/> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/pubdate"/> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/pubdate"/> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/pubdate"/> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/revision"/> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/revision"/> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/revision"/> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/revhistory"/> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/revhistory"/> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/revhistory"/> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/abstract"/> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/abstract"/> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/abstract"/> +</xsl:template> + +<xsl:template name="part.titlepage.verso"> +</xsl:template> + +<xsl:template name="part.titlepage.separator"> +</xsl:template> + +<xsl:template name="part.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="part.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="part.titlepage"> + <div class="titlepage"> + <xsl:variable name="recto.content"> + <xsl:call-template name="part.titlepage.before.recto"/> + <xsl:call-template name="part.titlepage.recto"/> + </xsl:variable> + <xsl:variable name="recto.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> + <div><xsl:copy-of select="$recto.content"/></div> + </xsl:if> + <xsl:variable name="verso.content"> + <xsl:call-template name="part.titlepage.before.verso"/> + <xsl:call-template name="part.titlepage.verso"/> + </xsl:variable> + <xsl:variable name="verso.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> + <div><xsl:copy-of select="$verso.content"/></div> + </xsl:if> + <xsl:call-template name="part.titlepage.separator"/> + </div> +</xsl:template> + +<xsl:template match="*" mode="part.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="part.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="subtitle" mode="part.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="part.titlepage.recto.style"> +<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="corpauthor" mode="part.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="part.titlepage.recto.style"> +<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="authorgroup" mode="part.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="part.titlepage.recto.style"> +<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="author" mode="part.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="part.titlepage.recto.style"> +<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="othercredit" mode="part.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="part.titlepage.recto.style"> +<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="releaseinfo" mode="part.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="part.titlepage.recto.style"> +<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="copyright" mode="part.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="part.titlepage.recto.style"> +<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="legalnotice" mode="part.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="part.titlepage.recto.style"> +<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="pubdate" mode="part.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="part.titlepage.recto.style"> +<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="revision" mode="part.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="part.titlepage.recto.style"> +<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="revhistory" mode="part.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="part.titlepage.recto.style"> +<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="abstract" mode="part.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="part.titlepage.recto.style"> +<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template name="partintro.titlepage.recto"> + <xsl:choose> + <xsl:when test="partintroinfo/title"> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/title"/> + </xsl:when> + <xsl:when test="docinfo/title"> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/title"/> + </xsl:when> + <xsl:when test="info/title"> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="partintroinfo/subtitle"> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/subtitle"/> + </xsl:when> + <xsl:when test="docinfo/subtitle"> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/subtitle"/> + </xsl:when> + <xsl:when test="info/subtitle"> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/corpauthor"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/corpauthor"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/corpauthor"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/authorgroup"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/authorgroup"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/authorgroup"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/author"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/author"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/author"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/othercredit"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/othercredit"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/othercredit"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/releaseinfo"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/releaseinfo"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/copyright"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/copyright"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/copyright"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/legalnotice"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/legalnotice"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/legalnotice"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/pubdate"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/pubdate"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/pubdate"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/revision"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/revision"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/revision"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/revhistory"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/revhistory"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/revhistory"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/abstract"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/abstract"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/abstract"/> +</xsl:template> + +<xsl:template name="partintro.titlepage.verso"> +</xsl:template> + +<xsl:template name="partintro.titlepage.separator"> +</xsl:template> + +<xsl:template name="partintro.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="partintro.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="partintro.titlepage"> + <div> + <xsl:variable name="recto.content"> + <xsl:call-template name="partintro.titlepage.before.recto"/> + <xsl:call-template name="partintro.titlepage.recto"/> + </xsl:variable> + <xsl:variable name="recto.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> + <div><xsl:copy-of select="$recto.content"/></div> + </xsl:if> + <xsl:variable name="verso.content"> + <xsl:call-template name="partintro.titlepage.before.verso"/> + <xsl:call-template name="partintro.titlepage.verso"/> + </xsl:variable> + <xsl:variable name="verso.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> + <div><xsl:copy-of select="$verso.content"/></div> + </xsl:if> + <xsl:call-template name="partintro.titlepage.separator"/> + </div> +</xsl:template> + +<xsl:template match="*" mode="partintro.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="partintro.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="partintro.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="partintro.titlepage.recto.style"> +<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="subtitle" mode="partintro.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="partintro.titlepage.recto.style"> +<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="corpauthor" mode="partintro.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="partintro.titlepage.recto.style"> +<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="authorgroup" mode="partintro.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="partintro.titlepage.recto.style"> +<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="author" mode="partintro.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="partintro.titlepage.recto.style"> +<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="othercredit" mode="partintro.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="partintro.titlepage.recto.style"> +<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="releaseinfo" mode="partintro.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="partintro.titlepage.recto.style"> +<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="copyright" mode="partintro.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="partintro.titlepage.recto.style"> +<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="legalnotice" mode="partintro.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="partintro.titlepage.recto.style"> +<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="pubdate" mode="partintro.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="partintro.titlepage.recto.style"> +<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="revision" mode="partintro.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="partintro.titlepage.recto.style"> +<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="revhistory" mode="partintro.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="partintro.titlepage.recto.style"> +<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="abstract" mode="partintro.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="partintro.titlepage.recto.style"> +<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template name="reference.titlepage.recto"> + <xsl:choose> + <xsl:when test="referenceinfo/title"> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/title"/> + </xsl:when> + <xsl:when test="docinfo/title"> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/title"/> + </xsl:when> + <xsl:when test="info/title"> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="referenceinfo/subtitle"> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/subtitle"/> + </xsl:when> + <xsl:when test="docinfo/subtitle"> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/subtitle"/> + </xsl:when> + <xsl:when test="info/subtitle"> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/corpauthor"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/corpauthor"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/corpauthor"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/authorgroup"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/authorgroup"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/authorgroup"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/author"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/author"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/author"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/othercredit"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/othercredit"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/othercredit"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/releaseinfo"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/releaseinfo"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/copyright"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/copyright"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/copyright"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/legalnotice"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/legalnotice"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/legalnotice"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/pubdate"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/pubdate"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/pubdate"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/revision"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/revision"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/revision"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/revhistory"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/revhistory"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/revhistory"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/abstract"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/abstract"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/abstract"/> +</xsl:template> + +<xsl:template name="reference.titlepage.verso"> +</xsl:template> + +<xsl:template name="reference.titlepage.separator"><hr/> +</xsl:template> + +<xsl:template name="reference.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="reference.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="reference.titlepage"> + <div class="titlepage"> + <xsl:variable name="recto.content"> + <xsl:call-template name="reference.titlepage.before.recto"/> + <xsl:call-template name="reference.titlepage.recto"/> + </xsl:variable> + <xsl:variable name="recto.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> + <div><xsl:copy-of select="$recto.content"/></div> + </xsl:if> + <xsl:variable name="verso.content"> + <xsl:call-template name="reference.titlepage.before.verso"/> + <xsl:call-template name="reference.titlepage.verso"/> + </xsl:variable> + <xsl:variable name="verso.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> + <div><xsl:copy-of select="$verso.content"/></div> + </xsl:if> + <xsl:call-template name="reference.titlepage.separator"/> + </div> +</xsl:template> + +<xsl:template match="*" mode="reference.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="reference.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="reference.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="reference.titlepage.recto.style"> +<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="subtitle" mode="reference.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="reference.titlepage.recto.style"> +<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="corpauthor" mode="reference.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="reference.titlepage.recto.style"> +<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="authorgroup" mode="reference.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="reference.titlepage.recto.style"> +<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="author" mode="reference.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="reference.titlepage.recto.style"> +<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="othercredit" mode="reference.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="reference.titlepage.recto.style"> +<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="releaseinfo" mode="reference.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="reference.titlepage.recto.style"> +<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="copyright" mode="reference.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="reference.titlepage.recto.style"> +<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="legalnotice" mode="reference.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="reference.titlepage.recto.style"> +<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="pubdate" mode="reference.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="reference.titlepage.recto.style"> +<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="revision" mode="reference.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="reference.titlepage.recto.style"> +<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="revhistory" mode="reference.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="reference.titlepage.recto.style"> +<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="abstract" mode="reference.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="reference.titlepage.recto.style"> +<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template name="refentry.titlepage.recto"> +</xsl:template> + +<xsl:template name="refentry.titlepage.verso"> +</xsl:template> + +<xsl:template name="refentry.titlepage.separator"> +</xsl:template> + +<xsl:template name="refentry.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="refentry.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="refentry.titlepage"> + <div class="titlepage"> + <xsl:variable name="recto.content"> + <xsl:call-template name="refentry.titlepage.before.recto"/> + <xsl:call-template name="refentry.titlepage.recto"/> + </xsl:variable> + <xsl:variable name="recto.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> + <div><xsl:copy-of select="$recto.content"/></div> + </xsl:if> + <xsl:variable name="verso.content"> + <xsl:call-template name="refentry.titlepage.before.verso"/> + <xsl:call-template name="refentry.titlepage.verso"/> + </xsl:variable> + <xsl:variable name="verso.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> + <div><xsl:copy-of select="$verso.content"/></div> + </xsl:if> + <xsl:call-template name="refentry.titlepage.separator"/> + </div> +</xsl:template> + +<xsl:template match="*" mode="refentry.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="refentry.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template name="dedication.titlepage.recto"> + <div xsl:use-attribute-sets="dedication.titlepage.recto.style"> +<xsl:call-template name="component.title"> +<xsl:with-param name="node" select="ancestor-or-self::dedication[1]"/> +</xsl:call-template></div> + <xsl:choose> + <xsl:when test="dedicationinfo/subtitle"> + <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="dedicationinfo/subtitle"/> + </xsl:when> + <xsl:when test="docinfo/subtitle"> + <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="docinfo/subtitle"/> + </xsl:when> + <xsl:when test="info/subtitle"> + <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="info/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + +</xsl:template> + +<xsl:template name="dedication.titlepage.verso"> +</xsl:template> + +<xsl:template name="dedication.titlepage.separator"> +</xsl:template> + +<xsl:template name="dedication.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="dedication.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="dedication.titlepage"> + <div class="titlepage"> + <xsl:variable name="recto.content"> + <xsl:call-template name="dedication.titlepage.before.recto"/> + <xsl:call-template name="dedication.titlepage.recto"/> + </xsl:variable> + <xsl:variable name="recto.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> + <div><xsl:copy-of select="$recto.content"/></div> + </xsl:if> + <xsl:variable name="verso.content"> + <xsl:call-template name="dedication.titlepage.before.verso"/> + <xsl:call-template name="dedication.titlepage.verso"/> + </xsl:variable> + <xsl:variable name="verso.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> + <div><xsl:copy-of select="$verso.content"/></div> + </xsl:if> + <xsl:call-template name="dedication.titlepage.separator"/> + </div> +</xsl:template> + +<xsl:template match="*" mode="dedication.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="dedication.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="subtitle" mode="dedication.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="dedication.titlepage.recto.style"> +<xsl:apply-templates select="." mode="dedication.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template name="acknowledgements.titlepage.recto"> + <div xsl:use-attribute-sets="acknowledgements.titlepage.recto.style"> +<xsl:call-template name="component.title"> +<xsl:with-param name="node" select="ancestor-or-self::acknowledgements[1]"/> +</xsl:call-template></div> + <xsl:choose> + <xsl:when test="acknowledgementsinfo/subtitle"> + <xsl:apply-templates mode="acknowledgements.titlepage.recto.auto.mode" select="acknowledgementsinfo/subtitle"/> + </xsl:when> + <xsl:when test="docinfo/subtitle"> + <xsl:apply-templates mode="acknowledgements.titlepage.recto.auto.mode" select="docinfo/subtitle"/> + </xsl:when> + <xsl:when test="info/subtitle"> + <xsl:apply-templates mode="acknowledgements.titlepage.recto.auto.mode" select="info/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="acknowledgements.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + +</xsl:template> + +<xsl:template name="acknowledgements.titlepage.verso"> +</xsl:template> + +<xsl:template name="acknowledgements.titlepage.separator"> +</xsl:template> + +<xsl:template name="acknowledgements.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="acknowledgements.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="acknowledgements.titlepage"> + <div class="titlepage"> + <xsl:variable name="recto.content"> + <xsl:call-template name="acknowledgements.titlepage.before.recto"/> + <xsl:call-template name="acknowledgements.titlepage.recto"/> + </xsl:variable> + <xsl:variable name="recto.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> + <div><xsl:copy-of select="$recto.content"/></div> + </xsl:if> + <xsl:variable name="verso.content"> + <xsl:call-template name="acknowledgements.titlepage.before.verso"/> + <xsl:call-template name="acknowledgements.titlepage.verso"/> + </xsl:variable> + <xsl:variable name="verso.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> + <div><xsl:copy-of select="$verso.content"/></div> + </xsl:if> + <xsl:call-template name="acknowledgements.titlepage.separator"/> + </div> +</xsl:template> + +<xsl:template match="*" mode="acknowledgements.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="acknowledgements.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="subtitle" mode="acknowledgements.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="acknowledgements.titlepage.recto.style"> +<xsl:apply-templates select="." mode="acknowledgements.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template name="preface.titlepage.recto"> + <xsl:choose> + <xsl:when test="prefaceinfo/title"> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/title"/> + </xsl:when> + <xsl:when test="docinfo/title"> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/title"/> + </xsl:when> + <xsl:when test="info/title"> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="prefaceinfo/subtitle"> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/subtitle"/> + </xsl:when> + <xsl:when test="docinfo/subtitle"> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/subtitle"/> + </xsl:when> + <xsl:when test="info/subtitle"> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/corpauthor"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/corpauthor"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/corpauthor"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/authorgroup"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/authorgroup"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/authorgroup"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/author"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/author"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/author"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/othercredit"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/othercredit"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/othercredit"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/releaseinfo"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/releaseinfo"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/copyright"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/copyright"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/copyright"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/legalnotice"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/legalnotice"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/legalnotice"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/pubdate"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/pubdate"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/pubdate"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/revision"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/revision"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/revision"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/revhistory"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/revhistory"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/revhistory"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/abstract"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/abstract"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/abstract"/> +</xsl:template> + +<xsl:template name="preface.titlepage.verso"> +</xsl:template> + +<xsl:template name="preface.titlepage.separator"> +</xsl:template> + +<xsl:template name="preface.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="preface.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="preface.titlepage"> + <div class="titlepage"> + <xsl:variable name="recto.content"> + <xsl:call-template name="preface.titlepage.before.recto"/> + <xsl:call-template name="preface.titlepage.recto"/> + </xsl:variable> + <xsl:variable name="recto.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> + <div><xsl:copy-of select="$recto.content"/></div> + </xsl:if> + <xsl:variable name="verso.content"> + <xsl:call-template name="preface.titlepage.before.verso"/> + <xsl:call-template name="preface.titlepage.verso"/> + </xsl:variable> + <xsl:variable name="verso.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> + <div><xsl:copy-of select="$verso.content"/></div> + </xsl:if> + <xsl:call-template name="preface.titlepage.separator"/> + </div> +</xsl:template> + +<xsl:template match="*" mode="preface.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="preface.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="preface.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="preface.titlepage.recto.style"> +<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="subtitle" mode="preface.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="preface.titlepage.recto.style"> +<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="corpauthor" mode="preface.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="preface.titlepage.recto.style"> +<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="authorgroup" mode="preface.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="preface.titlepage.recto.style"> +<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="author" mode="preface.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="preface.titlepage.recto.style"> +<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="othercredit" mode="preface.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="preface.titlepage.recto.style"> +<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="releaseinfo" mode="preface.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="preface.titlepage.recto.style"> +<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="copyright" mode="preface.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="preface.titlepage.recto.style"> +<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="legalnotice" mode="preface.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="preface.titlepage.recto.style"> +<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="pubdate" mode="preface.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="preface.titlepage.recto.style"> +<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="revision" mode="preface.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="preface.titlepage.recto.style"> +<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="revhistory" mode="preface.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="preface.titlepage.recto.style"> +<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="abstract" mode="preface.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="preface.titlepage.recto.style"> +<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template name="chapter.titlepage.recto"> + <xsl:choose> + <xsl:when test="chapterinfo/title"> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/title"/> + </xsl:when> + <xsl:when test="docinfo/title"> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/title"/> + </xsl:when> + <xsl:when test="info/title"> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="chapterinfo/subtitle"> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/subtitle"/> + </xsl:when> + <xsl:when test="docinfo/subtitle"> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/subtitle"/> + </xsl:when> + <xsl:when test="info/subtitle"> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/corpauthor"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/corpauthor"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/corpauthor"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/authorgroup"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/authorgroup"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/authorgroup"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/author"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/author"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/author"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/othercredit"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/othercredit"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/othercredit"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/releaseinfo"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/releaseinfo"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/copyright"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/copyright"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/copyright"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/legalnotice"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/legalnotice"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/legalnotice"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/pubdate"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/pubdate"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/pubdate"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/revision"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/revision"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/revision"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/revhistory"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/revhistory"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/revhistory"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/abstract"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/abstract"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/abstract"/> +</xsl:template> + +<xsl:template name="chapter.titlepage.verso"> +</xsl:template> + +<xsl:template name="chapter.titlepage.separator"> +</xsl:template> + +<xsl:template name="chapter.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="chapter.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="chapter.titlepage"> + <div class="titlepage"> + <xsl:variable name="recto.content"> + <xsl:call-template name="chapter.titlepage.before.recto"/> + <xsl:call-template name="chapter.titlepage.recto"/> + </xsl:variable> + <xsl:variable name="recto.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> + <div><xsl:copy-of select="$recto.content"/></div> + </xsl:if> + <xsl:variable name="verso.content"> + <xsl:call-template name="chapter.titlepage.before.verso"/> + <xsl:call-template name="chapter.titlepage.verso"/> + </xsl:variable> + <xsl:variable name="verso.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> + <div><xsl:copy-of select="$verso.content"/></div> + </xsl:if> + <xsl:call-template name="chapter.titlepage.separator"/> + </div> +</xsl:template> + +<xsl:template match="*" mode="chapter.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="chapter.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="chapter.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="chapter.titlepage.recto.style"> +<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="subtitle" mode="chapter.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="chapter.titlepage.recto.style"> +<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="corpauthor" mode="chapter.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="chapter.titlepage.recto.style"> +<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="authorgroup" mode="chapter.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="chapter.titlepage.recto.style"> +<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="author" mode="chapter.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="chapter.titlepage.recto.style"> +<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="othercredit" mode="chapter.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="chapter.titlepage.recto.style"> +<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="releaseinfo" mode="chapter.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="chapter.titlepage.recto.style"> +<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="copyright" mode="chapter.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="chapter.titlepage.recto.style"> +<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="legalnotice" mode="chapter.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="chapter.titlepage.recto.style"> +<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="pubdate" mode="chapter.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="chapter.titlepage.recto.style"> +<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="revision" mode="chapter.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="chapter.titlepage.recto.style"> +<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="revhistory" mode="chapter.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="chapter.titlepage.recto.style"> +<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="abstract" mode="chapter.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="chapter.titlepage.recto.style"> +<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template name="appendix.titlepage.recto"> + <xsl:choose> + <xsl:when test="appendixinfo/title"> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/title"/> + </xsl:when> + <xsl:when test="docinfo/title"> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/title"/> + </xsl:when> + <xsl:when test="info/title"> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="appendixinfo/subtitle"> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/subtitle"/> + </xsl:when> + <xsl:when test="docinfo/subtitle"> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/subtitle"/> + </xsl:when> + <xsl:when test="info/subtitle"> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/corpauthor"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/corpauthor"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/corpauthor"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/authorgroup"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/authorgroup"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/authorgroup"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/author"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/author"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/author"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/othercredit"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/othercredit"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/othercredit"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/releaseinfo"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/releaseinfo"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/copyright"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/copyright"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/copyright"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/legalnotice"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/legalnotice"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/legalnotice"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/pubdate"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/pubdate"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/pubdate"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/revision"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/revision"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/revision"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/revhistory"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/revhistory"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/revhistory"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/abstract"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/abstract"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/abstract"/> +</xsl:template> + +<xsl:template name="appendix.titlepage.verso"> +</xsl:template> + +<xsl:template name="appendix.titlepage.separator"> +</xsl:template> + +<xsl:template name="appendix.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="appendix.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="appendix.titlepage"> + <div class="titlepage"> + <xsl:variable name="recto.content"> + <xsl:call-template name="appendix.titlepage.before.recto"/> + <xsl:call-template name="appendix.titlepage.recto"/> + </xsl:variable> + <xsl:variable name="recto.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> + <div><xsl:copy-of select="$recto.content"/></div> + </xsl:if> + <xsl:variable name="verso.content"> + <xsl:call-template name="appendix.titlepage.before.verso"/> + <xsl:call-template name="appendix.titlepage.verso"/> + </xsl:variable> + <xsl:variable name="verso.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> + <div><xsl:copy-of select="$verso.content"/></div> + </xsl:if> + <xsl:call-template name="appendix.titlepage.separator"/> + </div> +</xsl:template> + +<xsl:template match="*" mode="appendix.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="appendix.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="appendix.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="appendix.titlepage.recto.style"> +<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="subtitle" mode="appendix.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="appendix.titlepage.recto.style"> +<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="corpauthor" mode="appendix.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="appendix.titlepage.recto.style"> +<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="authorgroup" mode="appendix.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="appendix.titlepage.recto.style"> +<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="author" mode="appendix.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="appendix.titlepage.recto.style"> +<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="othercredit" mode="appendix.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="appendix.titlepage.recto.style"> +<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="releaseinfo" mode="appendix.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="appendix.titlepage.recto.style"> +<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="copyright" mode="appendix.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="appendix.titlepage.recto.style"> +<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="legalnotice" mode="appendix.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="appendix.titlepage.recto.style"> +<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="pubdate" mode="appendix.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="appendix.titlepage.recto.style"> +<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="revision" mode="appendix.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="appendix.titlepage.recto.style"> +<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="revhistory" mode="appendix.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="appendix.titlepage.recto.style"> +<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="abstract" mode="appendix.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="appendix.titlepage.recto.style"> +<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template name="section.titlepage.recto"> + <xsl:choose> + <xsl:when test="sectioninfo/title"> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/title"/> + </xsl:when> + <xsl:when test="info/title"> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="sectioninfo/subtitle"> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/subtitle"/> + </xsl:when> + <xsl:when test="info/subtitle"> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/corpauthor"/> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/corpauthor"/> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/authorgroup"/> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/authorgroup"/> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/author"/> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/author"/> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/othercredit"/> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/othercredit"/> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/releaseinfo"/> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/releaseinfo"/> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/copyright"/> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/copyright"/> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/legalnotice"/> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/legalnotice"/> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/pubdate"/> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/pubdate"/> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/revision"/> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/revision"/> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/revhistory"/> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/revhistory"/> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/abstract"/> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/abstract"/> +</xsl:template> + +<xsl:template name="section.titlepage.verso"> +</xsl:template> + +<xsl:template name="section.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if> +</xsl:template> + +<xsl:template name="section.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="section.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="section.titlepage"> + <div class="titlepage"> + <xsl:variable name="recto.content"> + <xsl:call-template name="section.titlepage.before.recto"/> + <xsl:call-template name="section.titlepage.recto"/> + </xsl:variable> + <xsl:variable name="recto.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> + <div><xsl:copy-of select="$recto.content"/></div> + </xsl:if> + <xsl:variable name="verso.content"> + <xsl:call-template name="section.titlepage.before.verso"/> + <xsl:call-template name="section.titlepage.verso"/> + </xsl:variable> + <xsl:variable name="verso.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> + <div><xsl:copy-of select="$verso.content"/></div> + </xsl:if> + <xsl:call-template name="section.titlepage.separator"/> + </div> +</xsl:template> + +<xsl:template match="*" mode="section.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="section.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="section.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="section.titlepage.recto.style"> +<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="subtitle" mode="section.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="section.titlepage.recto.style"> +<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="corpauthor" mode="section.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="section.titlepage.recto.style"> +<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="authorgroup" mode="section.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="section.titlepage.recto.style"> +<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="author" mode="section.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="section.titlepage.recto.style"> +<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="othercredit" mode="section.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="section.titlepage.recto.style"> +<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="releaseinfo" mode="section.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="section.titlepage.recto.style"> +<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="copyright" mode="section.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="section.titlepage.recto.style"> +<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="legalnotice" mode="section.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="section.titlepage.recto.style"> +<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="pubdate" mode="section.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="section.titlepage.recto.style"> +<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="revision" mode="section.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="section.titlepage.recto.style"> +<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="revhistory" mode="section.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="section.titlepage.recto.style"> +<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="abstract" mode="section.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="section.titlepage.recto.style"> +<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template name="sect1.titlepage.recto"> + <xsl:choose> + <xsl:when test="sect1info/title"> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/title"/> + </xsl:when> + <xsl:when test="info/title"> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="sect1info/subtitle"> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/subtitle"/> + </xsl:when> + <xsl:when test="info/subtitle"> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/corpauthor"/> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/corpauthor"/> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/authorgroup"/> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/authorgroup"/> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/author"/> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/author"/> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/othercredit"/> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/othercredit"/> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/releaseinfo"/> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/releaseinfo"/> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/copyright"/> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/copyright"/> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/legalnotice"/> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/legalnotice"/> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/pubdate"/> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/pubdate"/> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/revision"/> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/revision"/> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/revhistory"/> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/revhistory"/> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/abstract"/> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/abstract"/> +</xsl:template> + +<xsl:template name="sect1.titlepage.verso"> +</xsl:template> + +<xsl:template name="sect1.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if> +</xsl:template> + +<xsl:template name="sect1.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="sect1.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="sect1.titlepage"> + <div class="titlepage"> + <xsl:variable name="recto.content"> + <xsl:call-template name="sect1.titlepage.before.recto"/> + <xsl:call-template name="sect1.titlepage.recto"/> + </xsl:variable> + <xsl:variable name="recto.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> + <div><xsl:copy-of select="$recto.content"/></div> + </xsl:if> + <xsl:variable name="verso.content"> + <xsl:call-template name="sect1.titlepage.before.verso"/> + <xsl:call-template name="sect1.titlepage.verso"/> + </xsl:variable> + <xsl:variable name="verso.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> + <div><xsl:copy-of select="$verso.content"/></div> + </xsl:if> + <xsl:call-template name="sect1.titlepage.separator"/> + </div> +</xsl:template> + +<xsl:template match="*" mode="sect1.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="sect1.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="sect1.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect1.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="subtitle" mode="sect1.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect1.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="corpauthor" mode="sect1.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect1.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="authorgroup" mode="sect1.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect1.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="author" mode="sect1.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect1.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="othercredit" mode="sect1.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect1.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="releaseinfo" mode="sect1.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect1.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="copyright" mode="sect1.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect1.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="legalnotice" mode="sect1.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect1.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="pubdate" mode="sect1.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect1.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="revision" mode="sect1.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect1.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="revhistory" mode="sect1.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect1.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="abstract" mode="sect1.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect1.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template name="sect2.titlepage.recto"> + <xsl:choose> + <xsl:when test="sect2info/title"> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/title"/> + </xsl:when> + <xsl:when test="info/title"> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="sect2info/subtitle"> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/subtitle"/> + </xsl:when> + <xsl:when test="info/subtitle"> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/corpauthor"/> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/corpauthor"/> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/authorgroup"/> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/authorgroup"/> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/author"/> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/author"/> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/othercredit"/> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/othercredit"/> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/releaseinfo"/> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/releaseinfo"/> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/copyright"/> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/copyright"/> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/legalnotice"/> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/legalnotice"/> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/pubdate"/> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/pubdate"/> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/revision"/> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/revision"/> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/revhistory"/> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/revhistory"/> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/abstract"/> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/abstract"/> +</xsl:template> + +<xsl:template name="sect2.titlepage.verso"> +</xsl:template> + +<xsl:template name="sect2.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if> +</xsl:template> + +<xsl:template name="sect2.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="sect2.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="sect2.titlepage"> + <div class="titlepage"> + <xsl:variable name="recto.content"> + <xsl:call-template name="sect2.titlepage.before.recto"/> + <xsl:call-template name="sect2.titlepage.recto"/> + </xsl:variable> + <xsl:variable name="recto.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> + <div><xsl:copy-of select="$recto.content"/></div> + </xsl:if> + <xsl:variable name="verso.content"> + <xsl:call-template name="sect2.titlepage.before.verso"/> + <xsl:call-template name="sect2.titlepage.verso"/> + </xsl:variable> + <xsl:variable name="verso.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> + <div><xsl:copy-of select="$verso.content"/></div> + </xsl:if> + <xsl:call-template name="sect2.titlepage.separator"/> + </div> +</xsl:template> + +<xsl:template match="*" mode="sect2.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="sect2.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="sect2.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect2.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="subtitle" mode="sect2.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect2.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="corpauthor" mode="sect2.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect2.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="authorgroup" mode="sect2.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect2.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="author" mode="sect2.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect2.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="othercredit" mode="sect2.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect2.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="releaseinfo" mode="sect2.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect2.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="copyright" mode="sect2.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect2.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="legalnotice" mode="sect2.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect2.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="pubdate" mode="sect2.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect2.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="revision" mode="sect2.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect2.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="revhistory" mode="sect2.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect2.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="abstract" mode="sect2.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect2.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template name="sect3.titlepage.recto"> + <xsl:choose> + <xsl:when test="sect3info/title"> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/title"/> + </xsl:when> + <xsl:when test="info/title"> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="sect3info/subtitle"> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/subtitle"/> + </xsl:when> + <xsl:when test="info/subtitle"> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/corpauthor"/> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/corpauthor"/> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/authorgroup"/> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/authorgroup"/> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/author"/> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/author"/> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/othercredit"/> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/othercredit"/> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/releaseinfo"/> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/releaseinfo"/> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/copyright"/> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/copyright"/> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/legalnotice"/> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/legalnotice"/> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/pubdate"/> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/pubdate"/> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/revision"/> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/revision"/> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/revhistory"/> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/revhistory"/> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/abstract"/> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/abstract"/> +</xsl:template> + +<xsl:template name="sect3.titlepage.verso"> +</xsl:template> + +<xsl:template name="sect3.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if> +</xsl:template> + +<xsl:template name="sect3.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="sect3.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="sect3.titlepage"> + <div class="titlepage"> + <xsl:variable name="recto.content"> + <xsl:call-template name="sect3.titlepage.before.recto"/> + <xsl:call-template name="sect3.titlepage.recto"/> + </xsl:variable> + <xsl:variable name="recto.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> + <div><xsl:copy-of select="$recto.content"/></div> + </xsl:if> + <xsl:variable name="verso.content"> + <xsl:call-template name="sect3.titlepage.before.verso"/> + <xsl:call-template name="sect3.titlepage.verso"/> + </xsl:variable> + <xsl:variable name="verso.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> + <div><xsl:copy-of select="$verso.content"/></div> + </xsl:if> + <xsl:call-template name="sect3.titlepage.separator"/> + </div> +</xsl:template> + +<xsl:template match="*" mode="sect3.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="sect3.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="sect3.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect3.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="subtitle" mode="sect3.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect3.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="corpauthor" mode="sect3.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect3.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="authorgroup" mode="sect3.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect3.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="author" mode="sect3.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect3.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="othercredit" mode="sect3.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect3.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="releaseinfo" mode="sect3.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect3.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="copyright" mode="sect3.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect3.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="legalnotice" mode="sect3.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect3.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="pubdate" mode="sect3.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect3.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="revision" mode="sect3.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect3.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="revhistory" mode="sect3.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect3.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="abstract" mode="sect3.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect3.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template name="sect4.titlepage.recto"> + <xsl:choose> + <xsl:when test="sect4info/title"> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/title"/> + </xsl:when> + <xsl:when test="info/title"> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="sect4info/subtitle"> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/subtitle"/> + </xsl:when> + <xsl:when test="info/subtitle"> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/corpauthor"/> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/corpauthor"/> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/authorgroup"/> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/authorgroup"/> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/author"/> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/author"/> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/othercredit"/> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/othercredit"/> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/releaseinfo"/> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/releaseinfo"/> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/copyright"/> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/copyright"/> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/legalnotice"/> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/legalnotice"/> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/pubdate"/> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/pubdate"/> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/revision"/> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/revision"/> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/revhistory"/> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/revhistory"/> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/abstract"/> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/abstract"/> +</xsl:template> + +<xsl:template name="sect4.titlepage.verso"> +</xsl:template> + +<xsl:template name="sect4.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if> +</xsl:template> + +<xsl:template name="sect4.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="sect4.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="sect4.titlepage"> + <div class="titlepage"> + <xsl:variable name="recto.content"> + <xsl:call-template name="sect4.titlepage.before.recto"/> + <xsl:call-template name="sect4.titlepage.recto"/> + </xsl:variable> + <xsl:variable name="recto.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> + <div><xsl:copy-of select="$recto.content"/></div> + </xsl:if> + <xsl:variable name="verso.content"> + <xsl:call-template name="sect4.titlepage.before.verso"/> + <xsl:call-template name="sect4.titlepage.verso"/> + </xsl:variable> + <xsl:variable name="verso.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> + <div><xsl:copy-of select="$verso.content"/></div> + </xsl:if> + <xsl:call-template name="sect4.titlepage.separator"/> + </div> +</xsl:template> + +<xsl:template match="*" mode="sect4.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="sect4.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="sect4.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect4.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="subtitle" mode="sect4.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect4.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="corpauthor" mode="sect4.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect4.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="authorgroup" mode="sect4.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect4.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="author" mode="sect4.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect4.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="othercredit" mode="sect4.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect4.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="releaseinfo" mode="sect4.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect4.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="copyright" mode="sect4.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect4.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="legalnotice" mode="sect4.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect4.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="pubdate" mode="sect4.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect4.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="revision" mode="sect4.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect4.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="revhistory" mode="sect4.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect4.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="abstract" mode="sect4.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect4.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template name="sect5.titlepage.recto"> + <xsl:choose> + <xsl:when test="sect5info/title"> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/title"/> + </xsl:when> + <xsl:when test="info/title"> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="sect5info/subtitle"> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/subtitle"/> + </xsl:when> + <xsl:when test="info/subtitle"> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/corpauthor"/> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/corpauthor"/> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/authorgroup"/> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/authorgroup"/> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/author"/> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/author"/> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/othercredit"/> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/othercredit"/> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/releaseinfo"/> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/releaseinfo"/> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/copyright"/> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/copyright"/> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/legalnotice"/> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/legalnotice"/> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/pubdate"/> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/pubdate"/> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/revision"/> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/revision"/> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/revhistory"/> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/revhistory"/> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/abstract"/> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/abstract"/> +</xsl:template> + +<xsl:template name="sect5.titlepage.verso"> +</xsl:template> + +<xsl:template name="sect5.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if> +</xsl:template> + +<xsl:template name="sect5.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="sect5.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="sect5.titlepage"> + <div class="titlepage"> + <xsl:variable name="recto.content"> + <xsl:call-template name="sect5.titlepage.before.recto"/> + <xsl:call-template name="sect5.titlepage.recto"/> + </xsl:variable> + <xsl:variable name="recto.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> + <div><xsl:copy-of select="$recto.content"/></div> + </xsl:if> + <xsl:variable name="verso.content"> + <xsl:call-template name="sect5.titlepage.before.verso"/> + <xsl:call-template name="sect5.titlepage.verso"/> + </xsl:variable> + <xsl:variable name="verso.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> + <div><xsl:copy-of select="$verso.content"/></div> + </xsl:if> + <xsl:call-template name="sect5.titlepage.separator"/> + </div> +</xsl:template> + +<xsl:template match="*" mode="sect5.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="sect5.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="sect5.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect5.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="subtitle" mode="sect5.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect5.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="corpauthor" mode="sect5.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect5.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="authorgroup" mode="sect5.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect5.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="author" mode="sect5.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect5.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="othercredit" mode="sect5.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect5.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="releaseinfo" mode="sect5.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect5.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="copyright" mode="sect5.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect5.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="legalnotice" mode="sect5.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect5.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="pubdate" mode="sect5.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect5.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="revision" mode="sect5.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect5.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="revhistory" mode="sect5.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect5.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="abstract" mode="sect5.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect5.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template name="simplesect.titlepage.recto"> + <xsl:choose> + <xsl:when test="simplesectinfo/title"> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/title"/> + </xsl:when> + <xsl:when test="docinfo/title"> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/title"/> + </xsl:when> + <xsl:when test="info/title"> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="simplesectinfo/subtitle"> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/subtitle"/> + </xsl:when> + <xsl:when test="docinfo/subtitle"> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/subtitle"/> + </xsl:when> + <xsl:when test="info/subtitle"> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/corpauthor"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/corpauthor"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/corpauthor"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/authorgroup"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/authorgroup"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/authorgroup"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/author"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/author"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/author"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/othercredit"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/othercredit"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/othercredit"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/releaseinfo"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/releaseinfo"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/copyright"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/copyright"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/copyright"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/legalnotice"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/legalnotice"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/legalnotice"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/pubdate"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/pubdate"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/pubdate"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/revision"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/revision"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/revision"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/revhistory"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/revhistory"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/revhistory"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/abstract"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/abstract"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/abstract"/> +</xsl:template> + +<xsl:template name="simplesect.titlepage.verso"> +</xsl:template> + +<xsl:template name="simplesect.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if> +</xsl:template> + +<xsl:template name="simplesect.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="simplesect.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="simplesect.titlepage"> + <div class="titlepage"> + <xsl:variable name="recto.content"> + <xsl:call-template name="simplesect.titlepage.before.recto"/> + <xsl:call-template name="simplesect.titlepage.recto"/> + </xsl:variable> + <xsl:variable name="recto.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> + <div><xsl:copy-of select="$recto.content"/></div> + </xsl:if> + <xsl:variable name="verso.content"> + <xsl:call-template name="simplesect.titlepage.before.verso"/> + <xsl:call-template name="simplesect.titlepage.verso"/> + </xsl:variable> + <xsl:variable name="verso.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> + <div><xsl:copy-of select="$verso.content"/></div> + </xsl:if> + <xsl:call-template name="simplesect.titlepage.separator"/> + </div> +</xsl:template> + +<xsl:template match="*" mode="simplesect.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="simplesect.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="simplesect.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="simplesect.titlepage.recto.style"> +<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="subtitle" mode="simplesect.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="simplesect.titlepage.recto.style"> +<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="corpauthor" mode="simplesect.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="simplesect.titlepage.recto.style"> +<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="authorgroup" mode="simplesect.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="simplesect.titlepage.recto.style"> +<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="author" mode="simplesect.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="simplesect.titlepage.recto.style"> +<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="othercredit" mode="simplesect.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="simplesect.titlepage.recto.style"> +<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="releaseinfo" mode="simplesect.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="simplesect.titlepage.recto.style"> +<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="copyright" mode="simplesect.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="simplesect.titlepage.recto.style"> +<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="legalnotice" mode="simplesect.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="simplesect.titlepage.recto.style"> +<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="pubdate" mode="simplesect.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="simplesect.titlepage.recto.style"> +<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="revision" mode="simplesect.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="simplesect.titlepage.recto.style"> +<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="revhistory" mode="simplesect.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="simplesect.titlepage.recto.style"> +<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="abstract" mode="simplesect.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="simplesect.titlepage.recto.style"> +<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template name="bibliography.titlepage.recto"> + <div xsl:use-attribute-sets="bibliography.titlepage.recto.style"> +<xsl:call-template name="component.title"> +<xsl:with-param name="node" select="ancestor-or-self::bibliography[1]"/> +</xsl:call-template></div> + <xsl:choose> + <xsl:when test="bibliographyinfo/subtitle"> + <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="bibliographyinfo/subtitle"/> + </xsl:when> + <xsl:when test="docinfo/subtitle"> + <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="docinfo/subtitle"/> + </xsl:when> + <xsl:when test="info/subtitle"> + <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="info/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + +</xsl:template> + +<xsl:template name="bibliography.titlepage.verso"> +</xsl:template> + +<xsl:template name="bibliography.titlepage.separator"> +</xsl:template> + +<xsl:template name="bibliography.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="bibliography.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="bibliography.titlepage"> + <div class="titlepage"> + <xsl:variable name="recto.content"> + <xsl:call-template name="bibliography.titlepage.before.recto"/> + <xsl:call-template name="bibliography.titlepage.recto"/> + </xsl:variable> + <xsl:variable name="recto.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> + <div><xsl:copy-of select="$recto.content"/></div> + </xsl:if> + <xsl:variable name="verso.content"> + <xsl:call-template name="bibliography.titlepage.before.verso"/> + <xsl:call-template name="bibliography.titlepage.verso"/> + </xsl:variable> + <xsl:variable name="verso.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> + <div><xsl:copy-of select="$verso.content"/></div> + </xsl:if> + <xsl:call-template name="bibliography.titlepage.separator"/> + </div> +</xsl:template> + +<xsl:template match="*" mode="bibliography.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="bibliography.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="subtitle" mode="bibliography.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="bibliography.titlepage.recto.style"> +<xsl:apply-templates select="." mode="bibliography.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template name="glossary.titlepage.recto"> + <div xsl:use-attribute-sets="glossary.titlepage.recto.style"> +<xsl:call-template name="component.title"> +<xsl:with-param name="node" select="ancestor-or-self::glossary[1]"/> +</xsl:call-template></div> + <xsl:choose> + <xsl:when test="glossaryinfo/subtitle"> + <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="glossaryinfo/subtitle"/> + </xsl:when> + <xsl:when test="docinfo/subtitle"> + <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="docinfo/subtitle"/> + </xsl:when> + <xsl:when test="info/subtitle"> + <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="info/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + +</xsl:template> + +<xsl:template name="glossary.titlepage.verso"> +</xsl:template> + +<xsl:template name="glossary.titlepage.separator"> +</xsl:template> + +<xsl:template name="glossary.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="glossary.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="glossary.titlepage"> + <div class="titlepage"> + <xsl:variable name="recto.content"> + <xsl:call-template name="glossary.titlepage.before.recto"/> + <xsl:call-template name="glossary.titlepage.recto"/> + </xsl:variable> + <xsl:variable name="recto.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> + <div><xsl:copy-of select="$recto.content"/></div> + </xsl:if> + <xsl:variable name="verso.content"> + <xsl:call-template name="glossary.titlepage.before.verso"/> + <xsl:call-template name="glossary.titlepage.verso"/> + </xsl:variable> + <xsl:variable name="verso.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> + <div><xsl:copy-of select="$verso.content"/></div> + </xsl:if> + <xsl:call-template name="glossary.titlepage.separator"/> + </div> +</xsl:template> + +<xsl:template match="*" mode="glossary.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="glossary.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="subtitle" mode="glossary.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="glossary.titlepage.recto.style"> +<xsl:apply-templates select="." mode="glossary.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template name="index.titlepage.recto"> + <div xsl:use-attribute-sets="index.titlepage.recto.style"> +<xsl:call-template name="component.title"> +<xsl:with-param name="node" select="ancestor-or-self::index[1]"/> +</xsl:call-template></div> + <xsl:choose> + <xsl:when test="indexinfo/subtitle"> + <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="indexinfo/subtitle"/> + </xsl:when> + <xsl:when test="docinfo/subtitle"> + <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="docinfo/subtitle"/> + </xsl:when> + <xsl:when test="info/subtitle"> + <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="info/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + +</xsl:template> + +<xsl:template name="index.titlepage.verso"> +</xsl:template> + +<xsl:template name="index.titlepage.separator"> +</xsl:template> + +<xsl:template name="index.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="index.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="index.titlepage"> + <div class="titlepage"> + <xsl:variable name="recto.content"> + <xsl:call-template name="index.titlepage.before.recto"/> + <xsl:call-template name="index.titlepage.recto"/> + </xsl:variable> + <xsl:variable name="recto.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> + <div><xsl:copy-of select="$recto.content"/></div> + </xsl:if> + <xsl:variable name="verso.content"> + <xsl:call-template name="index.titlepage.before.verso"/> + <xsl:call-template name="index.titlepage.verso"/> + </xsl:variable> + <xsl:variable name="verso.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> + <div><xsl:copy-of select="$verso.content"/></div> + </xsl:if> + <xsl:call-template name="index.titlepage.separator"/> + </div> +</xsl:template> + +<xsl:template match="*" mode="index.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="index.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="subtitle" mode="index.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="index.titlepage.recto.style"> +<xsl:apply-templates select="." mode="index.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template name="setindex.titlepage.recto"> + <div xsl:use-attribute-sets="setindex.titlepage.recto.style"> +<xsl:call-template name="component.title"> +<xsl:with-param name="node" select="ancestor-or-self::setindex[1]"/> +</xsl:call-template></div> + <xsl:choose> + <xsl:when test="setindexinfo/subtitle"> + <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="setindexinfo/subtitle"/> + </xsl:when> + <xsl:when test="docinfo/subtitle"> + <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="docinfo/subtitle"/> + </xsl:when> + <xsl:when test="info/subtitle"> + <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="info/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + +</xsl:template> + +<xsl:template name="setindex.titlepage.verso"> +</xsl:template> + +<xsl:template name="setindex.titlepage.separator"> +</xsl:template> + +<xsl:template name="setindex.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="setindex.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="setindex.titlepage"> + <div class="titlepage"> + <xsl:variable name="recto.content"> + <xsl:call-template name="setindex.titlepage.before.recto"/> + <xsl:call-template name="setindex.titlepage.recto"/> + </xsl:variable> + <xsl:variable name="recto.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> + <div><xsl:copy-of select="$recto.content"/></div> + </xsl:if> + <xsl:variable name="verso.content"> + <xsl:call-template name="setindex.titlepage.before.verso"/> + <xsl:call-template name="setindex.titlepage.verso"/> + </xsl:variable> + <xsl:variable name="verso.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> + <div><xsl:copy-of select="$verso.content"/></div> + </xsl:if> + <xsl:call-template name="setindex.titlepage.separator"/> + </div> +</xsl:template> + +<xsl:template match="*" mode="setindex.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="setindex.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="subtitle" mode="setindex.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="setindex.titlepage.recto.style"> +<xsl:apply-templates select="." mode="setindex.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template name="sidebar.titlepage.recto"> + <xsl:choose> + <xsl:when test="sidebarinfo/title"> + <xsl:apply-templates mode="sidebar.titlepage.recto.auto.mode" select="sidebarinfo/title"/> + </xsl:when> + <xsl:when test="docinfo/title"> + <xsl:apply-templates mode="sidebar.titlepage.recto.auto.mode" select="docinfo/title"/> + </xsl:when> + <xsl:when test="info/title"> + <xsl:apply-templates mode="sidebar.titlepage.recto.auto.mode" select="info/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="sidebar.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="sidebarinfo/subtitle"> + <xsl:apply-templates mode="sidebar.titlepage.recto.auto.mode" select="sidebarinfo/subtitle"/> + </xsl:when> + <xsl:when test="docinfo/subtitle"> + <xsl:apply-templates mode="sidebar.titlepage.recto.auto.mode" select="docinfo/subtitle"/> + </xsl:when> + <xsl:when test="info/subtitle"> + <xsl:apply-templates mode="sidebar.titlepage.recto.auto.mode" select="info/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="sidebar.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + +</xsl:template> + +<xsl:template name="sidebar.titlepage.verso"> +</xsl:template> + +<xsl:template name="sidebar.titlepage.separator"> +</xsl:template> + +<xsl:template name="sidebar.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="sidebar.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="sidebar.titlepage"> + <div class="titlepage"> + <xsl:variable name="recto.content"> + <xsl:call-template name="sidebar.titlepage.before.recto"/> + <xsl:call-template name="sidebar.titlepage.recto"/> + </xsl:variable> + <xsl:variable name="recto.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> + <div><xsl:copy-of select="$recto.content"/></div> + </xsl:if> + <xsl:variable name="verso.content"> + <xsl:call-template name="sidebar.titlepage.before.verso"/> + <xsl:call-template name="sidebar.titlepage.verso"/> + </xsl:variable> + <xsl:variable name="verso.elements.count"> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> + <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> + <div><xsl:copy-of select="$verso.content"/></div> + </xsl:if> + <xsl:call-template name="sidebar.titlepage.separator"/> + </div> +</xsl:template> + +<xsl:template match="*" mode="sidebar.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="sidebar.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="sidebar.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sidebar.titlepage.recto.style"> +<xsl:call-template name="formal.object.heading"> +<xsl:with-param name="object" select="ancestor-or-self::sidebar[1]"/> +</xsl:call-template> +</div> +</xsl:template> + +<xsl:template match="subtitle" mode="sidebar.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sidebar.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sidebar.titlepage.recto.mode"/> +</div> +</xsl:template> + +</xsl:stylesheet> + diff --git a/doc/help/xslt/html/titlepage.xsl b/doc/help/xslt/html/titlepage.xsl new file mode 100644 index 00000000..3c285f0a --- /dev/null +++ b/doc/help/xslt/html/titlepage.xsl @@ -0,0 +1,1047 @@ +<?xml version='1.0'?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version='1.0'> + +<!-- ******************************************************************** + $Id: titlepage.xsl 8816 2010-08-10 11:56:35Z mzjn $ + ******************************************************************** + + This file is part of the XSL DocBook Stylesheet distribution. + See ../README or http://docbook.sf.net/release/xsl/current/ for + copyright and other information. + + ******************************************************************** --> + +<!-- ==================================================================== --> + +<xsl:attribute-set name="book.titlepage.recto.style"/> +<xsl:attribute-set name="book.titlepage.verso.style"/> + +<xsl:attribute-set name="article.titlepage.recto.style"/> +<xsl:attribute-set name="article.titlepage.verso.style"/> + +<xsl:attribute-set name="set.titlepage.recto.style"/> +<xsl:attribute-set name="set.titlepage.verso.style"/> + +<xsl:attribute-set name="part.titlepage.recto.style"/> +<xsl:attribute-set name="part.titlepage.verso.style"/> + +<xsl:attribute-set name="partintro.titlepage.recto.style"/> +<xsl:attribute-set name="partintro.titlepage.verso.style"/> + +<xsl:attribute-set name="reference.titlepage.recto.style"/> +<xsl:attribute-set name="reference.titlepage.verso.style"/> + +<xsl:attribute-set name="refentry.titlepage.recto.style"/> +<xsl:attribute-set name="refentry.titlepage.verso.style"/> + +<xsl:attribute-set name="dedication.titlepage.recto.style"/> +<xsl:attribute-set name="dedication.titlepage.verso.style"/> + +<xsl:attribute-set name="acknowledgements.titlepage.recto.style"/> +<xsl:attribute-set name="acknowledgements.titlepage.verso.style"/> + +<xsl:attribute-set name="preface.titlepage.recto.style"/> +<xsl:attribute-set name="preface.titlepage.verso.style"/> + +<xsl:attribute-set name="chapter.titlepage.recto.style"/> +<xsl:attribute-set name="chapter.titlepage.verso.style"/> + +<xsl:attribute-set name="appendix.titlepage.recto.style"/> +<xsl:attribute-set name="appendix.titlepage.verso.style"/> + +<xsl:attribute-set name="bibliography.titlepage.recto.style"/> +<xsl:attribute-set name="bibliography.titlepage.verso.style"/> + +<xsl:attribute-set name="glossary.titlepage.recto.style"/> +<xsl:attribute-set name="glossary.titlepage.verso.style"/> + +<xsl:attribute-set name="index.titlepage.recto.style"/> +<xsl:attribute-set name="index.titlepage.verso.style"/> + +<xsl:attribute-set name="setindex.titlepage.recto.style"/> +<xsl:attribute-set name="setindex.titlepage.verso.style"/> + +<xsl:attribute-set name="sidebar.titlepage.recto.style"/> +<xsl:attribute-set name="sidebar.titlepage.verso.style"/> + +<xsl:attribute-set name="section.titlepage.recto.style"/> +<xsl:attribute-set name="section.titlepage.verso.style"/> + +<xsl:attribute-set name="sect1.titlepage.recto.style" + use-attribute-sets="section.titlepage.recto.style"/> +<xsl:attribute-set name="sect1.titlepage.verso.style" + use-attribute-sets="section.titlepage.verso.style"/> + +<xsl:attribute-set name="sect2.titlepage.recto.style" + use-attribute-sets="section.titlepage.recto.style"/> +<xsl:attribute-set name="sect2.titlepage.verso.style" + use-attribute-sets="section.titlepage.verso.style"/> + +<xsl:attribute-set name="sect3.titlepage.recto.style" + use-attribute-sets="section.titlepage.recto.style"/> +<xsl:attribute-set name="sect3.titlepage.verso.style" + use-attribute-sets="section.titlepage.verso.style"/> + +<xsl:attribute-set name="sect4.titlepage.recto.style" + use-attribute-sets="section.titlepage.recto.style"/> +<xsl:attribute-set name="sect4.titlepage.verso.style" + use-attribute-sets="section.titlepage.verso.style"/> + +<xsl:attribute-set name="sect5.titlepage.recto.style" + use-attribute-sets="section.titlepage.recto.style"/> +<xsl:attribute-set name="sect5.titlepage.verso.style" + use-attribute-sets="section.titlepage.verso.style"/> + +<xsl:attribute-set name="simplesect.titlepage.recto.style" + use-attribute-sets="section.titlepage.recto.style"/> +<xsl:attribute-set name="simplesect.titlepage.verso.style" + use-attribute-sets="section.titlepage.verso.style"/> + +<xsl:attribute-set name="table.of.contents.titlepage.recto.style"/> +<xsl:attribute-set name="table.of.contents.titlepage.verso.style"/> + +<xsl:attribute-set name="list.of.tables.titlepage.recto.style"/> +<xsl:attribute-set name="list.of.tables.contents.titlepage.verso.style"/> + +<xsl:attribute-set name="list.of.figures.titlepage.recto.style"/> +<xsl:attribute-set name="list.of.figures.contents.titlepage.verso.style"/> + +<xsl:attribute-set name="list.of.equations.titlepage.recto.style"/> +<xsl:attribute-set name="list.of.equations.contents.titlepage.verso.style"/> + +<xsl:attribute-set name="list.of.examples.titlepage.recto.style"/> +<xsl:attribute-set name="list.of.examples.contents.titlepage.verso.style"/> + +<xsl:attribute-set name="list.of.unknowns.titlepage.recto.style"/> +<xsl:attribute-set name="list.of.unknowns.contents.titlepage.verso.style"/> + +<!-- ==================================================================== --> + +<xsl:template match="*" mode="titlepage.mode"> + <!-- if an element isn't found in this mode, try the default mode --> + <xsl:apply-templates select="."/> +</xsl:template> + +<xsl:template match="abbrev" mode="titlepage.mode"> + <span> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:apply-templates mode="titlepage.mode"/> + <br/> + </span> +</xsl:template> + +<xsl:template match="abstract" mode="titlepage.mode"> + <div> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:call-template name="anchor"/> + <xsl:if test="$abstract.notitle.enabled = 0"> + <xsl:call-template name="formal.object.heading"> + <xsl:with-param name="title"> + <xsl:apply-templates select="." mode="title.markup"/> + </xsl:with-param> + </xsl:call-template> + </xsl:if> + <xsl:apply-templates mode="titlepage.mode"/> + <xsl:call-template name="process.footnotes"/> + </div> +</xsl:template> + +<xsl:template match="abstract/title" mode="titlepage.mode"> +</xsl:template> + +<xsl:template match="address" mode="titlepage.mode"> + <xsl:param name="suppress-numbers" select="'0'"/> + + <xsl:variable name="rtf"> + <xsl:apply-templates mode="titlepage.mode"/> + </xsl:variable> + + <xsl:choose> + <xsl:when test="$suppress-numbers = '0' + and @linenumbering = 'numbered' + and $use.extensions != '0' + and $linenumbering.extension != '0'"> + <div> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:call-template name="paragraph"> + <xsl:with-param name="content"> + <xsl:call-template name="number.rtf.lines"> + <xsl:with-param name="rtf" select="$rtf"/> + </xsl:call-template> + </xsl:with-param> + </xsl:call-template> + </div> + </xsl:when> + + <xsl:otherwise> + <div> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:call-template name="paragraph"> + <xsl:with-param name="content"> + <xsl:call-template name="make-verbatim"> + <xsl:with-param name="rtf" select="$rtf"/> + </xsl:call-template> + </xsl:with-param> + </xsl:call-template> + </div> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="affiliation" mode="titlepage.mode"> + <div> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:apply-templates mode="titlepage.mode"/> + </div> +</xsl:template> + +<xsl:template match="artpagenums" mode="titlepage.mode"> + <span> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:apply-templates mode="titlepage.mode"/> + <br/> + </span> +</xsl:template> + +<xsl:template match="author|editor" mode="titlepage.mode"> + <xsl:call-template name="credits.div"/> +</xsl:template> + +<xsl:template name="credits.div"> + <div> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:if test="self::editor[position()=1] and not($editedby.enabled = 0)"> + <h4 class="editedby"><xsl:call-template name="gentext.edited.by"/></h4> + </xsl:if> + <h3> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:choose> + <xsl:when test="orgname"> + <xsl:apply-templates/> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="person.name"/> + </xsl:otherwise> + </xsl:choose> + </h3> + <xsl:if test="not($contrib.inline.enabled = 0)"> + <xsl:apply-templates mode="titlepage.mode" select="contrib"/> + </xsl:if> + <xsl:apply-templates mode="titlepage.mode" select="affiliation"/> + <xsl:apply-templates mode="titlepage.mode" select="email"/> + <xsl:if test="not($blurb.on.titlepage.enabled = 0)"> + <xsl:choose> + <xsl:when test="$contrib.inline.enabled = 0"> + <xsl:apply-templates mode="titlepage.mode" + select="contrib|authorblurb|personblurb"/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates mode="titlepage.mode" + select="authorblurb|personblurb"/> + </xsl:otherwise> + </xsl:choose> + </xsl:if> + </div> +</xsl:template> + +<xsl:template match="authorblurb|personblurb" mode="titlepage.mode"> + <div> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:apply-templates mode="titlepage.mode"/> + </div> +</xsl:template> + +<xsl:template match="authorgroup" mode="titlepage.mode"> + <div> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:if test="parent::refentryinfo"> + <h2>Authors</h2> + </xsl:if> + + <xsl:call-template name="anchor"/> + <xsl:apply-templates mode="titlepage.mode"/> + </div> +</xsl:template> + +<xsl:template match="authorinitials" mode="titlepage.mode"> + <span> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:apply-templates mode="titlepage.mode"/> + <br/> + </span> +</xsl:template> + +<xsl:template match="bibliomisc" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="bibliomset" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="collab" mode="titlepage.mode"> + <span> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:apply-templates mode="titlepage.mode"/> + <br/> + </span> +</xsl:template> + +<xsl:template match="collabname" mode="titlepage.mode"> + <span> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:apply-templates mode="titlepage.mode"/> + </span> +</xsl:template> + +<xsl:template match="confgroup" mode="titlepage.mode"> + <div> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:apply-templates mode="titlepage.mode"/> + </div> +</xsl:template> + +<xsl:template match="confdates" mode="titlepage.mode"> + <span> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:apply-templates mode="titlepage.mode"/> + <br/> + </span> +</xsl:template> + +<xsl:template match="confsponsor" mode="titlepage.mode"> + <span> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:apply-templates mode="titlepage.mode"/> + <br/> + </span> +</xsl:template> + +<xsl:template match="conftitle" mode="titlepage.mode"> + <span> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:apply-templates mode="titlepage.mode"/> + <br/> + </span> +</xsl:template> + +<xsl:template match="confnum" mode="titlepage.mode"> + <!-- suppress --> +</xsl:template> + +<xsl:template match="contractnum" mode="titlepage.mode"> + <span> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:apply-templates mode="titlepage.mode"/> + <br/> + </span> +</xsl:template> + +<xsl:template match="contractsponsor" mode="titlepage.mode"> + <span> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:apply-templates mode="titlepage.mode"/> + <br/> + </span> +</xsl:template> + +<xsl:template match="contrib" mode="titlepage.mode"> + <xsl:choose> + <xsl:when test="not($contrib.inline.enabled = 0)"> + <span> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:apply-templates mode="titlepage.mode"/> + </span><xsl:text> </xsl:text> + </xsl:when> + <xsl:otherwise> + <div> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <p><xsl:apply-templates mode="titlepage.mode"/></p> + </div> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="copyright" mode="titlepage.mode"> + + <xsl:if test="generate-id() = generate-id(//refentryinfo/copyright[1]) + and ($stylesheet.result.type = 'html' or $stylesheet.result.type = 'xhtml')"> + <h2>Copyright</h2> + </xsl:if> + + <p> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:call-template name="gentext"> + <xsl:with-param name="key" select="'Copyright'"/> + </xsl:call-template> + <xsl:call-template name="gentext.space"/> + <xsl:call-template name="dingbat"> + <xsl:with-param name="dingbat">copyright</xsl:with-param> + </xsl:call-template> + <xsl:call-template name="gentext.space"/> + <xsl:call-template name="copyright.years"> + <xsl:with-param name="years" select="year"/> + <xsl:with-param name="print.ranges" select="$make.year.ranges"/> + <xsl:with-param name="single.year.ranges" + select="$make.single.year.ranges"/> + </xsl:call-template> + <xsl:call-template name="gentext.space"/> + <xsl:apply-templates select="holder" mode="titlepage.mode"/> + </p> +</xsl:template> + +<xsl:template match="year" mode="titlepage.mode"> + <xsl:choose> + <xsl:when test="$show.revisionflag != 0 and @revisionflag"> + <span class="{@revisionflag}"> + <xsl:apply-templates mode="titlepage.mode"/> + </span> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates mode="titlepage.mode"/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="holder" mode="titlepage.mode"> + <xsl:choose> + <xsl:when test="$show.revisionflag != 0 and @revisionflag"> + <span class="{@revisionflag}"> + <xsl:apply-templates mode="titlepage.mode"/> + </span> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates mode="titlepage.mode"/> + </xsl:otherwise> + </xsl:choose> + <xsl:if test="position() < last()"> + <xsl:text>, </xsl:text> + </xsl:if> +</xsl:template> + +<xsl:template match="corpauthor" mode="titlepage.mode"> + <h3> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:apply-templates mode="titlepage.mode"/> + </h3> +</xsl:template> + +<xsl:template match="corpcredit" mode="titlepage.mode"> + <span> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:apply-templates mode="titlepage.mode"/> + <br/> + </span> +</xsl:template> + +<xsl:template match="corpname" mode="titlepage.mode"> + <span> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:apply-templates mode="titlepage.mode"/> + <br/> + </span> +</xsl:template> + +<xsl:template match="date" mode="titlepage.mode"> + <span> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:apply-templates mode="titlepage.mode"/> + <br/> + </span> +</xsl:template> + +<xsl:template match="edition" mode="titlepage.mode"> + <p> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:apply-templates mode="titlepage.mode"/> + <xsl:call-template name="gentext.space"/> + <xsl:call-template name="gentext"> + <xsl:with-param name="key" select="'Edition'"/> + </xsl:call-template> + </p> +</xsl:template> + +<xsl:template match="email" mode="titlepage.mode"> + <!-- use the normal e-mail handling code --> + <xsl:apply-templates select="."/> +</xsl:template> + +<xsl:template match="firstname" mode="titlepage.mode"> + <span> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:apply-templates mode="titlepage.mode"/> + <br/> + </span> +</xsl:template> + +<xsl:template match="graphic" mode="titlepage.mode"> + <!-- use the normal graphic handling code --> + <xsl:apply-templates select="."/> +</xsl:template> + +<xsl:template match="honorific" mode="titlepage.mode"> + <span> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:apply-templates mode="titlepage.mode"/> + <br/> + </span> +</xsl:template> + +<xsl:template match="isbn" mode="titlepage.mode"> + <span> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:apply-templates mode="titlepage.mode"/> + <br/> + </span> +</xsl:template> + +<xsl:template match="issn" mode="titlepage.mode"> + <span> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:apply-templates mode="titlepage.mode"/> + <br/> + </span> +</xsl:template> + +<xsl:template match="biblioid" mode="titlepage.mode"> + <span> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:apply-templates mode="titlepage.mode"/> + <br/> + </span> +</xsl:template> + +<xsl:template match="itermset" mode="titlepage.mode"> +</xsl:template> + +<xsl:template match="invpartnumber" mode="titlepage.mode"> + <span> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:apply-templates mode="titlepage.mode"/> + <br/> + </span> +</xsl:template> + +<xsl:template match="issuenum" mode="titlepage.mode"> + <span> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:apply-templates mode="titlepage.mode"/> + <br/> + </span> +</xsl:template> + +<xsl:template match="jobtitle" mode="titlepage.mode"> + <span> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:apply-templates mode="titlepage.mode"/> + <br/> + </span> +</xsl:template> + +<xsl:template match="keywordset" mode="titlepage.mode"> +</xsl:template> + +<xsl:template match="legalnotice" mode="titlepage.mode"> + <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable> + + <xsl:choose> + <xsl:when test="$generate.legalnotice.link != 0"> + + <!-- Compute name of legalnotice file --> + <xsl:variable name="file"> + <xsl:call-template name="ln.or.rh.filename"/> + </xsl:variable> + + <xsl:variable name="filename"> + <xsl:call-template name="make-relative-filename"> + <xsl:with-param name="base.dir" select="$base.dir"/> + <xsl:with-param name="base.name" select="$file"/> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="title"> + <xsl:apply-templates select="." mode="title.markup"/> + </xsl:variable> + + <a href="{$file}"> + <xsl:copy-of select="$title"/> + </a> + + <xsl:call-template name="write.chunk"> + <xsl:with-param name="filename" select="$filename"/> + <xsl:with-param name="quiet" select="$chunk.quietly"/> + <xsl:with-param name="content"> + <xsl:call-template name="user.preroot"/> + <html> + <head> + <xsl:call-template name="system.head.content"/> + <xsl:call-template name="head.content"/> + <xsl:call-template name="user.head.content"/> + </head> + <body> + <xsl:call-template name="body.attributes"/> + <div> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:apply-templates mode="titlepage.mode"/> + </div> + </body> + </html> + <xsl:value-of select="$chunk.append"/> + </xsl:with-param> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <div> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <a name="{$id}"/> + <xsl:apply-templates mode="titlepage.mode"/> + </div> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="legalnotice/title" mode="titlepage.mode"> + <p class="legalnotice-title"><b><xsl:apply-templates/></b></p> +</xsl:template> + +<xsl:template match="lineage" mode="titlepage.mode"> + <span> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:apply-templates mode="titlepage.mode"/> + <br/> + </span> +</xsl:template> + +<xsl:template match="modespec" mode="titlepage.mode"> +</xsl:template> + +<xsl:template match="orgdiv" mode="titlepage.mode"> + <xsl:if test="preceding-sibling::*[1][self::orgname]"> + <xsl:text> </xsl:text> + </xsl:if> + <span> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:apply-templates mode="titlepage.mode"/> + <br/> + </span> +</xsl:template> + +<xsl:template match="orgname" mode="titlepage.mode"> + <span> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:apply-templates mode="titlepage.mode"/> + <br/> + </span> +</xsl:template> + +<xsl:template match="othercredit" mode="titlepage.mode"> +<xsl:choose> + <xsl:when test="not($othercredit.like.author.enabled = 0)"> + <xsl:variable name="contrib" select="string(contrib)"/> + <xsl:choose> + <xsl:when test="contrib"> + <xsl:if test="not(preceding-sibling::othercredit[string(contrib)=$contrib])"> + <xsl:call-template name="paragraph"> + <xsl:with-param name="class" select="local-name(.)"/> + <xsl:with-param name="content"> + <xsl:apply-templates mode="titlepage.mode" select="contrib"/> + <xsl:text>: </xsl:text> + <xsl:call-template name="person.name"/> + <xsl:apply-templates mode="titlepage.mode" select="affiliation"/> + <xsl:apply-templates select="following-sibling::othercredit[string(contrib)=$contrib]" mode="titlepage.othercredits"/> + </xsl:with-param> + </xsl:call-template> + </xsl:if> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="paragraph"> + <xsl:with-param name="class" select="local-name(.)"/> + <xsl:with-param name="content"> + <xsl:call-template name="person.name"/> + </xsl:with-param> + </xsl:call-template> + <xsl:apply-templates mode="titlepage.mode" select="affiliation"/> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="credits.div"/> + </xsl:otherwise> +</xsl:choose> +</xsl:template> + +<xsl:template match="othercredit" mode="titlepage.othercredits"> + <xsl:text>, </xsl:text> + <xsl:call-template name="person.name"/> +</xsl:template> + +<xsl:template match="othername" mode="titlepage.mode"> + <span> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:apply-templates mode="titlepage.mode"/> + <br/> + </span> +</xsl:template> + +<xsl:template match="pagenums" mode="titlepage.mode"> + <span> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:apply-templates mode="titlepage.mode"/> + <br/> + </span> +</xsl:template> + +<xsl:template match="printhistory" mode="titlepage.mode"> + <div> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:apply-templates mode="titlepage.mode"/> + </div> +</xsl:template> + +<xsl:template match="productname" mode="titlepage.mode"> + <span> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:apply-templates mode="titlepage.mode"/> + <br/> + </span> +</xsl:template> + +<xsl:template match="productnumber" mode="titlepage.mode"> + <span> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:apply-templates mode="titlepage.mode"/> + <br/> + </span> +</xsl:template> + +<xsl:template match="pubdate" mode="titlepage.mode"> + <xsl:call-template name="paragraph"> + <xsl:with-param name="class" select="local-name(.)"/> + <xsl:with-param name="content"> + <xsl:apply-templates mode="titlepage.mode"/> + </xsl:with-param> + </xsl:call-template> +</xsl:template> + +<xsl:template match="publisher" mode="titlepage.mode"> + <xsl:call-template name="paragraph"> + <xsl:with-param name="class" select="local-name(.)"/> + <xsl:with-param name="content"> + <xsl:apply-templates mode="titlepage.mode"/> + </xsl:with-param> + </xsl:call-template> +</xsl:template> + +<xsl:template match="publishername" mode="titlepage.mode"> + <span> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:apply-templates mode="titlepage.mode"/> + <br/> + </span> +</xsl:template> + +<xsl:template match="pubsnumber" mode="titlepage.mode"> + <span> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:apply-templates mode="titlepage.mode"/> + <br/> + </span> +</xsl:template> + +<xsl:template match="releaseinfo" mode="titlepage.mode"> + <xsl:call-template name="paragraph"> + <xsl:with-param name="class" select="local-name(.)"/> + <xsl:with-param name="content"> + <xsl:apply-templates mode="titlepage.mode"/> + </xsl:with-param> + </xsl:call-template> +</xsl:template> + +<xsl:template match="revhistory" mode="titlepage.mode"> + <xsl:variable name="numcols"> + <xsl:choose> + <xsl:when test=".//authorinitials|.//author">3</xsl:when> + <xsl:otherwise>2</xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable> + + <xsl:variable name="title"> + <xsl:call-template name="gentext"> + <xsl:with-param name="key">RevHistory</xsl:with-param> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="contents"> + <div> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <table border="1" width="100%" summary="Revision history"> + <tr> + <th align="{$direction.align.start}" valign="top" colspan="{$numcols}"> + <b> + <xsl:call-template name="gentext"> + <xsl:with-param name="key" select="'RevHistory'"/> + </xsl:call-template> + </b> + </th> + </tr> + <xsl:apply-templates mode="titlepage.mode"> + <xsl:with-param name="numcols" select="$numcols"/> + </xsl:apply-templates> + </table> + </div> + </xsl:variable> + + <xsl:choose> + <xsl:when test="$generate.revhistory.link != 0"> + + <!-- Compute name of revhistory file --> + <xsl:variable name="file"> + <xsl:call-template name="ln.or.rh.filename"> + <xsl:with-param name="is.ln" select="false()"/> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="filename"> + <xsl:call-template name="make-relative-filename"> + <xsl:with-param name="base.dir" select="$base.dir"/> + <xsl:with-param name="base.name" select="$file"/> + </xsl:call-template> + </xsl:variable> + + <a href="{$file}"> + <xsl:copy-of select="$title"/> + </a> + + <xsl:call-template name="write.chunk"> + <xsl:with-param name="filename" select="$filename"/> + <xsl:with-param name="quiet" select="$chunk.quietly"/> + <xsl:with-param name="content"> + <xsl:call-template name="user.preroot"/> + <html> + <head> + <xsl:call-template name="system.head.content"/> + <xsl:call-template name="head.content"> + <xsl:with-param name="title"> + <xsl:value-of select="$title"/> + <xsl:if test="../../title"> + <xsl:value-of select="concat(' (', ../../title, ')')"/> + </xsl:if> + </xsl:with-param> + </xsl:call-template> + <xsl:call-template name="user.head.content"/> + </head> + <body> + <xsl:call-template name="body.attributes"/> + <xsl:copy-of select="$contents"/> + </body> + </html> + <xsl:text> </xsl:text> + </xsl:with-param> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:copy-of select="$contents"/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="revhistory/revision" mode="titlepage.mode"> + <xsl:param name="numcols" select="'3'"/> + <xsl:variable name="revnumber" select="revnumber"/> + <xsl:variable name="revdate" select="date"/> + <xsl:variable name="revauthor" select="authorinitials|author"/> + <xsl:variable name="revremark" select="revremark|revdescription"/> + <tr> + <td align="{$direction.align.start}"> + <xsl:if test="$revnumber"> + <xsl:call-template name="gentext"> + <xsl:with-param name="key" select="'Revision'"/> + </xsl:call-template> + <xsl:call-template name="gentext.space"/> + <xsl:apply-templates select="$revnumber[1]" mode="titlepage.mode"/> + </xsl:if> + </td> + <td align="{$direction.align.start}"> + <xsl:apply-templates select="$revdate[1]" mode="titlepage.mode"/> + </td> + <xsl:choose> + <xsl:when test="$revauthor"> + <td align="{$direction.align.start}"> + <xsl:for-each select="$revauthor"> + <xsl:apply-templates select="." mode="titlepage.mode"/> + <xsl:if test="position() != last()"> + <xsl:text>, </xsl:text> + </xsl:if> + </xsl:for-each> + </td> + </xsl:when> + <xsl:when test="$numcols > 2"> + <td> </td> + </xsl:when> + <xsl:otherwise></xsl:otherwise> + </xsl:choose> + </tr> + <xsl:if test="$revremark"> + <tr> + <td align="{$direction.align.start}" colspan="{$numcols}"> + <xsl:apply-templates select="$revremark[1]" mode="titlepage.mode"/> + </td> + </tr> + </xsl:if> +</xsl:template> + +<xsl:template match="revision/revnumber" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="revision/date" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="revision/authorinitials" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="revision/author" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="revision/revremark" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="revision/revdescription" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="seriesvolnums" mode="titlepage.mode"> + <span> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:apply-templates mode="titlepage.mode"/> + <br/> + </span> +</xsl:template> + +<xsl:template match="shortaffil" mode="titlepage.mode"> + <span> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:apply-templates mode="titlepage.mode"/> + <br/> + </span> +</xsl:template> + +<xsl:template match="subjectset" mode="titlepage.mode"> +</xsl:template> + +<xsl:template match="subtitle" mode="titlepage.mode"> + <h2> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:apply-templates mode="titlepage.mode"/> + </h2> +</xsl:template> + +<xsl:template match="surname" mode="titlepage.mode"> + <span> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:apply-templates mode="titlepage.mode"/> + <br/> + </span> +</xsl:template> + +<xsl:template match="title" mode="titlepage.mode"> + <xsl:variable name="id"> + <xsl:choose> + <!-- if title is in an *info wrapper, get the grandparent --> + <xsl:when test="contains(local-name(..), 'info')"> + <xsl:call-template name="object.id"> + <xsl:with-param name="object" select="../.."/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="object.id"> + <xsl:with-param name="object" select=".."/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <h1> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:if test="$generate.id.attributes = 0"> + <a name="{$id}"/> + </xsl:if> + <xsl:choose> + <xsl:when test="$show.revisionflag != 0 and @revisionflag"> + <span class="{@revisionflag}"> + <xsl:apply-templates mode="titlepage.mode"/> + </span> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates mode="titlepage.mode"/> + </xsl:otherwise> + </xsl:choose> + </h1> +</xsl:template> + +<xsl:template match="titleabbrev" mode="titlepage.mode"> + <!-- nop; title abbreviations don't belong on the title page! --> +</xsl:template> + +<xsl:template match="volumenum" mode="titlepage.mode"> + <span> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:apply-templates mode="titlepage.mode"/> + <br/> + </span> +</xsl:template> + +<!-- This template computes the filename for legalnotice and revhistory chunks --> +<xsl:template name="ln.or.rh.filename"> + <xsl:param name="node" select="."/> + <xsl:param name="is.ln" select="true()"/> + + <xsl:variable name="dbhtml-filename"> + <xsl:call-template name="pi.dbhtml_filename"> + <xsl:with-param name="node" select="$node"/> + </xsl:call-template> + </xsl:variable> + + <xsl:choose> + <!-- 1. If there is a dbhtml_filename PI, use that --> + <xsl:when test="$dbhtml-filename != ''"> + <xsl:value-of select="$dbhtml-filename"/> + </xsl:when> + <xsl:when test="($node/@id or $node/@xml:id) and not($use.id.as.filename = 0)"> + <!-- * 2. If this legalnotice/revhistory has an ID, then go ahead and use --> + <!-- * just the value of that ID as the basename for the file --> + <!-- * (that is, without prepending an "ln-" or "rh-" to it) --> + <xsl:value-of select="($node/@id|$node/@xml:id)[1]"/> + <xsl:value-of select="$html.ext"/> + </xsl:when> + <xsl:when test="not ($node/@id or $node/@xml:id) or $use.id.as.filename = 0"> + <!-- * 3. Otherwise, if this legalnotice/revhistory does not have an ID, or --> + <!-- * if $use.id.as.filename = 0 --> + <!-- * then we generate an ID... --> + <xsl:variable name="id"> + <xsl:value-of select="generate-id($node)"/> + </xsl:variable> + <!-- * ...and then we take that generated ID, prepend a --> + <!-- * prefix to it, and use that as the basename for the file --> + <xsl:choose> + <xsl:when test="$is.ln"> + <xsl:value-of select="concat('ln-',$id,$html.ext)"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="concat('rh-',$id,$html.ext)"/> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + </xsl:choose> +</xsl:template> + +<!-- ==================================================================== --> + +</xsl:stylesheet> diff --git a/doc/help/xslt/html/toc.xsl b/doc/help/xslt/html/toc.xsl new file mode 100644 index 00000000..d8c1be50 --- /dev/null +++ b/doc/help/xslt/html/toc.xsl @@ -0,0 +1,350 @@ +<?xml version='1.0'?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version='1.0'> + +<!-- ******************************************************************** + $Id: toc.xsl 8421 2009-05-04 07:49:49Z bobstayton $ + ******************************************************************** + + This file is part of the XSL DocBook Stylesheet distribution. + See ../README or http://docbook.sf.net/release/xsl/current/ for + copyright and other information. + + ******************************************************************** --> + +<!-- ==================================================================== --> + +<xsl:template match="set/toc | book/toc | part/toc"> + <xsl:variable name="toc.params"> + <xsl:call-template name="find.path.params"> + <xsl:with-param name="node" select="parent::*"/> + <xsl:with-param name="table" select="normalize-space($generate.toc)"/> + </xsl:call-template> + </xsl:variable> + + <!-- Do not output the toc element if one is already generated + by the use of $generate.toc parameter, or if + generating a source toc is turned off --> + <xsl:if test="not(contains($toc.params, 'toc')) and + ($process.source.toc != 0 or $process.empty.source.toc != 0)"> + <xsl:variable name="content"> + <xsl:choose> + <xsl:when test="* and $process.source.toc != 0"> + <xsl:apply-templates /> + </xsl:when> + <xsl:when test="count(*) = 0 and $process.empty.source.toc != 0"> + <!-- trick to switch context node to parent element --> + <xsl:for-each select="parent::*"> + <xsl:choose> + <xsl:when test="self::set"> + <xsl:call-template name="set.toc"> + <xsl:with-param name="toc.title.p" + select="contains($toc.params, 'title')"/> + </xsl:call-template> + </xsl:when> + <xsl:when test="self::book"> + <xsl:call-template name="division.toc"> + <xsl:with-param name="toc.title.p" + select="contains($toc.params, 'title')"/> + </xsl:call-template> + </xsl:when> + <xsl:when test="self::part"> + <xsl:call-template name="division.toc"> + <xsl:with-param name="toc.title.p" + select="contains($toc.params, 'title')"/> + </xsl:call-template> + </xsl:when> + </xsl:choose> + </xsl:for-each> + </xsl:when> + </xsl:choose> + </xsl:variable> + + <xsl:if test="string-length(normalize-space($content)) != 0"> + <xsl:copy-of select="$content"/> + </xsl:if> + </xsl:if> +</xsl:template> + +<xsl:template match="chapter/toc | appendix/toc | preface/toc | article/toc"> + <xsl:variable name="toc.params"> + <xsl:call-template name="find.path.params"> + <xsl:with-param name="node" select="parent::*"/> + <xsl:with-param name="table" select="normalize-space($generate.toc)"/> + </xsl:call-template> + </xsl:variable> + + <!-- Do not output the toc element if one is already generated + by the use of $generate.toc parameter, or if + generating a source toc is turned off --> + <xsl:if test="not(contains($toc.params, 'toc')) and + ($process.source.toc != 0 or $process.empty.source.toc != 0)"> + <xsl:choose> + <xsl:when test="* and $process.source.toc != 0"> + <div> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:apply-templates select="title"/> + <dl> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:apply-templates select="*[not(self::title)]"/> + </dl> + </div> + <xsl:call-template name="component.toc.separator"/> + </xsl:when> + <xsl:when test="count(*) = 0 and $process.empty.source.toc != 0"> + <!-- trick to switch context node to section element --> + <xsl:for-each select="parent::*"> + <xsl:call-template name="component.toc"> + <xsl:with-param name="toc.title.p" + select="contains($toc.params, 'title')"/> + </xsl:call-template> + </xsl:for-each> + <xsl:call-template name="component.toc.separator"/> + </xsl:when> + </xsl:choose> + </xsl:if> +</xsl:template> + +<xsl:template match="section/toc + |sect1/toc + |sect2/toc + |sect3/toc + |sect4/toc + |sect5/toc"> + + <xsl:variable name="toc.params"> + <xsl:call-template name="find.path.params"> + <xsl:with-param name="node" select="parent::*"/> + <xsl:with-param name="table" select="normalize-space($generate.toc)"/> + </xsl:call-template> + </xsl:variable> + + <!-- Do not output the toc element if one is already generated + by the use of $generate.toc parameter, or if + generating a source toc is turned off --> + <xsl:if test="not(contains($toc.params, 'toc')) and + ($process.source.toc != 0 or $process.empty.source.toc != 0)"> + <xsl:choose> + <xsl:when test="* and $process.source.toc != 0"> + <div> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:apply-templates select="title"/> + <dl> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:apply-templates select="*[not(self::title)]"/> + </dl> + </div> + <xsl:call-template name="section.toc.separator"/> + </xsl:when> + <xsl:when test="count(*) = 0 and $process.empty.source.toc != 0"> + <!-- trick to switch context node to section element --> + <xsl:for-each select="parent::*"> + <xsl:call-template name="section.toc"> + <xsl:with-param name="toc.title.p" + select="contains($toc.params, 'title')"/> + </xsl:call-template> + </xsl:for-each> + <xsl:call-template name="section.toc.separator"/> + </xsl:when> + </xsl:choose> + </xsl:if> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="tocpart|tocchap + |toclevel1|toclevel2|toclevel3|toclevel4|toclevel5"> + <xsl:variable name="sub-toc"> + <xsl:if test="tocchap|toclevel1|toclevel2|toclevel3|toclevel4|toclevel5"> + <xsl:choose> + <xsl:when test="$toc.list.type = 'dl'"> + <dd> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:element name="{$toc.list.type}"> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:apply-templates select="tocchap|toclevel1|toclevel2| + toclevel3|toclevel4|toclevel5"/> + </xsl:element> + </dd> + </xsl:when> + <xsl:otherwise> + <xsl:element name="{$toc.list.type}"> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:apply-templates select="tocchap|toclevel1|toclevel2| + toclevel3|toclevel4|toclevel5"/> + </xsl:element> + </xsl:otherwise> + </xsl:choose> + </xsl:if> + </xsl:variable> + + <xsl:apply-templates select="tocentry[position() != last()]"/> + + <xsl:choose> + <xsl:when test="$toc.list.type = 'dl'"> + <dt> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:apply-templates select="tocentry[position() = last()]"/> + </dt> + <xsl:copy-of select="$sub-toc"/> + </xsl:when> + <xsl:otherwise> + <li> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:apply-templates select="tocentry[position() = last()]"/> + <xsl:copy-of select="$sub-toc"/> + </li> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="tocentry|tocdiv|lotentry|tocfront|tocback"> + <xsl:choose> + <xsl:when test="$toc.list.type = 'dl'"> + <dt> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:call-template name="tocentry-content"/> + </dt> + </xsl:when> + <xsl:otherwise> + <li> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:call-template name="tocentry-content"/> + </li> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="tocentry[position() = last()]" priority="2"> + <xsl:call-template name="tocentry-content"/> +</xsl:template> + +<xsl:template name="tocentry-content"> + <xsl:variable name="targets" select="key('id',@linkend)"/> + <xsl:variable name="target" select="$targets[1]"/> + + <xsl:choose> + <xsl:when test="@linkend"> + <xsl:call-template name="check.id.unique"> + <xsl:with-param name="linkend" select="@linkend"/> + </xsl:call-template> + <a> + <xsl:attribute name="href"> + <xsl:call-template name="href.target"> + <xsl:with-param name="object" select="$target"/> + </xsl:call-template> + </xsl:attribute> + <xsl:apply-templates/> + </a> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="toc/title"> + <div> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:apply-templates/> + </div> +</xsl:template> + +<xsl:template match="toc/subtitle"> + <div> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:apply-templates/> + </div> +</xsl:template> + +<xsl:template match="toc/titleabbrev"> +</xsl:template> + +<!-- ==================================================================== --> + +<!-- A lot element must have content, because there is no attribute + to select what kind of list should be generated --> +<xsl:template match="book/lot | part/lot"> + <!-- Don't generate a page sequence unless there is content --> + <xsl:variable name="content"> + <xsl:choose> + <xsl:when test="* and $process.source.toc != 0"> + <div> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:apply-templates /> + </div> + </xsl:when> + <xsl:when test="not(child::*) and $process.empty.source.toc != 0"> + <xsl:call-template name="process.empty.lot"/> + </xsl:when> + </xsl:choose> + </xsl:variable> + + <xsl:if test="string-length(normalize-space($content)) != 0"> + <xsl:copy-of select="$content"/> + </xsl:if> +</xsl:template> + +<xsl:template match="chapter/lot | appendix/lot | preface/lot | article/lot"> + <xsl:choose> + <xsl:when test="* and $process.source.toc != 0"> + <div> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:apply-templates /> + </div> + <xsl:call-template name="component.toc.separator"/> + </xsl:when> + <xsl:when test="not(child::*) and $process.empty.source.toc != 0"> + <xsl:call-template name="process.empty.lot"/> + </xsl:when> + </xsl:choose> +</xsl:template> + +<xsl:template match="section/lot + |sect1/lot + |sect2/lot + |sect3/lot + |sect4/lot + |sect5/lot"> + <xsl:choose> + <xsl:when test="* and $process.source.toc != 0"> + <div> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:apply-templates/> + </div> + <xsl:call-template name="section.toc.separator"/> + </xsl:when> + <xsl:when test="not(child::*) and $process.empty.source.toc != 0"> + <xsl:call-template name="process.empty.lot"/> + </xsl:when> + </xsl:choose> +</xsl:template> + +<xsl:template name="process.empty.lot"> + <!-- An empty lot element does not provide any information to indicate + what should be included in it. You can customize this + template to generate a lot based on @role or something --> + <xsl:message> + <xsl:text>Warning: don't know what to generate for </xsl:text> + <xsl:text>lot that has no children.</xsl:text> + </xsl:message> +</xsl:template> + +<xsl:template match="lot/title"> + <div> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:apply-templates/> + </div> +</xsl:template> + +<xsl:template match="lot/subtitle"> + <div> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:apply-templates/> + </div> +</xsl:template> + +<xsl:template match="lot/titleabbrev"> +</xsl:template> + +</xsl:stylesheet> diff --git a/doc/help/xslt/html/verbatim.xsl b/doc/help/xslt/html/verbatim.xsl new file mode 100644 index 00000000..8c7b2639 --- /dev/null +++ b/doc/help/xslt/html/verbatim.xsl @@ -0,0 +1,410 @@ +<?xml version='1.0'?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:sverb="http://nwalsh.com/xslt/ext/com.nwalsh.saxon.Verbatim" + xmlns:xverb="xalan://com.nwalsh.xalan.Verbatim" + xmlns:lxslt="http://xml.apache.org/xslt" + xmlns:exsl="http://exslt.org/common" + exclude-result-prefixes="sverb xverb lxslt exsl" + version='1.0'> + +<!-- ******************************************************************** + $Id: verbatim.xsl 8807 2010-08-09 18:57:41Z bobstayton $ + ******************************************************************** + + This file is part of the XSL DocBook Stylesheet distribution. + See ../README or http://docbook.sf.net/release/xsl/current/ for + copyright and other information. + + ******************************************************************** --> + +<!-- XSLTHL highlighting is turned off by default. See highlighting/README + for instructions on how to turn on XSLTHL --> +<xsl:template name="apply-highlighting"> + <xsl:apply-templates/> +</xsl:template> + +<lxslt:component prefix="xverb" + functions="numberLines"/> + +<xsl:template match="programlisting|screen|synopsis"> + <xsl:param name="suppress-numbers" select="'0'"/> + <xsl:variable name="id"> + <xsl:call-template name="object.id"/> + </xsl:variable> + + <xsl:call-template name="anchor"/> + + <xsl:variable name="div.element"> + <xsl:choose> + <xsl:when test="$make.clean.html != 0">div</xsl:when> + <xsl:otherwise>pre</xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:if test="$shade.verbatim != 0"> + <xsl:message> + <xsl:text>The shade.verbatim parameter is deprecated. </xsl:text> + <xsl:text>Use CSS instead,</xsl:text> + </xsl:message> + <xsl:message> + <xsl:text>for example: pre.</xsl:text> + <xsl:value-of select="local-name(.)"/> + <xsl:text> { background-color: #E0E0E0; }</xsl:text> + </xsl:message> + </xsl:if> + + <xsl:choose> + <xsl:when test="$suppress-numbers = '0' + and @linenumbering = 'numbered' + and $use.extensions != '0' + and $linenumbering.extension != '0'"> + <xsl:variable name="rtf"> + <xsl:choose> + <xsl:when test="$highlight.source != 0"> + <xsl:call-template name="apply-highlighting"/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:element name="{$div.element}"> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:if test="@width != ''"> + <xsl:attribute name="width"> + <xsl:value-of select="@width"/> + </xsl:attribute> + </xsl:if> + <xsl:call-template name="number.rtf.lines"> + <xsl:with-param name="rtf" select="$rtf"/> + </xsl:call-template> + </xsl:element> + </xsl:when> + <xsl:otherwise> + <xsl:element name="{$div.element}"> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:if test="@width != ''"> + <xsl:attribute name="width"> + <xsl:value-of select="@width"/> + </xsl:attribute> + </xsl:if> + <xsl:choose> + <xsl:when test="$highlight.source != 0"> + <xsl:call-template name="apply-highlighting"/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates/> + </xsl:otherwise> + </xsl:choose> + </xsl:element> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="literallayout"> + <xsl:param name="suppress-numbers" select="'0'"/> + + <xsl:variable name="rtf"> + <xsl:apply-templates/> + </xsl:variable> + + <xsl:if test="$shade.verbatim != 0 and @class='monospaced'"> + <xsl:message> + <xsl:text>The shade.verbatim parameter is deprecated. </xsl:text> + <xsl:text>Use CSS instead,</xsl:text> + </xsl:message> + <xsl:message> + <xsl:text>for example: pre.</xsl:text> + <xsl:value-of select="local-name(.)"/> + <xsl:text> { background-color: #E0E0E0; }</xsl:text> + </xsl:message> + </xsl:if> + + <xsl:choose> + <xsl:when test="$suppress-numbers = '0' + and @linenumbering = 'numbered' + and $use.extensions != '0' + and $linenumbering.extension != '0'"> + <xsl:choose> + <xsl:when test="@class='monospaced'"> + <pre> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:call-template name="number.rtf.lines"> + <xsl:with-param name="rtf" select="$rtf"/> + </xsl:call-template> + </pre> + </xsl:when> + <xsl:otherwise> + <div> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <p> + <xsl:call-template name="number.rtf.lines"> + <xsl:with-param name="rtf" select="$rtf"/> + </xsl:call-template> + </p> + </div> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:otherwise> + <xsl:choose> + <xsl:when test="@class='monospaced'"> + <pre> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:copy-of select="$rtf"/> + </pre> + </xsl:when> + <xsl:otherwise> + <div> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <p> + <xsl:call-template name="make-verbatim"> + <xsl:with-param name="rtf" select="$rtf"/> + </xsl:call-template> + </p> + </div> + </xsl:otherwise> + </xsl:choose> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="address"> + <xsl:param name="suppress-numbers" select="'0'"/> + + <xsl:variable name="rtf"> + <xsl:apply-templates/> + </xsl:variable> + + <xsl:choose> + <xsl:when test="$suppress-numbers = '0' + and @linenumbering = 'numbered' + and $use.extensions != '0' + and $linenumbering.extension != '0'"> + <div> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <p> + <xsl:call-template name="number.rtf.lines"> + <xsl:with-param name="rtf" select="$rtf"/> + </xsl:call-template> + </p> + </div> + </xsl:when> + + <xsl:otherwise> + <div> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <p> + <xsl:call-template name="make-verbatim"> + <xsl:with-param name="rtf" select="$rtf"/> + </xsl:call-template> + </p> + </div> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template name="number.rtf.lines"> + <xsl:param name="rtf" select="''"/> + <xsl:param name="pi.context" select="."/> + + <!-- Save the global values --> + <xsl:variable name="global.linenumbering.everyNth" + select="$linenumbering.everyNth"/> + + <xsl:variable name="global.linenumbering.separator" + select="$linenumbering.separator"/> + + <xsl:variable name="global.linenumbering.width" + select="$linenumbering.width"/> + + <!-- Extract the <?dbhtml linenumbering.*?> PI values --> + <xsl:variable name="pi.linenumbering.everyNth"> + <xsl:call-template name="pi.dbhtml_linenumbering.everyNth"> + <xsl:with-param name="node" select="$pi.context"/> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="pi.linenumbering.separator"> + <xsl:call-template name="pi.dbhtml_linenumbering.separator"> + <xsl:with-param name="node" select="$pi.context"/> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="pi.linenumbering.width"> + <xsl:call-template name="pi.dbhtml_linenumbering.width"> + <xsl:with-param name="node" select="$pi.context"/> + </xsl:call-template> + </xsl:variable> + + <!-- Construct the 'in-context' values --> + <xsl:variable name="linenumbering.everyNth"> + <xsl:choose> + <xsl:when test="$pi.linenumbering.everyNth != ''"> + <xsl:value-of select="$pi.linenumbering.everyNth"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$global.linenumbering.everyNth"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:variable name="linenumbering.separator"> + <xsl:choose> + <xsl:when test="$pi.linenumbering.separator != ''"> + <xsl:value-of select="$pi.linenumbering.separator"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$global.linenumbering.separator"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:variable name="linenumbering.width"> + <xsl:choose> + <xsl:when test="$pi.linenumbering.width != ''"> + <xsl:value-of select="$pi.linenumbering.width"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$global.linenumbering.width"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:variable name="linenumbering.startinglinenumber"> + <xsl:choose> + <xsl:when test="$pi.context/@startinglinenumber"> + <xsl:value-of select="$pi.context/@startinglinenumber"/> + </xsl:when> + <xsl:when test="$pi.context/@continuation='continues'"> + <xsl:variable name="lastLine"> + <xsl:choose> + <xsl:when test="$pi.context/self::programlisting"> + <xsl:call-template name="lastLineNumber"> + <xsl:with-param name="listings" + select="preceding::programlisting[@linenumbering='numbered']"/> + </xsl:call-template> + </xsl:when> + <xsl:when test="$pi.context/self::screen"> + <xsl:call-template name="lastLineNumber"> + <xsl:with-param name="listings" + select="preceding::screen[@linenumbering='numbered']"/> + </xsl:call-template> + </xsl:when> + <xsl:when test="$pi.context/self::literallayout"> + <xsl:call-template name="lastLineNumber"> + <xsl:with-param name="listings" + select="preceding::literallayout[@linenumbering='numbered']"/> + </xsl:call-template> + </xsl:when> + <xsl:when test="$pi.context/self::address"> + <xsl:call-template name="lastLineNumber"> + <xsl:with-param name="listings" + select="preceding::address[@linenumbering='numbered']"/> + </xsl:call-template> + </xsl:when> + <xsl:when test="$pi.context/self::synopsis"> + <xsl:call-template name="lastLineNumber"> + <xsl:with-param name="listings" + select="preceding::synopsis[@linenumbering='numbered']"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:message> + <xsl:text>Unexpected verbatim environment: </xsl:text> + <xsl:value-of select="local-name($pi.context)"/> + </xsl:message> + <xsl:value-of select="0"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:value-of select="$lastLine + 1"/> + </xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:choose> + <xsl:when test="function-available('sverb:numberLines')"> + <xsl:copy-of select="sverb:numberLines($rtf)"/> + </xsl:when> + <xsl:when test="function-available('xverb:numberLines')"> + <xsl:copy-of select="xverb:numberLines($rtf)"/> + </xsl:when> + <xsl:otherwise> + <xsl:message terminate="yes"> + <xsl:text>No numberLines function available.</xsl:text> + </xsl:message> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template name="make-verbatim"> + <xsl:param name="rtf"/> + + <!-- I want to make this RTF verbatim. There are two possibilities: either + I have access to the exsl:node-set extension function and I can "do it right" + or I have to rely on CSS. --> + + <xsl:choose> + <xsl:when test="$exsl.node.set.available != 0"> + <xsl:apply-templates select="exsl:node-set($rtf)" mode="make.verbatim.mode"/> + </xsl:when> + <xsl:otherwise> + <span style="white-space: pre;"> + <xsl:copy-of select="$rtf"/> + </span> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<!-- ======================================================================== --> + +<xsl:template name="lastLineNumber"> + <xsl:param name="listings"/> + <xsl:param name="number" select="0"/> + + <xsl:variable name="lines"> + <xsl:call-template name="countLines"> + <xsl:with-param name="listing" select="string($listings[1])"/> + </xsl:call-template> + </xsl:variable> + + <xsl:choose> + <xsl:when test="not($listings)"> + <xsl:value-of select="$number"/> + </xsl:when> + <xsl:when test="$listings[1]/@startinglinenumber"> + <xsl:value-of select="$number + $listings[1]/@startinglinenumber + $lines - 1"/> + </xsl:when> + <xsl:when test="$listings[1]/@continuation='continues'"> + <xsl:call-template name="lastLineNumber"> + <xsl:with-param name="listings" select="listings[position() > 1]"/> + <xsl:with-param name="number" select="$number + $lines"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$lines"/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template name="countLines"> + <xsl:param name="listing"/> + <xsl:param name="count" select="1"/> + + <xsl:choose> + <xsl:when test="contains($listing, ' ')"> + <xsl:call-template name="countLines"> + <xsl:with-param name="listing" select="substring-after($listing, ' ')"/> + <xsl:with-param name="count" select="$count + 1"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$count"/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +</xsl:stylesheet> diff --git a/doc/help/xslt/html/xref.xsl b/doc/help/xslt/html/xref.xsl new file mode 100644 index 00000000..771bca53 --- /dev/null +++ b/doc/help/xslt/html/xref.xsl @@ -0,0 +1,1377 @@ +<?xml version='1.0'?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:suwl="http://nwalsh.com/xslt/ext/com.nwalsh.saxon.UnwrapLinks" + xmlns:exsl="http://exslt.org/common" + xmlns:xlink='http://www.w3.org/1999/xlink' + exclude-result-prefixes="suwl exsl xlink" + version='1.0'> + +<!-- ******************************************************************** + $Id: xref.xsl 8421 2009-05-04 07:49:49Z bobstayton $ + ******************************************************************** + + This file is part of the XSL DocBook Stylesheet distribution. + See ../README or http://docbook.sf.net/release/xsl/current/ for + copyright and other information. + + ******************************************************************** --> + +<!-- Use internal variable for olink xlink role for consistency --> +<xsl:variable + name="xolink.role">http://docbook.org/xlink/role/olink</xsl:variable> + +<!-- ==================================================================== --> + +<xsl:template match="anchor"> + <xsl:call-template name="anchor"/> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="xref" name="xref"> + <xsl:param name="xhref" select="@xlink:href"/> + <!-- is the @xlink:href a local idref link? --> + <xsl:param name="xlink.idref"> + <xsl:if test="starts-with($xhref,'#') + and (not(contains($xhref,'(')) + or starts-with($xhref, '#xpointer(id('))"> + <xsl:call-template name="xpointer.idref"> + <xsl:with-param name="xpointer" select="$xhref"/> + </xsl:call-template> + </xsl:if> + </xsl:param> + <xsl:param name="xlink.targets" select="key('id',$xlink.idref)"/> + <xsl:param name="linkend.targets" select="key('id',@linkend)"/> + <xsl:param name="target" select="($xlink.targets | $linkend.targets)[1]"/> + + <xsl:variable name="xrefstyle"> + <xsl:choose> + <xsl:when test="@role and not(@xrefstyle) + and $use.role.as.xrefstyle != 0"> + <xsl:value-of select="@role"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="@xrefstyle"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:call-template name="anchor"/> + + <xsl:variable name="content"> + <xsl:choose> + + <xsl:when test="@endterm"> + <xsl:variable name="etargets" select="key('id',@endterm)"/> + <xsl:variable name="etarget" select="$etargets[1]"/> + <xsl:choose> + <xsl:when test="count($etarget) = 0"> + <xsl:message> + <xsl:value-of select="count($etargets)"/> + <xsl:text>Endterm points to nonexistent ID: </xsl:text> + <xsl:value-of select="@endterm"/> + </xsl:message> + <xsl:text>???</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="$etarget" mode="endterm"/> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + + <xsl:when test="$target/@xreflabel"> + <xsl:call-template name="xref.xreflabel"> + <xsl:with-param name="target" select="$target"/> + </xsl:call-template> + </xsl:when> + + <xsl:when test="$target"> + <xsl:if test="not(parent::citation)"> + <xsl:apply-templates select="$target" mode="xref-to-prefix"/> + </xsl:if> + + <xsl:apply-templates select="$target" mode="xref-to"> + <xsl:with-param name="referrer" select="."/> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + </xsl:apply-templates> + + <xsl:if test="not(parent::citation)"> + <xsl:apply-templates select="$target" mode="xref-to-suffix"/> + </xsl:if> + </xsl:when> + + <xsl:otherwise> + <xsl:message> + <xsl:text>ERROR: xref linking to </xsl:text> + <xsl:value-of select="@linkend|@xlink:href"/> + <xsl:text> has no generated link text.</xsl:text> + </xsl:message> + <xsl:text>???</xsl:text> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:call-template name="simple.xlink"> + <xsl:with-param name="content" select="$content"/> + </xsl:call-template> + +</xsl:template> + +<!-- ==================================================================== --> + +<!-- biblioref handled largely like an xref --> +<!-- To be done: add support for begin, end, and units attributes --> +<xsl:template match="biblioref"> + <xsl:variable name="targets" select="key('id',@linkend)"/> + <xsl:variable name="target" select="$targets[1]"/> + <xsl:variable name="refelem" select="local-name($target)"/> + + <xsl:call-template name="check.id.unique"> + <xsl:with-param name="linkend" select="@linkend"/> + </xsl:call-template> + + <xsl:call-template name="anchor"/> + + <xsl:choose> + <xsl:when test="count($target) = 0"> + <xsl:message> + <xsl:text>XRef to nonexistent id: </xsl:text> + <xsl:value-of select="@linkend"/> + </xsl:message> + <xsl:text>???</xsl:text> + </xsl:when> + + <xsl:when test="@endterm"> + <xsl:variable name="href"> + <xsl:call-template name="href.target"> + <xsl:with-param name="object" select="$target"/> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="etargets" select="key('id',@endterm)"/> + <xsl:variable name="etarget" select="$etargets[1]"/> + <xsl:choose> + <xsl:when test="count($etarget) = 0"> + <xsl:message> + <xsl:value-of select="count($etargets)"/> + <xsl:text>Endterm points to nonexistent ID: </xsl:text> + <xsl:value-of select="@endterm"/> + </xsl:message> + <a href="{$href}"> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:text>???</xsl:text> + </a> + </xsl:when> + <xsl:otherwise> + <a href="{$href}"> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:apply-templates select="$etarget" mode="endterm"/> + </a> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + + <xsl:when test="$target/@xreflabel"> + <a> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:attribute name="href"> + <xsl:call-template name="href.target"> + <xsl:with-param name="object" select="$target"/> + </xsl:call-template> + </xsl:attribute> + <xsl:call-template name="xref.xreflabel"> + <xsl:with-param name="target" select="$target"/> + </xsl:call-template> + </a> + </xsl:when> + + <xsl:otherwise> + <xsl:variable name="href"> + <xsl:call-template name="href.target"> + <xsl:with-param name="object" select="$target"/> + </xsl:call-template> + </xsl:variable> + + <xsl:if test="not(parent::citation)"> + <xsl:apply-templates select="$target" mode="xref-to-prefix"/> + </xsl:if> + + <a href="{$href}"> + <xsl:apply-templates select="." mode="class.attribute"/> + <xsl:if test="$target/title or $target/*/title"> + <xsl:attribute name="title"> + <xsl:apply-templates select="$target" mode="xref-title"/> + </xsl:attribute> + </xsl:if> + <xsl:apply-templates select="$target" mode="xref-to"> + <xsl:with-param name="referrer" select="."/> + <xsl:with-param name="xrefstyle"> + <xsl:choose> + <xsl:when test="@role and not(@xrefstyle) and $use.role.as.xrefstyle != 0"> + <xsl:value-of select="@role"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="@xrefstyle"/> + </xsl:otherwise> + </xsl:choose> + </xsl:with-param> + </xsl:apply-templates> + </a> + + <xsl:if test="not(parent::citation)"> + <xsl:apply-templates select="$target" mode="xref-to-suffix"/> + </xsl:if> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="*" mode="endterm"> + <!-- Process the children of the endterm element --> + <xsl:variable name="endterm"> + <xsl:apply-templates select="child::node()"/> + </xsl:variable> + + <xsl:choose> + <xsl:when test="$exsl.node.set.available != 0"> + <xsl:apply-templates select="exsl:node-set($endterm)" mode="remove-ids"/> + </xsl:when> + <xsl:otherwise> + <xsl:copy-of select="$endterm"/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="*" mode="remove-ids"> + <xsl:choose> + <!-- handle html or xhtml --> + <xsl:when test="local-name(.) = 'a' + and (namespace-uri(.) = '' + or namespace-uri(.) = 'http://www.w3.org/1999/xhtml')"> + <xsl:choose> + <xsl:when test="(@name and count(@*) = 1) + or (@id and count(@*) = 1) + or (@xml:id and count(@*) = 1) + or (@xml:id and @name and count(@*) = 2) + or (@id and @name and count(@*) = 2)"> + <xsl:message>suppress anchor</xsl:message> + <!-- suppress the whole thing --> + </xsl:when> + <xsl:otherwise> + <xsl:copy> + <xsl:for-each select="@*"> + <xsl:choose> + <xsl:when test="local-name(.) != 'name' and local-name(.) != 'id'"> + <xsl:copy/> + </xsl:when> + <xsl:otherwise> + <xsl:message>removing <xsl:value-of + select="local-name(.)"/></xsl:message> + </xsl:otherwise> + </xsl:choose> + </xsl:for-each> + </xsl:copy> + <xsl:apply-templates mode="remove-ids"/> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:otherwise> + <xsl:copy> + <xsl:for-each select="@*"> + <xsl:choose> + <xsl:when test="local-name(.) != 'id'"> + <xsl:copy/> + </xsl:when> + <xsl:otherwise> + <xsl:message>removing <xsl:value-of + select="local-name(.)"/></xsl:message> + </xsl:otherwise> + </xsl:choose> + </xsl:for-each> + <xsl:apply-templates mode="remove-ids"/> + </xsl:copy> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="*" mode="xref-to-prefix"/> +<xsl:template match="*" mode="xref-to-suffix"/> + +<xsl:template match="*" mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="verbose" select="1"/> + + <xsl:if test="$verbose"> + <xsl:message> + <xsl:text>Don't know what gentext to create for xref to: "</xsl:text> + <xsl:value-of select="name(.)"/> + <xsl:text>", ("</xsl:text> + <xsl:value-of select="(@id|@xml:id)[1]"/> + <xsl:text>")</xsl:text> + </xsl:message> + </xsl:if> + <xsl:text>???</xsl:text> +</xsl:template> + +<xsl:template match="title" mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="verbose" select="1"/> + + <!-- if you xref to a title, xref to the parent... --> + <xsl:choose> + <!-- FIXME: how reliable is this? --> + <xsl:when test="contains(local-name(parent::*), 'info')"> + <xsl:apply-templates select="parent::*[2]" mode="xref-to"> + <xsl:with-param name="referrer" select="$referrer"/> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="verbose" select="$verbose"/> + </xsl:apply-templates> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="parent::*" mode="xref-to"> + <xsl:with-param name="referrer" select="$referrer"/> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="verbose" select="$verbose"/> + </xsl:apply-templates> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="abstract|authorblurb|personblurb|bibliodiv|bibliomset + |biblioset|blockquote|calloutlist|caution|colophon + |constraintdef|formalpara|glossdiv|important|indexdiv + |itemizedlist|legalnotice|lot|msg|msgexplan|msgmain + |msgrel|msgset|msgsub|note|orderedlist|partintro + |productionset|qandadiv|refsynopsisdiv|segmentedlist + |set|setindex|sidebar|tip|toc|variablelist|warning" + mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="verbose" select="1"/> + + <!-- catch-all for things with (possibly optional) titles --> + <xsl:apply-templates select="." mode="object.xref.markup"> + <xsl:with-param name="purpose" select="'xref'"/> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="referrer" select="$referrer"/> + <xsl:with-param name="verbose" select="$verbose"/> + </xsl:apply-templates> +</xsl:template> + +<xsl:template match="author|editor|othercredit|personname" mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + + <xsl:call-template name="person.name"/> +</xsl:template> + +<xsl:template match="authorgroup" mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + + <xsl:call-template name="person.name.list"/> +</xsl:template> + +<xsl:template match="figure|example|table|equation" mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="verbose" select="1"/> + + <xsl:apply-templates select="." mode="object.xref.markup"> + <xsl:with-param name="purpose" select="'xref'"/> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="referrer" select="$referrer"/> + <xsl:with-param name="verbose" select="$verbose"/> + </xsl:apply-templates> +</xsl:template> + +<xsl:template match="procedure" mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="verbose"/> + + <xsl:apply-templates select="." mode="object.xref.markup"> + <xsl:with-param name="purpose" select="'xref'"/> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="referrer" select="$referrer"/> + <xsl:with-param name="verbose" select="$verbose"/> + </xsl:apply-templates> +</xsl:template> + +<xsl:template match="task" mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="verbose"/> + + <xsl:apply-templates select="." mode="object.xref.markup"> + <xsl:with-param name="purpose" select="'xref'"/> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="referrer" select="$referrer"/> + <xsl:with-param name="verbose" select="$verbose"/> + </xsl:apply-templates> +</xsl:template> + +<xsl:template match="cmdsynopsis" mode="xref-to"> + <xsl:apply-templates select="(.//command)[1]" mode="xref"/> +</xsl:template> + +<xsl:template match="funcsynopsis" mode="xref-to"> + <xsl:apply-templates select="(.//function)[1]" mode="xref"/> +</xsl:template> + +<xsl:template match="dedication|acknowledgements|preface|chapter|appendix|article" mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="verbose" select="1"/> + + <xsl:apply-templates select="." mode="object.xref.markup"> + <xsl:with-param name="purpose" select="'xref'"/> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="referrer" select="$referrer"/> + <xsl:with-param name="verbose" select="$verbose"/> + </xsl:apply-templates> +</xsl:template> + +<xsl:template match="bibliography" mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="verbose" select="1"/> + + <xsl:apply-templates select="." mode="object.xref.markup"> + <xsl:with-param name="purpose" select="'xref'"/> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="referrer" select="$referrer"/> + <xsl:with-param name="verbose" select="$verbose"/> + </xsl:apply-templates> +</xsl:template> + +<xsl:template match="biblioentry|bibliomixed" mode="xref-to-prefix"> + <xsl:text>[</xsl:text> +</xsl:template> + +<xsl:template match="biblioentry|bibliomixed" mode="xref-to-suffix"> + <xsl:text>]</xsl:text> +</xsl:template> + +<xsl:template match="biblioentry|bibliomixed" mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="verbose" select="1"/> + + <!-- handles both biblioentry and bibliomixed --> + <xsl:choose> + <xsl:when test="string(.) = ''"> + <xsl:variable name="bib" select="document($bibliography.collection,.)"/> + <xsl:variable name="id" select="(@id|@xml:id)[1]"/> + <xsl:variable name="entry" select="$bib/bibliography/ + *[@id=$id or @xml:id=$id][1]"/> + <xsl:choose> + <xsl:when test="$entry"> + <xsl:choose> + <xsl:when test="$bibliography.numbered != 0"> + <xsl:number from="bibliography" count="biblioentry|bibliomixed" + level="any" format="1"/> + </xsl:when> + <xsl:when test="local-name($entry/*[1]) = 'abbrev'"> + <xsl:apply-templates select="$entry/*[1]"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="(@id|@xml:id)[1]"/> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:otherwise> + <xsl:message> + <xsl:text>No bibliography entry: </xsl:text> + <xsl:value-of select="$id"/> + <xsl:text> found in </xsl:text> + <xsl:value-of select="$bibliography.collection"/> + </xsl:message> + <xsl:value-of select="(@id|@xml:id)[1]"/> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:otherwise> + <xsl:choose> + <xsl:when test="$bibliography.numbered != 0"> + <xsl:number from="bibliography" count="biblioentry|bibliomixed" + level="any" format="1"/> + </xsl:when> + <xsl:when test="local-name(*[1]) = 'abbrev'"> + <xsl:apply-templates select="*[1]"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="(@id|@xml:id)[1]"/> + </xsl:otherwise> + </xsl:choose> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="glossary" mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="verbose" select="1"/> + + <xsl:apply-templates select="." mode="object.xref.markup"> + <xsl:with-param name="purpose" select="'xref'"/> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="referrer" select="$referrer"/> + <xsl:with-param name="verbose" select="$verbose"/> + </xsl:apply-templates> +</xsl:template> + +<xsl:template match="glossentry" mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="verbose" select="1"/> + <xsl:choose> + <xsl:when test="$glossentry.show.acronym = 'primary'"> + <xsl:choose> + <xsl:when test="acronym|abbrev"> + <xsl:apply-templates select="(acronym|abbrev)[1]"/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="glossterm[1]" mode="xref-to"> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="referrer" select="$referrer"/> + <xsl:with-param name="verbose" select="$verbose"/> + </xsl:apply-templates> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="glossterm[1]" mode="xref-to"> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="referrer" select="$referrer"/> + <xsl:with-param name="verbose" select="$verbose"/> + </xsl:apply-templates> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="glossterm|firstterm" mode="xref-to"> + <xsl:apply-templates/> +</xsl:template> + +<xsl:template match="index" mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="verbose" select="1"/> + + <xsl:apply-templates select="." mode="object.xref.markup"> + <xsl:with-param name="purpose" select="'xref'"/> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="referrer" select="$referrer"/> + <xsl:with-param name="verbose" select="$verbose"/> + </xsl:apply-templates> +</xsl:template> + +<xsl:template match="listitem" mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="verbose"/> + + <xsl:apply-templates select="." mode="object.xref.markup"> + <xsl:with-param name="purpose" select="'xref'"/> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="referrer" select="$referrer"/> + <xsl:with-param name="verbose" select="$verbose"/> + </xsl:apply-templates> +</xsl:template> + +<xsl:template match="section|simplesect + |sect1|sect2|sect3|sect4|sect5 + |refsect1|refsect2|refsect3|refsection" mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="verbose" select="1"/> + + <xsl:apply-templates select="." mode="object.xref.markup"> + <xsl:with-param name="purpose" select="'xref'"/> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="referrer" select="$referrer"/> + <xsl:with-param name="verbose" select="$verbose"/> + </xsl:apply-templates> + <!-- FIXME: What about "in Chapter X"? --> +</xsl:template> + +<xsl:template match="bridgehead" mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="verbose" select="1"/> + + <xsl:apply-templates select="." mode="object.xref.markup"> + <xsl:with-param name="purpose" select="'xref'"/> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="referrer" select="$referrer"/> + <xsl:with-param name="verbose" select="$verbose"/> + </xsl:apply-templates> + <!-- FIXME: What about "in Chapter X"? --> +</xsl:template> + +<xsl:template match="qandaset" mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="verbose" select="1"/> + + <xsl:apply-templates select="." mode="object.xref.markup"> + <xsl:with-param name="purpose" select="'xref'"/> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="referrer" select="$referrer"/> + <xsl:with-param name="verbose" select="$verbose"/> + </xsl:apply-templates> +</xsl:template> + +<xsl:template match="qandadiv" mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="verbose" select="1"/> + + <xsl:apply-templates select="." mode="object.xref.markup"> + <xsl:with-param name="purpose" select="'xref'"/> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="referrer" select="$referrer"/> + <xsl:with-param name="verbose" select="$verbose"/> + </xsl:apply-templates> +</xsl:template> + +<xsl:template match="qandaentry" mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="verbose" select="1"/> + + <xsl:apply-templates select="question[1]" mode="xref-to"> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="referrer" select="$referrer"/> + <xsl:with-param name="verbose" select="$verbose"/> + </xsl:apply-templates> +</xsl:template> + +<xsl:template match="question|answer" mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="verbose" select="1"/> + + <xsl:choose> + <xsl:when test="string-length(label) != 0"> + <xsl:apply-templates select="." mode="label.markup"/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="." mode="object.xref.markup"> + <xsl:with-param name="purpose" select="'xref'"/> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="referrer" select="$referrer"/> + <xsl:with-param name="verbose" select="$verbose"/> + </xsl:apply-templates> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="part|reference" mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="verbose" select="1"/> + + <xsl:apply-templates select="." mode="object.xref.markup"> + <xsl:with-param name="purpose" select="'xref'"/> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="referrer" select="$referrer"/> + <xsl:with-param name="verbose" select="$verbose"/> + </xsl:apply-templates> +</xsl:template> + +<xsl:template match="refentry" mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + + <xsl:choose> + <xsl:when test="refmeta/refentrytitle"> + <xsl:apply-templates select="refmeta/refentrytitle"/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="refnamediv/refname[1]"/> + </xsl:otherwise> + </xsl:choose> + <xsl:apply-templates select="refmeta/manvolnum"/> +</xsl:template> + +<xsl:template match="refnamediv" mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="verbose" select="1"/> + + <xsl:apply-templates select="refname[1]" mode="xref-to"> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="referrer" select="$referrer"/> + <xsl:with-param name="verbose" select="$verbose"/> + </xsl:apply-templates> +</xsl:template> + +<xsl:template match="refname" mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="verbose" select="1"/> + + <xsl:apply-templates mode="xref-to"/> +</xsl:template> + +<xsl:template match="step" mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + + <xsl:call-template name="gentext"> + <xsl:with-param name="key" select="'Step'"/> + </xsl:call-template> + <xsl:text> </xsl:text> + <xsl:apply-templates select="." mode="number"/> +</xsl:template> + +<xsl:template match="varlistentry" mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="verbose" select="1"/> + + <xsl:apply-templates select="term[1]" mode="xref-to"> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="referrer" select="$referrer"/> + <xsl:with-param name="verbose" select="$verbose"/> + </xsl:apply-templates> +</xsl:template> + +<xsl:template match="primary|secondary|tertiary" mode="xref-to"> + <xsl:value-of select="."/> +</xsl:template> + +<xsl:template match="indexterm" mode="xref-to"> + <xsl:value-of select="primary"/> +</xsl:template> + +<xsl:template match="varlistentry/term" mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + + <!-- to avoid the comma that will be generated if there are several terms --> + <xsl:apply-templates/> +</xsl:template> + +<xsl:template match="co" mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + + <xsl:apply-templates select="." mode="callout-bug"/> +</xsl:template> + +<xsl:template match="area|areaset" mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + + <xsl:call-template name="callout-bug"> + <xsl:with-param name="conum"> + <xsl:apply-templates select="." mode="conumber"/> + </xsl:with-param> + </xsl:call-template> +</xsl:template> + +<xsl:template match="book" mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="verbose" select="1"/> + + <xsl:apply-templates select="." mode="object.xref.markup"> + <xsl:with-param name="purpose" select="'xref'"/> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="referrer" select="$referrer"/> + <xsl:with-param name="verbose" select="$verbose"/> + </xsl:apply-templates> +</xsl:template> + +<!-- These are elements for which no link text exists, so an xref to one + uses the xrefstyle attribute if specified, or if not it falls back + to the container element's link text --> +<xsl:template match="para|phrase|simpara|anchor|quote" mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="verbose" select="1"/> + + <xsl:variable name="context" select="(ancestor::simplesect + |ancestor::section + |ancestor::sect1 + |ancestor::sect2 + |ancestor::sect3 + |ancestor::sect4 + |ancestor::sect5 + |ancestor::refsection + |ancestor::refsect1 + |ancestor::refsect2 + |ancestor::refsect3 + |ancestor::chapter + |ancestor::appendix + |ancestor::preface + |ancestor::partintro + |ancestor::dedication + |ancestor::acknowledgements + |ancestor::colophon + |ancestor::bibliography + |ancestor::index + |ancestor::glossary + |ancestor::glossentry + |ancestor::listitem + |ancestor::varlistentry)[last()]"/> + + <xsl:choose> + <xsl:when test="$xrefstyle != ''"> + <xsl:apply-templates select="." mode="object.xref.markup"> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="referrer" select="$referrer"/> + <xsl:with-param name="verbose" select="$verbose"/> + </xsl:apply-templates> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="$context" mode="xref-to"> + <xsl:with-param name="purpose" select="'xref'"/> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="referrer" select="$referrer"/> + <xsl:with-param name="verbose" select="$verbose"/> + </xsl:apply-templates> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="*" mode="xref-title"> + <xsl:variable name="title"> + <xsl:apply-templates select="." mode="object.title.markup"/> + </xsl:variable> + + <xsl:value-of select="$title"/> +</xsl:template> + +<xsl:template match="author" mode="xref-title"> + <xsl:variable name="title"> + <xsl:call-template name="person.name"/> + </xsl:variable> + + <xsl:value-of select="$title"/> +</xsl:template> + +<xsl:template match="authorgroup" mode="xref-title"> + <xsl:variable name="title"> + <xsl:call-template name="person.name.list"/> + </xsl:variable> + + <xsl:value-of select="$title"/> +</xsl:template> + +<xsl:template match="cmdsynopsis" mode="xref-title"> + <xsl:variable name="title"> + <xsl:apply-templates select="(.//command)[1]" mode="xref"/> + </xsl:variable> + + <xsl:value-of select="$title"/> +</xsl:template> + +<xsl:template match="funcsynopsis" mode="xref-title"> + <xsl:variable name="title"> + <xsl:apply-templates select="(.//function)[1]" mode="xref"/> + </xsl:variable> + + <xsl:value-of select="$title"/> +</xsl:template> + +<xsl:template match="biblioentry|bibliomixed" mode="xref-title"> + <!-- handles both biblioentry and bibliomixed --> + <xsl:variable name="title"> + <xsl:text>[</xsl:text> + <xsl:choose> + <xsl:when test="local-name(*[1]) = 'abbrev'"> + <xsl:apply-templates select="*[1]"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="(@id|@xml:id)[1]"/> + </xsl:otherwise> + </xsl:choose> + <xsl:text>]</xsl:text> + </xsl:variable> + + <xsl:value-of select="$title"/> +</xsl:template> + +<xsl:template match="step" mode="xref-title"> + <xsl:call-template name="gentext"> + <xsl:with-param name="key" select="'Step'"/> + </xsl:call-template> + <xsl:text> </xsl:text> + <xsl:apply-templates select="." mode="number"/> +</xsl:template> + +<xsl:template match="step[not(./title)]" mode="title.markup"> + <xsl:call-template name="gentext"> + <xsl:with-param name="key" select="'Step'"/> + </xsl:call-template> + <xsl:text> </xsl:text> + <xsl:apply-templates select="." mode="number"/> +</xsl:template> + +<xsl:template match="co" mode="xref-title"> + <xsl:variable name="title"> + <xsl:apply-templates select="." mode="callout-bug"/> + </xsl:variable> + + <xsl:value-of select="$title"/> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="link" name="link"> + <xsl:param name="linkend" select="@linkend"/> + <xsl:param name="a.target"/> + <xsl:param name="xhref" select="@xlink:href"/> + + <xsl:variable name="content"> + <xsl:call-template name="anchor"/> + <xsl:choose> + <xsl:when test="count(child::node()) > 0"> + <!-- If it has content, use it --> + <xsl:apply-templates/> + </xsl:when> + <!-- else look for an endterm --> + <xsl:when test="@endterm"> + <xsl:variable name="etargets" select="key('id',@endterm)"/> + <xsl:variable name="etarget" select="$etargets[1]"/> + <xsl:choose> + <xsl:when test="count($etarget) = 0"> + <xsl:message> + <xsl:value-of select="count($etargets)"/> + <xsl:text>Endterm points to nonexistent ID: </xsl:text> + <xsl:value-of select="@endterm"/> + </xsl:message> + <xsl:text>???</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="$etarget" mode="endterm"/> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <!-- Use the xlink:href if no other text --> + <xsl:when test="@xlink:href"> + <xsl:value-of select="@xlink:href"/> + </xsl:when> + <xsl:otherwise> + <xsl:message> + <xsl:text>Link element has no content and no Endterm. </xsl:text> + <xsl:text>Nothing to show in the link to </xsl:text> + <xsl:value-of select="(@xlink:href|@linkend)[1]"/> + </xsl:message> + <xsl:text>???</xsl:text> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:call-template name="simple.xlink"> + <xsl:with-param name="node" select="."/> + <xsl:with-param name="linkend" select="$linkend"/> + <xsl:with-param name="content" select="$content"/> + <xsl:with-param name="a.target" select="$a.target"/> + <xsl:with-param name="xhref" select="$xhref"/> + </xsl:call-template> + +</xsl:template> + +<xsl:template match="ulink" name="ulink"> + <xsl:param name="url" select="@url"/> + <xsl:variable name="link"> + <a> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:if test="@id or @xml:id"> + <xsl:attribute name="name"> + <xsl:value-of select="(@id|@xml:id)[1]"/> + </xsl:attribute> + </xsl:if> + <xsl:attribute name="href"><xsl:value-of select="$url"/></xsl:attribute> + <xsl:if test="$ulink.target != ''"> + <xsl:attribute name="target"> + <xsl:value-of select="$ulink.target"/> + </xsl:attribute> + </xsl:if> + <xsl:choose> + <xsl:when test="count(child::node())=0"> + <xsl:value-of select="$url"/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates/> + </xsl:otherwise> + </xsl:choose> + </a> + </xsl:variable> + + <xsl:choose> + <xsl:when test="function-available('suwl:unwrapLinks')"> + <xsl:copy-of select="suwl:unwrapLinks($link)"/> + </xsl:when> + <xsl:otherwise> + <xsl:copy-of select="$link"/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="olink" name="olink"> + <!-- olink content may be passed in from xlink olink --> + <xsl:param name="content" select="NOTANELEMENT"/> + + <xsl:call-template name="anchor"/> + + <xsl:variable name="localinfo" select="@localinfo"/> + + <xsl:choose> + <!-- olinks resolved by stylesheet and target database --> + <xsl:when test="@targetdoc or @targetptr or + (@xlink:role=$xolink.role and + contains(@xlink:href, '#') )" > + + <xsl:variable name="targetdoc.att"> + <xsl:choose> + <xsl:when test="@targetdoc != ''"> + <xsl:value-of select="@targetdoc"/> + </xsl:when> + <xsl:when test="@xlink:role=$xolink.role and + contains(@xlink:href, '#')" > + <xsl:value-of select="substring-before(@xlink:href, '#')"/> + </xsl:when> + </xsl:choose> + </xsl:variable> + + <xsl:variable name="targetptr.att"> + <xsl:choose> + <xsl:when test="@targetptr != ''"> + <xsl:value-of select="@targetptr"/> + </xsl:when> + <xsl:when test="@xlink:role=$xolink.role and + contains(@xlink:href, '#')" > + <xsl:value-of select="substring-after(@xlink:href, '#')"/> + </xsl:when> + </xsl:choose> + </xsl:variable> + + <xsl:variable name="olink.lang"> + <xsl:call-template name="l10n.language"> + <xsl:with-param name="xref-context" select="true()"/> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="target.database.filename"> + <xsl:call-template name="select.target.database"> + <xsl:with-param name="targetdoc.att" select="$targetdoc.att"/> + <xsl:with-param name="targetptr.att" select="$targetptr.att"/> + <xsl:with-param name="olink.lang" select="$olink.lang"/> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="target.database" + select="document($target.database.filename,/)"/> + + <xsl:if test="$olink.debug != 0"> + <xsl:message> + <xsl:text>Olink debug: root element of target.database '</xsl:text> + <xsl:value-of select="$target.database.filename"/> + <xsl:text>' is '</xsl:text> + <xsl:value-of select="local-name($target.database/*[1])"/> + <xsl:text>'.</xsl:text> + </xsl:message> + </xsl:if> + + <xsl:variable name="olink.key"> + <xsl:call-template name="select.olink.key"> + <xsl:with-param name="targetdoc.att" select="$targetdoc.att"/> + <xsl:with-param name="targetptr.att" select="$targetptr.att"/> + <xsl:with-param name="olink.lang" select="$olink.lang"/> + <xsl:with-param name="target.database" select="$target.database"/> + </xsl:call-template> + </xsl:variable> + + <xsl:if test="string-length($olink.key) = 0"> + <xsl:message> + <xsl:text>Error: unresolved olink: </xsl:text> + <xsl:text>targetdoc/targetptr = '</xsl:text> + <xsl:value-of select="$targetdoc.att"/> + <xsl:text>/</xsl:text> + <xsl:value-of select="$targetptr.att"/> + <xsl:text>'.</xsl:text> + </xsl:message> + </xsl:if> + + <xsl:variable name="href"> + <xsl:call-template name="make.olink.href"> + <xsl:with-param name="olink.key" select="$olink.key"/> + <xsl:with-param name="target.database" select="$target.database"/> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="hottext"> + <xsl:choose> + <xsl:when test="string-length($content) != 0"> + <xsl:copy-of select="$content"/> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="olink.hottext"> + <xsl:with-param name="olink.key" select="$olink.key"/> + <xsl:with-param name="olink.lang" select="$olink.lang"/> + <xsl:with-param name="target.database" select="$target.database"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:variable name="olink.docname.citation"> + <xsl:call-template name="olink.document.citation"> + <xsl:with-param name="olink.key" select="$olink.key"/> + <xsl:with-param name="target.database" select="$target.database"/> + <xsl:with-param name="olink.lang" select="$olink.lang"/> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="olink.page.citation"> + <xsl:call-template name="olink.page.citation"> + <xsl:with-param name="olink.key" select="$olink.key"/> + <xsl:with-param name="target.database" select="$target.database"/> + <xsl:with-param name="olink.lang" select="$olink.lang"/> + </xsl:call-template> + </xsl:variable> + + <xsl:choose> + <xsl:when test="$href != ''"> + <a href="{$href}"> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:copy-of select="$hottext"/> + </a> + <xsl:copy-of select="$olink.page.citation"/> + <xsl:copy-of select="$olink.docname.citation"/> + </xsl:when> + <xsl:otherwise> + <span class="olink"><xsl:copy-of select="$hottext"/></span> + <xsl:copy-of select="$olink.page.citation"/> + <xsl:copy-of select="$olink.docname.citation"/> + </xsl:otherwise> + </xsl:choose> + + </xsl:when> + + <!-- Or use old olink mechanism --> + <xsl:otherwise> + <xsl:variable name="href"> + <xsl:choose> + <xsl:when test="@linkmode"> + <!-- use the linkmode to get the base URI, use localinfo as fragid --> + <xsl:variable name="modespec" select="key('id',@linkmode)"/> + <xsl:if test="count($modespec) != 1 + or local-name($modespec) != 'modespec'"> + <xsl:message>Warning: olink linkmode pointer is wrong.</xsl:message> + </xsl:if> + <xsl:value-of select="$modespec"/> + <xsl:if test="@localinfo"> + <xsl:text>#</xsl:text> + <xsl:value-of select="@localinfo"/> + </xsl:if> + </xsl:when> + <xsl:when test="@type = 'href'"> + <xsl:call-template name="olink.outline"> + <xsl:with-param name="outline.base.uri" + select="unparsed-entity-uri(@targetdocent)"/> + <xsl:with-param name="localinfo" select="@localinfo"/> + <xsl:with-param name="return" select="'href'"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$olink.resolver"/> + <xsl:text>?</xsl:text> + <xsl:value-of select="$olink.sysid"/> + <xsl:value-of select="unparsed-entity-uri(@targetdocent)"/> + <!-- XSL gives no access to the public identifier (grumble...) --> + <xsl:if test="@localinfo"> + <xsl:text>&</xsl:text> + <xsl:value-of select="$olink.fragid"/> + <xsl:value-of select="@localinfo"/> + </xsl:if> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:choose> + <xsl:when test="$href != ''"> + <a href="{$href}"> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:call-template name="olink.hottext"/> + </a> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="olink.hottext"/> + </xsl:otherwise> + </xsl:choose> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="*" mode="pagenumber.markup"> + <!-- no-op in HTML --> +</xsl:template> + + +<xsl:template name="olink.outline"> + <xsl:param name="outline.base.uri"/> + <xsl:param name="localinfo"/> + <xsl:param name="return" select="href"/> + + <xsl:variable name="outline-file" + select="concat($outline.base.uri, + $olink.outline.ext)"/> + + <xsl:variable name="outline" select="document($outline-file,.)/div"/> + + <xsl:variable name="node-href"> + <xsl:choose> + <xsl:when test="$localinfo != ''"> + <xsl:variable name="node" select="$outline// + *[@id=$localinfo or @xml:id=$localinfo]"/> + <xsl:value-of select="$node/@href"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$outline/@href"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:variable name="node-xref"> + <xsl:choose> + <xsl:when test="$localinfo != ''"> + <xsl:variable name="node" select="$outline// + *[@id=$localinfo or @xml:id=$localinfo]"/> + <xsl:copy-of select="$node/xref"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$outline/xref"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:choose> + <xsl:when test="$return = 'href'"> + <xsl:value-of select="$node-href"/> + </xsl:when> + <xsl:when test="$return = 'xref'"> + <xsl:value-of select="$node-xref"/> + </xsl:when> + <xsl:otherwise> + <xsl:copy-of select="$node-xref"/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template name="xref.xreflabel"> + <!-- called to process an xreflabel...you might use this to make --> + <!-- xreflabels come out in the right font for different targets, --> + <!-- for example. --> + <xsl:param name="target" select="."/> + <xsl:value-of select="$target/@xreflabel"/> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="title" mode="xref"> + <xsl:apply-templates/> +</xsl:template> + +<xsl:template match="command" mode="xref"> + <xsl:call-template name="inline.boldseq"/> +</xsl:template> + +<xsl:template match="function" mode="xref"> + <xsl:call-template name="inline.monoseq"/> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="*" mode="insert.title.markup"> + <xsl:param name="purpose"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="title"/> + + <xsl:choose> + <!-- FIXME: what about the case where titleabbrev is inside the info? --> + <xsl:when test="$purpose = 'xref' and titleabbrev"> + <xsl:apply-templates select="." mode="titleabbrev.markup"/> + </xsl:when> + <xsl:otherwise> + <xsl:copy-of select="$title"/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="chapter|appendix" mode="insert.title.markup"> + <xsl:param name="purpose"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="title"/> + + <xsl:choose> + <xsl:when test="$purpose = 'xref'"> + <i> + <xsl:copy-of select="$title"/> + </i> + </xsl:when> + <xsl:otherwise> + <xsl:copy-of select="$title"/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="*" mode="insert.subtitle.markup"> + <xsl:param name="purpose"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="subtitle"/> + + <xsl:copy-of select="$subtitle"/> +</xsl:template> + +<xsl:template match="*" mode="insert.label.markup"> + <xsl:param name="purpose"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="label"/> + + <xsl:copy-of select="$label"/> +</xsl:template> + +<xsl:template match="*" mode="insert.pagenumber.markup"> + <xsl:param name="purpose"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="pagenumber"/> + + <xsl:copy-of select="$pagenumber"/> +</xsl:template> + +<xsl:template match="*" mode="insert.direction.markup"> + <xsl:param name="purpose"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="direction"/> + + <xsl:copy-of select="$direction"/> +</xsl:template> + +<xsl:template match="*" mode="insert.olink.docname.markup"> + <xsl:param name="purpose"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="docname"/> + + <span class="olinkdocname"> + <xsl:copy-of select="$docname"/> + </span> + +</xsl:template> + +</xsl:stylesheet> diff --git a/doc/help/xslt/htmlhelp/htmlhelp-common.xsl b/doc/help/xslt/htmlhelp/htmlhelp-common.xsl new file mode 100644 index 00000000..303b81ec --- /dev/null +++ b/doc/help/xslt/htmlhelp/htmlhelp-common.xsl @@ -0,0 +1,1120 @@ +<?xml version="1.0"?> +<!DOCTYPE xsl:stylesheet [ +<!ENTITY lf '<xsl:text xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> </xsl:text>'> +]> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" + xmlns:exsl="http://exslt.org/common" + xmlns:set="http://exslt.org/sets" + xmlns:h="urn:x-hex" + xmlns:ng="http://docbook.org/docbook-ng" + xmlns:db="http://docbook.org/ns/docbook" + version="1.0" + exclude-result-prefixes="doc exsl set h db ng"> + +<!-- ******************************************************************** + $Id: htmlhelp-common.xsl 8400 2009-04-08 07:44:54Z bobstayton $ + ******************************************************************** --> + +<!-- ==================================================================== --> +<!-- Customizations of standard HTML stylesheet parameters --> + +<!-- no navigation on pages by default, HTML Help provides its own navigation controls --> +<xsl:param name="suppress.navigation" select="1"/> + +<!-- no separate HTML page with index, index is built inside CHM index pane --> +<xsl:param name="generate.index" select="0"/> + +<!-- ==================================================================== --> + +<xsl:param name="htmlhelp.generate.index" select="//indexterm[1]|//db:indexterm[1]|//ng:indexterm[1]"/> + +<!-- Set up HTML Help flag --> +<xsl:variable name="htmlhelp.output" select="1"/> + +<!-- ==================================================================== --> + +<xsl:template match="/"> + + <!-- * Get a title for current doc so that we let the user --> + <!-- * know what document we are processing at this point. --> + <xsl:variable name="doc.title"> + <xsl:call-template name="get.doc.title"/> + </xsl:variable> + <xsl:choose> + <!-- Hack! If someone hands us a DocBook V5.x or DocBook NG document, + toss the namespace and continue. Use the docbook5 namespaced + stylesheets for DocBook5 if you don't want to use this feature.--> + <xsl:when test="$exsl.node.set.available != 0 + and (*/self::ng:* or */self::db:*)"> + <xsl:call-template name="log.message"> + <xsl:with-param name="level">Note</xsl:with-param> + <xsl:with-param name="source" select="$doc.title"/> + <xsl:with-param name="context-desc"> + <xsl:text>namesp. cut</xsl:text> + </xsl:with-param> + <xsl:with-param name="message"> + <xsl:text>stripped namespace before processing</xsl:text> + </xsl:with-param> + </xsl:call-template> + <xsl:variable name="nons"> + <xsl:apply-templates mode="stripNS"/> + </xsl:variable> + <xsl:call-template name="log.message"> + <xsl:with-param name="level">Note</xsl:with-param> + <xsl:with-param name="source" select="$doc.title"/> + <xsl:with-param name="context-desc"> + <xsl:text>namesp. cut</xsl:text> + </xsl:with-param> + <xsl:with-param name="message"> + <xsl:text>processing stripped document</xsl:text> + </xsl:with-param> + </xsl:call-template> + <xsl:apply-templates select="exsl:node-set($nons)"/> + </xsl:when> + <xsl:otherwise> + <xsl:if test="$htmlhelp.only != 1"> + <xsl:choose> + <xsl:when test="$rootid != ''"> + <xsl:choose> + <xsl:when test="count(key('id',$rootid)) = 0"> + <xsl:message terminate="yes"> + <xsl:text>ID '</xsl:text> + <xsl:value-of select="$rootid"/> + <xsl:text>' not found in document.</xsl:text> + </xsl:message> + </xsl:when> + <xsl:otherwise> + <xsl:message>Formatting from <xsl:value-of select="$rootid"/></xsl:message> + <xsl:apply-templates select="key('id',$rootid)" mode="process.root"/> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:otherwise> + <xsl:if test="$collect.xref.targets = 'yes' or + $collect.xref.targets = 'only'"> + <xsl:apply-templates select="/" mode="collect.targets"/> + </xsl:if> + <xsl:if test="$collect.xref.targets != 'only'"> + <xsl:apply-templates select="/" mode="process.root"/> + </xsl:if> + </xsl:otherwise> + </xsl:choose> + </xsl:if> + + + <xsl:if test="$collect.xref.targets != 'only'"> + <xsl:call-template name="hhp"/> + <xsl:call-template name="hhc"/> + <xsl:if test="($rootid = '' and //processing-instruction('dbhh')) or + ($rootid != '' and key('id',$rootid)//processing-instruction('dbhh'))"> + <xsl:call-template name="hh-map"/> + <xsl:call-template name="hh-alias"/> + </xsl:if> + <xsl:if test="$htmlhelp.generate.index"> + <xsl:call-template name="hhk"/> + </xsl:if> + </xsl:if> +</xsl:otherwise> +</xsl:choose> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template name="hhp"> + <xsl:call-template name="write.text.chunk"> + <xsl:with-param name="filename"> + <xsl:if test="$manifest.in.base.dir != 0"> + <xsl:value-of select="$base.dir"/> + </xsl:if> + <xsl:value-of select="$htmlhelp.hhp"/> + </xsl:with-param> + <xsl:with-param name="method" select="'text'"/> + <xsl:with-param name="content"> + <xsl:call-template name="hhp-main"/> + </xsl:with-param> + <xsl:with-param name="encoding" select="$htmlhelp.encoding"/> + <xsl:with-param name="quiet" select="$chunk.quietly"/> + </xsl:call-template> +</xsl:template> + +<!-- ==================================================================== --> +<xsl:template name="hhp-main"> + + <xsl:variable name="raw.help.title"> + <xsl:choose> + <xsl:when test="$htmlhelp.title = ''"> + <xsl:choose> + <xsl:when test="$rootid != ''"> + <xsl:apply-templates select="key('id',$rootid)" mode="title.markup"/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="/*" mode="title.markup"/> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$htmlhelp.title"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:variable name="help.title" select="normalize-space($raw.help.title)"/> + +<xsl:variable name="default.topic"> + <xsl:choose> + <xsl:when test="$htmlhelp.default.topic != ''"> + <xsl:value-of select="$htmlhelp.default.topic"/> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="make-relative-filename"> + <xsl:with-param name="base.dir"> + <xsl:if test="$manifest.in.base.dir = 0"> + <xsl:value-of select="$base.dir"/> + </xsl:if> + </xsl:with-param> + <xsl:with-param name="base.name"> + <xsl:choose> + <xsl:when test="$rootid != ''"> + <xsl:apply-templates select="key('id',$rootid)" mode="chunk-filename"/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="/" mode="chunk-filename"/> + </xsl:otherwise> + </xsl:choose> + </xsl:with-param> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> +</xsl:variable> +<xsl:variable name="xnavigation"> + <xsl:text>0x</xsl:text> + <xsl:call-template name="toHex"> + <xsl:with-param name="n" select="9504 + $htmlhelp.show.menu * 65536 + + $htmlhelp.show.advanced.search * 131072 + + $htmlhelp.show.favorities * 4096 + + (1 - $htmlhelp.show.toolbar.text) * 64 + + $htmlhelp.remember.window.position * 262144"/> + </xsl:call-template> +</xsl:variable> +<xsl:variable name="xbuttons"> + <xsl:text>0x</xsl:text> + <xsl:call-template name="toHex"> + <xsl:with-param name="n" select="0 + $htmlhelp.button.hideshow * 2 + + $htmlhelp.button.back * 4 + + $htmlhelp.button.forward * 8 + + $htmlhelp.button.stop * 16 + + $htmlhelp.button.refresh * 32 + + $htmlhelp.button.home * 64 + + $htmlhelp.button.options * 4096 + + $htmlhelp.button.print * 8192 + + $htmlhelp.button.locate * 2048 + + $htmlhelp.button.jump1 * 262144 + + $htmlhelp.button.jump2 * 524288 + + $htmlhelp.button.next * 2097152 + + $htmlhelp.button.prev * 4194304 + + $htmlhelp.button.zoom * 1048576"/> + </xsl:call-template> +</xsl:variable> +<xsl:text>[OPTIONS] +</xsl:text> +<xsl:if test="$htmlhelp.generate.index"> +<xsl:text>Auto Index=Yes +</xsl:text></xsl:if> +<xsl:if test="$htmlhelp.hhc.binary != 0"> +<xsl:text>Binary TOC=Yes +</xsl:text></xsl:if> +<xsl:text>Compatibility=1.1 or later +Compiled file=</xsl:text><xsl:value-of select="$htmlhelp.chm"/><xsl:text> +Contents file=</xsl:text><xsl:value-of select="$htmlhelp.hhc"/><xsl:text> +</xsl:text> +<xsl:if test="$htmlhelp.hhp.window != ''"> +<xsl:text>Default Window=</xsl:text><xsl:value-of select="$htmlhelp.hhp.window"/><xsl:text> +</xsl:text></xsl:if> +<xsl:text>Default topic=</xsl:text><xsl:value-of select="$default.topic"/> +<xsl:text> +Display compile progress=</xsl:text> + <xsl:choose> + <xsl:when test="$htmlhelp.display.progress != 1"> + <xsl:text>No</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:text>Yes</xsl:text> + </xsl:otherwise> + </xsl:choose> +<xsl:text> +Full-text search=Yes +</xsl:text> +<xsl:if test="$htmlhelp.generate.index"> +<xsl:text>Index file=</xsl:text><xsl:value-of select="$htmlhelp.hhk"/><xsl:text> +</xsl:text></xsl:if> +<xsl:text>Language=</xsl:text> +<xsl:for-each select="*"> <!-- Change context from / to root element --> + <xsl:call-template name="gentext.template"> + <xsl:with-param name="context" select="'htmlhelp'"/> + <xsl:with-param name="name" select="'langcode'"/> + </xsl:call-template> +</xsl:for-each> +<xsl:text> +Title=</xsl:text> + <xsl:value-of select="$help.title"/> +<xsl:text> +Enhanced decompilation=</xsl:text> + <xsl:choose> + <xsl:when test="$htmlhelp.enhanced.decompilation != 0"> + <xsl:text>Yes</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:text>No</xsl:text> + </xsl:otherwise> + </xsl:choose> + +<xsl:if test="$htmlhelp.hhp.window != ''"> + <xsl:text> + +[WINDOWS] +</xsl:text> +<xsl:value-of select="$htmlhelp.hhp.window"/> +<xsl:text>="</xsl:text> +<xsl:value-of select="$help.title"/> +<xsl:text>","</xsl:text><xsl:value-of select="$htmlhelp.hhc"/> +<xsl:text>",</xsl:text> +<xsl:if test="$htmlhelp.generate.index"> + <xsl:text>"</xsl:text> + <xsl:value-of select="$htmlhelp.hhk"/> + <xsl:text>"</xsl:text> +</xsl:if> +<xsl:text>,"</xsl:text> +<xsl:value-of select="$default.topic"/> +<xsl:text>",</xsl:text> +<xsl:text>"</xsl:text> +<xsl:choose> + <xsl:when test="$htmlhelp.button.home != 0"> + <xsl:value-of select="$htmlhelp.button.home.url"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$default.topic"/> + </xsl:otherwise> +</xsl:choose> +<xsl:text>"</xsl:text> +<xsl:text>,</xsl:text> +<xsl:if test="$htmlhelp.button.jump1 != 0"> + <xsl:text>"</xsl:text> + <xsl:value-of select="$htmlhelp.button.jump1.url"/> + <xsl:text>"</xsl:text> +</xsl:if> +<xsl:text>,</xsl:text> +<xsl:if test="$htmlhelp.button.jump1 != 0"> + <xsl:text>"</xsl:text> + <xsl:value-of select="$htmlhelp.button.jump1.title"/> + <xsl:text>"</xsl:text> +</xsl:if> +<xsl:text>,</xsl:text> +<xsl:if test="$htmlhelp.button.jump2 != 0"> + <xsl:text>"</xsl:text> + <xsl:value-of select="$htmlhelp.button.jump2.url"/> + <xsl:text>"</xsl:text> +</xsl:if> +<xsl:text>,</xsl:text> +<xsl:if test="$htmlhelp.button.jump2 != 0"> + <xsl:text>"</xsl:text> + <xsl:value-of select="$htmlhelp.button.jump2.title"/> + <xsl:text>"</xsl:text> +</xsl:if> +<xsl:text>,</xsl:text> +<xsl:value-of select="$xnavigation"/> +<xsl:text>,</xsl:text><xsl:value-of select="$htmlhelp.hhc.width"/><xsl:text>,</xsl:text> +<xsl:value-of select="$xbuttons"/> +<xsl:text>,</xsl:text><xsl:value-of select="$htmlhelp.window.geometry"/><xsl:text>,,,,,,,0 +</xsl:text> +</xsl:if> + +<!-- + Needs more investigation to generate propetly all fields +<xsl:text>search="</xsl:text> +<xsl:value-of select="normalize-space(//title[1])"/> +<xsl:text>","toc.hhc","index.hhk","</xsl:text> +<xsl:value-of select="$root.filename"/> +<xsl:text>.html","</xsl:text> +<xsl:value-of select="$root.filename"/> +<xsl:text>.html",,,,,</xsl:text> +<xsl:value-of select="$xnavigation"/> +<xsl:text>,</xsl:text> +<xsl:value-of select="$htmlhelp.hhc.width"/> +<xsl:text>,</xsl:text> +<xsl:value-of select="$xbuttons"/> +<xsl:text>,</xsl:text> +<xsl:value-of select="$htmlhelp.window.geometry"/> +<xsl:text>,,,,,2,,0 +</xsl:text> +--> + +<xsl:if test="$htmlhelp.hhp.windows"> + <xsl:value-of select="$htmlhelp.hhp.windows"/> +</xsl:if> +<xsl:text> + +[FILES] +</xsl:text> + +<xsl:choose> + <xsl:when test="$rootid != ''"> + <xsl:apply-templates select="key('id',$rootid)" mode="enumerate-files"/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="/" mode="enumerate-files"/> + </xsl:otherwise> +</xsl:choose> + +<xsl:if test="$htmlhelp.enumerate.images"> + <xsl:variable name="imagelist"> + <xsl:choose> + <xsl:when test="$rootid != ''"> + <xsl:apply-templates select="key('id',$rootid)" mode="enumerate-images"/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="/" mode="enumerate-images"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:choose> + <xsl:when test="$exsl.node.set.available != 0 + and function-available('set:distinct')"> + <xsl:for-each select="set:distinct(exsl:node-set($imagelist)/filename)"> + <xsl:value-of select="."/> + <xsl:text> </xsl:text> + </xsl:for-each> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$imagelist"/> + </xsl:otherwise> + </xsl:choose> +</xsl:if> + +<xsl:if test="($htmlhelp.force.map.and.alias != 0) or + ($rootid = '' and //processing-instruction('dbhh')) or + ($rootid != '' and key('id',$rootid)//processing-instruction('dbhh'))"> + <xsl:text> +[ALIAS] +#include </xsl:text><xsl:value-of select="$htmlhelp.alias.file"/><xsl:text> + +[MAP] +#include </xsl:text><xsl:value-of select="$htmlhelp.map.file"/><xsl:text> +</xsl:text> +</xsl:if> + +<xsl:value-of select="$htmlhelp.hhp.tail"/> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="graphic|inlinegraphic[@format!='linespecific']" mode="enumerate-images"> + <xsl:call-template name="write.filename.enumerate-images"> + <xsl:with-param name="filename"> + <xsl:call-template name="mediaobject.filename.enumerate-images"> + <xsl:with-param name="object" select="."/> + </xsl:call-template> + </xsl:with-param> + </xsl:call-template> +</xsl:template> + +<xsl:template match="mediaobject|inlinemediaobject" mode="enumerate-images"> + <xsl:call-template name="select.mediaobject.enumerate-images"/> +</xsl:template> + +<xsl:template name="select.mediaobject.enumerate-images"> + <xsl:param name="olist" + select="imageobject|imageobjectco + |videoobject|audioobject|textobject"/> + <xsl:param name="count">1</xsl:param> + + <xsl:if test="$count <= count($olist)"> + <xsl:variable name="object" select="$olist[position()=$count]"/> + + <xsl:variable name="useobject"> + <xsl:choose> + <!-- The phrase is never used --> + <xsl:when test="name($object)='textobject' and $object/phrase"> + <xsl:text>0</xsl:text> + </xsl:when> + <!-- The first textobject is a reasonable fallback (but not for image in HH) --> + <xsl:when test="name($object)='textobject'"> + <xsl:text>0</xsl:text> + </xsl:when> + <!-- If there's only one object, use it --> + <xsl:when test="$count = 1 and count($olist) = 1"> + <xsl:text>1</xsl:text> + </xsl:when> + <!-- Otherwise, see if this one is a useable graphic --> + <xsl:otherwise> + <xsl:choose> + <!-- peek inside imageobjectco to simplify the test --> + <xsl:when test="local-name($object) = 'imageobjectco'"> + <xsl:call-template name="is.acceptable.mediaobject"> + <xsl:with-param name="object" select="$object/imageobject"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="is.acceptable.mediaobject"> + <xsl:with-param name="object" select="$object"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:choose> + <xsl:when test="$useobject='1' and $object[not(*/@format='linespecific')]"> + <xsl:call-template name="write.filename.enumerate-images"> + <xsl:with-param name="filename"> + <xsl:call-template name="mediaobject.filename.enumerate-images"> + <xsl:with-param name="object" select="$object"/> + </xsl:call-template> + </xsl:with-param> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="select.mediaobject.enumerate-images"> + <xsl:with-param name="olist" select="$olist"/> + <xsl:with-param name="count" select="$count + 1"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:if> +</xsl:template> + +<xsl:template name="mediaobject.filename.enumerate-images"> + <xsl:param name="object"/> + + <xsl:variable name="urifilename"> + <xsl:call-template name="mediaobject.filename"> + <xsl:with-param name="object" select="$object"/> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="filename"> + <xsl:choose> + <xsl:when test="starts-with($urifilename, 'file:/')"> + <xsl:value-of select="substring-after($urifilename, 'file:/')"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$urifilename"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:value-of select="translate($filename, '/', '\')"/> + +</xsl:template> + +<xsl:template match="text()" mode="enumerate-images"> +</xsl:template> + +<xsl:template name="write.filename.enumerate-images"> + <xsl:param name="filename"/> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set') and function-available('set:distinct')"> + <filename><xsl:value-of select="$filename"/></filename> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$filename"/> + <xsl:text> </xsl:text> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<!-- ==================================================================== --> + +<!-- HHC and HHK files are processed by compiler line by line + and therefore are very sensitive to whitespaces (linefeeds for sure). --> + +<xsl:template name="hhc"> + <xsl:call-template name="write.chunk"> + <xsl:with-param name="filename"> + <xsl:if test="$manifest.in.base.dir != 0"> + <xsl:value-of select="$base.dir"/> + </xsl:if> + <xsl:value-of select="$htmlhelp.hhc"/> + </xsl:with-param> + <xsl:with-param name="indent" select="'no'"/> + <xsl:with-param name="content"> + <xsl:call-template name="hhc-main"/> + </xsl:with-param> + <xsl:with-param name="encoding" select="$htmlhelp.encoding"/> + <xsl:with-param name="quiet" select="$chunk.quietly"/> + </xsl:call-template> +</xsl:template> + +<xsl:template name="hhc-main"> +<HTML>&lf; + <HEAD></HEAD>&lf; + <BODY>&lf; + <xsl:if test="$htmlhelp.hhc.folders.instead.books != 0"> + <OBJECT type="text/site properties">&lf; + <param name="ImageType" value="Folder"/>&lf; + </OBJECT>&lf; + </xsl:if> + <xsl:variable name="content"> + <xsl:choose> + <xsl:when test="$rootid != ''"> + <xsl:apply-templates select="key('id',$rootid)" mode="hhc"/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="/" mode="hhc"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:choose> + <xsl:when test="$htmlhelp.hhc.show.root != 0"> + <UL>&lf; + <xsl:copy-of select="$content"/> + </UL>&lf; + </xsl:when> + <xsl:otherwise> + <xsl:copy-of select="$content"/> + </xsl:otherwise> + </xsl:choose> + + </BODY> +</HTML> +</xsl:template> + +<xsl:template name="hhc.entry"> + <xsl:param name="title"> + <xsl:if test="$htmlhelp.autolabel=1"> + <xsl:variable name="label.markup"> + <xsl:apply-templates select="." mode="label.markup"/> + </xsl:variable> + <xsl:if test="normalize-space($label.markup)"> + <xsl:value-of select="concat($label.markup,$autotoc.label.separator)"/> + </xsl:if> + </xsl:if> + <xsl:apply-templates select="." mode="title.markup"/> + </xsl:param> + + <LI><OBJECT type="text/sitemap">&lf; + <param name="Name"> + <xsl:attribute name="value"> + <xsl:value-of select="normalize-space($title)"/> + </xsl:attribute> + </param>&lf; + <param name="Local"> + <xsl:attribute name="value"> + <xsl:call-template name="href.target.with.base.dir"/> + </xsl:attribute> + </param> + </OBJECT></LI>&lf; +</xsl:template> + +<xsl:template match="set" mode="hhc"> + <xsl:if test="$htmlhelp.hhc.show.root != 0"> + <xsl:call-template name="hhc.entry"/> + </xsl:if> + <xsl:if test="book"> + <xsl:variable name="toc.params"> + <xsl:call-template name="find.path.params"> + <xsl:with-param name="table" select="normalize-space($generate.toc)"/> + </xsl:call-template> + </xsl:variable> + <UL> + <xsl:if test="contains($toc.params, 'toc') and $htmlhelp.hhc.show.root = 0"> + <LI><OBJECT type="text/sitemap">&lf; + <param name="Name"> + <xsl:attribute name="value"> + <xsl:call-template name="gentext"> + <xsl:with-param name="key" select="'TableofContents'"/> + </xsl:call-template> + </xsl:attribute> + </param>&lf; + <param name="Local"> + <xsl:attribute name="value"> + <xsl:choose> + <xsl:when test="$chunk.tocs.and.lots != 0"> + <xsl:apply-templates select="." mode="recursive-chunk-filename"> + <xsl:with-param name="recursive" select="true()"/> + </xsl:apply-templates> + <xsl:text>-toc</xsl:text> + <xsl:value-of select="$html.ext"/> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="href.target.with.base.dir"/> + </xsl:otherwise> + </xsl:choose> + </xsl:attribute> + </param> + </OBJECT></LI>&lf; + </xsl:if> + <xsl:apply-templates select="book" mode="hhc"/> + </UL>&lf; + </xsl:if> +</xsl:template> + +<xsl:template match="book" mode="hhc"> + <xsl:if test="$htmlhelp.hhc.show.root != 0 or parent::*"> + <xsl:call-template name="hhc.entry"/> + </xsl:if> + <xsl:if test="part|reference|preface|chapter|appendix|bibliography|article|colophon|glossary"> + <xsl:variable name="toc.params"> + <xsl:call-template name="find.path.params"> + <xsl:with-param name="table" select="normalize-space($generate.toc)"/> + </xsl:call-template> + </xsl:variable> + <UL> + <xsl:if test="contains($toc.params, 'toc') and $htmlhelp.hhc.show.root = 0 and not(parent::*)"> + <LI><OBJECT type="text/sitemap">&lf; + <param name="Name"> + <xsl:attribute name="value"> + <xsl:call-template name="gentext"> + <xsl:with-param name="key" select="'TableofContents'"/> + </xsl:call-template> + </xsl:attribute> + </param>&lf; + <param name="Local"> + <xsl:attribute name="value"> + <xsl:choose> + <xsl:when test="$chunk.tocs.and.lots != 0"> + <xsl:apply-templates select="." mode="recursive-chunk-filename"> + <xsl:with-param name="recursive" select="true()"/> + </xsl:apply-templates> + <xsl:text>-toc</xsl:text> + <xsl:value-of select="$html.ext"/> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="href.target.with.base.dir"/> + </xsl:otherwise> + </xsl:choose> + </xsl:attribute> + </param> + </OBJECT></LI>&lf; + </xsl:if> + <xsl:apply-templates select="part|reference|preface|chapter|bibliography|appendix|article|colophon|glossary" + mode="hhc"/> + </UL>&lf; + </xsl:if> +</xsl:template> + +<xsl:template match="part|reference|preface|chapter|bibliography|appendix|article|glossary" + mode="hhc"> + <xsl:if test="$htmlhelp.hhc.show.root != 0 or parent::*"> + <xsl:call-template name="hhc.entry"/> + </xsl:if> + <xsl:if test="article|reference|preface|chapter|appendix|refentry|section|sect1|bibliodiv"> + <UL>&lf; + <xsl:apply-templates + select="article|reference|preface|chapter|appendix|refentry|section|sect1|bibliodiv" + mode="hhc"/> + </UL> + </xsl:if> +</xsl:template> + +<xsl:template match="section" mode="hhc"> + <xsl:if test="$htmlhelp.hhc.show.root != 0 or parent::*"> + <xsl:call-template name="hhc.entry"/> + </xsl:if> + <xsl:if test="section[count(ancestor::section) < $htmlhelp.hhc.section.depth]|refentry"> + <UL>&lf; + <xsl:apply-templates select="section|refentry" mode="hhc"/> + </UL> + </xsl:if> +</xsl:template> + +<xsl:template match="sect1" mode="hhc"> + <xsl:if test="$htmlhelp.hhc.show.root != 0 or parent::*"> + <xsl:call-template name="hhc.entry"/> + </xsl:if> + <xsl:if test="sect2[$htmlhelp.hhc.section.depth > 1]|refentry"> + <UL>&lf; + <xsl:apply-templates select="sect2|refentry" + mode="hhc"/> + </UL> + </xsl:if> +</xsl:template> + +<xsl:template match="sect2" mode="hhc"> + <xsl:if test="$htmlhelp.hhc.show.root != 0 or parent::*"> + <xsl:call-template name="hhc.entry"/> + </xsl:if> + <xsl:if test="sect3[$htmlhelp.hhc.section.depth > 2]|refentry"> + <UL>&lf; + <xsl:apply-templates select="sect3|refentry" + mode="hhc"/> + </UL> + </xsl:if> +</xsl:template> + +<xsl:template match="sect3" mode="hhc"> + <xsl:if test="$htmlhelp.hhc.show.root != 0 or parent::*"> + <xsl:call-template name="hhc.entry"/> + </xsl:if> + <xsl:if test="sect4[$htmlhelp.hhc.section.depth > 3]|refentry"> + <UL>&lf; + <xsl:apply-templates select="sect4|refentry" + mode="hhc"/> + </UL> + </xsl:if> +</xsl:template> + +<xsl:template match="sect4" mode="hhc"> + <xsl:if test="$htmlhelp.hhc.show.root != 0 or parent::*"> + <xsl:call-template name="hhc.entry"/> + </xsl:if> + <xsl:if test="sect5[$htmlhelp.hhc.section.depth > 4]|refentry"> + <UL>&lf; + <xsl:apply-templates select="sect5|refentry" + mode="hhc"/> + </UL> + </xsl:if> +</xsl:template> + +<xsl:template match="sect5|refentry|colophon|bibliodiv" mode="hhc"> + <xsl:if test="$htmlhelp.hhc.show.root != 0 or parent::*"> + <xsl:call-template name="hhc.entry"/> + </xsl:if> + <xsl:if test="refentry"> + <UL>&lf; + <xsl:apply-templates select="refentry" + mode="hhc"/> + </UL> + </xsl:if> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="indexterm"> + <xsl:choose> + <xsl:when test="$htmlhelp.use.hhk = 0"> + + <xsl:variable name="primary" select="normalize-space(primary)"/> + <xsl:variable name="secondary" select="normalize-space(secondary)"/> + <xsl:variable name="tertiary" select="normalize-space(tertiary)"/> + + <xsl:variable name="text"> + <xsl:value-of select="$primary"/> + <xsl:if test="secondary"> + <xsl:text>, </xsl:text> + <xsl:value-of select="$secondary"/> + </xsl:if> + <xsl:if test="tertiary"> + <xsl:text>, </xsl:text> + <xsl:value-of select="$tertiary"/> + </xsl:if> + </xsl:variable> + + <xsl:if test="secondary"> + <xsl:if test="not(//indexterm[normalize-space(primary)=$primary and not(secondary)])"> + <xsl:call-template name="write.indexterm"> + <xsl:with-param name="text" select="$primary"/> + </xsl:call-template> + </xsl:if> + </xsl:if> + + <xsl:if test="tertiary"> + <xsl:if test="not(//indexterm[normalize-space(primary)=$primary and + normalize-space(secondary)=$secondary and not(tertiary)])"> + <xsl:call-template name="write.indexterm"> + <xsl:with-param name="text" select="concat($primary, ', ', $secondary)"/> + </xsl:call-template> + </xsl:if> + </xsl:if> + + <xsl:call-template name="write.indexterm"> + <xsl:with-param name="text" select="$text"/> + </xsl:call-template> + + </xsl:when> + <xsl:otherwise> + <a> + <xsl:attribute name="name"> + <xsl:call-template name="object.id"/> + </xsl:attribute> + </a> + </xsl:otherwise> + + </xsl:choose> +</xsl:template> + +<xsl:template name="write.indexterm"> + <xsl:param name="text"/> + <OBJECT type="application/x-oleobject" + classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e"> + <param name="Keyword" value="{$text}"/> + </OBJECT> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template name="hhk"> + <xsl:call-template name="write.chunk"> + <xsl:with-param name="filename"> + <xsl:if test="$manifest.in.base.dir != 0"> + <xsl:value-of select="$base.dir"/> + </xsl:if> + <xsl:value-of select="$htmlhelp.hhk"/> + </xsl:with-param> + <xsl:with-param name="indent" select="'no'"/> + <xsl:with-param name="content"><xsl:text disable-output-escaping="yes"><![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML> +<HEAD> +<meta name="GENERATOR" content="Microsoft® HTML Help Workshop 4.1"> +<!-- Sitemap 1.0 --> +</HEAD><BODY> +<OBJECT type="text/site properties"> +</OBJECT> +<UL>]]> +</xsl:text> +<xsl:if test="($htmlhelp.use.hhk != 0) and $htmlhelp.generate.index"> + <xsl:choose> + <xsl:when test="$rootid != ''"> + <xsl:apply-templates select="key('id',$rootid)" mode="hhk"/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="/" mode="hhk"/> + </xsl:otherwise> + </xsl:choose> +</xsl:if> +<xsl:text disable-output-escaping="yes"><![CDATA[</UL> +</BODY></HTML>]]> +</xsl:text></xsl:with-param> + <xsl:with-param name="encoding" select="$htmlhelp.encoding"/> + <xsl:with-param name="quiet" select="$chunk.quietly"/> + </xsl:call-template> +</xsl:template> + +<xsl:template match="indexterm[@class='endofrange']" mode="hhk"/> + +<xsl:template match="indexterm" mode="hhk"> + <xsl:variable name="primary" select="normalize-space(primary)"/> + <xsl:variable name="secondary" select="normalize-space(secondary)"/> + <xsl:variable name="tertiary" select="normalize-space(tertiary)"/> + + <xsl:call-template name="write.indexterm.hhk"> + <xsl:with-param name="text" select="$primary"/> + <xsl:with-param name="seealso" select="seealso"/> + </xsl:call-template> + + <xsl:if test="secondary"> + <xsl:if test="not(//indexterm[normalize-space(primary)=$primary and not(secondary)])"> + <xsl:call-template name="write.indexterm.hhk"> + <!-- We must create fake entry when there is secondary without primary --> + <xsl:with-param name="text" select="$primary"/> + <xsl:with-param name="seealso" select="$primary"/> + </xsl:call-template> + </xsl:if> + <UL> + <xsl:call-template name="write.indexterm.hhk"> + <xsl:with-param name="text" select="$secondary"/> + <xsl:with-param name="seealso" select="secondary/seealso"/> + </xsl:call-template> + <xsl:if test="tertiary"> + <UL>&lf; + <xsl:call-template name="write.indexterm.hhk"> + <xsl:with-param name="text" select="$tertiary"/> + <xsl:with-param name="seealso" select="tertiary/seealso"/> + </xsl:call-template> + </UL> + </xsl:if> + </UL> + </xsl:if> + +</xsl:template> + +<xsl:template name="write.indexterm.hhk"> + <xsl:param name="text"/> + <xsl:param name="seealso"/> + + <LI> <OBJECT type="text/sitemap">&lf; + <param name="Name"> + <xsl:attribute name="value"> + <xsl:value-of select="$text"/> + </xsl:attribute> + </param>&lf; + + <xsl:if test="not(seealso)"> + <xsl:variable name="href"> + <xsl:call-template name="href.target.with.base.dir"/> + </xsl:variable> + <xsl:variable name="title"> + <xsl:call-template name="nearest.title"> + <xsl:with-param name="object" select=".."/> + </xsl:call-template> + </xsl:variable> + + <param name="Name"> + <xsl:attribute name="value"> + <xsl:value-of select="$title"/> + </xsl:attribute> + </param>&lf; + <param name="Local"> + <xsl:attribute name="value"> + <xsl:value-of select="$href"/> + </xsl:attribute> + </param>&lf; + </xsl:if> + + <xsl:if test="seealso"> + <param name="See Also"> + <xsl:attribute name="value"> + <xsl:value-of select="$seealso"/> + </xsl:attribute> + </param>&lf; + </xsl:if> + </OBJECT></LI> +</xsl:template> + +<xsl:template match="text()" mode="hhk"/> + +<xsl:template name="nearest.title"> + <xsl:param name="object"/> + <xsl:apply-templates select="$object/ancestor-or-self::*[title][1]" mode="title.markup"/> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template name="hh-map"> + <xsl:call-template name="write.text.chunk"> + <xsl:with-param name="filename"> + <xsl:if test="$manifest.in.base.dir != 0"> + <xsl:value-of select="$base.dir"/> + </xsl:if> + <xsl:value-of select="$htmlhelp.map.file"/> + </xsl:with-param> + <xsl:with-param name="method" select="'text'"/> + <xsl:with-param name="content"> + <xsl:choose> + <xsl:when test="$rootid != ''"> + <xsl:apply-templates select="key('id',$rootid)" mode="hh-map"/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="/" mode="hh-map"/> + </xsl:otherwise> + </xsl:choose> + </xsl:with-param> + <xsl:with-param name="encoding" select="$htmlhelp.encoding"/> + <xsl:with-param name="quiet" select="$chunk.quietly"/> + </xsl:call-template> +</xsl:template> + +<xsl:template match="processing-instruction('dbhh')" mode="hh-map"> + <xsl:variable name="topicname"> + <xsl:call-template name="pi-attribute"> + <xsl:with-param name="pis" + select="."/> + <xsl:with-param name="attribute" select="'topicname'"/> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="topicid"> + <xsl:call-template name="pi-attribute"> + <xsl:with-param name="pis" + select="."/> + <xsl:with-param name="attribute" select="'topicid'"/> + </xsl:call-template> + </xsl:variable> + <xsl:text>#define </xsl:text> + <xsl:value-of select="$topicname"/> + <xsl:text> </xsl:text> + <xsl:value-of select="$topicid"/> + <xsl:text> </xsl:text> +</xsl:template> + +<xsl:template match="text()" mode="hh-map"/> + +<!-- ==================================================================== --> + +<xsl:template name="hh-alias"> + <xsl:call-template name="write.text.chunk"> + <xsl:with-param name="filename"> + <xsl:if test="$manifest.in.base.dir != 0"> + <xsl:value-of select="$base.dir"/> + </xsl:if> + <xsl:value-of select="$htmlhelp.alias.file"/> + </xsl:with-param> + <xsl:with-param name="method" select="'text'"/> + <xsl:with-param name="content"> + <xsl:choose> + <xsl:when test="$rootid != ''"> + <xsl:apply-templates select="key('id',$rootid)" mode="hh-alias"/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="/" mode="hh-alias"/> + </xsl:otherwise> + </xsl:choose> + </xsl:with-param> + <xsl:with-param name="encoding" select="$htmlhelp.encoding"/> + <xsl:with-param name="quiet" select="$chunk.quietly"/> + </xsl:call-template> +</xsl:template> + +<xsl:template match="processing-instruction('dbhh')" mode="hh-alias"> + <xsl:variable name="topicname"> + <xsl:call-template name="pi-attribute"> + <xsl:with-param name="pis" + select="."/> + <xsl:with-param name="attribute" select="'topicname'"/> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="href"> + <xsl:call-template name="href.target.with.base.dir"> + <xsl:with-param name="object" select=".."/> + </xsl:call-template> + </xsl:variable> + <xsl:value-of select="$topicname"/> + <xsl:text>=</xsl:text> + <!-- Some versions of HH doesn't like fragment identifires, but some does. --> + <!-- <xsl:value-of select="substring-before(concat($href, '#'), '#')"/> --> + <xsl:value-of select="$href"/> + <xsl:text> </xsl:text> +</xsl:template> + +<xsl:template match="text()" mode="hh-alias"/> + +<!-- ==================================================================== --> +<!-- This code can be used to convert any number to hexadecimal format --> + + <h:hex> + <d>0</d> + <d>1</d> + <d>2</d> + <d>3</d> + <d>4</d> + <d>5</d> + <d>6</d> + <d>7</d> + <d>8</d> + <d>9</d> + <d>A</d> + <d>B</d> + <d>C</d> + <d>D</d> + <d>E</d> + <d>F</d> + </h:hex> + + <xsl:template name="toHex"> + <xsl:param name="n" select="0"/> + <xsl:param name="digit" select="$n mod 16"/> + <xsl:param name="rest" select="floor($n div 16)"/> + <xsl:if test="$rest > 0"> + <xsl:call-template name="toHex"> + <xsl:with-param name="n" select="$rest"/> + </xsl:call-template> + </xsl:if> + <xsl:value-of select="document('')//h:hex/d[$digit+1]"/> + </xsl:template> + +<!-- ==================================================================== --> +<!-- Modification to standard HTML stylesheets --> + +<!-- There are links from ToC pane to bibliodivs, so there must be anchor --> +<xsl:template match="bibliodiv/title"> + <h3 class="{name(.)}"> + <xsl:call-template name="anchor"> + <xsl:with-param name="node" select=".."/> + <xsl:with-param name="conditional" select="0"/> + </xsl:call-template> + <xsl:apply-templates/> + </h3> +</xsl:template> + +</xsl:stylesheet> diff --git a/doc/help/xslt/htmlhelp/htmlhelp.xsl b/doc/help/xslt/htmlhelp/htmlhelp.xsl new file mode 100644 index 00000000..8e8ee95d --- /dev/null +++ b/doc/help/xslt/htmlhelp/htmlhelp.xsl @@ -0,0 +1,22 @@ +<?xml version="1.0"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" + xmlns:exsl="http://exslt.org/common" + xmlns:set="http://exslt.org/sets" + version="1.0" + exclude-result-prefixes="doc exsl set"> + +<!-- ******************************************************************** + $Id: htmlhelp.xsl 1676 2002-06-12 13:21:54Z kosek $ + ******************************************************************** + + This file is used by htmlhelp.xsl if you want to generate source + files for HTML Help. It is based on the XSL DocBook Stylesheet + distribution (especially on JavaHelp code) from Norman Walsh. + + ******************************************************************** --> + +<xsl:import href="../html/chunk.xsl"/> +<xsl:include href="htmlhelp-common.xsl"/> + +</xsl:stylesheet> diff --git a/doc/help/xslt/htmlhelp/profile-htmlhelp-common.xsl b/doc/help/xslt/htmlhelp/profile-htmlhelp-common.xsl new file mode 100644 index 00000000..d2ab70ec --- /dev/null +++ b/doc/help/xslt/htmlhelp/profile-htmlhelp-common.xsl @@ -0,0 +1,1083 @@ +<?xml version="1.0" encoding="US-ASCII"?> +<!--This file was created automatically by xsl2profile--> +<!--from the DocBook XSL stylesheets.--> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" xmlns:exsl="http://exslt.org/common" xmlns:set="http://exslt.org/sets" xmlns:h="urn:x-hex" xmlns:ng="http://docbook.org/docbook-ng" xmlns:db="http://docbook.org/ns/docbook" xmlns:exslt="http://exslt.org/common" exslt:dummy="dummy" ng:dummy="dummy" db:dummy="dummy" extension-element-prefixes="exslt" version="1.0" exclude-result-prefixes="doc exsl set h db ng exslt"> + +<!-- ******************************************************************** + $Id: htmlhelp-common.xsl 8400 2009-04-08 07:44:54Z bobstayton $ + ******************************************************************** --> + +<!-- ==================================================================== --> +<!-- Customizations of standard HTML stylesheet parameters --> + +<!-- no navigation on pages by default, HTML Help provides its own navigation controls --> +<xsl:param name="suppress.navigation" select="1"/> + +<!-- no separate HTML page with index, index is built inside CHM index pane --> +<xsl:param name="generate.index" select="0"/> + +<!-- ==================================================================== --> + +<xsl:param name="htmlhelp.generate.index" select="//indexterm[1]|//db:indexterm[1]|//ng:indexterm[1]"/> + +<!-- Set up HTML Help flag --> +<xsl:variable name="htmlhelp.output" select="1"/> + +<!-- ==================================================================== --> + +<xslo:include xmlns:xslo="http://www.w3.org/1999/XSL/Transform" href="../profiling/profile-mode.xsl"/><xslo:variable xmlns:xslo="http://www.w3.org/1999/XSL/Transform" name="profiled-content"><xslo:choose><xslo:when test="*/self::ng:* or */self::db:*"><xslo:message>Note: namesp. cut : stripped namespace before processing</xslo:message><xslo:variable name="stripped-content"><xslo:apply-templates select="/" mode="stripNS"/></xslo:variable><xslo:message>Note: namesp. cut : processing stripped document</xslo:message><xslo:apply-templates select="exslt:node-set($stripped-content)" mode="profile"/></xslo:when><xslo:otherwise><xslo:apply-templates select="/" mode="profile"/></xslo:otherwise></xslo:choose></xslo:variable><xslo:variable xmlns:xslo="http://www.w3.org/1999/XSL/Transform" name="profiled-nodes" select="exslt:node-set($profiled-content)"/><xsl:template match="/"> + + <!-- * Get a title for current doc so that we let the user --> + <!-- * know what document we are processing at this point. --> + <xsl:variable name="doc.title"> + <xsl:call-template name="get.doc.title"/> + </xsl:variable> + <xsl:choose> + <!-- Hack! If someone hands us a DocBook V5.x or DocBook NG document, + toss the namespace and continue. Use the docbook5 namespaced + stylesheets for DocBook5 if you don't want to use this feature.--> + <xsl:when test="false()"/> + <xsl:otherwise> + <xsl:if test="$htmlhelp.only != 1"> + <xsl:choose> + <xsl:when test="$rootid != ''"> + <xsl:choose> + <xsl:when test="count($profiled-nodes//*[@id=$rootid]) = 0"> + <xsl:message terminate="yes"> + <xsl:text>ID '</xsl:text> + <xsl:value-of select="$rootid"/> + <xsl:text>' not found in document.</xsl:text> + </xsl:message> + </xsl:when> + <xsl:otherwise> + <xsl:message>Formatting from <xsl:value-of select="$rootid"/></xsl:message> + <xsl:apply-templates select="$profiled-nodes//*[@id=$rootid]" mode="process.root"/> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:otherwise> + <xsl:if test="$collect.xref.targets = 'yes' or $collect.xref.targets = 'only'"> + <xsl:apply-templates select="$profiled-nodes" mode="collect.targets"/> + </xsl:if> + <xsl:if test="$collect.xref.targets != 'only'"> + <xsl:apply-templates select="$profiled-nodes" mode="process.root"/> + </xsl:if> + </xsl:otherwise> + </xsl:choose> + </xsl:if> + + + <xsl:if test="$collect.xref.targets != 'only'"> + <xsl:call-template name="hhp"/> + <xsl:call-template name="hhc"/> + <xsl:if test="($rootid = '' and //processing-instruction('dbhh')) or ($rootid != '' and $profiled-nodes//*[@id=$rootid]//processing-instruction('dbhh'))"> + <xsl:call-template name="hh-map"/> + <xsl:call-template name="hh-alias"/> + </xsl:if> + <xsl:if test="$htmlhelp.generate.index"> + <xsl:call-template name="hhk"/> + </xsl:if> + </xsl:if> +</xsl:otherwise> +</xsl:choose> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template name="hhp"> + <xsl:call-template name="write.text.chunk"> + <xsl:with-param name="filename"> + <xsl:if test="$manifest.in.base.dir != 0"> + <xsl:value-of select="$base.dir"/> + </xsl:if> + <xsl:value-of select="$htmlhelp.hhp"/> + </xsl:with-param> + <xsl:with-param name="method" select="'text'"/> + <xsl:with-param name="content"> + <xsl:call-template name="hhp-main"/> + </xsl:with-param> + <xsl:with-param name="encoding" select="$htmlhelp.encoding"/> + <xsl:with-param name="quiet" select="$chunk.quietly"/> + </xsl:call-template> +</xsl:template> + +<!-- ==================================================================== --> +<xsl:template name="hhp-main"> + + <xsl:variable name="raw.help.title"> + <xsl:choose> + <xsl:when test="$htmlhelp.title = ''"> + <xsl:choose> + <xsl:when test="$rootid != ''"> + <xsl:apply-templates select="$profiled-nodes//*[@id=$rootid]" mode="title.markup"/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="$profiled-nodes/*" mode="title.markup"/> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$htmlhelp.title"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:variable name="help.title" select="normalize-space($raw.help.title)"/> + +<xsl:variable name="default.topic"> + <xsl:choose> + <xsl:when test="$htmlhelp.default.topic != ''"> + <xsl:value-of select="$htmlhelp.default.topic"/> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="make-relative-filename"> + <xsl:with-param name="base.dir"> + <xsl:if test="$manifest.in.base.dir = 0"> + <xsl:value-of select="$base.dir"/> + </xsl:if> + </xsl:with-param> + <xsl:with-param name="base.name"> + <xsl:choose> + <xsl:when test="$rootid != ''"> + <xsl:apply-templates select="$profiled-nodes//*[@id=$rootid]" mode="chunk-filename"/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="$profiled-nodes" mode="chunk-filename"/> + </xsl:otherwise> + </xsl:choose> + </xsl:with-param> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> +</xsl:variable> +<xsl:variable name="xnavigation"> + <xsl:text>0x</xsl:text> + <xsl:call-template name="toHex"> + <xsl:with-param name="n" select="9504 + $htmlhelp.show.menu * 65536 + $htmlhelp.show.advanced.search * 131072 + $htmlhelp.show.favorities * 4096 + (1 - $htmlhelp.show.toolbar.text) * 64 + $htmlhelp.remember.window.position * 262144"/> + </xsl:call-template> +</xsl:variable> +<xsl:variable name="xbuttons"> + <xsl:text>0x</xsl:text> + <xsl:call-template name="toHex"> + <xsl:with-param name="n" select="0 + $htmlhelp.button.hideshow * 2 + $htmlhelp.button.back * 4 + $htmlhelp.button.forward * 8 + $htmlhelp.button.stop * 16 + $htmlhelp.button.refresh * 32 + $htmlhelp.button.home * 64 + $htmlhelp.button.options * 4096 + $htmlhelp.button.print * 8192 + $htmlhelp.button.locate * 2048 + $htmlhelp.button.jump1 * 262144 + $htmlhelp.button.jump2 * 524288 + $htmlhelp.button.next * 2097152 + $htmlhelp.button.prev * 4194304 + $htmlhelp.button.zoom * 1048576"/> + </xsl:call-template> +</xsl:variable> +<xsl:text>[OPTIONS] +</xsl:text> +<xsl:if test="$htmlhelp.generate.index"> +<xsl:text>Auto Index=Yes +</xsl:text></xsl:if> +<xsl:if test="$htmlhelp.hhc.binary != 0"> +<xsl:text>Binary TOC=Yes +</xsl:text></xsl:if> +<xsl:text>Compatibility=1.1 or later +Compiled file=</xsl:text><xsl:value-of select="$htmlhelp.chm"/><xsl:text> +Contents file=</xsl:text><xsl:value-of select="$htmlhelp.hhc"/><xsl:text> +</xsl:text> +<xsl:if test="$htmlhelp.hhp.window != ''"> +<xsl:text>Default Window=</xsl:text><xsl:value-of select="$htmlhelp.hhp.window"/><xsl:text> +</xsl:text></xsl:if> +<xsl:text>Default topic=</xsl:text><xsl:value-of select="$default.topic"/> +<xsl:text> +Display compile progress=</xsl:text> + <xsl:choose> + <xsl:when test="$htmlhelp.display.progress != 1"> + <xsl:text>No</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:text>Yes</xsl:text> + </xsl:otherwise> + </xsl:choose> +<xsl:text> +Full-text search=Yes +</xsl:text> +<xsl:if test="$htmlhelp.generate.index"> +<xsl:text>Index file=</xsl:text><xsl:value-of select="$htmlhelp.hhk"/><xsl:text> +</xsl:text></xsl:if> +<xsl:text>Language=</xsl:text> +<xsl:for-each select="*"> <!-- Change context from / to root element --> + <xsl:call-template name="gentext.template"> + <xsl:with-param name="context" select="'htmlhelp'"/> + <xsl:with-param name="name" select="'langcode'"/> + </xsl:call-template> +</xsl:for-each> +<xsl:text> +Title=</xsl:text> + <xsl:value-of select="$help.title"/> +<xsl:text> +Enhanced decompilation=</xsl:text> + <xsl:choose> + <xsl:when test="$htmlhelp.enhanced.decompilation != 0"> + <xsl:text>Yes</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:text>No</xsl:text> + </xsl:otherwise> + </xsl:choose> + +<xsl:if test="$htmlhelp.hhp.window != ''"> + <xsl:text> + +[WINDOWS] +</xsl:text> +<xsl:value-of select="$htmlhelp.hhp.window"/> +<xsl:text>="</xsl:text> +<xsl:value-of select="$help.title"/> +<xsl:text>","</xsl:text><xsl:value-of select="$htmlhelp.hhc"/> +<xsl:text>",</xsl:text> +<xsl:if test="$htmlhelp.generate.index"> + <xsl:text>"</xsl:text> + <xsl:value-of select="$htmlhelp.hhk"/> + <xsl:text>"</xsl:text> +</xsl:if> +<xsl:text>,"</xsl:text> +<xsl:value-of select="$default.topic"/> +<xsl:text>",</xsl:text> +<xsl:text>"</xsl:text> +<xsl:choose> + <xsl:when test="$htmlhelp.button.home != 0"> + <xsl:value-of select="$htmlhelp.button.home.url"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$default.topic"/> + </xsl:otherwise> +</xsl:choose> +<xsl:text>"</xsl:text> +<xsl:text>,</xsl:text> +<xsl:if test="$htmlhelp.button.jump1 != 0"> + <xsl:text>"</xsl:text> + <xsl:value-of select="$htmlhelp.button.jump1.url"/> + <xsl:text>"</xsl:text> +</xsl:if> +<xsl:text>,</xsl:text> +<xsl:if test="$htmlhelp.button.jump1 != 0"> + <xsl:text>"</xsl:text> + <xsl:value-of select="$htmlhelp.button.jump1.title"/> + <xsl:text>"</xsl:text> +</xsl:if> +<xsl:text>,</xsl:text> +<xsl:if test="$htmlhelp.button.jump2 != 0"> + <xsl:text>"</xsl:text> + <xsl:value-of select="$htmlhelp.button.jump2.url"/> + <xsl:text>"</xsl:text> +</xsl:if> +<xsl:text>,</xsl:text> +<xsl:if test="$htmlhelp.button.jump2 != 0"> + <xsl:text>"</xsl:text> + <xsl:value-of select="$htmlhelp.button.jump2.title"/> + <xsl:text>"</xsl:text> +</xsl:if> +<xsl:text>,</xsl:text> +<xsl:value-of select="$xnavigation"/> +<xsl:text>,</xsl:text><xsl:value-of select="$htmlhelp.hhc.width"/><xsl:text>,</xsl:text> +<xsl:value-of select="$xbuttons"/> +<xsl:text>,</xsl:text><xsl:value-of select="$htmlhelp.window.geometry"/><xsl:text>,,,,,,,0 +</xsl:text> +</xsl:if> + +<!-- + Needs more investigation to generate propetly all fields +<xsl:text>search="</xsl:text> +<xsl:value-of select="normalize-space(//title[1])"/> +<xsl:text>","toc.hhc","index.hhk","</xsl:text> +<xsl:value-of select="$root.filename"/> +<xsl:text>.html","</xsl:text> +<xsl:value-of select="$root.filename"/> +<xsl:text>.html",,,,,</xsl:text> +<xsl:value-of select="$xnavigation"/> +<xsl:text>,</xsl:text> +<xsl:value-of select="$htmlhelp.hhc.width"/> +<xsl:text>,</xsl:text> +<xsl:value-of select="$xbuttons"/> +<xsl:text>,</xsl:text> +<xsl:value-of select="$htmlhelp.window.geometry"/> +<xsl:text>,,,,,2,,0 +</xsl:text> +--> + +<xsl:if test="$htmlhelp.hhp.windows"> + <xsl:value-of select="$htmlhelp.hhp.windows"/> +</xsl:if> +<xsl:text> + +[FILES] +</xsl:text> + +<xsl:choose> + <xsl:when test="$rootid != ''"> + <xsl:apply-templates select="$profiled-nodes//*[@id=$rootid]" mode="enumerate-files"/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="$profiled-nodes" mode="enumerate-files"/> + </xsl:otherwise> +</xsl:choose> + +<xsl:if test="$htmlhelp.enumerate.images"> + <xsl:variable name="imagelist"> + <xsl:choose> + <xsl:when test="$rootid != ''"> + <xsl:apply-templates select="$profiled-nodes//*[@id=$rootid]" mode="enumerate-images"/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="$profiled-nodes" mode="enumerate-images"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:choose> + <xsl:when test="$exsl.node.set.available != 0 and function-available('set:distinct')"> + <xsl:for-each select="set:distinct(exsl:node-set($imagelist)/filename)"> + <xsl:value-of select="."/> + <xsl:text> +</xsl:text> + </xsl:for-each> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$imagelist"/> + </xsl:otherwise> + </xsl:choose> +</xsl:if> + +<xsl:if test="($htmlhelp.force.map.and.alias != 0) or ($rootid = '' and //processing-instruction('dbhh')) or ($rootid != '' and $profiled-nodes//*[@id=$rootid]//processing-instruction('dbhh'))"> + <xsl:text> +[ALIAS] +#include </xsl:text><xsl:value-of select="$htmlhelp.alias.file"/><xsl:text> + +[MAP] +#include </xsl:text><xsl:value-of select="$htmlhelp.map.file"/><xsl:text> +</xsl:text> +</xsl:if> + +<xsl:value-of select="$htmlhelp.hhp.tail"/> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="graphic|inlinegraphic[@format!='linespecific']" mode="enumerate-images"> + <xsl:call-template name="write.filename.enumerate-images"> + <xsl:with-param name="filename"> + <xsl:call-template name="mediaobject.filename.enumerate-images"> + <xsl:with-param name="object" select="."/> + </xsl:call-template> + </xsl:with-param> + </xsl:call-template> +</xsl:template> + +<xsl:template match="mediaobject|inlinemediaobject" mode="enumerate-images"> + <xsl:call-template name="select.mediaobject.enumerate-images"/> +</xsl:template> + +<xsl:template name="select.mediaobject.enumerate-images"> + <xsl:param name="olist" select="imageobject|imageobjectco |videoobject|audioobject|textobject"/> + <xsl:param name="count">1</xsl:param> + + <xsl:if test="$count <= count($olist)"> + <xsl:variable name="object" select="$olist[position()=$count]"/> + + <xsl:variable name="useobject"> + <xsl:choose> + <!-- The phrase is never used --> + <xsl:when test="name($object)='textobject' and $object/phrase"> + <xsl:text>0</xsl:text> + </xsl:when> + <!-- The first textobject is a reasonable fallback (but not for image in HH) --> + <xsl:when test="name($object)='textobject'"> + <xsl:text>0</xsl:text> + </xsl:when> + <!-- If there's only one object, use it --> + <xsl:when test="$count = 1 and count($olist) = 1"> + <xsl:text>1</xsl:text> + </xsl:when> + <!-- Otherwise, see if this one is a useable graphic --> + <xsl:otherwise> + <xsl:choose> + <!-- peek inside imageobjectco to simplify the test --> + <xsl:when test="local-name($object) = 'imageobjectco'"> + <xsl:call-template name="is.acceptable.mediaobject"> + <xsl:with-param name="object" select="$object/imageobject"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="is.acceptable.mediaobject"> + <xsl:with-param name="object" select="$object"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:choose> + <xsl:when test="$useobject='1' and $object[not(*/@format='linespecific')]"> + <xsl:call-template name="write.filename.enumerate-images"> + <xsl:with-param name="filename"> + <xsl:call-template name="mediaobject.filename.enumerate-images"> + <xsl:with-param name="object" select="$object"/> + </xsl:call-template> + </xsl:with-param> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="select.mediaobject.enumerate-images"> + <xsl:with-param name="olist" select="$olist"/> + <xsl:with-param name="count" select="$count + 1"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:if> +</xsl:template> + +<xsl:template name="mediaobject.filename.enumerate-images"> + <xsl:param name="object"/> + + <xsl:variable name="urifilename"> + <xsl:call-template name="mediaobject.filename"> + <xsl:with-param name="object" select="$object"/> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="filename"> + <xsl:choose> + <xsl:when test="starts-with($urifilename, 'file:/')"> + <xsl:value-of select="substring-after($urifilename, 'file:/')"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$urifilename"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:value-of select="translate($filename, '/', '\')"/> + +</xsl:template> + +<xsl:template match="text()" mode="enumerate-images"> +</xsl:template> + +<xsl:template name="write.filename.enumerate-images"> + <xsl:param name="filename"/> + <xsl:choose> + <xsl:when test="function-available('exsl:node-set') and function-available('set:distinct')"> + <filename><xsl:value-of select="$filename"/></filename> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$filename"/> + <xsl:text> +</xsl:text> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<!-- ==================================================================== --> + +<!-- HHC and HHK files are processed by compiler line by line + and therefore are very sensitive to whitespaces (linefeeds for sure). --> + +<xsl:template name="hhc"> + <xsl:call-template name="write.chunk"> + <xsl:with-param name="filename"> + <xsl:if test="$manifest.in.base.dir != 0"> + <xsl:value-of select="$base.dir"/> + </xsl:if> + <xsl:value-of select="$htmlhelp.hhc"/> + </xsl:with-param> + <xsl:with-param name="indent" select="'no'"/> + <xsl:with-param name="content"> + <xsl:call-template name="hhc-main"/> + </xsl:with-param> + <xsl:with-param name="encoding" select="$htmlhelp.encoding"/> + <xsl:with-param name="quiet" select="$chunk.quietly"/> + </xsl:call-template> +</xsl:template> + +<xsl:template name="hhc-main"> +<HTML><xsl:text> +</xsl:text> + <HEAD/><xsl:text> +</xsl:text> + <BODY><xsl:text> +</xsl:text> + <xsl:if test="$htmlhelp.hhc.folders.instead.books != 0"> + <OBJECT type="text/site properties"><xsl:text> +</xsl:text> + <param name="ImageType" value="Folder"/><xsl:text> +</xsl:text> + </OBJECT><xsl:text> +</xsl:text> + </xsl:if> + <xsl:variable name="content"> + <xsl:choose> + <xsl:when test="$rootid != ''"> + <xsl:apply-templates select="$profiled-nodes//*[@id=$rootid]" mode="hhc"/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="$profiled-nodes" mode="hhc"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:choose> + <xsl:when test="$htmlhelp.hhc.show.root != 0"> + <UL><xsl:text> +</xsl:text> + <xsl:copy-of select="$content"/> + </UL><xsl:text> +</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:copy-of select="$content"/> + </xsl:otherwise> + </xsl:choose> + + </BODY> +</HTML> +</xsl:template> + +<xsl:template name="hhc.entry"> + <xsl:param name="title"> + <xsl:if test="$htmlhelp.autolabel=1"> + <xsl:variable name="label.markup"> + <xsl:apply-templates select="." mode="label.markup"/> + </xsl:variable> + <xsl:if test="normalize-space($label.markup)"> + <xsl:value-of select="concat($label.markup,$autotoc.label.separator)"/> + </xsl:if> + </xsl:if> + <xsl:apply-templates select="." mode="title.markup"/> + </xsl:param> + + <LI><OBJECT type="text/sitemap"><xsl:text> +</xsl:text> + <param name="Name"> + <xsl:attribute name="value"> + <xsl:value-of select="normalize-space($title)"/> + </xsl:attribute> + </param><xsl:text> +</xsl:text> + <param name="Local"> + <xsl:attribute name="value"> + <xsl:call-template name="href.target.with.base.dir"/> + </xsl:attribute> + </param> + </OBJECT></LI><xsl:text> +</xsl:text> +</xsl:template> + +<xsl:template match="set" mode="hhc"> + <xsl:if test="$htmlhelp.hhc.show.root != 0"> + <xsl:call-template name="hhc.entry"/> + </xsl:if> + <xsl:if test="book"> + <xsl:variable name="toc.params"> + <xsl:call-template name="find.path.params"> + <xsl:with-param name="table" select="normalize-space($generate.toc)"/> + </xsl:call-template> + </xsl:variable> + <UL> + <xsl:if test="contains($toc.params, 'toc') and $htmlhelp.hhc.show.root = 0"> + <LI><OBJECT type="text/sitemap"><xsl:text> +</xsl:text> + <param name="Name"> + <xsl:attribute name="value"> + <xsl:call-template name="gentext"> + <xsl:with-param name="key" select="'TableofContents'"/> + </xsl:call-template> + </xsl:attribute> + </param><xsl:text> +</xsl:text> + <param name="Local"> + <xsl:attribute name="value"> + <xsl:choose> + <xsl:when test="$chunk.tocs.and.lots != 0"> + <xsl:apply-templates select="." mode="recursive-chunk-filename"> + <xsl:with-param name="recursive" select="true()"/> + </xsl:apply-templates> + <xsl:text>-toc</xsl:text> + <xsl:value-of select="$html.ext"/> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="href.target.with.base.dir"/> + </xsl:otherwise> + </xsl:choose> + </xsl:attribute> + </param> + </OBJECT></LI><xsl:text> +</xsl:text> + </xsl:if> + <xsl:apply-templates select="book" mode="hhc"/> + </UL><xsl:text> +</xsl:text> + </xsl:if> +</xsl:template> + +<xsl:template match="book" mode="hhc"> + <xsl:if test="$htmlhelp.hhc.show.root != 0 or parent::*"> + <xsl:call-template name="hhc.entry"/> + </xsl:if> + <xsl:if test="part|reference|preface|chapter|appendix|bibliography|article|colophon|glossary"> + <xsl:variable name="toc.params"> + <xsl:call-template name="find.path.params"> + <xsl:with-param name="table" select="normalize-space($generate.toc)"/> + </xsl:call-template> + </xsl:variable> + <UL> + <xsl:if test="contains($toc.params, 'toc') and $htmlhelp.hhc.show.root = 0 and not(parent::*)"> + <LI><OBJECT type="text/sitemap"><xsl:text> +</xsl:text> + <param name="Name"> + <xsl:attribute name="value"> + <xsl:call-template name="gentext"> + <xsl:with-param name="key" select="'TableofContents'"/> + </xsl:call-template> + </xsl:attribute> + </param><xsl:text> +</xsl:text> + <param name="Local"> + <xsl:attribute name="value"> + <xsl:choose> + <xsl:when test="$chunk.tocs.and.lots != 0"> + <xsl:apply-templates select="." mode="recursive-chunk-filename"> + <xsl:with-param name="recursive" select="true()"/> + </xsl:apply-templates> + <xsl:text>-toc</xsl:text> + <xsl:value-of select="$html.ext"/> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="href.target.with.base.dir"/> + </xsl:otherwise> + </xsl:choose> + </xsl:attribute> + </param> + </OBJECT></LI><xsl:text> +</xsl:text> + </xsl:if> + <xsl:apply-templates select="part|reference|preface|chapter|bibliography|appendix|article|colophon|glossary" mode="hhc"/> + </UL><xsl:text> +</xsl:text> + </xsl:if> +</xsl:template> + +<xsl:template match="part|reference|preface|chapter|bibliography|appendix|article|glossary" mode="hhc"> + <xsl:if test="$htmlhelp.hhc.show.root != 0 or parent::*"> + <xsl:call-template name="hhc.entry"/> + </xsl:if> + <xsl:if test="article|reference|preface|chapter|appendix|refentry|section|sect1|bibliodiv"> + <UL><xsl:text> +</xsl:text> + <xsl:apply-templates select="article|reference|preface|chapter|appendix|refentry|section|sect1|bibliodiv" mode="hhc"/> + </UL> + </xsl:if> +</xsl:template> + +<xsl:template match="section" mode="hhc"> + <xsl:if test="$htmlhelp.hhc.show.root != 0 or parent::*"> + <xsl:call-template name="hhc.entry"/> + </xsl:if> + <xsl:if test="section[count(ancestor::section) < $htmlhelp.hhc.section.depth]|refentry"> + <UL><xsl:text> +</xsl:text> + <xsl:apply-templates select="section|refentry" mode="hhc"/> + </UL> + </xsl:if> +</xsl:template> + +<xsl:template match="sect1" mode="hhc"> + <xsl:if test="$htmlhelp.hhc.show.root != 0 or parent::*"> + <xsl:call-template name="hhc.entry"/> + </xsl:if> + <xsl:if test="sect2[$htmlhelp.hhc.section.depth > 1]|refentry"> + <UL><xsl:text> +</xsl:text> + <xsl:apply-templates select="sect2|refentry" mode="hhc"/> + </UL> + </xsl:if> +</xsl:template> + +<xsl:template match="sect2" mode="hhc"> + <xsl:if test="$htmlhelp.hhc.show.root != 0 or parent::*"> + <xsl:call-template name="hhc.entry"/> + </xsl:if> + <xsl:if test="sect3[$htmlhelp.hhc.section.depth > 2]|refentry"> + <UL><xsl:text> +</xsl:text> + <xsl:apply-templates select="sect3|refentry" mode="hhc"/> + </UL> + </xsl:if> +</xsl:template> + +<xsl:template match="sect3" mode="hhc"> + <xsl:if test="$htmlhelp.hhc.show.root != 0 or parent::*"> + <xsl:call-template name="hhc.entry"/> + </xsl:if> + <xsl:if test="sect4[$htmlhelp.hhc.section.depth > 3]|refentry"> + <UL><xsl:text> +</xsl:text> + <xsl:apply-templates select="sect4|refentry" mode="hhc"/> + </UL> + </xsl:if> +</xsl:template> + +<xsl:template match="sect4" mode="hhc"> + <xsl:if test="$htmlhelp.hhc.show.root != 0 or parent::*"> + <xsl:call-template name="hhc.entry"/> + </xsl:if> + <xsl:if test="sect5[$htmlhelp.hhc.section.depth > 4]|refentry"> + <UL><xsl:text> +</xsl:text> + <xsl:apply-templates select="sect5|refentry" mode="hhc"/> + </UL> + </xsl:if> +</xsl:template> + +<xsl:template match="sect5|refentry|colophon|bibliodiv" mode="hhc"> + <xsl:if test="$htmlhelp.hhc.show.root != 0 or parent::*"> + <xsl:call-template name="hhc.entry"/> + </xsl:if> + <xsl:if test="refentry"> + <UL><xsl:text> +</xsl:text> + <xsl:apply-templates select="refentry" mode="hhc"/> + </UL> + </xsl:if> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="indexterm"> + <xsl:choose> + <xsl:when test="$htmlhelp.use.hhk = 0"> + + <xsl:variable name="primary" select="normalize-space(primary)"/> + <xsl:variable name="secondary" select="normalize-space(secondary)"/> + <xsl:variable name="tertiary" select="normalize-space(tertiary)"/> + + <xsl:variable name="text"> + <xsl:value-of select="$primary"/> + <xsl:if test="secondary"> + <xsl:text>, </xsl:text> + <xsl:value-of select="$secondary"/> + </xsl:if> + <xsl:if test="tertiary"> + <xsl:text>, </xsl:text> + <xsl:value-of select="$tertiary"/> + </xsl:if> + </xsl:variable> + + <xsl:if test="secondary"> + <xsl:if test="not(//indexterm[normalize-space(primary)=$primary and not(secondary)])"> + <xsl:call-template name="write.indexterm"> + <xsl:with-param name="text" select="$primary"/> + </xsl:call-template> + </xsl:if> + </xsl:if> + + <xsl:if test="tertiary"> + <xsl:if test="not(//indexterm[normalize-space(primary)=$primary and normalize-space(secondary)=$secondary and not(tertiary)])"> + <xsl:call-template name="write.indexterm"> + <xsl:with-param name="text" select="concat($primary, ', ', $secondary)"/> + </xsl:call-template> + </xsl:if> + </xsl:if> + + <xsl:call-template name="write.indexterm"> + <xsl:with-param name="text" select="$text"/> + </xsl:call-template> + + </xsl:when> + <xsl:otherwise> + <a> + <xsl:attribute name="name"> + <xsl:call-template name="object.id"/> + </xsl:attribute> + </a> + </xsl:otherwise> + + </xsl:choose> +</xsl:template> + +<xsl:template name="write.indexterm"> + <xsl:param name="text"/> + <OBJECT type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e"> + <param name="Keyword" value="{$text}"/> + </OBJECT> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template name="hhk"> + <xsl:call-template name="write.chunk"> + <xsl:with-param name="filename"> + <xsl:if test="$manifest.in.base.dir != 0"> + <xsl:value-of select="$base.dir"/> + </xsl:if> + <xsl:value-of select="$htmlhelp.hhk"/> + </xsl:with-param> + <xsl:with-param name="indent" select="'no'"/> + <xsl:with-param name="content"><xsl:text disable-output-escaping="yes"><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML> +<HEAD> +<meta name="GENERATOR" content="Microsoft&reg; HTML Help Workshop 4.1"> +<!-- Sitemap 1.0 --> +</HEAD><BODY> +<OBJECT type="text/site properties"> +</OBJECT> +<UL> +</xsl:text> +<xsl:if test="($htmlhelp.use.hhk != 0) and $htmlhelp.generate.index"> + <xsl:choose> + <xsl:when test="$rootid != ''"> + <xsl:apply-templates select="$profiled-nodes//*[@id=$rootid]" mode="hhk"/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="$profiled-nodes" mode="hhk"/> + </xsl:otherwise> + </xsl:choose> +</xsl:if> +<xsl:text disable-output-escaping="yes"></UL> +</BODY></HTML> +</xsl:text></xsl:with-param> + <xsl:with-param name="encoding" select="$htmlhelp.encoding"/> + <xsl:with-param name="quiet" select="$chunk.quietly"/> + </xsl:call-template> +</xsl:template> + +<xsl:template match="indexterm[@class='endofrange']" mode="hhk"/> + +<xsl:template match="indexterm" mode="hhk"> + <xsl:variable name="primary" select="normalize-space(primary)"/> + <xsl:variable name="secondary" select="normalize-space(secondary)"/> + <xsl:variable name="tertiary" select="normalize-space(tertiary)"/> + + <xsl:call-template name="write.indexterm.hhk"> + <xsl:with-param name="text" select="$primary"/> + <xsl:with-param name="seealso" select="seealso"/> + </xsl:call-template> + + <xsl:if test="secondary"> + <xsl:if test="not(//indexterm[normalize-space(primary)=$primary and not(secondary)])"> + <xsl:call-template name="write.indexterm.hhk"> + <!-- We must create fake entry when there is secondary without primary --> + <xsl:with-param name="text" select="$primary"/> + <xsl:with-param name="seealso" select="$primary"/> + </xsl:call-template> + </xsl:if> + <UL> + <xsl:call-template name="write.indexterm.hhk"> + <xsl:with-param name="text" select="$secondary"/> + <xsl:with-param name="seealso" select="secondary/seealso"/> + </xsl:call-template> + <xsl:if test="tertiary"> + <UL><xsl:text> +</xsl:text> + <xsl:call-template name="write.indexterm.hhk"> + <xsl:with-param name="text" select="$tertiary"/> + <xsl:with-param name="seealso" select="tertiary/seealso"/> + </xsl:call-template> + </UL> + </xsl:if> + </UL> + </xsl:if> + +</xsl:template> + +<xsl:template name="write.indexterm.hhk"> + <xsl:param name="text"/> + <xsl:param name="seealso"/> + + <LI> <OBJECT type="text/sitemap"><xsl:text> +</xsl:text> + <param name="Name"> + <xsl:attribute name="value"> + <xsl:value-of select="$text"/> + </xsl:attribute> + </param><xsl:text> +</xsl:text> + + <xsl:if test="not(seealso)"> + <xsl:variable name="href"> + <xsl:call-template name="href.target.with.base.dir"/> + </xsl:variable> + <xsl:variable name="title"> + <xsl:call-template name="nearest.title"> + <xsl:with-param name="object" select=".."/> + </xsl:call-template> + </xsl:variable> + + <param name="Name"> + <xsl:attribute name="value"> + <xsl:value-of select="$title"/> + </xsl:attribute> + </param><xsl:text> +</xsl:text> + <param name="Local"> + <xsl:attribute name="value"> + <xsl:value-of select="$href"/> + </xsl:attribute> + </param><xsl:text> +</xsl:text> + </xsl:if> + + <xsl:if test="seealso"> + <param name="See Also"> + <xsl:attribute name="value"> + <xsl:value-of select="$seealso"/> + </xsl:attribute> + </param><xsl:text> +</xsl:text> + </xsl:if> + </OBJECT></LI> +</xsl:template> + +<xsl:template match="text()" mode="hhk"/> + +<xsl:template name="nearest.title"> + <xsl:param name="object"/> + <xsl:apply-templates select="$object/ancestor-or-self::*[title][1]" mode="title.markup"/> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template name="hh-map"> + <xsl:call-template name="write.text.chunk"> + <xsl:with-param name="filename"> + <xsl:if test="$manifest.in.base.dir != 0"> + <xsl:value-of select="$base.dir"/> + </xsl:if> + <xsl:value-of select="$htmlhelp.map.file"/> + </xsl:with-param> + <xsl:with-param name="method" select="'text'"/> + <xsl:with-param name="content"> + <xsl:choose> + <xsl:when test="$rootid != ''"> + <xsl:apply-templates select="$profiled-nodes//*[@id=$rootid]" mode="hh-map"/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="$profiled-nodes" mode="hh-map"/> + </xsl:otherwise> + </xsl:choose> + </xsl:with-param> + <xsl:with-param name="encoding" select="$htmlhelp.encoding"/> + <xsl:with-param name="quiet" select="$chunk.quietly"/> + </xsl:call-template> +</xsl:template> + +<xsl:template match="processing-instruction('dbhh')" mode="hh-map"> + <xsl:variable name="topicname"> + <xsl:call-template name="pi-attribute"> + <xsl:with-param name="pis" select="."/> + <xsl:with-param name="attribute" select="'topicname'"/> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="topicid"> + <xsl:call-template name="pi-attribute"> + <xsl:with-param name="pis" select="."/> + <xsl:with-param name="attribute" select="'topicid'"/> + </xsl:call-template> + </xsl:variable> + <xsl:text>#define </xsl:text> + <xsl:value-of select="$topicname"/> + <xsl:text> </xsl:text> + <xsl:value-of select="$topicid"/> + <xsl:text> +</xsl:text> +</xsl:template> + +<xsl:template match="text()" mode="hh-map"/> + +<!-- ==================================================================== --> + +<xsl:template name="hh-alias"> + <xsl:call-template name="write.text.chunk"> + <xsl:with-param name="filename"> + <xsl:if test="$manifest.in.base.dir != 0"> + <xsl:value-of select="$base.dir"/> + </xsl:if> + <xsl:value-of select="$htmlhelp.alias.file"/> + </xsl:with-param> + <xsl:with-param name="method" select="'text'"/> + <xsl:with-param name="content"> + <xsl:choose> + <xsl:when test="$rootid != ''"> + <xsl:apply-templates select="$profiled-nodes//*[@id=$rootid]" mode="hh-alias"/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="$profiled-nodes" mode="hh-alias"/> + </xsl:otherwise> + </xsl:choose> + </xsl:with-param> + <xsl:with-param name="encoding" select="$htmlhelp.encoding"/> + <xsl:with-param name="quiet" select="$chunk.quietly"/> + </xsl:call-template> +</xsl:template> + +<xsl:template match="processing-instruction('dbhh')" mode="hh-alias"> + <xsl:variable name="topicname"> + <xsl:call-template name="pi-attribute"> + <xsl:with-param name="pis" select="."/> + <xsl:with-param name="attribute" select="'topicname'"/> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="href"> + <xsl:call-template name="href.target.with.base.dir"> + <xsl:with-param name="object" select=".."/> + </xsl:call-template> + </xsl:variable> + <xsl:value-of select="$topicname"/> + <xsl:text>=</xsl:text> + <!-- Some versions of HH doesn't like fragment identifires, but some does. --> + <!-- <xsl:value-of select="substring-before(concat($href, '#'), '#')"/> --> + <xsl:value-of select="$href"/> + <xsl:text> +</xsl:text> +</xsl:template> + +<xsl:template match="text()" mode="hh-alias"/> + +<!-- ==================================================================== --> +<!-- This code can be used to convert any number to hexadecimal format --> + + <h:hex> + <d>0</d> + <d>1</d> + <d>2</d> + <d>3</d> + <d>4</d> + <d>5</d> + <d>6</d> + <d>7</d> + <d>8</d> + <d>9</d> + <d>A</d> + <d>B</d> + <d>C</d> + <d>D</d> + <d>E</d> + <d>F</d> + </h:hex> + + <xsl:template name="toHex"> + <xsl:param name="n" select="0"/> + <xsl:param name="digit" select="$n mod 16"/> + <xsl:param name="rest" select="floor($n div 16)"/> + <xsl:if test="$rest > 0"> + <xsl:call-template name="toHex"> + <xsl:with-param name="n" select="$rest"/> + </xsl:call-template> + </xsl:if> + <xsl:value-of select="document('')//h:hex/d[$digit+1]"/> + </xsl:template> + +<!-- ==================================================================== --> +<!-- Modification to standard HTML stylesheets --> + +<!-- There are links from ToC pane to bibliodivs, so there must be anchor --> +<xsl:template match="bibliodiv/title"> + <h3 class="{name(.)}"> + <xsl:call-template name="anchor"> + <xsl:with-param name="node" select=".."/> + <xsl:with-param name="conditional" select="0"/> + </xsl:call-template> + <xsl:apply-templates/> + </h3> +</xsl:template> + +</xsl:stylesheet> diff --git a/doc/help/xslt/htmlhelp/profile-htmlhelp.xsl b/doc/help/xslt/htmlhelp/profile-htmlhelp.xsl new file mode 100644 index 00000000..eddde3be --- /dev/null +++ b/doc/help/xslt/htmlhelp/profile-htmlhelp.xsl @@ -0,0 +1,22 @@ +<?xml version="1.0"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" + xmlns:exsl="http://exslt.org/common" + xmlns:set="http://exslt.org/sets" + version="1.0" + exclude-result-prefixes="doc exsl set"> + +<!-- ******************************************************************** + $Id: profile-htmlhelp.xsl 1676 2002-06-12 13:21:54Z kosek $ + ******************************************************************** + + This file is used by htmlhelp.xsl if you want to generate source + files for HTML Help. It is based on the XSL DocBook Stylesheet + distribution (especially on JavaHelp code) from Norman Walsh. + + ******************************************************************** --> + +<xsl:import href="../html/chunk.xsl"/> +<xsl:include href="profile-htmlhelp-common.xsl"/> + +</xsl:stylesheet> diff --git a/doc/help/xslt/images/annot-close.png b/doc/help/xslt/images/annot-close.png new file mode 100644 index 0000000000000000000000000000000000000000..b9e1a0d5271d46b85a25b0e2d631a53d82850515 GIT binary patch literal 207 zcmeAS@N?(olHy`uVBq!ia0vp^oFL4>1SIo6Pjm-y3Opi<85p>QL70(Y)*K0-AbW|Y zuPgf%PA(ofgF7J&vw=dgC9V-A&iT2ysd*&~&PAz-C8;S2<(VZJ3LzP(3hti10q;{( z^MDFnJzX3_DsGkbALM0F;9#C;QDVLz`S*b<Qpxcx&B{Hiy8P2z7%CV~hCIEiXU2R% wchaRL$E0`L$1Z)_oq71<&gY*#H&@$miwG$?>wYNv2{e$w)78&qol`;+071$@H2?qr literal 0 HcmV?d00001 diff --git a/doc/help/xslt/images/annot-open.png b/doc/help/xslt/images/annot-open.png new file mode 100644 index 0000000000000000000000000000000000000000..71040ec80afcf4fcea6abc5d275668a9e827d081 GIT binary patch literal 837 zcmV-L1G@Z)P)<h;3K|Lk000e1NJLTq000XB000UI0{{R3RW4Mq0007uP)t-sW@csp z005bpnE)h?fPjFir<wTp_{_}A0A`sn001*HGu_?HGl0ww1qJ{AW)2Pxle2FA{{8?R ze9g_x_wVnwx3^SORLlSXV~AJL#IFDUnSzLP_x11l{Pf1h#ymVcMrU(VQ&WV7gzxh9 z(9X{L`}?}DuRA+CnT?H&uDY3K0Ed*JSfcAqOijSj*~{1C+tAR;%EPm!rq9pMnPz5` zl$6HC#+;m-<KyG4t*uH*O78CM%ge}|o0+r3)c5!IQc_aZ*4ATMT0%lX=jZ49{P*78 z+UDltowUsV%rj+WWu&dP)6>nz$G=}+U)$K*0RaK2sj2(?@K;+}#Kgq&^YDFreX6Re zJv}|+=GXW4^Tox*dwY9^G%Ni4{A6Tg+T`f%^7LnCXW*;>hK7dV>Ffaj0O#%SnauzF z{r!rHhScEYtwjJD8yfum{rdX)^7i-l`ub~YYXSfRYiw+4YHI)g%m4raTwGk!)6>t~ z;mpitWtsl+^75>#th2MTWSD2Lu&}YQvA({(0RaPPX=(lc{KCS**Vxj@*xk|5(f<Gc z;^N-W(9p=p$i>CO?d|QPq@@4-{%mY)%gf8CsHk#sa=5s-rlg<%0s!>%^ox~?|H}hm zVPVY5%XW5l0RsYNm}R!MwgdzQ(8|u<-ri_vXn=Hd|Nj4)%>QJW|NZ;?!_?Y_eQ||_ zh57mU0ssO1|Ni~``@_S-&d$#N|NH;W0A-o~udT1#+}yRbwVafT{r>;Q$H#Mabi~BW zZ*On^|NU-mZnCnn!@art{PNhM1YTZVXqsiq%gMUBx@~Q3)z#J4*VjTyO4rxV%F4?A z{Qb1Fw3*NTzrVi#0R_Fiz3%Sr|NsBEOlwI1000SaNLh0L01FcU01FcV0GgZ_00007 zbV*G`2h<224jL3?q?}j)002!%L_t(|+9i##5da|!!`Q?X=Y{Cf(lZ46{5%@x4X9Fl ziPMmSENG}-RM%%%8ZU<|J)hqeemmU~lHx1r!40P)jk$>XeBky_qbf7}d%!9N(qQPR P00000NkvXXu0mjf``6wy literal 0 HcmV?d00001 diff --git a/doc/help/xslt/images/blank.png b/doc/help/xslt/images/blank.png new file mode 100644 index 0000000000000000000000000000000000000000..764bf4f0c3bb4a09960b04b6fa9c9024bca703bc GIT binary patch literal 374 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1SEZ8zRdwrEa{HEjtmSN`?>!lvNA9*>Uz33 zhE&XXd(lylL4oIh!GZnHecj|txT>yO8>^qY%(y?B;Tppl#t7yOYze#vq#8^aMzDZb YLK^d5CO(feU_df>y85}Sb4q9e0Be<Nq5uE@ literal 0 HcmV?d00001 diff --git a/doc/help/xslt/images/callouts/1.gif b/doc/help/xslt/images/callouts/1.gif new file mode 100644 index 0000000000000000000000000000000000000000..9e7a87f75461ce41cc91ee68246c7bfb47d37ca3 GIT binary patch literal 889 zcmV-<1BU!ZNk%w1VGIBa0O$Vz000010RaL60s{jB1Ox;H1qB8M1_uWR2nYxX2?+`c z3JVJh3=9kn4Gj(s4i66x5D*X%5fKs+5)%^>6ciK{6%`g178e&67#J8C85tTH8XFrM z92^`S9UUGX9v>ecARr(iAt53nA|oRsBqSsyB_$>%CMPE+C@3f?DJd!{Dl021EG#T7 zEiEoCE-x=HFfcGNF)=bSGBYzXG&D3dH8nOiHa9mnI5;>tIXOByIy*Z%JUl!-Jv}}? zK0iM{KtMo2K|w-7LPJACL_|bIMMXwNMn^|SNJvOYNl8jdN=r*iOiWBoO-)WtPESuy zP*6}&QBhJ-Qd3h?R8&+|RaI72R##V7SXfwDSy@_IT3cINTwGjTU0q&YUSD5dU|?Wj zVPRroVq;@tWMpJzWo2e&W@l$-XlQ6@X=!R|YHMq2Y;0_8ZEbFDZf|dIaBy&OadC2T za&vQYbaZreb#-=jc6WDoczAeud3kzzdV70&e0+R;eSLm@et&;|fPjF3fq{a8f`fyD zgoK2Jg@uNOhKGlTh=_=ZiHVAeii?YjjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z} zm6ev3mY0{8n3$NEnVFiJnwy)OoSdAUot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5( zrl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#p zxVX5vxw*Q!y1To(yu7@<y}iD^zQ4b}z`(%4!NJ19!o$PE#KgqK#l^<P#>dCU$jHda z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1<F+1c9K z+S}XP+}zyV-QC{a-rwKf;Nall;o;)q;^X7v<mBY#<>lt)=I7_<=;-L_>FMg~>g((4 z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg= z{r&#_{{R2~A^8LW0RaC1EC2ui01N;O000P90RIW3lmh~U9GnCyi~#@uf)ov7ENlpX zku!=C88uXL?%qX;j2KcZ^)Vs>iU2s3ba;}YN|XphHhhUuqsx_y{>fxi3!_4aC;>=R P_%9>^1UV=v3<v-_&&Q&6 literal 0 HcmV?d00001 diff --git a/doc/help/xslt/images/callouts/1.png b/doc/help/xslt/images/callouts/1.png new file mode 100644 index 0000000000000000000000000000000000000000..7d473430b7bec514f7de12f5769fe7c5859e8c5d GIT binary patch literal 329 zcmeAS@N?(olHy`uVBq!ia0vp^JRr;gBp8b2n5}^nQ<As43j@QdUS%U7FWJ+@F{I*F zXx~QO0|p!{`<Hx?($n1Ql(x9!rI~U{@0x=gQ&>C}X^4DKU-G|w_t}fLBA)Suv#nrW z!^h2QnY_`l!B<x?#cqSRfyQ~Q1@<4<=dkIYNUpteZJn&Cq*Q53=dm6u@dFh)Vs8$H zYyn#5T;dv05}cn_Ql40p%HW`(tm&DXn4apJn4X!Otze>Oq-UXEX{m2up>JTQkX)2m zTvF+fTUlI^nXH#utd~++ke^qgmz<wFahKu_pmADY<1*9p5=%;f=9yX~8kifU8kifT zBpMl|nHd_JCMTsBr<xd=n3|ZSS!QG@z6I*y1L+C?TFYQ)RAFeOZJ=$?lDoSWD8u0C L>gTe~DWM4ffP81J literal 0 HcmV?d00001 diff --git a/doc/help/xslt/images/callouts/1.svg b/doc/help/xslt/images/callouts/1.svg new file mode 100644 index 00000000..e2e87dc5 --- /dev/null +++ b/doc/help/xslt/images/callouts/1.svg @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 12.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 51448) --> +<!DOCTYPE svg [ + <!ENTITY ns_svg "http://www.w3.org/2000/svg"> + <!ENTITY ns_xlink "http://www.w3.org/1999/xlink"> +]> +<svg version="1.0" id="Layer_1" xmlns="&ns_svg;" xmlns:xlink="&ns_xlink;" width="33" height="33" viewBox="0 0 33 33" + style="overflow:visible;enable-background:new 0 0 33 33;" xml:space="preserve"> +<circle style="stroke:#000000;" cx="16.5" cy="16.5" r="16"/> +<g> + <g style="enable-background:new ;"> + <path style="fill:#FFFFFF;" d="M10.428,10.411h0.56c3.78,0,4.788-1.96,4.872-3.444h3.22v19.88h-3.92V13.154h-4.732V10.411z"/> + </g> +</g> +</svg> diff --git a/doc/help/xslt/images/callouts/10.gif b/doc/help/xslt/images/callouts/10.gif new file mode 100644 index 0000000000000000000000000000000000000000..e80f7f8e632e72463866c08beba2bfb3b17221e9 GIT binary patch literal 929 zcmV;S177?`Nk%w1VGIBa0O$Vz000010RaL60s{jB1Ox;H1qB8M1_uWR2nYxX2?+`c z3JVJh3=9kn4Gj(s4i66x5D*X%5fKs+5)%^>6ciK{6%`g178e&67#J8C85tTH8XFrM z92^`S9UUGX9v>ecARr(iAt53nA|oRsBqSsyB_$>%CMPE+C@3f?DJd!{Dl021EG#T7 zEiEoCE-x=HFfcGNF)=bSGBYzXG&D3dH8nOiHa9mnI5;>tIXOByIy*Z%JUl!-Jv}}? zK0iM{KtMo2K|w-7LPJACL_|bIMMXwNMn^|SNJvOYNl8jdN=r*iOiWBoO-)WtPESuy zP*6}&QBhJ-Qd3h?R8&+|RaI72R##V7SXfwDSy@_IT3cINTwGjTU0q&YUSD5dU|?Wj zVPRroVq;@tWMpJzWo2e&W@l$-XlQ6@X=!R|YHMq2Y;0_8ZEbFDZf|dIaBy&OadC2T za&vQYbaZreb#-=jc6WDoczAeud3kzzdV70&e0+R;eSLm@et&;|fPjF3fq{a8f`fyD zgoK2Jg@uNOhKGlTh=_=ZiHVAeii?YjjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z} zm6ev3mY0{8n3$NEnVFiJnwy)OoSdAUot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5( zrl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#p zxVX5vxw*Q!y1To(yu7@<y}iD^zQ4b}z`(%4!NJ19!o$PE#KgqK#l^<P#>dCU$jHda z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1<F+1c9K z+S}XP+}zyV-QC{a-rwKf;Nall;o;)q;^X7v<mBY#<>lt)=I7_<=;-L_>FMg~>g((4 z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg= z{r&#_{{R2~A^8LW0Ra90EC2ui01N;O000Pn0R0K%lmi2V9E=1i%mD!d00b!@#8`-+ zR;?7?dYzM!!e6Nn@BUe=1z?Uh0F0D8bXLpS8~`!?g^1x00Ly!00ATo+13^ue?{bFV z2|%UITFwXo$ng(Dj8XuOGO`ANk~5V4ascSX2|}-X)?#!Ns5R<C0Am$W>IspO!hirf Dy0E(c literal 0 HcmV?d00001 diff --git a/doc/help/xslt/images/callouts/10.png b/doc/help/xslt/images/callouts/10.png new file mode 100644 index 0000000000000000000000000000000000000000..997bbc8246a316e040e0804174ba260e219d7d33 GIT binary patch literal 361 zcmeAS@N?(olHy`uVBq!ia0vp^JRr;gBp8b2n5}^nQ<As43j@QdUS%U7ui4YZF{I*_ zYTrUp7DWMP<%u3TLY;HO{NlKy4{a+D>WtZ~+OvdJMW|Y+^UT?O-M{rKJsmzxdayJ{ zDCQA!%%@7Jj$q%-wf8e0_jRx8Dqi$}^?K=?6FriQFLv>>oc^CE+aVHhW<k9IkK}je z)E~Fj9=KEXbDR6NEa}#hinfbWM4tz3wYI;z$T{gWXSN{FInE`n5hcO-X(i=}MX3x9 z8p@iUxrynizKQ9X$=M1fdPaH{3YM1o1{V4Th6>3=nZ+fQ4!M=ZC7H>3sl|FJr3LwU zC3?yExf6FO?f@F61vV}-Juk7O6lk8Yg;}bFaZ-|HQc7A<qOp;Yd77z3Qj&$Gd8$#e sMWU&|d~IH!E<TX10HC!DhDH^JM%o721}(X}Yk@Khp00i_>zopr01?u8M*si- literal 0 HcmV?d00001 diff --git a/doc/help/xslt/images/callouts/10.svg b/doc/help/xslt/images/callouts/10.svg new file mode 100644 index 00000000..4740f587 --- /dev/null +++ b/doc/help/xslt/images/callouts/10.svg @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 12.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 51448) --> +<!DOCTYPE svg [ + <!ENTITY ns_svg "http://www.w3.org/2000/svg"> + <!ENTITY ns_xlink "http://www.w3.org/1999/xlink"> +]> +<svg version="1.0" id="Layer_1" xmlns="&ns_svg;" xmlns:xlink="&ns_xlink;" width="33" height="33" viewBox="0 0 33 33" + style="overflow:visible;enable-background:new 0 0 33 33;" xml:space="preserve"> +<circle style="stroke:#000000;" cx="16.5" cy="16.5" r="16"/> +<g> + <g style="enable-background:new ;"> + <path style="fill:#FFFFFF;" d="M3.815,10.758h0.48c3.24,0,4.104-1.681,4.176-2.952h2.76v17.04h-3.36V13.11H3.815V10.758z"/> + <path style="fill:#FFFFFF;" d="M22.175,7.806c4.009,0,5.904,2.76,5.904,8.736c0,5.975-1.896,8.76-5.904,8.76 + c-4.008,0-5.904-2.785-5.904-8.76C16.271,10.566,18.167,7.806,22.175,7.806z M22.175,22.613c1.921,0,2.448-1.68,2.448-6.071 + c0-4.393-0.527-6.049-2.448-6.049c-1.92,0-2.448,1.656-2.448,6.049C19.727,20.934,20.255,22.613,22.175,22.613z"/> + </g> +</g> +</svg> diff --git a/doc/help/xslt/images/callouts/11.gif b/doc/help/xslt/images/callouts/11.gif new file mode 100644 index 0000000000000000000000000000000000000000..67f91a239d66d622f8d254539b6fd580efa42b02 GIT binary patch literal 202 zcmZ?wbhEHb<YC}pXpv<A0&Z?@VPRn@DJc~d6-`Y|BO@bgYinm`=iuPr)YR0>%*^WQ z>bADF{{H^y)2Gj!J9p8dMeEkB+q`-6jvYIW9656K?Ac3~F5SL;`|;z)Z{EE5@ZrP1 zfB*i&fZ|UUMn(pC1|5)1AUhdY-5;oT-OT9fVPH5?qIP(rnuCecF;(8lY%CHJA0|%J x(XwN3776fTXisr6DR7$1b@7l?>`pt$t64n;p&ZEvzI<6|A|t-7MudsM8UU#vRD1vc literal 0 HcmV?d00001 diff --git a/doc/help/xslt/images/callouts/11.png b/doc/help/xslt/images/callouts/11.png new file mode 100644 index 0000000000000000000000000000000000000000..ce47dac3f52ac49017749a3fea53db57d006993c GIT binary patch literal 565 zcmeAS@N?(olHy`uVBq!ia0vp^JRr=$1SD^YpWXnZI14-?iy0V%N<f(LUYdLbP>{XE z)7O>#600DeuDZ?5tOl@<Yeb1-X-P(Y5yQ%LXFPyHJS9LOm(=3qqRfJl%=|nCVNOM5 zpg0#u+&RCXvM4h>ql94%{~0TwC?8m~C^ZqJRG}m@H<iKkJ3l8-h7%+coS#-wo>-L1 z5L@scq?{XUcxG{OP9jig5ySQaTl#^*93bKF#G<^+ymW>G($Cs~V(bw8rA5i93}62@ zzlJGu&d<$F%`0K}c4pdspcorSSx9C{PAbEScbC)|7#JBmT^vIy=9KoYUDZ+`aP)jU z&ny=ErrK^#Gw!AcR}pdfMERuV^@&0$@(#^6b8c@rn<LW0_3F-o*HeFg>^6RWX3pUb z4*6@PZ+H0#u=rjsXzS?6n6*sBGbHqGTU%mCsH?n#%j;eD^2}qe=iX*J@VQ3BRpz+u z{PX#N(^9X${`$90+;!pWs>o@z_n8G)7Uo7PJz`jrS+)QE@=PWHmc~UIw=WmUe73o7 z>^bR(M752aYoNg~ozu7U7&{(U>{s!;bn#<MSv2DVhKhOZ^&e{Mx0l7LpZ=8J`g+&t zO>f?ItjL^o`e{*EOQHqO;ccnz9hLK5@2cAyw@AaPFL~Cp#02|E|4xeQteNtB7waMs QVCXP-y85}Sb4q9e0GRUFb^rhX literal 0 HcmV?d00001 diff --git a/doc/help/xslt/images/callouts/11.svg b/doc/help/xslt/images/callouts/11.svg new file mode 100644 index 00000000..09a0b2cf --- /dev/null +++ b/doc/help/xslt/images/callouts/11.svg @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 12.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 51448) --> +<!DOCTYPE svg [ + <!ENTITY ns_svg "http://www.w3.org/2000/svg"> + <!ENTITY ns_xlink "http://www.w3.org/1999/xlink"> +]> +<svg version="1.0" id="Layer_1" xmlns="&ns_svg;" xmlns:xlink="&ns_xlink;" width="33" height="33" viewBox="0 0 33 33" + style="overflow:visible;enable-background:new 0 0 33 33;" xml:space="preserve"> +<circle style="stroke:#000000;" cx="16.5" cy="16.5" r="16"/> +<g> + <g style="enable-background:new ;"> + <path style="fill:#FFFFFF;" d="M5.209,10.412h0.48c3.24,0,4.104-1.681,4.176-2.952h2.76V24.5h-3.36V12.764H5.209V10.412z"/> + <path style="fill:#FFFFFF;" d="M18.553,10.412h0.48c3.24,0,4.104-1.681,4.176-2.952h2.76V24.5h-3.359V12.764h-4.056V10.412z"/> + </g> +</g> +</svg> diff --git a/doc/help/xslt/images/callouts/12.gif b/doc/help/xslt/images/callouts/12.gif new file mode 100644 index 0000000000000000000000000000000000000000..54c4b42f1901629a81924c2f0f59338104adeedd GIT binary patch literal 210 zcmZ?wbhEHb<YC}pXpv?B0v;Y7At50tDJgAjZ6hNiD=RA(7Z-nj|KQ-@xVX6F<mBAk z+>(-#rlzKzo}S5*C(oKSYw6OZn>TOXy?ghOBS+4hIdl8=?Z=NFfBN+4-@kwVQGw!5 z7Dh$}c?KP@O+Y&tSp6TUNBM5@Ncv^za9iq?NB~b`s?Q`L(SI(T+y_1#WZ*J!SfIpc y)1^D>K$0MX%p%4Hwu?TqL@qKHD9DJsXySU9#jCf<|A~QyiNVJ`b^kdT8LR=FrC4|X literal 0 HcmV?d00001 diff --git a/doc/help/xslt/images/callouts/12.png b/doc/help/xslt/images/callouts/12.png new file mode 100644 index 0000000000000000000000000000000000000000..31daf4e2f25b6712499ee32de9c2e3b050b691ca GIT binary patch literal 617 zcmeAS@N?(olHy`uVBq!ia0vp^JRr=$1SD^YpWXnZI14-?iy0V%N<f(LUYdLbP>{XE z)7O>#600De9$%>2LVd81Yeb1-X-P(Y5yQ%LXFPyHJS9LOm(=3qqRfJl%=|nCVNOM5 zpg0#u+&RCXvM4h>ql94%{~0TwC?8m~C^ZqJRG}m@H<iKkJ3l8-h7%+coS#-wo>-L1 z5L@scq?{XUcxG{OP9jig5ySQaTl#^*93bKF#G<^+ymW>G($Cs~V(bw8rA5i93}62@ zzlJGu&d<$F%`0K}c4pdspcorSSx9C{PAbEScbC)|7#JBmT^vIy=Cn>wTzx1(qV@bS z0hYvspf(--lM>otrqbK$7p{3DzJ|+KN8%5ows)AI?zWk_n>jwEHXrTJecpEW_0xL= z?}N`*R`T~d2{AN${y8T#GEn4hUb&52^}Op@TW4{oc)A6)%<pkqeEjjnB?>$5=G}h# z?O{QLj@aRcAIf&y&OiUN=H2gq=_}V|pWfuReDV|{jwXw~>#w)I|9$<nsKdPHDvB)( z4|cuF+s@s@;IRC%rCfjJET#y(=_;n0sl^w4E|%8rzn?wpS*2XV_1CNpvOH{i<KFKz z?@~Hm*dpLL$wZz(LnVB5s6^Z4mtX4kOSdITur;h&r8nJs-t$$fno=UCZNB+ty84GW zS77L9fWo4wZhySU(d|r=f=-=HGoI<=b9qayHIK6*%l?3S$NoF~-Ol)cIh$j3X@|eb QE}$L;Pgg&ebxsLQ05&S^(*OVf literal 0 HcmV?d00001 diff --git a/doc/help/xslt/images/callouts/12.svg b/doc/help/xslt/images/callouts/12.svg new file mode 100644 index 00000000..9794044c --- /dev/null +++ b/doc/help/xslt/images/callouts/12.svg @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 12.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 51448) --> +<!DOCTYPE svg [ + <!ENTITY ns_svg "http://www.w3.org/2000/svg"> + <!ENTITY ns_xlink "http://www.w3.org/1999/xlink"> +]> +<svg version="1.0" id="Layer_1" xmlns="&ns_svg;" xmlns:xlink="&ns_xlink;" width="33" height="33" viewBox="0 0 33 33" + style="overflow:visible;enable-background:new 0 0 33 33;" xml:space="preserve"> +<circle style="stroke:#000000;" cx="16.5" cy="16.5" r="16"/> +<g> + <g style="enable-background:new ;"> + <path style="fill:#FFFFFF;" d="M4.813,10.412h0.48c3.24,0,4.104-1.681,4.176-2.952h2.76V24.5h-3.36V12.764H4.813V10.412z"/> + <path style="fill:#FFFFFF;" d="M17.316,13.484c0-5.545,4.056-6.024,5.568-6.024c3.265,0,5.856,1.92,5.856,5.376 + c0,2.928-1.896,4.416-3.553,5.544c-2.256,1.584-3.432,2.353-3.815,3.145h7.392V24.5h-11.64c0.12-1.992,0.264-4.08,3.96-6.768 + c3.072-2.232,4.296-3.097,4.296-5.017c0-1.128-0.72-2.424-2.353-2.424c-2.352,0-2.423,1.944-2.447,3.192H17.316z"/> + </g> +</g> +</svg> diff --git a/doc/help/xslt/images/callouts/13.gif b/doc/help/xslt/images/callouts/13.gif new file mode 100644 index 0000000000000000000000000000000000000000..dd5d7d9b6439affca376bcd60785d528a24ce425 GIT binary patch literal 209 zcmZ?wbhEHb<YC}pXpv?B0&Z?@At51ISy_F3eN$6Y8yg#UcXwZ3-@w4Y=;-Lg#KfGO zoU*dAmX?;TuCB?GCof#MaP#KPJ9g|iapJ_~%a?E6y7lPMqc?BfeEj(F-@kwVQGw!5 z7Dh$}c?KPjO&~iNSp6QT`}rL5N&2Pfa9eAYa!5yGY};hEX>B&V9x4V*B03xgoIf)x xP}6;KaKZ)#6?t!lhL!-83*8xv4m?aeZ4A@2c0{pEJ&`E!<jIdcaUx6%)&Q}PSd;(& literal 0 HcmV?d00001 diff --git a/doc/help/xslt/images/callouts/13.png b/doc/help/xslt/images/callouts/13.png new file mode 100644 index 0000000000000000000000000000000000000000..14021a89c2ed3d4881afea6e3a315bce4f95efce GIT binary patch literal 623 zcmeAS@N?(olHy`uVBq!ia0vp^JRr=$1SD^YpWXnZI14-?iy0V%N<f(LUYdLbP>{XE z)7O>#600Dep5bGK9wD%hYeb1-X-P(Y5yQ%LXFPyHJS9LOm(=3qqRfJl%=|nCVNOM5 zpg0#u+&RCXvM4h>ql94%{~0TwC?8m~C^ZqJRG}m@H<iKkJ3l8-h7%+coS#-wo>-L1 z5L@scq?{XUcxG{OP9jig5ySQaTl#^*93bKF#G<^+ymW>G($Cs~V(bw8rA5i93}62@ zzlJGu&d<$F%`0K}c4pdspcorSSx9C{PAbEScbC)|7#JBmT^vIy=Cn>w>~AWNX^a2R zbkveVY|45D7UnZ&JtjPwvdCCs<Alzfp7)2{9w~d2s4=-7`}gvFiIm9q-3RX8iQQ5C zN%-D#(GCs<!PLlU%Q8blyB3{EGrqlz)zN`l(A0Nx-1?7`uV!5};T04V?9k{^ik!yZ z-u&2N^2rv%V-mCdmM2PVn{>cZp0EA*<G{cvN0Sm~sXdPgy&AXvdF8#AC6iP<&wTz< zwtMHg=xM4A3LI?B2lKYCe*LR%|NHON438dvWSH>0()#GOw<?~~PA`4Ei(%e*^#=aK z23B*=z5be|dc5%1W5eV%8eD-QrLq54-Ok(2@a*%?43k%7yXQUsx$pk_@8+}5?tYiS zylOcxbo4-BQDc`q>)UH4-^&)y^E*4%UC)*|J}q_Ss;tN`nd8$>x9$_Xb^O2EpX&@C ZI46EzbLxq-voTO7gQu&X%Q~loCIF_C`w;*D literal 0 HcmV?d00001 diff --git a/doc/help/xslt/images/callouts/13.svg b/doc/help/xslt/images/callouts/13.svg new file mode 100644 index 00000000..64268bb4 --- /dev/null +++ b/doc/help/xslt/images/callouts/13.svg @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 12.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 51448) --> +<!DOCTYPE svg [ + <!ENTITY ns_svg "http://www.w3.org/2000/svg"> + <!ENTITY ns_xlink "http://www.w3.org/1999/xlink"> +]> +<svg version="1.0" id="Layer_1" xmlns="&ns_svg;" xmlns:xlink="&ns_xlink;" width="33" height="33" viewBox="0 0 33 33" + style="overflow:visible;enable-background:new 0 0 33 33;" xml:space="preserve"> +<circle style="stroke:#000000;" cx="16.5" cy="16.5" r="16"/> +<g> + <g style="enable-background:new ;"> + <path style="fill:#FFFFFF;" d="M3.813,10.412h0.48c3.24,0,4.104-1.681,4.176-2.952h2.76V24.5h-3.36V12.764H3.813V10.412z"/> + <path style="fill:#FFFFFF;" d="M20.611,14.636h0.529c1.008,0,2.855-0.096,2.855-2.304c0-0.624-0.288-2.185-2.137-2.185 + c-2.303,0-2.303,2.185-2.303,2.784h-3.12c0-3.191,1.8-5.472,5.64-5.472c2.279,0,5.279,1.152,5.279,4.752 + c0,1.728-1.08,2.808-2.039,3.24V15.5c0.6,0.168,2.568,1.056,2.568,3.96c0,3.216-2.377,5.496-5.809,5.496 + c-1.607,0-5.928-0.36-5.928-5.688h3.288l-0.024,0.024c0,0.912,0.24,2.976,2.496,2.976c1.344,0,2.52-0.911,2.52-2.808 + c0-2.328-2.256-2.424-3.816-2.424V14.636z"/> + </g> +</g> +</svg> diff --git a/doc/help/xslt/images/callouts/14.gif b/doc/help/xslt/images/callouts/14.gif new file mode 100644 index 0000000000000000000000000000000000000000..3d7a952a310523200521c1fa87b943637b5d1347 GIT binary patch literal 205 zcmZ?wbhEHb<YC}pXpv$70$yHTAt50tDJfG^Q%g%rH#avQAD`&x=!ArX>gwv|=H~A1 z?x|C!&Y3f3>C&Z}Hf`Fwcki)d$4;F(b@l4iTeogKe*F0D+qWM-e*E|E-+v6C_>+Z^ zkwKn82V@h-P6k%52kLdAD!mz@3~xRxVRG8g@v!IkBvpn+%|^iofu1ZH;zuVO=~9sr r<5W2yU@F+%-l|kl%h$jrvB98Ei)orw&!RI?aaY=tCf$Ck$Y2cs9-Uok literal 0 HcmV?d00001 diff --git a/doc/help/xslt/images/callouts/14.png b/doc/help/xslt/images/callouts/14.png new file mode 100644 index 0000000000000000000000000000000000000000..64014b75fe2e84d45ed861974c72462727979360 GIT binary patch literal 411 zcmV;M0c8G(P)<h;3K|Lk000e1NJLTq000aC000aK0ssI2*%!;O00006VoOIv0RI60 z0RN!9r;`8x010qNS#tmY5_13m5_18JBDn_u000McNliru(ghI@10bk)oHzgg0VqjC zK~#90eULq>!ax*-PXaQ9e~6^e1gu=a6a&KSz}bR`+prYG9ayB$BDjWGfIE;t#wl!+ zR3S(jA%y#i_@eOOedXoc%RQe%L;wH~k+s%ZI~)!<=dD%?4MaplaU9QPGski2q3`>r z(}{j@0a$CLl+)={2vLWml*i-oa5#J}DW$gCZB<pv<q`nr{PlXR*Xw@2pXWIdxkXWE zt%D#i#sFxy+ffu1MFHUXd}^%$xR1x9EX&1Wk)|nt-EP<EbZ)ns5Te`d-tTt+?sz=@ zE|TZ@`F!>~Z!(!M#)2St|1_V^0qpmCrBof=Y&NUas@LmfSw=)4B4f;8Fu)(eFsv24 zJzXxBrayquXcR?J<H`9po+Qcjdi6YybIurRc0Qqh_yL28ryr7W9)17-002ovPDHLk FV1h9xuy+6e literal 0 HcmV?d00001 diff --git a/doc/help/xslt/images/callouts/14.svg b/doc/help/xslt/images/callouts/14.svg new file mode 100644 index 00000000..469aa974 --- /dev/null +++ b/doc/help/xslt/images/callouts/14.svg @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 12.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 51448) --> +<!DOCTYPE svg [ + <!ENTITY ns_svg "http://www.w3.org/2000/svg"> + <!ENTITY ns_xlink "http://www.w3.org/1999/xlink"> +]> +<svg version="1.0" id="Layer_1" xmlns="&ns_svg;" xmlns:xlink="&ns_xlink;" width="33" height="33" viewBox="0 0 33 33" + style="overflow:visible;enable-background:new 0 0 33 33;" xml:space="preserve"> +<circle style="stroke:#000000;" cx="16.5" cy="16.5" r="16"/> +<g> + <g style="enable-background:new ;"> + <path style="fill:#FFFFFF;" d="M4.146,10.412h0.48c3.24,0,4.104-1.681,4.176-2.952h2.76V24.5h-3.36V12.764H4.146V10.412z"/> + <path style="fill:#FFFFFF;" d="M28.457,20.732h-1.896V24.5h-3.36v-3.768h-6.72v-2.904L22.746,7.46h3.815v10.656h1.896V20.732z + M23.201,18.116c0-4.128,0.072-6.792,0.072-7.32h-0.048l-4.272,7.32H23.201z"/> + </g> +</g> +</svg> diff --git a/doc/help/xslt/images/callouts/15.gif b/doc/help/xslt/images/callouts/15.gif new file mode 100644 index 0000000000000000000000000000000000000000..1c9183d5bb619eb608a5b7543f042ae7fd18684b GIT binary patch literal 210 zcmZ?wbhEHb<YC}pXpvz60)BpeVPRouX=w!o1!H4lOG`^fM@K(DzmSlS)YR1M?Cj#= z;@aBU=H}*}o}S5*C(oQYbH$1kTefW3vuDqtLx-+hxpMR7%?A%2ynXxj%a<?z{{8!p z1QdU=Ffua8Gw6V90@=yH>i<B!ZkkE&i%<rg2Mg{us5o5KS-(R^$|R?s?ST@PiAMhs zH{rt0h>7h7121rhDKRRXS|PKBUy%7g1c%!6qXjM*TZ@!<7MXS&a1%XU+t0<wU=0BK C2U#Ql literal 0 HcmV?d00001 diff --git a/doc/help/xslt/images/callouts/15.png b/doc/help/xslt/images/callouts/15.png new file mode 100644 index 0000000000000000000000000000000000000000..0d65765fcf13dcfd87914744dec8bda115e4adf1 GIT binary patch literal 640 zcmeAS@N?(olHy`uVBq!ia0vp^JRr=$1SD^YpWXnZI14-?iy0V%N<f(LUYdLbP>{XE z)7O>#600De0j~t#c`vY#Yeb1-X-P(Y5yQ%LXFPyHJS9LOm(=3qqRfJl%=|nCVNOM5 zpg0#u+&RCXvM4h>ql94%{~0TwC?8m~C^ZqJRG}m@H<iKkJ3l8-h7%+coS#-wo>-L1 z5L@scq?{XUcxG{OP9jig5ySQaTl#^*93bKF#G<^+ymW>G($Cs~V(bw8rA5i93}62@ zzlJGu&d<$F%`0K}c4pdspcorSSx9C{PAbEScbC)|7#JBmT^vIy=9Eq_Jl&Ka(%QdX zh{H8O%#_7)Tc@t$mM`p4(Ne7omR*~(>gd8_8AZH{=3ms$Fmzm^yL@_+(#aQQ5>7QW z>3g2fIsH(ugM)!V$x4Rr_+!J_XU%4xbz0aE;^N{m@42Z|@0S@TQ=WbP`TMV5Ok;<| z^Ihv+@6tQ{sciRF9dD7Nr=KobwJJ68zJK$<1Pd9rz%4O)*;}Jzj&~nTGMecz>B%lV zK|`fmIc8mp-h8iSXiGFW=C(L+XH4DRxZQX87^-dLuD>odo6YLT@Sw)dfBEIG)v2@6 zR)%mL7GRj1x-&v&+2q@A%a&h0`Lw7|#(w_!tgT!PoJ|+re`l<i_x$(1#}?af=bo4{ z(FYhh_MouX8r6IJ@$bL)UVq(p*z)<TWe@vvZu<$;SkCoZp0{1QD=8^lYwFjkzlSx~ r7M+W|e)jq2uT{3X3_m#kF6Te4xNglP0gn|xqZmA0{an^LB{Ts5RmK1q literal 0 HcmV?d00001 diff --git a/doc/help/xslt/images/callouts/15.svg b/doc/help/xslt/images/callouts/15.svg new file mode 100644 index 00000000..8202233e --- /dev/null +++ b/doc/help/xslt/images/callouts/15.svg @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 12.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 51448) --> +<!DOCTYPE svg [ + <!ENTITY ns_svg "http://www.w3.org/2000/svg"> + <!ENTITY ns_xlink "http://www.w3.org/1999/xlink"> +]> +<svg version="1.0" id="Layer_1" xmlns="&ns_svg;" xmlns:xlink="&ns_xlink;" width="33" height="33" viewBox="0 0 33 33" + style="overflow:visible;enable-background:new 0 0 33 33;" xml:space="preserve"> +<circle style="stroke:#000000;" cx="16.5" cy="16.5" r="16"/> +<g> + <g style="enable-background:new ;"> + <path style="fill:#FFFFFF;" d="M3.479,11.079h0.48c3.24,0,4.104-1.681,4.176-2.952h2.76v17.04h-3.36V13.43H3.479V11.079z"/> + <path style="fill:#FFFFFF;" d="M19.342,14.943c0.625-0.433,1.392-0.937,3.048-0.937c2.279,0,5.16,1.584,5.16,5.496 + c0,2.328-1.176,6.121-6.192,6.121c-2.664,0-5.376-1.584-5.544-5.016h3.36c0.144,1.391,0.888,2.326,2.376,2.326 + c1.607,0,2.544-1.367,2.544-3.191c0-1.512-0.72-3.047-2.496-3.047c-0.456,0-1.608,0.023-2.256,1.223l-3-0.143l1.176-9.361h9.36 + v2.832h-6.937L19.342,14.943z"/> + </g> +</g> +</svg> diff --git a/doc/help/xslt/images/callouts/16.svg b/doc/help/xslt/images/callouts/16.svg new file mode 100644 index 00000000..01d6bf81 --- /dev/null +++ b/doc/help/xslt/images/callouts/16.svg @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 12.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 51448) --> +<!DOCTYPE svg [ + <!ENTITY ns_svg "http://www.w3.org/2000/svg"> + <!ENTITY ns_xlink "http://www.w3.org/1999/xlink"> +]> +<svg version="1.0" id="Layer_1" xmlns="&ns_svg;" xmlns:xlink="&ns_xlink;" width="33" height="33" viewBox="0 0 33 33" + style="overflow:visible;enable-background:new 0 0 33 33;" xml:space="preserve"> +<circle style="stroke:#000000;" cx="16.5" cy="16.5" r="16"/> +<g> + <g style="enable-background:new ;"> + <path style="fill:#FFFFFF;" d="M3.813,10.412h0.48c3.24,0,4.104-1.681,4.176-2.952h2.76V24.5h-3.36V12.764H3.813V10.412z"/> + <path style="fill:#FFFFFF;" d="M24.309,11.78c-0.097-0.96-0.721-1.633-1.969-1.633c-2.184,0-2.688,2.496-2.808,4.704L19.58,14.9 + c0.456-0.624,1.296-1.416,3.191-1.416c3.529,0,5.209,2.712,5.209,5.256c0,3.72-2.28,6.216-5.568,6.216 + c-5.16,0-6.168-4.32-6.168-8.568c0-3.24,0.432-8.928,6.336-8.928c0.695,0,2.641,0.264,3.48,1.104 + c0.936,0.912,1.271,1.416,1.584,3.217H24.309z M22.172,16.172c-1.271,0-2.568,0.792-2.568,2.928c0,1.849,1.056,3.168,2.664,3.168 + c1.225,0,2.353-0.936,2.353-3.239C24.62,16.868,23.229,16.172,22.172,16.172z"/> + </g> +</g> +</svg> diff --git a/doc/help/xslt/images/callouts/17.svg b/doc/help/xslt/images/callouts/17.svg new file mode 100644 index 00000000..0a04c556 --- /dev/null +++ b/doc/help/xslt/images/callouts/17.svg @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 12.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 51448) --> +<!DOCTYPE svg [ + <!ENTITY ns_svg "http://www.w3.org/2000/svg"> + <!ENTITY ns_xlink "http://www.w3.org/1999/xlink"> +]> +<svg version="1.0" id="Layer_1" xmlns="&ns_svg;" xmlns:xlink="&ns_xlink;" width="33" height="33" viewBox="0 0 33 33" + style="overflow:visible;enable-background:new 0 0 33 33;" xml:space="preserve"> +<circle style="stroke:#000000;" cx="16.5" cy="16.5" r="16"/> +<g> + <g style="enable-background:new ;"> + <path style="fill:#FFFFFF;" d="M3.479,11.079h0.48c3.24,0,4.104-1.681,4.176-2.952h2.76v17.04h-3.36V13.43H3.479V11.079z"/> + <path style="fill:#FFFFFF;" d="M27.838,11.006c-1.631,1.776-5.807,6.816-6.215,14.16h-3.457c0.36-6.816,4.632-12.24,6.072-13.776 + h-8.472l0.072-2.976h12V11.006z"/> + </g> +</g> +</svg> diff --git a/doc/help/xslt/images/callouts/18.svg b/doc/help/xslt/images/callouts/18.svg new file mode 100644 index 00000000..1cb891b3 --- /dev/null +++ b/doc/help/xslt/images/callouts/18.svg @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 12.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 51448) --> +<!DOCTYPE svg [ + <!ENTITY ns_svg "http://www.w3.org/2000/svg"> + <!ENTITY ns_xlink "http://www.w3.org/1999/xlink"> +]> +<svg version="1.0" id="Layer_1" xmlns="&ns_svg;" xmlns:xlink="&ns_xlink;" width="33" height="33" viewBox="0 0 33 33" + style="overflow:visible;enable-background:new 0 0 33 33;" xml:space="preserve"> +<circle style="stroke:#000000;" cx="16.5" cy="16.5" r="16"/> +<g> + <g style="enable-background:new ;"> + <path style="fill:#FFFFFF;" d="M4.813,10.412h0.48c3.24,0,4.104-1.681,4.176-2.952h2.76V24.5h-3.36V12.764H4.813V10.412z"/> + <path style="fill:#FFFFFF;" d="M23.172,24.956c-4.392,0-5.904-2.856-5.904-5.185c0-0.863,0-3.119,2.592-4.319 + c-1.344-0.672-2.064-1.752-2.064-3.336c0-2.904,2.328-4.656,5.304-4.656c3.528,0,5.4,2.088,5.4,4.44 + c0,1.464-0.6,2.712-1.968,3.432c1.632,0.815,2.544,1.896,2.544,4.104C29.076,21.596,27.684,24.956,23.172,24.956z M23.124,16.916 + c-1.224,0-2.4,0.792-2.4,2.64c0,1.632,0.936,2.712,2.472,2.712c1.752,0,2.424-1.512,2.424-2.688 + C25.62,18.38,24.996,16.916,23.124,16.916z M25.284,12.26c0-1.296-0.888-2.112-1.968-2.112c-1.512,0-2.305,0.864-2.305,2.112 + c0,1.008,0.744,2.112,2.185,2.112C24.516,14.372,25.284,13.484,25.284,12.26z"/> + </g> +</g> +</svg> diff --git a/doc/help/xslt/images/callouts/19.svg b/doc/help/xslt/images/callouts/19.svg new file mode 100644 index 00000000..e6fbb179 --- /dev/null +++ b/doc/help/xslt/images/callouts/19.svg @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 12.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 51448) --> +<!DOCTYPE svg [ + <!ENTITY ns_svg "http://www.w3.org/2000/svg"> + <!ENTITY ns_xlink "http://www.w3.org/1999/xlink"> +]> +<svg version="1.0" id="Layer_1" xmlns="&ns_svg;" xmlns:xlink="&ns_xlink;" width="33" height="33" viewBox="0 0 33 33" + style="overflow:visible;enable-background:new 0 0 33 33;" xml:space="preserve"> +<circle style="stroke:#000000;" cx="16.5" cy="16.5" r="16"/> +<g> + <g style="enable-background:new ;"> + <path style="fill:#FFFFFF;" d="M4.146,10.746h0.48c3.24,0,4.104-1.681,4.176-2.952h2.76v17.041h-3.36V13.097H4.146V10.746z"/> + <path style="fill:#FFFFFF;" d="M20.225,20.898v0.023c0.192,1.176,0.936,1.68,1.968,1.68c1.392,0,2.783-1.176,2.808-4.752 + l-0.048-0.049c-0.768,1.152-2.088,1.441-3.24,1.441c-3.264,0-5.16-2.473-5.16-5.329c0-4.176,2.472-6.12,5.808-6.12 + c5.904,0,6,6.36,6,8.76c0,6.601-3.12,8.736-6.192,8.736c-2.904,0-4.992-1.68-5.28-4.391H20.225z M22.434,16.553 + c1.176,0,2.472-0.84,2.472-2.855c0-1.944-0.841-3.145-2.568-3.145c-0.864,0-2.424,0.433-2.424,2.88 + C19.913,16.001,21.161,16.553,22.434,16.553z"/> + </g> +</g> +</svg> diff --git a/doc/help/xslt/images/callouts/2.gif b/doc/help/xslt/images/callouts/2.gif new file mode 100644 index 0000000000000000000000000000000000000000..94d42a30f99b87314127dcd44e6162c2fdf26e6e GIT binary patch literal 907 zcmV;619bdHNk%w1VGIBa0O$Vz000010RaL60s{jB1Ox;H1qB8M1_uWR2nYxX2?+`c z3JVJh3=9kn4Gj(s4i66x5D*X%5fKs+5)%^>6ciK{6%`g178e&67#J8C85tTH8XFrM z92^`S9UUGX9v>ecARr(iAt53nA|oRsBqSsyB_$>%CMPE+C@3f?DJd!{Dl021EG#T7 zEiEoCE-x=HFfcGNF)=bSGBYzXG&D3dH8nOiHa9mnI5;>tIXOByIy*Z%JUl!-Jv}}? zK0iM{KtMo2K|w-7LPJACL_|bIMMXwNMn^|SNJvOYNl8jdN=r*iOiWBoO-)WtPESuy zP*6}&QBhJ-Qd3h?R8&+|RaI72R##V7SXfwDSy@_IT3cINTwGjTU0q&YUSD5dU|?Wj zVPRroVq;@tWMpJzWo2e&W@l$-XlQ6@X=!R|YHMq2Y;0_8ZEbFDZf|dIaBy&OadC2T za&vQYbaZreb#-=jc6WDoczAeud3kzzdV70&e0+R;eSLm@et&;|fPjF3fq{a8f`fyD zgoK2Jg@uNOhKGlTh=_=ZiHVAeii?YjjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z} zm6ev3mY0{8n3$NEnVFiJnwy)OoSdAUot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5( zrl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#p zxVX5vxw*Q!y1To(yu7@<y}iD^zQ4b}z`(%4!NJ19!o$PE#KgqK#l^<P#>dCU$jHda z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1<F+1c9K z+S}XP+}zyV-QC{a-rwKf;Nall;o;)q;^X7v<mBY#<>lt)=I7_<=;-L_>FMg~>g((4 z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg= z{r&#_{{R2~A^8LW0RaC1EC2ui01N;O000PR0RIW3lmh~U9GnCyi~#^ZiVzKBECdk3 z+PQbeAOMias9`B<6z_Eez=$EqJq^9piin`0%NY0OG(^zSrIK^CY9cU6@*c{UBiGy; h6C(zOhK&9(<aDm-Ig}Cw@_eaKU`d)eC@BmG06P*-u}lB} literal 0 HcmV?d00001 diff --git a/doc/help/xslt/images/callouts/2.png b/doc/help/xslt/images/callouts/2.png new file mode 100644 index 0000000000000000000000000000000000000000..5d09341b2f6d2ea2d1d5dad5d980f14b4b05dfd2 GIT binary patch literal 353 zcmeAS@N?(olHy`uVBq!ia0vp^JRr;gBp8b2n5}^nQ<As43j@QdUS%U7uiDeaF{I*_ zY~MoB!v;Jq_9iAeraB^DxMCM?*l<CcgRL#CWz7XaCU0JD*3gsgOR9H$FWqtbTK3!B zJ0Ax>xaY7e*=hH)_rZeB4|imU1$R#1`!P>&$poQl;nzm}mD5ZFopaX|GsS%q*{P~< z;WtmO%lhToBL0i}yfkaOt?EN=nkLNGuU`ywhI5H)L`iUdT1k0gQ7VIjhO(w-Zen_> zZ(@38a<+nro{^q~f~BRtfrY+-p+a&|W^qZSLvCepNoKNMYO!8QX+eHoiC%Jk?!;Y+ zJAlS%fsM;d&r2*R1)67JkeZlkYGj#gX_9E3W@4U_nw*@Ln38B@k(iuhnUeN2e<LqY k7avGh0MJ?nL!$~qBW(k1gO=RgwLlpLPgg&ebxsLQ0Qb~(A^-pY literal 0 HcmV?d00001 diff --git a/doc/help/xslt/images/callouts/2.svg b/doc/help/xslt/images/callouts/2.svg new file mode 100644 index 00000000..07d03395 --- /dev/null +++ b/doc/help/xslt/images/callouts/2.svg @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 12.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 51448) --> +<!DOCTYPE svg [ + <!ENTITY ns_svg "http://www.w3.org/2000/svg"> + <!ENTITY ns_xlink "http://www.w3.org/1999/xlink"> +]> +<svg version="1.0" id="Layer_1" xmlns="&ns_svg;" xmlns:xlink="&ns_xlink;" width="33" height="33" viewBox="0 0 33 33" + style="overflow:visible;enable-background:new 0 0 33 33;" xml:space="preserve"> +<circle style="stroke:#000000;" cx="16.5" cy="16.5" r="16"/> +<g> + <g style="enable-background:new ;"> + <path style="fill:#FFFFFF;" d="M9.668,12.328c0-6.469,4.732-7.028,6.496-7.028c3.808,0,6.833,2.24,6.833,6.271 + c0,3.416-2.213,5.152-4.145,6.469c-2.632,1.848-4.004,2.744-4.452,3.668h8.624v3.472H9.444c0.14-2.324,0.308-4.76,4.62-7.896 + c3.584-2.604,5.012-3.612,5.012-5.853c0-1.315-0.84-2.828-2.744-2.828c-2.744,0-2.828,2.269-2.856,3.725H9.668z"/> + </g> +</g> +</svg> diff --git a/doc/help/xslt/images/callouts/20.svg b/doc/help/xslt/images/callouts/20.svg new file mode 100644 index 00000000..ccbfd403 --- /dev/null +++ b/doc/help/xslt/images/callouts/20.svg @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 12.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 51448) --> +<!DOCTYPE svg [ + <!ENTITY ns_svg "http://www.w3.org/2000/svg"> + <!ENTITY ns_xlink "http://www.w3.org/1999/xlink"> +]> +<svg version="1.0" id="Layer_1" xmlns="&ns_svg;" xmlns:xlink="&ns_xlink;" width="33" height="33" viewBox="0 0 33 33" + style="overflow:visible;enable-background:new 0 0 33 33;" xml:space="preserve"> +<circle style="stroke:#000000;" cx="16.5" cy="16.5" r="16"/> +<g> + <g style="enable-background:new ;"> + <path style="fill:#FFFFFF;" d="M3.972,13.484c0-5.545,4.056-6.024,5.568-6.024c3.264,0,5.856,1.92,5.856,5.376 + c0,2.928-1.896,4.416-3.552,5.544c-2.256,1.584-3.432,2.353-3.816,3.145h7.392V24.5H3.78c0.12-1.992,0.264-4.08,3.96-6.768 + c3.072-2.232,4.296-3.097,4.296-5.017c0-1.128-0.72-2.424-2.352-2.424c-2.352,0-2.424,1.944-2.448,3.192H3.972z"/> + <path style="fill:#FFFFFF;" d="M23.172,7.46c4.008,0,5.904,2.76,5.904,8.736c0,5.976-1.896,8.76-5.904,8.76 + s-5.904-2.784-5.904-8.76C17.268,10.22,19.164,7.46,23.172,7.46z M23.172,22.268c1.92,0,2.448-1.68,2.448-6.071 + c0-4.393-0.528-6.049-2.448-6.049s-2.448,1.656-2.448,6.049C20.724,20.588,21.252,22.268,23.172,22.268z"/> + </g> +</g> +</svg> diff --git a/doc/help/xslt/images/callouts/21.svg b/doc/help/xslt/images/callouts/21.svg new file mode 100644 index 00000000..93ec53fd --- /dev/null +++ b/doc/help/xslt/images/callouts/21.svg @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 12.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 51448) --> +<!DOCTYPE svg [ + <!ENTITY ns_svg "http://www.w3.org/2000/svg"> + <!ENTITY ns_xlink "http://www.w3.org/1999/xlink"> +]> +<svg version="1.0" id="Layer_1" xmlns="&ns_svg;" xmlns:xlink="&ns_xlink;" width="33" height="33" viewBox="0 0 33 33" + style="overflow:visible;enable-background:new 0 0 33 33;" xml:space="preserve"> +<circle style="stroke:#000000;" cx="16.5" cy="16.5" r="16"/> +<g> + <g style="enable-background:new ;"> + <path style="fill:#FFFFFF;" d="M5.306,13.151c0-5.545,4.056-6.024,5.568-6.024c3.264,0,5.856,1.92,5.856,5.376 + c0,2.928-1.896,4.416-3.552,5.544c-2.256,1.584-3.432,2.353-3.816,3.145h7.392v2.976H5.114c0.12-1.992,0.264-4.08,3.96-6.768 + c3.072-2.232,4.296-3.097,4.296-5.017c0-1.128-0.72-2.424-2.352-2.424c-2.352,0-2.424,1.944-2.448,3.192H5.306z"/> + <path style="fill:#FFFFFF;" d="M19.49,10.079h0.48c3.239,0,4.104-1.681,4.176-2.952h2.761v17.04h-3.361V12.431H19.49V10.079z"/> + </g> +</g> +</svg> diff --git a/doc/help/xslt/images/callouts/22.svg b/doc/help/xslt/images/callouts/22.svg new file mode 100644 index 00000000..f48c5f3f --- /dev/null +++ b/doc/help/xslt/images/callouts/22.svg @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 12.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 51448) --> +<!DOCTYPE svg [ + <!ENTITY ns_svg "http://www.w3.org/2000/svg"> + <!ENTITY ns_xlink "http://www.w3.org/1999/xlink"> +]> +<svg version="1.0" id="Layer_1" xmlns="&ns_svg;" xmlns:xlink="&ns_xlink;" width="33" height="33" viewBox="0 0 33 33" + style="overflow:visible;enable-background:new 0 0 33 33;" xml:space="preserve"> +<circle style="stroke:#000000;" cx="16.5" cy="16.5" r="16"/> +<g> + <g style="enable-background:new ;"> + <path style="fill:#FFFFFF;" d="M3.972,13.484c0-5.545,4.056-6.024,5.568-6.024c3.264,0,5.856,1.92,5.856,5.376 + c0,2.928-1.896,4.416-3.552,5.544c-2.256,1.584-3.432,2.353-3.816,3.145h7.392V24.5H3.78c0.12-1.992,0.264-4.08,3.96-6.768 + c3.072-2.232,4.296-3.097,4.296-5.017c0-1.128-0.72-2.424-2.352-2.424c-2.352,0-2.424,1.944-2.448,3.192H3.972z"/> + <path style="fill:#FFFFFF;" d="M17.316,13.484c0-5.545,4.056-6.024,5.568-6.024c3.265,0,5.856,1.92,5.856,5.376 + c0,2.928-1.896,4.416-3.553,5.544c-2.256,1.584-3.432,2.353-3.815,3.145h7.392V24.5h-11.64c0.12-1.992,0.264-4.08,3.96-6.768 + c3.072-2.232,4.296-3.097,4.296-5.017c0-1.128-0.72-2.424-2.353-2.424c-2.352,0-2.423,1.944-2.447,3.192H17.316z"/> + </g> +</g> +</svg> diff --git a/doc/help/xslt/images/callouts/23.svg b/doc/help/xslt/images/callouts/23.svg new file mode 100644 index 00000000..66242129 --- /dev/null +++ b/doc/help/xslt/images/callouts/23.svg @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 12.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 51448) --> +<!DOCTYPE svg [ + <!ENTITY ns_svg "http://www.w3.org/2000/svg"> + <!ENTITY ns_xlink "http://www.w3.org/1999/xlink"> +]> +<svg version="1.0" id="Layer_1" xmlns="&ns_svg;" xmlns:xlink="&ns_xlink;" width="33" height="33" viewBox="0 0 33 33" + style="overflow:visible;enable-background:new 0 0 33 33;" xml:space="preserve"> +<circle style="stroke:#000000;" cx="16.5" cy="16.5" r="16"/> +<g> + <g style="enable-background:new ;"> + <path style="fill:#FFFFFF;" d="M3.972,13.484c0-5.545,4.056-6.024,5.568-6.024c3.264,0,5.856,1.92,5.856,5.376 + c0,2.928-1.896,4.416-3.552,5.544c-2.256,1.584-3.432,2.353-3.816,3.145h7.392V24.5H3.78c0.12-1.992,0.264-4.08,3.96-6.768 + c3.072-2.232,4.296-3.097,4.296-5.017c0-1.128-0.72-2.424-2.352-2.424c-2.352,0-2.424,1.944-2.448,3.192H3.972z"/> + <path style="fill:#FFFFFF;" d="M21.612,14.636h0.528c1.008,0,2.855-0.096,2.855-2.304c0-0.624-0.287-2.185-2.136-2.185 + c-2.304,0-2.304,2.185-2.304,2.784h-3.12c0-3.191,1.8-5.472,5.64-5.472c2.28,0,5.28,1.152,5.28,4.752 + c0,1.728-1.08,2.808-2.04,3.24V15.5c0.6,0.168,2.568,1.056,2.568,3.96c0,3.216-2.377,5.496-5.809,5.496 + c-1.607,0-5.928-0.36-5.928-5.688h3.288l-0.024,0.024c0,0.912,0.24,2.976,2.496,2.976c1.344,0,2.521-0.911,2.521-2.808 + c0-2.328-2.257-2.424-3.816-2.424V14.636z"/> + </g> +</g> +</svg> diff --git a/doc/help/xslt/images/callouts/24.svg b/doc/help/xslt/images/callouts/24.svg new file mode 100644 index 00000000..a3d55253 --- /dev/null +++ b/doc/help/xslt/images/callouts/24.svg @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 12.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 51448) --> +<!DOCTYPE svg [ + <!ENTITY ns_svg "http://www.w3.org/2000/svg"> + <!ENTITY ns_xlink "http://www.w3.org/1999/xlink"> +]> +<svg version="1.0" id="Layer_1" xmlns="&ns_svg;" xmlns:xlink="&ns_xlink;" width="33" height="33" viewBox="0 0 33 33" + style="overflow:visible;enable-background:new 0 0 33 33;" xml:space="preserve"> +<circle style="stroke:#000000;" cx="16.5" cy="16.5" r="16"/> +<g> + <g style="enable-background:new ;"> + <path style="fill:#FFFFFF;" d="M4.972,13.484c0-5.545,4.056-6.024,5.568-6.024c3.264,0,5.856,1.92,5.856,5.376 + c0,2.928-1.896,4.416-3.552,5.544c-2.256,1.584-3.432,2.353-3.816,3.145h7.392V24.5H4.78c0.12-1.992,0.264-4.08,3.96-6.768 + c3.072-2.232,4.296-3.097,4.296-5.017c0-1.128-0.72-2.424-2.352-2.424c-2.352,0-2.424,1.944-2.448,3.192H4.972z"/> + <path style="fill:#FFFFFF;" d="M30.124,20.732h-1.896V24.5h-3.36v-3.768h-6.72v-2.904L24.412,7.46h3.816v10.656h1.896V20.732z + M24.868,18.116c0-4.128,0.071-6.792,0.071-7.32h-0.047l-4.272,7.32H24.868z"/> + </g> +</g> +</svg> diff --git a/doc/help/xslt/images/callouts/25.svg b/doc/help/xslt/images/callouts/25.svg new file mode 100644 index 00000000..56614a97 --- /dev/null +++ b/doc/help/xslt/images/callouts/25.svg @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 12.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 51448) --> +<!DOCTYPE svg [ + <!ENTITY ns_svg "http://www.w3.org/2000/svg"> + <!ENTITY ns_xlink "http://www.w3.org/1999/xlink"> +]> +<svg version="1.0" id="Layer_1" xmlns="&ns_svg;" xmlns:xlink="&ns_xlink;" width="33" height="33" viewBox="0 0 33 33" + style="overflow:visible;enable-background:new 0 0 33 33;" xml:space="preserve"> +<circle style="stroke:#000000;" cx="16.5" cy="16.5" r="16"/> +<g> + <g style="enable-background:new ;"> + <path style="fill:#FFFFFF;" d="M3.972,13.484c0-5.545,4.056-6.024,5.568-6.024c3.264,0,5.856,1.92,5.856,5.376 + c0,2.928-1.896,4.416-3.552,5.544c-2.256,1.584-3.432,2.353-3.816,3.145h7.392V24.5H3.78c0.12-1.992,0.264-4.08,3.96-6.768 + c3.072-2.232,4.296-3.097,4.296-5.017c0-1.128-0.72-2.424-2.352-2.424c-2.352,0-2.424,1.944-2.448,3.192H3.972z"/> + <path style="fill:#FFFFFF;" d="M20.676,14.276c0.624-0.433,1.393-0.937,3.049-0.937c2.279,0,5.16,1.584,5.16,5.496 + c0,2.328-1.177,6.12-6.193,6.12c-2.664,0-5.375-1.584-5.543-5.016h3.36c0.144,1.392,0.889,2.327,2.376,2.327 + c1.608,0,2.544-1.367,2.544-3.191c0-1.513-0.72-3.048-2.496-3.048c-0.455,0-1.607,0.023-2.256,1.224l-3-0.144l1.176-9.36h9.36 + v2.832h-6.937L20.676,14.276z"/> + </g> +</g> +</svg> diff --git a/doc/help/xslt/images/callouts/26.svg b/doc/help/xslt/images/callouts/26.svg new file mode 100644 index 00000000..56faeaca --- /dev/null +++ b/doc/help/xslt/images/callouts/26.svg @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 12.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 51448) --> +<!DOCTYPE svg [ + <!ENTITY ns_svg "http://www.w3.org/2000/svg"> + <!ENTITY ns_xlink "http://www.w3.org/1999/xlink"> +]> +<svg version="1.0" id="Layer_1" xmlns="&ns_svg;" xmlns:xlink="&ns_xlink;" width="33" height="33" viewBox="0 0 33 33" + style="overflow:visible;enable-background:new 0 0 33 33;" xml:space="preserve"> +<circle style="stroke:#000000;" cx="16.5" cy="16.5" r="16"/> +<g> + <g style="enable-background:new ;"> + <path style="fill:#FFFFFF;" d="M3.972,13.484c0-5.545,4.056-6.024,5.568-6.024c3.264,0,5.856,1.92,5.856,5.376 + c0,2.928-1.896,4.416-3.552,5.544c-2.256,1.584-3.432,2.353-3.816,3.145h7.392V24.5H3.78c0.12-1.992,0.264-4.08,3.96-6.768 + c3.072-2.232,4.296-3.097,4.296-5.017c0-1.128-0.72-2.424-2.352-2.424c-2.352,0-2.424,1.944-2.448,3.192H3.972z"/> + <path style="fill:#FFFFFF;" d="M25.309,11.78c-0.097-0.96-0.721-1.633-1.969-1.633c-2.184,0-2.688,2.496-2.808,4.704L20.58,14.9 + c0.456-0.624,1.296-1.416,3.191-1.416c3.529,0,5.209,2.712,5.209,5.256c0,3.72-2.28,6.216-5.568,6.216 + c-5.16,0-6.168-4.32-6.168-8.568c0-3.24,0.432-8.928,6.336-8.928c0.695,0,2.641,0.264,3.48,1.104 + c0.936,0.912,1.271,1.416,1.584,3.217H25.309z M23.172,16.172c-1.271,0-2.568,0.792-2.568,2.928c0,1.849,1.056,3.168,2.664,3.168 + c1.225,0,2.353-0.936,2.353-3.239C25.62,16.868,24.229,16.172,23.172,16.172z"/> + </g> +</g> +</svg> diff --git a/doc/help/xslt/images/callouts/27.svg b/doc/help/xslt/images/callouts/27.svg new file mode 100644 index 00000000..a75c8121 --- /dev/null +++ b/doc/help/xslt/images/callouts/27.svg @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 12.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 51448) --> +<!DOCTYPE svg [ + <!ENTITY ns_svg "http://www.w3.org/2000/svg"> + <!ENTITY ns_xlink "http://www.w3.org/1999/xlink"> +]> +<svg version="1.0" id="Layer_1" xmlns="&ns_svg;" xmlns:xlink="&ns_xlink;" width="33" height="33" viewBox="0 0 33 33" + style="overflow:visible;enable-background:new 0 0 33 33;" xml:space="preserve"> +<circle style="stroke:#000000;" cx="16.5" cy="16.5" r="16"/> +<g> + <g style="enable-background:new ;"> + <path style="fill:#FFFFFF;" d="M3.972,13.484c0-5.545,4.056-6.024,5.568-6.024c3.264,0,5.856,1.92,5.856,5.376 + c0,2.928-1.896,4.416-3.552,5.544c-2.256,1.584-3.432,2.353-3.816,3.145h7.392V24.5H3.78c0.12-1.992,0.264-4.08,3.96-6.768 + c3.072-2.232,4.296-3.097,4.296-5.017c0-1.128-0.72-2.424-2.352-2.424c-2.352,0-2.424,1.944-2.448,3.192H3.972z"/> + <path style="fill:#FFFFFF;" d="M29.172,10.34c-1.632,1.776-5.808,6.816-6.216,14.16H19.5c0.36-6.816,4.632-12.24,6.072-13.776 + H17.1l0.072-2.976h12V10.34z"/> + </g> +</g> +</svg> diff --git a/doc/help/xslt/images/callouts/28.svg b/doc/help/xslt/images/callouts/28.svg new file mode 100644 index 00000000..7f8cf1a3 --- /dev/null +++ b/doc/help/xslt/images/callouts/28.svg @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 12.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 51448) --> +<!DOCTYPE svg [ + <!ENTITY ns_svg "http://www.w3.org/2000/svg"> + <!ENTITY ns_xlink "http://www.w3.org/1999/xlink"> +]> +<svg version="1.0" id="Layer_1" xmlns="&ns_svg;" xmlns:xlink="&ns_xlink;" width="33" height="33" viewBox="0 0 33 33" + style="overflow:visible;enable-background:new 0 0 33 33;" xml:space="preserve"> +<circle style="stroke:#000000;" cx="16.5" cy="16.5" r="16"/> +<g> + <g style="enable-background:new ;"> + <path style="fill:#FFFFFF;" d="M3.972,13.484c0-5.545,4.056-6.024,5.568-6.024c3.264,0,5.856,1.92,5.856,5.376 + c0,2.928-1.896,4.416-3.552,5.544c-2.256,1.584-3.432,2.353-3.816,3.145h7.392V24.5H3.78c0.12-1.992,0.264-4.08,3.96-6.768 + c3.072-2.232,4.296-3.097,4.296-5.017c0-1.128-0.72-2.424-2.352-2.424c-2.352,0-2.424,1.944-2.448,3.192H3.972z"/> + <path style="fill:#FFFFFF;" d="M23.172,24.956c-4.392,0-5.904-2.856-5.904-5.185c0-0.863,0-3.119,2.592-4.319 + c-1.344-0.672-2.064-1.752-2.064-3.336c0-2.904,2.328-4.656,5.304-4.656c3.528,0,5.4,2.088,5.4,4.44 + c0,1.464-0.6,2.712-1.968,3.432c1.632,0.815,2.544,1.896,2.544,4.104C29.076,21.596,27.684,24.956,23.172,24.956z M23.124,16.916 + c-1.224,0-2.4,0.792-2.4,2.64c0,1.632,0.936,2.712,2.472,2.712c1.752,0,2.424-1.512,2.424-2.688 + C25.62,18.38,24.996,16.916,23.124,16.916z M25.284,12.26c0-1.296-0.888-2.112-1.968-2.112c-1.512,0-2.305,0.864-2.305,2.112 + c0,1.008,0.744,2.112,2.185,2.112C24.516,14.372,25.284,13.484,25.284,12.26z"/> + </g> +</g> +</svg> diff --git a/doc/help/xslt/images/callouts/29.svg b/doc/help/xslt/images/callouts/29.svg new file mode 100644 index 00000000..cb63adf1 --- /dev/null +++ b/doc/help/xslt/images/callouts/29.svg @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 12.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 51448) --> +<!DOCTYPE svg [ + <!ENTITY ns_svg "http://www.w3.org/2000/svg"> + <!ENTITY ns_xlink "http://www.w3.org/1999/xlink"> +]> +<svg version="1.0" id="Layer_1" xmlns="&ns_svg;" xmlns:xlink="&ns_xlink;" width="33" height="33" viewBox="0 0 33 33" + style="overflow:visible;enable-background:new 0 0 33 33;" xml:space="preserve"> +<circle style="stroke:#000000;" cx="16.5" cy="16.5" r="16"/> +<g> + <g style="enable-background:new ;"> + <path style="fill:#FFFFFF;" d="M3.972,13.484c0-5.545,4.056-6.024,5.568-6.024c3.264,0,5.856,1.92,5.856,5.376 + c0,2.928-1.896,4.416-3.552,5.544c-2.256,1.584-3.432,2.353-3.816,3.145h7.392V24.5H3.78c0.12-1.992,0.264-4.08,3.96-6.768 + c3.072-2.232,4.296-3.097,4.296-5.017c0-1.128-0.72-2.424-2.352-2.424c-2.352,0-2.424,1.944-2.448,3.192H3.972z"/> + <path style="fill:#FFFFFF;" d="M20.893,20.564v0.023c0.191,1.176,0.936,1.68,1.967,1.68c1.393,0,2.785-1.176,2.809-4.752 + l-0.048-0.048c-0.769,1.152-2.088,1.44-3.24,1.44c-3.264,0-5.16-2.473-5.16-5.328c0-4.176,2.472-6.12,5.807-6.12 + c5.904,0,6.001,6.36,6.001,8.76c0,6.601-3.12,8.736-6.192,8.736c-2.904,0-4.992-1.68-5.28-4.392H20.893z M23.1,16.22 + c1.176,0,2.473-0.84,2.473-2.855c0-1.944-0.84-3.145-2.568-3.145c-0.863,0-2.424,0.433-2.424,2.88 + C20.58,15.668,21.828,16.22,23.1,16.22z"/> + </g> +</g> +</svg> diff --git a/doc/help/xslt/images/callouts/3.gif b/doc/help/xslt/images/callouts/3.gif new file mode 100644 index 0000000000000000000000000000000000000000..dd3541a1bc25307e41416082525903a2337a2a43 GIT binary patch literal 914 zcmV;D18w|ANk%w1VGIBa0O$Vz000010RaL60s{jB1Ox;H1qB8M1_uWR2nYxX2?+`c z3JVJh3=9kn4Gj(s4i66x5D*X%5fKs+5)%^>6ciK{6%`g178e&67#J8C85tTH8XFrM z92^`S9UUGX9v>ecARr(iAt53nA|oRsBqSsyB_$>%CMPE+C@3f?DJd!{Dl021EG#T7 zEiEoCE-x=HFfcGNF)=bSGBYzXG&D3dH8nOiHa9mnI5;>tIXOByIy*Z%JUl!-Jv}}? zK0iM{KtMo2K|w-7LPJACL_|bIMMXwNMn^|SNJvOYNl8jdN=r*iOiWBoO-)WtPESuy zP*6}&QBhJ-Qd3h?R8&+|RaI72R##V7SXfwDSy@_IT3cINTwGjTU0q&YUSD5dU|?Wj zVPRroVq;@tWMpJzWo2e&W@l$-XlQ6@X=!R|YHMq2Y;0_8ZEbFDZf|dIaBy&OadC2T za&vQYbaZreb#-=jc6WDoczAeud3kzzdV70&e0+R;eSLm@et&;|fPjF3fq{a8f`fyD zgoK2Jg@uNOhKGlTh=_=ZiHVAeii?YjjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z} zm6ev3mY0{8n3$NEnVFiJnwy)OoSdAUot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5( zrl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#p zxVX5vxw*Q!y1To(yu7@<y}iD^zQ4b}z`(%4!NJ19!o$PE#KgqK#l^<P#>dCU$jHda z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1<F+1c9K z+S}XP+}zyV-QC{a-rwKf;Nall;o;)q;^X7v<mBY#<>lt)=I7_<=;-L_>FMg~>g((4 z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg= z{r&#_{{R2~A^8LW0Ra90EC2ui01N;O000PY0R0K1lmh~U9GnCyi~#^ajvNR8#8?Ob zf;Vg4oI#N2j}ZU>bIu`v@NdmWMhq*as95r2jEElrv^r-ECIXlrbBwuXvSCUs9sxM3 o<uWLvcQJCjBXrUqLkO+z-D?$bqQI36V_H>+a%2oj3IhTFJI8abOaK4? literal 0 HcmV?d00001 diff --git a/doc/help/xslt/images/callouts/3.png b/doc/help/xslt/images/callouts/3.png new file mode 100644 index 0000000000000000000000000000000000000000..ef7b70047158970cf4e09f1bab2954d39c2d596b GIT binary patch literal 350 zcmeAS@N?(olHy`uVBq!ia0vp^JRr;gBp8b2n5}^nQ<As43j@QdUS%U7ufo&CF{I*_ zs^4nS!wx*cCSRl)+v1jPG1#CjBFFQFi+#6SLc)r~1q-#8t4+IinLl*r&Q<lBxJ20s z#Un&6EqGq|j?0_pf#{;GO&1tq3xr=CoL%_g^!y*j*VU%jzPP<#S6O2E&#&(q`sU3H zw%V0+F!xQ+IZ3rF>F0kK0(Y1u|9Rc(19XFPiEBhjaDG}zd16s2gM)^$re|(qda7?? zdS-IAf{C7yo`r&?rM`iMzJZ}aa#3b+Nu@(>WpPPnvR-PjUP@^}eqM=Qa(?c_U5Yz^ z#%Y0#%S_KpEGY$=XJL?(l#*y<Ze*5{l9-%ok(gwWXkeITYMGL1l$w;1#POG}6sU_2 iq$>buErX#^g`ttQfwn<Q?(SNk41=eupUXO@geCwT(|9KU literal 0 HcmV?d00001 diff --git a/doc/help/xslt/images/callouts/3.svg b/doc/help/xslt/images/callouts/3.svg new file mode 100644 index 00000000..918be806 --- /dev/null +++ b/doc/help/xslt/images/callouts/3.svg @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 12.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 51448) --> +<!DOCTYPE svg [ + <!ENTITY ns_svg "http://www.w3.org/2000/svg"> + <!ENTITY ns_xlink "http://www.w3.org/1999/xlink"> +]> +<svg version="1.0" id="Layer_1" xmlns="&ns_svg;" xmlns:xlink="&ns_xlink;" width="33" height="33" viewBox="0 0 33 33" + style="overflow:visible;enable-background:new 0 0 33 33;" xml:space="preserve"> +<circle style="stroke:#000000;" cx="16.5" cy="16.5" r="16"/> +<g> + <g style="enable-background:new ;"> + <path style="fill:#FFFFFF;" d="M15.127,14.005h0.616c1.176,0,3.332-0.112,3.332-2.688c0-0.728-0.336-2.548-2.492-2.548 + c-2.688,0-2.688,2.548-2.688,3.248h-3.64c0-3.724,2.1-6.384,6.58-6.384c2.66,0,6.16,1.344,6.16,5.544 + c0,2.016-1.261,3.276-2.38,3.78v0.056c0.699,0.196,2.996,1.232,2.996,4.62c0,3.752-2.772,6.412-6.776,6.412 + c-1.876,0-6.916-0.42-6.916-6.636h3.836l-0.028,0.027c0,1.064,0.28,3.473,2.912,3.473c1.568,0,2.94-1.064,2.94-3.276 + c0-2.716-2.632-2.828-4.452-2.828V14.005z"/> + </g> +</g> +</svg> diff --git a/doc/help/xslt/images/callouts/30.svg b/doc/help/xslt/images/callouts/30.svg new file mode 100644 index 00000000..dc43ba1e --- /dev/null +++ b/doc/help/xslt/images/callouts/30.svg @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 12.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 51448) --> +<!DOCTYPE svg [ + <!ENTITY ns_svg "http://www.w3.org/2000/svg"> + <!ENTITY ns_xlink "http://www.w3.org/1999/xlink"> +]> +<svg version="1.0" id="Layer_1" xmlns="&ns_svg;" xmlns:xlink="&ns_xlink;" width="33" height="33" viewBox="0 0 33 33" + style="overflow:visible;enable-background:new 0 0 33 33;" xml:space="preserve"> +<circle style="stroke:#000000;" cx="16.5" cy="16.5" r="16"/> +<g> + <g style="enable-background:new ;"> + <path style="fill:#FFFFFF;" d="M8.268,14.636h0.528c1.008,0,2.856-0.096,2.856-2.304c0-0.624-0.288-2.185-2.136-2.185 + c-2.304,0-2.304,2.185-2.304,2.784h-3.12c0-3.191,1.8-5.472,5.64-5.472c2.28,0,5.28,1.152,5.28,4.752 + c0,1.728-1.08,2.808-2.04,3.24V15.5c0.6,0.168,2.568,1.056,2.568,3.96c0,3.216-2.376,5.496-5.808,5.496 + c-1.608,0-5.928-0.36-5.928-5.688h3.288l-0.024,0.024c0,0.912,0.24,2.976,2.496,2.976c1.344,0,2.52-0.911,2.52-2.808 + c0-2.328-2.256-2.424-3.816-2.424V14.636z"/> + <path style="fill:#FFFFFF;" d="M23.172,7.46c4.008,0,5.904,2.76,5.904,8.736c0,5.976-1.896,8.76-5.904,8.76 + s-5.904-2.784-5.904-8.76C17.268,10.22,19.164,7.46,23.172,7.46z M23.172,22.268c1.92,0,2.448-1.68,2.448-6.071 + c0-4.393-0.528-6.049-2.448-6.049s-2.448,1.656-2.448,6.049C20.724,20.588,21.252,22.268,23.172,22.268z"/> + </g> +</g> +</svg> diff --git a/doc/help/xslt/images/callouts/4.gif b/doc/help/xslt/images/callouts/4.gif new file mode 100644 index 0000000000000000000000000000000000000000..4bcbf7e31a17497e65fa0ccc9756961130be6ac7 GIT binary patch literal 907 zcmV;619bdHNk%w1VGIBa0O$Vz000010RaL60s{jB1Ox;H1qB8M1_uWR2nYxX2?+`c z3JVJh3=9kn4Gj(s4i66x5D*X%5fKs+5)%^>6ciK{6%`g178e&67#J8C85tTH8XFrM z92^`S9UUGX9v>ecARr(iAt53nA|oRsBqSsyB_$>%CMPE+C@3f?DJd!{Dl021EG#T7 zEiEoCE-x=HFfcGNF)=bSGBYzXG&D3dH8nOiHa9mnI5;>tIXOByIy*Z%JUl!-Jv}}? zK0iM{KtMo2K|w-7LPJACL_|bIMMXwNMn^|SNJvOYNl8jdN=r*iOiWBoO-)WtPESuy zP*6}&QBhJ-Qd3h?R8&+|RaI72R##V7SXfwDSy@_IT3cINTwGjTU0q&YUSD5dU|?Wj zVPRroVq;@tWMpJzWo2e&W@l$-XlQ6@X=!R|YHMq2Y;0_8ZEbFDZf|dIaBy&OadC2T za&vQYbaZreb#-=jc6WDoczAeud3kzzdV70&e0+R;eSLm@et&;|fPjF3fq{a8f`fyD zgoK2Jg@uNOhKGlTh=_=ZiHVAeii?YjjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z} zm6ev3mY0{8n3$NEnVFiJnwy)OoSdAUot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5( zrl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#p zxVX5vxw*Q!y1To(yu7@<y}iD^zQ4b}z`(%4!NJ19!o$PE#KgqK#l^<P#>dCU$jHda z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1<F+1c9K z+S}XP+}zyV-QC{a-rwKf;Nall;o;)q;^X7v<mBY#<>lt)=I7_<=;-L_>FMg~>g((4 z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg= z{r&#_{{R2~A^8LW0Ra90EC2ui01N;O000PR0R0JUB_%})C8Y!^R05!33J3slENlos z$-g-bCAOjn;oL=vlo&Q_Rq7qahA}WS)N&5Oy^{bCs0?8;#XUwUV=^4`uV>FvD1lN0 h@RA}Ue>sMFTjNk+(xCuSC=|#k1_T5#jtUG206WA?slNaK literal 0 HcmV?d00001 diff --git a/doc/help/xslt/images/callouts/4.png b/doc/help/xslt/images/callouts/4.png new file mode 100644 index 0000000000000000000000000000000000000000..adb8364eb5d21ecdd4086e16110b62ddcb42aa4a GIT binary patch literal 345 zcmeAS@N?(olHy`uVBq!ia0vp^JRr;gBp8b2n5}^nQ<As43j@QdUS%VYpr?ytNX0GL zUPYl+0|95{iBls|Qd8FlbRJQf7_<1(>3r>K)tuC)r#2`iJ>Prt42#Ndx#Uc~1)>aw z3jE@Q4|!9Z%lVv}<iEVg^%4quAaPKo`?T5njMAwhb3$fi)!D?aJ+$e`&YIH)e$M>- zc=48cF7H)t`(Ck`^+mtha~Np7bBSw2NpOBzNqJ&XDuaWDvZiNlVtT4?VtQtBwt|VC zk)DNurKP@sg}#BILUK`NaY>~^Ze?*vX0l#tv0h4PL4IC|UUGi!#9fLzfW~Qojmu2W zODrh`nrE42VU(7fm~5G9U~HM3l#*m_WNcxOXkuz<Xl!JXX4<g(M;TBTA4pdK&{_sV bqY6VKZ3AtCmfYR7Kp6&4S3j3^P6<r_d?9q` literal 0 HcmV?d00001 diff --git a/doc/help/xslt/images/callouts/4.svg b/doc/help/xslt/images/callouts/4.svg new file mode 100644 index 00000000..8eb6a53b --- /dev/null +++ b/doc/help/xslt/images/callouts/4.svg @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 12.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 51448) --> +<!DOCTYPE svg [ + <!ENTITY ns_svg "http://www.w3.org/2000/svg"> + <!ENTITY ns_xlink "http://www.w3.org/1999/xlink"> +]> +<svg version="1.0" id="Layer_1" xmlns="&ns_svg;" xmlns:xlink="&ns_xlink;" width="33" height="33" viewBox="0 0 33 33" + style="overflow:visible;enable-background:new 0 0 33 33;" xml:space="preserve"> +<circle style="stroke:#000000;" cx="16.5" cy="16.5" r="16"/> +<g> + <g style="enable-background:new ;"> + <path style="fill:#FFFFFF;" d="M21.891,20.784h-2.212v4.396h-3.92v-4.396h-7.84v-3.389L15.227,5.3h4.452v12.432h2.212V20.784z + M15.759,17.731c0-4.815,0.084-7.924,0.084-8.54h-0.056l-4.984,8.54H15.759z"/> + </g> +</g> +</svg> diff --git a/doc/help/xslt/images/callouts/5.gif b/doc/help/xslt/images/callouts/5.gif new file mode 100644 index 0000000000000000000000000000000000000000..1c62b4f920936c063c93d8551158a80500dfefbe GIT binary patch literal 916 zcmV;F18e+8Nk%w1VGIBa0O$Vz000010RaL60s{jB1Ox;H1qB8M1_uWR2nYxX2?+`c z3JVJh3=9kn4Gj(s4i66x5D*X%5fKs+5)%^>6ciK{6%`g178e&67#J8C85tTH8XFrM z92^`S9UUGX9v>ecARr(iAt53nA|oRsBqSsyB_$>%CMPE+C@3f?DJd!{Dl021EG#T7 zEiEoCE-x=HFfcGNF)=bSGBYzXG&D3dH8nOiHa9mnI5;>tIXOByIy*Z%JUl!-Jv}}? zK0iM{KtMo2K|w-7LPJACL_|bIMMXwNMn^|SNJvOYNl8jdN=r*iOiWBoO-)WtPESuy zP*6}&QBhJ-Qd3h?R8&+|RaI72R##V7SXfwDSy@_IT3cINTwGjTU0q&YUSD5dU|?Wj zVPRroVq;@tWMpJzWo2e&W@l$-XlQ6@X=!R|YHMq2Y;0_8ZEbFDZf|dIaBy&OadC2T za&vQYbaZreb#-=jc6WDoczAeud3kzzdV70&e0+R;eSLm@et&;|fPjF3fq{a8f`fyD zgoK2Jg@uNOhKGlTh=_=ZiHVAeii?YjjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z} zm6ev3mY0{8n3$NEnVFiJnwy)OoSdAUot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5( zrl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#p zxVX5vxw*Q!y1To(yu7@<y}iD^zQ4b}z`(%4!NJ19!o$PE#KgqK#l^<P#>dCU$jHda z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1<F+1c9K z+S}XP+}zyV-QC{a-rwKf;Nall;o;)q;^X7v<mBY#<>lt)=I7_<=;-L_>FMg~>g((4 z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg= z{r&#_{{R2~A^8LW0Ra90EC2ui01N;O000Pa0R0K%lmi2V9E=1i%z+?9iV!If#8?O* z$G>+Nl>kWLuM~ia{}6l}$w(u}R?Y~C1P}wmM~j4%oa6KnflB}(2z_MquBJ%{T0T-b q_c4Y?mj9H5@J4B;zZ@S4y}MTm!bXY!5Uk{=&>tm+5)%px2mm_@=(0fo literal 0 HcmV?d00001 diff --git a/doc/help/xslt/images/callouts/5.png b/doc/help/xslt/images/callouts/5.png new file mode 100644 index 0000000000000000000000000000000000000000..4d7eb460021e845981861d77614539314f553993 GIT binary patch literal 348 zcmeAS@N?(olHy`uVBq!ia0vp^JRr;gBp8b2n5}^nQ<As43j@QdUS%U7ugufMF{I*_ zXx~D?BL+My{9ICPQc_Z@Sf_vZD#0ez##W~t@077%!Nb3vIq7BJSSC%EKYHG`>EX4g z+-vfUhb0A>b04=Im{6XiQd1v%r%>h0$G8U7E1If8OQ!N~xOYY5h0NDT$p9(iZ?Q&e z18-(+l~J8O`)kc}e&uL$eW&>P-#`~Qm$*ih1m~xflqVLYGB{``YkKA;rl<NQre`K+ zE12jR=~*aPTIw5E=o=U+Bo}2CmsC3BRu-3JChMgZ>!p+y<mZ*>CFkc(+@-h!Xq*<< zxXkpt#FA2=d1<L;mIfwf#>VEBsYynrsitN|Y01eJ$;p;U#>wWX2KP5v&I9V=1L+C? fTFYQ)RAFeOZJ=$?lDoSWD8u0C>gTe~DWM4f^}upZ literal 0 HcmV?d00001 diff --git a/doc/help/xslt/images/callouts/5.svg b/doc/help/xslt/images/callouts/5.svg new file mode 100644 index 00000000..ca7a9f22 --- /dev/null +++ b/doc/help/xslt/images/callouts/5.svg @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 12.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 51448) --> +<!DOCTYPE svg [ + <!ENTITY ns_svg "http://www.w3.org/2000/svg"> + <!ENTITY ns_xlink "http://www.w3.org/1999/xlink"> +]> +<svg version="1.0" id="Layer_1" xmlns="&ns_svg;" xmlns:xlink="&ns_xlink;" width="33" height="33" viewBox="0 0 33 33" + style="overflow:visible;enable-background:new 0 0 33 33;" xml:space="preserve"> +<circle style="stroke:#000000;" cx="16.5" cy="16.5" r="16"/> +<g> + <g style="enable-background:new ;"> + <path style="fill:#FFFFFF;" d="M14.035,14.252c0.728-0.504,1.624-1.092,3.556-1.092c2.66,0,6.02,1.848,6.02,6.411 + c0,2.717-1.372,7.141-7.224,7.141c-3.108,0-6.272-1.849-6.468-5.853h3.92c0.168,1.624,1.036,2.717,2.772,2.717 + c1.876,0,2.968-1.597,2.968-3.725c0-1.764-0.839-3.556-2.912-3.556c-0.532,0-1.876,0.028-2.632,1.428l-3.5-0.168l1.372-10.92 + h10.919v3.304h-8.092L14.035,14.252z"/> + </g> +</g> +</svg> diff --git a/doc/help/xslt/images/callouts/6.gif b/doc/help/xslt/images/callouts/6.gif new file mode 100644 index 0000000000000000000000000000000000000000..23bc5555d2a467d6c3025d7f334a2b5546bd4fd9 GIT binary patch literal 218 zcmZ?wbhEHb<YC}pXpv+90uBxi0RaIC2?<3-MNLgjLqkJLOG_^=ub`ly?Ck8~;^LN; zmY$xTDO0A*nKNhU(xq$HuHCzL@3CXY&Ye4V@7}%V&!4}4|Ni^;@Bgs@#h)yUj12M& zIv|@sb~3PrKTvn`3{;q~LW#jZ<n6|77gBv072Mwz@iw1c_%wl0ZNeeN>qb0L)3{T$ zGFay|aIp&P&{^Zgxx_Wm<T%68R)+%;((@G$G#;G6$U4>Lz?s!{{N9Xg1xktx)&MH` BUFZM+ literal 0 HcmV?d00001 diff --git a/doc/help/xslt/images/callouts/6.png b/doc/help/xslt/images/callouts/6.png new file mode 100644 index 0000000000000000000000000000000000000000..0ba694af6c07d947d219b45a629bd32c60a0f5fe GIT binary patch literal 355 zcmeAS@N?(olHy`uVBq!ia0vp^JRr;gBp8b2n5}^nQ<As43j@QdUS%U7uh!GWF{I*_ zXs@EsVFMl(aW1i0Y+P)=xEuevCGHE5h=|CVp+1G}7w5vZrlwVA@}B2?>*)Bra@SU# zmiz#bR~{$s<it3Y`rTM7vigH!_v%d1grx^I-22U(a_Fw$ZS^N_t}odCT<7rVX{mBD zKd$UZU+Cwva*5A-8{Yq66Tg1wu-{y4@rrAQbR^Ir&Lyr9CBgY=CFO}lsSFMp%9@_J ziRr1niRqci*$O6lMtT+smX`Vk7WxK;3du#8#U+&vxs}BwnaO&o#d;~F1^Ia;ddc~@ z6L%@@02-$SHZC(gFR`Q)XkLnuX^Od_xmk*td7^=_MPgdAVX~>2si{S(aY|Z}Vd7tb ouUmn-_&~Y>fYve?8dVq?X&Y!8wB+ut1<EjZy85}Sb4q9e0I5@azW@LL literal 0 HcmV?d00001 diff --git a/doc/help/xslt/images/callouts/6.svg b/doc/help/xslt/images/callouts/6.svg new file mode 100644 index 00000000..783a0b9d --- /dev/null +++ b/doc/help/xslt/images/callouts/6.svg @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 12.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 51448) --> +<!DOCTYPE svg [ + <!ENTITY ns_svg "http://www.w3.org/2000/svg"> + <!ENTITY ns_xlink "http://www.w3.org/1999/xlink"> +]> +<svg version="1.0" id="Layer_1" xmlns="&ns_svg;" xmlns:xlink="&ns_xlink;" width="33" height="33" viewBox="0 0 33 33" + style="overflow:visible;enable-background:new 0 0 33 33;" xml:space="preserve"> +<circle style="stroke:#000000;" cx="16.5" cy="16.5" r="16"/> +<g> + <g style="enable-background:new ;"> + <path style="fill:#FFFFFF;" d="M19.106,10.673c-0.112-1.12-0.84-1.904-2.296-1.904c-2.548,0-3.136,2.912-3.276,5.488l0.056,0.056 + c0.532-0.728,1.512-1.651,3.724-1.651c4.116,0,6.077,3.164,6.077,6.131c0,4.34-2.66,7.252-6.497,7.252 + c-6.02,0-7.196-5.039-7.196-9.996c0-3.78,0.504-10.416,7.392-10.416c0.812,0,3.08,0.308,4.061,1.288 + c1.092,1.063,1.483,1.652,1.848,3.752H19.106z M16.614,15.797c-1.484,0-2.996,0.924-2.996,3.416c0,2.156,1.232,3.697,3.108,3.697 + c1.428,0,2.745-1.094,2.745-3.781C19.471,16.609,17.846,15.797,16.614,15.797z"/> + </g> +</g> +</svg> diff --git a/doc/help/xslt/images/callouts/7.gif b/doc/help/xslt/images/callouts/7.gif new file mode 100644 index 0000000000000000000000000000000000000000..e55ce89585a8d5f80cc1a83df537578983a4d8e5 GIT binary patch literal 907 zcmV;619bdHNk%w1VGIBa0O$Vz000010RaL60s{jB1Ox;H1qB8M1_uWR2nYxX2?+`c z3JVJh3=9kn4Gj(s4i66x5D*X%5fKs+5)%^>6ciK{6%`g178e&67#J8C85tTH8XFrM z92^`S9UUGX9v>ecARr(iAt53nA|oRsBqSsyB_$>%CMPE+C@3f?DJd!{Dl021EG#T7 zEiEoCE-x=HFfcGNF)=bSGBYzXG&D3dH8nOiHa9mnI5;>tIXOByIy*Z%JUl!-Jv}}? zK0iM{KtMo2K|w-7LPJACL_|bIMMXwNMn^|SNJvOYNl8jdN=r*iOiWBoO-)WtPESuy zP*6}&QBhJ-Qd3h?R8&+|RaI72R##V7SXfwDSy@_IT3cINTwGjTU0q&YUSD5dU|?Wj zVPRroVq;@tWMpJzWo2e&W@l$-XlQ6@X=!R|YHMq2Y;0_8ZEbFDZf|dIaBy&OadC2T za&vQYbaZreb#-=jc6WDoczAeud3kzzdV70&e0+R;eSLm@et&;|fPjF3fq{a8f`fyD zgoK2Jg@uNOhKGlTh=_=ZiHVAeii?YjjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z} zm6ev3mY0{8n3$NEnVFiJnwy)OoSdAUot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5( zrl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#p zxVX5vxw*Q!y1To(yu7@<y}iD^zQ4b}z`(%4!NJ19!o$PE#KgqK#l^<P#>dCU$jHda z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1<F+1c9K z+S}XP+}zyV-QC{a-rwKf;Nall;o;)q;^X7v<mBY#<>lt)=I7_<=;-L_>FMg~>g((4 z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg= z{r&#_{{R2~A^8LW0Ra90EC2ui01N;O000PR0R0K9B_%})C9MQ1lmY=mLkJLZDAWR= z)xV4XtO1DOuNQ!iA2FPx2!IkvkhMI1%n<`504eucencSiqqSNt5uD8NPm0SJI6pGF hhrlHxe@Z^q3i>gHLLn}jDip{m2Lc2sjtUG206SSyt84%O literal 0 HcmV?d00001 diff --git a/doc/help/xslt/images/callouts/7.png b/doc/help/xslt/images/callouts/7.png new file mode 100644 index 0000000000000000000000000000000000000000..472e96f8ac36862c5645732f2fff19d06ee11a8e GIT binary patch literal 344 zcmeAS@N?(olHy`uVBq!ia0vp^JRr;gBp8b2n5}^nQ<As43j@QdUS%U7ugKHIF{I*_ zYTsJMRs)_E|1hOU#Z8;UI@i4Mnd-k!bi&j%2e~{_o=nv4^w{_06Z53Sv);B(UT{5? zH~y6Dg#wr9;+r0~<m{FH;5^$PMEk_4)!Iw=*EMoZ5)E@~%ep&xL34GF|5VE#ImPlm z?kDR#Pgd>u%w%U~xZhnMEEs6JbBSw2NpOBzNqJ&XDuaWDvZiNlVtT4?VtQtBwt|VC zk)DNurKP@sg}#BILUK`NaY>~^Ze?*vX0l#tv0h4PL4IC|UUGi!#9fLzfW~Qojmu2W zODrh`nrCEbVQgk$XkwI@Y+{_8nv`N>YGIaQkz#0QY@Te9lBQ<)awbq0A4pdK&{_sV bqY6VKZ3AtCmfYR7Kp6&4S3j3^P6<r_9#?Y1 literal 0 HcmV?d00001 diff --git a/doc/help/xslt/images/callouts/7.svg b/doc/help/xslt/images/callouts/7.svg new file mode 100644 index 00000000..59b3714b --- /dev/null +++ b/doc/help/xslt/images/callouts/7.svg @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 12.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 51448) --> +<!DOCTYPE svg [ + <!ENTITY ns_svg "http://www.w3.org/2000/svg"> + <!ENTITY ns_xlink "http://www.w3.org/1999/xlink"> +]> +<svg version="1.0" id="Layer_1" xmlns="&ns_svg;" xmlns:xlink="&ns_xlink;" width="33" height="33" viewBox="0 0 33 33" + style="overflow:visible;enable-background:new 0 0 33 33;" xml:space="preserve"> +<circle style="stroke:#000000;" cx="16.5" cy="16.5" r="16"/> +<g> + <g style="enable-background:new ;"> + <path style="fill:#FFFFFF;" d="M24.28,9.66c-1.904,2.071-6.776,7.951-7.252,16.52h-4.032c0.42-7.952,5.404-14.28,7.084-16.072 + h-9.884l0.084-3.472h14V9.66z"/> + </g> +</g> +</svg> diff --git a/doc/help/xslt/images/callouts/8.gif b/doc/help/xslt/images/callouts/8.gif new file mode 100644 index 0000000000000000000000000000000000000000..49375e09f4cc6397837fbb494c6c3cb1bca7091b GIT binary patch literal 918 zcmV;H18Mw6Nk%w1VGIBa0O$Vz000010RaL60s{jB1Ox;H1qB8M1_uWR2nYxX2?+`c z3JVJh3=9kn4Gj(s4i66x5D*X%5fKs+5)%^>6ciK{6%`g178e&67#J8C85tTH8XFrM z92^`S9UUGX9v>ecARr(iAt53nA|oRsBqSsyB_$>%CMPE+C@3f?DJd!{Dl021EG#T7 zEiEoCE-x=HFfcGNF)=bSGBYzXG&D3dH8nOiHa9mnI5;>tIXOByIy*Z%JUl!-Jv}}? zK0iM{KtMo2K|w-7LPJACL_|bIMMXwNMn^|SNJvOYNl8jdN=r*iOiWBoO-)WtPESuy zP*6}&QBhJ-Qd3h?R8&+|RaI72R##V7SXfwDSy@_IT3cINTwGjTU0q&YUSD5dU|?Wj zVPRroVq;@tWMpJzWo2e&W@l$-XlQ6@X=!R|YHMq2Y;0_8ZEbFDZf|dIaBy&OadC2T za&vQYbaZreb#-=jc6WDoczAeud3kzzdV70&e0+R;eSLm@et&;|fPjF3fq{a8f`fyD zgoK2Jg@uNOhKGlTh=_=ZiHVAeii?YjjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z} zm6ev3mY0{8n3$NEnVFiJnwy)OoSdAUot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5( zrl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#p zxVX5vxw*Q!y1To(yu7@<y}iD^zQ4b}z`(%4!NJ19!o$PE#KgqK#l^<P#>dCU$jHda z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1<F+1c9K z+S}XP+}zyV-QC{a-rwKf;Nall;o;)q;^X7v<mBY#<>lt)=I7_<=;-L_>FMg~>g((4 z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg= z{r&#_{{R2~A^8LW0Ra90EC2ui01N;O000Pc0R0JUB_%}&DWwD|R0041gb)pLC=}AL zls9X=AOMKruT(=N_cWfH(~uHF0760{c(<lu3=9nc)H-(&K|=&E0cg1=MG4EBCrkBe s*lOrTj{xSpGkA_rNq-a(P&)UHl1+{RPsRiwQDH|VAwmdAC@>%ZJL2W6v;Y7A literal 0 HcmV?d00001 diff --git a/doc/help/xslt/images/callouts/8.png b/doc/help/xslt/images/callouts/8.png new file mode 100644 index 0000000000000000000000000000000000000000..5e60973c213b37df93666c5a00724f34493974ae GIT binary patch literal 357 zcmeAS@N?(olHy`uVBq!ia0vp^JRr;gBp8b2n5}^nQ<As43j@QdUS%U7uin$eF{I*_ zY~MoB!v;L8{9IDgq}bTnq@>u&S`V$cAh@R~F=4@V4jxkzlaQrcFYWK{)(`o5XZnut z=nE4SU2g1ZW%;@@I$>_e3F8a=8WK~|CVXt1DqisQxtIX|`<?0gJCe5^yeVUR&~Vy~ z{dxvlr`UDv_!a+ZGp}~&TFYZk-v41(Jl}GcThd!Tpi`VnTq8<?^V3So6N^$A95j?Q zJ#!P&Q+*TDGn2CwO!SQOEEFs)^$jfa4Ga~Mi!zH#Djjkwi%T+-^-_!VQc4T*^GfuR z^K&QeQrrPFP77>YW_n&?Nh#1gQ}d)$LrYTw(_{nVG)tp2V+#}WG*e^KRLdkoLz7g? qn<m-LKwW$wT>(IA84Qgo42`r6v<+Hvch>@C7(8A5T-G@yGywn*$#_oy literal 0 HcmV?d00001 diff --git a/doc/help/xslt/images/callouts/8.svg b/doc/help/xslt/images/callouts/8.svg new file mode 100644 index 00000000..c1803a3c --- /dev/null +++ b/doc/help/xslt/images/callouts/8.svg @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 12.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 51448) --> +<!DOCTYPE svg [ + <!ENTITY ns_svg "http://www.w3.org/2000/svg"> + <!ENTITY ns_xlink "http://www.w3.org/1999/xlink"> +]> +<svg version="1.0" id="Layer_1" xmlns="&ns_svg;" xmlns:xlink="&ns_xlink;" width="33" height="33" viewBox="0 0 33 33" + style="overflow:visible;enable-background:new 0 0 33 33;" xml:space="preserve"> +<circle style="stroke:#000000;" cx="16.5" cy="16.5" r="16"/> +<g> + <g style="enable-background:new ;"> + <path style="fill:#FFFFFF;" d="M16.28,26.712c-5.124,0-6.888-3.332-6.888-6.048c0-1.009,0-3.641,3.024-5.04 + c-1.568-0.784-2.408-2.044-2.408-3.893c0-3.388,2.716-5.432,6.188-5.432c4.116,0,6.3,2.436,6.3,5.18 + c0,1.708-0.7,3.164-2.296,4.004c1.903,0.952,2.968,2.212,2.968,4.788C23.168,22.792,21.544,26.712,16.28,26.712z M16.224,17.332 + c-1.428,0-2.8,0.924-2.8,3.08c0,1.903,1.092,3.164,2.884,3.164c2.043,0,2.829-1.765,2.829-3.137 + C19.137,19.04,18.408,17.332,16.224,17.332z M18.744,11.899c0-1.512-1.036-2.464-2.296-2.464c-1.764,0-2.688,1.008-2.688,2.464 + c0,1.177,0.868,2.464,2.548,2.464C17.848,14.363,18.744,13.328,18.744,11.899z"/> + </g> +</g> +</svg> diff --git a/doc/help/xslt/images/callouts/9.gif b/doc/help/xslt/images/callouts/9.gif new file mode 100644 index 0000000000000000000000000000000000000000..da12a4fe2825716c78f2d23c2f87afde98d3dd3e GIT binary patch literal 923 zcmV;M17!S1Nk%w1VGIBa0O$Vz000010RaL60s{jB1Ox;H1qB8M1_uWR2nYxX2?+`c z3JVJh3=9kn4Gj(s4i66x5D*X%5fKs+5)%^>6ciK{6%`g178e&67#J8C85tTH8XFrM z92^`S9UUGX9v>ecARr(iAt53nA|oRsBqSsyB_$>%CMPE+C@3f?DJd!{Dl021EG#T7 zEiEoCE-x=HFfcGNF)=bSGBYzXG&D3dH8nOiHa9mnI5;>tIXOByIy*Z%JUl!-Jv}}? zK0iM{KtMo2K|w-7LPJACL_|bIMMXwNMn^|SNJvOYNl8jdN=r*iOiWBoO-)WtPESuy zP*6}&QBhJ-Qd3h?R8&+|RaI72R##V7SXfwDSy@_IT3cINTwGjTU0q&YUSD5dU|?Wj zVPRroVq;@tWMpJzWo2e&W@l$-XlQ6@X=!R|YHMq2Y;0_8ZEbFDZf|dIaBy&OadC2T za&vQYbaZreb#-=jc6WDoczAeud3kzzdV70&e0+R;eSLm@et&;|fPjF3fq{a8f`fyD zgoK2Jg@uNOhKGlTh=_=ZiHVAeii?YjjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z} zm6ev3mY0{8n3$NEnVFiJnwy)OoSdAUot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5( zrl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#p zxVX5vxw*Q!y1To(yu7@<y}iD^zQ4b}z`(%4!NJ19!o$PE#KgqK#l^<P#>dCU$jHda z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1<F+1c9K z+S}XP+}zyV-QC{a-rwKf;Nall;o;)q;^X7v<mBY#<>lt)=I7_<=;-L_>FMg~>g((4 z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg= z{r&#_{{R2~A^8LW0Ra90EC2ui01N;O000Ph0R0JUB_%}&DXj!56aoMM1PBdtC{zLf zK`U$LN=5Y7s^J`O2r%5!(vT8G0Hrztu%;0}4h#+VfE3xQVaSFMdc8Y$u9i)PHW47O xMyX+pmO}1@Q1UNFLq`6b0%-N`-I|6e6vnXG5I_uX3jI-v0Rce_r~(5506VSIvSt7P literal 0 HcmV?d00001 diff --git a/doc/help/xslt/images/callouts/9.png b/doc/help/xslt/images/callouts/9.png new file mode 100644 index 0000000000000000000000000000000000000000..a0676d26cc2ff1de12c4ecdeefb44a0d71bc6bde GIT binary patch literal 357 zcmeAS@N?(olHy`uVBq!ia0vp^JRr;gBp8b2n5}^nQ<As43j@QdUS%U7uin$eF{I*_ zXrH23ivbU-yIWYmdRn}l|TM|3{nIuXYhxpPu>NRqa;^5&H%t0&v*|C|wdb9$wI zR@+N9#RIowg@Uqn&z-__Tzhhz!sG|vTxA7?=O|Y?u(d4T{!RM9c7chr6d%1?R=i16 z?@Ic{f32<?<=Wp~dhLI<h(}0&{b%-`0E?uXmwt-_o#I^L8c`CQpH@<ySd_}(prNek znVXoN>YJFJnVhX)qGzOMp<rpLZ(yNsV5pE>lv!L->5yAlT#}irms+fsQd*FoSE84k zpF44v;trs3T43Wc)AJHbN`dAXo0u6Hr<$gkq?lM38ycjV7+5A5Sr{ayr5c%-n;95g pF*H#D>f!_G3IJNmU}#ifXryhRZP1dtyA~+J;OXk;vd$@?2>@J{cB%jX literal 0 HcmV?d00001 diff --git a/doc/help/xslt/images/callouts/9.svg b/doc/help/xslt/images/callouts/9.svg new file mode 100644 index 00000000..bc149d3c --- /dev/null +++ b/doc/help/xslt/images/callouts/9.svg @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 12.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 51448) --> +<!DOCTYPE svg [ + <!ENTITY ns_svg "http://www.w3.org/2000/svg"> + <!ENTITY ns_xlink "http://www.w3.org/1999/xlink"> +]> +<svg version="1.0" id="Layer_1" xmlns="&ns_svg;" xmlns:xlink="&ns_xlink;" width="33" height="33" viewBox="0 0 33 33" + style="overflow:visible;enable-background:new 0 0 33 33;" xml:space="preserve"> +<circle style="stroke:#000000;" cx="16.5" cy="16.5" r="16"/> +<g> + <g style="enable-background:new ;"> + <path style="fill:#FFFFFF;" d="M13.953,21.921v0.027c0.224,1.372,1.092,1.961,2.296,1.961c1.624,0,3.248-1.372,3.276-5.545 + l-0.057-0.056c-0.896,1.344-2.436,1.68-3.78,1.68c-3.808,0-6.02-2.884-6.02-6.216c0-4.872,2.884-7.14,6.776-7.14 + c6.888,0,7,7.42,7,10.22c0,7.7-3.641,10.192-7.224,10.192c-3.388,0-5.824-1.96-6.16-5.124H13.953z M16.529,16.853 + c1.372,0,2.884-0.979,2.884-3.332c0-2.268-0.98-3.668-2.996-3.668c-1.008,0-2.828,0.504-2.828,3.36 + C13.589,16.209,15.045,16.853,16.529,16.853z"/> + </g> +</g> +</svg> diff --git a/doc/help/xslt/images/caution.gif b/doc/help/xslt/images/caution.gif new file mode 100644 index 0000000000000000000000000000000000000000..d9f5e5b1bc52702e490263297e0c686477f8a9a9 GIT binary patch literal 743 zcmZ?wbhEHblwgox_^QhQ1OfsK5)urGiVTK^3{FlAQBe%Z$qd=q48_F^)zu6wEet(9 z3{$2s%$dWmbScButqgnj0tJhwOaY?mIdiJFZjD;HG<oaR<a6g3u3clechB<qbB6ct z8NPo9B8mV11)e`QeE!_>`**{8_ndlqdgjcTGH1@5rAvWm>DH}V&z(E>{Q2|u@89nQ znoBxR{K>+|z@W#V1JVle69d~nhv}!E7VV7D!$l=+#gyARX+eW7x`wT@Cg?1ihH6;1 zs$!+xj1Yt%W31lvY*ooh8##Wqt4P*f&)W2{!b0}^@kv>5x2zLQef-gZgT0SEg>hLF z)Pd`+x;*(<A;iFV<S}EUAJh>#oF^Yc1wYmptOPqEY|_Nz%wH;O`WPI6ayD{2tAO4N zo7{UG#GByI2%_fo|5LqMv{6N+A1o@_2o{w)&t4I@GfML`SWvEy;UY+Xf4Xzz&KO;h zV_?(HH9iCh`e$qcdSYD|*JluqH{jv}kl>0fV4tmS-PB+scb>_h18CFP6lf@4^@?<m zJD(hIp~7a-sZ(IV1;Fsx8Z@o{_~M5ZHnX9E;NXqY=m9yxY4TJ=5blgwEAs5|#}=;x nD1v(7+^LMYYT9VgvU=*SfH0KEZ2<AIR)PiDKn@KTV6X-NnTJ^z literal 0 HcmV?d00001 diff --git a/doc/help/xslt/images/caution.png b/doc/help/xslt/images/caution.png new file mode 100644 index 0000000000000000000000000000000000000000..5b7809ca4a9c8d778087522e5ce04b6e90099595 GIT binary patch literal 1250 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM3?#3wJbQ|Pftew|C&U%V<=|it5MYpyU{F+K zFf?Rva$<;zVn|MA$j)XcE@r5%W@u>vqT-$&hMpcE*)wGd!;~q-Q>IkUnZqz=PVt;M zK*p3gbLK2v%CK~4^3tV1#?q}@8MbbX+PXD)>(;G%_cH9=n|$sZ!?|<ku3cleb`3~g zyLXS_-aW&6_bl(-b9(-q;rVmJ=g%#lKY#xIJ;VF=@4tU%`2Jns`*(@&-wnTi|Nj3! z!~g#R|Nl$;9|fZ!K-Cb4U;ZQpm<Je>yxm<GI#^{rfSiw>E{-7;w@N47?rU=3X_NkV zU|o{PnRTZ;lXp4>+)hZU_|Lw%*va*6=<@jI@BP^`_OsZ?pZg-2AaGf|;i2L0<>du@ zeRrO4er03}pLSxdREd>pap^;~&E+}=JYKy#vHnLI=Z$}pPyA_`zG;G~<$`Br2do;7 z$Heivv0AeyJYVI({@6?X6r+V~XS2Cs!|b<wQC^#l$!NcSp0vrxY2qS_?FZ)1Ucwj1 zzg*>ddDqJz@2lKf$~4dA1<g2Eu)bu;{n`a*1UE_c9ewwbe|}h!jL4#pSykIzo-g3r zxV`ML!}+(iQ;Gt1{hPjgX^M2|*Xi>c%lfOT+5KMUSWi#X5(9ePxx_W1Bsf2<q&%@G zmBB$nS<^E&F+J5cF+DRmTfs!nNY6sS(o)~RLf^npA-O2CxTMk{x3ah-Gg&XSSTCit zAV04}FF8MV;x5G<K;yK)#$~4GC6<%|%}X{nFt#waFg8d`G)YZPF-<f{G&V}KFf}r= vFitW~G5Zl9x(%p{52PyqXf1=0NrjP#wt==mQ8cF^P=>+N)z4*}Q$iB}K{RAP literal 0 HcmV?d00001 diff --git a/doc/help/xslt/images/caution.svg b/doc/help/xslt/images/caution.svg new file mode 100644 index 00000000..dd84f3fe --- /dev/null +++ b/doc/help/xslt/images/caution.svg @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!-- Generator: Adobe Illustrator 9.0, SVG Export Plug-In --> +<!DOCTYPE svg [ + <!ENTITY st0 "fill:#FFFFFF;stroke:none;"> + <!ENTITY st1 "fill:#FFFFFF;stroke-width:6.6112;stroke-linecap:round;stroke-linejoin:round;"> + <!ENTITY st2 "stroke:#FFFFFF;stroke-width:6.6112;"> + <!ENTITY st3 "fill:none;stroke:none;"> + <!ENTITY st4 "fill-rule:nonzero;clip-rule:nonzero;stroke:#000000;stroke-miterlimit:4;"> + <!ENTITY st5 "stroke:none;"> +]> +<svg width="48pt" height="48pt" viewBox="0 0 48 48" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"> + <g id="Layer_x0020_3" style="&st4;"> + <g> + <path style="&st2;" d="M41.7,35.3L26.6,9.4c-0.6-1-1.7-1.7-2.9-1.6c-1.2,0-2.3,0.7-2.9,1.7L6.3,35.4c-0.6,1-0.6,2.3,0,3.3c0.6,1,1.7,1.6,2.9,1.6h29.6c1.2,0,2.3-0.6,2.9-1.7c0.6-1,0.6-2.3,0-3.3z"/> + <path style="&st1;" d="M23.7,11L9.2,37h29.6L23.7,11z"/> + <path style="&st0;" d="M23.7,11.9L10.3,36.1h27.5l-14-24.1z"/> + <g> + <path style="&st5;" d="M24.1,34c-1.1,0-1.8-0.8-1.8-1.8c0-1.1,0.7-1.8,1.8-1.8c1.1,0,1.8,0.7,1.8,1.8c0,1-0.7,1.8-1.8,1.8h0z M22.9,29.3l-0.4-9.1h3.2l-0.4,9.1h-2.3z"/> + </g> + </g> + </g> + <g id="crop_x0020_marks" style="&st4;"> + <path style="&st3;" d="M48,48H0V0h48v48z"/> + </g> +</svg> diff --git a/doc/help/xslt/images/caution.tif b/doc/help/xslt/images/caution.tif new file mode 100644 index 0000000000000000000000000000000000000000..4a282948c4c7ed53a2cab4132152c9923f7eb363 GIT binary patch literal 1978 zcmebD)MDUaXJBaHTM%HOBF4+!!hOu3BSpZ2m-o=a4UGyOVRGC@78N*Fn1mTgu^*ne z;*L$0(G;HMj}kXtX=zR2W)oug(x;}vd4|pLf`&qbk&JK3goqWpg18tM4sYt>NNQ*5 zJO1L!te8d4X6?)=pC(QSU||)yt{QYgWZzM1M#kk|4=&{>4cy$*l3-xF?uL{AUz_5A z50}pAFgB%?DF*m>GD)-@{{F$i>YOfT;)C)He}4t3vbN+MR?Ki#WjWH`E;J#5fkSah z*CvDRdtCvNOpI%k6$_&6*{?lq*|st4mU-vV>qgQQdBM7KAGv%{?hRM3li^KVy1S9x zik*=G2sju77$g`J84MYm7@`=G8L}CQ8LAmtfUpM)r!auv95`Ic0D)T>AaF0kUWRi( zcnu8iF+kvR1_*r5@Sfp29R6n*g@Y>uM&o~Q#Rt7z11bTqgJPg?F|Y&xk=0NVR1Poz z%ZNF^GJpYGT5JXL8G!j8gs%ZfLk3G=Ndlpt1L^lb3@Tv^fu#V1MQ=Zj+J`d)yn#^y zss&&)AHzQe7O)6V5GchAW=nvWNNgr3n*%7$3}v$d*=$fYGmtIF2r&nwMieRzvPldo p4l+|5%Ki*wOEI#7?fS#Uz#t7}vjA&lTO_>>KsEyq{Q;^60RYt05`+K% literal 0 HcmV?d00001 diff --git a/doc/help/xslt/images/colorsvg/caution.svg b/doc/help/xslt/images/colorsvg/caution.svg new file mode 100644 index 00000000..7a0db0bc --- /dev/null +++ b/doc/help/xslt/images/colorsvg/caution.svg @@ -0,0 +1,141 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 12.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 51448) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [ + <!ENTITY ns_svg "http://www.w3.org/2000/svg"> + <!ENTITY ns_xlink "http://www.w3.org/1999/xlink"> +]> +<svg version="1.1" id="caution" xmlns="&ns_svg;" xmlns:xlink="&ns_xlink;" width="48" height="48" viewBox="0 0 48 48" + overflow="visible" enable-background="new 0 0 48 48" xml:space="preserve"> +<g> + <g> + <g> + <path stroke="#FFFFFF" stroke-width="6.6112" d="M41.629,36.303L26.527,10.403c-0.602-1-1.698-1.7-2.898-1.6 + c-1.2,0-2.3,0.7-2.9,1.7l-14.5,25.899c-0.6,1-0.6,2.301,0,3.301s1.7,1.6,2.9,1.6h29.599c1.199,0,2.301-0.6,2.899-1.699 + C42.229,38.604,42.229,37.303,41.629,36.303L41.629,36.303z"/> + <g> + <path fill="#FFFFFF" stroke="#FFCC00" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" d="M23.581,12.003 + l-14.5,26H38.68L23.581,12.003z"/> + <polygon fill="#FFFFFF" stroke="#FFCD00" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 23.582,12.054 9.137,37.953 38.622,37.953 "/> + <polygon fill="#FFFFFF" stroke="#FFCE00" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 23.583,12.104 9.193,37.9 38.566,37.9 "/> + <polygon fill="#FFFFFF" stroke="#FFCF00" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 23.583,12.153 9.25,37.854 38.508,37.854 "/> + <polygon fill="#FFFFFF" stroke="#FFD000" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 23.584,12.205 9.309,37.805 38.451,37.805 "/> + <polygon fill="#FFFFFF" stroke="#FFD100" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 23.585,12.253 9.364,37.753 38.395,37.753 "/> + <polygon fill="#FFFFFF" stroke="#FFD200" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 23.586,12.304 9.421,37.703 38.337,37.703 "/> + <polygon fill="#FFFFFF" stroke="#FFD300" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 23.587,12.354 9.479,37.652 38.279,37.652 "/> + <polygon fill="#FFFFFF" stroke="#FFD400" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 23.588,12.403 9.537,37.604 38.223,37.604 "/> + <polygon fill="#FFFFFF" stroke="#FFD500" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 23.589,12.455 9.591,37.553 38.166,37.553 "/> + <polygon fill="#FFFFFF" stroke="#FFD600" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 23.591,12.503 9.649,37.503 38.109,37.503 "/> + <polygon fill="#FFFFFF" stroke="#FFD700" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 23.591,12.554 9.707,37.453 38.053,37.453 "/> + <polygon fill="#FFFFFF" stroke="#FFD800" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 23.593,12.604 9.764,37.402 37.996,37.402 "/> + <polygon fill="#FFFFFF" stroke="#FFD900" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 23.594,12.653 9.819,37.354 37.939,37.354 "/> + <polygon fill="#FFFFFF" stroke="#FFDA00" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 23.596,12.705 9.876,37.303 37.882,37.303 "/> + <polygon fill="#FFFFFF" stroke="#FFDB00" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 23.597,12.753 9.935,37.253 37.824,37.253 "/> + <polygon fill="#FFFFFF" stroke="#FFDC00" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 23.599,12.804 9.991,37.203 37.768,37.203 "/> + <polygon fill="#FFFFFF" stroke="#FFDD00" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 23.601,12.854 10.047,37.152 37.711,37.152 "/> + <polygon fill="#FFFFFF" stroke="#FFDE00" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 23.602,12.903 10.104,37.104 37.654,37.104 "/> + <polygon fill="#FFFFFF" stroke="#FFDF00" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 23.603,12.955 10.163,37.053 37.598,37.053 "/> + <polygon fill="#FFFFFF" stroke="#FFE000" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 23.604,13.003 10.218,37.003 37.54,37.003 "/> + <polygon fill="#FFFFFF" stroke="#FFE100" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 23.604,13.054 10.275,36.953 37.482,36.953 "/> + <polygon fill="#FFFFFF" stroke="#FFE200" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 23.605,13.104 10.333,36.902 37.427,36.902 "/> + <polygon fill="#FFFFFF" stroke="#FFE300" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 23.606,13.153 10.389,36.854 37.37,36.854 "/> + <polygon fill="#FFFFFF" stroke="#FFE400" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 23.607,13.205 10.445,36.805 37.312,36.805 "/> + <polygon fill="#FFFFFF" stroke="#FFE500" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 23.608,13.253 10.502,36.753 37.256,36.753 "/> + <polygon fill="#FFFFFF" stroke="#FFE600" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 23.609,13.304 10.561,36.703 37.197,36.703 "/> + <polygon fill="#FFFFFF" stroke="#FFE600" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 23.61,13.354 10.617,36.652 37.143,36.652 "/> + <polygon fill="#FFFFFF" stroke="#FFE700" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 23.611,13.403 10.673,36.604 37.085,36.604 "/> + <polygon fill="#FFFFFF" stroke="#FFE800" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 23.613,13.455 10.73,36.553 37.027,36.553 "/> + <polygon fill="#FFFFFF" stroke="#FFE900" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 23.614,13.503 10.789,36.503 36.971,36.503 "/> + <polygon fill="#FFFFFF" stroke="#FFEA00" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 23.616,13.554 10.844,36.453 36.914,36.453 "/> + <polygon fill="#FFFFFF" stroke="#FFEB00" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 23.617,13.604 10.901,36.402 36.857,36.402 "/> + <polygon fill="#FFFFFF" stroke="#FFEC00" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 23.618,13.653 10.958,36.354 36.8,36.354 "/> + <polygon fill="#FFFFFF" stroke="#FFED00" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 23.619,13.705 11.017,36.303 36.742,36.303 "/> + <polygon fill="#FFFFFF" stroke="#FFEE00" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 23.622,13.753 11.071,36.253 36.688,36.253 "/> + <polygon fill="#FFFFFF" stroke="#FFEF00" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 23.623,13.804 11.129,36.203 36.63,36.203 "/> + <polygon fill="#FFFFFF" stroke="#FFF000" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 23.624,13.854 11.188,36.152 36.572,36.152 "/> + <polygon fill="#FFFFFF" stroke="#FFF100" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 23.625,13.903 11.243,36.104 36.516,36.104 "/> + <polygon fill="#FFFFFF" stroke="#FFF200" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 23.625,13.955 11.299,36.053 36.459,36.053 "/> + <polygon fill="#FFFFFF" stroke="#FFF300" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 23.626,14.003 11.356,36.003 36.4,36.003 "/> + <polygon fill="#FFFFFF" stroke="#FFF400" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 23.627,14.054 11.415,35.953 36.346,35.953 "/> + <polygon fill="#FFFFFF" stroke="#FFF500" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 23.628,14.104 11.471,35.902 36.288,35.902 "/> + <polygon fill="#FFFFFF" stroke="#FFF600" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 23.629,14.153 11.527,35.854 36.232,35.854 "/> + <polygon fill="#FFFFFF" stroke="#FFF700" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 23.63,14.205 11.584,35.805 36.174,35.805 "/> + <polygon fill="#FFFFFF" stroke="#FFF800" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 23.631,14.253 11.643,35.753 36.117,35.753 "/> + <polygon fill="#FFFFFF" stroke="#FFF900" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 23.632,14.304 11.699,35.703 36.061,35.703 "/> + <polygon fill="#FFFFFF" stroke="#FFFA00" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 23.633,14.354 11.754,35.652 36.003,35.652 "/> + <polygon fill="#FFFFFF" stroke="#FFFB00" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 23.635,14.403 11.812,35.604 35.945,35.604 "/> + <polygon fill="#FFFFFF" stroke="#FFFC00" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 23.637,14.455 11.869,35.555 35.891,35.555 "/> + <polygon fill="#FFFFFF" stroke="#FFFD00" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 23.638,14.503 11.925,35.503 35.833,35.503 "/> + <polygon fill="#FFFFFF" stroke="#FFFE00" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 23.639,14.554 11.982,35.453 35.775,35.453 "/> + <path fill="#FFFFFF" stroke="#FFFF00" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" d="M23.64,14.604 + l-11.6,20.8h23.678L23.64,14.604z"/> + </g> + </g> + + <linearGradient id="XMLID_50_" gradientUnits="userSpaceOnUse" x1="395.8457" y1="758.1504" x2="395.8457" y2="785.7822" gradientTransform="matrix(1 0 0 1 -372 -747)"> + <stop offset="0" style="stop-color:#FFFFFF"/> + <stop offset="1" style="stop-color:#FFFF00"/> + </linearGradient> + <path fill="url(#XMLID_50_)" d="M38.891,34.532L26.055,12.519c-0.511-0.85-1.443-1.445-2.462-1.36 + c-1.02,0-1.955,0.595-2.465,1.445L8.8,34.617c-0.51,0.851-0.51,1.953,0,2.805c0.51,0.852,1.445,1.36,2.465,1.36h25.158 + c1.021,0,1.956-0.511,2.467-1.445C39.4,36.484,39.4,35.382,38.891,34.532L38.891,34.532z"/> + </g> + <g> + <path d="M23.929,33.948c-1.1,0-1.8-0.8-1.8-1.8c0-1.102,0.7-1.801,1.8-1.801c1.101,0,1.8,0.699,1.8,1.801 + C25.729,33.148,25.029,33.948,23.929,33.948L23.929,33.948z M22.729,29.248l-0.4-9.1h3.2l-0.399,9.1h-2.297H22.729z"/> + </g> +</g> +<g id="crop_x0020_marks"> + <path fill="none" d="M47.93,49.049H-0.071v-48H47.93V49.049z"/> +</g> +</svg> diff --git a/doc/help/xslt/images/colorsvg/home.svg b/doc/help/xslt/images/colorsvg/home.svg new file mode 100644 index 00000000..d6dbc01c --- /dev/null +++ b/doc/help/xslt/images/colorsvg/home.svg @@ -0,0 +1,498 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 12.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 51448) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [ + <!ENTITY ns_svg "http://www.w3.org/2000/svg"> + <!ENTITY ns_xlink "http://www.w3.org/1999/xlink"> +]> +<svg version="1.1" xmlns="&ns_svg;" xmlns:xlink="&ns_xlink;" width="48" height="48" viewBox="0 0 48 48" + overflow="visible" enable-background="new 0 0 48 48" xml:space="preserve"> +<g id="Home"> + <g> + <g id="Chimney"> + <g> + <path fill="#660000" d="M30.417,17.563c2.776,2.348,8.258,0.835,7.742,0.434c0-1.2,0-6.9,0-6.9c0-1.2-0.802-2-2-2h-4.802 + c-1,0-1.698,0.6-1.899,1.5C28.648,9.916,28.359,15.822,30.417,17.563z"/> + <path fill="#670000" d="M30.422,17.556c2.771,2.343,8.244,0.833,7.729,0.433c0-1.199,0-6.889,0-6.889 + c0-1.198-0.799-1.997-1.996-1.997h-4.793c-0.998,0-1.695,0.599-1.896,1.498C28.657,9.921,28.368,15.818,30.422,17.556z"/> + <path fill="#680000" d="M30.428,17.548c2.768,2.34,8.229,0.832,7.717,0.432c0-1.196,0-6.876,0-6.876 + c0-1.196-0.799-1.993-1.994-1.993h-4.783c-0.997,0-1.693,0.598-1.895,1.495C28.665,9.927,28.377,15.813,30.428,17.548z"/> + <path fill="#690000" d="M30.434,17.541c2.762,2.336,8.215,0.831,7.703,0.432c0-1.194,0-6.865,0-6.865 + c0-1.194-0.798-1.989-1.99-1.989H31.37c-0.994,0-1.69,0.596-1.892,1.492C28.674,9.932,28.387,15.809,30.434,17.541z"/> + <path fill="#6B0000" d="M30.438,17.533c2.758,2.332,8.203,0.829,7.69,0.431c0-1.192,0-6.853,0-6.853 + c0-1.192-0.796-1.987-1.987-1.987h-4.768c-0.993,0-1.688,0.596-1.889,1.49C28.682,9.937,28.395,15.804,30.438,17.533z"/> + <path fill="#6C0000" d="M30.443,17.525c2.752,2.328,8.188,0.828,7.677,0.43c0-1.19,0-6.841,0-6.841 + c0-1.19-0.795-1.983-1.983-1.983h-4.76c-0.99,0-1.686,0.595-1.885,1.487C28.689,9.943,28.402,15.799,30.443,17.525z"/> + <path fill="#6D0000" d="M30.448,17.518c2.747,2.323,8.174,0.826,7.663,0.429c0-1.188,0-6.829,0-6.829 + c0-1.188-0.793-1.979-1.979-1.979h-4.751c-0.99,0-1.682,0.593-1.881,1.485C28.698,9.949,28.412,15.795,30.448,17.518z"/> + <path fill="#6E0000" d="M30.454,17.51c2.743,2.32,8.159,0.825,7.649,0.429c0-1.187,0-6.818,0-6.818 + c0-1.186-0.791-1.976-1.977-1.976h-4.744c-0.986,0-1.679,0.592-1.877,1.482C28.707,9.954,28.421,15.791,30.454,17.51z"/> + <path fill="#6F0000" d="M30.46,17.503c2.738,2.315,8.146,0.824,7.636,0.427c0-1.184,0-6.806,0-6.806 + c0-1.184-0.789-1.973-1.972-1.973h-4.735c-0.986,0-1.677,0.592-1.875,1.479C28.715,9.96,28.43,15.786,30.46,17.503z"/> + <path fill="#700000" d="M30.465,17.495c2.733,2.312,8.131,0.822,7.623,0.427c0-1.182,0-6.794,0-6.794 + c0-1.182-0.789-1.969-1.969-1.969h-4.729c-0.983,0-1.673,0.59-1.871,1.477C28.725,9.965,28.438,15.781,30.465,17.495z"/> + <path fill="#720000" d="M30.471,17.487c2.729,2.308,8.116,0.821,7.609,0.426c0-1.18,0-6.782,0-6.782 + c0-1.179-0.787-1.966-1.967-1.966h-4.719c-0.982,0-1.67,0.589-1.867,1.475C28.73,9.97,28.447,15.776,30.471,17.487z"/> + <path fill="#730000" d="M30.477,17.48c2.724,2.304,8.103,0.819,7.597,0.426c0-1.178,0-6.771,0-6.771 + c0-1.177-0.786-1.962-1.962-1.962H31.4c-0.981,0-1.668,0.589-1.865,1.472C28.74,9.976,28.456,15.772,30.477,17.48z"/> + <path fill="#740000" d="M30.48,17.473c2.72,2.299,8.088,0.817,7.584,0.424c0-1.176,0-6.759,0-6.759 + c0-1.175-0.785-1.959-1.959-1.959h-4.703c-0.979,0-1.664,0.587-1.861,1.469C28.748,9.981,28.465,15.767,30.48,17.473z"/> + <path fill="#750000" d="M30.484,17.465c2.717,2.295,8.076,0.816,7.572,0.424c0-1.174,0-6.747,0-6.747 + c0-1.174-0.783-1.956-1.957-1.956h-4.693c-0.979,0-1.661,0.586-1.858,1.467C28.757,9.987,28.475,15.763,30.484,17.465z"/> + <path fill="#760000" d="M30.491,17.458c2.71,2.292,8.061,0.815,7.558,0.423c0-1.172,0-6.735,0-6.735 + c0-1.171-0.781-1.953-1.953-1.953H31.41c-0.977,0-1.658,0.585-1.854,1.465C28.766,9.993,28.482,15.758,30.491,17.458z"/> + <path fill="#770000" d="M30.496,17.45c2.706,2.288,8.047,0.813,7.545,0.422c0-1.17,0-6.724,0-6.724 + c0-1.169-0.781-1.949-1.949-1.949h-4.678c-0.975,0-1.656,0.584-1.854,1.461C28.773,9.998,28.491,15.754,30.496,17.45z"/> + <path fill="#790000" d="M30.502,17.442c2.701,2.284,8.032,0.812,7.531,0.422c0-1.167,0-6.712,0-6.712 + c0-1.167-0.779-1.945-1.945-1.945h-4.671c-0.972,0-1.651,0.583-1.849,1.458C28.781,10.004,28.5,15.749,30.502,17.442z"/> + <path fill="#7A0000" d="M30.507,17.435c2.696,2.28,8.019,0.811,7.519,0.421c0-1.166,0-6.7,0-6.7 + c0-1.166-0.777-1.942-1.942-1.942h-4.661c-0.971,0-1.648,0.583-1.845,1.457C28.79,10.009,28.509,15.745,30.507,17.435z"/> + <path fill="#7B0000" d="M30.514,17.427c2.689,2.276,8.004,0.81,7.504,0.42c0-1.164,0-6.688,0-6.688 + c0-1.163-0.776-1.938-1.938-1.938h-4.653c-0.97,0-1.646,0.582-1.842,1.454C28.798,10.014,28.518,15.74,30.514,17.427z"/> + <path fill="#7C0000" d="M30.518,17.42c2.688,2.271,7.99,0.808,7.491,0.419c0-1.162,0-6.677,0-6.677 + c0-1.161-0.774-1.935-1.935-1.935h-4.646c-0.968,0-1.645,0.58-1.839,1.451C28.807,10.02,28.525,15.736,30.518,17.42z"/> + <path fill="#7D0000" d="M30.521,17.412c2.683,2.268,7.978,0.806,7.479,0.418c0-1.159,0-6.665,0-6.665 + c0-1.159-0.774-1.932-1.933-1.932h-4.637c-0.967,0-1.642,0.58-1.836,1.449C28.814,10.025,28.535,15.73,30.521,17.412z"/> + <path fill="#7E0000" d="M30.527,17.404c2.678,2.264,7.963,0.805,7.466,0.418c0-1.157,0-6.652,0-6.652 + c0-1.158-0.772-1.929-1.929-1.929h-4.629c-0.965,0-1.639,0.578-1.832,1.446C28.823,10.031,28.544,15.726,30.527,17.404z"/> + <path fill="#800000" d="M30.533,17.397c2.673,2.26,7.947,0.804,7.451,0.417c0-1.155,0-6.641,0-6.641 + c0-1.155-0.771-1.925-1.924-1.925h-4.621c-0.963,0-1.635,0.577-1.83,1.443C28.831,10.037,28.553,15.722,30.533,17.397z"/> + <path fill="#810000" d="M30.538,17.39c2.668,2.255,7.935,0.802,7.438,0.417c0-1.153,0-6.629,0-6.629 + c0-1.153-0.77-1.922-1.922-1.922h-4.611c-0.961,0-1.633,0.576-1.826,1.442C28.84,10.042,28.562,15.717,30.538,17.39z"/> + <path fill="#820000" d="M30.544,17.382c2.663,2.252,7.92,0.801,7.427,0.416c0-1.151,0-6.618,0-6.618 + c0-1.151-0.77-1.918-1.92-1.918h-4.604c-0.961,0-1.631,0.575-1.823,1.438C28.85,10.047,28.57,15.713,30.544,17.382z"/> + <path fill="#830000" d="M30.549,17.375c2.659,2.248,7.906,0.799,7.413,0.415c0-1.149,0-6.606,0-6.606 + c0-1.149-0.769-1.915-1.915-1.915H31.45c-0.957,0-1.626,0.574-1.819,1.436C28.855,10.053,28.579,15.708,30.549,17.375z"/> + <path fill="#840000" d="M30.555,17.367c2.653,2.243,7.893,0.797,7.399,0.414c0-1.147,0-6.594,0-6.594 + c0-1.147-0.767-1.911-1.912-1.911h-4.588c-0.955,0-1.623,0.573-1.815,1.434C28.865,10.059,28.588,15.704,30.555,17.367z"/> + <path fill="#850000" d="M30.561,17.359c2.648,2.24,7.877,0.797,7.387,0.414c0-1.145,0-6.583,0-6.583 + c0-1.145-0.766-1.908-1.908-1.908h-4.58c-0.954,0-1.621,0.572-1.812,1.431C28.873,10.064,28.598,15.699,30.561,17.359z"/> + <path fill="#860000" d="M30.564,17.352c2.645,2.235,7.863,0.795,7.373,0.413c0-1.143,0-6.57,0-6.57 + c0-1.143-0.764-1.905-1.904-1.905h-4.571c-0.953,0-1.618,0.571-1.81,1.428C28.882,10.069,28.605,15.694,30.564,17.352z"/> + <path fill="#880000" d="M30.57,17.344c2.64,2.232,7.85,0.794,7.359,0.412c0-1.141,0-6.559,0-6.559 + c0-1.141-0.762-1.901-1.902-1.901h-4.562c-0.949,0-1.613,0.57-1.806,1.426C28.891,10.075,28.613,15.689,30.57,17.344z"/> + <path fill="#890000" d="M30.576,17.337c2.634,2.228,7.835,0.792,7.346,0.411c0-1.139,0-6.547,0-6.547 + c0-1.139-0.76-1.898-1.896-1.898h-4.557c-0.947,0-1.611,0.569-1.803,1.423C28.898,10.08,28.623,15.685,30.576,17.337z"/> + <path fill="#8A0000" d="M30.581,17.33c2.63,2.223,7.821,0.79,7.333,0.41c0-1.137,0-6.535,0-6.535 + c0-1.137-0.76-1.894-1.895-1.894h-4.547c-0.947,0-1.609,0.567-1.801,1.421C28.906,10.086,28.632,15.681,30.581,17.33z"/> + <path fill="#8B0000" d="M30.587,17.321c2.625,2.22,7.808,0.79,7.319,0.41c0-1.135,0-6.523,0-6.523 + c0-1.135-0.758-1.891-1.891-1.891h-4.539c-0.945,0-1.606,0.567-1.797,1.418C28.915,10.091,28.641,15.676,30.587,17.321z"/> + <path fill="#8C0000" d="M30.592,17.314c2.62,2.216,7.793,0.788,7.307,0.409c0-1.132,0-6.512,0-6.512 + c0-1.132-0.756-1.887-1.887-1.887H31.48c-0.943,0-1.604,0.566-1.793,1.416C28.923,10.097,28.648,15.671,30.592,17.314z"/> + <path fill="#8D0000" d="M30.598,17.307c2.614,2.211,7.778,0.787,7.293,0.409c0-1.131,0-6.5,0-6.5 + c0-1.13-0.754-1.884-1.884-1.884h-4.522c-0.941,0-1.601,0.564-1.791,1.413C28.932,10.103,28.658,15.667,30.598,17.307z"/> + <path fill="#8F0000" d="M30.604,17.299c2.609,2.208,7.765,0.785,7.279,0.408c0-1.128,0-6.488,0-6.488 + c0-1.128-0.753-1.881-1.881-1.881h-4.516c-0.939,0-1.598,0.564-1.786,1.411C28.939,10.107,28.668,15.662,30.604,17.299z"/> + <path fill="#900000" d="M30.607,17.292c2.605,2.204,7.75,0.784,7.268,0.407c0-1.127,0-6.477,0-6.477 + c0-1.127-0.753-1.877-1.878-1.877h-4.506c-0.938,0-1.595,0.563-1.783,1.408C28.948,10.113,28.676,15.658,30.607,17.292z"/> + <path fill="#910000" d="M30.611,17.284c2.604,2.199,7.738,0.782,7.256,0.406c0-1.124,0-6.464,0-6.464 + c0-1.125-0.751-1.874-1.874-1.874h-4.498c-0.938,0-1.593,0.562-1.781,1.405C28.956,10.119,28.686,15.653,30.611,17.284z"/> + <path fill="#920000" d="M30.618,17.276c2.597,2.196,7.723,0.781,7.241,0.406c0-1.123,0-6.453,0-6.453 + c0-1.123-0.75-1.871-1.871-1.871h-4.49c-0.936,0-1.588,0.561-1.775,1.403C28.965,10.124,28.693,15.649,30.618,17.276z"/> + <path fill="#930000" d="M30.623,17.269c2.592,2.191,7.709,0.779,7.229,0.404c0-1.12,0-6.441,0-6.441 + c0-1.121-0.748-1.867-1.867-1.867h-4.481c-0.935,0-1.586,0.56-1.772,1.4C28.973,10.13,28.703,15.644,30.623,17.269z"/> + <path fill="#940000" d="M30.629,17.261c2.587,2.188,7.694,0.778,7.214,0.404c0-1.119,0-6.43,0-6.43 + c0-1.119-0.745-1.863-1.862-1.863h-4.475c-0.932,0-1.583,0.559-1.771,1.397C28.98,10.135,28.711,15.64,30.629,17.261z"/> + <path fill="#960000" d="M30.634,17.254c2.583,2.184,7.681,0.776,7.201,0.403c0-1.116,0-6.417,0-6.417 + c0-1.116-0.745-1.86-1.86-1.86H31.51c-0.93,0-1.58,0.558-1.768,1.395C28.988,10.141,28.721,15.635,30.634,17.254z"/> + <path fill="#970000" d="M30.641,17.247c2.576,2.179,7.666,0.775,7.188,0.402c0-1.115,0-6.406,0-6.406 + c0-1.114-0.744-1.856-1.855-1.856h-4.459c-0.928,0-1.576,0.557-1.764,1.393C28.998,10.146,28.729,15.63,30.641,17.247z"/> + <path fill="#980000" d="M30.645,17.239c2.573,2.176,7.652,0.774,7.176,0.401c0-1.112,0-6.394,0-6.394 + c0-1.112-0.742-1.853-1.854-1.853h-4.448c-0.928,0-1.574,0.556-1.762,1.39C29.006,10.151,28.738,15.625,30.645,17.239z"/> + <path fill="#990000" d="M30.65,17.231c2.567,2.172,7.638,0.772,7.16,0.401c0-1.11,0-6.383,0-6.383c0-1.11-0.74-1.85-1.85-1.85 + H31.52c-0.924,0-1.57,0.555-1.758,1.387C29.016,10.157,28.747,15.621,30.65,17.231z"/> + <path fill="#9A0000" d="M30.654,17.224c2.563,2.167,7.625,0.771,7.148,0.4c0-1.108,0-6.371,0-6.371 + c0-1.108-0.74-1.846-1.847-1.846h-4.433c-0.924,0-1.568,0.554-1.756,1.385C29.021,10.163,28.755,15.616,30.654,17.224z"/> + <path fill="#9B0000" d="M30.66,17.216c2.561,2.164,7.609,0.769,7.136,0.399c0-1.106,0-6.359,0-6.359 + c0-1.106-0.737-1.843-1.844-1.843h-4.425c-0.922,0-1.564,0.553-1.752,1.382C29.031,10.168,28.766,15.612,30.66,17.216z"/> + <path fill="#9C0000" d="M30.666,17.209c2.555,2.16,7.596,0.768,7.122,0.399c0-1.104,0-6.347,0-6.347 + c0-1.104-0.737-1.84-1.84-1.84h-4.417c-0.92,0-1.562,0.552-1.748,1.38C29.039,10.174,28.771,15.607,30.666,17.209z"/> + <path fill="#9E0000" d="M30.671,17.201c2.55,2.155,7.582,0.767,7.108,0.398c0-1.102,0-6.335,0-6.335 + c0-1.102-0.735-1.836-1.836-1.836h-4.408c-0.918,0-1.561,0.551-1.745,1.377C29.048,10.179,28.782,15.603,30.671,17.201z"/> + <path fill="#9F0000" d="M30.677,17.193c2.544,2.152,7.567,0.765,7.097,0.397c0-1.1,0-6.324,0-6.324 + c0-1.1-0.735-1.833-1.834-1.833H31.54c-0.916,0-1.558,0.549-1.741,1.375C29.057,10.185,28.79,15.598,30.677,17.193z"/> + <path fill="#A00000" d="M30.682,17.186c2.541,2.147,7.555,0.764,7.082,0.396c0-1.098,0-6.312,0-6.312 + c0-1.098-0.731-1.829-1.828-1.829h-4.393c-0.915,0-1.555,0.548-1.738,1.372C29.064,10.19,28.8,15.594,30.682,17.186z"/> + <path fill="#A10000" d="M30.688,17.178c2.535,2.144,7.539,0.763,7.068,0.396c0-1.096,0-6.3,0-6.3 + c0-1.096-0.73-1.826-1.826-1.826h-4.384c-0.912,0-1.551,0.547-1.733,1.37C29.072,10.196,28.809,15.589,30.688,17.178z"/> + <path fill="#A20000" d="M30.691,17.171c2.531,2.14,7.525,0.761,7.057,0.395c0-1.094,0-6.289,0-6.289 + c0-1.093-0.73-1.822-1.822-1.822H31.55c-0.911,0-1.548,0.546-1.731,1.367C29.081,10.201,28.816,15.584,30.691,17.171z"/> + <path fill="#A30000" d="M30.697,17.163c2.525,2.136,7.512,0.76,7.043,0.395c0-1.092,0-6.277,0-6.277 + c0-1.091-0.729-1.819-1.819-1.819h-4.366c-0.91,0-1.546,0.545-1.729,1.365C29.089,10.207,28.825,15.58,30.697,17.163z"/> + <path fill="#A50000" d="M30.703,17.156c2.521,2.132,7.497,0.758,7.029,0.394c0-1.09,0-6.265,0-6.265 + c0-1.09-0.729-1.816-1.815-1.816h-4.358c-0.908,0-1.543,0.544-1.727,1.362C29.098,10.212,28.835,15.575,30.703,17.156z"/> + <path fill="#A60000" d="M30.708,17.148c2.517,2.127,7.483,0.756,7.017,0.393c0-1.087,0-6.253,0-6.253 + c0-1.088-0.727-1.812-1.812-1.812h-4.351c-0.906,0-1.541,0.543-1.724,1.359C29.105,10.218,28.844,15.571,30.708,17.148z"/> + <path fill="#A70000" d="M30.714,17.141c2.511,2.124,7.47,0.755,7.003,0.392c0-1.086,0-6.241,0-6.241 + c0-1.085-0.725-1.809-1.81-1.809h-4.343c-0.904,0-1.537,0.542-1.719,1.357C29.113,10.223,28.854,15.566,30.714,17.141z"/> + <path fill="#A80000" d="M30.719,17.133c2.508,2.12,7.455,0.753,6.99,0.391c0-1.083,0-6.229,0-6.229 + c0-1.083-0.725-1.806-1.807-1.806h-4.334c-0.902,0-1.533,0.542-1.717,1.354C29.122,10.229,28.861,15.562,30.719,17.133z"/> + <path fill="#A90000" d="M30.725,17.125c2.502,2.116,7.44,0.752,6.978,0.391c0-1.082,0-6.218,0-6.218 + c0-1.081-0.724-1.802-1.804-1.802h-4.325c-0.901,0-1.53,0.54-1.714,1.352C29.131,10.234,28.87,15.557,30.725,17.125z"/> + <path fill="#AA0000" d="M30.729,17.118c2.498,2.111,7.428,0.75,6.965,0.39c0-1.08,0-6.206,0-6.206 + c0-1.079-0.721-1.798-1.799-1.798h-4.318c-0.899,0-1.528,0.539-1.71,1.349C29.139,10.24,28.879,15.552,30.729,17.118z"/> + <path fill="#AC0000" d="M30.734,17.11c2.492,2.108,7.412,0.75,6.951,0.389c0-1.078,0-6.194,0-6.194 + c0-1.077-0.721-1.795-1.797-1.795h-4.311c-0.896,0-1.523,0.538-1.705,1.346C29.146,10.245,28.889,15.548,30.734,17.11z"/> + <path fill="#AD0000" d="M30.74,17.103c2.486,2.104,7.398,0.748,6.937,0.389c0-1.076,0-6.183,0-6.183 + c0-1.075-0.718-1.792-1.792-1.792h-4.302c-0.896,0-1.521,0.537-1.702,1.344C29.154,10.251,28.896,15.543,30.74,17.103z"/> + <path fill="#AE0000" d="M30.745,17.096c2.483,2.1,7.385,0.746,6.924,0.388c0-1.074,0-6.171,0-6.171 + c0-1.073-0.717-1.789-1.788-1.789h-4.294c-0.896,0-1.519,0.537-1.698,1.341C29.164,10.256,28.904,15.539,30.745,17.096z"/> + <path fill="#AF0000" d="M30.751,17.088c2.478,2.096,7.37,0.745,6.91,0.387c0-1.072,0-6.159,0-6.159 + c0-1.071-0.716-1.785-1.785-1.785h-4.285c-0.893,0-1.517,0.535-1.696,1.339C29.172,10.262,28.914,15.534,30.751,17.088z"/> + <path fill="#B00000" d="M30.756,17.08c2.475,2.092,7.355,0.744,6.896,0.387c0-1.07,0-6.147,0-6.147 + c0-1.069-0.713-1.782-1.781-1.782h-4.277c-0.891,0-1.513,0.535-1.691,1.336C29.182,10.267,28.923,15.53,30.756,17.08z"/> + <path fill="#B10000" d="M30.762,17.073c2.469,2.088,7.342,0.743,6.885,0.386c0-1.067,0-6.136,0-6.136 + c0-1.067-0.713-1.778-1.778-1.778h-4.271c-0.889,0-1.51,0.533-1.688,1.334C29.188,10.272,28.932,15.525,30.762,17.073z"/> + <path fill="#B30000" d="M30.768,17.065c2.463,2.083,7.328,0.741,6.871,0.385c0-1.065,0-6.124,0-6.124 + c0-1.065-0.712-1.775-1.775-1.775h-4.262c-0.887,0-1.506,0.532-1.687,1.332C29.197,10.278,28.939,15.521,30.768,17.065z"/> + <path fill="#B40000" d="M30.771,17.058c2.459,2.08,7.313,0.74,6.857,0.384c0-1.063,0-6.112,0-6.112 + c0-1.063-0.71-1.771-1.771-1.771h-4.252c-0.887,0-1.506,0.531-1.685,1.329C29.205,10.284,28.949,15.516,30.771,17.058z"/> + <path fill="#B50000" d="M30.777,17.05c2.453,2.076,7.3,0.738,6.845,0.383c0-1.062,0-6.101,0-6.101 + c0-1.061-0.709-1.768-1.769-1.768h-4.244c-0.885,0-1.502,0.53-1.682,1.326C29.214,10.289,28.958,15.511,30.777,17.05z"/> + <path fill="#B60000" d="M30.782,17.043c2.45,2.071,7.286,0.736,6.831,0.382c0-1.059,0-6.088,0-6.088 + c0-1.059-0.707-1.765-1.766-1.765h-4.236c-0.881,0-1.498,0.529-1.676,1.323C29.223,10.294,28.967,15.507,30.782,17.043z"/> + <path fill="#B70000" d="M30.787,17.035c2.445,2.067,7.271,0.735,6.818,0.382c0-1.057,0-6.077,0-6.077 + c0-1.057-0.705-1.761-1.762-1.761h-4.229c-0.881,0-1.495,0.528-1.674,1.321C29.23,10.3,28.977,15.502,30.787,17.035z"/> + <path fill="#B80000" d="M30.793,17.028c2.439,2.063,7.258,0.733,6.807,0.381c0-1.055,0-6.065,0-6.065 + c0-1.055-0.705-1.758-1.76-1.758h-4.22c-0.879,0-1.493,0.527-1.67,1.318C29.238,10.306,28.984,15.498,30.793,17.028z"/> + <path fill="#B90000" d="M30.798,17.02c2.437,2.06,7.244,0.732,6.792,0.38c0-1.053,0-6.053,0-6.053 + c0-1.053-0.703-1.754-1.754-1.754h-4.212c-0.877,0-1.49,0.526-1.667,1.316C29.247,10.311,28.993,15.493,30.798,17.02z"/> + <path fill="#BB0000" d="M30.805,17.013c2.43,2.056,7.229,0.731,6.777,0.379c0-1.051,0-6.042,0-6.042 + c0-1.051-0.701-1.751-1.751-1.751h-4.204c-0.875,0-1.486,0.525-1.663,1.313C29.255,10.316,29.002,15.488,30.805,17.013z"/> + <path fill="#BC0000" d="M30.809,17.005c2.428,2.052,7.217,0.729,6.767,0.379c0-1.049,0-6.03,0-6.03 + c0-1.048-0.7-1.748-1.748-1.748h-4.195c-0.873,0-1.483,0.524-1.659,1.311C29.264,10.322,29.012,15.484,30.809,17.005z"/> + <path fill="#BD0000" d="M30.814,16.998c2.42,2.047,7.201,0.728,6.752,0.378c0-1.047,0-6.018,0-6.018 + c0-1.046-0.699-1.744-1.744-1.744h-4.188c-0.872,0-1.481,0.523-1.657,1.309C29.271,10.328,29.02,15.48,30.814,16.998z"/> + <path fill="#BE0000" d="M30.818,16.99c2.418,2.044,7.188,0.727,6.74,0.377c0-1.045,0-6.006,0-6.006 + c0-1.044-0.699-1.74-1.742-1.74h-4.178c-0.871,0-1.479,0.522-1.654,1.305C29.279,10.333,29.027,15.475,30.818,16.99z"/> + <path fill="#BF0000" d="M30.824,16.982c2.412,2.04,7.174,0.725,6.727,0.376c0-1.043,0-5.994,0-5.994 + c0-1.043-0.695-1.737-1.736-1.737h-4.172c-0.869,0-1.476,0.521-1.65,1.303C29.288,10.338,29.037,15.47,30.824,16.982z"/> + <path fill="#C00000" d="M30.83,16.975c2.406,2.036,7.158,0.724,6.713,0.376c0-1.041,0-5.982,0-5.982 + c0-1.041-0.695-1.734-1.734-1.734h-4.162c-0.867,0-1.473,0.52-1.647,1.3C29.297,10.344,29.046,15.466,30.83,16.975z"/> + <path fill="#C20000" d="M30.835,16.967c2.403,2.032,7.146,0.722,6.7,0.375c0-1.039,0-5.971,0-5.971 + c0-1.039-0.694-1.73-1.73-1.73H31.65c-0.865,0-1.471,0.519-1.646,1.298C29.305,10.35,29.055,15.461,30.835,16.967z"/> + <path fill="#C30000" d="M30.841,16.96c2.397,2.027,7.132,0.721,6.687,0.375c0-1.037,0-5.959,0-5.959 + c0-1.037-0.691-1.727-1.728-1.727h-4.146c-0.863,0-1.467,0.518-1.643,1.295C29.312,10.355,29.062,15.457,30.841,16.96z"/> + <path fill="#C40000" d="M30.846,16.952c2.395,2.023,7.117,0.72,6.674,0.374c0-1.035,0-5.948,0-5.948 + c0-1.034-0.69-1.724-1.725-1.724h-4.138c-0.862,0-1.464,0.517-1.64,1.293C29.32,10.36,29.072,15.452,30.846,16.952z"/> + <path fill="#C50000" d="M30.852,16.945c2.39,2.02,7.104,0.718,6.66,0.373c0-1.033,0-5.936,0-5.936 + c0-1.032-0.689-1.72-1.721-1.72H31.66c-0.859,0-1.46,0.516-1.635,1.291C29.33,10.366,29.081,15.447,30.852,16.945z"/> + <path fill="#C60000" d="M30.855,16.937c2.385,2.016,7.09,0.717,6.646,0.373c0-1.031,0-5.924,0-5.924 + c0-1.03-0.688-1.717-1.717-1.717h-4.122c-0.858,0-1.458,0.515-1.631,1.288C29.338,10.372,29.09,15.443,30.855,16.937z"/> + <path fill="#C70000" d="M30.861,16.93c2.38,2.012,7.074,0.715,6.634,0.372c0-1.029,0-5.913,0-5.913 + c0-1.028-0.687-1.713-1.714-1.713h-4.113c-0.855,0-1.455,0.514-1.628,1.285C29.348,10.377,29.1,15.438,30.861,16.93z"/> + <path fill="#C90000" d="M30.867,16.922c2.374,2.008,7.061,0.714,6.619,0.371c0-1.027,0-5.9,0-5.9c0-1.026-0.686-1.71-1.709-1.71 + h-4.105c-0.855,0-1.451,0.513-1.625,1.282C29.354,10.382,29.107,15.434,30.867,16.922z"/> + <path fill="#CA0000" d="M30.872,16.915c2.37,2.003,7.047,0.712,6.606,0.37c0-1.024,0-5.889,0-5.889 + c0-1.024-0.685-1.707-1.707-1.707h-4.098c-0.854,0-1.447,0.512-1.621,1.28C29.363,10.388,29.116,15.429,30.872,16.915z"/> + <path fill="#CB0000" d="M30.878,16.907c2.364,2,7.032,0.711,6.595,0.37c0-1.022,0-5.877,0-5.877 + c0-1.022-0.684-1.703-1.703-1.703h-4.09c-0.853,0-1.447,0.511-1.619,1.277C29.371,10.394,29.125,15.424,30.878,16.907z"/> + <path fill="#CC0000" d="M30.883,16.899c2.36,1.996,7.02,0.709,6.581,0.369c0-1.021,0-5.865,0-5.865c0-1.02-0.682-1.7-1.7-1.7 + h-4.08c-0.851,0-1.443,0.51-1.615,1.275C29.38,10.399,29.134,15.42,30.883,16.899z"/> + </g> + + <linearGradient id="Chimney_Highlight_1_" gradientUnits="userSpaceOnUse" x1="219.5195" y1="-239.7031" x2="219.5195" y2="-247.9902" gradientTransform="matrix(1 0 0 -1 -186 -230)"> + <stop offset="0" style="stop-color:#FFFFFF"/> + <stop offset="1" style="stop-color:#CC0000"/> + </linearGradient> + <path id="Chimney_Highlight" fill="url(#Chimney_Highlight_1_)" d="M30.883,16.899c2.36,1.996,7.02,0.709,6.581,0.369 + c0-1.021,0-5.865,0-5.865c0-1.02-0.682-1.7-1.7-1.7h-4.08c-0.851,0-1.443,0.51-1.615,1.275 + C29.38,10.399,29.134,15.42,30.883,16.899z"/> + </g> + <g id="House"> + <g> + <path fill="#FFCC00" d="M8.5,24.788c0,2.4,0,14.2,0,14.2c0,1.101,0.8,1.9,1.8,1.9h27.4c1.1,0,1.899-0.9,1.899-2 + c0,0,0-11.8,0-14.2C40.6,24.688,7.4,24.788,8.5,24.788z"/> + <path fill="#FFCD00" d="M8.545,24.812c0,2.395,0,14.159,0,14.159c0,1.097,0.798,1.895,1.794,1.895h27.322 + c1.097,0,1.894-0.897,1.894-1.993c0,0,0-11.767,0-14.16C40.552,24.711,7.448,24.812,8.545,24.812z"/> + <path fill="#FFCE00" d="M8.589,24.835c0,2.387,0,14.119,0,14.119c0,1.094,0.795,1.889,1.79,1.889h27.242 + c1.094,0,1.889-0.896,1.889-1.988c0,0,0-11.73,0-14.118C40.504,24.735,7.496,24.835,8.589,24.835z"/> + <path fill="#FFCF00" d="M8.634,24.857c0,2.38,0,14.077,0,14.077c0,1.091,0.793,1.884,1.785,1.884h27.163 + c1.09,0,1.883-0.894,1.883-1.981c0,0,0-11.698,0-14.078C40.456,24.758,7.543,24.857,8.634,24.857z"/> + <path fill="#FFD000" d="M8.68,24.88c0,2.373,0,14.037,0,14.037c0,1.088,0.791,1.879,1.779,1.879h27.084 + c1.087,0,1.877-0.892,1.877-1.979c0,0,0-11.663,0-14.036C40.409,24.782,7.592,24.88,8.68,24.88z"/> + <path fill="#FFD100" d="M8.725,24.903c0,2.366,0,13.995,0,13.995c0,1.085,0.788,1.874,1.773,1.874h27.006 + c1.083,0,1.872-0.889,1.872-1.973c0,0,0-11.629,0-13.994C40.361,24.806,7.64,24.903,8.725,24.903z"/> + <path fill="#FFD200" d="M8.769,24.925c0,2.359,0,13.955,0,13.955c0,1.082,0.786,1.867,1.769,1.867h26.926 + c1.081,0,1.866-0.884,1.866-1.965c0,0,0-11.596,0-13.953C40.312,24.829,7.688,24.925,8.769,24.925z"/> + <path fill="#FFD300" d="M8.814,24.949c0,2.354,0,13.914,0,13.914c0,1.078,0.784,1.861,1.763,1.861h26.848 + c1.077,0,1.86-0.882,1.86-1.959c0,0,0-11.562,0-13.914C40.266,24.852,7.736,24.949,8.814,24.949z"/> + <path fill="#FFD400" d="M8.858,24.973c0,2.345,0,13.872,0,13.872c0,1.074,0.781,1.855,1.758,1.855h26.768 + c1.074,0,1.854-0.88,1.854-1.953c0,0,0-11.526,0-13.873C40.217,24.876,7.784,24.973,8.858,24.973z"/> + <path fill="#FFD500" d="M8.903,24.997c0,2.338,0,13.83,0,13.83c0,1.072,0.779,1.853,1.753,1.853h26.689 + c1.07,0,1.85-0.877,1.85-1.948c0,0,0-11.493,0-13.832C40.17,24.898,7.832,24.997,8.903,24.997z"/> + <path fill="#FFD600" d="M8.949,25.019c0,2.331,0,13.791,0,13.791c0,1.068,0.777,1.846,1.748,1.846h26.61 + c1.067,0,1.846-0.875,1.846-1.941c0,0,0-11.459,0-13.791C40.122,24.921,7.88,25.019,8.949,25.019z"/> + <path fill="#FFD700" d="M8.993,25.042c0,2.324,0,13.75,0,13.75c0,1.064,0.774,1.84,1.743,1.84h26.532 + c1.064,0,1.838-0.871,1.838-1.937c0,0,0-11.426,0-13.75C40.074,24.945,7.928,25.042,8.993,25.042z"/> + <path fill="#FFD800" d="M9.039,25.065c0,2.316,0,13.708,0,13.708c0,1.063,0.772,1.835,1.737,1.835h26.453 + c1.062,0,1.834-0.869,1.834-1.931c0,0,0-11.392,0-13.71C40.027,24.968,7.977,25.065,9.039,25.065z"/> + <path fill="#FFD900" d="M9.083,25.087c0,2.312,0,13.668,0,13.668c0,1.061,0.77,1.83,1.732,1.83h26.373 + c1.06,0,1.828-0.867,1.828-1.926c0,0,0-11.356,0-13.668C39.979,24.993,8.024,25.087,9.083,25.087z"/> + <path fill="#FFDA00" d="M9.128,25.111c0,2.304,0,13.626,0,13.626c0,1.057,0.767,1.824,1.727,1.824h26.293 + c1.056,0,1.822-0.864,1.822-1.919c0,0,0-11.323,0-13.627C39.932,25.016,8.072,25.111,9.128,25.111z"/> + <path fill="#FFDB00" d="M9.172,25.134c0,2.297,0,13.586,0,13.586c0,1.053,0.766,1.818,1.722,1.818h26.215 + c1.052,0,1.816-0.861,1.816-1.914c0,0,0-11.289,0-13.586C39.884,25.04,8.12,25.134,9.172,25.134z"/> + <path fill="#FFDC00" d="M9.217,25.157c0,2.29,0,13.545,0,13.545c0,1.051,0.763,1.812,1.717,1.812H37.07 + c1.049,0,1.812-0.858,1.812-1.907c0,0,0-11.256,0-13.545C39.836,25.062,8.168,25.157,9.217,25.157z"/> + <path fill="#FFDD00" d="M9.263,25.18c0,2.282,0,13.505,0,13.505c0,1.046,0.76,1.807,1.711,1.807h26.055 + c1.047,0,1.808-0.855,1.808-1.902c0,0,0-11.221,0-13.502C39.788,25.085,8.216,25.18,9.263,25.18z"/> + <path fill="#FFDE00" d="M9.307,25.204c0,2.275,0,13.463,0,13.463c0,1.043,0.758,1.801,1.707,1.801h25.978 + c1.043,0,1.801-0.854,1.801-1.896c0,0,0-11.188,0-13.463C39.74,25.109,8.265,25.204,9.307,25.204z"/> + <path fill="#FFDF00" d="M9.352,25.226c0,2.27,0,13.423,0,13.423c0,1.04,0.756,1.796,1.701,1.796h25.899 + c1.039,0,1.795-0.852,1.795-1.89c0,0,0-11.153,0-13.423C39.691,25.132,8.312,25.226,9.352,25.226z"/> + <path fill="#FFE000" d="M9.397,25.251c0,2.262,0,13.379,0,13.379c0,1.037,0.753,1.791,1.696,1.791h25.819 + c1.036,0,1.79-0.849,1.79-1.883c0,0,0-11.119,0-13.383C39.645,25.155,8.36,25.251,9.397,25.251z"/> + <path fill="#FFE100" d="M9.442,25.272c0,2.255,0,13.34,0,13.34c0,1.034,0.751,1.785,1.691,1.785h25.74 + c1.033,0,1.784-0.846,1.784-1.879c0,0,0-11.084,0-13.34C39.598,25.179,8.408,25.272,9.442,25.272z"/> + <path fill="#FFE200" d="M9.486,25.296c0,2.248,0,13.299,0,13.299c0,1.029,0.749,1.779,1.686,1.779h25.662 + c1.029,0,1.777-0.844,1.777-1.873c0,0,0-11.051,0-13.299C39.549,25.202,8.457,25.296,9.486,25.296z"/> + <path fill="#FFE300" d="M9.532,25.318c0,2.241,0,13.259,0,13.259c0,1.027,0.747,1.773,1.68,1.773h25.583 + c1.025,0,1.771-0.84,1.771-1.866c0,0,0-11.017,0-13.259C39.502,25.226,8.504,25.318,9.532,25.318z"/> + <path fill="#FFE400" d="M9.577,25.341c0,2.234,0,13.218,0,13.218c0,1.024,0.744,1.769,1.675,1.769h25.503 + c1.022,0,1.769-0.838,1.769-1.859c0,0,0-10.983,0-13.219C39.454,25.249,8.553,25.341,9.577,25.341z"/> + <path fill="#FFE500" d="M9.621,25.364c0,2.229,0,13.178,0,13.178c0,1.021,0.742,1.763,1.67,1.763h25.424 + c1.02,0,1.764-0.835,1.764-1.855c0,0,0-10.948,0-13.176C39.406,25.272,8.601,25.364,9.621,25.364z"/> + <path fill="#FFE600" d="M9.666,25.388c0,2.221,0,13.135,0,13.135c0,1.02,0.74,1.758,1.665,1.758h25.345 + c1.018,0,1.758-0.832,1.758-1.85c0,0,0-10.914,0-13.135C39.357,25.296,8.648,25.388,9.666,25.388z"/> + <path fill="#FFE600" d="M9.711,25.411c0,2.215,0,13.094,0,13.094c0,1.016,0.737,1.754,1.66,1.754h25.266 + c1.016,0,1.752-0.83,1.752-1.846c0,0,0-10.879,0-13.094C39.311,25.319,8.696,25.411,9.711,25.411z"/> + <path fill="#FFE700" d="M9.756,25.434c0,2.207,0,13.054,0,13.054c0,1.012,0.735,1.747,1.654,1.747h25.188 + c1.012,0,1.746-0.827,1.746-1.839c0,0,0-10.846,0-13.053C39.264,25.343,8.745,25.434,9.756,25.434z"/> + <path fill="#FFE800" d="M9.801,25.458c0,2.199,0,13.013,0,13.013c0,1.008,0.732,1.741,1.649,1.741h25.108 + c1.008,0,1.74-0.825,1.74-1.834c0,0,0-10.812,0-13.012C39.215,25.366,8.792,25.458,9.801,25.458z"/> + <path fill="#FFE900" d="M9.845,25.48c0,2.192,0,12.972,0,12.972c0,1.006,0.73,1.735,1.644,1.735h25.029 + c1.006,0,1.735-0.822,1.735-1.827c0,0,0-10.777,0-12.971C39.167,25.39,8.84,25.48,9.845,25.48z"/> + <path fill="#FFEA00" d="M9.89,25.503c0,2.187,0,12.931,0,12.931c0,1.002,0.729,1.729,1.639,1.729h24.95 + c1.002,0,1.729-0.818,1.729-1.82c0,0,0-10.744,0-12.93C39.12,25.413,8.889,25.503,9.89,25.503z"/> + <path fill="#FFEB00" d="M9.935,25.526c0,2.18,0,12.891,0,12.891c0,0.998,0.726,1.725,1.634,1.725h24.871 + c1,0,1.726-0.817,1.726-1.814c0,0,0-10.711,0-12.89C39.072,25.437,8.937,25.526,9.935,25.526z"/> + <path fill="#FFEC00" d="M9.98,25.548c0,2.174,0,12.85,0,12.85c0,0.996,0.724,1.721,1.628,1.721H36.4 + c0.994,0,1.719-0.814,1.719-1.811c0,0,0-10.676,0-12.85C39.023,25.46,8.985,25.548,9.98,25.548z"/> + <path fill="#FFED00" d="M10.025,25.572c0,2.165,0,12.808,0,12.808c0,0.992,0.721,1.715,1.623,1.715h24.713 + c0.99,0,1.713-0.812,1.713-1.805c0,0,0-10.642,0-12.808C38.977,25.482,9.033,25.572,10.025,25.572z"/> + <path fill="#FFEE00" d="M10.07,25.595c0,2.158,0,12.768,0,12.768c0,0.989,0.719,1.708,1.618,1.708h24.635 + c0.987,0,1.706-0.809,1.706-1.798c0,0,0-10.607,0-12.768C38.93,25.505,9.081,25.595,10.07,25.595z"/> + <path fill="#FFEF00" d="M10.114,25.618c0,2.151,0,12.727,0,12.727c0,0.986,0.717,1.703,1.613,1.703h24.555 + c0.985,0,1.702-0.808,1.702-1.793c0,0,0-10.573,0-12.726C38.881,25.529,9.129,25.618,10.114,25.618z"/> + <path fill="#FFF000" d="M10.159,25.642c0,2.145,0,12.686,0,12.686c0,0.982,0.714,1.696,1.608,1.696h24.476 + c0.981,0,1.696-0.804,1.696-1.786c0,0,0-10.54,0-12.685C38.833,25.553,9.177,25.642,10.159,25.642z"/> + <path fill="#FFF100" d="M10.204,25.665c0,2.138,0,12.644,0,12.644c0,0.979,0.712,1.692,1.603,1.692h24.397 + c0.979,0,1.69-0.802,1.69-1.78c0,0,0-10.507,0-12.644C38.785,25.577,9.225,25.665,10.204,25.665z"/> + <path fill="#FFF200" d="M10.249,25.688c0,2.131,0,12.603,0,12.603c0,0.978,0.71,1.688,1.597,1.688h24.318 + c0.977,0,1.686-0.799,1.686-1.773c0,0,0-10.473,0-12.604C38.736,25.6,9.273,25.688,10.249,25.688z"/> + <path fill="#FFF300" d="M10.294,25.71c0,2.125,0,12.562,0,12.562c0,0.975,0.708,1.682,1.592,1.682h24.239 + c0.973,0,1.68-0.797,1.68-1.77c0,0,0-10.438,0-12.562C38.689,25.624,9.321,25.71,10.294,25.71z"/> + <path fill="#FFF400" d="M10.339,25.733c0,2.117,0,12.521,0,12.521c0,0.97,0.705,1.675,1.587,1.675h24.16 + c0.969,0,1.674-0.793,1.674-1.763c0,0,0-10.403,0-12.521C38.643,25.646,9.369,25.733,10.339,25.733z"/> + <path fill="#FFF500" d="M10.384,25.757c0,2.109,0,12.479,0,12.479c0,0.969,0.703,1.67,1.582,1.67h24.081 + c0.967,0,1.669-0.79,1.669-1.757c0,0,0-10.369,0-12.479C38.596,25.669,9.417,25.757,10.384,25.757z"/> + <path fill="#FFF600" d="M10.428,25.779c0,2.104,0,12.438,0,12.438c0,0.965,0.701,1.664,1.577,1.664h24.002 + c0.964,0,1.663-0.787,1.663-1.75c0,0,0-10.336,0-12.438C38.547,25.693,9.465,25.779,10.428,25.779z"/> + <path fill="#FFF700" d="M10.473,25.803c0,2.097,0,12.397,0,12.397c0,0.961,0.698,1.659,1.571,1.659h23.923 + c0.96,0,1.658-0.786,1.658-1.746c0,0,0-10.302,0-12.397C38.499,25.716,9.513,25.803,10.473,25.803z"/> + <path fill="#FFF800" d="M10.518,25.827c0,2.088,0,12.355,0,12.355c0,0.958,0.696,1.654,1.566,1.654h23.844 + c0.957,0,1.653-0.783,1.653-1.74c0,0,0-10.268,0-12.356C38.451,25.74,9.561,25.827,10.518,25.827z"/> + <path fill="#FFF900" d="M10.563,25.849c0,2.083,0,12.316,0,12.316c0,0.953,0.693,1.647,1.561,1.647h23.765 + c0.953,0,1.647-0.78,1.647-1.733c0,0,0-10.233,0-12.316C38.402,25.763,9.609,25.849,10.563,25.849z"/> + <path fill="#FFFA00" d="M10.608,25.872c0,2.075,0,12.275,0,12.275c0,0.951,0.691,1.643,1.556,1.643H35.85 + c0.95,0,1.643-0.777,1.643-1.729c0,0,0-10.199,0-12.275C38.355,25.786,9.657,25.872,10.608,25.872z"/> + <path fill="#FFFB00" d="M10.653,25.896c0,2.068,0,12.232,0,12.232c0,0.949,0.689,1.639,1.55,1.639h23.607 + c0.946,0,1.637-0.775,1.637-1.723c0,0,0-10.166,0-12.234C38.309,25.81,9.705,25.896,10.653,25.896z"/> + <path fill="#FFFC00" d="M10.697,25.917c0,2.062,0,12.193,0,12.193c0,0.945,0.687,1.633,1.545,1.633H35.77 + c0.944,0,1.631-0.772,1.631-1.718c0,0,0-10.132,0-12.192C38.262,25.833,9.753,25.917,10.697,25.917z"/> + <path fill="#FFFD00" d="M10.742,25.941c0,2.056,0,12.151,0,12.151c0,0.941,0.685,1.627,1.541,1.627h23.449 + c0.939,0,1.625-0.771,1.625-1.711c0,0,0-10.098,0-12.152C38.213,25.856,9.801,25.941,10.742,25.941z"/> + <path fill="#FFFE00" d="M10.787,25.964c0,2.048,0,12.11,0,12.11c0,0.939,0.682,1.621,1.535,1.621h23.37 + c0.938,0,1.619-0.768,1.619-1.705c0,0,0-10.062,0-12.11C38.165,25.88,9.849,25.964,10.787,25.964z"/> + <path fill="#FFFF00" d="M10.832,25.987c0,2.041,0,12.07,0,12.07c0,0.936,0.68,1.615,1.53,1.615h23.291 + c0.936,0,1.615-0.766,1.615-1.699c0,0,0-10.029,0-12.07C38.117,25.903,9.897,25.987,10.832,25.987z"/> + </g> + + <linearGradient id="House_Highlight_1_" gradientUnits="userSpaceOnUse" x1="210.0469" y1="-255.9038" x2="210.0469" y2="-269.6733" gradientTransform="matrix(1 0 0 -1 -186 -230)"> + <stop offset="0" style="stop-color:#FFFFFF"/> + <stop offset="1" style="stop-color:#FFFF00"/> + </linearGradient> + <path id="House_Highlight" fill="url(#House_Highlight_1_)" d="M10.832,25.987c0,2.041,0,12.07,0,12.07 + c0,0.936,0.68,1.615,1.53,1.615h23.291c0.936,0,1.615-0.766,1.615-1.699c0,0,0-10.029,0-12.07 + C38.117,25.903,9.897,25.987,10.832,25.987z"/> + </g> + <g id="Roof"> + <g> + <path fill="#006600" d="M22.8,6.963l-17.7,15.1l0,0c-0.3,0.301-0.5,0.801-0.5,1.2c0,0.2,0,0.399,0.1,0.601c0.3,0.6,0.9,1,1.6,1 + l35.3-0.1c0.801,0,1.4-0.5,1.7-1.201c0.101-0.199,0.101-0.4,0.101-0.6c0-0.5-0.199-1-0.699-1.4L25.4,6.963l0.1,0.1 + C24.8,6.363,23.7,6.263,22.8,6.963L22.8,6.963z"/> + <path fill="#006700" d="M22.803,6.989L5.155,22.044l0,0c-0.299,0.3-0.499,0.799-0.499,1.197c0,0.2,0,0.398,0.1,0.599 + c0.299,0.598,0.897,0.997,1.595,0.997l35.198-0.1c0.799,0,1.396-0.5,1.695-1.197c0.102-0.198,0.102-0.399,0.102-0.598 + c0-0.498-0.199-0.997-0.699-1.396L25.396,6.989l0.1,0.099C24.798,6.391,23.701,6.291,22.803,6.989L22.803,6.989z"/> + <path fill="#006800" d="M22.807,7.014L5.209,22.026l0,0c-0.298,0.299-0.497,0.796-0.497,1.193c0,0.199,0,0.397,0.1,0.598 + c0.298,0.596,0.895,0.994,1.591,0.994l35.096-0.1c0.796,0,1.394-0.498,1.69-1.194c0.1-0.198,0.1-0.397,0.1-0.596 + c0-0.497-0.198-0.995-0.696-1.393l-17.2-14.514l0.099,0.099C24.795,6.417,23.702,6.317,22.807,7.014L22.807,7.014z"/> + <path fill="#006900" d="M22.81,7.039L5.264,22.008l0,0c-0.298,0.298-0.496,0.793-0.496,1.189c0,0.198,0,0.396,0.099,0.596 + c0.297,0.594,0.893,0.99,1.586,0.99l34.995-0.099c0.794,0,1.388-0.497,1.686-1.19c0.101-0.198,0.101-0.397,0.101-0.594 + c0-0.496-0.198-0.991-0.694-1.389L25.389,7.039l0.1,0.099C24.793,6.444,23.703,6.345,22.81,7.039L22.81,7.039z"/> + <path fill="#006A00" d="M22.814,7.064L5.318,21.989l0,0c-0.296,0.298-0.494,0.792-0.494,1.187c0,0.198,0,0.395,0.099,0.594 + c0.295,0.593,0.89,0.987,1.582,0.987l34.892-0.098c0.793,0,1.386-0.494,1.682-1.187c0.1-0.197,0.1-0.396,0.1-0.593 + c0-0.494-0.197-0.988-0.691-1.384l-17.1-14.431l0.098,0.099C24.791,6.471,23.704,6.372,22.814,7.064L22.814,7.064z"/> + <path fill="#006B00" d="M22.817,7.089L5.373,21.971l0,0C5.077,22.267,4.88,22.76,4.88,23.154c0,0.197,0,0.394,0.099,0.592 + c0.295,0.591,0.887,0.984,1.577,0.984l34.792-0.099c0.789,0,1.381-0.493,1.676-1.183c0.1-0.196,0.1-0.395,0.1-0.591 + c0-0.493-0.197-0.986-0.689-1.38L25.381,7.089l0.098,0.098C24.788,6.498,23.705,6.399,22.817,7.089L22.817,7.089z"/> + <path fill="#006C00" d="M22.821,7.114L5.427,21.953l0,0c-0.295,0.295-0.492,0.787-0.492,1.179c0,0.197,0,0.393,0.099,0.59 + c0.294,0.589,0.884,0.981,1.572,0.981l34.688-0.098c0.787,0,1.376-0.492,1.671-1.181c0.1-0.196,0.1-0.393,0.1-0.589 + c0-0.492-0.196-0.983-0.688-1.376l-17-14.347l0.099,0.098C24.786,6.524,23.706,6.426,22.821,7.114L22.821,7.114z"/> + <path fill="#006D00" d="M22.824,7.139L5.481,21.934l0,0c-0.294,0.295-0.49,0.785-0.49,1.176c0,0.196,0,0.391,0.098,0.589 + c0.293,0.587,0.882,0.98,1.567,0.98l34.587-0.099c0.784,0,1.372-0.49,1.666-1.176c0.099-0.195,0.099-0.393,0.099-0.588 + c0-0.49-0.195-0.979-0.688-1.372L25.372,7.139l0.099,0.098C24.783,6.551,23.706,6.453,22.824,7.139L22.824,7.139z"/> + <path fill="#006E00" d="M22.827,7.164L5.536,21.915l0,0c-0.293,0.294-0.488,0.783-0.488,1.173c0,0.195,0,0.39,0.098,0.587 + c0.293,0.585,0.879,0.977,1.563,0.977l34.484-0.097c0.783,0,1.369-0.49,1.662-1.173c0.098-0.194,0.098-0.391,0.098-0.586 + c0-0.489-0.195-0.977-0.684-1.368L25.367,7.164l0.098,0.098C24.781,6.578,23.707,6.48,22.827,7.164L22.827,7.164z"/> + <path fill="#006F00" d="M22.831,7.189L5.591,21.897l0,0c-0.292,0.292-0.487,0.78-0.487,1.168c0,0.195,0,0.39,0.097,0.585 + c0.292,0.584,0.876,0.973,1.558,0.973l34.384-0.097c0.779,0,1.363-0.487,1.655-1.169c0.099-0.194,0.099-0.39,0.099-0.584 + c0-0.487-0.194-0.974-0.683-1.364L25.363,7.189l0.099,0.098C24.779,6.605,23.708,6.507,22.831,7.189L22.831,7.189z"/> + <path fill="#007000" d="M22.834,7.215L5.646,21.879l0,0c-0.292,0.292-0.486,0.778-0.486,1.165c0,0.195,0,0.388,0.098,0.584 + c0.291,0.582,0.874,0.971,1.554,0.971l34.281-0.098c0.778,0,1.36-0.485,1.651-1.166c0.098-0.193,0.098-0.389,0.098-0.583 + c0-0.485-0.193-0.971-0.68-1.36L25.359,7.215l0.098,0.097C24.775,6.632,23.709,6.535,22.834,7.215L22.834,7.215z"/> + <path fill="#007100" d="M22.838,7.24L5.7,21.86l0,0c-0.291,0.292-0.484,0.775-0.484,1.162c0,0.194,0,0.387,0.097,0.582 + c0.29,0.58,0.871,0.967,1.549,0.967l34.18-0.096c0.774,0,1.354-0.484,1.646-1.162c0.1-0.193,0.1-0.388,0.1-0.581 + c0-0.484-0.194-0.968-0.68-1.356L25.355,7.24l0.097,0.097C24.773,6.659,23.709,6.562,22.838,7.24L22.838,7.24z"/> + <path fill="#007200" d="M22.842,7.265L5.755,21.842l0,0C5.465,22.133,5.272,22.615,5.272,23c0,0.194,0,0.386,0.097,0.581 + c0.289,0.578,0.868,0.964,1.544,0.964l34.077-0.096c0.773,0,1.353-0.483,1.642-1.159c0.097-0.192,0.097-0.387,0.097-0.579 + c0-0.483-0.191-0.965-0.676-1.352L25.352,7.265l0.098,0.096C24.771,6.686,23.711,6.589,22.842,7.265L22.842,7.265z"/> + <path fill="#007300" d="M22.845,7.29L5.809,21.824l0,0c-0.29,0.29-0.481,0.771-0.481,1.155c0,0.193,0,0.385,0.096,0.579 + c0.289,0.577,0.867,0.961,1.54,0.961l33.976-0.097c0.771,0,1.35-0.481,1.638-1.155c0.097-0.192,0.097-0.386,0.097-0.577 + c0-0.481-0.191-0.963-0.674-1.348L25.348,7.29l0.098,0.096C24.771,6.712,23.711,6.616,22.845,7.29L22.845,7.29z"/> + <path fill="#007400" d="M22.848,7.315L5.863,21.805l0,0c-0.288,0.289-0.48,0.769-0.48,1.152c0,0.192,0,0.383,0.096,0.576 + c0.288,0.575,0.864,0.959,1.535,0.959l33.875-0.096c0.769,0,1.344-0.479,1.631-1.152c0.098-0.191,0.098-0.384,0.098-0.575 + c0-0.479-0.192-0.959-0.672-1.344L25.344,7.315l0.096,0.096C24.768,6.739,23.712,6.643,22.848,7.315L22.848,7.315z"/> + <path fill="#007500" d="M22.852,7.34L5.918,21.787l0,0c-0.288,0.288-0.479,0.767-0.479,1.148c0,0.191,0,0.382,0.096,0.575 + c0.287,0.574,0.861,0.956,1.53,0.956l33.772-0.096c0.767,0,1.34-0.478,1.627-1.148c0.097-0.19,0.097-0.383,0.097-0.574 + c0-0.479-0.19-0.957-0.67-1.34L25.34,7.34l0.096,0.095C24.766,6.767,23.713,6.67,22.852,7.34L22.852,7.34z"/> + <path fill="#007600" d="M22.855,7.365L5.973,21.768l0,0c-0.287,0.287-0.477,0.764-0.477,1.145c0,0.191,0,0.381,0.095,0.573 + c0.286,0.572,0.858,0.953,1.526,0.953l33.67-0.095c0.764,0,1.336-0.477,1.622-1.146c0.096-0.19,0.096-0.382,0.096-0.572 + c0-0.477-0.19-0.954-0.668-1.336L25.336,7.365l0.096,0.095C24.764,6.793,23.714,6.697,22.855,7.365L22.855,7.365z"/> + <path fill="#007700" d="M22.858,7.391L6.027,21.75l0,0c-0.286,0.286-0.476,0.762-0.476,1.142c0,0.19,0,0.38,0.095,0.571 + c0.285,0.57,0.856,0.95,1.521,0.95l33.567-0.095c0.763,0,1.332-0.476,1.617-1.141c0.097-0.189,0.097-0.381,0.097-0.57 + c0-0.476-0.19-0.951-0.666-1.332L25.331,7.391l0.096,0.095C24.762,6.82,23.715,6.725,22.858,7.391L22.858,7.391z"/> + <path fill="#007800" d="M22.862,7.416L6.082,21.731l0,0c-0.285,0.285-0.475,0.759-0.475,1.138c0,0.19,0,0.379,0.095,0.57 + c0.284,0.568,0.854,0.947,1.517,0.947l33.467-0.095c0.76,0,1.328-0.474,1.61-1.138c0.097-0.189,0.097-0.379,0.097-0.568 + c0-0.474-0.189-0.948-0.664-1.328L25.327,7.416l0.095,0.095C24.758,6.847,23.716,6.751,22.862,7.416L22.862,7.416z"/> + <path fill="#007900" d="M22.865,7.441L6.136,21.713l0,0c-0.284,0.284-0.473,0.757-0.473,1.135c0,0.189,0,0.377,0.095,0.567 + c0.283,0.567,0.851,0.944,1.512,0.944l33.365-0.094c0.758,0,1.324-0.473,1.607-1.135c0.095-0.188,0.095-0.378,0.095-0.566 + c0-0.473-0.188-0.945-0.662-1.324L25.323,7.441l0.095,0.094C24.756,6.874,23.716,6.779,22.865,7.441L22.865,7.441z"/> + <path fill="#007A00" d="M22.869,7.466L6.19,21.694l0,0c-0.283,0.283-0.471,0.754-0.471,1.131c0,0.188,0,0.376,0.094,0.566 + c0.283,0.564,0.848,0.941,1.507,0.941l33.263-0.094c0.755,0,1.319-0.471,1.603-1.131c0.096-0.188,0.096-0.377,0.096-0.565 + c0-0.471-0.188-0.942-0.66-1.32L25.318,7.466l0.095,0.094C24.754,6.901,23.717,6.806,22.869,7.466L22.869,7.466z"/> + <path fill="#007B00" d="M22.872,7.491L6.245,21.676l0,0c-0.282,0.283-0.47,0.752-0.47,1.128c0,0.188,0,0.375,0.094,0.564 + c0.282,0.563,0.846,0.939,1.503,0.939l33.161-0.094c0.753,0,1.316-0.469,1.598-1.127c0.096-0.187,0.096-0.376,0.096-0.563 + c0-0.47-0.188-0.939-0.658-1.316L25.314,7.491l0.095,0.094C24.751,6.927,23.718,6.833,22.872,7.491L22.872,7.491z"/> + <path fill="#007C00" d="M22.876,7.516L6.299,21.658l0,0c-0.281,0.281-0.468,0.75-0.468,1.124c0,0.188,0,0.374,0.094,0.562 + c0.281,0.562,0.843,0.936,1.499,0.936l33.059-0.093c0.75,0,1.312-0.468,1.594-1.124c0.094-0.187,0.094-0.375,0.094-0.562 + c0-0.468-0.188-0.937-0.656-1.312L25.312,7.516l0.094,0.094C24.749,6.954,23.719,6.86,22.876,7.516L22.876,7.516z"/> + <path fill="#007D00" d="M22.879,7.542L6.354,21.639l0,0c-0.281,0.281-0.467,0.748-0.467,1.121c0,0.187,0,0.373,0.094,0.561 + c0.28,0.56,0.84,0.933,1.494,0.933l32.958-0.093c0.748,0,1.308-0.467,1.586-1.121c0.096-0.186,0.096-0.374,0.096-0.56 + c0-0.467-0.188-0.934-0.654-1.307L25.307,7.542L25.4,7.635C24.746,6.981,23.72,6.887,22.879,7.542L22.879,7.542z"/> + <path fill="#007E00" d="M22.883,7.566L6.408,21.621l0,0c-0.279,0.28-0.465,0.745-0.465,1.117c0,0.187,0,0.372,0.093,0.559 + c0.279,0.558,0.838,0.93,1.489,0.93l32.856-0.093c0.746,0,1.305-0.465,1.583-1.117c0.095-0.186,0.095-0.373,0.095-0.559 + c0-0.465-0.188-0.93-0.652-1.303L25.303,7.566l0.094,0.093C24.744,7.008,23.721,6.915,22.883,7.566L22.883,7.566z"/> + <path fill="#007F00" d="M22.886,7.592L6.463,21.603l0,0c-0.279,0.279-0.464,0.743-0.464,1.113c0,0.186,0,0.371,0.093,0.558 + c0.278,0.556,0.835,0.927,1.484,0.927l32.754-0.092c0.743,0,1.3-0.464,1.577-1.114c0.094-0.185,0.094-0.372,0.094-0.557 + c0-0.464-0.187-0.928-0.649-1.299L25.299,7.592l0.094,0.092C24.742,7.035,23.722,6.941,22.886,7.592L22.886,7.592z"/> + <path fill="#007F00" d="M22.89,7.617L6.518,21.584l0,0c-0.278,0.278-0.462,0.741-0.462,1.11c0,0.185,0,0.369,0.092,0.556 + c0.276,0.555,0.833,0.924,1.48,0.924l32.651-0.092c0.742,0,1.297-0.462,1.572-1.11c0.094-0.185,0.094-0.371,0.094-0.555 + c0-0.462-0.186-0.925-0.647-1.295L25.295,7.617l0.094,0.092C24.738,7.062,23.723,6.969,22.89,7.617L22.89,7.617z"/> + <path fill="#008000" d="M22.893,7.642L6.572,21.565l0,0c-0.277,0.277-0.461,0.739-0.461,1.107c0,0.185,0,0.368,0.092,0.554 + c0.276,0.553,0.83,0.921,1.475,0.921l32.55-0.092c0.738,0,1.291-0.461,1.566-1.106c0.094-0.184,0.094-0.369,0.094-0.553 + c0-0.461-0.185-0.922-0.646-1.292L25.291,7.642l0.093,0.092C24.736,7.088,23.724,6.996,22.893,7.642L22.893,7.642z"/> + <path fill="#008100" d="M22.896,7.667l-16.27,13.88l0,0c-0.276,0.277-0.459,0.736-0.459,1.104c0,0.184,0,0.367,0.092,0.552 + c0.275,0.551,0.827,0.918,1.471,0.918l32.448-0.091c0.736,0,1.288-0.459,1.562-1.104c0.093-0.183,0.093-0.368,0.093-0.551 + c0-0.459-0.185-0.919-0.644-1.287L25.287,7.667l0.092,0.092C24.734,7.116,23.725,7.023,22.896,7.667L22.896,7.667z"/> + <path fill="#008200" d="M22.9,7.692L6.681,21.529l0,0c-0.275,0.275-0.458,0.734-0.458,1.1c0,0.184,0,0.366,0.092,0.55 + c0.275,0.549,0.825,0.916,1.466,0.916l32.347-0.091c0.733,0,1.284-0.458,1.558-1.1c0.094-0.183,0.094-0.367,0.094-0.55 + c0-0.458-0.184-0.917-0.643-1.283L25.282,7.692l0.093,0.091C24.732,7.143,23.725,7.05,22.9,7.692L22.9,7.692z"/> + <path fill="#008300" d="M22.903,7.717L6.735,21.51l0,0c-0.274,0.275-0.457,0.731-0.457,1.096c0,0.183,0,0.365,0.091,0.549 + c0.274,0.547,0.822,0.913,1.461,0.913l32.245-0.091c0.731,0,1.28-0.457,1.554-1.096c0.092-0.182,0.092-0.366,0.092-0.548 + c0-0.457-0.183-0.914-0.64-1.279L25.277,7.717l0.093,0.091C24.73,7.169,23.726,7.078,22.903,7.717L22.903,7.717z"/> + <path fill="#008400" d="M22.907,7.742L6.79,21.492l0,0c-0.273,0.274-0.456,0.729-0.456,1.093c0,0.183,0,0.364,0.091,0.547 + c0.273,0.546,0.82,0.909,1.457,0.909l32.144-0.09c0.729,0,1.274-0.455,1.548-1.093c0.092-0.181,0.092-0.364,0.092-0.546 + c0-0.455-0.183-0.911-0.638-1.275L25.273,7.742l0.093,0.091C24.729,7.196,23.727,7.105,22.907,7.742L22.907,7.742z"/> + <path fill="#008500" d="M22.911,7.768L6.845,21.474l0,0c-0.272,0.273-0.454,0.727-0.454,1.089c0,0.182,0,0.363,0.091,0.546 + c0.272,0.543,0.817,0.906,1.452,0.906l32.041-0.09c0.729,0,1.271-0.454,1.543-1.089c0.092-0.181,0.092-0.363,0.092-0.544 + c0-0.454-0.182-0.908-0.635-1.271L25.271,7.768l0.09,0.09C24.727,7.223,23.728,7.132,22.911,7.768L22.911,7.768z"/> + <path fill="#008600" d="M22.914,7.792L6.899,21.455l0,0c-0.272,0.272-0.453,0.725-0.453,1.086c0,0.181,0,0.361,0.091,0.543 + c0.271,0.542,0.814,0.904,1.447,0.904l31.939-0.09c0.726,0,1.269-0.452,1.538-1.086c0.092-0.18,0.092-0.362,0.092-0.542 + c0-0.452-0.181-0.905-0.634-1.267L25.268,7.792l0.09,0.09C24.725,7.25,23.729,7.159,22.914,7.792L22.914,7.792z"/> + <path fill="#008700" d="M22.917,7.818L6.954,21.437l0,0c-0.271,0.271-0.451,0.722-0.451,1.083c0,0.181,0,0.36,0.09,0.542 + c0.271,0.54,0.812,0.901,1.443,0.901l31.837-0.09c0.723,0,1.264-0.451,1.533-1.082c0.092-0.18,0.092-0.361,0.092-0.541 + c0-0.451-0.182-0.902-0.633-1.263L25.264,7.818l0.09,0.09C24.723,7.277,23.729,7.186,22.917,7.818L22.917,7.818z"/> + <path fill="#008800" d="M22.921,7.843L7.008,21.418l0,0c-0.27,0.27-0.45,0.72-0.45,1.079c0,0.18,0,0.359,0.09,0.54 + c0.27,0.539,0.809,0.898,1.438,0.898l31.734-0.09c0.722,0,1.261-0.449,1.529-1.079c0.09-0.179,0.09-0.36,0.09-0.539 + c0-0.449-0.18-0.899-0.629-1.259L25.259,7.843l0.091,0.09C24.719,7.303,23.73,7.213,22.921,7.843L22.921,7.843z"/> + <path fill="#008900" d="M22.924,7.868L7.062,21.4l0,0c-0.269,0.269-0.448,0.717-0.448,1.075c0,0.18,0,0.358,0.09,0.539 + c0.269,0.537,0.807,0.895,1.434,0.895l31.633-0.089c0.72,0,1.256-0.448,1.523-1.075c0.092-0.179,0.092-0.359,0.092-0.538 + c0-0.448-0.181-0.896-0.629-1.255L25.255,7.868l0.091,0.089C24.717,7.331,23.731,7.241,22.924,7.868L22.924,7.868z"/> + <path fill="#008A00" d="M22.928,7.893L7.117,21.381l0,0C6.849,21.65,6.67,22.097,6.67,22.453c0,0.179,0,0.357,0.089,0.537 + c0.268,0.536,0.804,0.893,1.429,0.893l31.533-0.089c0.715,0,1.252-0.446,1.518-1.072c0.092-0.178,0.092-0.358,0.092-0.536 + c0-0.446-0.18-0.894-0.626-1.251L25.25,7.893l0.09,0.089C24.714,7.357,23.732,7.268,22.928,7.893L22.928,7.893z"/> + <path fill="#008B00" d="M22.931,7.918L7.172,21.363l0,0c-0.268,0.268-0.445,0.713-0.445,1.069c0,0.178,0,0.355,0.089,0.535 + c0.267,0.534,0.801,0.89,1.424,0.89l31.43-0.089c0.714,0,1.248-0.445,1.514-1.068c0.09-0.178,0.09-0.357,0.09-0.534 + c0-0.445-0.178-0.891-0.623-1.247L25.246,7.918l0.09,0.089C24.712,7.384,23.733,7.295,22.931,7.918L22.931,7.918z"/> + <path fill="#008C00" d="M22.935,7.943L7.227,21.345l0,0c-0.267,0.267-0.444,0.71-0.444,1.065c0,0.178,0,0.354,0.089,0.533 + c0.266,0.532,0.799,0.887,1.42,0.887l31.328-0.089c0.711,0,1.243-0.443,1.509-1.065c0.09-0.177,0.09-0.355,0.09-0.532 + c0-0.444-0.178-0.888-0.621-1.243L25.242,7.943l0.089,0.089C24.71,7.411,23.734,7.322,22.935,7.943L22.935,7.943z"/> + <path fill="#008D00" d="M22.938,7.968L7.281,21.326l0,0c-0.266,0.266-0.442,0.708-0.442,1.062c0,0.177,0,0.353,0.088,0.532 + c0.264,0.53,0.796,0.883,1.415,0.883l31.227-0.088c0.709,0,1.24-0.442,1.505-1.062c0.09-0.176,0.09-0.354,0.09-0.53 + c0-0.442-0.177-0.885-0.62-1.239L25.238,7.968l0.089,0.088C24.707,7.438,23.735,7.349,22.938,7.968L22.938,7.968z"/> + <path fill="#008E00" d="M22.941,7.994L7.335,21.308l0,0c-0.265,0.265-0.441,0.706-0.441,1.058c0,0.177,0,0.352,0.088,0.53 + c0.264,0.528,0.793,0.881,1.411,0.881l31.125-0.088c0.707,0,1.235-0.441,1.5-1.058c0.088-0.176,0.088-0.353,0.088-0.529 + c0-0.441-0.176-0.882-0.617-1.235L25.234,7.994l0.089,0.088C24.705,7.465,23.736,7.376,22.941,7.994L22.941,7.994z"/> + <path fill="#008F00" d="M22.945,8.019L7.39,21.289l0,0c-0.264,0.264-0.44,0.704-0.44,1.055c0,0.176,0,0.351,0.088,0.528 + c0.263,0.527,0.791,0.878,1.406,0.878l31.022-0.088c0.704,0,1.231-0.439,1.494-1.055c0.089-0.175,0.089-0.352,0.089-0.527 + c0-0.439-0.176-0.879-0.615-1.231L25.229,8.019l0.09,0.088C24.703,7.492,23.736,7.403,22.945,8.019L22.945,8.019z"/> + <path fill="#009000" d="M22.948,8.044L7.444,21.271l0,0c-0.263,0.263-0.438,0.701-0.438,1.051c0,0.175,0,0.35,0.087,0.526 + c0.263,0.525,0.789,0.875,1.401,0.875l30.921-0.088c0.702,0,1.228-0.438,1.489-1.051c0.089-0.174,0.089-0.351,0.089-0.525 + c0-0.438-0.177-0.876-0.614-1.227L25.227,8.044l0.088,0.087C24.7,7.519,23.737,7.431,22.948,8.044L22.948,8.044z"/> + <path fill="#009100" d="M22.952,8.069L7.499,21.252l0,0c-0.262,0.262-0.437,0.699-0.437,1.048c0,0.175,0,0.349,0.087,0.524 + c0.262,0.523,0.786,0.872,1.397,0.872l30.819-0.087c0.699,0,1.224-0.436,1.484-1.047c0.088-0.174,0.088-0.35,0.088-0.524 + c0-0.436-0.174-0.873-0.611-1.223L25.223,8.069l0.088,0.087C24.698,7.545,23.738,7.458,22.952,8.069L22.952,8.069z"/> + <path fill="#009200" d="M22.955,8.094L7.553,21.234l0,0c-0.261,0.262-0.435,0.697-0.435,1.044c0,0.174,0,0.347,0.087,0.523 + c0.259,0.521,0.783,0.869,1.392,0.869l30.717-0.087c0.697,0,1.22-0.435,1.479-1.044c0.088-0.173,0.088-0.348,0.088-0.522 + c0-0.435-0.174-0.87-0.609-1.218L25.218,8.094l0.089,0.087C24.695,7.572,23.739,7.485,22.955,8.094L22.955,8.094z"/> + <path fill="#009300" d="M22.959,8.119L7.608,21.215l0,0c-0.26,0.261-0.434,0.695-0.434,1.041c0,0.174,0,0.346,0.087,0.521 + c0.26,0.52,0.781,0.867,1.388,0.867l30.615-0.087c0.695,0,1.217-0.434,1.475-1.041c0.089-0.173,0.089-0.348,0.089-0.521 + c0-0.433-0.175-0.867-0.606-1.214L25.214,8.119l0.088,0.087C24.693,7.599,23.74,7.512,22.959,8.119L22.959,8.119z"/> + <path fill="#009400" d="M22.962,8.145l-15.3,13.053l0,0c-0.26,0.26-0.433,0.692-0.433,1.037c0,0.173,0,0.345,0.086,0.52 + c0.259,0.518,0.778,0.863,1.383,0.863l30.514-0.086c0.692,0,1.212-0.432,1.47-1.038c0.088-0.172,0.088-0.346,0.088-0.519 + c0-0.432-0.172-0.864-0.605-1.21L25.21,8.145l0.087,0.086C24.691,7.626,23.741,7.539,22.962,8.145L22.962,8.145z"/> + <path fill="#009500" d="M22.966,8.169L7.717,21.179l0,0c-0.259,0.259-0.431,0.69-0.431,1.034c0,0.173,0,0.344,0.086,0.518 + c0.257,0.517,0.775,0.86,1.378,0.86l30.412-0.086c0.689,0,1.207-0.431,1.465-1.034c0.087-0.171,0.087-0.345,0.087-0.517 + c0-0.431-0.172-0.861-0.604-1.207L25.206,8.169l0.087,0.086C24.688,7.653,23.742,7.566,22.966,8.169L22.966,8.169z"/> + <path fill="#009600" d="M22.969,8.195L7.771,21.16l0,0c-0.258,0.258-0.43,0.688-0.43,1.03c0,0.172,0,0.343,0.086,0.516 + c0.257,0.515,0.773,0.858,1.374,0.858l30.311-0.086c0.688,0,1.203-0.429,1.459-1.03c0.088-0.171,0.088-0.344,0.088-0.515 + c0-0.429-0.172-0.859-0.602-1.203L25.201,8.195l0.087,0.085C24.688,7.68,23.743,7.593,22.969,8.195L22.969,8.195z"/> + <path fill="#009700" d="M22.973,8.22L7.826,21.142l0,0c-0.257,0.257-0.428,0.686-0.428,1.027c0,0.171,0,0.341,0.085,0.514 + c0.255,0.513,0.771,0.855,1.369,0.855l30.208-0.086c0.687,0,1.198-0.428,1.455-1.027c0.086-0.17,0.086-0.343,0.086-0.513 + c0-0.428-0.172-0.856-0.6-1.198L25.197,8.22l0.087,0.085C24.686,7.707,23.743,7.621,22.973,8.22L22.973,8.22z"/> + <path fill="#009800" d="M22.976,8.245L7.88,21.124l0,0c-0.256,0.256-0.427,0.683-0.427,1.023c0,0.171,0,0.34,0.085,0.512 + c0.256,0.511,0.768,0.852,1.364,0.852l30.106-0.085c0.684,0,1.195-0.426,1.45-1.023c0.086-0.17,0.086-0.342,0.086-0.512 + c0-0.426-0.17-0.853-0.599-1.194L25.193,8.245l0.086,0.085C24.682,7.733,23.744,7.647,22.976,8.245L22.976,8.245z"/> + <path fill="#009900" d="M22.979,8.27L7.935,21.105l0,0C7.68,21.36,7.51,21.786,7.51,22.125c0,0.17,0,0.339,0.085,0.511 + c0.255,0.509,0.765,0.849,1.36,0.849L38.959,23.4c0.682,0,1.191-0.425,1.445-1.02c0.086-0.169,0.086-0.34,0.086-0.51 + c0-0.425-0.17-0.85-0.596-1.19L25.189,8.27l0.086,0.085C24.68,7.76,23.745,7.675,22.979,8.27L22.979,8.27z"/> + </g> + + <linearGradient id="Roof_Highlight_1_" gradientUnits="userSpaceOnUse" x1="210" y1="-237.8638" x2="210" y2="-253.4849" gradientTransform="matrix(1 0 0 -1 -186 -230)"> + <stop offset="0" style="stop-color:#FFFFFF"/> + <stop offset="1" style="stop-color:#009900"/> + </linearGradient> + <path id="Roof_Highlight" fill="url(#Roof_Highlight_1_)" d="M22.979,8.27L7.935,21.105l0,0C7.68,21.36,7.51,21.786,7.51,22.125 + c0,0.17,0,0.339,0.085,0.51c0.255,0.51,0.765,0.85,1.36,0.85L38.959,23.4c0.682,0,1.191-0.425,1.445-1.021 + c0.086-0.169,0.086-0.34,0.086-0.51c0-0.424-0.17-0.85-0.596-1.189L25.189,8.27l0.086,0.085C24.68,7.76,23.745,7.675,22.979,8.27 + L22.979,8.27z"/> + </g> + </g> +</g> +<g id="Layer_2"> + <g id="crop_x0020_marks"> + <path fill="none" d="M48,47.687H0v-48h48V47.687z"/> + </g> +</g> +</svg> diff --git a/doc/help/xslt/images/colorsvg/important.svg b/doc/help/xslt/images/colorsvg/important.svg new file mode 100644 index 00000000..803ad8d4 --- /dev/null +++ b/doc/help/xslt/images/colorsvg/important.svg @@ -0,0 +1,239 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 12.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 51448) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [ + <!ENTITY ns_svg "http://www.w3.org/2000/svg"> + <!ENTITY ns_xlink "http://www.w3.org/1999/xlink"> +]> +<svg version="1.1" id="Caution" xmlns="&ns_svg;" xmlns:xlink="&ns_xlink;" width="48" height="48" viewBox="0 0 48 48" + overflow="visible" enable-background="new 0 0 48 48" xml:space="preserve"> +<g> + <path stroke="#FFFFFF" stroke-width="6.6112" d="M42.35,35.841L27.248,9.941c-0.602-1-1.699-1.7-2.899-1.6c-1.2,0-2.3,0.7-2.9,1.7 + l-14.5,25.901c-0.6,1-0.6,2.299,0,3.299c0.6,1,1.7,1.6,2.9,1.6h29.601c1.199,0,2.301-0.6,2.898-1.697 + C42.949,38.142,42.949,36.841,42.35,35.841L42.35,35.841z"/> + <g> + <path fill="#FFFFFF" stroke="#009900" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" d="M24.349,11.586 + l-14.5,26h29.601L24.349,11.586z"/> + <polygon fill="#FFFFFF" stroke="#009A00" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.35,11.611 9.877,37.562 39.42,37.562 "/> + <polygon fill="#FFFFFF" stroke="#009B01" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.35,11.637 9.907,37.536 39.391,37.536 "/> + <polygon fill="#FFFFFF" stroke="#009C01" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.351,11.662 9.935,37.511 39.361,37.511 "/> + <polygon fill="#FFFFFF" stroke="#009D02" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.352,11.688 9.963,37.485 39.334,37.485 "/> + <polygon fill="#FFFFFF" stroke="#009E02" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.352,11.712 9.993,37.46 39.305,37.46 "/> + <polygon fill="#FFFFFF" stroke="#009F03" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.353,11.738 10.021,37.435 39.275,37.435 "/> + <polygon fill="#FFFFFF" stroke="#00A003" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.353,11.763 10.049,37.409 39.248,37.409 "/> + <polygon fill="#FFFFFF" stroke="#00A104" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.354,11.789 10.079,37.386 39.219,37.386 "/> + <polygon fill="#FFFFFF" stroke="#00A204" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.354,11.813 10.106,37.36 39.189,37.36 "/> + <polygon fill="#FFFFFF" stroke="#00A305" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.354,11.838 10.135,37.335 39.16,37.335 "/> + <polygon fill="#FFFFFF" stroke="#00A405" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.355,11.864 10.166,37.31 39.133,37.31 "/> + <polygon fill="#FFFFFF" stroke="#00A506" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.355,11.89 10.193,37.284 39.104,37.284 "/> + <polygon fill="#FFFFFF" stroke="#00A606" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.355,11.915 10.223,37.259 39.074,37.259 "/> + <polygon fill="#FFFFFF" stroke="#00A707" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.356,11.939 10.25,37.233 39.047,37.233 "/> + <polygon fill="#FFFFFF" stroke="#00A807" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.357,11.965 10.279,37.21 39.018,37.21 "/> + <polygon fill="#FFFFFF" stroke="#00A908" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.357,11.99 10.309,37.183 38.988,37.183 "/> + <polygon fill="#FFFFFF" stroke="#00AA08" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.357,12.016 10.336,37.157 38.959,37.157 "/> + <polygon fill="#FFFFFF" stroke="#00AB09" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.358,12.041 10.367,37.132 38.932,37.132 "/> + <polygon fill="#FFFFFF" stroke="#00AC09" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.359,12.066 10.396,37.106 38.902,37.106 "/> + <polygon fill="#FFFFFF" stroke="#00AD0A" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.359,12.091 10.423,37.083 38.873,37.083 "/> + <polygon fill="#FFFFFF" stroke="#00AE0A" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.36,12.116 10.453,37.056 38.846,37.056 "/> + <polygon fill="#FFFFFF" stroke="#00AF0B" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.361,12.142 10.48,37.032 38.816,37.032 "/> + <polygon fill="#FFFFFF" stroke="#00B00B" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.362,12.167 10.509,37.007 38.789,37.007 "/> + <polygon fill="#FFFFFF" stroke="#00B10C" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.362,12.191 10.539,36.981 38.76,36.981 "/> + <polygon fill="#FFFFFF" stroke="#00B20C" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.362,12.217 10.566,36.956 38.729,36.956 "/> + <polygon fill="#FFFFFF" stroke="#00B30D" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.363,12.242 10.596,36.931 38.701,36.931 "/> + <polygon fill="#FFFFFF" stroke="#00B40D" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.364,12.269 10.625,36.905 38.674,36.905 "/> + <polygon fill="#FFFFFF" stroke="#00B50E" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.364,12.293 10.653,36.88 38.645,36.88 "/> + <polygon fill="#FFFFFF" stroke="#00B60E" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.366,12.317 10.682,36.854 38.613,36.854 "/> + <polygon fill="#FFFFFF" stroke="#00B70F" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.367,12.343 10.71,36.829 38.586,36.829 "/> + <polygon fill="#FFFFFF" stroke="#00B80F" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.367,12.37 10.739,36.804 38.559,36.804 "/> + <polygon fill="#FFFFFF" stroke="#00B910" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.368,12.395 10.769,36.778 38.527,36.778 "/> + <polygon fill="#FFFFFF" stroke="#00BA10" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.368,12.419 10.796,36.755 38.5,36.755 "/> + <polygon fill="#FFFFFF" stroke="#00BB11" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.369,12.444 10.826,36.728 38.471,36.728 "/> + <polygon fill="#FFFFFF" stroke="#00BC11" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.37,12.469 10.854,36.704 38.441,36.704 "/> + <polygon fill="#FFFFFF" stroke="#00BD12" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.37,12.496 10.883,36.677 38.414,36.677 "/> + <polygon fill="#FFFFFF" stroke="#00BE12" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.371,12.521 10.912,36.651 38.385,36.651 "/> + <polygon fill="#FFFFFF" stroke="#00BF13" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.371,12.545 10.94,36.628 38.355,36.628 "/> + <polygon fill="#FFFFFF" stroke="#00C013" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.372,12.57 10.969,36.603 38.328,36.603 "/> + <polygon fill="#FFFFFF" stroke="#00C114" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.372,12.595 10.999,36.577 38.299,36.577 "/> + <polygon fill="#FFFFFF" stroke="#00C214" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.373,12.622 11.026,36.552 38.27,36.552 "/> + <polygon fill="#FFFFFF" stroke="#00C315" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.373,12.646 11.056,36.526 38.242,36.526 "/> + <polygon fill="#FFFFFF" stroke="#00C415" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.374,12.672 11.084,36.503 38.213,36.503 "/> + <polygon fill="#FFFFFF" stroke="#00C516" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.375,12.696 11.113,36.476 38.184,36.476 "/> + <polygon fill="#FFFFFF" stroke="#00C616" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.375,12.721 11.142,36.45 38.154,36.45 "/> + <polygon fill="#FFFFFF" stroke="#00C717" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.375,12.748 11.17,36.425 38.127,36.425 "/> + <polygon fill="#FFFFFF" stroke="#00C817" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.375,12.773 11.2,36.401 38.098,36.401 "/> + <polygon fill="#FFFFFF" stroke="#00C918" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.376,12.797 11.229,36.376 38.068,36.376 "/> + <polygon fill="#FFFFFF" stroke="#00CA18" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.376,12.822 11.256,36.349 38.041,36.349 "/> + <polygon fill="#FFFFFF" stroke="#00CB19" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.377,12.849 11.286,36.325 38.012,36.325 "/> + <polygon fill="#FFFFFF" stroke="#00CC19" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.378,12.875 11.314,36.3 37.982,36.3 "/> + <polygon fill="#FFFFFF" stroke="#00CC1A" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.378,12.899 11.342,36.274 37.955,36.274 "/> + <polygon fill="#FFFFFF" stroke="#00CD1A" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.379,12.923 11.372,36.249 37.926,36.249 "/> + <polygon fill="#FFFFFF" stroke="#00CE1B" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.379,12.949 11.4,36.224 37.896,36.224 "/> + <polygon fill="#FFFFFF" stroke="#00CF1B" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.38,12.975 11.43,36.198 37.867,36.198 "/> + <polygon fill="#FFFFFF" stroke="#00D01C" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.381,13 11.458,36.173 37.84,36.173 "/> + <polygon fill="#FFFFFF" stroke="#00D11C" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.381,13.024 11.486,36.147 37.811,36.147 "/> + <polygon fill="#FFFFFF" stroke="#00D21D" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.381,13.05 11.516,36.124 37.781,36.124 "/> + <polygon fill="#FFFFFF" stroke="#00D31D" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.382,13.075 11.543,36.097 37.754,36.097 "/> + <polygon fill="#FFFFFF" stroke="#00D41E" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.383,13.102 11.572,36.071 37.725,36.071 "/> + <polygon fill="#FFFFFF" stroke="#00D51E" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.383,13.126 11.602,36.046 37.695,36.046 "/> + <polygon fill="#FFFFFF" stroke="#00D61F" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.384,13.151 11.63,36.022 37.666,36.022 "/> + <polygon fill="#FFFFFF" stroke="#00D71F" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.385,13.176 11.66,35.997 37.639,35.997 "/> + <polygon fill="#FFFFFF" stroke="#00D820" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.385,13.201 11.688,35.972 37.609,35.972 "/> + <polygon fill="#FFFFFF" stroke="#00D920" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.387,13.228 11.716,35.946 37.58,35.946 "/> + <polygon fill="#FFFFFF" stroke="#00DA21" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.387,13.252 11.746,35.921 37.553,35.921 "/> + <polygon fill="#FFFFFF" stroke="#00DB21" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.388,13.277 11.773,35.896 37.521,35.896 "/> + <polygon fill="#FFFFFF" stroke="#00DC22" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.389,13.302 11.802,35.872 37.494,35.872 "/> + <polygon fill="#FFFFFF" stroke="#00DD22" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.389,13.327 11.832,35.845 37.465,35.845 "/> + <polygon fill="#FFFFFF" stroke="#00DE23" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.39,13.354 11.86,35.819 37.438,35.819 "/> + <polygon fill="#FFFFFF" stroke="#00DF23" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.39,13.378 11.89,35.796 37.408,35.796 "/> + <polygon fill="#FFFFFF" stroke="#00E024" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.391,13.403 11.917,35.769 37.379,35.769 "/> + <polygon fill="#FFFFFF" stroke="#00E124" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.391,13.429 11.946,35.743 37.352,35.743 "/> + <polygon fill="#FFFFFF" stroke="#00E225" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.392,13.455 11.976,35.718 37.32,35.718 "/> + <polygon fill="#FFFFFF" stroke="#00E325" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.393,13.479 12.003,35.694 37.293,35.694 "/> + <polygon fill="#FFFFFF" stroke="#00E426" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.393,13.504 12.033,35.669 37.264,35.669 "/> + <polygon fill="#FFFFFF" stroke="#00E526" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.394,13.529 12.062,35.644 37.234,35.644 "/> + <polygon fill="#FFFFFF" stroke="#00E627" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.394,13.556 12.09,35.618 37.207,35.618 "/> + <polygon fill="#FFFFFF" stroke="#00E727" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.395,13.581 12.12,35.593 37.178,35.593 "/> + <polygon fill="#FFFFFF" stroke="#00E828" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.396,13.605 12.147,35.567 37.148,35.567 "/> + <polygon fill="#FFFFFF" stroke="#00E928" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.396,13.63 12.176,35.544 37.121,35.544 "/> + <polygon fill="#FFFFFF" stroke="#00EA29" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.396,13.655 12.206,35.517 37.092,35.517 "/> + <polygon fill="#FFFFFF" stroke="#00EB29" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.396,13.682 12.233,35.491 37.062,35.491 "/> + <polygon fill="#FFFFFF" stroke="#00EC2A" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.397,13.707 12.263,35.466 37.035,35.466 "/> + <polygon fill="#FFFFFF" stroke="#00ED2A" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.397,13.732 12.292,35.44 37.006,35.44 "/> + <polygon fill="#FFFFFF" stroke="#00EE2B" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.398,13.756 12.319,35.417 36.977,35.417 "/> + <polygon fill="#FFFFFF" stroke="#00EF2B" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.398,13.782 12.349,35.392 36.949,35.392 "/> + <polygon fill="#FFFFFF" stroke="#00F02C" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.399,13.808 12.377,35.366 36.92,35.366 "/> + <polygon fill="#FFFFFF" stroke="#00F12C" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.399,13.833 12.407,35.341 36.891,35.341 "/> + <polygon fill="#FFFFFF" stroke="#00F22D" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.4,13.858 12.436,35.315 36.861,35.315 "/> + <polygon fill="#FFFFFF" stroke="#00F32D" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.401,13.883 12.463,35.29 36.834,35.29 "/> + <polygon fill="#FFFFFF" stroke="#00F42E" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.401,13.908 12.493,35.265 36.805,35.265 "/> + <polygon fill="#FFFFFF" stroke="#00F52E" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.402,13.934 12.521,35.239 36.775,35.239 "/> + <polygon fill="#FFFFFF" stroke="#00F62F" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.402,13.959 12.549,35.214 36.748,35.214 "/> + <polygon fill="#FFFFFF" stroke="#00F72F" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.403,13.983 12.579,35.188 36.719,35.188 "/> + <polygon fill="#FFFFFF" stroke="#00F830" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.404,14.009 12.607,35.165 36.689,35.165 "/> + <polygon fill="#FFFFFF" stroke="#00F930" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.404,14.034 12.637,35.138 36.662,35.138 "/> + <polygon fill="#FFFFFF" stroke="#00FA31" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.405,14.061 12.666,35.112 36.633,35.112 "/> + <polygon fill="#FFFFFF" stroke="#00FB31" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.405,14.085 12.693,35.089 36.604,35.089 "/> + <polygon fill="#FFFFFF" stroke="#00FC32" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.407,14.11 12.723,35.063 36.574,35.063 "/> + <polygon fill="#FFFFFF" stroke="#00FD32" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.408,14.135 12.75,35.038 36.547,35.038 "/> + <polygon fill="#FFFFFF" stroke="#00FE33" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" points=" + 24.408,14.16 12.779,35.013 36.518,35.013 "/> + <path fill="#FFFFFF" stroke="#00FF33" stroke-width="6.6112" stroke-linecap="round" stroke-linejoin="round" d="M24.409,14.187 + l-11.6,20.801h23.68L24.409,14.187z"/> + </g> + + <linearGradient id="XMLID_4_" gradientUnits="userSpaceOnUse" x1="582.6475" y1="-987.77" x2="582.6475" y2="-1015.4038" gradientTransform="matrix(1 0 0 -1 -558 -977)"> + <stop offset="0" style="stop-color:#FFFFFF"/> + <stop offset="1" style="stop-color:#00FF33"/> + </linearGradient> + <path fill="url(#XMLID_4_)" d="M39.693,34.153L26.857,12.138c-0.51-0.85-1.443-1.445-2.463-1.36c-1.021,0-1.955,0.595-2.465,1.445 + L9.604,34.239c-0.511,0.85-0.511,1.953,0,2.805c0.51,0.852,1.444,1.359,2.465,1.359h25.16c1.021,0,1.955-0.51,2.465-1.445 + C40.203,36.106,40.203,35.003,39.693,34.153L39.693,34.153z"/> + <g> + <path d="M24.648,33.487c-1.1,0-1.8-0.801-1.8-1.801c0-1.102,0.7-1.801,1.8-1.801c1.1,0,1.801,0.699,1.801,1.801 + C26.449,32.687,25.748,33.487,24.648,33.487L24.648,33.487z M23.449,28.786l-0.4-9.1h3.2l-0.4,9.1H23.55H23.449z"/> + </g> +</g> +<g id="crop_x0020_marks"> + <path fill="none" d="M48.648,48.586h-48v-48h48V48.586z"/> +</g> +</svg> diff --git a/doc/help/xslt/images/colorsvg/next.svg b/doc/help/xslt/images/colorsvg/next.svg new file mode 100644 index 00000000..52b73cf4 --- /dev/null +++ b/doc/help/xslt/images/colorsvg/next.svg @@ -0,0 +1,338 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 12.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 51448) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [ + <!ENTITY ns_svg "http://www.w3.org/2000/svg"> + <!ENTITY ns_xlink "http://www.w3.org/1999/xlink"> +]> +<svg version="1.1" id="Layer_1" xmlns="&ns_svg;" xmlns:xlink="&ns_xlink;" width="48" height="48" viewBox="0 0 48 48" + overflow="visible" enable-background="new 0 0 48 48" xml:space="preserve"> +<g> + <path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="7.5901" stroke-linejoin="round" d="M22.34,41.101c0,0.301,0.3,0.301,0.5,0.2 + l16.6-16.899c0.5-0.5,0.4-0.7,0-1l-16.6-16.7c-0.1-0.1-0.4-0.1-0.4,0.1v10H8.84c-0.3,0-0.5,0.2-0.5,0.4v13.299 + c0,0.4,0.2,0.5,0.6,0.5h13.5L22.34,41.101z"/> + <g> + <path fill="#0033CC" d="M22.34,41.101c0,0.301,0.3,0.301,0.5,0.2l16.6-16.899c0.5-0.5,0.4-0.7,0-1l-16.6-16.7 + c-0.1-0.1-0.4-0.1-0.4,0.1v10H8.84c-0.3,0-0.5,0.2-0.5,0.4v13.299c0,0.4,0.2,0.5,0.6,0.5h13.5L22.34,41.101z"/> + <path fill="#0134CC" d="M22.351,41.074c0,0.3,0.3,0.3,0.5,0.2L39.427,24.4c0.5-0.499,0.4-0.699,0-0.999L22.85,6.729 + c-0.1-0.1-0.399-0.1-0.399,0.099v9.984H8.87c-0.299,0-0.5,0.2-0.5,0.4v13.279c0,0.398,0.2,0.499,0.6,0.499H22.45L22.351,41.074z" + /> + <path fill="#0235CD" d="M22.359,41.047c0,0.3,0.299,0.3,0.499,0.2l16.553-16.848c0.5-0.498,0.399-0.697,0-0.997L22.858,6.755 + c-0.1-0.1-0.399-0.1-0.399,0.1v9.969H8.897c-0.299,0-0.499,0.199-0.499,0.399v13.258c0,0.398,0.2,0.498,0.598,0.498h13.462 + L22.359,41.047z"/> + <path fill="#0336CD" d="M22.369,41.021c0,0.301,0.299,0.301,0.498,0.199l16.53-16.82c0.498-0.498,0.397-0.696,0-0.995 + L22.866,6.783c-0.1-0.1-0.398-0.1-0.398,0.099v9.953H8.926c-0.299,0-0.498,0.199-0.498,0.398v13.239 + c0,0.397,0.199,0.496,0.598,0.496h13.442L22.369,41.021z"/> + <path fill="#0437CE" d="M22.378,40.994c0,0.299,0.298,0.299,0.497,0.198l16.506-16.794c0.496-0.497,0.397-0.695,0-0.994 + L22.876,6.81c-0.1-0.1-0.398-0.1-0.398,0.099v9.937H8.956c-0.298,0-0.498,0.199-0.498,0.398v13.217c0,0.397,0.2,0.496,0.597,0.496 + h13.423L22.378,40.994z"/> + <path fill="#0538CE" d="M22.389,40.968c0,0.299,0.298,0.299,0.496,0.198l16.483-16.769c0.496-0.496,0.397-0.694,0-0.992 + L22.884,6.836c-0.099-0.099-0.397-0.099-0.397,0.099v9.922H8.983c-0.297,0-0.496,0.199-0.496,0.397V30.45 + c0,0.396,0.199,0.496,0.596,0.496h13.404L22.389,40.968z"/> + <path fill="#0639CF" d="M22.398,40.94c0,0.299,0.298,0.299,0.496,0.199l16.46-16.742c0.495-0.496,0.396-0.694,0-0.991 + L22.894,6.863c-0.099-0.099-0.396-0.099-0.396,0.099v9.906H9.012c-0.297,0-0.496,0.198-0.496,0.396V30.44 + c0,0.396,0.199,0.494,0.595,0.494h13.386L22.398,40.94z"/> + <path fill="#073ACF" d="M22.407,40.914c0,0.298,0.298,0.298,0.495,0.198l16.437-16.716c0.494-0.495,0.396-0.692,0-0.989 + L22.902,6.891c-0.099-0.099-0.396-0.099-0.396,0.099v9.891H9.041c-0.296,0-0.495,0.198-0.495,0.396v13.154 + c0,0.396,0.198,0.493,0.594,0.493h13.367L22.407,40.914z"/> + <path fill="#083BD0" d="M22.417,40.888c0,0.297,0.297,0.297,0.495,0.198l16.413-16.689c0.494-0.494,0.396-0.691,0-0.987 + L22.912,6.917c-0.099-0.099-0.396-0.099-0.396,0.099v9.875H9.069c-0.296,0-0.494,0.198-0.494,0.396v13.133 + c0,0.395,0.198,0.493,0.594,0.493h13.347L22.417,40.888z"/> + <path fill="#093CD0" d="M22.426,40.86c0,0.297,0.296,0.297,0.493,0.197l16.39-16.662c0.492-0.494,0.395-0.69,0-0.986L22.919,6.943 + c-0.099-0.099-0.395-0.099-0.395,0.098v9.86H9.099c-0.296,0-0.494,0.197-0.494,0.395V30.41c0,0.396,0.198,0.493,0.593,0.493 + h13.328L22.426,40.86z"/> + <path fill="#0A3DD1" d="M22.437,40.834c0,0.297,0.296,0.297,0.493,0.196l16.367-16.636c0.492-0.493,0.395-0.689,0-0.984 + L22.928,6.97c-0.099-0.099-0.394-0.099-0.394,0.098v9.844H9.127c-0.296,0-0.493,0.197-0.493,0.394v13.093 + c0,0.395,0.197,0.492,0.592,0.492h13.309L22.437,40.834z"/> + <path fill="#0B3ED1" d="M22.445,40.808c0,0.297,0.296,0.297,0.492,0.197l16.343-16.61c0.492-0.492,0.395-0.688,0-0.982 + L22.938,6.999C22.84,6.9,22.544,6.9,22.544,7.097v9.829H9.155c-0.295,0-0.493,0.196-0.493,0.394v13.072 + c0,0.394,0.198,0.49,0.591,0.49h13.29L22.445,40.808z"/> + <path fill="#0C3FD2" d="M22.456,40.78c0,0.296,0.295,0.296,0.492,0.197l16.319-16.584c0.49-0.491,0.395-0.687,0-0.982 + L22.946,7.024c-0.098-0.098-0.393-0.098-0.393,0.098v9.813H9.185c-0.294,0-0.492,0.196-0.492,0.393v13.05 + c0,0.394,0.197,0.491,0.59,0.491h13.271L22.456,40.78z"/> + <path fill="#0D40D2" d="M22.464,40.754c0,0.295,0.294,0.295,0.491,0.196l16.295-16.558c0.489-0.49,0.393-0.686,0-0.98 + L22.956,7.051c-0.099-0.098-0.393-0.098-0.393,0.097v9.797H9.212c-0.294,0-0.49,0.197-0.49,0.393v13.031 + c0,0.393,0.196,0.489,0.588,0.489h13.252L22.464,40.754z"/> + <path fill="#0E41D3" d="M22.475,40.728c0,0.295,0.294,0.295,0.49,0.196l16.272-16.531c0.49-0.489,0.394-0.684,0-0.978L22.964,7.08 + c-0.098-0.098-0.392-0.098-0.392,0.097v9.782H9.241c-0.294,0-0.49,0.196-0.49,0.392v13.01c0,0.392,0.196,0.488,0.588,0.488h13.233 + L22.475,40.728z"/> + <path fill="#0F42D3" d="M22.483,40.701c0,0.294,0.294,0.294,0.49,0.194l16.248-16.504c0.488-0.488,0.393-0.683,0-0.977 + L22.974,7.105c-0.098-0.098-0.391-0.098-0.391,0.097v9.767H9.271c-0.293,0-0.489,0.195-0.489,0.391v12.988 + c0,0.392,0.196,0.487,0.587,0.487h13.214L22.483,40.701z"/> + <path fill="#1043D4" d="M22.494,40.675c0,0.293,0.294,0.293,0.489,0.194l16.226-16.478c0.487-0.488,0.392-0.683,0-0.975 + L22.982,7.132c-0.098-0.098-0.391-0.098-0.391,0.097v9.751H9.298c-0.293,0-0.489,0.195-0.489,0.39v12.967 + c0,0.392,0.196,0.487,0.586,0.487H22.59L22.494,40.675z"/> + <path fill="#1144D4" d="M22.502,40.647c0,0.293,0.293,0.293,0.488,0.194L39.191,24.39c0.487-0.487,0.392-0.682,0-0.974 + L22.991,7.16c-0.098-0.098-0.391-0.098-0.391,0.097v9.735H9.328c-0.293,0-0.488,0.195-0.488,0.39v12.948 + c0,0.39,0.195,0.486,0.585,0.486h13.176L22.502,40.647z"/> + <path fill="#1245D5" d="M22.514,40.621c0,0.292,0.292,0.292,0.487,0.194L39.177,24.39c0.488-0.486,0.392-0.68,0-0.972L23,7.188 + c-0.098-0.098-0.39-0.098-0.39,0.096v9.72H9.356c-0.292,0-0.487,0.195-0.487,0.39v12.926c0,0.39,0.195,0.486,0.585,0.486H22.61 + L22.514,40.621z"/> + <path fill="#1346D5" d="M22.522,40.595c0,0.292,0.292,0.292,0.487,0.194L39.165,24.39c0.485-0.485,0.389-0.679,0-0.97 + L23.009,7.213c-0.098-0.097-0.389-0.097-0.389,0.097v9.704H9.384c-0.292,0-0.486,0.194-0.486,0.389V30.31 + c0,0.389,0.195,0.484,0.584,0.484h13.138L22.522,40.595z"/> + <path fill="#1447D6" d="M22.531,40.567c0,0.291,0.292,0.291,0.486,0.193l16.132-16.372c0.484-0.484,0.389-0.678,0-0.969 + L23.018,7.241c-0.097-0.097-0.389-0.097-0.389,0.097v9.688H9.414c-0.292,0-0.486,0.194-0.486,0.388v12.885 + c0,0.388,0.195,0.483,0.583,0.483h13.118L22.531,40.567z"/> + <path fill="#1548D6" d="M22.542,40.541c0,0.291,0.292,0.291,0.485,0.192l16.107-16.346c0.484-0.484,0.389-0.677,0-0.968 + L23.026,7.268c-0.097-0.097-0.388-0.097-0.388,0.097v9.672H9.441c-0.291,0-0.485,0.194-0.485,0.388v12.865 + c0,0.388,0.194,0.483,0.582,0.483h13.099L22.542,40.541z"/> + <path fill="#1649D7" d="M22.551,40.515c0,0.291,0.291,0.291,0.484,0.193l16.083-16.321c0.485-0.483,0.389-0.676,0-0.966 + L23.036,7.294c-0.097-0.097-0.388-0.097-0.388,0.096v9.657H9.47c-0.291,0-0.484,0.193-0.484,0.387v12.844 + c0,0.387,0.194,0.481,0.582,0.481h13.08L22.551,40.515z"/> + <path fill="#174AD7" d="M22.561,40.487c0,0.291,0.291,0.291,0.484,0.193l16.061-16.294c0.483-0.482,0.388-0.674,0-0.964 + L23.044,7.321c-0.097-0.096-0.387-0.096-0.387,0.097v9.641H9.5c-0.29,0-0.483,0.193-0.483,0.386v12.823 + c0,0.387,0.193,0.481,0.58,0.481h13.062L22.561,40.487z"/> + <path fill="#184BD8" d="M22.57,40.462c0,0.289,0.29,0.289,0.483,0.191l16.038-16.267c0.481-0.481,0.387-0.673,0-0.962 + L23.053,7.349c-0.097-0.096-0.387-0.096-0.387,0.096v9.626H9.527c-0.29,0-0.483,0.193-0.483,0.385v12.802 + c0,0.386,0.193,0.481,0.58,0.481h13.042L22.57,40.462z"/> + <path fill="#194CD8" d="M22.58,40.435c0,0.289,0.29,0.289,0.482,0.192l16.014-16.242c0.481-0.481,0.387-0.672,0-0.961 + L23.062,7.375c-0.097-0.096-0.386-0.096-0.386,0.096v9.611H9.557c-0.289,0-0.482,0.192-0.482,0.385v12.782 + c0,0.384,0.193,0.479,0.579,0.479h13.023L22.58,40.435z"/> + <path fill="#1A4DD9" d="M22.589,40.408c0,0.288,0.289,0.288,0.482,0.192l15.99-16.216c0.48-0.48,0.386-0.672,0-0.959L23.071,7.402 + c-0.097-0.096-0.385-0.096-0.385,0.095v9.595H9.585c-0.289,0-0.482,0.192-0.482,0.384v12.761c0,0.385,0.193,0.479,0.578,0.479 + h13.004L22.589,40.408z"/> + <path fill="#1B4ED9" d="M22.6,40.382c0,0.288,0.289,0.288,0.481,0.192l15.967-16.19c0.48-0.479,0.385-0.67,0-0.958L23.081,7.43 + c-0.096-0.096-0.384-0.096-0.384,0.095v9.58H9.614c-0.288,0-0.481,0.192-0.481,0.384v12.741c0,0.383,0.193,0.478,0.577,0.478 + h12.985L22.6,40.382z"/> + <path fill="#1C4FDA" d="M22.608,40.354c0,0.289,0.289,0.289,0.48,0.192l15.943-16.164c0.479-0.478,0.386-0.669,0-0.957 + L23.088,7.457c-0.096-0.096-0.384-0.096-0.384,0.095v9.564H9.643c-0.288,0-0.48,0.191-0.48,0.383v12.719 + c0,0.383,0.192,0.479,0.577,0.479h12.966L22.608,40.354z"/> + <path fill="#1D50DA" d="M22.619,40.328c0,0.287,0.288,0.287,0.479,0.19l15.92-16.136c0.479-0.478,0.384-0.668,0-0.955 + L23.098,7.482c-0.096-0.096-0.384-0.096-0.384,0.095v9.548H9.67c-0.288,0-0.479,0.191-0.479,0.382v12.699 + c0,0.382,0.191,0.479,0.575,0.479h12.947L22.619,40.328z"/> + <path fill="#1E51DB" d="M22.628,40.302c0,0.287,0.288,0.287,0.479,0.191l15.896-16.111c0.479-0.477,0.385-0.667,0-0.954 + L23.106,7.51c-0.096-0.096-0.383-0.096-0.383,0.094v9.533H9.699c-0.287,0-0.479,0.191-0.479,0.382v12.679 + c0,0.382,0.191,0.477,0.575,0.477h12.928L22.628,40.302z"/> + <path fill="#1F52DB" d="M22.637,40.274c0,0.287,0.288,0.287,0.479,0.19L38.99,24.381c0.478-0.476,0.382-0.666,0-0.952 + L23.115,7.538c-0.095-0.096-0.382-0.096-0.382,0.094v9.517H9.729c-0.287,0-0.478,0.191-0.478,0.381v12.657 + c0,0.381,0.191,0.477,0.574,0.477h12.909L22.637,40.274z"/> + <path fill="#2053DC" d="M22.647,40.249c0,0.285,0.287,0.285,0.478,0.189l15.85-16.058c0.477-0.475,0.382-0.665,0-0.95 + L23.125,7.563c-0.096-0.095-0.382-0.095-0.382,0.095v9.501H9.757c-0.286,0-0.478,0.19-0.478,0.381v12.636 + c0,0.381,0.191,0.475,0.573,0.475h12.89L22.647,40.249z"/> + <path fill="#2154DC" d="M22.656,40.222c0,0.285,0.287,0.285,0.477,0.19L38.96,24.38c0.477-0.475,0.381-0.664,0-0.949L23.133,7.59 + c-0.096-0.095-0.382-0.095-0.382,0.095v9.486H9.786c-0.286,0-0.477,0.19-0.477,0.38v12.617c0,0.379,0.191,0.474,0.572,0.474 + h12.871L22.656,40.222z"/> + <path fill="#2255DD" d="M22.667,40.194c0,0.285,0.286,0.285,0.477,0.189l15.802-16.004c0.476-0.474,0.382-0.663,0-0.947 + L23.143,7.618c-0.096-0.095-0.381-0.095-0.381,0.094v9.471H9.814c-0.285,0-0.476,0.189-0.476,0.379v12.596 + c0,0.379,0.191,0.473,0.572,0.473h12.851L22.667,40.194z"/> + <path fill="#2356DD" d="M22.675,40.169c0,0.284,0.286,0.284,0.476,0.189l15.779-15.979c0.475-0.473,0.381-0.662,0-0.945 + L23.151,7.645c-0.095-0.094-0.38-0.094-0.38,0.094v9.455H9.843c-0.285,0-0.475,0.189-0.475,0.378v12.574 + c0,0.379,0.19,0.474,0.571,0.474h12.832L22.675,40.169z"/> + <path fill="#2457DE" d="M22.686,40.144c0,0.282,0.285,0.282,0.475,0.188l15.756-15.953c0.474-0.472,0.379-0.66,0-0.944 + L23.159,7.671c-0.095-0.094-0.379-0.094-0.379,0.094v9.439H9.873c-0.285,0-0.475,0.189-0.475,0.378v12.554 + c0,0.378,0.19,0.472,0.569,0.472H22.78L22.686,40.144z"/> + <path fill="#2558DE" d="M22.694,40.115c0,0.282,0.285,0.282,0.474,0.188l15.733-15.925c0.473-0.471,0.379-0.66,0-0.942 + L23.168,7.698c-0.095-0.094-0.379-0.094-0.379,0.094v9.424H9.9c-0.284,0-0.474,0.189-0.474,0.377v12.535 + c0,0.376,0.189,0.471,0.568,0.471h12.794L22.694,40.115z"/> + <path fill="#2659DF" d="M22.705,40.089c0,0.283,0.284,0.283,0.473,0.188l15.708-15.899c0.474-0.471,0.38-0.659,0-0.941 + L23.177,7.726c-0.095-0.094-0.379-0.094-0.379,0.094v9.408H9.929c-0.284,0-0.473,0.188-0.473,0.377v12.514 + c0,0.376,0.189,0.469,0.568,0.469h12.775L22.705,40.089z"/> + <path fill="#275ADF" d="M22.714,40.063c0,0.281,0.284,0.281,0.473,0.188l15.685-15.874c0.473-0.47,0.379-0.658,0-0.939 + L23.188,7.752c-0.095-0.094-0.378-0.094-0.378,0.094v9.392H9.958c-0.283,0-0.472,0.188-0.472,0.376v12.492 + c0,0.375,0.189,0.47,0.567,0.47H22.81L22.714,40.063z"/> + <path fill="#285BE0" d="M22.724,40.036c0,0.281,0.283,0.281,0.472,0.188l15.662-15.847c0.472-0.469,0.378-0.656,0-0.938 + L23.195,7.779c-0.095-0.094-0.377-0.094-0.377,0.094v9.376H9.986c-0.283,0-0.472,0.188-0.472,0.375v12.472 + c0,0.375,0.189,0.467,0.566,0.467h12.737L22.724,40.036z"/> + <path fill="#295CE0" d="M22.732,40.009c0,0.281,0.283,0.281,0.471,0.188l15.639-15.82c0.471-0.468,0.377-0.655,0-0.936 + L23.205,7.807c-0.094-0.094-0.377-0.094-0.377,0.093v9.361H10.016c-0.283,0-0.471,0.188-0.471,0.375v12.451 + c0,0.374,0.188,0.468,0.565,0.468h12.718L22.732,40.009z"/> + <path fill="#2A5DE1" d="M22.742,39.981c0,0.28,0.283,0.28,0.47,0.188l15.615-15.793c0.471-0.468,0.377-0.654,0-0.935L23.212,7.833 + c-0.094-0.094-0.376-0.094-0.376,0.093v9.345H10.044c-0.282,0-0.471,0.188-0.471,0.375v12.431c0,0.374,0.188,0.467,0.565,0.467 + h12.699L22.742,39.981z"/> + <path fill="#2B5EE1" d="M22.752,39.956c0,0.279,0.282,0.279,0.469,0.188l15.592-15.768c0.469-0.467,0.376-0.653,0-0.933 + L23.223,7.86c-0.094-0.093-0.375-0.093-0.375,0.093v9.331H10.072c-0.282,0-0.47,0.187-0.47,0.373v12.41 + c0,0.373,0.188,0.466,0.563,0.466h12.68L22.752,39.956z"/> + <path fill="#2C5FE2" d="M22.761,39.929c0,0.28,0.282,0.28,0.469,0.188l15.567-15.742c0.47-0.466,0.377-0.652,0-0.932L23.231,7.887 + c-0.094-0.093-0.375-0.093-0.375,0.092v9.315H10.102c-0.281,0-0.469,0.187-0.469,0.373v12.388c0,0.372,0.188,0.465,0.563,0.465 + h12.661L22.761,39.929z"/> + <path fill="#2D60E2" d="M22.771,39.901c0,0.279,0.281,0.279,0.469,0.187l15.544-15.714c0.469-0.465,0.375-0.65,0-0.93 + L23.239,7.914c-0.094-0.093-0.375-0.093-0.375,0.093v9.299H10.129c-0.28,0-0.468,0.186-0.468,0.373v12.367 + c0,0.372,0.188,0.465,0.562,0.465h12.642L22.771,39.901z"/> + <path fill="#2E61E3" d="M22.781,39.876c0,0.277,0.281,0.277,0.468,0.186l15.521-15.688c0.468-0.464,0.375-0.649,0-0.928 + L23.25,7.94c-0.094-0.093-0.375-0.093-0.375,0.092v9.284H10.158c-0.28,0-0.467,0.186-0.467,0.372v12.347 + c0,0.372,0.188,0.464,0.561,0.464h12.623L22.781,39.876z"/> + <path fill="#2F62E3" d="M22.792,39.851c0,0.277,0.28,0.277,0.467,0.186l15.499-15.663c0.466-0.464,0.373-0.649,0-0.927 + l-15.5-15.479c-0.093-0.092-0.374-0.092-0.374,0.092v9.268H10.188c-0.28,0-0.467,0.186-0.467,0.372v12.325 + c0,0.371,0.187,0.463,0.56,0.463h12.604L22.792,39.851z"/> + <path fill="#3063E4" d="M22.799,39.821c0,0.279,0.281,0.279,0.467,0.187l15.475-15.636c0.465-0.463,0.373-0.648,0-0.925 + L23.267,7.995c-0.093-0.092-0.373-0.092-0.373,0.092v9.252H10.215c-0.279,0-0.466,0.185-0.466,0.371v12.305 + c0,0.369,0.187,0.461,0.56,0.461h12.584L22.799,39.821z"/> + <path fill="#3164E4" d="M22.81,39.796c0,0.277,0.28,0.277,0.466,0.186l15.451-15.61c0.465-0.462,0.372-0.646,0-0.924L23.275,8.021 + c-0.094-0.092-0.373-0.092-0.373,0.092v9.237H10.245c-0.279,0-0.465,0.185-0.465,0.37v12.285c0,0.369,0.187,0.461,0.559,0.461 + h12.565L22.81,39.796z"/> + <path fill="#3265E5" d="M22.819,39.771c0,0.276,0.279,0.276,0.465,0.185l15.428-15.583c0.465-0.461,0.373-0.646,0-0.922 + L23.284,8.048c-0.093-0.092-0.372-0.092-0.372,0.092v9.221H10.273c-0.279,0-0.464,0.185-0.464,0.37v12.265 + c0,0.369,0.186,0.46,0.558,0.46h12.546L22.819,39.771z"/> + <path fill="#3366E5" d="M22.83,39.743c0,0.275,0.278,0.275,0.464,0.185l15.404-15.557c0.464-0.46,0.371-0.645,0-0.921 + L23.293,8.076c-0.093-0.092-0.372-0.092-0.372,0.092v9.206h-12.62c-0.278,0-0.464,0.184-0.464,0.369v12.243 + c0,0.369,0.186,0.461,0.557,0.461h12.527L22.83,39.743z"/> + <path fill="#3366E6" d="M22.838,39.716c0,0.276,0.278,0.276,0.464,0.186l15.38-15.532c0.463-0.459,0.371-0.643,0-0.918 + L23.302,8.103c-0.093-0.092-0.371-0.092-0.371,0.091v9.19H10.331c-0.278,0-0.463,0.185-0.463,0.368v12.222 + c0,0.368,0.186,0.459,0.556,0.459h12.508L22.838,39.716z"/> + <path fill="#3467E6" d="M22.849,39.688c0,0.275,0.278,0.275,0.463,0.185l15.357-15.504c0.461-0.458,0.369-0.642,0-0.917 + L23.312,8.129C23.217,8.038,22.94,8.038,22.94,8.22v9.174H10.358c-0.277,0-0.462,0.184-0.462,0.368v12.203 + c0,0.366,0.185,0.458,0.555,0.458H22.94L22.849,39.688z"/> + <path fill="#3568E7" d="M22.857,39.663c0,0.275,0.277,0.275,0.462,0.184l15.333-15.478c0.461-0.458,0.37-0.641,0-0.916 + L23.319,8.156c-0.093-0.092-0.37-0.092-0.37,0.091v9.159H10.387c-0.277,0-0.461,0.184-0.461,0.367v12.182 + c0,0.366,0.185,0.457,0.554,0.457h12.47L22.857,39.663z"/> + <path fill="#3669E7" d="M22.867,39.637c0,0.274,0.277,0.274,0.461,0.183l15.31-15.452c0.461-0.458,0.368-0.64,0-0.915 + l-15.31-15.27c-0.092-0.091-0.369-0.091-0.369,0.091v9.143H10.417c-0.277,0-0.461,0.184-0.461,0.366v12.16 + c0,0.365,0.184,0.457,0.553,0.457h12.451L22.867,39.637z"/> + <path fill="#376AE8" d="M22.877,39.608c0,0.274,0.276,0.274,0.46,0.184l15.287-15.425c0.461-0.457,0.369-0.639,0-0.913 + L23.337,8.21c-0.092-0.091-0.368-0.091-0.368,0.091v9.127H10.445c-0.276,0-0.46,0.183-0.46,0.366v12.14 + c0,0.365,0.184,0.455,0.552,0.455h12.432L22.877,39.608z"/> + <path fill="#386BE8" d="M22.886,39.583c0,0.273,0.276,0.273,0.46,0.184l15.263-15.4c0.459-0.456,0.368-0.638,0-0.911L23.347,8.237 + c-0.092-0.091-0.368-0.091-0.368,0.091v9.112H10.474c-0.275,0-0.459,0.183-0.459,0.365v12.119c0,0.363,0.184,0.454,0.552,0.454 + h12.413L22.886,39.583z"/> + <path fill="#396CE9" d="M22.896,39.558c0,0.272,0.276,0.272,0.459,0.182l15.239-15.374c0.459-0.455,0.367-0.637,0-0.91 + L23.355,8.265c-0.092-0.091-0.368-0.091-0.368,0.09v9.097H10.502c-0.275,0-0.459,0.183-0.459,0.364v12.099 + c0,0.364,0.184,0.454,0.551,0.454h12.394L22.896,39.558z"/> + <path fill="#3A6DE9" d="M22.905,39.528c0,0.273,0.276,0.273,0.459,0.184l15.217-15.348c0.457-0.454,0.366-0.635,0-0.908 + L23.364,8.292c-0.092-0.091-0.367-0.091-0.367,0.09v9.081H10.531c-0.275,0-0.458,0.182-0.458,0.364v12.079 + c0,0.361,0.184,0.453,0.55,0.453h12.374L22.905,39.528z"/> + <path fill="#3B6EEA" d="M22.916,39.503c0,0.271,0.275,0.271,0.458,0.182l15.193-15.32c0.456-0.453,0.366-0.634,0-0.906 + L23.374,8.318c-0.092-0.091-0.366-0.091-0.366,0.09v9.065H10.56c-0.274,0-0.458,0.182-0.458,0.363v12.057 + c0,0.362,0.183,0.453,0.549,0.453h12.355L22.916,39.503z"/> + <path fill="#3C6FEA" d="M22.924,39.478c0,0.271,0.274,0.271,0.457,0.181l15.17-15.294c0.455-0.453,0.365-0.633,0-0.905 + L23.381,8.344c-0.092-0.09-0.366-0.09-0.366,0.09v9.05H10.588c-0.274,0-0.457,0.181-0.457,0.363v12.036 + c0,0.361,0.183,0.451,0.548,0.451h12.336L22.924,39.478z"/> + <path fill="#3D70EB" d="M22.935,39.45c0,0.271,0.274,0.271,0.456,0.181l15.146-15.269c0.455-0.452,0.365-0.632,0-0.904 + L23.391,8.373c-0.091-0.09-0.365-0.09-0.365,0.09v9.034H10.617c-0.274,0-0.456,0.181-0.456,0.362v12.017 + c0,0.36,0.182,0.45,0.547,0.45h12.317L22.935,39.45z"/> + <path fill="#3E71EB" d="M22.943,39.424c0,0.271,0.274,0.271,0.456,0.181l15.123-15.243c0.455-0.451,0.363-0.631,0-0.902 + L23.399,8.398c-0.091-0.09-0.365-0.09-0.365,0.09v9.019h-12.39c-0.273,0-0.455,0.181-0.455,0.361v11.994 + c0,0.361,0.182,0.451,0.546,0.451h12.298L22.943,39.424z"/> + <path fill="#3F72EC" d="M22.954,39.397c0,0.271,0.273,0.271,0.455,0.181l15.099-15.217c0.455-0.45,0.365-0.63,0-0.9L23.408,8.425 + c-0.091-0.09-0.364-0.09-0.364,0.089v9.003h-12.37c-0.272,0-0.455,0.18-0.455,0.361v11.974c0,0.359,0.182,0.449,0.546,0.449 + h12.279L22.954,39.397z"/> + <path fill="#4073EC" d="M22.962,39.37c0,0.27,0.273,0.27,0.455,0.18l15.076-15.188c0.453-0.45,0.363-0.629,0-0.898L23.417,8.453 + c-0.091-0.09-0.363-0.09-0.363,0.089v8.988H10.704c-0.272,0-0.454,0.18-0.454,0.36v11.954c0,0.358,0.182,0.448,0.545,0.448h12.26 + L22.962,39.37z"/> + <path fill="#4174ED" d="M22.973,39.344c0,0.271,0.272,0.271,0.454,0.181L38.479,24.36c0.452-0.449,0.362-0.628,0-0.897 + L23.426,8.48c-0.091-0.09-0.363-0.09-0.363,0.089v8.972H10.731c-0.272,0-0.453,0.18-0.453,0.359v11.933 + c0,0.357,0.181,0.447,0.544,0.447h12.241L22.973,39.344z"/> + <path fill="#4275ED" d="M22.982,39.315c0,0.271,0.272,0.271,0.453,0.181l15.028-15.137c0.453-0.448,0.363-0.626,0-0.896 + L23.436,8.506c-0.091-0.09-0.362-0.09-0.362,0.089v8.957H10.76c-0.271,0-0.453,0.18-0.453,0.358v11.913 + c0,0.357,0.181,0.445,0.543,0.445h12.222L22.982,39.315z"/> + <path fill="#4376EE" d="M22.991,39.29c0,0.27,0.272,0.27,0.453,0.179l15.005-15.109c0.451-0.447,0.362-0.625,0-0.894L23.444,8.534 + c-0.091-0.089-0.362-0.089-0.362,0.089v8.94H10.79c-0.271,0-0.452,0.18-0.452,0.358v11.893c0,0.355,0.181,0.444,0.542,0.444 + h12.203L22.991,39.29z"/> + <path fill="#4477EE" d="M23.001,39.265c0,0.268,0.271,0.268,0.452,0.178l14.981-15.083c0.449-0.446,0.361-0.625,0-0.893 + L23.454,8.561c-0.091-0.089-0.361-0.089-0.361,0.089v8.925H10.817c-0.271,0-0.451,0.179-0.451,0.357v11.87 + c0,0.356,0.181,0.445,0.542,0.445h12.184L23.001,39.265z"/> + <path fill="#4578EF" d="M23.01,39.237c0,0.268,0.271,0.268,0.451,0.178l14.959-15.058c0.449-0.445,0.359-0.624,0-0.891 + L23.461,8.587c-0.09-0.089-0.361-0.089-0.361,0.089v8.91H10.847c-0.27,0-0.45,0.179-0.45,0.356v11.851 + c0,0.354,0.18,0.444,0.541,0.444h12.165L23.01,39.237z"/> + <path fill="#4679EF" d="M23.021,39.21c0,0.268,0.271,0.268,0.45,0.18l14.935-15.032c0.449-0.445,0.36-0.623,0-0.889L23.47,8.614 + c-0.09-0.089-0.36-0.089-0.36,0.089v8.894H10.875c-0.27,0-0.45,0.179-0.45,0.356v11.83c0,0.354,0.18,0.444,0.54,0.444H23.11 + L23.021,39.21z"/> + <path fill="#477AF0" d="M23.03,39.185c0,0.267,0.27,0.267,0.449,0.178l14.912-15.005c0.447-0.444,0.359-0.622,0-0.888 + L23.479,8.642c-0.09-0.089-0.359-0.089-0.359,0.088v8.878H10.903c-0.27,0-0.449,0.178-0.449,0.356v11.809 + c0,0.354,0.18,0.441,0.539,0.441h12.127L23.03,39.185z"/> + <path fill="#487BF0" d="M23.041,39.157c0,0.266,0.269,0.266,0.448,0.177l14.89-14.979c0.446-0.443,0.357-0.62,0-0.886 + L23.488,8.668c-0.09-0.089-0.359-0.089-0.359,0.088v8.863H10.933c-0.269,0-0.448,0.177-0.448,0.354v11.788 + c0,0.354,0.179,0.441,0.538,0.441h12.107L23.041,39.157z"/> + <path fill="#497CF1" d="M23.049,39.13c0,0.268,0.269,0.268,0.448,0.178l14.865-14.952c0.446-0.442,0.357-0.619,0-0.885 + L23.498,8.695c-0.09-0.088-0.358-0.088-0.358,0.088v8.848H10.961c-0.269,0-0.448,0.177-0.448,0.354v11.767 + c0,0.354,0.179,0.44,0.538,0.44H23.14L23.049,39.13z"/> + <path fill="#4A7DF1" d="M23.06,39.104c0,0.266,0.269,0.266,0.447,0.176l14.841-14.925c0.446-0.442,0.356-0.618,0-0.883 + L23.506,8.723c-0.09-0.088-0.358-0.088-0.358,0.088v8.832H10.989c-0.268,0-0.447,0.177-0.447,0.354v11.747 + c0,0.354,0.179,0.439,0.537,0.439h12.069L23.06,39.104z"/> + <path fill="#4B7EF2" d="M23.068,39.077c0,0.265,0.269,0.265,0.447,0.177l14.817-14.899c0.445-0.441,0.357-0.617,0-0.882 + L23.516,8.75c-0.09-0.088-0.357-0.088-0.357,0.088v8.816h-12.14c-0.268,0-0.446,0.177-0.446,0.354v11.726 + c0,0.353,0.179,0.439,0.536,0.439h12.05L23.068,39.077z"/> + <path fill="#4C7FF2" d="M23.079,39.051c0,0.265,0.268,0.265,0.446,0.177l14.794-14.874c0.444-0.44,0.356-0.616,0-0.88 + L23.523,8.775c-0.089-0.088-0.357-0.088-0.357,0.088v8.8h-12.12c-0.268,0-0.446,0.176-0.446,0.353v11.705 + c0,0.353,0.178,0.439,0.535,0.439h12.031L23.079,39.051z"/> + <path fill="#4D80F3" d="M23.087,39.024c0,0.264,0.268,0.264,0.445,0.176l14.771-14.848c0.443-0.439,0.355-0.615,0-0.878 + L23.532,8.803c-0.089-0.088-0.356-0.088-0.356,0.087v8.785H11.075c-0.267,0-0.445,0.176-0.445,0.352v11.685 + c0,0.352,0.178,0.438,0.534,0.438h12.012L23.087,39.024z"/> + <path fill="#4E81F3" d="M23.098,38.997c0,0.264,0.267,0.264,0.445,0.176l14.748-14.82c0.442-0.438,0.354-0.614,0-0.877 + L23.542,8.831c-0.089-0.088-0.356-0.088-0.356,0.087v8.769H11.104c-0.266,0-0.444,0.176-0.444,0.352v11.665 + c0,0.35,0.178,0.437,0.533,0.437h11.993L23.098,38.997z"/> + <path fill="#4F82F4" d="M23.107,38.972c0,0.262,0.267,0.262,0.444,0.174l14.723-14.794c0.441-0.438,0.355-0.613,0-0.875 + L23.55,8.856c-0.089-0.087-0.355-0.087-0.355,0.087v8.754H11.132c-0.266,0-0.443,0.176-0.443,0.351V29.69 + c0,0.351,0.177,0.438,0.532,0.438h11.974L23.107,38.972z"/> + <path fill="#5083F4" d="M23.116,38.944c0,0.262,0.266,0.262,0.443,0.175l14.699-14.769c0.443-0.437,0.354-0.611,0-0.874 + L23.56,8.883c-0.089-0.087-0.354-0.087-0.354,0.087v8.738H11.162c-0.266,0-0.443,0.175-0.443,0.35v11.622 + c0,0.35,0.177,0.437,0.531,0.437h11.955L23.116,38.944z"/> + <path fill="#5184F5" d="M23.126,38.918c0,0.263,0.266,0.263,0.442,0.174l14.677-14.741c0.441-0.436,0.354-0.61,0-0.872 + L23.568,8.911c-0.089-0.087-0.354-0.087-0.354,0.087v8.723H11.19c-0.265,0-0.442,0.175-0.442,0.35v11.603 + c0,0.348,0.177,0.436,0.531,0.436h11.936L23.126,38.918z"/> + <path fill="#5285F5" d="M23.135,38.892c0,0.262,0.266,0.262,0.442,0.174L38.23,24.35c0.44-0.436,0.354-0.609,0-0.871L23.578,8.938 + c-0.088-0.087-0.354-0.087-0.354,0.087v8.707H11.218c-0.265,0-0.441,0.175-0.441,0.349v11.581c0,0.348,0.177,0.434,0.53,0.434 + h11.917L23.135,38.892z"/> + <path fill="#5386F6" d="M23.146,38.864c0,0.261,0.265,0.261,0.441,0.174l14.629-14.689c0.44-0.435,0.354-0.608,0-0.869 + L23.586,8.964c-0.088-0.087-0.353-0.087-0.353,0.086v8.691H11.248c-0.264,0-0.441,0.174-0.441,0.348v11.562 + c0,0.347,0.177,0.433,0.529,0.433h11.898L23.146,38.864z"/> + <path fill="#5487F6" d="M23.154,38.838c0,0.261,0.264,0.261,0.44,0.174l14.608-14.663c0.438-0.434,0.352-0.607,0-0.867 + L23.595,8.992c-0.088-0.087-0.353-0.087-0.353,0.086v8.676H11.276c-0.264,0-0.44,0.174-0.44,0.348v11.54 + c0,0.346,0.176,0.433,0.528,0.433h11.878L23.154,38.838z"/> + <path fill="#5588F7" d="M23.165,38.812c0,0.26,0.264,0.26,0.44,0.174l14.583-14.637c0.438-0.433,0.353-0.606,0-0.866L23.604,9.019 + c-0.088-0.086-0.352-0.086-0.352,0.086v8.661H11.304c-0.263,0-0.439,0.173-0.439,0.347v11.52c0,0.346,0.176,0.432,0.527,0.432 + h11.859L23.165,38.812z"/> + <path fill="#5689F7" d="M23.173,38.784c0,0.26,0.264,0.26,0.439,0.173l14.561-14.609c0.438-0.433,0.351-0.605,0-0.865 + L23.612,9.045c-0.088-0.086-0.351-0.086-0.351,0.086v8.645H11.333c-0.263,0-0.438,0.173-0.438,0.346v11.499 + c0,0.345,0.175,0.431,0.526,0.431h11.84L23.173,38.784z"/> + <path fill="#578AF8" d="M23.184,38.758c0,0.259,0.263,0.259,0.438,0.173l14.537-14.584c0.437-0.432,0.351-0.604,0-0.863 + L23.622,9.072c-0.088-0.086-0.351-0.086-0.351,0.086v8.629H11.362c-0.263,0-0.438,0.173-0.438,0.346V29.61 + c0,0.346,0.175,0.432,0.525,0.432h11.821L23.184,38.758z"/> + <path fill="#588BF8" d="M23.192,38.731c0,0.258,0.263,0.258,0.438,0.172l14.513-14.558c0.436-0.431,0.35-0.603,0-0.861L23.63,9.1 + c-0.087-0.086-0.35-0.086-0.35,0.086v8.614h-11.89c-0.262,0-0.437,0.173-0.437,0.345v11.456c0,0.344,0.175,0.43,0.524,0.43H23.28 + L23.192,38.731z"/> + <path fill="#598CF9" d="M23.203,38.704c0,0.259,0.262,0.259,0.437,0.173l14.488-14.532c0.437-0.43,0.351-0.602,0-0.86L23.64,9.126 + c-0.088-0.086-0.35-0.086-0.35,0.085v8.598h-11.87c-0.262,0-0.437,0.172-0.437,0.344v11.438c0,0.344,0.175,0.428,0.524,0.428 + h11.784L23.203,38.704z"/> + <path fill="#5A8DF9" d="M23.212,38.678c0,0.259,0.262,0.259,0.436,0.173l14.466-14.506c0.436-0.429,0.35-0.6,0-0.858L23.648,9.153 + c-0.088-0.086-0.349-0.086-0.349,0.085v8.583H11.448c-0.262,0-0.436,0.172-0.436,0.344v11.416c0,0.343,0.174,0.428,0.523,0.428 + h11.764L23.212,38.678z"/> + <path fill="#5B8EFA" d="M23.222,38.651c0,0.257,0.262,0.257,0.436,0.17L38.1,24.343c0.434-0.428,0.349-0.599,0-0.856L23.657,9.181 + c-0.087-0.085-0.349-0.085-0.349,0.085v8.567H11.477c-0.261,0-0.435,0.171-0.435,0.343v11.394c0,0.343,0.174,0.428,0.522,0.428 + h11.745L23.222,38.651z"/> + <path fill="#5C8FFA" d="M23.231,38.625c0,0.256,0.261,0.256,0.435,0.171l14.418-14.453c0.435-0.428,0.349-0.598,0-0.855 + L23.667,9.208c-0.087-0.085-0.348-0.085-0.348,0.085v8.551H11.505c-0.261,0-0.434,0.172-0.434,0.343v11.375 + c0,0.34,0.173,0.426,0.521,0.426h11.726L23.231,38.625z"/> + <path fill="#5D90FB" d="M23.24,38.599c0,0.256,0.261,0.256,0.434,0.17L38.07,24.342c0.433-0.427,0.349-0.598,0-0.854L23.674,9.233 + c-0.087-0.085-0.347-0.085-0.347,0.085v8.536H11.534c-0.26,0-0.434,0.171-0.434,0.342V29.55c0,0.342,0.173,0.426,0.52,0.426 + h11.707L23.24,38.599z"/> + <path fill="#5E91FB" d="M23.25,38.571c0,0.256,0.26,0.256,0.434,0.171l14.371-14.401c0.432-0.426,0.347-0.596,0-0.852 + L23.685,9.261c-0.087-0.085-0.347-0.085-0.347,0.084v8.521H11.562c-0.259,0-0.433,0.171-0.433,0.342V29.54 + c0,0.34,0.173,0.424,0.52,0.424h11.688L23.25,38.571z"/> + <path fill="#5F92FC" d="M23.26,38.545c0,0.255,0.26,0.255,0.433,0.17l14.349-14.374c0.432-0.425,0.347-0.595,0-0.85L23.692,9.289 + c-0.087-0.085-0.346-0.085-0.346,0.084v8.504H11.591c-0.259,0-0.432,0.171-0.432,0.341V29.53c0,0.339,0.173,0.423,0.519,0.423 + h11.669L23.26,38.545z"/> + <path fill="#6093FC" d="M23.27,38.519c0,0.254,0.259,0.254,0.432,0.17l14.326-14.347c0.431-0.425,0.345-0.594,0-0.849 + L23.702,9.314c-0.087-0.085-0.346-0.085-0.346,0.084v8.489H11.621c-0.259,0-0.432,0.17-0.432,0.34v11.291 + c0,0.34,0.173,0.424,0.518,0.424h11.649L23.27,38.519z"/> + <path fill="#6194FD" d="M23.279,38.491c0,0.255,0.259,0.255,0.431,0.17l14.302-14.322c0.429-0.424,0.345-0.593,0-0.847 + L23.71,9.341c-0.086-0.084-0.345-0.084-0.345,0.084v8.473H11.648c-0.259,0-0.431,0.17-0.431,0.34v11.271 + c0,0.338,0.172,0.422,0.517,0.422h11.63L23.279,38.491z"/> + <path fill="#6295FD" d="M23.29,38.465c0,0.254,0.258,0.254,0.43,0.169l14.28-14.294c0.428-0.423,0.344-0.592,0-0.846L23.719,9.369 + c-0.086-0.084-0.344-0.084-0.344,0.084v8.458H11.677c-0.258,0-0.43,0.17-0.43,0.339v11.25c0,0.338,0.172,0.422,0.516,0.422h11.612 + L23.29,38.465z"/> + <path fill="#6396FE" d="M23.298,38.438c0,0.254,0.258,0.254,0.43,0.17l14.255-14.269c0.428-0.422,0.344-0.591,0-0.844 + l-14.255-14.1c-0.086-0.084-0.344-0.084-0.344,0.084v8.442H11.707c-0.258,0-0.429,0.169-0.429,0.338v11.228 + c0,0.338,0.171,0.422,0.515,0.422h11.592L23.298,38.438z"/> + <path fill="#6497FE" d="M23.309,38.412c0,0.253,0.257,0.253,0.429,0.168l14.23-14.242c0.428-0.422,0.344-0.59,0-0.843 + L23.737,9.422c-0.086-0.084-0.344-0.084-0.344,0.083v8.427H11.734c-0.257,0-0.429,0.169-0.429,0.338v11.209 + c0,0.336,0.171,0.418,0.514,0.418h11.573L23.309,38.412z"/> + <path fill="#6598FF" d="M23.317,38.385c0,0.253,0.257,0.253,0.429,0.169l14.208-14.216c0.428-0.42,0.344-0.588,0-0.841 + L23.747,9.45c-0.086-0.084-0.343-0.084-0.343,0.083v8.411h-11.64c-0.257,0-0.428,0.169-0.428,0.337v11.188 + c0,0.336,0.171,0.419,0.514,0.419h11.554L23.317,38.385z"/> + <path fill="#6699FF" d="M23.328,38.358c0,0.252,0.257,0.252,0.428,0.168l14.185-14.19c0.426-0.42,0.342-0.587,0-0.839 + L23.754,9.477c-0.086-0.084-0.342-0.084-0.342,0.083v8.396h-11.62c-0.256,0-0.427,0.168-0.427,0.336v11.167 + c0,0.335,0.171,0.418,0.513,0.418h11.535L23.328,38.358z"/> + </g> + + <linearGradient id="XMLID_10_" gradientUnits="userSpaceOnUse" x1="210.7969" y1="-239.4214" x2="210.7969" y2="-268.5771" gradientTransform="matrix(1 0 0 -1 -186 -230)"> + <stop offset="0" style="stop-color:#FFFFFF"/> + <stop offset="1" style="stop-color:#6699FF"/> + </linearGradient> + <path fill="url(#XMLID_10_)" d="M23.328,38.358c0,0.252,0.257,0.252,0.428,0.168l14.185-14.19c0.426-0.42,0.342-0.587,0-0.839 + L23.754,9.477c-0.086-0.084-0.342-0.084-0.342,0.083v8.396h-11.62c-0.256,0-0.427,0.168-0.427,0.336v11.167 + c0,0.335,0.171,0.418,0.513,0.418h11.535L23.328,38.358z"/> +</g> +<g id="crop_x0020_marks"> + <path fill="none" d="M48.06,47.999h-48v-48h48V47.999z"/> +</g> +</svg> diff --git a/doc/help/xslt/images/colorsvg/note.svg b/doc/help/xslt/images/colorsvg/note.svg new file mode 100644 index 00000000..e94c610e --- /dev/null +++ b/doc/help/xslt/images/colorsvg/note.svg @@ -0,0 +1,200 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 12.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 51448) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [ + <!ENTITY ns_svg "http://www.w3.org/2000/svg"> + <!ENTITY ns_xlink "http://www.w3.org/1999/xlink"> +]> +<svg version="1.1" id="Layer_1" xmlns="&ns_svg;" xmlns:xlink="&ns_xlink;" width="25.5" height="25.5" viewBox="0 0 25.5 25.5" + overflow="visible" enable-background="new 0 0 25.5 25.5" xml:space="preserve"> +<g id="Layer_x0020_1"> + <g> + <path fill="#1F60A9" d="M25.5,12.7c0,7-5.7,12.7-12.7,12.7C5.7,25.5,0,19.8,0,12.7C0,5.6,5.7,0,12.7,0s12.7,5.7,12.7,12.7H25.5z" + /> + <path fill="#2060AA" d="M25.473,12.7c0,6.983-5.688,12.671-12.672,12.671C5.718,25.471,0.03,19.783,0.03,12.7 + S5.718,0.029,12.701,0.029c6.984,0,12.671,5.687,12.671,12.671H25.473z"/> + <path fill="#2160AB" d="M25.443,12.7c0,6.968-5.674,12.642-12.643,12.642C5.734,25.439,0.061,19.768,0.061,12.7 + c0-7.068,5.674-12.642,12.642-12.642c6.968,0,12.641,5.674,12.641,12.642H25.443z"/> + <path fill="#2160AC" d="M25.415,12.7c0,6.95-5.661,12.612-12.612,12.612C5.752,25.412,0.091,19.751,0.091,12.7 + c0-7.051,5.661-12.612,12.612-12.612S25.316,5.749,25.316,12.7H25.415z"/> + <path fill="#2260AD" d="M25.387,12.7c0,6.936-5.648,12.583-12.583,12.583C5.769,25.383,0.121,19.734,0.121,12.7 + c0-7.035,5.648-12.583,12.583-12.583c6.937,0,12.583,5.648,12.583,12.583H25.387z"/> + <path fill="#2360AE" d="M25.357,12.701c0,6.919-5.635,12.554-12.553,12.554C5.787,25.354,0.152,19.719,0.152,12.701 + c0-7.019,5.635-12.554,12.554-12.554S25.26,5.782,25.26,12.701H25.357z"/> + <path fill="#2460AF" d="M25.33,12.7c0,6.903-5.622,12.524-12.525,12.524C5.803,25.323,0.181,19.702,0.181,12.7 + S5.803,0.175,12.706,0.175c6.903,0,12.524,5.621,12.524,12.525H25.33z"/> + <path fill="#2560B0" d="M25.302,12.701c0,6.887-5.608,12.496-12.496,12.496C5.82,25.294,0.212,19.686,0.212,12.701 + c0-6.986,5.608-12.496,12.496-12.496c6.888,0,12.496,5.608,12.496,12.496H25.302z"/> + <path fill="#2661B1" d="M25.273,12.7c0,6.87-5.597,12.467-12.467,12.467C5.837,25.266,0.242,19.67,0.242,12.7 + c0-6.969,5.595-12.467,12.467-12.467c6.871,0,12.467,5.596,12.467,12.467H25.273z"/> + <path fill="#2661B2" d="M25.245,12.7c0,6.854-5.583,12.438-12.438,12.438C5.854,25.234,0.272,19.652,0.272,12.7 + S5.854,0.262,12.709,0.262c6.855,0,12.438,5.583,12.438,12.438H25.245z"/> + <path fill="#2761B3" d="M25.216,12.7c0,6.839-5.567,12.407-12.408,12.407C5.872,25.205,0.303,19.637,0.303,12.7 + c0-6.937,5.569-12.408,12.408-12.408S25.12,5.861,25.12,12.7H25.216z"/> + <path fill="#2861B4" d="M25.188,12.7c0,6.823-5.557,12.38-12.378,12.38C5.889,25.177,0.333,19.62,0.333,12.7 + c0-6.92,5.556-12.379,12.379-12.379c6.823,0,12.38,5.556,12.38,12.379H25.188z"/> + <path fill="#2961B5" d="M25.16,12.7c0,6.807-5.543,12.35-12.351,12.35C5.906,25.146,0.363,19.604,0.363,12.7 + c0-6.904,5.543-12.35,12.35-12.35s12.35,5.543,12.35,12.35H25.16z"/> + <path fill="#2A61B6" d="M25.131,12.7c0,6.792-5.529,12.321-12.32,12.321C5.923,25.117,0.393,19.588,0.393,12.7 + c0-6.888,5.53-12.32,12.321-12.32s12.32,5.53,12.32,12.32H25.131z"/> + <path fill="#2A61B7" d="M25.104,12.7c0,6.774-5.518,12.292-12.292,12.292C5.94,25.088,0.424,19.57,0.424,12.7 + c0-6.872,5.517-12.292,12.291-12.292c6.773,0,12.292,5.517,12.292,12.292H25.104z"/> + <path fill="#2B61B8" d="M25.075,12.7c0,6.759-5.505,12.263-12.263,12.263C5.958,25.059,0.455,19.555,0.455,12.7 + c0-6.855,5.503-12.262,12.262-12.262c6.76,0,12.262,5.504,12.262,12.262H25.075z"/> + <path fill="#2C61B9" d="M25.046,12.7c0,6.743-5.489,12.233-12.232,12.233C5.975,25.029,0.484,19.539,0.484,12.7 + c0-6.839,5.491-12.233,12.233-12.233c6.743,0,12.233,5.491,12.233,12.233H25.046z"/> + <path fill="#2D61BA" d="M25.018,12.7c0,6.727-5.478,12.204-12.204,12.204C5.992,25,0.514,19.521,0.514,12.7 + c0-6.822,5.478-12.204,12.204-12.204S24.922,5.973,24.922,12.7H25.018z"/> + <path fill="#2E61BB" d="M24.988,12.7c0,6.711-5.463,12.175-12.173,12.175C6.009,24.971,0.544,19.506,0.544,12.7 + c0-6.807,5.464-12.175,12.175-12.175S24.895,5.99,24.895,12.7H24.988z"/> + <path fill="#2F61BC" d="M24.962,12.701c0,6.693-5.45,12.145-12.146,12.145C6.026,24.941,0.575,19.49,0.575,12.701 + c0-6.79,5.451-12.146,12.146-12.146c6.695,0,12.146,5.452,12.146,12.146H24.962z"/> + <path fill="#2F61BD" d="M24.934,12.7c0,6.678-5.438,12.116-12.117,12.116C6.043,24.911,0.605,19.475,0.605,12.7 + S6.043,0.584,12.722,0.584c6.678,0,12.116,5.438,12.116,12.116H24.934z"/> + <path fill="#3061BE" d="M24.904,12.7c0,6.661-5.426,12.087-12.087,12.087C6.06,24.882,0.635,19.457,0.635,12.7 + c0-6.757,5.425-12.087,12.087-12.087c6.661,0,12.086,5.425,12.086,12.087H24.904z"/> + <path fill="#3162BF" d="M24.876,12.7c0,6.646-5.412,12.059-12.058,12.059C6.078,24.854,0.666,19.439,0.666,12.7 + c0-6.741,5.412-12.058,12.058-12.058S24.783,6.054,24.783,12.7H24.876z"/> + <path fill="#3262C0" d="M24.85,12.701c0,6.63-5.399,12.027-12.03,12.027C6.095,24.823,0.696,19.425,0.696,12.701 + c0-6.725,5.399-12.029,12.029-12.029c6.628,0,12.028,5.399,12.028,12.029H24.85z"/> + <path fill="#3362C1" d="M24.818,12.7c0,6.614-5.385,11.999-12,11.999C6.112,24.794,0.727,19.408,0.727,12.7s5.385-12,12-12 + c6.614,0,12,5.386,12,12H24.818z"/> + <path fill="#3362C2" d="M24.791,12.7c0,6.598-5.373,11.97-11.971,11.97C6.129,24.764,0.756,19.393,0.756,12.7 + S6.129,0.73,12.727,0.73c6.597,0,11.968,5.372,11.968,11.97H24.791z"/> + <path fill="#3462C3" d="M24.764,12.7c0,6.582-5.359,11.94-11.942,11.94C6.146,24.734,0.787,19.375,0.787,12.7 + c0-6.676,5.359-11.941,11.941-11.941c6.583,0,11.941,5.36,11.941,11.941H24.764z"/> + <path fill="#3562C4" d="M24.734,12.7c0,6.565-5.348,11.911-11.913,11.911C6.164,24.705,0.817,19.359,0.817,12.7 + S6.164,0.788,12.729,0.788c6.566,0,11.912,5.347,11.912,11.912H24.734z"/> + <path fill="#3662C5" d="M24.706,12.7c0,6.55-5.333,11.883-11.883,11.883C6.181,24.676,0.847,19.343,0.847,12.7 + c0-6.643,5.333-11.883,11.883-11.883c6.549,0,11.881,5.333,11.881,11.883H24.706z"/> + <path fill="#3762C6" d="M24.678,12.7c0,6.534-5.32,11.854-11.854,11.854C6.198,24.646,0.877,19.326,0.877,12.7 + S6.198,0.846,12.731,0.846c6.535,0,11.853,5.32,11.853,11.854H24.678z"/> + <path fill="#3762C7" d="M24.648,12.7c0,6.518-5.308,11.823-11.824,11.823C6.215,24.617,0.908,19.311,0.908,12.7 + c0-6.611,5.307-11.824,11.824-11.824S24.557,6.183,24.557,12.7H24.648z"/> + <path fill="#3862C8" d="M24.621,12.7c0,6.502-5.294,11.795-11.795,11.795C6.232,24.588,0.938,19.294,0.938,12.7 + c0-6.594,5.293-11.795,11.795-11.795c6.501,0,11.794,5.294,11.794,11.795H24.621z"/> + <path fill="#3962C9" d="M24.593,12.7c0,6.485-5.28,11.766-11.766,11.766C6.249,24.559,0.968,19.277,0.968,12.7 + c0-6.578,5.281-11.766,11.766-11.766S24.5,6.215,24.5,12.7H24.593z"/> + <path fill="#3A62CA" d="M24.564,12.7c0,6.469-5.27,11.737-11.737,11.737C6.266,24.527,0.999,19.261,0.999,12.7 + c0-6.561,5.267-11.737,11.736-11.737c6.469,0,11.738,5.268,11.738,11.736L24.564,12.7L24.564,12.7z"/> + <path fill="#3B62CB" d="M24.536,12.7c0,6.452-5.255,11.707-11.708,11.707C6.284,24.5,1.029,19.245,1.029,12.7 + c0-6.545,5.255-11.707,11.707-11.707s11.708,5.255,11.708,11.708L24.536,12.7L24.536,12.7z"/> + <path fill="#3C62CC" d="M24.508,12.701c0,6.438-5.24,11.678-11.678,11.678c-6.529,0.092-11.77-5.15-11.77-11.678 + c0-6.528,5.241-11.679,11.678-11.679S24.416,6.263,24.416,12.7L24.508,12.701L24.508,12.701z"/> + <path fill="#3C62CD" d="M24.479,12.7c0,6.421-5.229,11.649-11.648,11.649C6.318,24.439,1.09,19.212,1.09,12.7 + c0-6.513,5.228-11.649,11.649-11.649c6.42,0,11.65,5.228,11.65,11.649H24.479z"/> + <path fill="#3D63CE" d="M24.45,12.7c0,6.403-5.216,11.618-11.62,11.618C6.335,24.41,1.12,19.195,1.12,12.7 + c0-6.497,5.215-11.62,11.62-11.62c6.404,0,11.619,5.215,11.619,11.62H24.45z"/> + <path fill="#3E63CF" d="M24.423,12.7c0,6.389-5.202,11.591-11.591,11.591C6.353,24.382,1.15,19.18,1.15,12.7 + c0-6.48,5.203-11.591,11.591-11.591c6.388,0,11.59,5.203,11.59,11.591H24.423z"/> + <path fill="#3F63D0" d="M24.395,12.701c0,6.373-5.188,11.561-11.562,11.561C6.37,24.354,1.18,19.164,1.18,12.701 + c0-6.464,5.189-11.562,11.562-11.562c6.371,0,11.562,5.189,11.562,11.562H24.395z"/> + <path fill="#4063D1" d="M24.365,12.7c0,6.356-5.176,11.532-11.532,11.532C6.387,24.322,1.21,19.146,1.21,12.7 + c0-6.447,5.177-11.533,11.533-11.533c6.354,0,11.532,5.176,11.532,11.533H24.365z"/> + <path fill="#4063D2" d="M24.337,12.7c0,6.341-5.163,11.503-11.503,11.503C6.403,24.293,1.24,19.13,1.24,12.7 + c0-6.431,5.163-11.503,11.503-11.503c6.34,0,11.504,5.163,11.504,11.503H24.337z"/> + <path fill="#4163D3" d="M24.311,12.7c0,6.323-5.15,11.474-11.476,11.474C6.42,24.264,1.271,19.114,1.271,12.7 + c0-6.415,5.149-11.474,11.474-11.474c6.323,0,11.474,5.15,11.474,11.474H24.311z"/> + <path fill="#4263D4" d="M24.281,12.701c0,6.308-5.137,11.445-11.445,11.445C6.438,24.234,1.301,19.1,1.301,12.701 + c0-6.399,5.137-11.445,11.445-11.445c6.307,0,11.445,5.136,11.445,11.445H24.281z"/> + <path fill="#4363D4" d="M24.253,12.7c0,6.292-5.124,11.416-11.416,11.416C6.455,24.205,1.332,19.082,1.332,12.7 + c0-6.382,5.123-11.415,11.415-11.415S24.163,6.408,24.163,12.7H24.253z"/> + <path fill="#4463D5" d="M24.225,12.7c0,6.276-5.111,11.387-11.387,11.387C6.472,24.176,1.362,19.064,1.362,12.7 + c0-6.366,5.11-11.386,11.386-11.386c6.275,0,11.387,5.11,11.387,11.386H24.225z"/> + <path fill="#4563D6" d="M24.195,12.7c0,6.26-5.098,11.356-11.357,11.356C6.49,24.146,1.392,19.049,1.392,12.7 + c0-6.35,5.098-11.357,11.357-11.357S24.105,6.441,24.105,12.7H24.195z"/> + <path fill="#4563D7" d="M24.167,12.7c0,6.243-5.084,11.327-11.328,11.327C6.506,24.116,1.422,19.033,1.422,12.7 + S6.506,1.372,12.75,1.372S24.078,6.456,24.078,12.7H24.167z"/> + <path fill="#4663D8" d="M24.139,12.7c0,6.228-5.07,11.299-11.299,11.299C6.523,24.087,1.453,19.018,1.453,12.7 + S6.523,1.401,12.751,1.401c6.228,0,11.298,5.071,11.298,11.299H24.139z"/> + <path fill="#4763D9" d="M24.109,12.7c0,6.212-5.058,11.271-11.27,11.271C6.541,24.059,1.483,19,1.483,12.7 + c0-6.3,5.058-11.27,11.27-11.27S24.023,6.488,24.023,12.7H24.109z"/> + <path fill="#4863DA" d="M24.082,12.7c0,6.194-5.045,11.239-11.24,11.239C6.558,24.027,1.513,18.982,1.513,12.7 + c0-6.284,5.045-11.24,11.24-11.24c6.195,0,11.241,5.045,11.241,11.24H24.082z"/> + <path fill="#4964DB" d="M24.055,12.7c0,6.18-5.033,11.211-11.212,11.211c-6.268,0.088-11.3-4.943-11.3-11.211 + c0-6.268,5.032-11.211,11.211-11.211c6.18,0,11.212,5.032,11.212,11.211H24.055z"/> + <path fill="#4964DC" d="M24.025,12.7c0,6.164-5.02,11.182-11.183,11.182C6.592,23.971,1.574,18.951,1.574,12.7 + S6.593,1.518,12.756,1.518S23.938,6.537,23.938,12.7H24.025z"/> + <path fill="#4A64DD" d="M23.997,12.7c0,6.147-5.006,11.153-11.153,11.153C6.609,23.939,1.604,18.936,1.604,12.7 + S6.609,1.547,12.757,1.547c6.146,0,11.152,5.006,11.152,11.153H23.997z"/> + <path fill="#4B64DE" d="M23.969,12.7c0,6.131-4.992,11.124-11.124,11.124C6.626,23.91,1.634,18.918,1.634,12.7 + c0-6.219,4.992-11.124,11.124-11.124c6.131,0,11.124,4.992,11.124,11.124H23.969z"/> + <path fill="#4C64DF" d="M23.939,12.7c0,6.114-4.979,11.095-11.094,11.095C6.644,23.882,1.665,18.902,1.665,12.7 + c0-6.203,4.979-11.094,11.094-11.094c6.115,0,11.095,4.979,11.095,11.094H23.939z"/> + <path fill="#4D64E0" d="M23.912,12.7c0,6.1-4.967,11.065-11.065,11.065C6.661,23.852,1.695,18.886,1.695,12.7 + c0-6.186,4.966-11.065,11.065-11.065c6.098,0,11.065,4.966,11.065,11.065H23.912z"/> + <path fill="#4E64E1" d="M23.884,12.7c0,6.083-4.952,11.036-11.036,11.036C6.678,23.822,1.725,18.869,1.725,12.7 + c0-6.17,4.954-11.036,11.036-11.036c6.083,0,11.036,4.954,11.036,11.036H23.884z"/> + <path fill="#4E64E2" d="M23.855,12.7c0,6.067-4.94,11.007-11.007,11.007C6.695,23.793,1.755,18.854,1.755,12.7 + c0-6.154,4.94-11.007,11.007-11.007c6.066,0,11.005,4.94,11.005,11.007H23.855z"/> + <path fill="#4F64E3" d="M23.827,12.7c0,6.051-4.929,10.978-10.978,10.978C6.712,23.764,1.786,18.837,1.786,12.7 + c0-6.137,4.927-10.978,10.978-10.978c6.05,0,10.977,4.927,10.977,10.978H23.827z"/> + <path fill="#5064E4" d="M23.799,12.7c0,6.034-4.914,10.948-10.949,10.948C6.729,23.734,1.816,18.82,1.816,12.7 + c0-6.121,4.914-10.948,10.948-10.948c6.034,0,10.949,4.914,10.949,10.948H23.799z"/> + <path fill="#5164E5" d="M23.771,12.7c0,6.019-4.901,10.919-10.919,10.919C6.747,23.705,1.846,18.805,1.846,12.7 + c0-6.105,4.9-10.919,10.919-10.919c6.018,0,10.918,4.9,10.918,10.919H23.771z"/> + <path fill="#5264E6" d="M23.742,12.7c0,6.003-4.889,10.89-10.891,10.89C6.764,23.675,1.876,18.788,1.876,12.7 + c0-6.088,4.888-10.89,10.89-10.89c6.001,0,10.89,4.888,10.89,10.89H23.742z"/> + <path fill="#5264E7" d="M23.714,12.7c0,5.985-4.875,10.86-10.861,10.86C6.781,23.646,1.906,18.771,1.906,12.7 + c0-6.072,4.875-10.861,10.861-10.861c5.985,0,10.86,4.875,10.86,10.861H23.714z"/> + <path fill="#5364E8" d="M23.686,12.7c0,5.971-4.861,10.832-10.832,10.832C6.798,23.616,1.937,18.755,1.937,12.7 + c0-6.056,4.862-10.832,10.832-10.832C18.738,1.869,23.6,6.73,23.6,12.7H23.686z"/> + <path fill="#5464E9" d="M23.657,12.7c0,5.954-4.849,10.803-10.803,10.803C6.815,23.587,1.967,18.739,1.967,12.7 + c0-6.04,4.849-10.802,10.803-10.802c5.955,0,10.802,4.848,10.802,10.802H23.657z"/> + <path fill="#5565EA" d="M23.629,12.7c0,5.938-4.836,10.772-10.774,10.772C6.833,23.559,1.998,18.723,1.998,12.7 + c0-6.023,4.835-10.773,10.773-10.773S23.544,6.762,23.544,12.7H23.629z"/> + <path fill="#5665EB" d="M23.602,12.7c0,5.922-4.824,10.743-10.746,10.743C6.85,23.527,2.027,18.706,2.027,12.7 + c0-6.006,4.822-10.744,10.744-10.744c5.922,0,10.745,4.822,10.745,10.744H23.602z"/> + <path fill="#5665EC" d="M23.572,12.7c0,5.905-4.811,10.715-10.715,10.715C6.867,23.499,2.058,18.689,2.058,12.7 + c0-5.99,4.809-10.715,10.714-10.715S23.486,6.794,23.486,12.7H23.572z"/> + <path fill="#5765ED" d="M23.544,12.7c0,5.89-4.797,10.686-10.687,10.686C6.884,23.471,2.088,18.674,2.088,12.7 + c0-5.974,4.796-10.686,10.686-10.686c5.889,0,10.686,4.796,10.686,10.686H23.544z"/> + <path fill="#5865EE" d="M23.516,12.7c0,5.874-4.783,10.655-10.657,10.655C6.901,23.439,2.118,18.657,2.118,12.7 + c0-5.958,4.783-10.657,10.657-10.657c5.874,0,10.657,4.784,10.657,10.657H23.516z"/> + <path fill="#5965EF" d="M23.486,12.7c0,5.858-4.771,10.627-10.627,10.627C6.918,23.41,2.148,18.641,2.148,12.7 + c0-5.941,4.77-10.627,10.627-10.627S23.402,6.843,23.402,12.7H23.486z"/> + <path fill="#5A65F0" d="M23.459,12.7c0,5.842-4.758,10.598-10.599,10.598C6.936,23.381,2.179,18.625,2.179,12.7 + c0-5.925,4.757-10.598,10.598-10.598c5.841,0,10.598,4.757,10.598,10.598H23.459z"/> + <path fill="#5B65F1" d="M23.432,12.7c0,5.825-4.744,10.569-10.571,10.569C6.953,23.352,2.209,18.607,2.209,12.7 + c0-5.909,4.744-10.569,10.569-10.569c5.826,0,10.57,4.744,10.57,10.569H23.432z"/> + <path fill="#5B65F2" d="M23.4,12.7c0,5.81-4.729,10.54-10.54,10.54C6.97,23.322,2.239,18.592,2.239,12.7 + c0-5.892,4.73-10.54,10.54-10.54c5.809,0,10.54,4.73,10.54,10.54H23.4z"/> + <path fill="#5C65F3" d="M23.373,12.7c0,5.794-4.719,10.511-10.511,10.511C6.987,23.293,2.27,18.576,2.27,12.7 + S6.987,2.189,12.78,2.189c5.793,0,10.511,4.717,10.511,10.511H23.373z"/> + <path fill="#5D65F4" d="M23.346,12.7c0,5.776-4.705,10.481-10.482,10.481C7.004,23.264,2.3,18.561,2.3,12.7 + S7.004,2.219,12.781,2.219c5.775,0,10.48,4.704,10.48,10.481H23.346z"/> + <path fill="#5E65F5" d="M23.316,12.7c0,5.762-4.691,10.452-10.453,10.452C7.021,23.232,2.33,18.543,2.33,12.7 + c0-5.843,4.691-10.452,10.452-10.452c5.761,0,10.452,4.691,10.452,10.452H23.316z"/> + <path fill="#5F65F6" d="M23.288,12.7c0,5.745-4.679,10.423-10.423,10.423C7.039,23.204,2.36,18.525,2.36,12.7 + c0-5.827,4.678-10.423,10.423-10.423c5.744,0,10.423,4.678,10.423,10.423H23.288z"/> + <path fill="#5F65F7" d="M23.26,12.7c0,5.729-4.664,10.394-10.394,10.394C7.056,23.175,2.391,18.511,2.391,12.7 + c0-5.811,4.665-10.393,10.394-10.393c5.729,0,10.393,4.665,10.393,10.394L23.26,12.7L23.26,12.7z"/> + <path fill="#6066F8" d="M23.23,12.7c0,5.713-4.651,10.364-10.364,10.364C7.073,23.146,2.421,18.494,2.421,12.7 + S7.073,2.335,12.786,2.335c5.712,0,10.364,4.652,10.364,10.365H23.23z"/> + <path fill="#6166F9" d="M23.203,12.7c0,5.696-4.639,10.335-10.335,10.335C7.09,23.116,2.451,18.479,2.451,12.7 + S7.09,2.365,12.786,2.365S23.121,7.004,23.121,12.7H23.203z"/> + <path fill="#6266FA" d="M23.175,12.7c0,5.681-4.626,10.306-10.307,10.306C7.107,23.087,2.481,18.462,2.481,12.7 + c0-5.762,4.626-10.306,10.307-10.306c5.68,0,10.306,4.625,10.306,10.306H23.175z"/> + <path fill="#6366FB" d="M23.146,12.7c0,5.665-4.613,10.276-10.277,10.276C7.124,23.059,2.512,18.445,2.512,12.7 + c0-5.746,4.612-10.277,10.277-10.277S23.064,7.036,23.064,12.7H23.146z"/> + <path fill="#6466FC" d="M23.118,12.7c0,5.647-4.601,10.248-10.248,10.248C7.142,23.027,2.542,18.43,2.542,12.7 + c0-5.729,4.6-10.248,10.248-10.248c5.647,0,10.247,4.6,10.247,10.248H23.118z"/> + <path fill="#6466FD" d="M23.09,12.7c0,5.633-4.587,10.219-10.219,10.219C7.159,22.998,2.572,18.412,2.572,12.7 + c0-5.713,4.586-10.219,10.219-10.219c5.632,0,10.219,4.586,10.219,10.219H23.09z"/> + <path fill="#6566FE" d="M23.062,12.7c0,5.616-4.574,10.188-10.19,10.188C7.176,22.969,2.603,18.396,2.603,12.7 + S7.176,2.511,12.792,2.511c5.615,0,10.188,4.573,10.188,10.189H23.062z"/> + <path fill="#6666FF" d="M23.033,12.7c0,5.601-4.561,10.159-10.161,10.159c-5.68,0.08-10.24-4.479-10.24-10.159 + c0-5.68,4.56-10.16,10.16-10.16c5.601,0,10.16,4.56,10.16,10.16H23.033z"/> + </g> + + <linearGradient id="XMLID_12_" gradientUnits="userSpaceOnUse" x1="198.625" y1="-253.916" x2="198.625" y2="-262.334" gradientTransform="matrix(1 0 0 -1 -186 -252.5)"> + <stop offset="0" style="stop-color:#FFFFFF"/> + <stop offset="1" style="stop-color:#6666FF"/> + </linearGradient> + <ellipse fill="url(#XMLID_12_)" cx="12.625" cy="5.625" rx="7.542" ry="4.209"/> + <g> + <path fill="#FFFFFF" d="M14.1,19.2c0,0.2,0,0.3-0.3,0.3H12c-0.2,0-0.3-0.1-0.3-0.3v-7.1h-1.4c-0.2,0-0.3-0.1-0.3-0.3v-1.2 + c0-0.2,0-0.3,0.3-0.3h3.5c0.2,0,0.3,0.1,0.3,0.3v8.5V19.2z M13,9.2c-0.8,0-1.5-0.7-1.5-1.5c0-0.8,0.7-1.5,1.5-1.5s1.5,0.7,1.5,1.5 + C14.5,8.5,13.8,9.2,13,9.2z"/> + </g> +</g> +</svg> diff --git a/doc/help/xslt/images/colorsvg/prev.svg b/doc/help/xslt/images/colorsvg/prev.svg new file mode 100644 index 00000000..7ceddec8 --- /dev/null +++ b/doc/help/xslt/images/colorsvg/prev.svg @@ -0,0 +1,338 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 12.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 51448) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [ + <!ENTITY ns_svg "http://www.w3.org/2000/svg"> + <!ENTITY ns_xlink "http://www.w3.org/1999/xlink"> +]> +<svg version="1.1" id="Previous" xmlns="&ns_svg;" xmlns:xlink="&ns_xlink;" width="48" height="48" viewBox="0 0 48 48" + overflow="visible" enable-background="new 0 0 48 48" xml:space="preserve"> +<g> + <path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="7.5901" stroke-linejoin="round" d="M25.659,6.898c0-0.301-0.3-0.301-0.5-0.2 + l-16.6,16.9c-0.5,0.5-0.4,0.7,0,1l16.6,16.7c0.103,0.101,0.399,0.101,0.399-0.1v-10h13.601c0.301,0,0.5-0.2,0.5-0.4v-13.3 + c0-0.4-0.199-0.5-0.601-0.5h-13.5L25.659,6.898z"/> + <g> + <path fill="#0033CC" d="M25.659,6.898c0-0.301-0.3-0.301-0.5-0.2l-16.6,16.9c-0.5,0.5-0.4,0.7,0,1l16.6,16.7 + c0.103,0.101,0.399,0.101,0.399-0.1v-10h13.601c0.301,0,0.5-0.2,0.5-0.4v-13.3c0-0.4-0.199-0.5-0.601-0.5h-13.5L25.659,6.898z"/> + <path fill="#0134CC" d="M25.648,6.925c0-0.3-0.299-0.3-0.498-0.2L8.575,23.6c-0.499,0.499-0.4,0.698,0,1L25.15,41.271 + c0.101,0.102,0.398,0.102,0.398-0.1v-9.984h13.58c0.303,0,0.5-0.197,0.5-0.397V17.508c0-0.4-0.197-0.499-0.6-0.499H25.55 + L25.648,6.925z"/> + <path fill="#0235CD" d="M25.641,6.953c0-0.3-0.3-0.3-0.498-0.2L8.588,23.601c-0.499,0.498-0.399,0.697,0,0.997l16.553,16.647 + c0.101,0.101,0.398,0.101,0.398-0.101v-9.971h13.562c0.299,0,0.498-0.197,0.498-0.398V17.519c0-0.399-0.199-0.499-0.6-0.499H25.54 + L25.641,6.953z"/> + <path fill="#0336CD" d="M25.63,6.979c0-0.299-0.299-0.299-0.498-0.199L8.603,23.601c-0.498,0.498-0.399,0.696,0,0.997 + l16.529,16.62c0.101,0.101,0.397,0.101,0.397-0.099v-9.954h13.544c0.299,0,0.495-0.199,0.495-0.397v-13.24 + c0-0.399-0.196-0.498-0.598-0.498H25.532L25.63,6.979z"/> + <path fill="#0437CE" d="M25.622,7.005c0-0.299-0.299-0.299-0.498-0.199L8.619,23.602c-0.498,0.497-0.398,0.695,0,0.994 + l16.505,16.598c0.101,0.1,0.396,0.1,0.396-0.102v-9.938h13.521c0.301,0,0.498-0.197,0.498-0.396V17.54 + c0-0.397-0.197-0.497-0.598-0.497h-13.42L25.622,7.005z"/> + <path fill="#0538CE" d="M25.611,7.033c0-0.298-0.299-0.298-0.498-0.199L8.633,23.602c-0.497,0.496-0.398,0.694,0,0.994 + l16.48,16.568c0.101,0.1,0.398,0.1,0.398-0.1v-9.924h13.502c0.299,0,0.498-0.197,0.498-0.396V17.548 + c0-0.397-0.199-0.496-0.598-0.496h-13.4L25.611,7.033z"/> + <path fill="#0639CF" d="M25.602,7.06c0-0.298-0.297-0.298-0.496-0.199L8.646,23.603c-0.496,0.496-0.396,0.693,0,0.99 + l16.458,16.546c0.101,0.101,0.396,0.101,0.396-0.1v-9.907h13.482c0.301,0,0.496-0.196,0.496-0.396V17.56 + c0-0.396-0.195-0.495-0.595-0.495H25.503L25.602,7.06z"/> + <path fill="#073ACF" d="M25.592,7.085c0-0.298-0.298-0.298-0.494-0.199L8.662,23.603c-0.495,0.495-0.396,0.692,0,0.989 + l16.436,16.518c0.1,0.102,0.396,0.102,0.396-0.098V31.12h13.465c0.297,0,0.494-0.197,0.494-0.396V17.569 + c0-0.396-0.197-0.495-0.595-0.495H25.493L25.592,7.085z"/> + <path fill="#083BD0" d="M25.583,7.111c0-0.297-0.297-0.297-0.494-0.198L8.677,23.604c-0.494,0.494-0.396,0.691,0,0.987 + l16.412,16.493c0.101,0.1,0.396,0.1,0.396-0.1v-9.877h13.447c0.297,0,0.493-0.195,0.493-0.396V17.58 + c0-0.396-0.196-0.494-0.594-0.494H25.484L25.583,7.111z"/> + <path fill="#093CD0" d="M25.573,7.139c0-0.296-0.296-0.296-0.494-0.197L8.69,23.604c-0.493,0.494-0.395,0.69,0,0.985l16.389,16.47 + c0.103,0.099,0.396,0.099,0.396-0.101V31.1h13.428c0.298,0,0.494-0.197,0.494-0.396V17.589c0-0.395-0.196-0.493-0.594-0.493 + H25.475L25.573,7.139z"/> + <path fill="#0A3DD1" d="M25.562,7.165c0-0.296-0.295-0.296-0.492-0.197L8.706,23.604c-0.493,0.492-0.395,0.688,0,0.983 + l16.366,16.44c0.1,0.098,0.396,0.098,0.396-0.101v-9.845h13.405c0.297,0,0.494-0.196,0.494-0.396V17.596 + c0-0.395-0.197-0.492-0.592-0.492H25.464L25.562,7.165z"/> + <path fill="#0B3ED1" d="M25.555,7.191c0-0.295-0.296-0.295-0.492-0.197L8.72,23.605c-0.492,0.491-0.394,0.688,0,0.982 + l16.342,16.414c0.1,0.099,0.395,0.099,0.395-0.099v-9.828h13.391c0.295,0,0.49-0.197,0.49-0.395V17.609 + c0-0.393-0.195-0.491-0.59-0.491H25.456L25.555,7.191z"/> + <path fill="#0C3FD2" d="M25.544,7.219c0-0.295-0.295-0.295-0.491-0.196L8.734,23.606c-0.491,0.49-0.394,0.687,0,0.98 + l16.318,16.389c0.099,0.101,0.394,0.101,0.394-0.098v-9.812h13.369c0.297,0,0.492-0.194,0.492-0.394V17.62 + c0-0.393-0.195-0.49-0.591-0.49H25.445L25.544,7.219z"/> + <path fill="#0D40D2" d="M25.534,7.245c0-0.294-0.293-0.294-0.49-0.196L8.749,23.606c-0.491,0.489-0.394,0.685,0,0.979 + l16.295,16.362c0.099,0.098,0.394,0.098,0.394-0.098v-9.798h13.35c0.295,0,0.49-0.196,0.49-0.395V17.628 + c0-0.392-0.195-0.489-0.588-0.489H25.438L25.534,7.245z"/> + <path fill="#0E41D3" d="M25.525,7.271c0-0.294-0.295-0.294-0.489-0.196L8.764,23.607c-0.49,0.489-0.393,0.685,0,0.979 + l16.271,16.335c0.102,0.101,0.395,0.101,0.395-0.097v-9.782h13.33c0.295,0,0.488-0.194,0.488-0.394V17.64 + c0-0.392-0.193-0.489-0.588-0.489H25.428L25.525,7.271z"/> + <path fill="#0F42D3" d="M25.516,7.298c0-0.293-0.293-0.293-0.488-0.195L8.778,23.607c-0.489,0.489-0.392,0.684,0,0.978 + l16.248,16.312c0.101,0.099,0.394,0.099,0.394-0.099v-9.767H38.73c0.293,0,0.49-0.195,0.49-0.393V17.65 + c0-0.391-0.197-0.488-0.589-0.488H25.417L25.516,7.298z"/> + <path fill="#1043D4" d="M25.505,7.325c0-0.293-0.293-0.293-0.487-0.195L8.792,23.608c-0.488,0.488-0.391,0.683,0,0.976 + l16.224,16.283c0.101,0.098,0.394,0.098,0.394-0.098v-9.752H38.7c0.295,0,0.489-0.192,0.489-0.39V17.661 + c0-0.391-0.194-0.487-0.586-0.487H25.409L25.505,7.325z"/> + <path fill="#1144D4" d="M25.497,7.352c0-0.292-0.293-0.292-0.487-0.194L8.808,23.608c-0.488,0.487-0.391,0.682,0,0.974 + L25.009,40.84c0.099,0.1,0.392,0.1,0.392-0.097v-9.734h13.272c0.293,0,0.488-0.194,0.488-0.39V17.67 + c0-0.39-0.195-0.487-0.586-0.487H25.398L25.497,7.352z"/> + <path fill="#1245D5" d="M25.486,7.378c0-0.292-0.293-0.292-0.487-0.195L8.822,23.609c-0.487,0.486-0.39,0.68,0,0.973l16.177,16.23 + c0.099,0.099,0.392,0.099,0.392-0.099v-9.72h13.254c0.293,0,0.485-0.194,0.485-0.391V17.681c0-0.389-0.192-0.486-0.584-0.486 + H25.391L25.486,7.378z"/> + <path fill="#1346D5" d="M25.479,7.406c0-0.292-0.293-0.292-0.486-0.195L8.837,23.61c-0.487,0.485-0.39,0.679,0,0.971 + l16.154,16.206c0.098,0.097,0.389,0.097,0.389-0.098v-9.705h13.236c0.291,0,0.485-0.192,0.485-0.389V17.69 + c0-0.388-0.194-0.485-0.584-0.485H25.38L25.479,7.406z"/> + <path fill="#1447D6" d="M25.468,7.432c0-0.292-0.292-0.292-0.485-0.194L8.852,23.611c-0.485,0.484-0.389,0.678,0,0.969 + l16.13,16.18c0.1,0.098,0.389,0.098,0.389-0.096v-9.688h13.217c0.291,0,0.486-0.192,0.486-0.39V17.702 + c0-0.388-0.195-0.484-0.584-0.484H25.37L25.468,7.432z"/> + <path fill="#1548D6" d="M25.458,7.458c0-0.291-0.291-0.291-0.485-0.194L8.866,23.611c-0.484,0.483-0.388,0.677,0,0.968 + L24.973,40.73c0.1,0.099,0.389,0.099,0.389-0.097v-9.673h13.197c0.291,0,0.483-0.193,0.483-0.388V17.71 + c0-0.387-0.192-0.483-0.582-0.483H25.359L25.458,7.458z"/> + <path fill="#1649D7" d="M25.448,7.484c0-0.291-0.289-0.291-0.484-0.194L8.88,23.613c-0.484,0.482-0.388,0.675,0,0.965 + l16.083,16.128c0.098,0.099,0.389,0.099,0.389-0.097v-9.657h13.178c0.291,0,0.484-0.192,0.484-0.388V17.722 + c0-0.387-0.193-0.482-0.582-0.482h-13.08L25.448,7.484z"/> + <path fill="#174AD7" d="M25.439,7.512c0-0.29-0.291-0.29-0.483-0.193L8.895,23.614c-0.483,0.482-0.387,0.675,0,0.963l16.06,16.104 + c0.1,0.096,0.391,0.096,0.391-0.098v-9.645H38.5c0.291,0,0.484-0.191,0.484-0.385V17.731c0-0.386-0.193-0.481-0.58-0.481H25.343 + L25.439,7.512z"/> + <path fill="#184BD8" d="M25.43,7.539c0-0.29-0.289-0.29-0.482-0.193L8.91,23.614c-0.482,0.482-0.387,0.674,0,0.962L24.947,40.65 + c0.098,0.098,0.387,0.098,0.387-0.096V30.93h13.141c0.291,0,0.48-0.193,0.48-0.388v-12.8c0-0.385-0.189-0.481-0.578-0.481H25.333 + L25.43,7.539z"/> + <path fill="#194CD8" d="M25.419,7.564c0-0.289-0.289-0.289-0.481-0.192L8.923,23.614c-0.481,0.481-0.386,0.673,0,0.961 + l16.015,16.05c0.097,0.098,0.386,0.098,0.386-0.098v-9.608h13.118c0.291,0,0.482-0.19,0.482-0.386V17.751 + c0-0.385-0.191-0.48-0.578-0.48H25.323L25.419,7.564z"/> + <path fill="#1A4DD9" d="M25.411,7.59c0-0.288-0.289-0.288-0.479-0.192L8.938,23.615c-0.481,0.48-0.385,0.671,0,0.96L24.93,40.598 + c0.096,0.096,0.385,0.096,0.385-0.096v-9.595h13.102c0.289,0,0.48-0.192,0.48-0.386V17.762c0-0.384-0.191-0.479-0.578-0.479 + H25.314L25.411,7.59z"/> + <path fill="#1B4ED9" d="M25.4,7.618c0-0.288-0.289-0.288-0.479-0.191L8.954,23.616c-0.481,0.479-0.385,0.67,0,0.958L24.919,40.57 + c0.099,0.097,0.386,0.097,0.386-0.096v-9.58h13.082c0.288,0,0.479-0.189,0.479-0.383V17.771c0-0.383-0.191-0.479-0.576-0.479 + H25.305L25.4,7.618z"/> + <path fill="#1C4FDA" d="M25.393,7.645c0-0.287-0.289-0.287-0.48-0.191L8.968,23.617c-0.48,0.479-0.384,0.669,0,0.958 + l15.941,15.971c0.099,0.097,0.385,0.097,0.385-0.095v-9.562h13.062c0.289,0,0.48-0.193,0.48-0.384V17.782 + c0-0.383-0.191-0.478-0.577-0.478H25.294L25.393,7.645z"/> + <path fill="#1D50DA" d="M25.38,7.67c0-0.287-0.286-0.287-0.479-0.19L8.981,23.617c-0.479,0.478-0.384,0.667,0,0.955L24.9,40.518 + c0.097,0.096,0.384,0.096,0.384-0.098v-9.548h13.043c0.289,0,0.479-0.188,0.479-0.383V17.792c0-0.382-0.19-0.477-0.576-0.477 + H25.286L25.38,7.67z"/> + <path fill="#1E51DB" d="M25.372,7.698c0-0.287-0.287-0.287-0.479-0.191L8.997,23.618c-0.479,0.477-0.383,0.667,0,0.954 + L24.893,40.49c0.098,0.095,0.385,0.095,0.385-0.096v-9.533H38.3c0.287,0,0.479-0.189,0.479-0.381V17.803 + c0-0.382-0.191-0.476-0.574-0.476h-12.93L25.372,7.698z"/> + <path fill="#1F52DB" d="M25.361,7.725c0-0.286-0.284-0.286-0.479-0.19L9.012,23.619c-0.478,0.475-0.383,0.666,0,0.951 + l15.872,15.895c0.097,0.096,0.384,0.096,0.384-0.095v-9.519h13.004c0.287,0,0.479-0.189,0.479-0.381V17.812 + c0-0.381-0.19-0.476-0.574-0.476H25.268L25.361,7.725z"/> + <path fill="#2053DC" d="M25.354,7.75c0-0.286-0.287-0.286-0.479-0.19L9.025,23.619c-0.477,0.475-0.382,0.665,0,0.951 + l15.849,15.867c0.099,0.095,0.385,0.095,0.385-0.098v-9.501h12.982c0.286,0,0.479-0.188,0.479-0.381V17.823 + c0-0.38-0.188-0.475-0.574-0.475h-12.89L25.354,7.75z"/> + <path fill="#2154DC" d="M25.343,7.777c0-0.286-0.286-0.286-0.477-0.19L9.04,23.619c-0.476,0.475-0.381,0.664,0,0.949L24.867,40.41 + c0.096,0.095,0.383,0.095,0.383-0.094V30.83h12.965c0.287,0,0.479-0.189,0.479-0.38V17.832c0-0.379-0.188-0.474-0.569-0.474 + H25.249L25.343,7.777z"/> + <path fill="#2255DD" d="M25.333,7.805c0-0.285-0.285-0.285-0.478-0.19L9.056,23.62c-0.476,0.474-0.381,0.663,0,0.948 + l15.801,15.812c0.098,0.096,0.383,0.096,0.383-0.095v-9.472h12.945c0.285,0,0.477-0.188,0.477-0.381V17.842 + c0-0.378-0.188-0.473-0.569-0.473H25.238L25.333,7.805z"/> + <path fill="#2356DD" d="M25.325,7.832c0-0.284-0.285-0.284-0.478-0.189L9.069,23.621c-0.475,0.473-0.381,0.662,0,0.945 + l15.779,15.791c0.096,0.094,0.381,0.094,0.381-0.098v-9.451h12.929c0.284,0,0.477-0.189,0.477-0.379V17.853 + c0-0.378-0.188-0.472-0.569-0.472H25.229L25.325,7.832z"/> + <path fill="#2457DE" d="M25.314,7.857c0-0.284-0.285-0.284-0.477-0.189L9.084,23.622c-0.474,0.472-0.38,0.66,0,0.944L24.838,40.33 + c0.098,0.094,0.381,0.094,0.381-0.094v-9.439h12.908c0.285,0,0.475-0.189,0.475-0.378V17.863c0-0.378-0.188-0.471-0.567-0.471 + H25.221L25.314,7.857z"/> + <path fill="#2558DE" d="M25.305,7.883c0-0.283-0.283-0.283-0.474-0.188L9.099,23.622c-0.473,0.471-0.379,0.659,0,0.942 + L24.831,40.3c0.095,0.097,0.379,0.097,0.379-0.094v-9.424H38.1c0.284,0,0.475-0.188,0.475-0.38V17.873 + c0-0.377-0.188-0.47-0.568-0.47H25.21L25.305,7.883z"/> + <path fill="#2659DF" d="M25.294,7.911c0-0.283-0.282-0.283-0.474-0.188l-15.708,15.9c-0.473,0.47-0.378,0.658,0,0.941 + L24.82,40.275c0.097,0.094,0.38,0.094,0.38-0.094v-9.408h12.868c0.285,0,0.476-0.188,0.476-0.377V17.882 + c0-0.376-0.188-0.469-0.567-0.469H25.2L25.294,7.911z"/> + <path fill="#275ADF" d="M25.286,7.938c0-0.282-0.283-0.282-0.474-0.188L9.127,23.624c-0.472,0.469-0.378,0.657,0,0.938 + L24.812,40.25c0.097,0.094,0.379,0.094,0.379-0.093v-9.394h12.851c0.283,0,0.476-0.188,0.476-0.379V17.894 + c0-0.375-0.188-0.469-0.566-0.469h-12.76L25.286,7.938z"/> + <path fill="#285BE0" d="M25.275,7.963c0-0.282-0.282-0.282-0.473-0.188L9.143,23.624c-0.471,0.469-0.377,0.656,0,0.938 + l15.662,15.658c0.096,0.094,0.379,0.094,0.379-0.094V30.75h12.83c0.282,0,0.473-0.188,0.473-0.376V17.902 + c0-0.375-0.188-0.468-0.564-0.468h-12.74L25.275,7.963z"/> + <path fill="#295CE0" d="M25.268,7.991c0-0.281-0.283-0.281-0.474-0.188L9.158,23.624c-0.471,0.468-0.377,0.655,0,0.937 + l15.638,15.633c0.095,0.096,0.377,0.096,0.377-0.092V30.74h12.812c0.283,0,0.473-0.188,0.473-0.375V17.914 + c0-0.375-0.188-0.467-0.564-0.467H25.171L25.268,7.991z"/> + <path fill="#2A5DE1" d="M25.257,8.018c0-0.281-0.282-0.281-0.471-0.188L9.171,23.625c-0.47,0.467-0.377,0.654,0,0.936 + l15.615,15.605c0.094,0.093,0.377,0.093,0.377-0.093v-9.347h12.793c0.28,0,0.471-0.188,0.471-0.375V17.923 + c0-0.374-0.188-0.467-0.563-0.467h-12.7L25.257,8.018z"/> + <path fill="#2B5EE1" d="M25.247,8.043c0-0.28-0.28-0.28-0.472-0.187L9.187,23.625c-0.469,0.467-0.376,0.653,0,0.934l15.59,15.582 + c0.096,0.092,0.377,0.092,0.377-0.094v-9.33h12.773c0.28,0,0.471-0.188,0.471-0.373v-12.41c0-0.373-0.188-0.466-0.562-0.466 + H25.152L25.247,8.043z"/> + <path fill="#2C5FE2" d="M25.238,8.07c0-0.28-0.282-0.28-0.471-0.186L9.201,23.625c-0.468,0.466-0.375,0.652,0,0.932L24.77,40.114 + c0.096,0.093,0.375,0.093,0.375-0.095v-9.312h12.754c0.281,0,0.471-0.188,0.471-0.373V17.943c0-0.373-0.188-0.465-0.562-0.465 + H25.145L25.238,8.07z"/> + <path fill="#2D60E2" d="M25.229,8.097c0-0.28-0.279-0.28-0.469-0.187L9.214,23.626c-0.468,0.465-0.375,0.651,0,0.931L24.76,40.086 + c0.094,0.094,0.374,0.094,0.374-0.093v-9.3H37.87c0.278,0,0.469-0.188,0.469-0.371V17.954c0-0.372-0.188-0.464-0.562-0.464H25.134 + L25.229,8.097z"/> + <path fill="#2E61E3" d="M25.219,8.124c0-0.279-0.281-0.279-0.468-0.186L9.229,23.627c-0.467,0.464-0.375,0.649,0,0.928 + l15.522,15.506c0.095,0.094,0.373,0.094,0.373-0.094v-9.281h12.718c0.28,0,0.467-0.188,0.467-0.373v-12.35 + c0-0.371-0.187-0.463-0.562-0.463H25.124L25.219,8.124z"/> + <path fill="#2F62E3" d="M25.208,8.15c0-0.279-0.278-0.279-0.467-0.186L9.245,23.628c-0.466,0.463-0.374,0.648,0,0.927 + l15.499,15.479c0.094,0.093,0.373,0.093,0.373-0.095v-9.268h12.695c0.28,0,0.469-0.186,0.469-0.371V17.975 + c0-0.371-0.188-0.463-0.562-0.463H25.116L25.208,8.15z"/> + <path fill="#3063E4" d="M25.2,8.177c0-0.278-0.279-0.278-0.468-0.185L9.259,23.628c-0.465,0.462-0.373,0.647,0,0.925l15.476,15.45 + c0.094,0.093,0.373,0.093,0.373-0.092V30.66h12.678c0.279,0,0.467-0.188,0.467-0.371V17.984c0-0.37-0.188-0.462-0.561-0.462 + H25.105L25.2,8.177z"/> + <path fill="#3164E4" d="M25.189,8.204c0-0.277-0.278-0.277-0.465-0.185L9.273,23.629c-0.465,0.462-0.373,0.646,0,0.924 + l15.452,15.426c0.092,0.092,0.371,0.092,0.371-0.092v-9.238h12.658c0.279,0,0.467-0.187,0.467-0.371V17.995 + c0-0.37-0.188-0.461-0.561-0.461H25.098L25.189,8.204z"/> + <path fill="#3265E5" d="M25.182,8.229c0-0.277-0.279-0.277-0.466-0.185L9.289,23.629c-0.464,0.461-0.372,0.645,0,0.921 + l15.428,15.4c0.094,0.093,0.372,0.093,0.372-0.093v-9.217h12.64c0.276,0,0.465-0.188,0.465-0.369V18.004 + c0-0.369-0.188-0.46-0.559-0.46H25.087L25.182,8.229z"/> + <path fill="#3366E5" d="M25.171,8.256c0-0.276-0.278-0.276-0.465-0.184L9.304,23.63c-0.463,0.46-0.372,0.644,0,0.92l15.404,15.373 + c0.093,0.093,0.371,0.093,0.371-0.092v-9.205h12.619c0.276,0,0.465-0.185,0.465-0.369V18.015c0-0.368-0.188-0.459-0.56-0.459 + H25.079L25.171,8.256z"/> + <path fill="#3366E6" d="M25.161,8.284c0-0.276-0.276-0.276-0.463-0.184L9.317,23.631c-0.462,0.459-0.371,0.643,0,0.919 + l15.381,15.347c0.094,0.095,0.37,0.095,0.37-0.09v-9.188h12.601c0.279,0,0.466-0.187,0.466-0.368V18.024 + c0-0.367-0.187-0.458-0.558-0.458H25.068L25.161,8.284z"/> + <path fill="#3467E6" d="M25.15,8.311c0-0.276-0.276-0.276-0.463-0.184L9.332,23.631c-0.462,0.459-0.371,0.642,0,0.917 + L24.688,39.87c0.096,0.091,0.371,0.091,0.371-0.093v-9.174h12.582c0.276,0,0.463-0.187,0.463-0.369V18.035 + c0-0.367-0.187-0.458-0.558-0.458H25.059L25.15,8.311z"/> + <path fill="#3568E7" d="M25.143,8.336c0-0.275-0.277-0.275-0.463-0.183L9.347,23.632c-0.461,0.458-0.37,0.641,0,0.917 + L24.68,39.846c0.094,0.092,0.37,0.092,0.37-0.093v-9.157h12.562c0.277,0,0.463-0.186,0.463-0.367V18.044 + c0-0.366-0.186-0.457-0.555-0.457H25.05L25.143,8.336z"/> + <path fill="#3669E7" d="M25.133,8.364c0-0.275-0.277-0.275-0.462-0.183L9.361,23.632c-0.461,0.458-0.369,0.64,0,0.916 + l15.31,15.271c0.095,0.093,0.369,0.093,0.369-0.09v-9.146h12.543c0.276,0,0.463-0.185,0.463-0.367V18.055 + c0-0.365-0.187-0.456-0.555-0.456H25.04L25.133,8.364z"/> + <path fill="#376AE8" d="M25.122,8.39c0-0.274-0.274-0.274-0.461-0.183L9.375,23.633c-0.459,0.457-0.368,0.639,0,0.914 + L24.663,39.79c0.092,0.091,0.366,0.091,0.366-0.091V30.57h12.525c0.275,0,0.461-0.184,0.461-0.364V18.064 + c0-0.365-0.186-0.455-0.555-0.455H25.029L25.122,8.39z"/> + <path fill="#386BE8" d="M25.113,8.417c0-0.274-0.276-0.274-0.461-0.183L9.39,23.634c-0.459,0.456-0.368,0.638,0,0.912 + l15.262,15.218c0.095,0.09,0.369,0.09,0.369-0.091v-9.112h12.504c0.275,0,0.461-0.184,0.461-0.365v-12.12 + c0-0.364-0.186-0.455-0.553-0.455H25.021L25.113,8.417z"/> + <path fill="#396CE9" d="M25.104,8.442c0-0.273-0.273-0.273-0.459-0.182L9.405,23.636c-0.458,0.455-0.368,0.636,0,0.909 + l15.24,15.189c0.092,0.093,0.367,0.093,0.367-0.09v-9.097h12.485c0.274,0,0.459-0.183,0.459-0.364v-12.1 + c0-0.363-0.185-0.454-0.552-0.454H25.012L25.104,8.442z"/> + <path fill="#3A6DE9" d="M25.094,8.47c0-0.273-0.273-0.273-0.457-0.182L9.419,23.636c-0.458,0.455-0.367,0.636,0,0.908 + l15.216,15.165c0.092,0.091,0.367,0.091,0.367-0.09v-9.081h12.466c0.274,0,0.459-0.185,0.459-0.364V18.096 + c0-0.363-0.185-0.453-0.552-0.453H25.003L25.094,8.47z"/> + <path fill="#3B6EEA" d="M25.085,8.497c0-0.272-0.274-0.272-0.459-0.181L9.435,23.637c-0.457,0.453-0.366,0.634,0,0.906 + l15.193,15.141c0.093,0.09,0.365,0.09,0.365-0.092v-9.064h12.446c0.271,0,0.457-0.182,0.457-0.361v-12.06 + c0-0.362-0.186-0.452-0.549-0.452H24.993L25.085,8.497z"/> + <path fill="#3C6FEA" d="M25.075,8.522c0-0.272-0.272-0.272-0.457-0.181L9.449,23.637c-0.457,0.453-0.366,0.633,0,0.905 + l15.169,15.112c0.092,0.091,0.362,0.091,0.362-0.09v-9.051h12.431c0.272,0,0.457-0.183,0.457-0.363V18.116 + c0-0.362-0.185-0.452-0.55-0.452H24.982L25.075,8.522z"/> + <path fill="#3D70EB" d="M25.064,8.549c0-0.271-0.272-0.271-0.455-0.181L9.462,23.638c-0.455,0.452-0.365,0.632,0,0.903 + l15.147,15.087c0.093,0.093,0.363,0.093,0.363-0.089v-9.035h12.409c0.272,0,0.456-0.181,0.456-0.359v-12.02 + c0-0.361-0.184-0.451-0.549-0.451H24.975L25.064,8.549z"/> + <path fill="#3E71EB" d="M25.057,8.577c0-0.271-0.273-0.271-0.455-0.181L9.478,23.639c-0.455,0.451-0.364,0.631,0,0.901 + l15.124,15.062c0.09,0.09,0.362,0.09,0.362-0.09v-9.021h12.392c0.272,0,0.455-0.183,0.455-0.361V18.136 + c0-0.36-0.183-0.45-0.547-0.45h-12.3L25.057,8.577z"/> + <path fill="#3F72EC" d="M25.046,8.603c0-0.27-0.272-0.27-0.455-0.18L9.493,23.639c-0.454,0.45-0.364,0.63,0,0.9l15.099,15.035 + c0.092,0.09,0.364,0.09,0.364-0.09V30.48h12.369c0.272,0,0.454-0.183,0.454-0.359V18.146c0-0.36-0.182-0.449-0.547-0.449H24.956 + L25.046,8.603z"/> + <path fill="#4073EC" d="M25.038,8.629c0-0.27-0.272-0.27-0.455-0.18L9.506,23.64c-0.453,0.45-0.363,0.629,0,0.898l15.075,15.01 + c0.092,0.091,0.362,0.091,0.362-0.09v-8.985h12.353c0.272,0,0.455-0.183,0.455-0.361V18.157c0-0.359-0.183-0.448-0.545-0.448 + H24.945L25.038,8.629z"/> + <path fill="#4174ED" d="M25.027,8.656c0-0.269-0.272-0.269-0.454-0.179L9.521,23.641c-0.453,0.449-0.363,0.627,0,0.896 + L24.573,39.52c0.092,0.09,0.362,0.09,0.362-0.09v-8.972h12.332c0.271,0,0.453-0.181,0.453-0.36V18.166 + c0-0.358-0.182-0.447-0.544-0.447H24.938L25.027,8.656z"/> + <path fill="#4275ED" d="M25.018,8.683c0-0.269-0.271-0.269-0.453-0.179L9.537,23.641c-0.452,0.448-0.362,0.626,0,0.896 + l15.027,14.957c0.092,0.09,0.362,0.09,0.362-0.09v-8.955h12.312c0.271,0,0.453-0.18,0.453-0.359V18.177 + c0-0.358-0.182-0.447-0.543-0.447H24.927L25.018,8.683z"/> + <path fill="#4376EE" d="M25.008,8.709c0-0.269-0.271-0.269-0.451-0.179L9.551,23.642c-0.451,0.447-0.361,0.625,0,0.895 + l15.006,14.932c0.09,0.09,0.36,0.09,0.36-0.089v-8.94H37.21c0.271,0,0.453-0.18,0.453-0.356V18.187 + c0-0.357-0.183-0.446-0.543-0.446H24.917L25.008,8.709z"/> + <path fill="#4477EE" d="M24.997,8.735c0-0.268-0.271-0.268-0.45-0.179L9.564,23.642c-0.45,0.446-0.361,0.625,0,0.893 + l14.982,14.904c0.091,0.09,0.36,0.09,0.36-0.088v-8.928H37.18c0.271,0,0.451-0.179,0.451-0.355V18.197 + c0-0.356-0.181-0.445-0.542-0.445h-12.18L24.997,8.735z"/> + <path fill="#4578EF" d="M24.988,8.763c0-0.268-0.271-0.268-0.449-0.178L9.58,23.643c-0.449,0.445-0.36,0.623,0,0.891l14.958,14.88 + c0.09,0.089,0.358,0.089,0.358-0.089v-8.909h12.256c0.271,0,0.451-0.18,0.451-0.357V18.207c0-0.356-0.182-0.444-0.541-0.444 + H24.898L24.988,8.763z"/> + <path fill="#4679EF" d="M24.979,8.79c0-0.267-0.271-0.267-0.449-0.178L9.595,23.644c-0.449,0.445-0.36,0.622,0,0.891 + l14.934,14.851c0.091,0.091,0.359,0.091,0.359-0.088v-8.896h12.234c0.271,0,0.451-0.18,0.451-0.355V18.216 + c0-0.355-0.184-0.443-0.541-0.443H24.891L24.979,8.79z"/> + <path fill="#477AF0" d="M24.971,8.815c0-0.267-0.271-0.267-0.451-0.178L9.608,23.644c-0.448,0.444-0.359,0.621,0,0.889 + L24.52,39.357c0.09,0.09,0.36,0.09,0.36-0.088v-8.879h12.218c0.27,0,0.448-0.18,0.448-0.354V18.228 + c0-0.355-0.183-0.443-0.541-0.443H24.88L24.971,8.815z"/> + <path fill="#487BF0" d="M24.96,8.842c0-0.266-0.271-0.266-0.448-0.177L9.624,23.645c-0.448,0.443-0.359,0.62,0,0.888 + l14.888,14.801c0.09,0.088,0.358,0.088,0.358-0.088v-8.863h12.196c0.271,0,0.449-0.178,0.449-0.355v-11.79 + c0-0.354-0.182-0.442-0.539-0.442H24.87L24.96,8.842z"/> + <path fill="#497CF1" d="M24.95,8.87c0-0.266-0.269-0.266-0.447-0.177L9.638,23.645c-0.447,0.442-0.358,0.619,0,0.886 + l14.865,14.773c0.09,0.09,0.356,0.09,0.356-0.09v-8.846H37.04c0.271,0,0.446-0.18,0.446-0.354V18.248 + c0-0.353-0.18-0.441-0.536-0.441H24.859L24.95,8.87z"/> + <path fill="#4A7DF1" d="M24.939,8.896c0-0.265-0.268-0.265-0.446-0.177L9.652,23.646c-0.446,0.442-0.357,0.618,0,0.883 + l14.841,14.75c0.089,0.088,0.358,0.088,0.358-0.088v-8.832H37.01c0.27,0,0.448-0.178,0.448-0.354V18.257 + c0-0.353-0.183-0.44-0.537-0.44H24.852L24.939,8.896z"/> + <path fill="#4B7EF2" d="M24.932,8.922c0-0.265-0.269-0.265-0.447-0.177L9.667,23.646c-0.445,0.441-0.357,0.617,0,0.881 + l14.818,14.724c0.089,0.088,0.357,0.088,0.357-0.088V30.35h12.141c0.268,0,0.447-0.18,0.447-0.354V18.268 + c0-0.353-0.181-0.44-0.537-0.44H24.842L24.932,8.922z"/> + <path fill="#4C7FF2" d="M24.921,8.949c0-0.264-0.269-0.264-0.445-0.176L9.682,23.646c-0.444,0.44-0.356,0.616,0,0.879 + l14.794,14.697c0.088,0.088,0.355,0.088,0.355-0.089v-8.801h12.121c0.269,0,0.444-0.177,0.444-0.354V18.277 + c0-0.352-0.18-0.438-0.535-0.438h-12.03L24.921,8.949z"/> + <path fill="#4D80F3" d="M24.913,8.976c0-0.264-0.269-0.264-0.444-0.176L9.697,23.647c-0.444,0.439-0.356,0.615,0,0.878 + l14.771,14.672c0.091,0.088,0.355,0.088,0.355-0.088v-8.784h12.102c0.269,0,0.445-0.179,0.445-0.354V18.288 + c0-0.351-0.181-0.438-0.535-0.438H24.823L24.913,8.976z"/> + <path fill="#4E81F3" d="M24.902,9.002c0-0.264-0.268-0.264-0.444-0.176L9.71,23.647c-0.443,0.439-0.355,0.614,0,0.876 + L24.458,39.17c0.089,0.088,0.354,0.088,0.354-0.087v-8.771h12.082c0.268,0,0.444-0.176,0.444-0.354V18.297 + c0-0.35-0.178-0.437-0.532-0.437H24.812L24.902,9.002z"/> + <path fill="#4F82F4" d="M24.895,9.028c0-0.263-0.269-0.263-0.444-0.175L9.726,23.648c-0.442,0.438-0.354,0.612,0,0.875 + L24.45,39.145c0.089,0.088,0.354,0.088,0.354-0.086v-8.754h12.062c0.267,0,0.442-0.178,0.442-0.354V18.308 + c0-0.349-0.18-0.436-0.533-0.436H24.805L24.895,9.028z"/> + <path fill="#5083F4" d="M24.884,9.056c0-0.262-0.268-0.262-0.443-0.175L9.74,23.649c-0.441,0.437-0.354,0.611,0,0.875l14.7,14.595 + c0.089,0.087,0.354,0.087,0.354-0.087v-8.737h12.045c0.267,0,0.44-0.176,0.44-0.353V18.317c0-0.349-0.178-0.436-0.53-0.436H24.794 + L24.884,9.056z"/> + <path fill="#5184F5" d="M24.874,9.082c0-0.262-0.269-0.262-0.442-0.175L9.754,23.649c-0.441,0.437-0.354,0.61,0,0.873 + l14.677,14.566c0.088,0.088,0.354,0.088,0.354-0.086v-8.723h12.025c0.266,0,0.44-0.176,0.44-0.35V18.329 + c0-0.348-0.176-0.435-0.53-0.435H24.786L24.874,9.082z"/> + <path fill="#5285F5" d="M24.863,9.108c0-0.262-0.264-0.262-0.44-0.174L9.769,23.65c-0.44,0.436-0.353,0.609,0,0.872l14.654,14.541 + c0.089,0.086,0.353,0.086,0.353-0.086V30.27h12.008c0.264,0,0.439-0.176,0.439-0.351V18.338c0-0.348-0.177-0.434-0.529-0.434 + H24.775L24.863,9.108z"/> + <path fill="#5386F6" d="M24.854,9.136c0-0.261-0.266-0.261-0.44-0.174l-14.63,14.69c-0.439,0.435-0.353,0.608,0,0.87l14.63,14.517 + c0.089,0.087,0.353,0.087,0.353-0.086V30.26H36.75c0.266,0,0.439-0.175,0.439-0.349V18.349c0-0.347-0.176-0.433-0.527-0.433 + H24.768L24.854,9.136z"/> + <path fill="#5487F6" d="M24.846,9.163c0-0.261-0.265-0.261-0.441-0.174L9.798,23.651c-0.439,0.434-0.352,0.607,0,0.867 + l14.606,14.49c0.088,0.086,0.352,0.086,0.352-0.086v-8.676h11.967c0.264,0,0.439-0.176,0.439-0.35V18.358 + c0-0.346-0.178-0.432-0.527-0.432H24.757L24.846,9.163z"/> + <path fill="#5588F7" d="M24.835,9.188c0-0.26-0.265-0.26-0.439-0.173L9.812,23.652c-0.438,0.433-0.352,0.606,0,0.866L24.395,38.98 + c0.088,0.088,0.352,0.088,0.352-0.086v-8.66h11.946c0.265,0,0.439-0.174,0.439-0.348V18.369c0-0.346-0.178-0.432-0.527-0.432 + H24.747L24.835,9.188z"/> + <path fill="#5689F7" d="M24.827,9.215c0-0.26-0.265-0.26-0.438-0.173L9.828,23.653c-0.437,0.432-0.351,0.604,0,0.865l14.56,14.438 + c0.088,0.086,0.352,0.086,0.352-0.086v-8.646h11.928c0.266,0,0.438-0.176,0.438-0.349v-11.5c0-0.345-0.176-0.431-0.525-0.431 + H24.74L24.827,9.215z"/> + <path fill="#578AF8" d="M24.816,9.242c0-0.259-0.264-0.259-0.438-0.172L9.842,23.653c-0.437,0.432-0.35,0.604,0,0.863 + l14.537,14.41c0.088,0.086,0.35,0.086,0.35-0.086v-8.629h11.91c0.262,0,0.438-0.173,0.438-0.346V18.389 + c0-0.344-0.176-0.43-0.524-0.43H24.729L24.816,9.242z"/> + <path fill="#588BF8" d="M24.807,9.269c0-0.259-0.262-0.259-0.437-0.172L9.856,23.655c-0.436,0.431-0.35,0.603,0,0.863 + L24.37,38.898c0.088,0.086,0.349,0.086,0.349-0.084v-8.612h11.891c0.264,0,0.438-0.175,0.438-0.347V18.398 + c0-0.344-0.176-0.429-0.524-0.429H24.719L24.807,9.269z"/> + <path fill="#598CF9" d="M24.796,9.294c0-0.258-0.261-0.258-0.438-0.172L9.872,23.655c-0.435,0.43-0.349,0.602,0,0.861 + L24.36,38.872c0.088,0.086,0.35,0.086,0.35-0.085v-8.602h11.871c0.263,0,0.438-0.172,0.438-0.344V18.41 + c0-0.343-0.177-0.429-0.522-0.429H24.71L24.796,9.294z"/> + <path fill="#5A8DF9" d="M24.788,9.322c0-0.258-0.263-0.258-0.437-0.172L9.886,23.656c-0.435,0.429-0.349,0.6,0,0.857 + l14.466,14.334c0.088,0.086,0.349,0.086,0.349-0.088v-8.58h11.854c0.262,0,0.438-0.174,0.438-0.346V18.418 + c0-0.342-0.177-0.427-0.522-0.427H24.7L24.788,9.322z"/> + <path fill="#5B8EFA" d="M24.777,9.349c0-0.257-0.262-0.257-0.436-0.171L9.9,23.657c-0.434,0.428-0.348,0.6,0,0.856L24.342,38.82 + c0.087,0.086,0.348,0.086,0.348-0.084v-8.567h11.834c0.261,0,0.437-0.172,0.437-0.344V18.43c0-0.342-0.176-0.427-0.522-0.427 + H24.689L24.777,9.349z"/> + <path fill="#5C8FFA" d="M24.77,9.375c0-0.257-0.262-0.257-0.436-0.171L9.915,23.657c-0.433,0.428-0.348,0.599,0,0.854 + l14.419,14.281c0.087,0.086,0.348,0.086,0.348-0.085v-8.551h11.812c0.262,0,0.438-0.174,0.438-0.346V18.439 + c0-0.341-0.176-0.426-0.521-0.426H24.682L24.77,9.375z"/> + <path fill="#5D90FB" d="M24.759,9.401c0-0.256-0.26-0.256-0.434-0.17L9.93,23.658c-0.432,0.427-0.347,0.597,0,0.855l14.396,14.254 + c0.087,0.086,0.347,0.086,0.347-0.084v-8.537h11.794c0.26,0,0.436-0.172,0.436-0.342V18.45c0-0.341-0.176-0.425-0.521-0.425 + h-11.71L24.759,9.401z"/> + <path fill="#5E91FB" d="M24.749,9.429c0-0.256-0.26-0.256-0.435-0.17l-14.371,14.4c-0.432,0.426-0.346,0.596,0,0.852L24.315,38.74 + c0.087,0.085,0.346,0.085,0.346-0.086v-8.521h11.774c0.26,0,0.435-0.172,0.435-0.342V18.459c0-0.34-0.175-0.424-0.521-0.424 + H24.663L24.749,9.429z"/> + <path fill="#5F92FC" d="M24.741,9.455c0-0.255-0.261-0.255-0.434-0.17L9.958,23.659c-0.431,0.425-0.346,0.595,0,0.851 + l14.349,14.202c0.087,0.085,0.345,0.085,0.345-0.084v-8.505h11.757c0.258,0,0.434-0.171,0.434-0.341V18.47 + c0-0.339-0.176-0.423-0.521-0.423h-11.67L24.741,9.455z"/> + <path fill="#6093FC" d="M24.73,9.481c0-0.255-0.259-0.255-0.433-0.17L9.974,23.66c-0.43,0.425-0.345,0.594,0,0.849l14.325,14.179 + c0.087,0.084,0.346,0.084,0.346-0.084v-8.489H36.38c0.259,0,0.433-0.171,0.433-0.341V18.479c0-0.339-0.174-0.423-0.521-0.423 + H24.645L24.73,9.481z"/> + <path fill="#6194FD" d="M24.721,9.507c0-0.254-0.259-0.254-0.431-0.169L9.988,23.661c-0.43,0.424-0.345,0.593,0,0.847 + l14.302,14.15c0.086,0.085,0.344,0.085,0.344-0.084V30.1h11.718c0.258,0,0.432-0.17,0.432-0.342v-11.27 + c0-0.338-0.174-0.422-0.518-0.422H24.634L24.721,9.507z"/> + <path fill="#6295FD" d="M24.71,9.535c0-0.254-0.257-0.254-0.429-0.169L10.002,23.661c-0.429,0.423-0.344,0.592,0,0.846 + L24.28,38.631c0.086,0.085,0.343,0.085,0.343-0.083V30.09H36.32c0.258,0,0.432-0.17,0.432-0.34V18.5 + c0-0.337-0.174-0.421-0.52-0.421H24.623L24.71,9.535z"/> + <path fill="#6396FE" d="M24.702,9.561c0-0.253-0.259-0.253-0.43-0.169l-14.256,14.27c-0.428,0.422-0.343,0.591,0,0.844 + l14.255,14.1c0.086,0.084,0.342,0.084,0.342-0.084V30.08h11.681c0.258,0,0.431-0.17,0.431-0.338v-11.23 + c0-0.337-0.173-0.42-0.517-0.42H24.616L24.702,9.561z"/> + <path fill="#6497FE" d="M24.691,9.587c0-0.253-0.257-0.253-0.429-0.168l-14.23,14.243c-0.427,0.422-0.343,0.59,0,0.843 + l14.231,14.072c0.086,0.084,0.342,0.084,0.342-0.083v-8.428h11.66c0.258,0,0.43-0.17,0.43-0.338V18.521 + c0-0.336-0.172-0.42-0.516-0.42H24.605L24.691,9.587z"/> + <path fill="#6598FF" d="M24.684,9.615c0-0.252-0.258-0.252-0.43-0.168L10.045,23.663c-0.426,0.42-0.342,0.588,0,0.841 + l14.208,14.047c0.086,0.084,0.343,0.084,0.343-0.084v-8.41h11.641c0.257,0,0.429-0.168,0.429-0.336V18.531 + c0-0.335-0.172-0.418-0.515-0.418H24.598L24.684,9.615z"/> + <path fill="#6699FF" d="M24.673,9.642c0-0.252-0.257-0.252-0.428-0.168L10.06,23.664c-0.426,0.42-0.342,0.587,0,0.839 + l14.185,14.021c0.086,0.084,0.342,0.084,0.342-0.084v-8.396h11.621c0.256,0,0.429-0.169,0.429-0.337V18.541 + c0-0.335-0.173-0.418-0.515-0.418H24.587L24.673,9.642z"/> + </g> + + <linearGradient id="XMLID_16_" gradientUnits="userSpaceOnUse" x1="-1112.2041" y1="1225.4229" x2="-1112.2041" y2="1254.5781" gradientTransform="matrix(-1 0 0 1 -1089 -1216)"> + <stop offset="0" style="stop-color:#FFFFFF"/> + <stop offset="1" style="stop-color:#6699FF"/> + </linearGradient> + <path fill="url(#XMLID_16_)" d="M24.673,9.642c0-0.252-0.257-0.252-0.428-0.168L10.06,23.664c-0.426,0.42-0.342,0.587,0,0.839 + l14.185,14.021c0.086,0.084,0.342,0.084,0.342-0.084v-8.396h11.621c0.256,0,0.429-0.169,0.429-0.337V18.541 + c0-0.335-0.173-0.418-0.515-0.418H24.587L24.673,9.642z"/> +</g> +<g id="crop_x0020_marks"> + <path fill="none" d="M-0.06,0.001h48v48h-48V0.001z"/> +</g> +</svg> diff --git a/doc/help/xslt/images/colorsvg/tip.svg b/doc/help/xslt/images/colorsvg/tip.svg new file mode 100644 index 00000000..7ec92e31 --- /dev/null +++ b/doc/help/xslt/images/colorsvg/tip.svg @@ -0,0 +1,367 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 12.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 51448) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [ + <!ENTITY ns_svg "http://www.w3.org/2000/svg"> + <!ENTITY ns_xlink "http://www.w3.org/1999/xlink"> +]> +<svg version="1.1" id="Tip" xmlns="&ns_svg;" xmlns:xlink="&ns_xlink;" width="48" height="48" viewBox="0 0 48 48" + overflow="visible" enable-background="new 0 0 48 48" xml:space="preserve"> +<g> + <path stroke="#FFFFFF" stroke-width="5.6139" d="M9.525,18.6c0,8,6.5,14.4,14.4,14.4c8.001,0,14.399-6.5,14.399-14.4 + c0-8-6.5-14.4-14.399-14.4C15.925,4.2,9.525,10.7,9.525,18.6z M12.825,18.6c0-6.2,5-11.2,11.2-11.2c6.2,0,11.2,5,11.2,11.2 + c0,6.2-5,11.2-11.2,11.2C17.825,29.8,12.825,24.8,12.825,18.6z"/> + <path stroke="#FFFFFF" stroke-width="5.6139" d="M28.125,37.9l-7.6,0.8c-0.9,0.1-1.5,0.899-1.4,1.8s0.9,1.5,1.8,1.4l7.601-0.801 + c0.9-0.102,1.5-0.899,1.4-1.802C29.824,38.4,29.025,37.8,28.125,37.9z"/> + <path stroke="#FFFFFF" stroke-width="5.6139" d="M28.125,34.8l-7.6,0.8c-0.9,0.101-1.5,0.9-1.4,1.801c0.1,0.897,0.9,1.5,1.8,1.397 + l7.601-0.8c0.9-0.102,1.5-0.898,1.4-1.8C29.824,35.3,29.025,34.7,28.125,34.8z"/> + <path stroke="#FFFFFF" stroke-width="5.6139" d="M28.125,31.6l-7.6,0.801c-0.9,0.1-1.5,0.897-1.4,1.8c0.1,0.899,0.9,1.5,1.8,1.399 + l7.601-0.802c0.9-0.1,1.5-0.897,1.4-1.8C29.824,32.1,29.025,31.5,28.125,31.6z"/> + <path stroke="#FFFFFF" stroke-width="5.6139" d="M23.125,41.3v0.9c0,0.899,0.7,1.6,1.6,1.6c0.9,0,1.6-0.7,1.6-1.6v-0.9h-3.299 + H23.125z"/> + <path fill="#FFFFFF" d="M35.926,18.7c0,6.6-5.4,12-12.001,12c-6.6,0-12-5.4-12-12c0-6.6,5.4-12,12-12 + C30.525,6.7,35.926,12.1,35.926,18.7z"/> + <g> + <path fill="#FFFF00" d="M9.625,18.6c0,8,6.5,14.4,14.4,14.4c8,0,14.401-6.5,14.401-14.4c0-8-6.5-14.4-14.401-14.4 + C16.025,4.2,9.625,10.7,9.625,18.6z"/> + <path fill="#FFFF01" d="M9.647,18.6c0-7.889,6.391-14.379,14.379-14.379c7.89,0,14.378,6.391,14.378,14.379 + c0,7.889-6.391,14.378-14.378,14.378C16.137,32.979,9.647,26.588,9.647,18.6z"/> + <path fill="#FFFF02" d="M9.668,18.6c0-7.878,6.382-14.358,14.358-14.358c7.878,0,14.359,6.382,14.359,14.358 + c0,7.876-6.383,14.358-14.359,14.358C16.149,32.958,9.668,26.576,9.668,18.6z"/> + <path fill="#FFFF03" d="M9.69,18.6c0-7.867,6.373-14.337,14.337-14.337c7.868,0,14.338,6.373,14.338,14.337 + c0,7.867-6.373,14.337-14.338,14.337C16.16,32.938,9.69,26.564,9.69,18.6z"/> + <path fill="#FFFF04" d="M9.712,18.6c0-7.855,6.363-14.316,14.316-14.316c7.855,0,14.316,6.363,14.316,14.316 + c0,7.856-6.363,14.316-14.316,14.316C16.172,32.916,9.712,26.553,9.712,18.6z"/> + <path fill="#FFFF05" d="M9.733,18.6c0-7.844,6.354-14.295,14.295-14.295c7.847,0,14.296,6.354,14.296,14.295 + c0,7.843-6.354,14.294-14.296,14.294C16.184,32.896,9.733,26.541,9.733,18.6z"/> + <path fill="#FFFF06" d="M9.754,18.6c0-7.833,6.345-14.274,14.274-14.274c7.833,0,14.275,6.345,14.275,14.274 + c0,7.833-6.346,14.274-14.275,14.274C16.196,32.874,9.754,26.529,9.754,18.6z"/> + <path fill="#FFFF07" d="M9.776,18.6c0-7.822,6.336-14.253,14.254-14.253c7.822,0,14.253,6.335,14.253,14.253 + c0,7.823-6.336,14.253-14.253,14.253C16.208,32.854,9.776,26.518,9.776,18.6z"/> + <path fill="#FFFF08" d="M9.798,18.6c0-7.811,6.326-14.232,14.232-14.232c7.812,0,14.234,6.326,14.234,14.232 + c0,7.811-6.328,14.233-14.234,14.233C16.219,32.833,9.798,26.506,9.798,18.6z"/> + <path fill="#FFFF09" d="M9.819,18.6c0-7.8,6.317-14.211,14.211-14.211c7.8,0,14.212,6.317,14.212,14.211 + c0,7.8-6.318,14.21-14.212,14.21C16.231,32.812,9.819,26.494,9.819,18.6z"/> + <path fill="#FFFF0A" d="M9.84,18.6c0-7.789,6.309-14.191,14.191-14.191c7.79,0,14.192,6.309,14.192,14.191 + c0,7.789-6.309,14.191-14.192,14.191C16.243,32.791,9.84,26.482,9.84,18.6z"/> + <path fill="#FFFF0B" d="M9.862,18.6c0-7.778,6.299-14.17,14.17-14.17c7.779,0,14.169,6.299,14.169,14.17 + c0,7.778-6.299,14.169-14.169,14.169C16.254,32.77,9.862,26.471,9.862,18.6z"/> + <path fill="#FFFF0C" d="M9.884,18.6c0-7.767,6.29-14.149,14.149-14.149c7.768,0,14.149,6.29,14.149,14.149 + c0,7.767-6.291,14.149-14.149,14.149C16.266,32.749,9.884,26.459,9.884,18.6z"/> + <path fill="#FFFF0D" d="M9.905,18.6c0-7.756,6.281-14.128,14.128-14.128c7.756,0,14.129,6.281,14.129,14.128 + c0,7.755-6.281,14.128-14.129,14.128C16.278,32.729,9.905,26.447,9.905,18.6z"/> + <path fill="#FFFF0E" d="M9.927,18.6c0-7.745,6.272-14.107,14.107-14.107c7.746,0,14.107,6.272,14.107,14.107 + c0,7.746-6.27,14.107-14.107,14.107C16.29,32.707,9.927,26.436,9.927,18.6z"/> + <path fill="#FFFF0F" d="M9.949,18.6c0-7.733,6.263-14.086,14.086-14.086c7.733,0,14.088,6.262,14.088,14.086 + c0,7.733-6.266,14.085-14.088,14.085C16.302,32.688,9.949,26.423,9.949,18.6z"/> + <path fill="#FFFF10" d="M9.97,18.6c0-7.722,6.253-14.065,14.065-14.065c7.723,0,14.067,6.253,14.067,14.065 + c0,7.722-6.254,14.066-14.067,14.066C16.313,32.666,9.97,26.411,9.97,18.6z"/> + <path fill="#FFFF11" d="M9.992,18.6c0-7.711,6.244-14.044,14.044-14.044c7.712,0,14.044,6.245,14.044,14.044 + c0,7.71-6.244,14.044-14.044,14.044C16.325,32.645,9.992,26.398,9.992,18.6z"/> + <path fill="#FFFF12" d="M10.013,18.6c0-7.7,6.235-14.023,14.023-14.023c7.7,0,14.024,6.235,14.024,14.023 + c0,7.7-6.236,14.023-14.024,14.023C16.337,32.623,10.013,26.389,10.013,18.6z"/> + <path fill="#FFFF13" d="M10.035,18.6c0-7.688,6.226-14.002,14.002-14.002c7.689,0,14.004,6.226,14.004,14.002 + c0,7.689-6.229,14.001-14.004,14.001C16.348,32.604,10.035,26.376,10.035,18.6z"/> + <path fill="#FFFF14" d="M10.057,18.6c0-7.678,6.217-13.981,13.981-13.981c7.679,0,13.981,6.217,13.981,13.981 + c0,7.677-6.217,13.981-13.981,13.981C16.36,32.581,10.057,26.364,10.057,18.6z"/> + <path fill="#FFFF15" d="M10.078,18.6c0-7.667,6.208-13.961,13.961-13.961C31.707,4.639,38,10.847,38,18.6 + c0,7.667-6.209,13.96-13.961,13.96C16.372,32.561,10.078,26.354,10.078,18.6z"/> + <path fill="#FFFF16" d="M10.1,18.6c0-7.655,6.198-13.94,13.939-13.94c7.656,0,13.941,6.199,13.941,13.94 + c0,7.656-6.201,13.94-13.941,13.94C16.384,32.54,10.1,26.341,10.1,18.6z"/> + <path fill="#FFFF17" d="M10.121,18.6c0-7.644,6.189-13.919,13.919-13.919c7.646,0,13.919,6.189,13.919,13.919 + c0,7.644-6.189,13.917-13.919,13.917C16.396,32.52,10.121,26.329,10.121,18.6z"/> + <path fill="#FFFF18" d="M10.143,18.6c0-7.633,6.181-13.898,13.898-13.898c7.633,0,13.898,6.18,13.898,13.898 + c0,7.632-6.182,13.898-13.898,13.898C16.408,32.498,10.143,26.316,10.143,18.6z"/> + <path fill="#FFFF19" d="M10.164,18.6c0-7.622,6.171-13.877,13.877-13.877c7.623,0,13.877,6.171,13.877,13.877 + c0,7.623-6.172,13.876-13.877,13.876C16.419,32.479,10.164,26.307,10.164,18.6z"/> + <path fill="#FFFF1A" d="M10.186,18.6c0-7.611,6.162-13.856,13.856-13.856c7.61,0,13.856,6.162,13.856,13.856 + c0,7.611-6.162,13.856-13.856,13.856C16.431,32.456,10.186,26.294,10.186,18.6z"/> + <path fill="#FFFF1B" d="M10.208,18.6c0-7.6,6.153-13.835,13.835-13.835c7.602,0,13.836,6.153,13.836,13.835 + c0,7.6-6.152,13.835-13.836,13.835C16.443,32.436,10.208,26.282,10.208,18.6z"/> + <path fill="#FFFF1C" d="M10.229,18.6c0-7.589,6.144-13.814,13.814-13.814c7.59,0,13.814,6.144,13.814,13.814 + c0,7.587-6.145,13.814-13.814,13.814C16.454,32.414,10.229,26.271,10.229,18.6z"/> + <path fill="#FFFF1D" d="M10.251,18.6c0-7.578,6.135-13.793,13.793-13.793c7.579,0,13.794,6.135,13.794,13.793 + c0,7.578-6.137,13.792-13.794,13.792C16.466,32.395,10.251,26.259,10.251,18.6z"/> + <path fill="#FFFF1E" d="M10.272,18.6c0-7.566,6.125-13.772,13.772-13.772c7.567,0,13.772,6.125,13.772,13.772 + c0,7.567-6.125,13.773-13.772,13.773C16.478,32.373,10.272,26.247,10.272,18.6z"/> + <path fill="#FFFF1F" d="M10.294,18.6c0-7.556,6.116-13.752,13.751-13.752c7.557,0,13.752,6.117,13.752,13.752 + c0,7.554-6.117,13.751-13.752,13.751C16.49,32.352,10.294,26.234,10.294,18.6z"/> + <path fill="#FFFF20" d="M10.315,18.6c0-7.544,6.107-13.731,13.731-13.731c7.544,0,13.731,6.107,13.731,13.731 + c0,7.544-6.107,13.731-13.731,13.731C16.502,32.331,10.315,26.225,10.315,18.6z"/> + <path fill="#FFFF21" d="M10.337,18.6c0-7.533,6.098-13.71,13.709-13.71c7.534,0,13.71,6.098,13.71,13.71 + c0,7.534-6.1,13.708-13.71,13.708C16.513,32.311,10.337,26.212,10.337,18.6z"/> + <path fill="#FFFF22" d="M10.358,18.6c0-7.522,6.088-13.688,13.689-13.688c7.521,0,13.689,6.088,13.689,13.688 + c0,7.522-6.09,13.689-13.689,13.689C16.525,32.289,10.358,26.199,10.358,18.6z"/> + <path fill="#FFFF23" d="M10.38,18.6c0-7.511,6.08-13.668,13.668-13.668c7.511,0,13.669,6.08,13.669,13.668 + c0,7.511-6.08,13.667-13.669,13.667C16.537,32.268,10.38,26.188,10.38,18.6z"/> + <path fill="#FFFF24" d="M10.401,18.6c0-7.5,6.071-13.647,13.647-13.647c7.501,0,13.647,6.07,13.647,13.647 + c0,7.5-6.07,13.647-13.647,13.647C16.549,32.247,10.401,26.176,10.401,18.6z"/> + <path fill="#FFFF25" d="M10.423,18.6c0-7.489,6.062-13.626,13.626-13.626c7.49,0,13.627,6.061,13.627,13.626 + c0,7.489-6.062,13.625-13.627,13.625C16.56,32.227,10.423,26.164,10.423,18.6z"/> + <path fill="#FFFF26" d="M10.445,18.6c0-7.478,6.052-13.605,13.605-13.605c7.478,0,13.606,6.052,13.606,13.605 + c0,7.478-6.053,13.605-13.606,13.605C16.572,32.205,10.445,26.152,10.445,18.6z"/> + <path fill="#FFFF27" d="M10.466,18.6c0-7.467,6.043-13.584,13.584-13.584c7.468,0,13.585,6.043,13.585,13.584 + c0,7.466-6.043,13.583-13.585,13.583C16.584,32.186,10.466,26.141,10.466,18.6z"/> + <path fill="#FFFF28" d="M10.488,18.6c0-7.456,6.034-13.563,13.563-13.563c7.457,0,13.562,6.034,13.562,13.563 + c0,7.457-6.033,13.563-13.562,13.563C16.596,32.163,10.488,26.129,10.488,18.6z"/> + <path fill="#FFFF29" d="M10.509,18.6c0-7.445,6.025-13.542,13.542-13.542c7.445,0,13.543,6.024,13.543,13.542 + c0,7.444-6.025,13.542-13.543,13.542C16.608,32.143,10.509,26.117,10.509,18.6z"/> + <path fill="#FFFF2A" d="M10.531,18.6c0-7.434,6.016-13.522,13.521-13.522c7.435,0,13.521,6.016,13.521,13.522 + c0,7.433-6.016,13.521-13.521,13.521C16.619,32.121,10.531,26.105,10.531,18.6z"/> + <path fill="#FFFF2B" d="M10.552,18.6c0-7.422,6.006-13.501,13.501-13.501c7.422,0,13.502,6.007,13.502,13.501 + c0,7.421-6.008,13.5-13.502,13.5C16.631,32.102,10.552,26.094,10.552,18.6z"/> + <path fill="#FFFF2C" d="M10.574,18.6c0-7.411,5.997-13.479,13.479-13.479c7.412,0,13.48,5.997,13.48,13.479 + c0,7.411-5.998,13.48-13.48,13.48C16.643,32.08,10.574,26.082,10.574,18.6z"/> + <path fill="#FFFF2D" d="M10.596,18.6c0-7.4,5.988-13.458,13.458-13.458c7.401,0,13.46,5.988,13.46,13.458 + c0,7.4-5.988,13.458-13.46,13.458C16.654,32.059,10.596,26.07,10.596,18.6z"/> + <path fill="#FFFF2E" d="M10.617,18.6c0-7.389,5.979-13.438,13.438-13.438c7.389,0,13.438,5.979,13.438,13.438 + c0,7.389-5.979,13.438-13.438,13.438C16.666,32.038,10.617,26.059,10.617,18.6z"/> + <path fill="#FFFF2F" d="M10.639,18.6c0-7.377,5.97-13.417,13.417-13.417c7.377,0,13.417,5.97,13.417,13.417 + c0,7.376-5.971,13.417-13.417,13.417C16.678,32.018,10.639,26.047,10.639,18.6z"/> + <path fill="#FFFF30" d="M10.66,18.6c0-7.366,5.96-13.396,13.396-13.396c7.368,0,13.395,5.961,13.395,13.396 + c0,7.367-5.961,13.396-13.395,13.396C16.69,31.996,10.66,26.035,10.66,18.6z"/> + <path fill="#FFFF31" d="M10.682,18.6c0-7.355,5.951-13.375,13.375-13.375c7.355,0,13.375,5.952,13.375,13.375 + c0,7.355-5.951,13.375-13.375,13.375C16.701,31.977,10.682,26.023,10.682,18.6z"/> + <path fill="#FFFF32" d="M10.703,18.6c0-7.344,5.943-13.354,13.354-13.354c7.343,0,13.355,5.943,13.355,13.354 + c0,7.343-5.943,13.354-13.355,13.354C16.713,31.954,10.703,26.012,10.703,18.6z"/> + <path fill="#FFFF33" d="M10.725,18.6c0-7.333,5.933-13.333,13.333-13.333c7.334,0,13.334,5.934,13.334,13.333 + c0,7.333-5.934,13.333-13.334,13.333C16.725,31.934,10.725,26,10.725,18.6z"/> + <path fill="#FFFF34" d="M10.747,18.6c0-7.322,5.924-13.312,13.312-13.312c7.322,0,13.312,5.924,13.312,13.312 + c0,7.322-5.926,13.312-13.312,13.312C16.737,31.912,10.747,25.988,10.747,18.6z"/> + <path fill="#FFFF35" d="M10.768,18.6c0-7.311,5.915-13.292,13.292-13.292c7.311,0,13.292,5.915,13.292,13.292 + c0,7.311-5.914,13.292-13.292,13.292C16.749,31.893,10.768,25.977,10.768,18.6z"/> + <path fill="#FFFF36" d="M10.79,18.6c0-7.3,5.906-13.271,13.271-13.271c7.3,0,13.271,5.906,13.271,13.271 + c0,7.298-5.904,13.27-13.271,13.27C16.76,31.87,10.79,25.964,10.79,18.6z"/> + <path fill="#FFFF37" d="M10.811,18.6c0-7.289,5.897-13.25,13.25-13.25c7.289,0,13.25,5.896,13.25,13.25 + c0,7.289-5.896,13.25-13.25,13.25C16.772,31.85,10.811,25.952,10.811,18.6z"/> + <path fill="#FFFF38" d="M10.833,18.6c0-7.278,5.888-13.229,13.229-13.229c7.278,0,13.229,5.887,13.229,13.229 + c0,7.278-5.889,13.228-13.229,13.228C16.784,31.828,10.833,25.939,10.833,18.6z"/> + <path fill="#FFFF39" d="M10.854,18.6c0-7.267,5.878-13.208,13.208-13.208c7.268,0,13.208,5.878,13.208,13.208 + c0,7.266-5.877,13.208-13.208,13.208C16.796,31.809,10.854,25.93,10.854,18.6z"/> + <path fill="#FFFF3A" d="M10.876,18.6c0-7.255,5.869-13.187,13.187-13.187c7.255,0,13.187,5.869,13.187,13.187 + c0,7.255-5.869,13.187-13.187,13.187C16.807,31.787,10.876,25.917,10.876,18.6z"/> + <path fill="#FFFF3B" d="M10.898,18.6c0-7.245,5.86-13.166,13.166-13.166c7.245,0,13.167,5.86,13.167,13.166 + c0,7.244-5.859,13.166-13.167,13.166C16.819,31.766,10.898,25.904,10.898,18.6z"/> + <path fill="#FFFF3C" d="M10.92,18.6c0-7.233,5.851-13.145,13.145-13.145c7.234,0,13.146,5.851,13.146,13.145 + c0,7.233-5.854,13.145-13.146,13.145C16.831,31.745,10.92,25.895,10.92,18.6z"/> + <path fill="#FFFF3D" d="M10.941,18.6c0-7.222,5.842-13.125,13.124-13.125c7.222,0,13.125,5.842,13.125,13.125 + c0,7.222-5.842,13.125-13.125,13.125C16.843,31.725,10.941,25.882,10.941,18.6z"/> + <path fill="#FFFF3E" d="M10.963,18.6c0-7.211,5.833-13.104,13.103-13.104c7.211,0,13.104,5.833,13.104,13.104 + c0,7.21-5.832,13.103-13.104,13.103C16.855,31.703,10.963,25.87,10.963,18.6z"/> + <path fill="#FFFF3F" d="M10.984,18.6c0-7.2,5.823-13.082,13.083-13.082c7.201,0,13.083,5.823,13.083,13.082 + c0,7.2-5.824,13.083-13.083,13.083C16.866,31.684,10.984,25.857,10.984,18.6z"/> + <path fill="#FFFF40" d="M11.005,18.6c0-7.189,5.815-13.062,13.062-13.062c7.189,0,13.062,5.814,13.062,13.062 + c0,7.189-5.812,13.061-13.062,13.061C16.878,31.661,11.005,25.848,11.005,18.6z"/> + <path fill="#FFFF41" d="M11.027,18.6c0-7.178,5.805-13.041,13.041-13.041c7.178,0,13.042,5.805,13.042,13.041 + c0,7.177-5.805,13.041-13.042,13.041C16.889,31.641,11.027,25.835,11.027,18.6z"/> + <path fill="#FFFF42" d="M11.048,18.6c0-7.167,5.796-13.02,13.02-13.02c7.167,0,13.02,5.796,13.02,13.02 + c0,7.167-5.797,13.02-13.02,13.02C16.901,31.62,11.048,25.823,11.048,18.6z"/> + <path fill="#FFFF43" d="M11.07,18.6c0-7.156,5.787-12.999,12.998-12.999c7.157,0,13,5.787,13,12.999c0,7.155-5.787,13-13,13 + C16.913,31.6,11.07,25.812,11.07,18.6z"/> + <path fill="#FFFF44" d="M11.091,18.6c0-7.145,5.778-12.978,12.978-12.978c7.146,0,12.978,5.778,12.978,12.978 + c0,7.144-5.777,12.978-12.978,12.978C16.925,31.578,11.091,25.8,11.091,18.6z"/> + <path fill="#FFFF45" d="M11.113,18.6c0-7.133,5.769-12.957,12.957-12.957c7.133,0,12.958,5.769,12.958,12.957 + c0,7.132-5.77,12.957-12.958,12.957C16.937,31.557,11.113,25.788,11.113,18.6z"/> + <path fill="#FFFF46" d="M11.135,18.6c0-7.123,5.759-12.936,12.936-12.936c7.123,0,12.937,5.759,12.937,12.936 + c0,7.123-5.76,12.936-12.937,12.936C16.949,31.536,11.135,25.775,11.135,18.6z"/> + <path fill="#FFFF47" d="M11.157,18.6c0-7.111,5.75-12.915,12.915-12.915c7.112,0,12.915,5.75,12.915,12.915 + c0,7.111-5.75,12.916-12.915,12.916C16.96,31.516,11.157,25.766,11.157,18.6z"/> + <path fill="#FFFF48" d="M11.178,18.6c0-7.1,5.741-12.894,12.895-12.894c7.101,0,12.894,5.741,12.894,12.894 + c0,7.099-5.74,12.894-12.894,12.894C16.972,31.494,11.178,25.752,11.178,18.6z"/> + <path fill="#FFFF49" d="M11.199,18.6c0-7.089,5.732-12.873,12.874-12.873c7.089,0,12.873,5.731,12.873,12.873 + c0,7.087-5.73,12.873-12.873,12.873C16.984,31.473,11.199,25.74,11.199,18.6z"/> + <path fill="#FFFF4A" d="M11.221,18.6c0-7.078,5.723-12.852,12.852-12.852c7.078,0,12.853,5.722,12.853,12.852 + c0,7.078-5.725,12.852-12.854,12.852C16.995,31.452,11.221,25.729,11.221,18.6z"/> + <path fill="#FFFF4B" d="M11.242,18.6c0-7.067,5.714-12.832,12.832-12.832c7.067,0,12.833,5.713,12.833,12.832 + c0,7.066-5.715,12.832-12.833,12.832C17.007,31.432,11.242,25.717,11.242,18.6z"/> + <path fill="#FFFF4C" d="M11.264,18.6c0-7.056,5.705-12.811,12.811-12.811c7.056,0,12.812,5.704,12.812,12.811 + c0,7.054-5.705,12.81-12.812,12.81C17.019,31.41,11.264,25.705,11.264,18.6z"/> + <path fill="#FFFF4D" d="M11.286,18.6c0-7.044,5.695-12.79,12.79-12.79c7.045,0,12.79,5.695,12.79,12.79 + c0,7.044-5.693,12.791-12.79,12.791C17.031,31.391,11.286,25.693,11.286,18.6z"/> + <path fill="#FFFF4E" d="M11.307,18.6c0-7.033,5.686-12.769,12.769-12.769c7.034,0,12.77,5.686,12.77,12.769 + c0,7.034-5.688,12.768-12.77,12.768C17.043,31.368,11.307,25.684,11.307,18.6z"/> + <path fill="#FFFF4F" d="M11.329,18.6c0-7.022,5.677-12.748,12.748-12.748c7.023,0,12.748,5.677,12.748,12.748 + c0,7.022-5.678,12.748-12.748,12.748C17.054,31.348,11.329,25.67,11.329,18.6z"/> + <path fill="#FFFF50" d="M11.351,18.6c0-7.011,5.667-12.727,12.727-12.727c7.012,0,12.727,5.668,12.727,12.727 + c0,7.011-5.668,12.727-12.727,12.727C17.066,31.327,11.351,25.658,11.351,18.6z"/> + <path fill="#FFFF51" d="M11.372,18.6c0-7,5.659-12.706,12.706-12.706c7,0,12.705,5.659,12.705,12.706 + c0,7-5.658,12.707-12.705,12.707C17.078,31.307,11.372,25.646,11.372,18.6z"/> + <path fill="#FFFF52" d="M11.394,18.6c0-6.989,5.65-12.685,12.685-12.685c6.987,0,12.685,5.65,12.685,12.685 + c0,6.989-5.648,12.685-12.685,12.685C17.09,31.285,11.394,25.635,11.394,18.6z"/> + <path fill="#FFFF53" d="M11.415,18.6c0-6.978,5.641-12.664,12.664-12.664c6.978,0,12.665,5.641,12.665,12.664 + c0,6.978-5.641,12.664-12.665,12.664C17.102,31.264,11.415,25.623,11.415,18.6z"/> + <path fill="#FFFF54" d="M11.437,18.6c0-6.967,5.631-12.643,12.643-12.643c6.967,0,12.645,5.631,12.645,12.643 + c0,6.966-5.633,12.643-12.645,12.643C17.113,31.243,11.437,25.611,11.437,18.6z"/> + <path fill="#FFFF55" d="M11.459,18.6c0-6.956,5.622-12.623,12.622-12.623c6.956,0,12.622,5.623,12.622,12.623 + c0,6.957-5.621,12.623-12.622,12.623C17.125,31.223,11.459,25.6,11.459,18.6z"/> + <path fill="#FFFF56" d="M11.48,18.6c0-6.944,5.613-12.602,12.602-12.602c6.945,0,12.602,5.613,12.602,12.602 + c0,6.944-5.613,12.601-12.602,12.601C17.137,31.201,11.48,25.588,11.48,18.6z"/> + <path fill="#FFFF57" d="M11.502,18.6c0-6.934,5.604-12.581,12.581-12.581c6.933,0,12.581,5.604,12.581,12.581 + c0,6.933-5.604,12.582-12.581,12.582C17.149,31.182,11.502,25.576,11.502,18.6z"/> + <path fill="#FFFF58" d="M11.523,18.6c0-6.922,5.595-12.56,12.56-12.56c6.923,0,12.56,5.595,12.56,12.56 + c0,6.921-5.594,12.559-12.56,12.559C17.16,31.159,11.523,25.564,11.523,18.6z"/> + <path fill="#FFFF59" d="M11.545,18.6c0-6.911,5.585-12.539,12.539-12.539c6.912,0,12.539,5.585,12.539,12.539 + c0,6.911-5.586,12.539-12.539,12.539C17.172,31.139,11.545,25.553,11.545,18.6z"/> + <path fill="#FFFF5A" d="M11.566,18.6c0-6.9,5.577-12.518,12.518-12.518c6.9,0,12.518,5.576,12.518,12.518 + c0,6.9-5.576,12.517-12.518,12.517C17.184,31.117,11.566,25.541,11.566,18.6z"/> + <path fill="#FFFF5B" d="M11.588,18.6c0-6.889,5.567-12.497,12.497-12.497c6.89,0,12.497,5.567,12.497,12.497 + c0,6.889-5.566,12.498-12.497,12.498C17.195,31.098,11.588,25.529,11.588,18.6z"/> + <path fill="#FFFF5C" d="M11.609,18.6c0-6.878,5.558-12.476,12.476-12.476c6.878,0,12.476,5.559,12.476,12.476 + c0,6.876-5.559,12.476-12.476,12.476C17.208,31.076,11.609,25.518,11.609,18.6z"/> + <path fill="#FFFF5D" d="M11.631,18.6c0-6.867,5.549-12.455,12.455-12.455c6.867,0,12.455,5.549,12.455,12.455 + c0,6.867-5.549,12.455-12.455,12.455C17.219,31.055,11.631,25.506,11.631,18.6z"/> + <path fill="#FFFF5E" d="M11.652,18.6c0-6.855,5.54-12.434,12.434-12.434c6.855,0,12.434,5.54,12.434,12.434 + c0,6.855-5.539,12.434-12.434,12.434C17.231,31.034,11.652,25.494,11.652,18.6z"/> + <path fill="#FFFF5F" d="M11.674,18.6c0-6.844,5.531-12.413,12.413-12.413c6.845,0,12.415,5.531,12.415,12.413 + c0,6.843-5.531,12.414-12.415,12.414C17.243,31.014,11.674,25.482,11.674,18.6z"/> + <path fill="#FFFF60" d="M11.695,18.6c0-6.833,5.521-12.392,12.393-12.392c6.834,0,12.393,5.521,12.393,12.392 + c0,6.833-5.521,12.392-12.393,12.392C17.254,30.992,11.695,25.471,11.695,18.6z"/> + <path fill="#FFFF61" d="M11.717,18.6c0-6.822,5.513-12.371,12.372-12.371c6.823,0,12.372,5.512,12.372,12.371 + c0,6.822-5.514,12.371-12.372,12.371C17.266,30.971,11.717,25.459,11.717,18.6z"/> + <path fill="#FFFF62" d="M11.739,18.6c0-6.811,5.503-12.351,12.35-12.351c6.812,0,12.351,5.503,12.351,12.351 + c0,6.811-5.504,12.35-12.351,12.35C17.278,30.95,11.739,25.447,11.739,18.6z"/> + <path fill="#FFFF63" d="M11.76,18.6c0-6.8,5.494-12.33,12.33-12.33c6.799,0,12.33,5.494,12.33,12.33 + c0,6.798-5.494,12.33-12.33,12.33C17.29,30.93,11.76,25.436,11.76,18.6z"/> + <path fill="#FFFF64" d="M11.782,18.6c0-6.789,5.485-12.309,12.309-12.309c6.79,0,12.31,5.485,12.31,12.309 + c0,6.789-5.484,12.308-12.31,12.308C17.301,30.908,11.782,25.423,11.782,18.6z"/> + <path fill="#FFFF65" d="M11.803,18.6c0-6.778,5.476-12.288,12.288-12.288c6.778,0,12.288,5.476,12.288,12.288 + c0,6.778-5.477,12.289-12.288,12.289C17.313,30.889,11.803,25.411,11.803,18.6z"/> + <path fill="#FFFF66" d="M11.825,18.6c0-6.767,5.467-12.267,12.267-12.267c6.768,0,12.268,5.466,12.268,12.267 + c0,6.766-5.467,12.266-12.268,12.266C17.325,30.866,11.825,25.398,11.825,18.6z"/> + <path fill="#FFFF67" d="M11.847,18.6c0-6.756,5.457-12.246,12.246-12.246c6.757,0,12.247,5.458,12.247,12.246 + c0,6.755-5.459,12.246-12.247,12.246C17.337,30.846,11.847,25.389,11.847,18.6z"/> + <path fill="#FFFF68" d="M11.868,18.6c0-6.745,5.449-12.225,12.225-12.225c6.745,0,12.226,5.448,12.226,12.225 + c0,6.746-5.449,12.224-12.226,12.224C17.348,30.824,11.868,25.376,11.868,18.6z"/> + <path fill="#FFFF69" d="M11.89,18.6c0-6.733,5.439-12.204,12.204-12.204c6.732,0,12.205,5.439,12.205,12.204 + c0,6.733-5.439,12.205-12.205,12.205C17.36,30.805,11.89,25.364,11.89,18.6z"/> + <path fill="#FFFF6A" d="M11.911,18.6c0-6.723,5.43-12.183,12.183-12.183c6.723,0,12.184,5.43,12.184,12.183 + c0,6.722-5.43,12.183-12.184,12.183C17.372,30.783,11.911,25.354,11.911,18.6z"/> + <path fill="#FFFF6B" d="M11.933,18.6c0-6.711,5.421-12.162,12.162-12.162c6.712,0,12.163,5.421,12.163,12.162 + c0,6.71-5.422,12.162-12.163,12.162C17.384,30.762,11.933,25.341,11.933,18.6z"/> + <path fill="#FFFF6C" d="M11.954,18.6c0-6.7,5.412-12.141,12.142-12.141c6.701,0,12.141,5.412,12.141,12.141 + c0,6.7-5.412,12.141-12.141,12.141C17.396,30.741,11.954,25.329,11.954,18.6z"/> + <path fill="#FFFF6D" d="M11.976,18.6c0-6.689,5.402-12.121,12.12-12.121c6.688,0,12.121,5.403,12.121,12.121 + c0,6.689-5.402,12.121-12.121,12.121C17.407,30.721,11.976,25.316,11.976,18.6z"/> + <path fill="#FFFF6E" d="M11.998,18.6c0-6.678,5.393-12.099,12.099-12.099c6.679,0,12.099,5.393,12.099,12.099 + c0,6.677-5.393,12.099-12.099,12.099C17.419,30.699,11.998,25.307,11.998,18.6z"/> + <path fill="#FFFF6F" d="M12.019,18.6c0-6.667,5.384-12.079,12.079-12.079c6.667,0,12.078,5.384,12.078,12.079 + c0,6.667-5.383,12.078-12.078,12.078C17.431,30.678,12.019,25.294,12.019,18.6z"/> + <path fill="#FFFF70" d="M12.041,18.6c0-6.656,5.375-12.058,12.058-12.058c6.655,0,12.057,5.375,12.057,12.058 + c0,6.655-5.375,12.057-12.057,12.057C17.442,30.657,12.041,25.282,12.041,18.6z"/> + <path fill="#FFFF71" d="M12.062,18.6c0-6.645,5.366-12.037,12.037-12.037c6.645,0,12.036,5.366,12.036,12.037 + c0,6.644-5.365,12.037-12.036,12.037C17.454,30.637,12.062,25.271,12.062,18.6z"/> + <path fill="#FFFF72" d="M12.084,18.6c0-6.633,5.357-12.016,12.016-12.016c6.632,0,12.015,5.357,12.015,12.016 + c0,6.632-5.355,12.015-12.015,12.015C17.466,30.615,12.084,25.259,12.084,18.6z"/> + <path fill="#FFFF73" d="M12.105,18.6c0-6.622,5.348-11.995,11.995-11.995c6.623,0,11.996,5.348,11.996,11.995 + c0,6.623-5.35,11.996-11.996,11.996C17.478,30.596,12.105,25.247,12.105,18.6z"/> + <path fill="#FFFF74" d="M12.127,18.6c0-6.611,5.338-11.974,11.974-11.974c6.612,0,11.973,5.339,11.973,11.974 + c0,6.611-5.338,11.973-11.973,11.973C17.49,30.573,12.127,25.234,12.127,18.6z"/> + <path fill="#FFFF75" d="M12.149,18.6c0-6.6,5.329-11.953,11.953-11.953c6.599,0,11.953,5.33,11.953,11.953 + c0,6.6-5.328,11.953-11.953,11.953C17.502,30.553,12.149,25.225,12.149,18.6z"/> + <path fill="#FFFF76" d="M12.17,18.6c0-6.589,5.32-11.932,11.932-11.932c6.589,0,11.931,5.32,11.931,11.932 + c0,6.587-5.318,11.932-11.931,11.932C17.513,30.532,12.17,25.212,12.17,18.6z"/> + <path fill="#FFFF77" d="M12.192,18.6c0-6.578,5.311-11.911,11.911-11.911c6.579,0,11.913,5.311,11.913,11.911 + c0,6.578-5.312,11.911-11.913,11.911C17.525,30.511,12.192,25.2,12.192,18.6z"/> + <path fill="#FFFF78" d="M12.213,18.6c0-6.567,5.302-11.89,11.891-11.89c6.568,0,11.89,5.302,11.89,11.89 + c0,6.567-5.303,11.89-11.89,11.89C17.537,30.49,12.213,25.188,12.213,18.6z"/> + <path fill="#FFFF79" d="M12.235,18.6c0-6.556,5.292-11.87,11.869-11.87c6.556,0,11.869,5.293,11.869,11.87 + c0,6.554-5.293,11.869-11.869,11.869C17.548,30.469,12.235,25.176,12.235,18.6z"/> + <path fill="#FFFF7A" d="M12.256,18.6c0-6.544,5.284-11.849,11.848-11.849c6.544,0,11.847,5.284,11.847,11.849 + c0,6.544-5.281,11.848-11.847,11.848C17.56,30.448,12.256,25.164,12.256,18.6z"/> + <path fill="#FFFF7B" d="M12.278,18.6c0-6.533,5.274-11.828,11.828-11.828c6.533,0,11.828,5.274,11.828,11.828 + c0,6.533-5.275,11.828-11.828,11.828C17.572,30.428,12.278,25.152,12.278,18.6z"/> + <path fill="#FFFF7C" d="M12.299,18.6c0-6.522,5.266-11.807,11.807-11.807c6.523,0,11.808,5.265,11.808,11.807 + c0,6.522-5.268,11.806-11.808,11.806C17.584,30.406,12.299,25.141,12.299,18.6z"/> + <path fill="#FFFF7D" d="M12.321,18.6c0-6.511,5.256-11.786,11.786-11.786c6.51,0,11.786,5.256,11.786,11.786 + c0,6.511-5.256,11.786-11.786,11.786C17.595,30.386,12.321,25.129,12.321,18.6z"/> + <path fill="#FFFF7E" d="M12.342,18.6c0-6.5,5.247-11.765,11.765-11.765c6.5,0,11.764,5.247,11.764,11.765 + c0,6.5-5.246,11.764-11.764,11.764C17.608,30.364,12.342,25.117,12.342,18.6z"/> + <path fill="#FFFF7F" d="M12.364,18.6c0-6.489,5.238-11.744,11.744-11.744c6.49,0,11.744,5.238,11.744,11.744 + c0,6.489-5.238,11.744-11.744,11.744C17.619,30.344,12.364,25.105,12.364,18.6z"/> + <path fill="#FFFF80" d="M12.386,18.6c0-6.478,5.229-11.723,11.723-11.723c6.479,0,11.723,5.229,11.723,11.723 + c0,6.477-5.229,11.722-11.723,11.722C17.631,30.322,12.386,25.094,12.386,18.6z"/> + <path fill="#FFFF81" d="M12.407,18.6c0-6.467,5.22-11.702,11.702-11.702c6.465,0,11.702,5.22,11.702,11.702 + c0,6.466-5.219,11.702-11.702,11.702C17.643,30.302,12.407,25.082,12.407,18.6z"/> + <path fill="#FFFF82" d="M12.429,18.6c0-6.456,5.21-11.681,11.681-11.681c6.455,0,11.681,5.21,11.681,11.681 + c0,6.457-5.209,11.681-11.681,11.681C17.654,30.281,12.429,25.07,12.429,18.6z"/> + <path fill="#FFFF83" d="M12.45,18.6c0-6.444,5.202-11.66,11.661-11.66c6.444,0,11.661,5.201,11.661,11.66 + c0,6.444-5.203,11.66-11.661,11.66C17.666,30.26,12.45,25.059,12.45,18.6z"/> + <path fill="#FFFF84" d="M12.472,18.6c0-6.434,5.192-11.639,11.639-11.639c6.434,0,11.639,5.192,11.639,11.639 + c0,6.433-5.191,11.639-11.639,11.639C17.678,30.239,12.472,25.047,12.472,18.6z"/> + <path fill="#FFFF85" d="M12.493,18.6c0-6.422,5.183-11.619,11.619-11.619c6.421,0,11.619,5.183,11.619,11.619 + c0,6.421-5.184,11.618-11.619,11.618C17.69,30.218,12.493,25.035,12.493,18.6z"/> + <path fill="#FFFF86" d="M12.515,18.6c0-6.411,5.174-11.598,11.598-11.598c6.411,0,11.598,5.174,11.598,11.598 + c0,6.411-5.174,11.597-11.598,11.597C17.701,30.197,12.515,25.023,12.515,18.6z"/> + <path fill="#FFFF87" d="M12.537,18.6c0-6.4,5.165-11.577,11.577-11.577c6.4,0,11.578,5.165,11.578,11.577 + c0,6.4-5.166,11.577-11.578,11.577C17.713,30.177,12.537,25.012,12.537,18.6z"/> + <path fill="#FFFF88" d="M12.558,18.6c0-6.389,5.156-11.556,11.556-11.556c6.39,0,11.556,5.155,11.556,11.556 + c0,6.388-5.156,11.554-11.556,11.554C17.725,30.154,12.558,25,12.558,18.6z"/> + <path fill="#FFFF89" d="M12.58,18.6c0-6.378,5.146-11.535,11.535-11.535c6.377,0,11.534,5.146,11.534,11.535 + c0,6.376-5.145,11.535-11.534,11.535C17.737,30.135,12.58,24.988,12.58,18.6z"/> + <path fill="#FFFF8A" d="M12.601,18.6c0-6.367,5.138-11.514,11.514-11.514c6.368,0,11.514,5.137,11.514,11.514 + c0,6.367-5.139,11.513-11.514,11.513C17.749,30.113,12.601,24.977,12.601,18.6z"/> + <path fill="#FFFF8B" d="M12.623,18.6c0-6.356,5.128-11.493,11.493-11.493c6.355,0,11.494,5.128,11.494,11.493 + c0,6.355-5.129,11.493-11.494,11.493C17.76,30.093,12.623,24.965,12.623,18.6z"/> + <path fill="#FFFF8C" d="M12.645,18.6c0-6.345,5.119-11.472,11.472-11.472c6.344,0,11.473,5.119,11.473,11.472 + c0,6.343-5.119,11.47-11.473,11.47C17.772,30.07,12.645,24.953,12.645,18.6z"/> + <path fill="#FFFF8D" d="M12.666,18.6c0-6.333,5.11-11.451,11.451-11.451c6.333,0,11.452,5.11,11.452,11.451 + c0,6.333-5.109,11.451-11.452,11.451C17.784,30.051,12.666,24.941,12.666,18.6z"/> + <path fill="#FFFF8E" d="M12.688,18.6c0-6.322,5.101-11.43,11.43-11.43c6.322,0,11.431,5.101,11.431,11.43 + c0,6.322-5.102,11.429-11.431,11.429C17.796,30.029,12.688,24.93,12.688,18.6z"/> + <path fill="#FFFF8F" d="M12.709,18.6c0-6.312,5.092-11.409,11.41-11.409c6.311,0,11.409,5.091,11.409,11.409 + c0,6.311-5.092,11.409-11.409,11.409C17.807,30.009,12.709,24.917,12.709,18.6z"/> + <path fill="#FFFF90" d="M12.731,18.6c0-6.3,5.083-11.388,11.389-11.388c6.3,0,11.388,5.082,11.388,11.388 + c0,6.298-5.082,11.388-11.388,11.388C17.819,29.988,12.731,24.904,12.731,18.6z"/> + <path fill="#FFFF91" d="M12.753,18.6c0-6.289,5.073-11.368,11.367-11.368c6.288,0,11.366,5.073,11.366,11.368 + c0,6.289-5.072,11.367-11.366,11.367C17.831,29.967,12.753,24.895,12.753,18.6z"/> + <path fill="#FFFF92" d="M12.774,18.6c0-6.278,5.064-11.347,11.347-11.347c6.277,0,11.346,5.064,11.346,11.347 + c0,6.278-5.062,11.345-11.346,11.345C17.842,29.945,12.774,24.882,12.774,18.6z"/> + <path fill="#FFFF93" d="M12.796,18.6c0-6.267,5.055-11.326,11.326-11.326c6.267,0,11.325,5.055,11.325,11.326 + c0,6.266-5.055,11.326-11.325,11.326C17.854,29.926,12.796,24.87,12.796,18.6z"/> + <path fill="#FFFF94" d="M12.817,18.6c0-6.256,5.046-11.305,11.305-11.305c6.257,0,11.306,5.046,11.306,11.305 + c0,6.255-5.047,11.304-11.306,11.304C17.866,29.904,12.817,24.857,12.817,18.6z"/> + <path fill="#FFFF95" d="M12.838,18.6c0-6.245,5.037-11.284,11.284-11.284c6.243,0,11.282,5.037,11.282,11.284 + c0,6.246-5.035,11.284-11.282,11.284C17.878,29.884,12.838,24.848,12.838,18.6z"/> + <path fill="#FFFF96" d="M12.86,18.6c0-6.233,5.028-11.263,11.263-11.263c6.232,0,11.262,5.028,11.262,11.263 + c0,6.233-5.027,11.261-11.262,11.261C17.89,29.861,12.86,24.835,12.86,18.6z"/> + <path fill="#FFFF97" d="M12.882,18.6c0-6.223,5.018-11.242,11.242-11.242c6.222,0,11.241,5.019,11.241,11.242 + c0,6.222-5.018,11.242-11.241,11.242C17.901,29.842,12.882,24.823,12.882,18.6z"/> + <path fill="#FFFF98" d="M12.903,18.6c0-6.211,5.009-11.221,11.221-11.221S35.346,12.388,35.346,18.6 + c0,6.21-5.01,11.22-11.222,11.22C17.913,29.82,12.903,24.812,12.903,18.6z"/> + <path fill="#FFFF99" d="M12.925,18.6c0-6.2,5-11.2,11.2-11.2c6.199,0,11.199,5,11.199,11.2c0,6.2-5,11.2-11.199,11.2 + C17.925,29.8,12.925,24.8,12.925,18.6z"/> + </g> + + <linearGradient id="XMLID_67_" gradientUnits="userSpaceOnUse" x1="396.2324" y1="753.8262" x2="396.2324" y2="763.584" gradientTransform="matrix(1 0 0 1 -372 -747)"> + <stop offset="0" style="stop-color:#FFFFFF"/> + <stop offset="1" style="stop-color:#FFFF99"/> + </linearGradient> + <path fill="url(#XMLID_67_)" d="M15.358,11.705c0-2.701,3.961-4.879,8.875-4.879c4.912,0,8.875,2.178,8.875,4.879 + s-3.963,4.879-8.875,4.879C19.32,16.583,15.358,14.405,15.358,11.705z"/> + <path fill="#666666" d="M23.125,41.3v0.9c0,0.899,0.7,1.6,1.6,1.6c0.9,0,1.6-0.7,1.6-1.6v-0.9h-3.299H23.125z"/> + + <linearGradient id="XMLID_68_" gradientUnits="userSpaceOnUse" x1="396.625" y1="784.8896" x2="396.625" y2="788.9111" gradientTransform="matrix(1 0 0 1 -372 -747)"> + <stop offset="0" style="stop-color:#FFFFFF"/> + <stop offset="1" style="stop-color:#000000"/> + </linearGradient> + <path fill="url(#XMLID_68_)" d="M28.225,37.9l-7.6,0.8c-0.9,0.1-1.5,0.899-1.4,1.8c0.1,0.9,0.9,1.5,1.8,1.4l7.6-0.801 + c0.9-0.102,1.5-0.899,1.4-1.802C29.926,38.4,29.125,37.8,28.225,37.9z"/> + + <linearGradient id="XMLID_69_" gradientUnits="userSpaceOnUse" x1="396.625" y1="781.6895" x2="396.625" y2="785.7109" gradientTransform="matrix(1 0 0 1 -372 -747)"> + <stop offset="0" style="stop-color:#FFFFFF"/> + <stop offset="1" style="stop-color:#000000"/> + </linearGradient> + <path fill="url(#XMLID_69_)" d="M28.225,34.7l-7.6,0.8c-0.9,0.1-1.5,0.9-1.4,1.8c0.1,0.9,0.9,1.5,1.8,1.4l7.6-0.8 + c0.9-0.101,1.5-0.9,1.4-1.801C29.926,35.2,29.125,34.6,28.225,34.7z"/> + + <linearGradient id="XMLID_70_" gradientUnits="userSpaceOnUse" x1="396.625" y1="778.5889" x2="396.625" y2="782.6104" gradientTransform="matrix(1 0 0 1 -372 -747)"> + <stop offset="0" style="stop-color:#FFFFFF"/> + <stop offset="1" style="stop-color:#000000"/> + </linearGradient> + <path fill="url(#XMLID_70_)" d="M28.225,31.6l-7.6,0.801c-0.9,0.1-1.5,0.897-1.4,1.8c0.1,0.899,0.9,1.5,1.8,1.399l7.6-0.802 + c0.9-0.1,1.5-0.897,1.4-1.8S29.125,31.5,28.225,31.6z"/> + <path fill="none" stroke="#000000" stroke-width="1.0944" d="M22.325,28.3l-3.5-10.7c0,0,6.601,3.9,10.5,0"/> +</g> +<g id="crop_x0020_marks"> + <path fill="none" d="M47.975,48h-48V0h48V48z"/> +</g> +</svg> diff --git a/doc/help/xslt/images/colorsvg/up.svg b/doc/help/xslt/images/colorsvg/up.svg new file mode 100644 index 00000000..8eca45f2 --- /dev/null +++ b/doc/help/xslt/images/colorsvg/up.svg @@ -0,0 +1,338 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 12.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 51448) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [ + <!ENTITY ns_svg "http://www.w3.org/2000/svg"> + <!ENTITY ns_xlink "http://www.w3.org/1999/xlink"> +]> +<svg version="1.1" id="Up" xmlns="&ns_svg;" xmlns:xlink="&ns_xlink;" width="48" height="48" viewBox="0 0 48 48" + overflow="visible" enable-background="new 0 0 48 48" xml:space="preserve"> +<g> + <path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="7.5901" stroke-linejoin="round" d="M41.104,25.661 + c0.301,0,0.301-0.3,0.198-0.5l-16.899-16.6c-0.5-0.5-0.7-0.4-1,0l-16.7,16.6c-0.1,0.103-0.1,0.399,0.1,0.399h10v13.601 + c0,0.301,0.2,0.5,0.4,0.5h13.299c0.398,0,0.5-0.199,0.5-0.601v-13.5L41.104,25.661z"/> + <g> + <path fill="#0033CC" d="M41.104,25.661c0.301,0,0.301-0.3,0.198-0.5l-16.899-16.6c-0.5-0.5-0.7-0.4-1,0l-16.7,16.6 + c-0.1,0.103-0.1,0.399,0.1,0.399h10v13.601c0,0.301,0.2,0.5,0.4,0.5h13.299c0.398,0,0.5-0.199,0.5-0.601v-13.5L41.104,25.661z"/> + <path fill="#0134CC" d="M41.075,25.65c0.3,0,0.3-0.299,0.198-0.498L24.402,8.577c-0.499-0.499-0.699-0.4-0.998,0L6.73,25.152 + c-0.1,0.101-0.1,0.397,0.099,0.397h9.984v13.581c0,0.303,0.2,0.499,0.4,0.499h13.279c0.398,0,0.499-0.196,0.499-0.601V25.55 + L41.075,25.65z"/> + <path fill="#0235CD" d="M41.049,25.643c0.301,0,0.301-0.3,0.199-0.498L24.401,8.591c-0.498-0.498-0.697-0.399-0.996,0 + L6.757,25.145c-0.1,0.101-0.1,0.397,0.099,0.397h9.969v13.562c0,0.301,0.199,0.5,0.399,0.5H30.48c0.397,0,0.498-0.199,0.498-0.601 + V25.542L41.049,25.643z"/> + <path fill="#0336CD" d="M41.021,25.632c0.299,0,0.299-0.299,0.199-0.498L24.4,8.604c-0.498-0.498-0.696-0.399-0.995,0 + L6.783,25.134c-0.099,0.101-0.099,0.398,0.099,0.398h9.953v13.543c0,0.299,0.199,0.495,0.398,0.495h13.24 + c0.396,0,0.495-0.196,0.495-0.596v-13.44L41.021,25.632z"/> + <path fill="#0437CE" d="M40.995,25.622c0.299,0,0.299-0.299,0.198-0.496L24.4,8.62c-0.497-0.497-0.696-0.398-0.994,0L6.811,25.126 + c-0.099,0.101-0.099,0.396,0.099,0.396h9.938v13.523c0,0.299,0.199,0.496,0.397,0.496h13.217c0.396,0,0.496-0.197,0.496-0.598 + v-13.42L40.995,25.622z"/> + <path fill="#0538CE" d="M40.969,25.614c0.299,0,0.299-0.3,0.198-0.498L24.399,8.634c-0.496-0.496-0.694-0.397-0.992,0 + L6.837,25.116c-0.099,0.102-0.099,0.397,0.099,0.397h9.922v13.504c0,0.299,0.199,0.496,0.398,0.496h13.195 + c0.396,0,0.494-0.197,0.494-0.597V25.514L40.969,25.614z"/> + <path fill="#0639CF" d="M40.941,25.604c0.297,0,0.297-0.297,0.197-0.496L24.399,8.649c-0.496-0.496-0.693-0.397-0.99,0 + L6.864,25.107c-0.099,0.101-0.099,0.396,0.099,0.396h9.906v13.483c0,0.3,0.199,0.496,0.397,0.496h13.173 + c0.396,0,0.496-0.196,0.496-0.596V25.505L40.941,25.604z"/> + <path fill="#073ACF" d="M40.915,25.594c0.298,0,0.298-0.298,0.196-0.494L24.398,8.664c-0.495-0.495-0.692-0.397-0.989,0 + L6.891,25.1c-0.099,0.101-0.099,0.396,0.098,0.396h9.892V38.96c0,0.298,0.198,0.494,0.396,0.494h13.155 + c0.396,0,0.494-0.196,0.494-0.593V25.495L40.915,25.594z"/> + <path fill="#083BD0" d="M40.891,25.585c0.297,0,0.297-0.297,0.196-0.496l-16.69-16.41c-0.494-0.494-0.691-0.396-0.987,0 + L6.918,25.089c-0.099,0.101-0.099,0.396,0.098,0.396h9.875V38.93c0,0.299,0.198,0.495,0.396,0.495h13.134 + c0.396,0,0.494-0.196,0.494-0.595V25.486L40.891,25.585z"/> + <path fill="#093CD0" d="M40.859,25.575c0.3,0,0.3-0.296,0.199-0.494L24.397,8.692c-0.493-0.494-0.69-0.396-0.985,0L6.945,25.081 + c-0.098,0.101-0.098,0.396,0.098,0.396h9.86v13.428c0,0.298,0.197,0.494,0.395,0.494h13.113c0.396,0,0.491-0.196,0.491-0.594 + V25.477L40.859,25.575z"/> + <path fill="#0A3DD1" d="M40.835,25.564c0.296,0,0.296-0.295,0.197-0.491L24.396,8.707c-0.492-0.493-0.689-0.395-0.984,0 + L6.972,25.073c-0.098,0.098-0.098,0.395,0.098,0.395h9.844v13.408c0,0.295,0.197,0.492,0.394,0.492h13.09 + c0.396,0,0.492-0.197,0.492-0.593V25.465L40.835,25.564z"/> + <path fill="#0B3ED1" d="M40.811,25.557c0.295,0,0.295-0.296,0.195-0.492L24.396,8.723c-0.492-0.493-0.688-0.394-0.983,0 + L6.999,25.062c-0.098,0.101-0.098,0.396,0.098,0.396h9.829v13.388c0,0.297,0.197,0.491,0.394,0.491h13.073 + c0.395,0,0.489-0.194,0.489-0.59V25.458L40.811,25.557z"/> + <path fill="#0C3FD2" d="M40.782,25.546c0.295,0,0.295-0.295,0.194-0.491L24.395,8.736c-0.491-0.492-0.687-0.394-0.981,0 + L7.026,25.055c-0.098,0.1-0.098,0.396,0.098,0.396h9.813v13.368c0,0.296,0.197,0.49,0.393,0.49h13.051 + c0.395,0,0.49-0.194,0.49-0.588V25.448L40.782,25.546z"/> + <path fill="#0D40D2" d="M40.755,25.536c0.295,0,0.295-0.293,0.196-0.49L24.394,8.75c-0.489-0.491-0.685-0.393-0.979,0 + L7.053,25.046c-0.098,0.099-0.098,0.394,0.098,0.394h9.797V38.79c0,0.297,0.196,0.492,0.392,0.492h13.03 + c0.394,0,0.489-0.195,0.489-0.591V25.438L40.755,25.536z"/> + <path fill="#0E41D3" d="M40.729,25.527c0.293,0,0.293-0.295,0.195-0.489L24.394,8.766c-0.489-0.489-0.685-0.392-0.978,0 + L7.08,25.038c-0.097,0.099-0.097,0.394,0.098,0.394h9.782V38.76c0,0.295,0.196,0.489,0.392,0.489h13.007 + c0.394,0,0.488-0.194,0.488-0.588V25.43L40.729,25.527z"/> + <path fill="#0F42D3" d="M40.702,25.518c0.294,0,0.294-0.293,0.194-0.488L24.393,8.781c-0.488-0.489-0.683-0.392-0.976,0 + L7.107,25.027c-0.097,0.101-0.097,0.394,0.098,0.394h9.766v13.312c0,0.295,0.195,0.49,0.391,0.49h12.99 + c0.393,0,0.487-0.195,0.487-0.588V25.419L40.702,25.518z"/> + <path fill="#1043D4" d="M40.676,25.508c0.293,0,0.293-0.294,0.195-0.488L24.392,8.794c-0.487-0.488-0.682-0.392-0.975,0 + L7.134,25.02c-0.097,0.101-0.097,0.394,0.097,0.394h9.75v13.293c0,0.293,0.196,0.485,0.391,0.485H30.34 + c0.393,0,0.487-0.192,0.487-0.586V25.411L40.676,25.508z"/> + <path fill="#1144D4" d="M40.646,25.497c0.293,0,0.293-0.293,0.194-0.487l-16.45-16.2c-0.487-0.488-0.681-0.391-0.973,0L7.16,25.01 + C7.063,25.107,7.063,25.4,7.257,25.4h9.735v13.271c0,0.294,0.195,0.487,0.39,0.487H30.33c0.389,0,0.484-0.193,0.484-0.586V25.4 + L40.646,25.497z"/> + <path fill="#1245D5" d="M40.622,25.489c0.293,0,0.293-0.294,0.194-0.488L24.391,8.824c-0.486-0.487-0.68-0.39-0.972,0 + L7.188,25.001c-0.097,0.099-0.097,0.392,0.096,0.392h9.72v13.254c0,0.293,0.195,0.486,0.389,0.486h12.925 + c0.391,0,0.486-0.193,0.486-0.585V25.393L40.622,25.489z"/> + <path fill="#1346D5" d="M40.598,25.479c0.291,0,0.291-0.291,0.192-0.484L24.391,8.838c-0.485-0.486-0.679-0.39-0.97,0 + L7.215,24.993c-0.097,0.099-0.097,0.39,0.096,0.39h9.704v13.235c0,0.291,0.195,0.485,0.389,0.485h12.907 + c0.391,0,0.484-0.194,0.484-0.584V25.382L40.598,25.479z"/> + <path fill="#1447D6" d="M40.568,25.471c0.291,0,0.291-0.293,0.193-0.486L24.39,8.853c-0.484-0.485-0.678-0.389-0.968,0 + L7.242,24.982c-0.097,0.1-0.097,0.391,0.096,0.391h9.688v13.215c0,0.293,0.194,0.486,0.388,0.486H30.3 + c0.39,0,0.484-0.193,0.484-0.582v-13.12L40.568,25.471z"/> + <path fill="#1548D6" d="M40.542,25.46c0.291,0,0.291-0.291,0.192-0.485L24.389,8.868c-0.483-0.485-0.677-0.388-0.966,0 + L7.269,24.975c-0.097,0.101-0.097,0.392,0.096,0.392h9.673v13.194c0,0.291,0.193,0.483,0.387,0.483h12.864 + c0.387,0,0.482-0.192,0.482-0.582V25.361L40.542,25.46z"/> + <path fill="#1649D7" d="M40.518,25.45c0.291,0,0.291-0.291,0.191-0.483L24.389,8.881c-0.483-0.484-0.676-0.388-0.966,0 + L7.295,24.966c-0.096,0.099-0.096,0.388,0.096,0.388h9.657v13.181c0,0.291,0.193,0.481,0.387,0.481h12.842 + c0.388,0,0.48-0.19,0.48-0.582v-13.08L40.518,25.45z"/> + <path fill="#174AD7" d="M40.488,25.441c0.289,0,0.289-0.291,0.193-0.483L24.388,8.896c-0.482-0.483-0.675-0.388-0.964,0 + L7.323,24.956c-0.096,0.099-0.096,0.39,0.096,0.39h9.642v13.155c0,0.291,0.193,0.483,0.386,0.483h12.825 + c0.386,0,0.479-0.192,0.479-0.58V25.346L40.488,25.441z"/> + <path fill="#184BD8" d="M40.463,25.432c0.289,0,0.289-0.289,0.191-0.481L24.387,8.912c-0.481-0.482-0.673-0.387-0.962,0 + L7.349,24.948c-0.096,0.098-0.096,0.387,0.096,0.387h9.626v13.14c0,0.291,0.193,0.483,0.386,0.483h12.802 + c0.388,0,0.479-0.192,0.479-0.58V25.335L40.463,25.432z"/> + <path fill="#194CD8" d="M40.438,25.421c0.289,0,0.289-0.289,0.19-0.481L24.386,8.926c-0.48-0.481-0.672-0.386-0.96,0L7.376,24.938 + c-0.096,0.1-0.096,0.389,0.096,0.389h9.61v13.117c0,0.291,0.192,0.482,0.385,0.482h12.782c0.385,0,0.479-0.191,0.479-0.578V25.325 + L40.438,25.421z"/> + <path fill="#1A4DD9" d="M40.409,25.413c0.289,0,0.289-0.289,0.19-0.481L24.386,8.939c-0.48-0.481-0.671-0.385-0.959,0 + L7.403,24.932c-0.096,0.096-0.096,0.385,0.096,0.385h9.595v13.103c0,0.289,0.192,0.479,0.384,0.479h12.76 + c0.385,0,0.479-0.19,0.479-0.578V25.316L40.409,25.413z"/> + <path fill="#1B4ED9" d="M40.383,25.402c0.288,0,0.288-0.288,0.191-0.479L24.386,8.956c-0.479-0.481-0.67-0.385-0.958,0 + L7.43,24.921c-0.095,0.099-0.095,0.386,0.096,0.386h9.579v13.082c0,0.288,0.192,0.479,0.384,0.479H30.23 + c0.383,0,0.479-0.191,0.479-0.576V25.307L40.383,25.402z"/> + <path fill="#1C4FDA" d="M40.355,25.395c0.287,0,0.287-0.289,0.188-0.479L24.385,8.97c-0.479-0.48-0.669-0.384-0.956,0 + L7.457,24.913c-0.096,0.097-0.096,0.385,0.095,0.385h9.563v13.062c0,0.289,0.192,0.479,0.383,0.479h12.72 + c0.384,0,0.479-0.19,0.479-0.575V25.296L40.355,25.395z"/> + <path fill="#1D50DA" d="M40.329,25.383c0.287,0,0.287-0.287,0.19-0.479L24.384,8.983c-0.478-0.479-0.668-0.384-0.955,0 + L7.484,24.902c-0.095,0.099-0.095,0.386,0.095,0.386h9.548v13.043c0,0.287,0.191,0.479,0.382,0.479h12.699 + c0.383,0,0.478-0.191,0.478-0.576V25.288L40.329,25.383z"/> + <path fill="#1E51DB" d="M40.303,25.374c0.286,0,0.286-0.287,0.19-0.479L24.384,8.999c-0.477-0.479-0.667-0.383-0.953,0 + L7.511,24.895c-0.095,0.099-0.095,0.385,0.094,0.385h9.533v13.022c0,0.287,0.191,0.479,0.382,0.479h12.678 + c0.382,0,0.477-0.189,0.477-0.574v-12.93L40.303,25.374z"/> + <path fill="#1F52DB" d="M40.275,25.364c0.285,0,0.285-0.287,0.188-0.479L24.383,9.014c-0.476-0.478-0.666-0.383-0.951,0 + L7.539,24.886c-0.095,0.097-0.095,0.384,0.094,0.384h9.517v13.004c0,0.287,0.191,0.479,0.381,0.479h12.658 + c0.381,0,0.476-0.19,0.476-0.573V25.27L40.275,25.364z"/> + <path fill="#2053DC" d="M40.25,25.354c0.285,0,0.285-0.285,0.188-0.479L24.382,9.027c-0.475-0.477-0.665-0.382-0.95,0 + L7.565,24.876c-0.095,0.097-0.095,0.383,0.094,0.383h9.501v12.984c0,0.286,0.19,0.479,0.381,0.479h12.637 + c0.381,0,0.477-0.189,0.477-0.572V25.259L40.25,25.354z"/> + <path fill="#2154DC" d="M40.225,25.346c0.283,0,0.283-0.287,0.188-0.478L24.381,9.042c-0.474-0.476-0.664-0.381-0.948,0 + L7.591,24.868c-0.094,0.096-0.094,0.383,0.095,0.383h9.486v12.965c0,0.287,0.19,0.478,0.38,0.478h12.616 + c0.38,0,0.475-0.188,0.475-0.569V25.249L40.225,25.346z"/> + <path fill="#2255DD" d="M40.195,25.335c0.285,0,0.285-0.285,0.188-0.478L24.38,9.057c-0.474-0.475-0.663-0.381-0.947,0 + L7.619,24.859c-0.094,0.097-0.094,0.382,0.094,0.382h9.471v12.946c0,0.285,0.189,0.476,0.379,0.476h12.596 + c0.378,0,0.473-0.188,0.473-0.57V25.241L40.195,25.335z"/> + <path fill="#2356DD" d="M40.17,25.327c0.284,0,0.284-0.285,0.188-0.478L24.381,9.072c-0.473-0.475-0.662-0.38-0.945,0 + l-15.79,15.78c-0.094,0.097-0.094,0.381,0.094,0.381h9.455V38.16c0,0.285,0.189,0.476,0.379,0.476h12.574 + c0.377,0,0.473-0.188,0.473-0.569V25.23L40.17,25.327z"/> + <path fill="#2457DE" d="M40.145,25.316c0.282,0,0.282-0.284,0.188-0.478L24.38,9.085c-0.472-0.474-0.661-0.38-0.944,0 + L7.673,24.841c-0.095,0.097-0.095,0.382,0.094,0.382h9.439V38.13c0,0.285,0.189,0.476,0.378,0.476h12.555 + c0.379,0,0.473-0.188,0.473-0.569V25.223L40.145,25.316z"/> + <path fill="#2558DE" d="M40.116,25.307c0.282,0,0.282-0.285,0.188-0.476L24.379,9.101c-0.472-0.474-0.66-0.379-0.942,0 + L7.699,24.831c-0.094,0.097-0.094,0.381,0.094,0.381h9.424v12.89c0,0.284,0.189,0.476,0.377,0.476h12.533 + c0.378,0,0.473-0.188,0.473-0.568V25.212L40.116,25.307z"/> + <path fill="#2659DF" d="M40.09,25.298c0.283,0,0.283-0.284,0.188-0.475L24.379,9.116c-0.471-0.473-0.659-0.379-0.94,0 + L7.727,24.823c-0.094,0.096-0.094,0.381,0.094,0.381h9.408v12.869c0,0.282,0.189,0.473,0.377,0.473h12.512 + c0.376,0,0.47-0.188,0.47-0.567V25.204L40.09,25.298z"/> + <path fill="#275ADF" d="M40.062,25.288c0.28,0,0.28-0.283,0.188-0.474L24.378,9.13c-0.47-0.472-0.657-0.378-0.938,0L7.754,24.814 + c-0.094,0.097-0.094,0.379,0.093,0.379h9.393v12.851c0,0.285,0.188,0.474,0.376,0.474h12.489c0.377,0,0.472-0.188,0.472-0.565 + V25.193L40.062,25.288z"/> + <path fill="#285BE0" d="M40.037,25.277c0.279,0,0.279-0.282,0.188-0.471L24.377,9.145c-0.469-0.471-0.656-0.378-0.937,0 + L7.781,24.807c-0.094,0.096-0.094,0.377,0.093,0.377h9.377v12.832c0,0.283,0.188,0.474,0.376,0.474H30.1 + c0.375,0,0.467-0.188,0.467-0.566V25.184L40.037,25.277z"/> + <path fill="#295CE0" d="M40.01,25.27c0.281,0,0.281-0.283,0.188-0.474L24.376,9.159c-0.468-0.47-0.655-0.377-0.936,0L7.807,24.796 + c-0.093,0.097-0.093,0.378,0.093,0.378h9.361v12.812c0,0.281,0.188,0.471,0.375,0.471h12.45c0.374,0,0.467-0.188,0.467-0.562 + V25.174L40.01,25.27z"/> + <path fill="#2A5DE1" d="M39.982,25.259c0.281,0,0.281-0.282,0.188-0.471L24.376,9.174c-0.467-0.469-0.654-0.376-0.934,0 + L7.834,24.788c-0.093,0.096-0.093,0.377,0.093,0.377h9.346v12.793c0,0.283,0.188,0.472,0.375,0.472h12.43 + c0.373,0,0.467-0.188,0.467-0.563v-12.7L39.982,25.259z"/> + <path fill="#2B5EE1" d="M39.957,25.249c0.279,0,0.279-0.281,0.188-0.472L24.376,9.188c-0.466-0.469-0.652-0.376-0.933,0 + L7.861,24.779c-0.093,0.095-0.093,0.375,0.093,0.375h9.33V37.93c0,0.282,0.188,0.471,0.374,0.471h12.408 + c0.373,0,0.467-0.188,0.467-0.563v-12.68L39.957,25.249z"/> + <path fill="#2C5FE2" d="M39.932,25.239c0.278,0,0.278-0.281,0.188-0.47L24.375,9.203c-0.465-0.468-0.652-0.375-0.931,0 + L7.888,24.771c-0.093,0.096-0.093,0.375,0.092,0.375h9.314V37.9c0,0.281,0.187,0.47,0.374,0.47h12.389 + c0.373,0,0.465-0.188,0.465-0.562V25.146L39.932,25.239z"/> + <path fill="#2D60E2" d="M39.902,25.229c0.279,0,0.279-0.277,0.187-0.468L24.374,9.217c-0.465-0.467-0.651-0.375-0.929,0 + L7.915,24.762c-0.093,0.094-0.093,0.374,0.092,0.374h9.299V37.87c0,0.28,0.187,0.469,0.373,0.469h12.368 + c0.371,0,0.465-0.188,0.465-0.562V25.136L39.902,25.229z"/> + <path fill="#2E61E3" d="M39.877,25.221c0.277,0,0.277-0.279,0.188-0.468L24.374,9.231c-0.464-0.466-0.649-0.374-0.928,0 + L7.942,24.753c-0.092,0.095-0.092,0.373,0.092,0.373h9.284v12.717c0,0.281,0.186,0.47,0.372,0.47h12.347 + c0.372,0,0.464-0.188,0.464-0.562V25.126L39.877,25.221z"/> + <path fill="#2F62E3" d="M39.852,25.212c0.277,0,0.277-0.28,0.188-0.469L24.373,9.248c-0.463-0.466-0.648-0.374-0.926,0 + L7.969,24.745c-0.092,0.094-0.092,0.373,0.092,0.373h9.268v12.696c0,0.278,0.186,0.468,0.371,0.468h12.325 + c0.371,0,0.463-0.188,0.463-0.562V25.118L39.852,25.212z"/> + <path fill="#3063E4" d="M39.823,25.202c0.276,0,0.276-0.279,0.186-0.468L24.372,9.262c-0.462-0.465-0.647-0.373-0.925,0 + L7.996,24.734c-0.092,0.095-0.092,0.373,0.092,0.373h9.252v12.679c0,0.278,0.186,0.467,0.371,0.467h12.307 + c0.369,0,0.461-0.188,0.461-0.562V25.107L39.823,25.202z"/> + <path fill="#3164E4" d="M39.797,25.191c0.277,0,0.277-0.278,0.186-0.467L24.373,9.274c-0.462-0.465-0.646-0.373-0.923,0 + L8.023,24.727C7.931,24.82,7.931,25.1,8.115,25.1h9.236v12.657c0,0.279,0.186,0.466,0.371,0.466h12.284 + c0.369,0,0.461-0.187,0.461-0.56V25.1L39.797,25.191z"/> + <path fill="#3265E5" d="M39.771,25.184c0.275,0,0.275-0.279,0.186-0.467L24.371,9.29c-0.461-0.464-0.645-0.372-0.922,0 + L8.05,24.717c-0.092,0.094-0.092,0.372,0.091,0.372h9.221v12.64c0,0.279,0.185,0.465,0.37,0.465h12.264 + c0.367,0,0.46-0.186,0.46-0.558V25.089L39.771,25.184z"/> + <path fill="#3366E5" d="M39.744,25.173c0.275,0,0.275-0.278,0.186-0.465L24.371,9.306c-0.46-0.463-0.644-0.372-0.92,0 + L8.077,24.708c-0.092,0.094-0.092,0.371,0.091,0.371h9.206V37.7c0,0.276,0.185,0.463,0.369,0.463h12.241 + c0.369,0,0.461-0.187,0.461-0.558V25.081L39.744,25.173z"/> + <path fill="#3366E6" d="M39.717,25.163c0.276,0,0.276-0.277,0.186-0.463L24.37,9.319c-0.459-0.462-0.643-0.371-0.918,0L8.104,24.7 + c-0.092,0.094-0.092,0.37,0.091,0.37h9.189v12.601c0,0.279,0.185,0.465,0.369,0.465h12.224c0.366,0,0.459-0.186,0.459-0.557V25.07 + L39.717,25.163z"/> + <path fill="#3467E6" d="M39.689,25.152c0.273,0,0.273-0.276,0.185-0.463L24.369,9.333c-0.458-0.462-0.642-0.371-0.917,0 + L8.131,24.689c-0.092,0.095-0.092,0.371,0.091,0.371h9.174v12.582c0,0.274,0.184,0.463,0.368,0.463h12.202 + c0.366,0,0.458-0.188,0.458-0.558V25.061L39.689,25.152z"/> + <path fill="#3568E7" d="M39.664,25.145c0.273,0,0.273-0.276,0.186-0.463L24.369,9.349c-0.458-0.461-0.641-0.37-0.916,0 + L8.158,24.682c-0.091,0.094-0.091,0.37,0.091,0.37h9.159v12.562c0,0.276,0.184,0.461,0.367,0.461h12.181 + c0.367,0,0.458-0.185,0.458-0.556V25.05L39.664,25.145z"/> + <path fill="#3669E7" d="M39.639,25.135c0.273,0,0.273-0.277,0.185-0.462L24.368,9.364c-0.458-0.46-0.64-0.37-0.914,0l-15.27,15.31 + c-0.091,0.094-0.091,0.368,0.091,0.368h9.144v12.543c0,0.276,0.183,0.463,0.366,0.463h12.158c0.365,0,0.457-0.187,0.457-0.555 + V25.042L39.639,25.135z"/> + <path fill="#376AE8" d="M39.609,25.124c0.272,0,0.272-0.274,0.184-0.461L24.367,9.377c-0.457-0.459-0.639-0.369-0.912,0 + L8.211,24.663c-0.091,0.094-0.091,0.369,0.091,0.369h9.127v12.522c0,0.274,0.184,0.461,0.366,0.461h12.141 + c0.363,0,0.455-0.187,0.455-0.554v-12.43L39.609,25.124z"/> + <path fill="#386BE8" d="M39.584,25.116c0.271,0,0.271-0.277,0.184-0.462L24.368,9.393c-0.456-0.459-0.638-0.368-0.911,0 + L8.239,24.654c-0.091,0.093-0.091,0.369,0.09,0.369h9.112v12.504c0,0.274,0.183,0.462,0.365,0.462h12.12 + c0.363,0,0.454-0.188,0.454-0.554V25.023L39.584,25.116z"/> + <path fill="#396CE9" d="M39.559,25.105c0.272,0,0.272-0.274,0.183-0.459L24.366,9.407c-0.455-0.458-0.636-0.367-0.909,0 + L8.266,24.646c-0.091,0.093-0.091,0.367,0.09,0.367h9.096v12.483c0,0.272,0.183,0.459,0.365,0.459h12.098 + c0.362,0,0.454-0.187,0.454-0.552V25.014L39.559,25.105z"/> + <path fill="#3A6DE9" d="M39.529,25.096c0.271,0,0.271-0.275,0.184-0.457L24.365,9.421c-0.454-0.458-0.635-0.367-0.907,0 + L8.293,24.639c-0.091,0.092-0.091,0.364,0.09,0.364h9.081v12.468c0,0.274,0.182,0.459,0.364,0.459h12.076 + c0.363,0,0.453-0.185,0.453-0.552V25.003L39.529,25.096z"/> + <path fill="#3B6EEA" d="M39.504,25.087c0.271,0,0.271-0.274,0.184-0.459L24.365,9.436c-0.454-0.457-0.634-0.366-0.906,0 + L8.319,24.628c-0.09,0.093-0.09,0.367,0.09,0.367h9.065v12.446c0,0.272,0.182,0.457,0.363,0.457h12.06 + c0.359,0,0.451-0.185,0.451-0.549V24.995L39.504,25.087z"/> + <path fill="#3C6FEA" d="M39.479,25.077c0.271,0,0.271-0.272,0.183-0.457L24.364,9.451c-0.453-0.456-0.633-0.366-0.905,0 + L8.346,24.62c-0.09,0.092-0.09,0.364,0.09,0.364h9.05v12.429c0,0.274,0.182,0.457,0.363,0.457h12.036 + c0.361,0,0.451-0.183,0.451-0.55V24.984L39.479,25.077z"/> + <path fill="#3D70EB" d="M39.451,25.066c0.271,0,0.271-0.272,0.181-0.457L24.363,9.464c-0.452-0.455-0.632-0.365-0.903,0 + L8.374,24.609c-0.09,0.093-0.09,0.367,0.089,0.367h9.034v12.406c0,0.271,0.181,0.456,0.362,0.456h12.016 + c0.359,0,0.45-0.185,0.45-0.549V24.977L39.451,25.066z"/> + <path fill="#3E71EB" d="M39.424,25.059c0.271,0,0.271-0.272,0.182-0.457L24.363,9.479c-0.451-0.455-0.631-0.365-0.901,0 + L8.4,24.602c-0.09,0.092-0.09,0.365,0.09,0.365h9.019v12.389c0,0.272,0.181,0.457,0.362,0.457h11.992 + c0.361,0,0.451-0.185,0.451-0.547V24.967L39.424,25.059z"/> + <path fill="#3F72EC" d="M39.396,25.048c0.271,0,0.271-0.272,0.182-0.455L24.362,9.495c-0.45-0.454-0.63-0.364-0.9,0L8.427,24.593 + c-0.09,0.093-0.09,0.363,0.089,0.363h9.003v12.371c0,0.272,0.181,0.455,0.361,0.455h11.976c0.357,0,0.447-0.183,0.447-0.548 + V24.956L39.396,25.048z"/> + <path fill="#4073EC" d="M39.371,25.038c0.271,0,0.271-0.272,0.18-0.455L24.362,9.509c-0.45-0.453-0.629-0.363-0.898,0 + L8.454,24.583c-0.09,0.093-0.09,0.362,0.089,0.362h8.987v12.354c0,0.271,0.181,0.454,0.36,0.454h11.954 + c0.358,0,0.448-0.183,0.448-0.545v-12.26L39.371,25.038z"/> + <path fill="#4174ED" d="M39.346,25.029c0.271,0,0.271-0.271,0.18-0.454L24.361,9.523c-0.449-0.453-0.627-0.363-0.897,0 + L8.481,24.575c-0.089,0.092-0.089,0.362,0.089,0.362h8.972V37.27c0,0.272,0.18,0.455,0.359,0.455h11.933 + c0.357,0,0.445-0.183,0.445-0.545V24.938L39.346,25.029z"/> + <path fill="#4275ED" d="M39.316,25.02c0.271,0,0.271-0.271,0.181-0.453L24.36,9.539c-0.448-0.452-0.626-0.362-0.895,0 + L8.508,24.566c-0.09,0.091-0.09,0.36,0.088,0.36h8.957V37.24c0,0.271,0.18,0.451,0.359,0.451h11.912 + c0.355,0,0.445-0.183,0.445-0.543V24.93L39.316,25.02z"/> + <path fill="#4376EE" d="M39.291,25.01c0.27,0,0.27-0.271,0.18-0.453L24.36,9.553c-0.447-0.451-0.625-0.361-0.894,0L8.535,24.559 + c-0.089,0.09-0.089,0.362,0.089,0.362h8.941v12.293c0,0.271,0.179,0.451,0.358,0.451h11.892c0.356,0,0.445-0.181,0.445-0.543 + V24.919L39.291,25.01z"/> + <path fill="#4477EE" d="M39.266,24.999c0.27,0,0.27-0.271,0.18-0.451L24.359,9.566c-0.446-0.45-0.625-0.361-0.893,0L8.562,24.549 + c-0.089,0.09-0.089,0.362,0.088,0.362h8.925v12.272c0,0.271,0.179,0.45,0.358,0.45h11.87c0.356,0,0.445-0.182,0.445-0.542V24.911 + L39.266,24.999z"/> + <path fill="#4578EF" d="M39.236,24.991c0.27,0,0.27-0.271,0.18-0.451L24.359,9.582c-0.446-0.45-0.624-0.36-0.891,0L8.589,24.54 + C8.5,24.63,8.5,24.9,8.677,24.9h8.91v12.254c0,0.271,0.179,0.451,0.357,0.451h11.85c0.354,0,0.442-0.182,0.442-0.541V24.9 + L39.236,24.991z"/> + <path fill="#4679EF" d="M39.211,24.98c0.27,0,0.27-0.271,0.18-0.449L24.358,9.597c-0.445-0.449-0.622-0.36-0.889,0L8.616,24.531 + c-0.089,0.089-0.089,0.359,0.088,0.359h8.894v12.233c0,0.271,0.179,0.451,0.356,0.451h11.83c0.354,0,0.442-0.183,0.442-0.541 + V24.891L39.211,24.98z"/> + <path fill="#477AF0" d="M39.186,24.973c0.269,0,0.269-0.271,0.178-0.451L24.357,9.61c-0.444-0.448-0.621-0.359-0.888,0 + L8.643,24.521c-0.088,0.09-0.088,0.358,0.088,0.358h8.878v12.218c0,0.271,0.179,0.448,0.356,0.448h11.809 + c0.354,0,0.441-0.182,0.441-0.54V24.882L39.186,24.973z"/> + <path fill="#487BF0" d="M39.158,24.962c0.267,0,0.267-0.271,0.178-0.448L24.356,9.625c-0.443-0.447-0.62-0.359-0.886,0 + L8.669,24.514c-0.088,0.09-0.088,0.358,0.088,0.358h8.863v12.196c0,0.271,0.178,0.449,0.355,0.449h11.789 + c0.354,0,0.44-0.181,0.44-0.539V24.872L39.158,24.962z"/> + <path fill="#497CF1" d="M39.132,24.952c0.267,0,0.267-0.269,0.179-0.447L24.356,9.64c-0.442-0.446-0.619-0.358-0.884,0 + L8.697,24.504c-0.088,0.09-0.088,0.357,0.087,0.357h8.847V37.04c0,0.271,0.178,0.449,0.355,0.449h11.768 + c0.354,0,0.439-0.181,0.439-0.539V24.861L39.132,24.952z"/> + <path fill="#4A7DF1" d="M39.104,24.943c0.269,0,0.269-0.271,0.18-0.448L24.355,9.655c-0.442-0.446-0.618-0.358-0.883,0 + L8.724,24.496c-0.088,0.089-0.088,0.357,0.087,0.357h8.832v12.16c0,0.268,0.177,0.445,0.354,0.445h11.747 + c0.354,0,0.439-0.182,0.439-0.537V24.854L39.104,24.943z"/> + <path fill="#4B7EF2" d="M39.078,24.934c0.265,0,0.265-0.269,0.177-0.447L24.355,9.67c-0.441-0.445-0.617-0.357-0.881,0 + L8.751,24.486c-0.088,0.091-0.088,0.357,0.087,0.357h8.816v12.14c0,0.27,0.177,0.447,0.354,0.447h11.727 + c0.354,0,0.438-0.18,0.438-0.535V24.844L39.078,24.934z"/> + <path fill="#4C7FF2" d="M39.052,24.924c0.265,0,0.265-0.27,0.177-0.446L24.354,9.684c-0.44-0.444-0.616-0.356-0.879,0 + L8.777,24.478c-0.088,0.09-0.088,0.355,0.087,0.355h8.8v12.121c0,0.269,0.177,0.444,0.353,0.444h11.706 + c0.354,0,0.438-0.178,0.438-0.534V24.833L39.052,24.924z"/> + <path fill="#4D80F3" d="M39.023,24.913c0.266,0,0.266-0.269,0.178-0.444L24.354,9.699c-0.439-0.444-0.615-0.356-0.878,0 + L8.804,24.469c-0.087,0.09-0.087,0.356,0.087,0.356h8.785v12.101c0,0.268,0.177,0.444,0.353,0.444h11.684 + c0.352,0,0.438-0.179,0.438-0.533V24.825L39.023,24.913z"/> + <path fill="#4E81F3" d="M38.998,24.904c0.266,0,0.266-0.269,0.176-0.445L24.353,9.712c-0.439-0.443-0.614-0.355-0.877,0 + L8.832,24.459c-0.088,0.089-0.088,0.355,0.086,0.355h8.77v12.082c0,0.269,0.176,0.443,0.352,0.443h11.664 + c0.351,0,0.438-0.179,0.438-0.531V24.814L38.998,24.904z"/> + <path fill="#4F82F4" d="M38.973,24.896c0.264,0,0.264-0.27,0.176-0.445L24.353,9.728c-0.438-0.442-0.613-0.355-0.875,0 + L8.858,24.451c-0.087,0.089-0.087,0.355,0.087,0.355h8.754V36.87c0,0.266,0.176,0.442,0.351,0.442h11.644 + c0.352,0,0.438-0.18,0.438-0.533V24.807L38.973,24.896z"/> + <path fill="#5083F4" d="M38.943,24.886c0.264,0,0.264-0.268,0.177-0.444l-14.769-14.7c-0.437-0.441-0.611-0.354-0.874,0 + l-14.593,14.7c-0.087,0.09-0.087,0.354,0.086,0.354h8.738v12.043c0,0.267,0.176,0.443,0.351,0.443h11.623 + c0.351,0,0.438-0.179,0.438-0.531V24.796L38.943,24.886z"/> + <path fill="#5184F5" d="M38.919,24.876c0.263,0,0.263-0.267,0.174-0.443L24.351,9.756c-0.437-0.441-0.61-0.354-0.872,0 + L8.912,24.434c-0.087,0.089-0.087,0.354,0.086,0.354h8.723v12.022c0,0.267,0.175,0.44,0.35,0.44h11.602 + c0.349,0,0.437-0.178,0.437-0.528V24.788L38.919,24.876z"/> + <path fill="#5285F5" d="M38.893,24.866c0.262,0,0.262-0.267,0.176-0.441L24.351,9.771c-0.436-0.44-0.609-0.353-0.871,0 + L8.939,24.425c-0.087,0.089-0.087,0.353,0.086,0.353h8.707v12.009c0,0.265,0.175,0.438,0.349,0.438h11.581 + c0.348,0,0.436-0.177,0.436-0.529V24.777L38.893,24.866z"/> + <path fill="#5386F6" d="M38.863,24.855c0.263,0,0.263-0.266,0.176-0.44L24.35,9.786c-0.435-0.439-0.608-0.353-0.869,0 + L8.966,24.415C8.88,24.504,8.88,24.77,9.052,24.77h8.691v11.983c0,0.267,0.175,0.44,0.349,0.44h11.561 + c0.349,0,0.435-0.176,0.435-0.528V24.77L38.863,24.855z"/> + <path fill="#5487F6" d="M38.839,24.848c0.261,0,0.261-0.267,0.175-0.439L24.349,9.801c-0.434-0.439-0.607-0.352-0.867,0 + L8.993,24.407c-0.087,0.089-0.087,0.353,0.086,0.353h8.676v11.967c0,0.267,0.174,0.44,0.348,0.44h11.54 + c0.349,0,0.435-0.178,0.435-0.528v-11.88L38.839,24.848z"/> + <path fill="#5588F7" d="M38.812,24.837c0.262,0,0.262-0.264,0.174-0.439L24.349,9.814c-0.433-0.438-0.606-0.352-0.866,0 + L9.02,24.397c-0.086,0.088-0.086,0.352,0.086,0.352h8.66v11.949c0,0.262,0.174,0.438,0.347,0.438h11.519 + c0.347,0,0.433-0.177,0.433-0.528V24.749L38.812,24.837z"/> + <path fill="#5689F7" d="M38.785,24.829c0.26,0,0.26-0.265,0.173-0.439L24.348,9.83c-0.432-0.438-0.604-0.351-0.864,0L9.047,24.389 + c-0.086,0.088-0.086,0.353,0.085,0.353h8.645V36.67c0,0.264,0.174,0.438,0.347,0.438h11.498c0.345,0,0.431-0.176,0.431-0.524 + v-11.84L38.785,24.829z"/> + <path fill="#578AF8" d="M38.759,24.818c0.261,0,0.261-0.264,0.175-0.438L24.347,9.844c-0.432-0.437-0.604-0.35-0.863,0 + L9.074,24.379c-0.086,0.088-0.086,0.352,0.085,0.352h8.629v11.91c0,0.262,0.173,0.438,0.346,0.438h11.476 + c0.348,0,0.434-0.177,0.434-0.524V24.73L38.759,24.818z"/> + <path fill="#588BF8" d="M38.73,24.809c0.258,0,0.258-0.263,0.172-0.438L24.347,9.858c-0.431-0.436-0.603-0.35-0.861,0 + L9.101,24.372c-0.086,0.088-0.086,0.351,0.085,0.351H17.8v11.892c0,0.262,0.173,0.438,0.345,0.438h11.458 + c0.344,0,0.428-0.177,0.428-0.524V24.721L38.73,24.809z"/> + <path fill="#598CF9" d="M38.705,24.799c0.259,0,0.259-0.262,0.173-0.438L24.346,9.873c-0.43-0.435-0.602-0.349-0.86,0 + L9.128,24.361c-0.086,0.088-0.086,0.351,0.085,0.351h8.598v11.869c0,0.263,0.173,0.438,0.345,0.438h11.436 + c0.344,0,0.43-0.178,0.43-0.524V24.712L38.705,24.799z"/> + <path fill="#5A8DF9" d="M38.68,24.79c0.258,0,0.258-0.265,0.172-0.438L24.345,9.888c-0.429-0.435-0.6-0.349-0.858,0L9.155,24.353 + c-0.086,0.088-0.086,0.35,0.085,0.35h8.583v11.852c0,0.262,0.172,0.438,0.344,0.438h11.414c0.343,0,0.428-0.177,0.428-0.524 + V24.702L38.68,24.79z"/> + <path fill="#5B8EFA" d="M38.65,24.779c0.259,0,0.259-0.262,0.173-0.437L24.345,9.902c-0.428-0.434-0.599-0.348-0.856,0 + L9.182,24.345c-0.085,0.087-0.085,0.348,0.085,0.348h8.567v11.832c0,0.262,0.172,0.438,0.343,0.438h11.396 + c0.342,0,0.427-0.176,0.427-0.523V24.691L38.65,24.779z"/> + <path fill="#5C8FFA" d="M38.626,24.771c0.256,0,0.256-0.263,0.171-0.437L24.344,9.917c-0.428-0.433-0.599-0.348-0.855,0 + L9.209,24.335c-0.085,0.087-0.085,0.349,0.084,0.349h8.552v11.812c0,0.262,0.172,0.438,0.343,0.438h11.375 + c0.342,0,0.426-0.176,0.426-0.521V24.684L38.626,24.771z"/> + <path fill="#5D90FB" d="M38.6,24.761c0.258,0,0.258-0.261,0.172-0.434L24.344,9.932c-0.427-0.432-0.598-0.347-0.854,0 + L9.235,24.327c-0.085,0.087-0.085,0.347,0.084,0.347h8.536v11.794c0,0.261,0.172,0.435,0.343,0.435h11.353 + c0.342,0,0.428-0.174,0.428-0.521V24.674L38.6,24.761z"/> + <path fill="#5E91FB" d="M38.57,24.751c0.258,0,0.258-0.26,0.173-0.434l-14.4-14.372c-0.426-0.432-0.596-0.346-0.852,0 + L9.263,24.317c-0.085,0.087-0.085,0.346,0.084,0.346h8.52v11.776c0,0.259,0.171,0.433,0.342,0.433h11.332 + c0.34,0,0.424-0.174,0.424-0.521V24.663L38.57,24.751z"/> + <path fill="#5F92FC" d="M38.546,24.743c0.255,0,0.255-0.262,0.17-0.435L24.342,9.96c-0.425-0.431-0.595-0.346-0.85,0L9.29,24.309 + c-0.085,0.087-0.085,0.347,0.084,0.347h8.504v11.756c0,0.258,0.171,0.434,0.341,0.434h11.311c0.342,0,0.426-0.176,0.426-0.521 + V24.654L38.546,24.743z"/> + <path fill="#6093FC" d="M38.521,24.732c0.254,0,0.254-0.26,0.17-0.435L24.342,9.976c-0.425-0.43-0.594-0.345-0.849,0L9.316,24.3 + c-0.085,0.087-0.085,0.347,0.084,0.347h8.489v11.735c0,0.259,0.171,0.433,0.341,0.433h11.292c0.34,0,0.424-0.174,0.424-0.521 + V24.646L38.521,24.732z"/> + <path fill="#6194FD" d="M38.492,24.723c0.255,0,0.255-0.259,0.17-0.432L24.341,9.99c-0.424-0.43-0.593-0.345-0.847,0L9.343,24.291 + c-0.084,0.086-0.084,0.345,0.084,0.345H17.9v11.718c0,0.258,0.17,0.433,0.34,0.433h11.27c0.34,0,0.424-0.175,0.424-0.519V24.636 + L38.492,24.723z"/> + <path fill="#6295FD" d="M38.466,24.712c0.255,0,0.255-0.258,0.169-0.43L24.34,10.004c-0.423-0.429-0.592-0.344-0.846,0 + L9.37,24.283c-0.084,0.086-0.084,0.345,0.084,0.345h8.458v11.697c0,0.258,0.17,0.43,0.339,0.43H29.5 + c0.338,0,0.422-0.172,0.422-0.516V24.626L38.466,24.712z"/> + <path fill="#6396FE" d="M38.438,24.704c0.254,0,0.254-0.259,0.17-0.431L24.34,10.019c-0.422-0.428-0.591-0.343-0.844,0 + L9.397,24.273c-0.084,0.086-0.084,0.345,0.083,0.345h8.442v11.678c0,0.259,0.17,0.431,0.339,0.431H29.49 + c0.338,0,0.422-0.172,0.422-0.517V24.618L38.438,24.704z"/> + <path fill="#6497FE" d="M38.413,24.693c0.252,0,0.252-0.257,0.168-0.429l-14.242-14.23c-0.422-0.427-0.59-0.343-0.843,0 + L9.424,24.265c-0.084,0.086-0.084,0.342,0.083,0.342h8.427v11.66c0,0.258,0.169,0.43,0.338,0.43H29.48 + c0.336,0,0.42-0.172,0.42-0.516V24.607L38.413,24.693z"/> + <path fill="#6598FF" d="M38.387,24.686c0.254,0,0.254-0.259,0.17-0.43L24.338,10.047c-0.42-0.426-0.588-0.342-0.841,0 + L9.451,24.255c-0.084,0.086-0.084,0.343,0.083,0.343h8.411V36.24c0,0.256,0.169,0.428,0.337,0.428h11.187 + c0.338,0,0.42-0.172,0.42-0.516V24.6L38.387,24.686z"/> + <path fill="#6699FF" d="M38.357,24.675c0.252,0,0.252-0.257,0.168-0.428L24.338,10.062c-0.42-0.426-0.587-0.342-0.839,0 + L9.478,24.247c-0.084,0.086-0.084,0.342,0.083,0.342h8.396V36.21c0,0.256,0.169,0.429,0.337,0.429h11.167 + c0.335,0,0.418-0.173,0.418-0.515V24.589L38.357,24.675z"/> + </g> + + <linearGradient id="XMLID_20_" gradientUnits="userSpaceOnUse" x1="-1371.771" y1="-727.9985" x2="-1398.6362" y2="-727.9985" gradientTransform="matrix(4.371139e-08 -1 -1 -4.371139e-08 -703.999 -1361.9985)"> + <stop offset="0" style="stop-color:#FFFFFF"/> + <stop offset="1" style="stop-color:#6699FF"/> + </linearGradient> + <path fill="url(#XMLID_20_)" d="M38.357,24.675c0.252,0,0.252-0.257,0.168-0.428L24.338,10.062c-0.42-0.426-0.587-0.342-0.839,0 + L9.478,24.247c-0.084,0.086-0.084,0.342,0.083,0.342h8.396V36.21c0,0.256,0.169,0.429,0.337,0.429h11.167 + c0.335,0,0.418-0.173,0.418-0.515V24.589L38.357,24.675z"/> +</g> +<g id="crop_x0020_marks"> + <path fill="none" d="M48-0.058v48H0v-48H48z"/> +</g> +</svg> diff --git a/doc/help/xslt/images/colorsvg/warning.svg b/doc/help/xslt/images/colorsvg/warning.svg new file mode 100644 index 00000000..ae0081d8 --- /dev/null +++ b/doc/help/xslt/images/colorsvg/warning.svg @@ -0,0 +1,232 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 12.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 51448) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [ + <!ENTITY ns_svg "http://www.w3.org/2000/svg"> + <!ENTITY ns_xlink "http://www.w3.org/1999/xlink"> +]> +<svg version="1.1" id="Layer_1" xmlns="&ns_svg;" xmlns:xlink="&ns_xlink;" width="48" height="48" viewBox="0 0 48 48" + overflow="visible" enable-background="new 0 0 48 48" xml:space="preserve"> +<g> + <path stroke="#FFFFFF" stroke-width="7.9139" stroke-linejoin="round" d="M16.4,42.3L5.7,31.6V16.4L16.4,5.7h15.2l10.7,10.7v15.2 + L31.6,42.3H16.4z"/> + <g> + <path fill="#990000" d="M16.4,42.3L5.7,31.6V16.4L16.4,5.7h15.2l10.7,10.7v15.2L31.6,42.3H16.4z"/> + <polygon fill="#9A0000" points="16.415,42.266 5.736,31.586 5.736,16.416 16.415,5.737 31.585,5.737 42.266,16.416 42.266,31.586 + 31.585,42.266 "/> + <polygon fill="#9B0000" points="16.429,42.23 5.771,31.572 5.771,16.432 16.429,5.774 31.57,5.774 42.229,16.432 42.229,31.572 + 31.57,42.23 "/> + <polygon fill="#9C0000" points="16.444,42.195 5.806,31.559 5.806,16.447 16.444,5.81 31.557,5.81 42.191,16.447 42.191,31.559 + 31.557,42.195 "/> + <polygon fill="#9D0000" points="16.459,42.162 5.842,31.545 5.842,16.464 16.459,5.847 31.54,5.847 42.157,16.464 42.157,31.545 + 31.54,42.162 "/> + <polygon fill="#9E0000" points="16.473,42.128 5.877,31.531 5.877,16.479 16.473,5.884 31.525,5.884 42.122,16.479 42.122,31.531 + 31.525,42.128 "/> + <polygon fill="#9F0000" points="16.488,42.094 5.914,31.52 5.914,16.496 16.488,5.921 31.512,5.921 42.087,16.496 42.087,31.52 + 31.512,42.094 "/> + <polygon fill="#A00000" points="16.503,42.061 5.949,31.505 5.949,16.511 16.503,5.958 31.496,5.958 42.051,16.511 42.051,31.505 + 31.496,42.061 "/> + <polygon fill="#A10000" points="16.518,42.025 5.984,31.491 5.984,16.528 16.518,5.994 31.48,5.994 42.016,16.528 42.016,31.491 + 31.48,42.025 "/> + <polygon fill="#A20000" points="16.533,41.991 6.02,31.479 6.02,16.544 16.533,6.031 31.467,6.031 41.98,16.544 41.98,31.479 + 31.467,41.991 "/> + <polygon fill="#A30000" points="16.547,41.956 6.055,31.464 6.055,16.56 16.547,6.067 31.452,6.067 41.943,16.56 41.943,31.464 + 31.452,41.956 "/> + <polygon fill="#A40000" points="16.562,41.923 6.091,31.451 6.091,16.576 16.562,6.104 31.438,6.104 41.909,16.576 41.909,31.451 + 31.438,41.923 "/> + <polygon fill="#A50000" points="16.577,41.889 6.126,31.438 6.126,16.592 16.577,6.141 31.423,6.141 41.873,16.592 41.873,31.438 + 31.423,41.889 "/> + <polygon fill="#A60000" points="16.592,41.854 6.162,31.424 6.162,16.607 16.592,6.177 31.407,6.177 41.838,16.607 41.838,31.424 + 31.407,41.854 "/> + <polygon fill="#A70000" points="16.606,41.818 6.197,31.41 6.197,16.624 16.606,6.214 31.395,6.214 41.803,16.624 41.803,31.41 + 31.395,41.818 "/> + <polygon fill="#A80000" points="16.622,41.785 6.233,31.396 6.233,16.64 16.622,6.251 31.379,6.251 41.768,16.64 41.768,31.396 + 31.379,41.785 "/> + <polygon fill="#A90000" points="16.636,41.751 6.269,31.383 6.269,16.655 16.636,6.288 31.363,6.288 41.73,16.655 41.73,31.383 + 31.363,41.751 "/> + <polygon fill="#AA0000" points="16.65,41.716 6.304,31.369 6.304,16.671 16.65,6.325 31.35,6.325 41.695,16.671 41.695,31.369 + 31.35,41.716 "/> + <polygon fill="#AB0000" points="16.666,41.682 6.339,31.355 6.339,16.688 16.666,6.361 31.334,6.361 41.66,16.688 41.66,31.355 + 31.334,41.682 "/> + <polygon fill="#AC0000" points="16.681,41.648 6.375,31.343 6.375,16.704 16.681,6.398 31.318,6.398 41.625,16.704 41.625,31.343 + 31.318,41.648 "/> + <polygon fill="#AD0000" points="16.695,41.613 6.411,31.329 6.411,16.719 16.695,6.435 31.305,6.435 41.589,16.719 41.589,31.329 + 31.305,41.613 "/> + <polygon fill="#AE0000" points="16.709,41.579 6.446,31.314 6.446,16.735 16.709,6.472 31.29,6.472 41.555,16.735 41.555,31.314 + 31.29,41.579 "/> + <polygon fill="#AF0000" points="16.725,41.545 6.482,31.302 6.482,16.751 16.725,6.509 31.273,6.509 41.52,16.751 41.52,31.302 + 31.273,41.545 "/> + <polygon fill="#B00000" points="16.739,41.511 6.518,31.288 6.518,16.767 16.739,6.545 31.262,6.545 41.482,16.767 41.482,31.288 + 31.262,41.511 "/> + <polygon fill="#B10000" points="16.754,41.477 6.553,31.273 6.553,16.783 16.754,6.582 31.245,6.582 41.447,16.783 41.447,31.273 + 31.245,41.477 "/> + <polygon fill="#B20000" points="16.769,41.441 6.588,31.261 6.588,16.799 16.769,6.619 31.23,6.619 41.411,16.799 41.411,31.261 + 31.23,41.441 "/> + <polygon fill="#B30000" points="16.783,41.407 6.624,31.248 6.624,16.815 16.783,6.656 31.216,6.656 41.376,16.815 41.376,31.248 + 31.216,41.407 "/> + <polygon fill="#B40000" points="16.799,41.373 6.66,31.234 6.66,16.832 16.799,6.693 31.202,6.693 41.341,16.832 41.341,31.234 + 31.202,41.373 "/> + <polygon fill="#B50000" points="16.813,41.339 6.695,31.221 6.695,16.847 16.813,6.729 31.188,6.729 41.305,16.847 41.305,31.221 + 31.188,41.339 "/> + <polygon fill="#B60000" points="16.828,41.305 6.73,31.207 6.73,16.863 16.828,6.765 31.172,6.765 41.27,16.863 41.27,31.207 + 31.172,41.305 "/> + <polygon fill="#B70000" points="16.843,41.27 6.766,31.193 6.766,16.879 16.843,6.802 31.157,6.802 41.232,16.879 41.232,31.193 + 31.157,41.27 "/> + <polygon fill="#B80000" points="16.858,41.236 6.802,31.182 6.802,16.896 16.858,6.839 31.143,6.839 41.198,16.896 41.198,31.182 + 31.143,41.236 "/> + <polygon fill="#B90000" points="16.872,41.202 6.837,31.166 6.837,16.911 16.872,6.876 31.128,6.876 41.163,16.911 41.163,31.166 + 31.128,41.202 "/> + <polygon fill="#BA0000" points="16.887,41.167 6.873,31.152 6.873,16.927 16.887,6.913 31.111,6.913 41.127,16.927 41.127,31.152 + 31.111,41.167 "/> + <polygon fill="#BB0000" points="16.902,41.133 6.908,31.139 6.908,16.943 16.902,6.949 31.098,6.949 41.092,16.943 41.092,31.139 + 31.098,41.133 "/> + <polygon fill="#BC0000" points="16.917,41.1 6.944,31.126 6.944,16.959 16.917,6.986 31.083,6.986 41.057,16.959 41.057,31.126 + 31.083,41.1 "/> + <polygon fill="#BD0000" points="16.931,41.064 6.979,31.111 6.979,16.975 16.931,7.023 31.068,7.023 41.021,16.975 41.021,31.111 + 31.068,41.064 "/> + <polygon fill="#BE0000" points="16.946,41.029 7.015,31.1 7.015,16.991 16.946,7.06 31.055,7.06 40.984,16.991 40.984,31.1 + 31.055,41.029 "/> + <polygon fill="#BF0000" points="16.96,40.995 7.051,31.085 7.051,17.007 16.96,7.097 31.039,7.097 40.949,17.007 40.949,31.085 + 31.039,40.995 "/> + <polygon fill="#C00000" points="16.976,40.962 7.086,31.072 7.086,17.023 16.976,7.133 31.023,7.133 40.914,17.023 40.914,31.072 + 31.023,40.962 "/> + <polygon fill="#C10000" points="16.99,40.927 7.121,31.059 7.121,17.039 16.99,7.17 31.01,7.17 40.878,17.039 40.878,31.059 + 31.01,40.927 "/> + <polygon fill="#C20000" points="17.004,40.893 7.157,31.044 7.157,17.054 17.004,7.207 30.994,7.207 40.843,17.054 40.843,31.044 + 30.994,40.893 "/> + <polygon fill="#C30000" points="17.02,40.857 7.192,31.031 7.192,17.07 17.02,7.244 30.979,7.244 40.809,17.07 40.809,31.031 + 30.979,40.857 "/> + <polygon fill="#C40000" points="17.035,40.824 7.229,31.018 7.229,17.086 17.035,7.281 30.966,7.281 40.771,17.086 40.771,31.018 + 30.966,40.824 "/> + <polygon fill="#C50000" points="17.049,40.789 7.263,31.004 7.263,17.103 17.049,7.317 30.95,7.317 40.736,17.103 40.736,31.004 + 30.95,40.789 "/> + <polygon fill="#C60000" points="17.064,40.755 7.299,30.99 7.299,17.119 17.064,7.354 30.936,7.354 40.701,17.119 40.701,30.99 + 30.936,40.755 "/> + <polygon fill="#C70000" points="17.079,40.721 7.334,30.977 7.334,17.135 17.079,7.391 30.921,7.391 40.665,17.135 40.665,30.977 + 30.921,40.721 "/> + <polygon fill="#C80000" points="17.094,40.688 7.371,30.964 7.371,17.151 17.094,7.428 30.906,7.428 40.63,17.151 40.63,30.964 + 30.906,40.688 "/> + <polygon fill="#C90000" points="17.108,40.652 7.406,30.949 7.406,17.167 17.108,7.464 30.893,7.464 40.594,17.167 40.594,30.949 + 30.893,40.652 "/> + <polygon fill="#CA0000" points="17.123,40.618 7.441,30.936 7.441,17.182 17.123,7.5 30.877,7.5 40.559,17.182 40.559,30.936 + 30.877,40.618 "/> + <polygon fill="#CB0000" points="17.138,40.584 7.477,30.923 7.477,17.199 17.138,7.537 30.861,7.537 40.523,17.199 40.523,30.923 + 30.861,40.584 "/> + <polygon fill="#CC0000" points="17.153,40.55 7.513,30.909 7.513,17.215 17.153,7.574 30.848,7.574 40.486,17.215 40.486,30.909 + 30.848,40.55 "/> + <polygon fill="#CC0000" points="17.167,40.516 7.548,30.896 7.548,17.23 17.167,7.611 30.832,7.611 40.452,17.23 40.452,30.896 + 30.832,40.516 "/> + <polygon fill="#CD0000" points="17.182,40.48 7.583,30.882 7.583,17.246 17.182,7.647 30.816,7.647 40.416,17.246 40.416,30.882 + 30.816,40.48 "/> + <polygon fill="#CE0000" points="17.197,40.445 7.619,30.868 7.619,17.262 17.197,7.685 30.803,7.685 40.381,17.262 40.381,30.868 + 30.803,40.445 "/> + <polygon fill="#CF0000" points="17.211,40.412 7.654,30.855 7.654,17.278 17.211,7.721 30.788,7.721 40.346,17.278 40.346,30.855 + 30.788,40.412 "/> + <polygon fill="#D00000" points="17.226,40.378 7.69,30.842 7.69,17.294 17.226,7.758 30.773,7.758 40.311,17.294 40.311,30.842 + 30.773,40.378 "/> + <polygon fill="#D10000" points="17.241,40.344 7.726,30.828 7.726,17.311 17.241,7.794 30.759,7.794 40.273,17.311 40.273,30.828 + 30.759,40.344 "/> + <polygon fill="#D20000" points="17.256,40.311 7.761,30.814 7.761,17.326 17.256,7.831 30.744,7.831 40.238,17.326 40.238,30.814 + 30.744,40.311 "/> + <polygon fill="#D30000" points="17.271,40.273 7.796,30.801 7.796,17.342 17.271,7.868 30.729,7.868 40.203,17.342 40.203,30.801 + 30.729,40.273 "/> + <polygon fill="#D40000" points="17.285,40.24 7.832,30.787 7.832,17.358 17.285,7.905 30.715,7.905 40.168,17.358 40.168,30.787 + 30.715,40.24 "/> + <polygon fill="#D50000" points="17.3,40.206 7.868,30.773 7.868,17.374 17.3,7.941 30.7,7.941 40.132,17.374 40.132,30.773 + 30.7,40.206 "/> + <polygon fill="#D60000" points="17.315,40.172 7.903,30.761 7.903,17.39 17.315,7.979 30.686,7.979 40.098,17.39 40.098,30.761 + 30.686,40.172 "/> + <polygon fill="#D70000" points="17.33,40.139 7.938,30.747 7.938,17.406 17.33,8.015 30.67,8.015 40.062,17.406 40.062,30.747 + 30.67,40.139 "/> + <polygon fill="#D80000" points="17.344,40.104 7.974,30.732 7.974,17.422 17.344,8.052 30.654,8.052 40.025,17.422 40.025,30.732 + 30.654,40.104 "/> + <polygon fill="#D90000" points="17.359,40.068 8.01,30.721 8.01,17.438 17.359,8.089 30.641,8.089 39.99,17.438 39.99,30.721 + 30.641,40.068 "/> + <polygon fill="#DA0000" points="17.374,40.034 8.045,30.706 8.045,17.454 17.374,8.125 30.626,8.125 39.954,17.454 39.954,30.706 + 30.626,40.034 "/> + <polygon fill="#DB0000" points="17.389,40 8.081,30.691 8.081,17.47 17.389,8.162 30.611,8.162 39.919,17.47 39.919,30.691 + 30.611,40 "/> + <polygon fill="#DC0000" points="17.403,39.966 8.116,30.68 8.116,17.486 17.403,8.199 30.598,8.199 39.884,17.486 39.884,30.68 + 30.598,39.966 "/> + <polygon fill="#DD0000" points="17.418,39.932 8.152,30.665 8.152,17.502 17.418,8.235 30.582,8.235 39.848,17.502 39.848,30.665 + 30.582,39.932 "/> + <polygon fill="#DE0000" points="17.433,39.896 8.188,30.652 8.188,17.518 17.433,8.272 30.566,8.272 39.812,17.518 39.812,30.652 + 30.566,39.896 "/> + <polygon fill="#DF0000" points="17.448,39.863 8.223,30.639 8.223,17.534 17.448,8.309 30.553,8.309 39.775,17.534 39.775,30.639 + 30.553,39.863 "/> + <polygon fill="#E00000" points="17.462,39.828 8.258,30.625 8.258,17.55 17.462,8.346 30.537,8.346 39.741,17.55 39.741,30.625 + 30.537,39.828 "/> + <polygon fill="#E10000" points="17.477,39.794 8.294,30.611 8.294,17.565 17.477,8.383 30.521,8.383 39.706,17.565 39.706,30.611 + 30.521,39.794 "/> + <polygon fill="#E20000" points="17.492,39.76 8.33,30.598 8.33,17.582 17.492,8.419 30.508,8.419 39.67,17.582 39.67,30.598 + 30.508,39.76 "/> + <polygon fill="#E30000" points="17.507,39.727 8.365,30.584 8.365,17.598 17.507,8.456 30.493,8.456 39.635,17.598 39.635,30.584 + 30.493,39.727 "/> + <polygon fill="#E40000" points="17.521,39.691 8.4,30.57 8.4,17.614 17.521,8.493 30.479,8.493 39.6,17.614 39.6,30.57 + 30.479,39.691 "/> + <polygon fill="#E50000" points="17.536,39.657 8.436,30.559 8.436,17.63 17.536,8.529 30.464,8.529 39.562,17.63 39.562,30.559 + 30.464,39.657 "/> + <polygon fill="#E60000" points="17.551,39.623 8.472,30.544 8.472,17.646 17.551,8.566 30.449,8.566 39.527,17.646 39.527,30.544 + 30.449,39.623 "/> + <polygon fill="#E70000" points="17.566,39.589 8.507,30.529 8.507,17.662 17.566,8.603 30.436,8.603 39.492,17.662 39.492,30.529 + 30.436,39.589 "/> + <polygon fill="#E80000" points="17.581,39.555 8.542,30.518 8.542,17.678 17.581,8.64 30.419,8.64 39.457,17.678 39.457,30.518 + 30.419,39.555 "/> + <polygon fill="#E90000" points="17.595,39.52 8.578,30.503 8.578,17.693 17.595,8.676 30.404,8.676 39.422,17.693 39.422,30.503 + 30.404,39.52 "/> + <polygon fill="#EA0000" points="17.61,39.484 8.614,30.489 8.614,17.709 17.61,8.713 30.391,8.713 39.387,17.709 39.387,30.489 + 30.391,39.484 "/> + <polygon fill="#EB0000" points="17.625,39.451 8.649,30.477 8.649,17.726 17.625,8.75 30.375,8.75 39.352,17.726 39.352,30.477 + 30.375,39.451 "/> + <polygon fill="#EC0000" points="17.64,39.417 8.685,30.462 8.685,17.742 17.64,8.787 30.359,8.787 39.314,17.742 39.314,30.462 + 30.359,39.417 "/> + <polygon fill="#ED0000" points="17.654,39.383 8.72,30.449 8.72,17.757 17.654,8.823 30.346,8.823 39.279,17.757 39.279,30.449 + 30.346,39.383 "/> + <polygon fill="#EE0000" points="17.669,39.35 8.756,30.436 8.756,17.773 17.669,8.86 30.331,8.86 39.244,17.773 39.244,30.436 + 30.331,39.35 "/> + <polygon fill="#EF0000" points="17.684,39.312 8.792,30.422 8.792,17.79 17.684,8.897 30.316,8.897 39.208,17.79 39.208,30.422 + 30.316,39.312 "/> + <polygon fill="#F00000" points="17.699,39.279 8.827,30.408 8.827,17.805 17.699,8.934 30.302,8.934 39.173,17.805 39.173,30.408 + 30.302,39.279 "/> + <polygon fill="#F10000" points="17.713,39.245 8.862,30.395 8.862,17.821 17.713,8.971 30.286,8.971 39.137,17.821 39.137,30.395 + 30.286,39.245 "/> + <polygon fill="#F20000" points="17.728,39.211 8.898,30.381 8.898,17.837 17.728,9.007 30.271,9.007 39.102,17.837 39.102,30.381 + 30.271,39.211 "/> + <polygon fill="#F30000" points="17.743,39.177 8.934,30.367 8.934,17.853 17.743,9.044 30.257,9.044 39.066,17.853 39.066,30.367 + 30.257,39.177 "/> + <polygon fill="#F40000" points="17.758,39.143 8.969,30.354 8.969,17.869 17.758,9.081 30.242,9.081 39.029,17.869 39.029,30.354 + 30.242,39.143 "/> + <polygon fill="#F50000" points="17.772,39.107 9.004,30.341 9.004,17.885 17.772,9.117 30.229,9.117 38.995,17.885 38.995,30.341 + 30.229,39.107 "/> + <polygon fill="#F60000" points="17.787,39.073 9.04,30.327 9.04,17.901 17.787,9.154 30.213,9.154 38.959,17.901 38.959,30.327 + 30.213,39.073 "/> + <polygon fill="#F70000" points="17.802,39.039 9.076,30.312 9.076,17.917 17.802,9.191 30.198,9.191 38.924,17.917 38.924,30.312 + 30.198,39.039 "/> + <polygon fill="#F80000" points="17.816,39.005 9.111,30.3 9.111,17.933 17.816,9.228 30.184,9.228 38.889,17.933 38.889,30.3 + 30.184,39.005 "/> + <polygon fill="#F90000" points="17.832,38.971 9.146,30.286 9.146,17.949 17.832,9.265 30.169,9.265 38.854,17.949 38.854,30.286 + 30.169,38.971 "/> + <polygon fill="#FA0000" points="17.846,38.938 9.182,30.271 9.182,17.965 17.846,9.301 30.154,9.301 38.816,17.965 38.816,30.271 + 30.154,38.938 "/> + <polygon fill="#FB0000" points="17.861,38.902 9.218,30.259 9.218,17.981 17.861,9.338 30.139,9.338 38.782,17.981 38.782,30.259 + 30.139,38.902 "/> + <polygon fill="#FC0000" points="17.875,38.867 9.253,30.246 9.253,17.997 17.875,9.375 30.124,9.375 38.746,17.997 38.746,30.246 + 30.124,38.867 "/> + <polygon fill="#FD0000" points="17.891,38.833 9.289,30.232 9.289,18.013 17.891,9.411 30.109,9.411 38.711,18.013 38.711,30.232 + 30.109,38.833 "/> + <polygon fill="#FE0000" points="17.905,38.799 9.324,30.219 9.324,18.029 17.905,9.448 30.096,9.448 38.675,18.029 38.675,30.219 + 30.096,38.799 "/> + <path fill="#FF0000" d="M17.92,38.766l-8.56-8.561v-12.16l8.56-8.56h12.16l8.561,8.56v12.16l-8.561,8.561H17.92z"/> + </g> + + <linearGradient id="XMLID_46_" gradientUnits="userSpaceOnUse" x1="582" y1="-986.6099" x2="582" y2="-1015.8911" gradientTransform="matrix(1 0 0 -1 -558 -977)"> + <stop offset="0" style="stop-color:#FFFFFF"/> + <stop offset="1" style="stop-color:#FF0000"/> + </linearGradient> + <path fill="url(#XMLID_46_)" d="M17.92,38.891L9.36,30.33V18.17l8.56-8.56h12.16l8.561,8.56v12.16l-8.561,8.561H17.92z"/> + <path d="M11.7,17.7l18.7,18.7l5.896-5.9L17.6,11.7l-5.9,5.9V17.7z"/> + <path d="M11.7,30.5l5.9,5.9l18.7-18.7L30.4,11.8L11.7,30.5z"/> +</g> +<g id="crop_x0020_marks"> + <path fill="none" d="M48,48H0V0h48V48z"/> +</g> +</svg> diff --git a/doc/help/xslt/images/draft.png b/doc/help/xslt/images/draft.png new file mode 100644 index 0000000000000000000000000000000000000000..59673fe1cc03356ff609f90fc9939349890f996a GIT binary patch literal 16150 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 bUK6;u6T3XxO2`8j-C^fUkY~z`F5dn>b4tm9 literal 0 HcmV?d00001 diff --git a/doc/help/xslt/images/home.gif b/doc/help/xslt/images/home.gif new file mode 100644 index 0000000000000000000000000000000000000000..6784f5bb01e0104c60e006a2ed525163a380135c GIT binary patch literal 321 zcmV-H0lxl6Nk%v~VJHA70KxzO;Nak3U|_JYumAu6&;S7N@bCZt@Bjb+EC2ui04M+` z000C22)f+<aD_-K3=@dWyZ>N_DFSAmXsV{#*oJWIwOJ|OFii&dHVi$1?u8o=2teG> zb~7H4%2JKz`Tcy)XEL^=cAP+G_P7moKVb2g%$4rY<n_8da}&SvJQQ@U>hp9PeRzLz zfrD6ufORfRiHeIHgKCh5l6Fj1nwy-RR)UybJ_V$url+TLhynwsuCA(~Rj;(Av5lgv zwwtvDw^OsE0|vwftp&x&!i>OQw#ml^r_#R6Z_dKdq|~L<zt<eczQn@Y)5{&J;={$! z=hf-5*yHWn$>i{txWV+q;;-NCjLKH8RzODs`x)zXFqfx?o2&^85@jF7AWJN0jDQd6 TqQ?;{LW&$ovZP522><{)rIw!r literal 0 HcmV?d00001 diff --git a/doc/help/xslt/images/home.png b/doc/help/xslt/images/home.png new file mode 100644 index 0000000000000000000000000000000000000000..cbb711de712dcf06597a3a8a3d95f6fefda1f245 GIT binary patch literal 1156 zcmeAS@N?(olHy`uVBq!ia0vp^%0SG|!3-oLGuzY{7?>FXd_r6WdIS`E6g8)48qP6v zn&afP)GK*ya`E2cmc1=K$9krmo3ixW(yjNl9=mt!-1BqS-d}tE{`vdw@Bfd2(GVCG zA@J$l5_e#hU`+CMcVXyYmGuB}CVRR#hE&{I8+eiLumVSprtq8v761QlTpYPgC-&05 zDJ{&8o?4V1EY<m5cxcb!-A8BoDJD#s^Df9Q!S_XN`%G1x-I<^J53kMb_`0y0OOx%l znEbg_vpBVPZg1qB#q7LkCHq{Po1f1XvWbUU7ew8fCO`MepDHo0?8@~I1Z5POIeH$L zJg%&nzrxhu&a%oko3nTS)Yp5=%5_HmdX|>qU7+)vOI#yLg7ec#$`gxH85}f}H9d0^ z(^GvD(=(H^6-@Mu^ehxCE%gm7^bHIZl8Z8nODY|5D~n4qll4-I^-@X;^7BgclJj#X z?o!+VG)@a_TxNP+Vo52`JVR3xV`HP#G)t4DL{lRpBV!ZeBojj;vlKG}W79NC!#D3= nHUM?;fpi4`tz|GatuQpzHqbT@s&o4Ulwt66^>bP0l+XkK0lack literal 0 HcmV?d00001 diff --git a/doc/help/xslt/images/home.svg b/doc/help/xslt/images/home.svg new file mode 100644 index 00000000..e803a317 --- /dev/null +++ b/doc/help/xslt/images/home.svg @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!-- Generator: Adobe Illustrator 9.0, SVG Export Plug-In --> +<!DOCTYPE svg [ + <!ENTITY st0 "fill-rule:nonzero;clip-rule:nonzero;fill:#FFFFFF;stroke:#000000;stroke-miterlimit:4;"> + <!ENTITY st1 "fill:none;stroke:none;"> + <!ENTITY st2 "fill:#000000;"> + <!ENTITY st3 "fill:none;stroke:#FFFFFF;stroke-width:6.3469;stroke-linejoin:round;"> + <!ENTITY st4 "fill-rule:evenodd;clip-rule:evenodd;stroke:none;"> + <!ENTITY st5 "fill-rule:nonzero;clip-rule:nonzero;stroke:#000000;stroke-miterlimit:4;"> +]> +<svg width="48pt" height="48pt" viewBox="0 0 48 48" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"> + <g id="Layer_x0020_3" style="&st0;"> + <g style="&st4;"> + <path style="&st3;" d="M22.9,7.1L5.1,21.8l0,0c-0.3,0.3-0.5,0.8-0.5,1.2c0,0.2,0,0.4,0.1,0.6c0.3,0.6,0.9,1,1.6,1c0,0,1.1,0,2.2,0c0,2.4,0,14.2,0,14.2c0,1.1,0.8,1.9,1.8,1.9h27.4c1.1,0,1.9-0.9,1.9-2c0,0,0-11.8,0-14.2c1,0,2,0,2,0c0.8,0,1.4-0.5,1.7-1.2 + c0.1-0.2,0.1-0.4,0.1-0.6c0-0.5-0.2-1-0.7-1.4c0,0-3.6-3-4.5-3.7c0-1.2,0-6.9,0-6.9c0-1.2-0.8-2-2-2h-4.8c-1,0-1.7,0.6-1.9,1.5c-1.9-1.6-4.1-3.5-4.1-3.5l0.1,0.1c-0.7-0.7-1.8-0.8-2.7-0.1z"/> + <path style="&st2;" d="M22.9,7.1L5.1,21.8l0,0c-0.3,0.3-0.5,0.8-0.5,1.2c0,0.2,0,0.4,0.1,0.6c0.3,0.6,0.9,1,1.6,1c0,0,1.1,0,2.2,0c0,2.4,0,14.2,0,14.2c0,1.1,0.8,1.9,1.8,1.9h27.4c1.1,0,1.9-0.9,1.9-2c0,0,0-11.8,0-14.2c1,0,2,0,2,0c0.8,0,1.4-0.5,1.7-1.2 + c0.1-0.2,0.1-0.4,0.1-0.6c0-0.5-0.2-1-0.7-1.4c0,0-3.6-3-4.5-3.7c0-1.2,0-6.9,0-6.9c0-1.2-0.8-2-2-2h-4.8c-1,0-1.7,0.6-1.9,1.5c-1.9-1.6-4.1-3.5-4.1-3.5l0.1,0.1c-0.7-0.7-1.8-0.8-2.7-0.1z"/> + <path style="&st2;" d="M41.8,22.8l-5.1-4.2v-0.1L31,13.7v0l-6.5-5.5C24.2,8,24,8,23.8,8.2L6.2,22.9c-0.1,0.1-0.1,0.3,0.1,0.3h1.6H10h28.1h1.2h2.3c0.2,0,0.4-0.2,0.2-0.4z"/> + <path d="M35.8,16.8l0-5.1c0-0.2-0.1-0.4-0.3-0.4h-3.2c-0.2,0-0.3,0.1-0.3,0.3v2.2l3.9,2.9z"/> + <path d="M11.9,24.7V37c0,0.3,0.1,0.4,0.3,0.4h23.6c0.3,0,0.4-0.2,0.4-0.4V24.7H11.9z"/> + </g> + </g> + <g id="crop_x0020_marks" style="&st5;"> + <path style="&st1;" d="M48,48H0V0h48v48z"/> + </g> +</svg> diff --git a/doc/help/xslt/images/important.gif b/doc/help/xslt/images/important.gif new file mode 100644 index 0000000000000000000000000000000000000000..6795d9a819874ca8b833c4d4993988721489070f GIT binary patch literal 1003 zcmd5)v2xQu5Iutd0|w+k5&<TOLa-tdFpeRXoWOx%If~S&bjPSv=~9iEajDX!T9sF- zyw;^lm1?iN4i8Pl$tM|@$p`R88ohmQ_h$E2msdko`z`_z{Ja1Rf*^>Zs3?l2X}aDS zjTF}vbzOHH$Mba8b;e`IbzRT%eBTcOF$gq_YY0gQX<;}D0zVAhF!bZtiem@kQ53ld zc?kJw3X()jQz=b5X{r%YqZCjoWEse^T9yffD1>w<?PQrWpO2EnSuDm$;wFhlsZNMX zh(Dc9gCLmAW>GXnD2O6PLX4*vhfx$E#2ysKF~)d4pDz}RBuUaVC4^8)m&+y7^CACN zNWZET0BmraH<<4P+`FFGYnVCKQ9;ZBR3T)qVf|%U7d>simE()pGuDQwHb2TG+MBQ_ zvDDA4Qf1%Pj=rj3vOLN4H;wu(_qSJ$@rtK60JzIpt9fbL=6P}WBLJ%VyrBKnwv9gL z@+koKj|(oEHhf+1r)*HA;C;h{WiuO<>j@AFLq1UdID5A%&u-GCYUTM&`rF#A&P{r^ z_xRIVhqhjHEgv=NdwEBz@%x57)QYSpY=k4uyJx0tows>V2jGshqK7Z@I~q3m5W5c^ zZt#o~c$MEO+~MK7@*>Lh!0mEumT-7-ns3eG+lQO)ySz&7zEB7GF&sm<)jwePAZ~s8 Q_s=i~Dg!i1^#?fn4NukiE&u=k literal 0 HcmV?d00001 diff --git a/doc/help/xslt/images/important.png b/doc/help/xslt/images/important.png new file mode 100644 index 0000000000000000000000000000000000000000..12c90f607a1b27ddde0a7d922ae255e8c90e883e GIT binary patch literal 722 zcmV;@0xkWCP)<h;3K|Lk000e1NJLTq000;O000;W0{{R3*Qw3Q0002wP)t-s5C8xW z5D*v`7%3?!IXO8(LNQueDPv<8LPA1PQc`PcLSti6b8}K-V`FP;YkPZpjEoqJj5)o% z2(7Ilt*tqnoLY>Gdz_qOoSb{LwMw<MQoX%erKMx7t!u5Vd*0pv*47x_-XY%JG2Y%e z=jRCT?*Q-b5dZ%G|NjX8{}AWrDd*=g@9#1H{~^Z4TGrN5&dzhz)??PzYwzzu=jUVR z=X->Ngp7=gl$4aErG%}mjHRWNrKOy`y@b8JoTa6ut*xc4t*y1SwY|N)#>U3Z&d%1> z*52OU=jZ3|@9+2b_y7O@t<uBZ00001VoOIvLub$pVgLXE7fD1xRCwBLk_%J9Fbu~t zMe#9}p}^G1OWaUY6qJ>TMkk%M`~Kg@u8&dg_P^_0l3yQb639!jLZt^Lx<-O17UeeJ z-|=!77W(jGx&e#?FOku-g<Jzp-ot34u$w9%;xcgKxjltCsRZ;&?e_q7l@$g*0<e|7 z{|KNq)bD%>KofoU0$~4M+dhLFueEauP`}l7LV=;lsOdn%WHure=x;k`m0(bF&MU#) z-qv#^n8(MjB|ykioqII#+`g4no-MU=BK|Sahu_3M_-d*=7hq=~t?^}A)G7<qE4_om zrrI*YUs-nSD*wS0r0A7w6n3nBjAsj4wia8DbCdK1SzE)9VLKTKJ^Ae~_HRnWm=GbP zW`O<xonvgTQf<sq0000(bVXQnQ*UN;cVTj606-`sDM@W%XJt)cXK7<=AT%yAE;t}L zIWI6cFEBA6V{&P8ba_B+d2@7WV=iTLE@X9ZZ*FuhV{dJdx*@m#001g<MObuGX=iR> zbairN0An*{V`DL9V>K}|HDobmIW;*pIW=W9HaTQ6F*7kTGI9=S@Bjb+07*qoM6N<$ Ef=i}M4FCWD literal 0 HcmV?d00001 diff --git a/doc/help/xslt/images/important.svg b/doc/help/xslt/images/important.svg new file mode 100644 index 00000000..dd84f3fe --- /dev/null +++ b/doc/help/xslt/images/important.svg @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!-- Generator: Adobe Illustrator 9.0, SVG Export Plug-In --> +<!DOCTYPE svg [ + <!ENTITY st0 "fill:#FFFFFF;stroke:none;"> + <!ENTITY st1 "fill:#FFFFFF;stroke-width:6.6112;stroke-linecap:round;stroke-linejoin:round;"> + <!ENTITY st2 "stroke:#FFFFFF;stroke-width:6.6112;"> + <!ENTITY st3 "fill:none;stroke:none;"> + <!ENTITY st4 "fill-rule:nonzero;clip-rule:nonzero;stroke:#000000;stroke-miterlimit:4;"> + <!ENTITY st5 "stroke:none;"> +]> +<svg width="48pt" height="48pt" viewBox="0 0 48 48" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"> + <g id="Layer_x0020_3" style="&st4;"> + <g> + <path style="&st2;" d="M41.7,35.3L26.6,9.4c-0.6-1-1.7-1.7-2.9-1.6c-1.2,0-2.3,0.7-2.9,1.7L6.3,35.4c-0.6,1-0.6,2.3,0,3.3c0.6,1,1.7,1.6,2.9,1.6h29.6c1.2,0,2.3-0.6,2.9-1.7c0.6-1,0.6-2.3,0-3.3z"/> + <path style="&st1;" d="M23.7,11L9.2,37h29.6L23.7,11z"/> + <path style="&st0;" d="M23.7,11.9L10.3,36.1h27.5l-14-24.1z"/> + <g> + <path style="&st5;" d="M24.1,34c-1.1,0-1.8-0.8-1.8-1.8c0-1.1,0.7-1.8,1.8-1.8c1.1,0,1.8,0.7,1.8,1.8c0,1-0.7,1.8-1.8,1.8h0z M22.9,29.3l-0.4-9.1h3.2l-0.4,9.1h-2.3z"/> + </g> + </g> + </g> + <g id="crop_x0020_marks" style="&st4;"> + <path style="&st3;" d="M48,48H0V0h48v48z"/> + </g> +</svg> diff --git a/doc/help/xslt/images/important.tif b/doc/help/xslt/images/important.tif new file mode 100644 index 0000000000000000000000000000000000000000..184de63711510990ab0a8f483c274d2f11596cef GIT binary patch literal 2020 zcmebD)M7AWXJBX$dk|ousK?9J<do>TDdL8Uq@YU@bJG?*jxfpA<|j-!WmZOftnGps z2`M(7+NV;37GB736>XW?tSpqXE>}~nv-Ps%oEtMlIQW-6+<AwmKy}usLk$cJT9dWZ z+B*uABH9AY*e)|H;oR{em`R39?P<YO10lbS?VPC_1=)@%FJn4wX6W!>n$q%9M;|CK z_#F#ZV$1tJGvEmalTiEz3u}o#Tuh>mHiUOeO7JnuKG`_As3Jnn>nKNe(yJ$T`W<BM zJo_GW<BNSV$IXtP2U*vwQIz#PByzyuUrvNXVClj)3O{6c#LpgYQfd)!QJXz&t#GA? zhKux}{Ns(9GCD3&Qj_1Ld`w8mRk_yDw5UmaONTiht83VP*MJ<!KQ8|!%-~=E0uBZN z1_=gD21^DfAoOAgVu)f$2E%NIY=&ZnYK9hu9w?l`0D^O%a47=}u4O=lTNxm5F9Qr7 zV*tT(KzI!f?=c|Ya|TrSo&g5GGa%r9hEYh}5EzYr>W1e~GYvWZ4Wap86IdPu0ZRZU zVEzvR=YI)c=}-+U1EPR<3b=fz29^QIz>)z}8Z2c{1j=VaONynyvH(<y^Z?5M4xri= zpo+a<)-hmdat>;CHn0?60O~UY>I?#w0~|oMCXfdzd#ZtD0Rym90=efsxO4)k@&c9v z5Z5Y>mIBlY0dHWCG6FG-=41HBzycNl3Ie5=!E6Z-6N$|PWrOMuW+<B#$Yz7GnSpFU zMu<5eHKI^)kWFGxagdqfP_`^kLW+?UY?m6a&X$I<^?+<!B)twmHUki;feZoy09=s) A5&!@I literal 0 HcmV?d00001 diff --git a/doc/help/xslt/images/next.gif b/doc/help/xslt/images/next.gif new file mode 100644 index 0000000000000000000000000000000000000000..aa1516e691013051b9d6198ad31e5c902fac8aaa GIT binary patch literal 1083 zcmZ?wbh9u|RAW$O_|5<V4Pe{=rW$~}hK2(`aOc3XQy)J3{_oJx(D0wZ!GYn!sb&8g z7?vzp(BJ@61Y|leIDqtwg3%Bd%pvgq_lE@wmVi?+1H*rY|NnuG1ri_@5a@uM4$2D* z9RC>jIb=LGEI8QAA*>a1B0!;`T|n7uj>pG`jtu{evhJMNxcGSe4+aUA4;z<wPEd4D z%ef&Cf2xVWXj4kZdsRmU$#lIV>BR~SJyxQRUcWR@_F-^jeWYB);NUiculZ3jmx6N0 zeB+OSXDhy@IoCx0FO{tph>zHm!T!klb*W-Q^N$-zxf}}=>~`{%GD&ps=U<*F$^Pgw z_kzS@O+PsF&r}G^Pim1AepDS}@Ytzl3Ts+UM}N_=nLk9*dAj;P>|etE;is#v!2PUi yKjIc2Q@7UKxAw<}hlktw<?U*)Gu%Z{r4%t$8|FrB+*jMZCUSGyS*r{O25SIqPPiig literal 0 HcmV?d00001 diff --git a/doc/help/xslt/images/next.png b/doc/help/xslt/images/next.png new file mode 100644 index 0000000000000000000000000000000000000000..45835bf89ac0eca3ad69c4d8397cd5edad2f8782 GIT binary patch literal 1150 zcmeAS@N?(olHy`uVBq!ia0vp^%0SG|!3-oLGuzY{7?>FXd_r6qS{MX+1QdG|HK%AA z&M|bF<K(r}D`;&{^4jF=t=TPmTY8T5OgT4Y>A9tAudUsBZ|kvp$Id-JckTVP=kK4t z|Nj2}C>RZap&SB+ixVCKvjk(3x4R2N2dk_Hkkjkw;uunKYwyH|T!$5ST0$SiY~H5U zR{cLbR)lT!-5c|b6rGCX%N?2P<`-xxUu`gZx87&*3!~4wH@%p0)Wu<H-nXDlXL^<% z6%O=P)fW6->YX}UBIC~8cAiK_+plk!-xP|nq~%Rem@g?39waS$dFIAw`2be&`&H`~ zup7N@y!g@N+18CSR#dLnIlgB9pX<U_IcirUj&FJcbeMCAYeY$Kep*R+Vo@rCgNCxE zXKrG8s&8U?W^%TIiJp<3g@UD}zJZ0lfuTZjQD$*Tr9*CIaY<&fUTU#kN@+oUUWs0E ze(uCwiaUVDX@QN)OwUU!DFvFBl$>N>WRz-=n38I0oRnmeW@(a^WRPZVkYb)}kZ6%y pT0bWnsEZGzD*$LMgRyCap{cfkwt-Nc+b5t5gQu&X%Q~loCIEjWXuALa literal 0 HcmV?d00001 diff --git a/doc/help/xslt/images/next.svg b/doc/help/xslt/images/next.svg new file mode 100644 index 00000000..75fa83ed --- /dev/null +++ b/doc/help/xslt/images/next.svg @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!-- Generator: Adobe Illustrator 9.0, SVG Export Plug-In --> +<!DOCTYPE svg [ + <!ENTITY st0 "fill:none;stroke:none;"> + <!ENTITY st1 "fill:#FFFFFF;stroke:#FFFFFF;stroke-width:7.5901;stroke-linejoin:round;"> + <!ENTITY st2 "fill-rule:nonzero;clip-rule:nonzero;stroke:#000000;stroke-miterlimit:4;"> + <!ENTITY st3 "stroke:none;"> +]> +<svg width="48pt" height="48pt" viewBox="0 0 48 48" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"> + <g id="Layer_x0020_3" style="&st2;"> + <g> + <path style="&st1;" d="M22.4,41.1c0,0.3,0.3,0.3,0.5,0.2l16.6-16.9c0.5-0.5,0.4-0.7,0-1L22.9,6.7c-0.1-0.1-0.4-0.1-0.4,0.1v10H8.9c-0.3,0-0.5,0.2-0.5,0.4l0,13.3C8.4,30.9,8.6,31,9,31h13.5l-0.1,10.1z"/> + <path style="&st3;" d="M22.4,41.1c0,0.3,0.3,0.3,0.5,0.2l16.6-16.9c0.5-0.5,0.4-0.7,0-1L22.9,6.7c-0.1-0.1-0.4-0.1-0.4,0.1v10H8.9c-0.3,0-0.5,0.2-0.5,0.4l0,13.3C8.4,30.9,8.6,31,9,31h13.5l-0.1,10.1z"/> + </g> + </g> + <g id="crop_x0020_marks" style="&st2;"> + <path style="&st0;" d="M48,48H0V0h48v48z"/> + </g> +</svg> diff --git a/doc/help/xslt/images/note.gif b/doc/help/xslt/images/note.gif new file mode 100644 index 0000000000000000000000000000000000000000..f329d359e55c7ed753170a6f04fbc0cba1e1e565 GIT binary patch literal 580 zcmZ?wbhEHblwgox_`=Ho1YTZVK|w)LQBlds$=TW2#l^+d)zvL6Ej>LwQ>IK=x^(H* zty}l*-FxiVv2*9nUAuPe-o1OzpFe;9{{8>||AFElBX9%7pDc_F45AD=ASEC>8Cd@% zghGJlBo$966GSzJUe!6ZN$1q35SXB^-zJAkEPj)pXq*a$h<Tn83KVe#A^sHxU?E>_ zXQ+sXsjhEmXhNv37hJ?OaLOg1X|~+1jSyWR(o`3y(c1;Ai!}%$em*Glyc1BwlJ~NK zuZpLThNs9@k1ImH0$Wth2s`>W>73rA(RIXT!4{9MLpCC+wq2hkd_`O*d~)g9;?U*N zC}OI4M1Z6Hl7Y`-pGiWx6O;l)uFCkcxOF@EUU3NwS>oY6#RI6O?U2byr$d1v9)TjN znwNw$j~n?OWwbpf2zH99Zo*Lqk)s;^7gg9U27sNV>(8nyV%m64QG)9cM8x-WNa$(j zzz`MJAQq_8eS<?qw|F4D=Mi|`2<SmWZg4O`#7_nT!zDCyu@6j{El>mmjy7}|Lu@zf kf(CKug-JSrEM6BktMtGlBGk2ik;bV{KB5sIO^OWG0Fd3m^#A|> literal 0 HcmV?d00001 diff --git a/doc/help/xslt/images/note.png b/doc/help/xslt/images/note.png new file mode 100644 index 0000000000000000000000000000000000000000..d0c3c645ab9af6318035b026dd86944b9ddc9114 GIT binary patch literal 490 zcmeAS@N?(olHy`uVBq!ia0vp^5+KY0Bp8m$B&h%?rX+877Y2q^y~;)m42&$EE{-7; zw^Ao5PC9JB<666~wbh%Oo7tJ0_rGWfi({a(qjR96>_P4H$tJl=Pxd^1p6`8M?=jE( z!hchf6<8Mi`NHe6`iia69>!lxe4C2-S>+Wvj;l63k!MNSb9|1+f-i>irDi|a^uLl% z^#-f2#pQ2lC%m~9m9JWJZL3|T8FRX>A78<>cU{Z6XGFG336=OLGkw25|29|RG_k%U z>j|M}Ih2i#-w+9_<r3R)WpUAchOn-RHL<s=Lf(b2eK(Z&HDT8se{PS{FHG*n=5x<` zd$sD!x#j1d%}jr;ba|5Bzo#BK+dePv4*lLObfom}ocrsiUF3UWxzDDpWTH<0^^(i? z<2yBtJoul=&zt%^h38kc6EJj~OI#yLg7ec#$`gxH85}f}H9d0^(^GvD(=(H^6-@Mu z^ehxCE%gm7^bHIZl8Z8nODY|5D~n4qll4-I^-@X;^7BgclJj#X?o!+VG)@a_TxNP+ zVo52`JmaJka})Dq(^L~v3j=cl1G6LpOM{dY<5crRBeP@^6Oqf4e*tyzfpi4`tz|GW bsW39pHqbUGism!~$}o7k`njxgN@xNAw*0vf literal 0 HcmV?d00001 diff --git a/doc/help/xslt/images/note.svg b/doc/help/xslt/images/note.svg new file mode 100644 index 00000000..648299d2 --- /dev/null +++ b/doc/help/xslt/images/note.svg @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!-- Generator: Adobe Illustrator 9.0, SVG Export Plug-In --> +<!DOCTYPE svg [ + <!ENTITY st0 "fill:none;stroke:#FFFFFF;stroke-width:12.1438;stroke-linejoin:round;"> + <!ENTITY st1 "fill:none;stroke-width:1.2429;"> + <!ENTITY st2 "fill:#FFFFFF;stroke:none;"> + <!ENTITY st3 "fill:none;stroke:#FFFFFF;stroke-width:12.7649;stroke-linejoin:round;"> + <!ENTITY st4 "fill:#FFFFFF;stroke-width:6.3824;stroke-linejoin:round;"> + <!ENTITY st5 "fill:none;stroke:none;"> + <!ENTITY st6 "fill-rule:nonzero;clip-rule:nonzero;stroke:#000000;stroke-miterlimit:4;"> + <!ENTITY st7 "fill:#FFFFFF;stroke:#FFFFFF;stroke-width:12.7649;stroke-linejoin:round;"> + <!ENTITY st8 "stroke:none;"> + <!ENTITY st9 "fill:none;stroke-width:4.9715;stroke-linejoin:round;"> +]> +<svg xmlns="http://www.w3.org/2000/svg" width="48pt" height="48pt" viewBox="0 0 48 48" xml:space="preserve"> + <g id="Layer_x0020_1" style="&st6;"> + <path style="&st0;" d="M35.7,19.8v18.9H11V8.8h13.9l10.8,11z"/> + <path style="&st3;" d="M38.7,30.4L25,16.7l-7.7-3l2.7,8.7l13.3,13.4l5.4-5.4z"/> + <path style="&st7;" d="M35.7,8.8H11v29.9h24.7V8.8z"/> + <path style="&st4;" d="M35.7,8.8H11v29.9h24.7V8.8z"/> + <path style="&st2;" d="M35.7,8.8H11v29.9h24.7V8.8z"/> + </g> + <g id="Layer_x0020_4" style="&st6;"> + <path style="&st9;" d="M38.7,30.4L25,16.7l-7.7-3l2.7,8.7l13.3,13.4l5.4-5.4z"/> + <path style="&st8;" d="M38.7,30.4L25,16.7l-7.7-3l2.7,8.7l13.3,13.4l5.4-5.4z"/> + <path style="&st8;" d="M20.6,14.7l-2.5,2.5L17,13.4l3.6,1.3z"/> + <path style="&st1;" d="M19.6,22.2l3-0.3l2.4-2.4l0.4-2.8"/> + <path style="&st2;" d="M20.4,14.9L18.3,17l1.6,5.2l2.7-0.3l2.4-2.4l0.3-2.4l-5-2.2z"/> + </g> + <g id="crop" style="&st6;"> + <path style="&st5;" d="M48,48H0V0h48v48z"/> + </g> +</svg> diff --git a/doc/help/xslt/images/note.tif b/doc/help/xslt/images/note.tif new file mode 100644 index 0000000000000000000000000000000000000000..08644d6b5d2be5a7c0fd112bbc526a55ef0d6195 GIT binary patch literal 460 zcmebD)MC(LWMF8pe-L1yJdc;H$tf{F_0?33r5(;UFYNH%+tU-Yb<VpVkLUJG@p5_8 zS5aN1@jqQvY{T}dY2oUP-r*ZVmYhpunRQU|ROFseZ?#7M=No3;;p%2d)(_jV^mP?K zNBzo}uVSC~uDKSpSZvL+&yjO_oLrPN-EDKv2Tcfj;8*D_Ij4Bp_SKujzD_buY21CO z&FG@WlImG&Gjq~wChjd?d6>WSj8)*j_s0*s+gA3;Sh&ja)bx!VF_Sf>*se@&+kCgO zr+R@?&ik*cqgb|1nDsf`Smu_<(#~sYRz=fNIgWLC7l}#=|C@V!^7^u?J-&S9hp(U4 z$p4Zq#<th1L}}{3Ey9T{=e|D^?Kpb!+`YNic5dc(X>#20*5QGIHv<C$Fkl#9G%v$H z1{SagP!K4^3}#D!m`H3UD4PQ)&J1O<0@-X(HpoOlMu<5eHKIu3Vo-6Anc`5k5Kw~@ XBP-Z0DIi-K%2oohZISc>wJ-nxqBD;h literal 0 HcmV?d00001 diff --git a/doc/help/xslt/images/prev.gif b/doc/help/xslt/images/prev.gif new file mode 100644 index 0000000000000000000000000000000000000000..64ca8f3c7c6856d17625615c7845d9adf8b35e6d GIT binary patch literal 1118 zcmZ?wbh9u|RAW$Q_|5<V4Pe{=rW$~}hK2(`aOc3XQy)J3{_oJx(D0wZ!GYn!sb&8g z7?vzp(BJ@61Y|leIDqtwg3%Bd%pvgq_lE@wmVi?+1H*rY|NnuG1ri_@5a@uM4$2D* z9RC>jIb=LGEI8QAA*>a1V#C72?E=btEDjqN9qpDd4zl5RF#mYJf^(P5PkwoZW(JQ{ zF_D*4y!wR%9~DOmG#sD7{_&y;#{p%(<{xE#Uw&*>uv^H)Skbd{qJrHLc7}?c9UtQz zYXTT6YHoZvu)pcYrmCD9p$~wJBmbf!%0P@OYB}B?fNF{YnIe9ySJ<~ln9<}<xPW}Z zF3$g=N7#SJAE{^k$SC&X{6nB(2H`))L5drA{{;gT+a2KeuLxG$`k&{Yb_c(~;d&O3 zt{V^S8~<}XV&=J+3{>1LcYr;@((b@HMtAlPLh^PsKR!G>+|CbXxWHL3#->LwIhe?U cW`4ULC`3qLrpm*X4$b9ricTFB5n!+e06MwKH~;_u literal 0 HcmV?d00001 diff --git a/doc/help/xslt/images/prev.png b/doc/help/xslt/images/prev.png new file mode 100644 index 0000000000000000000000000000000000000000..cf24654f8a9d6826bf5ee3f6b640d0b34f44d2ed GIT binary patch literal 1132 zcmeAS@N?(olHy`uVBq!ia0vp^%0SG|!3-oLGuzY{7?>FXd_r6qS{MX+1QdG|HK%AA z&M|bF<K(r}D`;&{_SWp;y~QniTY8T5OgT4Y>A9tAudO|H@7THL=dQiK_Wb?x_ut?D z9|fZ!FvLS(&zmEwfLVeu$=lt9p@UV{1IVfNba4!+xV3fSLB2x<JkGmWPDzES8vXm9 zubTSkz>#g-7SkiDHi<0%5c709k4@>c%U5PUn6XiNrQ7+$BX-K(BEj>;XDjvwZcIF~ zikDl%a$|T|&B@5M-I14sdv^1r*gkp|z3k=crb$1i`yH45`zBpRc(KYI-u^rPzjiy@ zGH(5%+Qq}Yvm59P=MvY5lHmNblJdl&R0anPWlhiA#Pn3(#PrPMYy}fNBRvZROG|wN z3w;Aah2)~l;*v^-+{)sT%w)aPV!f2og8aM^z2yAdiMtec0FBcE8<&}$msnB?G|wQ- z!aOlC%^=CZB-O|yDbdi(G|ec{Bq=S?EGaqB)I9sbjHy6fd>~x`Kx-L{O)CsdwGFfl UgzDTr0c99GUHx3vIVCg!0Q2->tpET3 literal 0 HcmV?d00001 diff --git a/doc/help/xslt/images/prev.svg b/doc/help/xslt/images/prev.svg new file mode 100644 index 00000000..6d88ffdd --- /dev/null +++ b/doc/help/xslt/images/prev.svg @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!-- Generator: Adobe Illustrator 9.0, SVG Export Plug-In --> +<!DOCTYPE svg [ + <!ENTITY st0 "fill:none;stroke:none;"> + <!ENTITY st1 "fill:#FFFFFF;stroke:#FFFFFF;stroke-width:7.5901;stroke-linejoin:round;"> + <!ENTITY st2 "fill-rule:nonzero;clip-rule:nonzero;stroke:#000000;stroke-miterlimit:4;"> + <!ENTITY st3 "stroke:none;"> +]> +<svg width="48pt" height="48pt" viewBox="0 0 48 48" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"> + <g id="Layer_x0020_3" style="&st2;"> + <g> + <path style="&st1;" d="M25.6,6.9c0-0.3-0.3-0.3-0.5-0.2L8.4,23.6c-0.5,0.5-0.4,0.7,0,1l16.6,16.6c0.1,0.1,0.4,0.1,0.4-0.1v-10h13.6c0.3,0,0.5-0.2,0.5-0.4l0-13.3c0-0.3-0.2-0.5-0.5-0.5H25.5l0.1-10.1z"/> + <path style="&st3;" d="M25.6,6.9c0-0.3-0.3-0.3-0.5-0.2L8.4,23.6c-0.5,0.5-0.4,0.7,0,1l16.6,16.6c0.1,0.1,0.4,0.1,0.4-0.1v-10h13.6c0.3,0,0.5-0.2,0.5-0.4l0-13.3c0-0.3-0.2-0.5-0.5-0.5H25.5l0.1-10.1z"/> + </g> + </g> + <g id="crop_x0020_marks" style="&st2;"> + <path style="&st0;" d="M48,48H0V0h48v48z"/> + </g> +</svg> diff --git a/doc/help/xslt/images/tip.gif b/doc/help/xslt/images/tip.gif new file mode 100644 index 0000000000000000000000000000000000000000..823f2b417c797bcc5b5af0d86034bbbe68a9c5d8 GIT binary patch literal 598 zcmaKpzfZzI6vwMTVkAa>9EomJF@dB^cAyaw8YzNW>;V&-Ax?~pOgK0Qkwp3j7=?eJ zp(Bd}iDHPQ&cwK|BZjz$_padR<(hoox1W3W-n*l8G9sLBGh57bgCWc1a<MEc2tuJy zC>D#QQmI@nS1Ofyy{@WiyWQ4xz1!{fdcDD5FdB`<<MC`Zo6qOOg!BI{_S?R~Fo@xR zf;$<<k6*$FHhffAVHNp=n#R?%sAmCS^)1-9C9?tP=03V0eIX|=o4o9e$PG=QX8L#+ z9M~xAKZI<z!&4IGItegaJd&#DiyIOhU@zT38mk!j!iGIV^w8}x;CRd_;mv*c>y3!k zEzMQ}>2XNH@2x$azJrio4y76u%{aaSQ8iI0-$_v{WV^70wC+frSXf@6n4D`V#?Bj* zZt`izA4lq-+})D%wiNUU4VVF+%2sLK@TMg8DV7ztp%Z(?@L;tQU1CsK&Qwqezj{Cq zSwCP?&P}GNbF_4EK-+twGeQq!I#zP|Y+{WP*FI?V_Kf=>vV0rySc_v6yVepU`O=gc N_rd2$!U|dD;1^e0&sYEe literal 0 HcmV?d00001 diff --git a/doc/help/xslt/images/tip.png b/doc/help/xslt/images/tip.png new file mode 100644 index 0000000000000000000000000000000000000000..5c4aab3bb3543191c360387c4af9a3cbaa051345 GIT binary patch literal 449 zcmeAS@N?(olHy`uVBq!ia0vp^l0YoM0VEi-?r};1DW)WEcNYeRRlUkaK;CUn7srr_ zTcwkB3m#VBagbEhuIO1a$!w|j^feEHv@=+|woj32oF*6|l<3XH$!T}Lao)e6jJhoQ z_vr?OZVprC|7iZ8xaicUR0b&zR-JdP408=+?zC0Rn8IN&QLTWhMIcU0X8P7uUN4WB zR_?a_;&p>ll{>(OzfJ4N{OX={Q&zNgO}j31DC;|ya^r9Fjd348&p+!^cT+^sws+=& zCu*T*mRNK3PE;$BNx$Fa_9(Y=&DoXLMFRd#U31O)<`W^F&-o=xbIqK-c?mr!bmn>! zky6TW;ML~4nXw$T{yra=OteL6G!=B;0=?;6;u=vBoS#-wo>-L1;Gm(b>6x3Dp6Z*J zo|&AjV4`QFXQ5zesc&GRZ(yj9T$EW{Qt6OeSzMBtte0A>mr`1gpI4%noS!>!m*Ngk zP=bxiOwUU!DFvFBnrfM1VQy}0X_lO7WM-b2nq**TZkb|inr2~`WR#dJWc*7VsEZGz hD*$LMgOO>4k%_i}w!yxSoa=!y44$rjF6*2UngF(YpwIvS literal 0 HcmV?d00001 diff --git a/doc/help/xslt/images/tip.svg b/doc/help/xslt/images/tip.svg new file mode 100644 index 00000000..4a64a150 --- /dev/null +++ b/doc/help/xslt/images/tip.svg @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!-- Generator: Adobe Illustrator 9.0, SVG Export Plug-In --> +<!DOCTYPE svg [ + <!ENTITY st0 "fill:none;stroke:#000000;stroke-width:1.0944;"> + <!ENTITY st1 "fill:#FFFFFF;stroke:none;"> + <!ENTITY st2 "fill-rule:nonzero;clip-rule:nonzero;stroke:#FFFFFF;stroke-width:5.6139;stroke-miterlimit:4;"> + <!ENTITY st3 "fill:none;stroke:none;"> + <!ENTITY st4 "fill-rule:nonzero;clip-rule:nonzero;stroke:#000000;stroke-miterlimit:4;"> + <!ENTITY st5 "stroke:none;"> +]> +<svg width="48pt" height="48pt" viewBox="0 0 48 48" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"> + <g id="Layer_x0020_3" style="&st2;"> + <g> + <path d="M9.5,18.6c0,8,6.5,14.4,14.4,14.4c8,0,14.4-6.5,14.4-14.4c0-8-6.5-14.4-14.4-14.4c-8,0-14.4,6.5-14.4,14.4z M12.8,18.6c0-6.2,5-11.2,11.2-11.2c6.2,0,11.2,5,11.2,11.2c0,6.2-5,11.2-11.2,11.2c-6.2,0-11.2-5-11.2-11.2z"/> + <path d="M28.1,37.9l-7.6,0.8c-0.9,0.1-1.5,0.9-1.4,1.8c0.1,0.9,0.9,1.5,1.8,1.4l7.6-0.8c0.9-0.1,1.5-0.9,1.4-1.8c-0.1-0.9-0.9-1.5-1.8-1.4z"/> + <path d="M28.1,34.8l-7.6,0.8c-0.9,0.1-1.5,0.9-1.4,1.8c0.1,0.9,0.9,1.5,1.8,1.4l7.6-0.8c0.9-0.1,1.5-0.9,1.4-1.8c-0.1-0.9-0.9-1.5-1.8-1.4z"/> + <path d="M28.1,31.6l-7.6,0.8c-0.9,0.1-1.5,0.9-1.4,1.8s0.9,1.5,1.8,1.4l7.6-0.8c0.9-0.1,1.5-0.9,1.4-1.8s-0.9-1.5-1.8-1.4z"/> + <path d="M23.1,41.3v0.9c0,0.9,0.7,1.6,1.6,1.6c0.9,0,1.6-0.7,1.6-1.6v-0.9h-3.3z"/> + <path style="&st1;" d="M35.9,18.7c0,6.6-5.4,12-12,12c-6.6,0-12-5.4-12-12s5.4-12,12-12c6.6,0,12,5.4,12,12z"/> + <path style="&st5;" d="M9.6,18.6c0,8,6.5,14.4,14.4,14.4c8,0,14.4-6.5,14.4-14.4c0-8-6.5-14.4-14.4-14.4c-8,0-14.4,6.5-14.4,14.4z M12.9,18.6c0-6.2,5-11.2,11.2-11.2c6.2,0,11.2,5,11.2,11.2c0,6.2-5,11.2-11.2,11.2c-6.2,0-11.2-5-11.2-11.2z"/> + <path style="&st5;" d="M28.2,37.9l-7.6,0.8c-0.9,0.1-1.5,0.9-1.4,1.8c0.1,0.9,0.9,1.5,1.8,1.4l7.6-0.8c0.9-0.1,1.5-0.9,1.4-1.8c-0.1-0.9-0.9-1.5-1.8-1.4z"/> + <path style="&st5;" d="M28.2,34.7l-7.6,0.8c-0.9,0.1-1.5,0.9-1.4,1.8c0.1,0.9,0.9,1.5,1.8,1.4l7.6-0.8c0.9-0.1,1.5-0.9,1.4-1.8c-0.1-0.9-0.9-1.5-1.8-1.4z"/> + <path style="&st5;" d="M28.2,31.6l-7.6,0.8c-0.9,0.1-1.5,0.9-1.4,1.8c0.1,0.9,0.9,1.5,1.8,1.4l7.6-0.8c0.9-0.1,1.5-0.9,1.4-1.8c-0.1-0.9-0.9-1.5-1.8-1.4z"/> + <path style="&st5;" d="M23.1,41.3v0.9c0,0.9,0.7,1.6,1.6,1.6s1.6-0.7,1.6-1.6v-0.9h-3.3z"/> + <path style="&st0;" d="M22.3,28.3l-3.5-10.7c0,0,6.6,3.9,10.5,0"/> + </g> + </g> + <g id="crop_x0020_marks" style="&st4;"> + <path style="&st3;" d="M48,48H0V0h48v48z"/> + </g> +</svg> diff --git a/doc/help/xslt/images/tip.tif b/doc/help/xslt/images/tip.tif new file mode 100644 index 0000000000000000000000000000000000000000..4a3d8c75fd58190ceae8d6ffa621ecf7e925c3c1 GIT binary patch literal 420 zcmebD)M8*_WMF8pe-L1yJdc;H$tf{F-CELXO3;xcp67e?gucfex%0l_j;Y3!bk~Iw z*}inn73j9T)O}-3=fCGcYZHT(zR^l}-s<&G=c&#%w(qtbzQr9{)4X|tE-LgF&v4l4 z)p%aZSR=ZsmwRfU)`umDZ@!1L>ZTZTei3kDV32yV!Q3h+-nMlqyV>lRzWV|5XS|!R zJ9po!|JC=_hMz9Ex3Ove_O<7Ki^+ZG3OW)0HK&YExa~knT17|Dw`}IsahgrSch^-` zbR3#}CTEJE<k}|Ppy?gK*6~X18`r<9oh%hQ*-KgDLZyv!rdaXE<ezfZ|CkuO85kIV z9){Dr4F4Edz#>3FpcFHhEeT>m*%ClD6O_#XWHUqAtUxv!lnpXbkP%`INR23xxENF% fWR5tL{SwHQVq^u|^$Ez9hO&PF*|tb}fm{Xvme+K0 literal 0 HcmV?d00001 diff --git a/doc/help/xslt/images/toc-blank.png b/doc/help/xslt/images/toc-blank.png new file mode 100644 index 0000000000000000000000000000000000000000..6ffad17a0c7a78deaae58716e8071cc40cb0b8e0 GIT binary patch literal 318 zcmeAS@N?(olHy`uVBq!ia0vp^{6Ngf!VDzk7iOmbDT4r?5LY1G0LBeqssYGrXgF}- zKtn^rf1vn(hW}s+NCR0w;4iG^2^42c@^*J&=wOxg0CMC!T^vIyZYBTtzyH6zKuy9A zentg0F+qV0g#~P97#OBpaJrNsxA6f`rE`gEL`iUdT1k0gQ7VIjhO(w-Zen_>Z(@38 za<+nro{^q~f~BRtfrY+-p+a&|W^qZSLvCepNoKNMYO!8QX+eHoiC%Jk?!;Y+JAlS% zfsM;d&r2*R1)7&;o@#7ik&>8{Vv?F>U|?x(ZfKHZYGz`bmXczeoR*Z-Hs=yh7cWRx f0MJ?nL(>XNZ3Ars^Rf>h;}|?${an^LB{Ts5OHX0g literal 0 HcmV?d00001 diff --git a/doc/help/xslt/images/toc-minus.png b/doc/help/xslt/images/toc-minus.png new file mode 100644 index 0000000000000000000000000000000000000000..abbb020c8e2d6705ebc2f0fc17deed30f2977a46 GIT binary patch literal 259 zcmeAS@N?(olHy`uVBq!ia0vp^{6Ngf0VEhsJkjh1QcOwS?k)@rt9q4<fIK-*7srr_ zTge%XjsFu4Ff9Eqd_J9lQ9+)^^Ll@lJwvT-!Mdo=yIg@Pol9IJN`mv#O3D+9QW+dH zlr=qb6Vp?D6Vo%3vlUGAjPxuNEG_j7Ec6Ww6_SfGi%TjUax05VGL!XEi}g}U3-a?y z^pf*)C+<?*0W?kvY+Pn~USdfp(7e>-G!sMP)HD-wQzH`-1CumMgJctv6pLi@6hos# qqtv?{|7HPo@q%;(0Ig*(G_A1IHqbUOFZ%#8j=|H_&t;ucLK6V~f=xvL literal 0 HcmV?d00001 diff --git a/doc/help/xslt/images/toc-plus.png b/doc/help/xslt/images/toc-plus.png new file mode 100644 index 0000000000000000000000000000000000000000..941312ce0dab168e0efcc5b572e387259880e541 GIT binary patch literal 264 zcmeAS@N?(olHy`uVBq!ia0vp^{6Ngf0VEhsJkjh1QcOwS?k)@rt9q4<fIMYS7srr_ zTge%XjsFu4Ff9GA{8{qDCrJl}6YS1PR~FCg&$4F-^2*tiGSkWgsNA{4HKHUqKdq!Z zu_%?nK|@*7GdD3k)i*IcGdWwqM9)aiLc!8f-@roOz)&H%D6_bv(jm99xFj=KFSS@N zrL-VFuS737KX>9T#T`K7w7|w?rspM=lmg95OfodLFfd9rOi4*hH8wIdOfpPPHA_l1 vPBO4aOiebg{<Ta4sEZe*D*$LMgQ01KrM7{#fqB^nkZ}y2u6{1-oD!M<vM^9T literal 0 HcmV?d00001 diff --git a/doc/help/xslt/images/up.gif b/doc/help/xslt/images/up.gif new file mode 100644 index 0000000000000000000000000000000000000000..aabc2d016580d75da359df27edac6d8081fcc2d3 GIT binary patch literal 1089 zcmZ?wbh9u|RA*3U_|5<V4Pe{=rW$~}hK2(`aOc3XQy)J3{_oJx(D0wZ!GYn!sb&8g z7?vzp(BJ@61Y|leIDqtwg3%Bd%pvgq_lE@wmVi?+1H*rY|NnuG1ri_@5a@uM4$2D* z9RC>jIb=LGEI8QAA*>a1V#C72?E=bjEDjqN9qpDd4szjmF#mYJf^(P5Pk#A^PL<$Q zI+;RG?K?R>ZZ+XJpnRtJN17PRgOAG`Ypgh#KAaFZVBhwmiI3&M#ti2gFIJ`xI|LdI z)N_AywPiSv9NPY48`Fms0t^T1xjuG&jrgXxZ|i>{CW9aPigr7S6dxV77JO*m^5e&) zo(}&F0j>Y}9vSZmQL;N0Bl*v`gWrf@#t#YRf*<P@?9Q5hlw@Q0DDPOaIJ`@xga4Cn z&AP-#-MWJEZ##bEIUm_BCT~~s<HN(l?flpoM;^hX)Nv@<w>HM~)&2b!mjeThEhE5z G!5RR%al9%3 literal 0 HcmV?d00001 diff --git a/doc/help/xslt/images/up.png b/doc/help/xslt/images/up.png new file mode 100644 index 0000000000000000000000000000000000000000..07634de26b325b09b6686543e3743ec58426e64b GIT binary patch literal 1111 zcmeAS@N?(olHy`uVBq!ia0vp^%0SG|!3-oLGuzY{7?>FXd_r6qS{MX+1QdG|HK%AA z&M|bF<CMHMIeTk%%iflrV?9&OP1$;H>#=*s&OJYO?ftdq@1MW_{{H_c7!85p5(1lc z&#VJx3C1LEcNc~ZR#^`qC(YBvF{I+w)Ct~v2NXD1b6>NwI=-vFd2Ozz_LBUAZ6_V# z0_-2ED|^IRKipvRGe~yg+2{$+0#aW-GMHneR${}Twfy{=Zu8*Wewig#<kY+}ck{Wk z&f3Rw`t*I<^Yt=q-iiH&)%TvTrEgJKCU$HCC`US%xJHx&=ckpFCl;kLIA|zqdgdmk zr}`$QXC`MWnCKblStwXq>Kj<-8yG4i7iAWgR668V7MElu>!lX!rIZ%r=auLs=jTq` zrMLrVoEF%)%=Em(l2V{~M&{;5#umm#78a?N$;qjPhKZ(zMyW=L7Ktfo#^y-|**sf- lni%*%x&naKG8mgy7@BGuXd4LCxqSjjdAj<!taD0e0sssaRkZ*B literal 0 HcmV?d00001 diff --git a/doc/help/xslt/images/up.svg b/doc/help/xslt/images/up.svg new file mode 100644 index 00000000..d31aa9c8 --- /dev/null +++ b/doc/help/xslt/images/up.svg @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!-- Generator: Adobe Illustrator 9.0, SVG Export Plug-In --> +<!DOCTYPE svg [ + <!ENTITY st0 "fill:none;stroke:none;"> + <!ENTITY st1 "fill:#FFFFFF;stroke:#FFFFFF;stroke-width:7.5901;stroke-linejoin:round;"> + <!ENTITY st2 "fill-rule:nonzero;clip-rule:nonzero;stroke:#000000;stroke-miterlimit:4;"> + <!ENTITY st3 "stroke:none;"> +]> +<svg width="48pt" height="48pt" viewBox="0 0 48 48" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"> + <g id="Layer_x0020_3" style="&st2;"> + <g> + <path style="&st1;" d="M41.1,25.6c0.3,0,0.3-0.3,0.2-0.5L24.4,8.4c-0.5-0.5-0.7-0.4-1,0L6.7,25.1c-0.1,0.1-0.1,0.4,0.1,0.4h10v13.6c0,0.3,0.2,0.5,0.4,0.5l13.3,0c0.3,0,0.5-0.2,0.5-0.5V25.5l10.1,0.1z"/> + <path style="&st3;" d="M41.1,25.6c0.3,0,0.3-0.3,0.2-0.5L24.4,8.4c-0.5-0.5-0.7-0.4-1,0L6.7,25.1c-0.1,0.1-0.1,0.4,0.1,0.4h10v13.6c0,0.3,0.2,0.5,0.4,0.5l13.3,0c0.3,0,0.5-0.2,0.5-0.5V25.5l10.1,0.1z"/> + </g> + </g> + <g id="crop_x0020_marks" style="&st2;"> + <path style="&st0;" d="M48,48H0V0h48v48z"/> + </g> +</svg> diff --git a/doc/help/xslt/images/warning.gif b/doc/help/xslt/images/warning.gif new file mode 100644 index 0000000000000000000000000000000000000000..3adf191293748bead3a7592fd86cee64056b5454 GIT binary patch literal 743 zcmZ{hKWGzC9LK+vaNOw<sFtWpLeY8>iitKf)ghIj<VZ6_hZ=FP)R1ZlqIJp=YZTh* zP<l$M7qPX^AaYZ^K_p;@9toOa8;H~)gH>v$xRfA5@!fkDH{bMrpZER!`M%%z$hqF& zRTo^?=>a_=-~^4}0c5}joCOph4kUmZz-=G{<ba2O3J^dC44_Ew!JzK*8M3U!<60u2 zW-?kPLlngXRsqxLG+nM5P^Y0R*JODMXozAH*z$NtE=N>VS5-sP2q6X`MO`-x!!*rW ztyZts8;wS@*(?@mpZ^}uZ$}#tfY(x3o*?Xoo>h`d8|jmC(W5ivVgErE1sEKfo%%8K zZm_%K<D?~FaJlzYb$hHYpDk3Sw+kG;Tsh8RtWe!{C~HhPbuCIGs<hzP9wSB5g*O;r zaKJs!-a_)zO2_6blPv6a?BxkB4vaqV@w{=-asM+-e;zBemyRrHOxYI^#_#=PrDr0Y z?`?QTyqn|wDCA1VnS5Ai+vG!(7pJfA^t>W2+i;iCOE!&3{olD%O0Ac=Thp(EZgCUC z>m{!ZyCyqrXB4)SL^$CI^0ECR$tT=P*F@;1lfy%=Q(o%DDkk-3k1-hj`YC<Ny^j|g z`Sy!>2`iO!;PB{<U5s^?$ei`ry70%gn~!~{PAtyb8_+|oaogpd)~?nD-51Ii{g0z$ XI{9yb8(HHE4<21l3YPS;6Q}<Ioa0KM literal 0 HcmV?d00001 diff --git a/doc/help/xslt/images/warning.png b/doc/help/xslt/images/warning.png new file mode 100644 index 0000000000000000000000000000000000000000..1c33db8f34a8b42b373179b46a2d8d8a10e061a9 GIT binary patch literal 1241 zcmeHH+e?!H6#vDtmgHCxG{Q}12(7`~)|MMe^RnTlY0JD#q1sIwW1DTCqzzwWg@Q=t zBC2Iceu@w4LHM97Gb5%*E%9MN*%m}jvs!{N@Pd8$H}vS?TsRzlzr#5kPPe|YG%fXL zDu6VdR$WC$&Oc)^X#ZjK-7LU>{!F!o39xr+d_Vw5fMTEwpb-s#9q<5Nzz6gIep<cW zKvh+sp&{V)k^rexl4WJ2&qw<GBuNH=phOb%`ze4D2&kSODiEMZlA@>yU?Lctpr{ZK zVzWaWPAC)#17S8h%;AIuf(Q_yeIybEqS0s^i1YdJcsv0ln9M{Xkpz;-<TkLqE4v%` zPa9~-|4Lsq_L#~`)#ys$YUyN2r!J~)`{=mU;p!B#LkWMy!s46dVTPP_<a*AF+c}Q3 z*tRG5<C?zz!uF#A)j)inH+Qc4UU?tZX6mMWwPSTGt!ij-wrj2MTjH^Erq*zC^4U25 z;rGm;%`Ky$m$&2&tM)7Ilw`7nVMF%5oRN;A2Q5Uw)O6^Vb?=|PDQoH=@#@QE-fzQ3 z#?ONnsrQ2=3vJwWTlxk!u31j3rjN5E1B_|U;e7qb+m{)`3cIZ_m_o1&oAn*S^-nb$ zE1!caG3{J|bD2Au&GWBXdY$eYckiDbBWu*Jx5}L{dt?6mbCo#7$)5}`uFx}=5Sn`8 zysL@0YIIvsc>I_^=P))~D~!!Hvpq{Dl8O{rN@cECkt>#DncX%I(O&3i_YgL-$m$VU zT3cLBLS%M1`o{TBX}S|Tbhc)vk!Yp)%rdDd&my(RPsxl%lU$)tC?(1~WuEwClUQn! n$<H2&_0uTUKa`$s3#qJ4Diex@Vt3;K`X>Q8O{Mxt@ukkcT{K0> literal 0 HcmV?d00001 diff --git a/doc/help/xslt/images/warning.svg b/doc/help/xslt/images/warning.svg new file mode 100644 index 00000000..fc8d7484 --- /dev/null +++ b/doc/help/xslt/images/warning.svg @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!-- Generator: Adobe Illustrator 9.0, SVG Export Plug-In --> +<!DOCTYPE svg [ + <!ENTITY st0 "fill:#000000;stroke:#FFFFFF;stroke-width:7.9139;stroke-linejoin:round;"> + <!ENTITY st1 "fill-rule:nonzero;clip-rule:nonzero;fill:#FFFFFF;stroke:#000000;stroke-miterlimit:4;"> + <!ENTITY st2 "fill:none;stroke:none;"> + <!ENTITY st3 "fill:#000000;"> + <!ENTITY st4 "fill-rule:evenodd;clip-rule:evenodd;stroke:none;"> + <!ENTITY st5 "fill-rule:nonzero;clip-rule:nonzero;stroke:#000000;stroke-miterlimit:4;"> +]> +<svg width="48pt" height="48pt" viewBox="0 0 48 48" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"> + <g id="Layer_x0020_4" style="&st1;"> + <g style="&st4;"> + <path style="&st0;" d="M16.4,42.3L5.7,31.6V16.4L16.4,5.7h15.2l10.7,10.7v15.2L31.6,42.3H16.4z"/> + <path style="&st3;" d="M16.4,42.3L5.7,31.6V16.4L16.4,5.7h15.2l10.7,10.7v15.2L31.6,42.3H16.4z"/> + <path d="M11.7,17.7l18.7,18.7l5.9-5.9L17.6,11.7l-5.9,5.9z"/> + <path d="M11.7,30.5l5.9,5.9l18.7-18.7l-5.9-5.9L11.7,30.5z"/> + </g> + </g> + <g id="crop_x0020_marks" style="&st5;"> + <path style="&st2;" d="M48,48H0V0h48v48z"/> + </g> +</svg> diff --git a/doc/help/xslt/images/warning.tif b/doc/help/xslt/images/warning.tif new file mode 100644 index 0000000000000000000000000000000000000000..7b6611ec7a1980022c11ad6877fedf32f41b3df0 GIT binary patch literal 1990 zcmebD)MAieXJBaHR|qhCa3Ybt#fe?OBZVhOke}_5p}~zDOYXJ<M;sG(JhPSW?^60W z@xT&o*$H0mN)3CGI5auERD&iuq{Y|>dOmf$P_Zjir-v(f(n1LVCeE22NskqJ)$I5g z8XP9S{LzviJ+sf*L4iXe*;u-Tjq%lq8EgzJ!Hcg+?M+EyWoUYBc3S038aqStx-zY! zDFTdKac@c|p3q>CIvAgpWRM#aTC%3+U_*~<gM!gfFXvFHFK418WH?xb4PNjtu}hw6 zeP}r0v-9G)&8|@k_HARa;N$!-Y2vat2`j<8?a31>obs9P<Y+7XU6Y=_NV?~jt>KLA zwdWf7S{m)1m+z3c?Wmx@z`-EEAi<!>pvhp!;Kbm?5X2D0kj+rcP|eW7(8DkV2<L#| zQU(NE%K(B~k>Fki5IhEj=NKUH8UqO41H$KE_?`g-zXRd_Q8-9KfPnz02B(N>pejpX z>SzI`howNaA&_POrkNgK+E@xq2Mpl!zyMB5$ACOgn$iTTxCSKe0kI-51uy_p+j}7S z9f(I$z~Bf0U{v4*qwzmD;)zDC@CHUcBM`%AK8Ak`EMO6Es$gUWvn4>Pkl0L6HV06g z8Omk_ve}?)W*}RT5n>KVjVM$cWRn<F9Au_Alnt^(ijfs;7YDFbmWHwgfNWbNy$(P& L0}ye53<3fGDtq<a literal 0 HcmV?d00001 diff --git a/doc/help/xslt/install.sh b/doc/help/xslt/install.sh new file mode 100755 index 00000000..40716191 --- /dev/null +++ b/doc/help/xslt/install.sh @@ -0,0 +1,977 @@ +#!/bin/bash +# $Id: install.sh 7942 2008-03-26 06:08:08Z xmldoc $ +# $Source$ # + +# install.sh - Set up user environment for a XML/XSLT distribution + +# This is as an interactive installer for updating your +# environment to use an XML/XSLT distribution such as the DocBook +# XSL Stylesheets. Its main purpose is to configure your +# environment with XML catalog data and schema "locating rules" +# data provided in the XML/XSLT distribution. +# +# Although this installer was created for the DocBook project, it +# is a general-purpose tool that can be used with any XML/XSLT +# distribution that provides XML/SGML catalogs and locating rules. +# +# This script is mainly intended to make things easier for you if +# you want to install a particular XML/XSLT distribution that has +# not (yet) been packaged for your OS distro (Debian, Fedora, +# whatever), or to use "snapshot" or development releases +# +# It works by updating your shell startup file (e.g., .bashrc and +# .cshrc) and .emacs file and by finding or creating a writable +# CatalogManager.properties file to update. +# +# It makes backup copies of any files it touches, and also +# generates a uninstall.sh script for reverting its changes. +# +# In the same directory where it is located, it expects to find +# the following four files: +# - locatingrules.xml +# - catalog.xml +# - catalog +# - .urilist +# And if it's unable to locate a CatalogManager.properties file in +# your environment, it expects to find an "example" one in the +# same directory as itself, which it copies over to your +# ~/.resolver directory. +# +# If the distribution contains any executables, change the value +# of the thisBinDir to a colon-separated list of the pathnames of +# the directories that contain those executables. + +# mydir is the "canonical" absolute pathname for install.sh +mydir=$(cd -P $(dirname $0) && pwd -P) || exit 1 + +thisLocatingRules=$mydir/locatingrules.xml +thisXmlCatalog=$mydir/catalog.xml +thisSgmlCatalog=$mydir/catalog + +# .urilist file contains a list of pairs of local pathnames and +# URIs to test for catalog resolution +thisUriList=$mydir/.urilist +exampleCatalogManager=$mydir/.CatalogManager.properties.example +thisCatalogManager=$HOME/.resolver/CatalogManager.properties + +# thisBinDir directory is a colon-separated list of the pathnames +# to all directories that contain executables provided with the +# distribution (for example, the DocBook XSL Stylesheets +# distribution contains a "docbook-xsl-update" convenience script +# for rsync'ing up to the latest docbook-xsl snapshot). The +# install.sh script adds the value of thisBinDir to your PATH +# environment variable +thisBinDir=$mydir/tools/bin + +emit_message() { + echo "$1" 1>&2 +} + +if [ ! "${*#--batch}" = "$*" ]; then + batchmode="Yes"; +else + batchmode="No"; + emit_message + if [ ! "$1" = "--test" ]; then + emit_message "NOTE: For non-interactive installs/uninstalls, use --batch" + if [ ! "$1" = "--uninstall" ]; then + emit_message + fi + fi +fi + +osName="Unidentified" +if uname -s | grep -qi "cygwin"; then + osName="Cygwin" +fi + +classPathSeparator=":" +if [ "$osName" = "Cygwin" ]; then + thisJavaXmlCatalog=$(cygpath -m $thisXmlCatalog) + classPathSeparator=";" +else + thisJavaXmlCatalog=$thisXmlCatalog +fi + +main() { + removeOldFiles + checkRoot + updateCatalogManager + checkForResolver + writeDotFiles + updateUserStartupFiles + updateUserDotEmacs + writeUninstallFile + writeTestFile + printExitMessage +} + +removeOldFiles() { + rm -f $mydir/.profile.incl + rm -f $mydir/.cshrc.incl + rm -f $mydir/.emacs.el +} + +checkRoot() { + if [ $(id -u) == "0" ]; then + cat 1>&2 <<EOF + +WARNING: This install script is meant to be run as a non-root + user, but you are running it as root. + +EOF + read -s -n1 -p "Are you sure you want to continue? [No] " + emit_message "$REPLY" + case $REPLY in + [yY]) + emit_message + ;; + *) emit_message "OK, exiting without making changes." + exit + ;; + esac + fi + return 0 +} + +updateCatalogManager() { + + # - finds or creates a writable CatalogManager.properties file + # + # - adds the catalog.xml file for this distribution to the + # CatalogManager.properties file found + + if [ -z "$CLASSPATH" ]; then + cat 1>&2 <<EOF + +NOTE: There is no CLASSPATH variable set in your environment. + No attempt was made to find a CatalogManager.properties + file. Using $thisCatalogManager instead +EOF + else + # split CLASSPATH in a list of pathnames by replacing all separator + # characters with spaces + if [ "$osName" = "Cygwin" ]; then + pathnames=$(echo $CLASSPATH | tr ";" " ") + else + pathnames=$(echo $CLASSPATH | tr ":" " ") + fi + for path in $pathnames; do + if [ "$osName" = "Cygwin" ]; then + path=$(cygpath -u $path) + fi + # strip out trailing slash from pathname + path=$(echo $path | sed 's/\/$//') + # find CatalogManager.properties file + if [ -f $path/CatalogManager.properties ]; + then + existingCatalogManager=$path/CatalogManager.properties + break + fi + done + fi + # end of CLASSPATH check + + if [ -w "$existingCatalogManager" ]; then + # existing CatalogManager.properties was found and it is + # writable, so use it + myCatalogManager=$existingCatalogManager + else + if [ -f "$existingCatalogManager" ]; then + # a non-writable CatalogManager.properties exists, so emit a + # note saying that it won't be used + cat 1>&2 <<EOF +NOTE: $existingCatalogManager file found, + but you don't have permission to write to it. + Will instead use: + $thisCatalogManager +EOF + else + # CLASSPATH is set, but no CatalogManager.properties found + if [ -n "$CLASSPATH" ]; then + cat 1>&2 <<EOF +NOTE: No CatalogManager.properties found from CLASSPATH. + Will instead use: + $thisCatalogManager +EOF + fi + fi + if [ "$batchmode" = "Yes" ]; then + emit_message + fi + # end of check for existing writable CatalogManager.properties + + if [ -f $thisCatalogManager ]; then + myCatalogManager=$thisCatalogManager + else + REPLY="" + if [ ! "$batchmode" = "Yes" ]; then + emit_message + read -s -n1 -p "Create $thisCatalogManager file? [Yes] " + emit_message "$REPLY" + emit_message + fi + case $REPLY in + [nNqQ]) + emitNoChangeMsg + ;; + *) + if [ ! -d "${thisCatalogManager%/*}" ]; then + mkdir -p ${thisCatalogManager%/*} + fi + cp $mydir/.CatalogManager.properties.example $thisCatalogManager || exit 1 + emit_message "NOTE: Created the following file:" + emit_message " $thisCatalogManager" + myCatalogManager=$thisCatalogManager + ;; + esac + # end of creating "private" CatalogManager.properties + fi + # end of check for "private" CatalogManager.properties + fi + # end of check finding/creating writable CatalogManager.properties + + if [ -n "$myCatalogManager" ]; then + etcXmlCatalog= + catalogsLine=$(grep "^catalogs=" $myCatalogManager) + if [ -f /etc/xml/catalog ] && [ "$osName" != "Cygwin" ] \ + && [ "${catalogsLine#*/etc/xml/catalog*}" = "$catalogsLine" ]; then + cat 1>&2 <<EOF + +WARNING: /etc/xml/catalog exists but was not found in: + $myCatalogManager + If /etc/xml/catalog file has content, you probably + should reference it in: + $myCatalogManager + This installer can automatically add it for you, + but BE WARNED that once it has been added, the + uninstaller for this distribution CANNOT REMOVE IT + automatically during uninstall. If you no longer want + it included, you will need to remove it manually. + +EOF + REPLY="" + if [ ! "$batchmode" = "Yes" ]; then + read -s -n1 -p "Add /etc/xml/catalog to $myCatalogManager? [Yes] " + emit_message "$REPLY" + fi + case $REPLY in + [nNqQ]) + emit_message + ;; + *) + etcXmlCatalog=/etc/xml/catalog + ;; + esac + fi + + catalogBackup="$myCatalogManager.$$.bak" + if [ ! -w "${myCatalogManager%/*}" ]; then + emit_message + emit_message "WARNING: ${myCatalogManager%/*} directory is not writable." + emit_message + emitNoChangeMsg + else + REPLY="" + if [ ! "$batchmode" = "Yes" ]; then + emit_message + emit_message "Add $thisJavaXmlCatalog" + read -s -n1 -p "to $myCatalogManager file? [Yes] " + emit_message "$REPLY" + emit_message + fi + case $REPLY in + [nNqQ]) + emitNoChangeMsg + ;; + *) + if [ "$catalogsLine" ] ; then + if [ "${catalogsLine#*$thisJavaXmlCatalog*}" != "$catalogsLine" ]; then + emit_message "NOTE: $thisJavaXmlCatalog" + emit_message " already in:" + emit_message " $myCatalogManager" + else + mv $myCatalogManager $catalogBackup || exit 1 + sed "s#^catalogs=\(.*\)\$#catalogs=$thisJavaXmlCatalog;\1;$etcXmlCatalog#" $catalogBackup \ + | sed 's/;\+/;/' | sed 's/;$//' > $myCatalogManager || exit 1 + emit_message "NOTE: Successfully updated the following file:" + emit_message " $myCatalogManager" + emit_message " Backup written to:" + emit_message " $catalogBackup" + fi + else + mv $myCatalogManager $catalogBackup || exit 1 + cp $catalogBackup $myCatalogManager + echo "catalogs=$thisJavaXmlCatalog;$etcXmlCatalog" \ + | sed 's/;\+/;/' | sed 's/;$//' >> $myCatalogManager || exit 1 + emit_message "NOTE: \"catalogs=\" line added to $myCatalogManager." + emit_message " Backup written to $catalogBackup" + fi + ;; + esac + # end of backing up and updating CatalogManager.properties + fi + fi + # end of CatalogManager.properties updates + + if [ "$osName" = "Cygwin" ]; then + myCatalogManager=$(cygpath -m $myCatalogManager) + fi + return 0 +} + +writeDotFiles() { + while read; do + echo "$REPLY" >> $mydir/.profile.incl + done <<EOF +# $thisBinDir is not in PATH, so add it +if [ "\${PATH#*$thisBinDir*}" = "\$PATH" ]; then + PATH="$thisBinDir:\$PATH" + export PATH +fi +if [ -z "\$XML_CATALOG_FILES" ]; then + XML_CATALOG_FILES="$thisXmlCatalog" +else + # $thisXmlCatalog is not in XML_CATALOG_FILES, so add it + if [ "\${XML_CATALOG_FILES#*$thisXmlCatalog*}" = "\$XML_CATALOG_FILES" ]; then + XML_CATALOG_FILES="$thisXmlCatalog \$XML_CATALOG_FILES" + fi +fi +# /etc/xml/catalog exists but is not in XML_CATALOG_FILES, so add it +if [ -f /etc/xml/catalog ] && \ + [ "\${XML_CATALOG_FILES#*/etc/xml/catalog*}" = "\$XML_CATALOG_FILES" ]; then + XML_CATALOG_FILES="\$XML_CATALOG_FILES /etc/xml/catalog" +fi +export XML_CATALOG_FILES + +if [ -z "\$SGML_CATALOG_FILES" ]; then + SGML_CATALOG_FILES="$thisSgmlCatalog" +else + # $thisSgmlCatalog is not in SGML_CATALOG_FILES, so add it + if [ "\${SGML_CATALOG_FILES#*$thisSgmlCatalog}" = "\$SGML_CATALOG_FILES" ]; then + SGML_CATALOG_FILES="$thisSgmlCatalog:\$SGML_CATALOG_FILES" + fi +fi +# /etc/sgml/catalog exists but is not in SGML_CATALOG_FILES, so add it +if [ -f /etc/sgml/catalog ] && \ + [ "\${SGML_CATALOG_FILES#*/etc/sgml/catalog*}" = "\$SGML_CATALOG_FILES" ]; then + SGML_CATALOG_FILES="\$SGML_CATALOG_FILES:/etc/sgml/catalog" +fi +export SGML_CATALOG_FILES +EOF + +while read; do + echo "$REPLY" >> $mydir/.cshrc.incl +done <<EOF +# $thisBinDir is not in PATH, so add it +if ( "\\\`echo \$PATH | grep -v $thisBinDir\\\`" != "" ) then + setenv PATH "$thisBinDir:\$PATH" +endif +if ( ! $\?XML_CATALOG_FILES ) then + setenv XML_CATALOG_FILES "$thisXmlCatalog" +# $thisXmlCatalog is not in XML_CATALOG_FILES, so add it +else if ( "\\\`echo \$XML_CATALOG_FILES | grep -v $thisXmlCatalog\\\`" != "" ) then + setenv XML_CATALOG_FILES "$thisXmlCatalog \$XML_CATALOG_FILES" +endif +endif +# /etc/xml/catalog exists but is not in XML_CATALOG_FILES, so add it +if ( -f /etc/xml/catalog && "\\\`echo \$XML_CATALOG_FILES | grep -v /etc/xml/catalog\\\`" != "" ) then + setenv XML_CATALOG_FILES "\$XML_CATALOG_FILES /etc/xml/catalog" +endif + +endif +if ( ! $\?SGML_CATALOG_FILES ) then + setenv SGML_CATALOG_FILES "$thisSgmlCatalog" +else if ( "\\\`echo \$SGML_CATALOG_FILES | grep -v $thisSgmlCatalog\\\`" != "" ) then + setenv SGML_CATALOG_FILES "$thisSgmlCatalog:\$SGML_CATALOG_FILES" +endif +endif +# /etc/SGML/catalog exists but is not in SGML_CATALOG_FILES, so add it +if ( -f /etc/sgml/catalog && "\\\`echo \$SGML_CATALOG_FILES | grep -v /etc/sgml/catalog\\\`" != "" ) then + setenv SGML_CATALOG_FILES {\$SGML_CATALOG_FILES}:/etc/sgml/catalog +endif +EOF + +if [ -n "$myCatalogManager" ]; then + myCatalogManagerDir=${myCatalogManager%/*} + while read; do + echo "$REPLY" >> $mydir/.profile.incl + done <<EOF + + +if [ -z "\$CLASSPATH" ]; then + CLASSPATH="$myCatalogManagerDir" +else + # $myCatalogManagerDir is not in CLASSPATH, so add it + if [ "\${CLASSPATH#*$myCatalogManagerDir*}" = "\$CLASSPATH" ]; then + CLASSPATH="$myCatalogManagerDir$classPathSeparator\$CLASSPATH" + fi +fi +export CLASSPATH +EOF + + while read; do + echo "$REPLY" >> $mydir/.cshrc.incl + done <<EOF + + +if ( ! $\?CLASSPATH ) then + setenv CLASSPATH "$myCatalogManagerDir" +# $myCatalogManagerDir is not in CLASSPATH, so add it +else if ( "\\\`echo \$CLASSPATH | grep -v $myCatalogManagerDir\\\`" != "" ) then + setenv CLASSPATH "$myCatalogManagerDir$classPathSeparator\$CLASSPATH" +endif +endif +EOF + +fi + +while read; do + echo "$REPLY" >> $mydir/.emacs.el +done <<EOF +(add-hook + 'nxml-mode-hook + (lambda () + (setq rng-schema-locating-files-default + (append '("$thisLocatingRules") + rng-schema-locating-files-default )))) +EOF + +return 0 +} + +updateUserStartupFiles() { + if [ ! "$batchmode" = "Yes" ]; then + cat 1>&2 <<EOF + +NOTE: To source your environment correctly for using the catalog + files in this distribution, you need to update one or more + of your shell startup files. This installer can + automatically make the necessary changes. Or, if you prefer, + you can make the changes manually. + +EOF + else + emit_message + fi + + # if running csh or tcsh, target .cshrc and .tcshrc files for + # update; otherwise, target .bash_* and .profiles + + parent=$(ps -p $PPID | grep "/") + if [ "${parent#*csh}" != "$parent" ] || [ "${parent#*tcsh}" != "$parent" ]; then + myStartupFiles=".cshrc .tcshrc" + appendLine="source $mydir/.cshrc.incl" + else + myStartupFiles=".bash_profile .bash_login .profile .bashrc" + appendLine=". $mydir/.profile.incl" + fi + + for file in $myStartupFiles; do + if [ -f "$HOME/$file" ]; then + dotFileBackup=$HOME/$file.$$.bak + REPLY="" + if [ ! "$batchmode" = "Yes" ]; then + read -s -n1 -p "Update $HOME/$file? [Yes] " + emit_message "$REPLY" + fi + case $REPLY in + [nNqQ]) + cat 1>&2 <<EOF + +NOTE: No change made to $HOME/$file. You either need + to add the following line to it, or manually source + the shell environment for this distribution each + time you want use it. + +$appendLine + +EOF + ;; + *) + lineExists="$(grep "$appendLine" $HOME/$file )" + if [ ! "$lineExists" ]; then + mv $HOME/$file $dotFileBackup || exit 1 + cp $dotFileBackup $HOME/$file || exit 1 + echo "$appendLine" >> $HOME/$file || exit 1 + cat 1>&2 <<EOF +NOTE: Successfully updated the following file: + $HOME/$file + Backup written to: + $dotFileBackup + +EOF + else + cat 1>&2 <<EOF +NOTE: The following file already contains information for this + distribution, so I did not update it. + $HOME/$file + +EOF + fi + ;; + esac + fi + done + if [ -z "$dotFileBackup" ]; then + if [ ! "$batchmode" = "Yes" ]; then + emit_message + fi + cat 1>&2 <<EOF +NOTE: No shell startup files updated. You can source the + environment for this distribution manually, each time you + want to use it, by typing the following. + +$appendLine + +EOF + fi +} + +updateUserDotEmacs() { + if [ -f $thisLocatingRules ]; then + cat 1>&2 <<EOF + +NOTE: This distribution includes a "schema locating rules" file + for Emacs/nXML. To use it, you should update either your + .emacs or .emacs.el file. This installer can automatically + make the necessary changes. Or, if you prefer, you can make + the changes manually. + +EOF + + emacsAppendLine="(load-file \"$mydir/.emacs.el\")" + myEmacsFile= + for file in .emacs .emacs.el; do + if [ -f "$HOME/$file" ]; then + myEmacsFile=$HOME/$file + break + fi + done + if [ ! -f "$myEmacsFile" ]; then + REPLY="" + if [ ! "$batchmode" = "Yes" ]; then + read -s -n1 -p "No .emacs or .emacs.el file. Create one? [No] " + emit_message "$REPLY" + emit_message + fi + case $REPLY in + [yY]) + myEmacsFile=$HOME/.emacs + touch $myEmacsFile + ;; + *) + cat 1>&2 <<EOF +NOTE: No Emacs changes made. To use this distribution with, + Emacs/nXML, you can create a .emacs file and manually add + the following line to it, or you can run it as a command + within Emacs. + +$emacsAppendLine + +EOF + ;; + esac + fi + if [ -n "$myEmacsFile" ]; then + REPLY="" + if [ ! "$batchmode" = "Yes" ]; then + read -s -n1 -p "Update $myEmacsFile? [Yes] " + emit_message "$REPLY" + emit_message + fi + case $REPLY in + [nNqQ]) + cat 1>&2 <<EOF + +NOTE: No change made to $myEmacsFile. To use this distribution + with Emacs/nXML, you can manually add the following line + to your $myEmacsFile, or you can run it as a command + within Emacs. + +$emacsAppendLine + +EOF + ;; + *) + lineExists="$(grep "$emacsAppendLine" $myEmacsFile)" + if [ ! "$lineExists" ]; then + dotEmacsBackup=$myEmacsFile.$$.bak + mv $myEmacsFile $dotEmacsBackup || exit 1 + cp $dotEmacsBackup $myEmacsFile || exit 1 + echo "$emacsAppendLine" >> $myEmacsFile || exit 1 + cat 1>&2 <<EOF +NOTE: Successfully updated the following file: + $myEmacsFile + Backup written to: + $dotEmacsBackup +EOF + else + cat 1>&2 <<EOF + +NOTE: The following file already contains information for this + distribution, so I did not update it. + $myEmacsFile + +EOF + fi + ;; + esac + fi +fi +} + +uninstall() { + if [ ! "$batchmode" = "Yes" ]; then + cat 1>&2 <<EOF + +NOTE: To "uninstall" this distribution, the changes made to your + CatalogManagers.properties, startup files, and/or .emacs + file need to be reverted. This uninstaller can automatically + revert them. Or, if you prefer, you can revert them manually. + +EOF + fi + + if [ "$osName" = "Cygwin" ]; then + thisXmlCatalog=$thisJavaXmlCatalog + fi + + # make "escaped" version of PWD to use with sed and grep + escapedPwd=$(echo $mydir | sed "s#/#\\\\\/#g") + + # check to see if a non-empty value for catalogManager was fed + # to uninstaller. + if [ -n ${1#--catalogManager=} ]; then + myCatalogManager=${1#--catalogManager=} + catalogBackup="$myCatalogManager.$$.bak" + catalogsLine=$(grep "^catalogs=" $myCatalogManager) + if [ "$catalogsLine" ] ; then + if [ "${catalogsLine#*$thisXmlCatalog*}" != "$catalogsLine" ]; then + REPLY="" + if [ ! "$batchmode" = "Yes" ]; then + read -s -n1 -p "Revert $myCatalogManager? [Yes] " + emit_message "$REPLY" + fi + case $REPLY in + [nNqQ]*) + cat 1>&2 <<EOF + +NOTE: No change made to $myCatalogManager. You need to manually + remove the following path from the "catalog=" line. + + $thisXmlCatalog + +EOF + ;; + *) + mv $myCatalogManager $catalogBackup || exit 1 + sed "s#^catalogs=\(.*\)$thisXmlCatalog\(.*\)\$#catalogs=\1\2#" $catalogBackup \ + | sed 's/;\+/;/' | sed 's/;$//' | sed 's/=;/=/' > $myCatalogManager || exit 1 + cat 1>&2 <<EOF +NOTE: Successfully updated the following file: + $myCatalogManager + Backup written to: + $catalogBackup + +EOF + ;; + esac + else + emit_message "NOTE: No data for this distribution found in:" + emit_message " $myCatalogManager" + emit_message + fi + else + cat 1>&2 <<EOF +NOTE: No data for this distribution was found in the following + file, so I did not revert it. + $myCatalogManager +EOF + fi + fi + + if [ -n "$myEmacsFile" ]; then + # check to see if a non-empty value for --dotEmacs file was fed + # to uninstaller. + if [ -n ${2#--dotEmacs=} ]; then + myEmacsFile=${2#--dotEmacs=} + revertLine="(load-file \"$escapedPwd\/\.emacs\.el\")" + loadLine="$(grep "$revertLine" "$myEmacsFile")" + if [ -n "$loadLine" ]; then + emit_message + REPLY="" + if [ ! "$batchmode" = "Yes" ]; then + read -s -n1 -p "Revert $myEmacsFile? [Yes] " + emit_message "$REPLY" + fi + case $REPLY in + [nNqQ]*) + cat 1>&2 <<EOF + +NOTE: No change made to $myEmacsFile. You need to manually +remove the following line. + +(load-file \"$mydir/.emacs.el\") + +EOF + ;; + *) + dotEmacsBackup=$myEmacsFile.$$.bak + sed -e "/$revertLine/d" -i".$$.bak" $myEmacsFile || exit 1 + cat 1>&2 <<EOF +NOTE: successfully reverted the following file: + $myEmacsFile + Backup written to: + $dotEmacsBackup + +EOF + ;; + esac + else + emit_message "NOTE: No data for this distribution found in:" + emit_message " $myEmacsFile" + fi + fi + fi + + # check all startup files + myStartupFiles=".bash_profile .bash_login .profile .bashrc .cshrc .tcshrc" + for file in $myStartupFiles; do + if [ -e "$HOME/$file" ]; then + case $file in + .tcshrc|.cshrc) + revertLine="source $mydir/.cshrc.incl" + revertLineEsc="source $escapedPwd\/\.cshrc\.incl" + ;; + *) + revertLine=". $mydir/.profile.incl" + revertLineEsc="\. $escapedPwd\/\.profile\.incl" + ;; + esac + lineExists="$(grep "$revertLineEsc" $HOME/$file )" + if [ "$lineExists" ]; then + REPLY="" + if [ ! "$batchmode" = "Yes" ]; then + read -s -n1 -p "Update $HOME/$file? [Yes] " + emit_message "$REPLY" + fi + case $REPLY in + [nNqQ]*) + cat 1>&2 <<EOF + +NOTE: No change made to $HOME/$file. You need to manually remove + the following line from it. + + $revertLine + +EOF + ;; + *) + dotFileBackup=$HOME/$file.$$.bak + sed -e "/$revertLineEsc/d" -i".$$.bak" $HOME/$file || exit 1 + cat 1>&2 <<EOF +NOTE: Successfully updated the following file: + $HOME/$file + Backup written to: + $dotFileBackup + +EOF + ;; + esac + else + emit_message "NOTE: No data for this distribution found in:" + emit_message " $HOME/$file" + emit_message + fi + fi + done + removeOldFiles + emit_message "Done. Deleted uninstall.sh file." + rm -f $mydir/test.sh || exit 1 + rm -f $mydir/uninstall.sh || exit 1 +} + +writeUninstallFile() { + uninstallFile=$mydir/uninstall.sh + echo '#!/bin/bash' > $uninstallFile || exit 1 + echo 'mydir=$(cd -P $(dirname $0) && pwd -P)' >> $uninstallFile || exit 1 + echo "\$mydir/install.sh \\" >> $uninstallFile || exit 1 + echo " --uninstall \\" >> $uninstallFile || exit 1 + echo " --catalogManager=$myCatalogManager \\" >> $uninstallFile || exit 1 + echo " --dotEmacs='$myEmacsFile' \\" >> $uninstallFile || exit 1 + echo ' $@' >> $uninstallFile || exit 1 + chmod 755 $uninstallFile || exit 1 +} + +writeTestFile() { + testFile=$mydir/test.sh + echo "#!/bin/bash" > $testFile || exit 1 + echo 'mydir=$(cd -P $(dirname $0) && pwd -P)' >> $testFile || exit 1 + echo '$mydir/install.sh --test' >> $testFile || exit 1 + chmod 755 $testFile || exit 1 +} + +printExitMessage() { + cat 1>&2 <<EOF +To source your shell environment for this distribution, type the +following: + +$appendLine + +EOF +} + +checkForResolver() { + resolverResponse="$(java org.apache.xml.resolver.apps.resolver uri -u foo 2>/dev/null)" + if [ -z "$resolverResponse" ]; then + cat 1>&2 <<EOF + +NOTE: Your environment does not seem to contain the Apache XML + Commons Resolver; without that, you can't use XML catalogs + with Java applications. For more information, see the "How + to use a catalog file" section in Bob Stayton's "DocBook + XSL: The Complete Guide" + + http://sagehill.net/docbookxsl/UseCatalog.html + +EOF + fi +} + +emitNoChangeMsg() { + cat 1>&2 <<EOF + +NOTE: No changes were made to CatalogManagers.properties. To + provide your Java tools with XML catalog information for + this distribution, you will need to make the appropriate + changes manually. + +EOF +} + +testCatalogs() { + if [ ! -f "$thisXmlCatalog" ]; then + cat 1>&2 <<EOF + +FATAL: $thisXmlCatalog file needed but not found. Stopping. +EOF + exit + fi + + if [ -z "$XML_CATALOG_FILES" ]; then + emit_message + emit_message "WARNING: XML_CATALOG_FILES not set. Not testing with xmlcatalog." + else + xmlCatalogResponse="$(xmlcatalog 2>/dev/null)" + if [ -z "$xmlCatalogResponse" ]; then + cat 1>&2 <<EOF + +WARNING: Cannot locate the "xmlcatalog" command. Make sure that + you have libxml2 and its associated utilities installed. + + http://xmlsoft.org/ + +EOF + else + emit_message "Testing with xmlcatalog..." + # read in pathname-uri pairs from .urilist file + while read pair; do + if [ ! "${pair%* *}" = "." ]; then + path=$mydir/${pair%* *} + else + path=$mydir/ + fi + uri=${pair#* *} + emit_message + emit_message " Tested: $uri" + for catalog in $XML_CATALOG_FILES; do + response="$(xmlcatalog $catalog $uri| grep -v "No entry")" + if [ -n "$response" ]; then + if [ "$response" = "$path" ]; then + emit_message " Result: $path" + break + else + emit_message " Result: FAILED" + fi + fi + done + done < $mydir/.urilist + fi + fi + + if [ -z "$CLASSPATH" ]; then + emit_message + emit_message "NOTE: CLASSPATH not set. Not testing with Apache XML Commons Resolver." + else + if [ "$(checkForResolver)" ]; then + checkForResolver + else + emit_message + emit_message "Testing with Apache XML Commons Resolver..." + # read in pathname-uri pairs from .urilist file + while read pair; do + if [ ! "${pair%* *}" = "." ]; then + path=$mydir/${pair%* *} + else + path=$mydir/ + fi + uri=${pair#* *} + emit_message + emit_message " Tested: $uri" + if [ ${uri%.dtd} != $uri ]; then + response="$(java org.apache.xml.resolver.apps.resolver system -s $uri | grep "Result")" + else + response="$(java org.apache.xml.resolver.apps.resolver uri -u $uri | grep "Result")" + fi + if [ "$response" ]; then + if [ "${response#*$path}" != "$response" ]; then + emit_message " Result: $path" + else + emit_message " Result: FAILED" + fi + echo + fi + done < $mydir/.urilist + fi + fi +} + +# get opts and execute appropriate function +case $1 in + *-uninstall) + uninstall $2 $3 $4 + ;; + *-test) + testCatalogs + ;; + *) + main + ;; +esac + +# Copyright +# --------- +# Copyright 2005-2007 Michael(tm) Smith <smith@sideshowbarker.net> +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, copy, +# modify, merge, publish, distribute, sublicense, and/or sell copies +# of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +# DEALINGS IN THE SOFTWARE. + +# vim: number diff --git a/doc/help/xslt/javahelp/javahelp.xsl b/doc/help/xslt/javahelp/javahelp.xsl new file mode 100644 index 00000000..593e9b09 --- /dev/null +++ b/doc/help/xslt/javahelp/javahelp.xsl @@ -0,0 +1,625 @@ +<?xml version="1.0"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" + xmlns:ng="http://docbook.org/docbook-ng" + xmlns:db="http://docbook.org/ns/docbook" + xmlns:exsl="http://exslt.org/common" + version="1.0" + exclude-result-prefixes="doc ng db exsl"> + +<xsl:import href="../html/chunk.xsl"/> + +<xsl:output method="html"/> + +<!-- ******************************************************************** + $Id: javahelp.xsl 8400 2009-04-08 07:44:54Z bobstayton $ + ******************************************************************** + + This file is part of the XSL DocBook Stylesheet distribution. + See ../README or http://docbook.sf.net/release/xsl/current/ for + copyright and other information. + + ******************************************************************** --> + +<!-- ==================================================================== --> + +<xsl:template match="/"> + <!-- * Get a title for current doc so that we let the user --> + <!-- * know what document we are processing at this point. --> + <xsl:variable name="doc.title"> + <xsl:call-template name="get.doc.title"/> + </xsl:variable> + <xsl:choose> + <!-- Hack! If someone hands us a DocBook V5.x or DocBook NG document, + toss the namespace and continue. Use the docbook5 namespaced + stylesheets for DocBook5 if you don't want to use this feature.--> + <xsl:when test="$exsl.node.set.available != 0 + and (*/self::ng:* or */self::db:*)"> + <xsl:call-template name="log.message"> + <xsl:with-param name="level">Note</xsl:with-param> + <xsl:with-param name="source" select="$doc.title"/> + <xsl:with-param name="context-desc"> + <xsl:text>namesp. cut</xsl:text> + </xsl:with-param> + <xsl:with-param name="message"> + <xsl:text>stripped namespace before processing</xsl:text> + </xsl:with-param> + </xsl:call-template> + <xsl:variable name="nons"> + <xsl:apply-templates mode="stripNS"/> + </xsl:variable> + <xsl:call-template name="log.message"> + <xsl:with-param name="level">Note</xsl:with-param> + <xsl:with-param name="source" select="$doc.title"/> + <xsl:with-param name="context-desc"> + <xsl:text>namesp. cut</xsl:text> + </xsl:with-param> + <xsl:with-param name="message"> + <xsl:text>processing stripped document</xsl:text> + </xsl:with-param> + </xsl:call-template> + <xsl:apply-templates select="exsl:node-set($nons)"/> + </xsl:when> + <xsl:otherwise> + <xsl:choose> + <xsl:when test="$rootid != ''"> + <xsl:choose> + <xsl:when test="count(key('id',$rootid)) = 0"> + <xsl:message terminate="yes"> + <xsl:text>ID '</xsl:text> + <xsl:value-of select="$rootid"/> + <xsl:text>' not found in document.</xsl:text> + </xsl:message> + </xsl:when> + <xsl:otherwise> + <xsl:message>Formatting from <xsl:value-of select="$rootid"/></xsl:message> + <xsl:apply-templates select="key('id',$rootid)" mode="process.root"/> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="/" mode="process.root"/> + </xsl:otherwise> + </xsl:choose> + <xsl:for-each select="/"> <!-- This is just a hook for building profiling stylesheets --> + <xsl:call-template name="helpset"/> + <xsl:call-template name="helptoc"/> + <xsl:call-template name="helpmap"/> + <xsl:call-template name="helpidx"/> + </xsl:for-each> +</xsl:otherwise> +</xsl:choose> +</xsl:template> + +<xsl:template name="header.navigation"> +</xsl:template> + +<xsl:template name="footer.navigation"> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template name="helpset"> + <xsl:call-template name="write.chunk.with.doctype"> + <xsl:with-param name="filename" select="concat($base.dir,'jhelpset.hs')"/> + <xsl:with-param name="method" select="'xml'"/> + <xsl:with-param name="indent" select="'yes'"/> + <xsl:with-param name="doctype-public" select="'-//Sun Microsystems Inc.//DTD JavaHelp HelpSet Version 1.0//EN'"/> + <xsl:with-param name="doctype-system" select="'http://java.sun.com/products/javahelp/helpset_1_0.dtd'"/> + <xsl:with-param name="content"> + <xsl:call-template name="helpset.content"/> + </xsl:with-param> + <xsl:with-param name="quiet" select="$chunk.quietly"/> + </xsl:call-template> +</xsl:template> + +<xsl:template name="helpset.content"> + <xsl:variable name="title"> + <xsl:apply-templates select="." mode="title.markup"/> + </xsl:variable> + + <helpset version="1.0"> + <title> + <xsl:value-of select="normalize-space($title)"/> + + + + + top + + + + + + TOC + + javax.help.TOCView + jhelptoc.xml + + + + Index + + javax.help.IndexView + jhelpidx.xml + + + + Search + + javax.help.SearchView + JavaHelpSearch + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + , + + + + , + + + + + + + + + + + + + + + + + + + + + bullet + + + + © + + + + TM + + + + + ® + (SM) +   + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/javahelp/profile-javahelp.xsl b/doc/help/xslt/javahelp/profile-javahelp.xsl new file mode 100644 index 00000000..eabac3ea --- /dev/null +++ b/doc/help/xslt/javahelp/profile-javahelp.xsl @@ -0,0 +1,549 @@ + + + + + + + + + + + + + +Note: namesp. cut : stripped namespace before processingNote: namesp. cut : processing stripped document + + + + + + + + + + + + + + + ID ' + + ' not found in document. + + + + Formatting from + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <xsl:value-of select="normalize-space($title)"/> + + + + + top + + + + + + TOC + + javax.help.TOCView + jhelptoc.xml + + + + Index + + javax.help.IndexView + jhelpidx.xml + + + + Search + + javax.help.SearchView + JavaHelpSearch + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + , + + + + , + + + + + + + + + + + + + + + + + + + + + bullet + + + + © + + + + TM + + + + + ® + (SM) +   + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/lib/lib.xsl b/doc/help/xslt/lib/lib.xsl new file mode 100644 index 00000000..5eee4862 --- /dev/null +++ b/doc/help/xslt/lib/lib.xsl @@ -0,0 +1,480 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + http://... + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Unrecognized unit of measure: + + . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Unrecognized unit of measure: + + . + + + + + + + filename + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + / + + + + + + + + + + + + / + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/manpages/ChangeLog.20020917 b/doc/help/xslt/manpages/ChangeLog.20020917 new file mode 100644 index 00000000..c170cc05 --- /dev/null +++ b/doc/help/xslt/manpages/ChangeLog.20020917 @@ -0,0 +1,195 @@ +Note: This changelog is a record of descriptions of all changes +made to the DocBook XSL manpages stylesheets during the time when +they were maintained in their original home in the +[cvs]/docbook/contrib/xsl/db2man area of the DocBook Project +source-code repository at Sourceforge; that is, from October 2001 +(when they were contributed to the project by Martijn van Beers) +until September 2002 (when they were moved to the +[cvs]/docbook/xsl/manpages area and became a standard part of all +subsequent DocBook XSL Stylesheets releases). + +2002-09-17 Norman Walsh + + * README, db2man.xsl, lists.xsl, sect23.xsl, synop.xsl, xref.xsl: + Moved to docbook/xsl/manpages + + * db2man.xsl, synop.xsl: Patch from Joe Orton + +2002-06-16 + + * db2man.xsl: commit patch sent by Joe Orton: + + This patch adds support for using the productname, date and title out of + a if one is present, rather than having to add each of + these individually for every refentry. + + * db2man.xsl: Tim Waugh sent: + + This patch normalizes space in each refname before displaying it in + the name section. + +2002-05-21 + + * xref.xsl: from Joe Orton: + this patch allows cross-referencing to a specific refname. I + need this since I'm documenting several different (but related) + functions per refentry, and want to cross-reference them individually, + rather than just by the title used for the refentry as a whole. + +2002-05-17 + + * lists.xsl: apply glosslist support patch from twaugh + +2002-05-15 + + * db2man.xsl: slightly sanitize the filenames we generate. again from twaugh + + * db2man.xsl: Apply twaugh's fix for making the entity transform stuff work + +2002-05-14 + + * db2man.xsl: generalize the tip template for all admonitions + (caution,important,note,tip,warning) + + * db2man.xsl: Apply Joe Orton's patch, modified to be indented. Also show "Tip" + in the title. + + so if foo, you get + Tip: foo + + * synop.xsl: rewrote funcprototype. It used to convert all its children to a single + string and the split it up again through recursion. Now has a nice + foreach loop for the paramdefs, which seems much cleaner than throwing + everything in a big string before processing it. + +2002-05-10 + + * db2man.xsl: add support for simpara + + * db2man.xsl, lists.xsl: fix refsect2 titles + + * synop.xsl: also from twaugh: + + I found some input that goes wrong with the synop.xsl we have in CVS: + + + -o FILE + --output=FILE + + + It gets rendered as (with *bold* and _italic_): + + [*-o FILE* | *--output=FILE*] + + The desired markup should look like: + The following macro does the trick: + + [\fB-o \fIFILE\fR\fR | \fB--output=\fIFILE\fR\fR] + + The trouble is that the named template 'bold' uses value-of, and so + strips of its significance. + + Another thing I found is that the arg/replaceable template is + superfluous altogether: db2man.xsl has a 'replaceable' template which + does the same thing. + + Here is a patch to make those two modifications. + + NOTE TO SELF: must try to fix bold template so we can use it everywhere + +2002-05-09 + + * db2man.xsl: oops, removed too much + + * db2man.xsl: remove stuff that's apparently left-over from sect23.xsl + + * db2man.xsl, lists.xsl, synop.xsl: batch of patches from twaugh: + * This patch (based on one from Jirka Kosek) adds support for + block-level elements inside s---s for example, or lists. + * This patch replaces entities (like '舒') with sensible + characters or groups of characters. + * This patch adds support for sbr. + * This patch normalizes spaces in varlistentry terms. + * This patch normalizes spaces in terminal varlistentry terms. + * This patch allows variable lists to be nested (once). + * This patch prevents variable list item paragraphs from merging into + one another. + * This patch improves the rendering of itemized lists, and adds support + for ordered lists and procedures. + * This patch makes some small adjustments to group/arg: don't put extra + spaces in where they aren't needed, and normalize the space of $arg. + * This patch makes adjustments to cmdsynopsis elements. In particular, + they can now be wrapped if no is provided. + * This patch adds funcsynopsis//* support. Again, wrapping is done + automatically. + + * synop.xsl: make synopsises work for --arg=foo s too + + * synop.xsl: remove unneccesary adding of whitespace for arg/replaceable + +2002-05-01 + + * db2man.xsl: This patch adds support for multiple refnames. + + (another twaugh patch) + + * db2man.xsl: modified ulink patch from twaugh. Be nice to content-less ulinks. But we + don't accomodate silly people who don't understand ulink and put the + url as the content too. + + * db2man.xsl, synop.xsl: db2man.xsl: + * temporarily add some params that chunker.xsl needs + * fix bold/italic templates + * update calls to bold/italic templates for new syntax + synop.xsl: + * add support for synopfragment + * update calls to bold/italic templates for new syntax + +2002-04-30 + + * db2man.xsl: Add twaug's patch for xref support + + * db2man.xsl: This patch adds support for: + + - Multiple authors. + - A (single) man page editor. + + (another patch from twaugh) + + * db2man.xsl: more twaugh patches: + - Use refentrytitle, not refname[1], for title. + - Upper-case it. + - Use date, productname, and title. + - Pick up author from main document if not contained in refentry. + - Use refname[1] for man page filename, not refentrytitle. + + * db2man.xsl: add varname support + + * db2man.xsl: This patch makes userinput (an inline element) have inline formatting. + + * db2man.xsl: This patch adds support for the top-level document being something + other than an article. + + It also emits a helpful warning if no refentry elements are found. + + * db2man.xsl: next twaugh patch: + Instead of writing to stdout, create a file for each + refentry. Plus, for bonus points, a file for each additional refname + within that entry (pointing to the main page). + + * db2man.xsl: Add named templates for bold-ifying and italicizing stuff. Inspired + by yet another twaugh patch + + * db2man.xsl, lists.xsl, sect23.xsl: consistently use instead of a newline + + * db2man.xsl, synop.xsl: * add support for informalexample, screen, errorcode, constant, type, + quote, programlisting and citerefentry + * use the 'bold' and 'italic' named templates + + * xref.xsl: New file. + +2001-12-01 Norman Walsh + + * README, db2man.xsl, lists.xsl, sect23.xsl, synop.xsl: + New file. + diff --git a/doc/help/xslt/manpages/block.xsl b/doc/help/xslt/manpages/block.xsl new file mode 100644 index 00000000..9278561b --- /dev/null +++ b/doc/help/xslt/manpages/block.xsl @@ -0,0 +1,411 @@ + + + + + + + + + + n + + .sp + + .RS 4 + + .BM yellow + + + .ps +1 + + .ps -1 + .br + + .sp .5v + + .EM yellow + + .RE + + + + + + + .PP + + + + + + + . + + + + + + + + + + + + + + + + + + + + + .sp + + .RS 4n + + + + + .PP + + + + + + + + .RE + + + + + + + + + + + .sp + + .RS 4n + + + + + .sp + + + + + + + + + + + + + + + + + + + + Yes + + + + + + + + + + + + Yes + + + + + + + + + + + + + + + + .sp + + + + + + + .RS + + + + + + + + + + + + + + + + + + + + + + + + + + + .ft + + + + .nf + + + .fi + + .ft + + + + + .nf + + + + + + + + + + + + + t + + .sp -1 + + .BB lightgray + + adjust-for-leading-newline + + + + .sp -1 + + + .BB lightgray + + + + + + + .EB lightgray + + adjust-for-leading-newline + + t + + + + + + .sp 1 + + + + .EB lightgray + + + + + + + + + + + .fi + + + + + + + .RE + + + + + + .sp + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + before + + + + + + + .PP + + + + + + + + + + .sp + + .RS + + + + + + + + .RE + + + + [IMAGE] + + + + + + [ + + ] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/manpages/charmap.groff.xsl b/doc/help/xslt/manpages/charmap.groff.xsl new file mode 100644 index 00000000..a9492faf --- /dev/null +++ b/doc/help/xslt/manpages/charmap.groff.xsl @@ -0,0 +1,6013 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/manpages/docbook.xsl b/doc/help/xslt/manpages/docbook.xsl new file mode 100644 index 00000000..a0a4251b --- /dev/null +++ b/doc/help/xslt/manpages/docbook.xsl @@ -0,0 +1,311 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Note + + + namesp. cut + + + stripped namespace before processing + + + + + + + Note + + + namesp. cut + + + processing stripped document + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MAN.MANIFEST + + + + + + + + + + + Erro + + + no refentry + + + No refentry elements found + + in " + + + + ... + + + + + + " + + . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + '\" t + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + .\" ----------------------------------------------------------------- + .\" * MAIN CONTENT STARTS HERE * + .\" ----------------------------------------------------------------- + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/manpages/endnotes.xsl b/doc/help/xslt/manpages/endnotes.xsl new file mode 100644 index 00000000..8e52e01c --- /dev/null +++ b/doc/help/xslt/manpages/endnotes.xsl @@ -0,0 +1,586 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Warn + + + endnote + + + + Bad: + + + + + [ + + ] + in source + + + + Note + + + endnote + + + + Has: + + / + + + + + Note + + + endnote + + + + Fix: + + / + para/ + + + + + + + + + + + + + + + + \% + + + + + + + + + + + \m[blue] + + + + + + + + + + + + + + + + + + + + + + + + + + + Warn + + + link font + + + invalid $man.font.links value: + ' + + ' + + + + + + + \m[] + + + + + + + \&\s-2\u[ + + ]\d\s+2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + .IP + " + + + . + + + + + + + + " + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + .RS + + + + + + + + + + \% + + + + + + .RE + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/manpages/html-synop.xsl b/doc/help/xslt/manpages/html-synop.xsl new file mode 100644 index 00000000..06c3eb2f --- /dev/null +++ b/doc/help/xslt/manpages/html-synop.xsl @@ -0,0 +1,1567 @@ + + + + + + + + + + + + +
    + +

    + + + + + + + + + + + + +

    +
    +
    + + + +. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +. + + + + + + + + + + + + + ( + + ) + +   + + + + + + + + + + + + + + + + + + + ( + + ) + + + + + + + + + + + + + + + + + + + + + + + .sp +.nf +
    +    
    +    
    +  
    .fi + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + + + +. + + + +

    +
    + + + + + + ( + + + + + + + + + + + + + + + + ) + ; + + + + ... + ) + ; + + + + + + + , + + + ) + ; + + + + + + + + + + + + + + + + + + + + + +. + + + + + ; + + + + + + + + + + + + + + + + + + + ( + + ) + + + + + + + + + + + + + + + + + +
    + +
     
    + +
    + +
    +
    +
     
    +
    + + + + + + ( + + + + + + + + + + + + + + + + + ) + ; + +   + + + + + ... + ) + ; + +   + + + + + + + + , + + + ) + ; + + + +   + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +   + + + + + + + + + + + + + + + + + + + + + + + + + + + + +   + + + + + + ; + + + + + + + + + + + + + + + + + + + + + + + + ( + + ) + ; + + + + + + +

    + +

    +
    + + + + + + ( + + + + + + + + + + + + + + + + void) + ; + + + + ... + ) + ; + + + + + + + , + + + ) + ; + + + + + + + + + + + + + + + + + + + + + ( + + ) + + + + + + + + + + + + + + + + + +
    + +
     
    +
     
    +
    + + + + + + ( + + + + + + + + + + + + + + + + + void) + ; + +   + + + + + ... + ) + ; + +   + + + + + + + + , + + + ) + ; + + + + + + + + + + + + + + + + + + + + + + ( + + ) + + + + +java + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Unrecognized language on + + : + + + + + + + + + + + + +. + + + + + + + + + .sp +.nf +
    +    
    +    
    +    
    +       extends
    +      
    +      
    +        
    +.
    +
    +	    
    +      
    +    
    +    
    +      implements
    +      
    +      
    +        
    +.
    +
    +	    
    +      
    +    
    +    
    +      throws
    +      
    +    
    +     {
    +    
    +.
    +
    +    
    +    }
    +  
    .fi + +
    + + + + + + + + + , + + + + + + + + + + + + + + + + +   + + + + + + + , + + + + + + + + + + , + + + + + + + + + + , + + + + + + + + + + + +    + + + ; + + + + + + + + +   + + + + + + + +   + + + + + + + =  + + + + + + + + void  + + + + + + + + + + + + 0 + + , + +. + + + +   + + + + + + + + + + + + + + + + + + + + + + + +    + + + + + + + + + + + + + + + ( + + + + ) + + +. + +     throws  + + + + + + + ; + + + + + + + + .sp +.nf +
    +    
    +    
    +    
    +      : 
    +      
    +      
    +        
    +.
    +
    +	    
    +      
    +    
    +    
    +       implements
    +      
    +      
    +        
    +.
    +
    +	    
    +      
    +    
    +    
    +       throws
    +      
    +    
    +     {
    +    
    +.
    +
    +    
    +    }
    +  
    .fi + +
    + + + + + + + + , + + + + + + + + + + + + +   + + + + + + + , + + + + + + + + + + , + + + + + + + + + + , + + + + + + + + + + + +    + + + ; + + + + + + + + +   + + + + + + + +   + + + + + + + =  + + + + + + + + void  + + + + + + + + + + + + + , + + + + + + + + + + + + + + + + + + + + + + +    + + + + + + + + + + ( + + ) + + +. + +     throws  + + + + + + + ; + + + + + + + + .sp +.nf +
    +    
    +    interface 
    +    
    +    
    +      : 
    +      
    +      
    +        
    +.
    +
    +	    
    +      
    +    
    +    
    +       implements
    +      
    +      
    +        
    +.
    +
    +	    
    +      
    +    
    +    
    +       throws
    +      
    +    
    +     {
    +    
    +.
    +
    +    
    +    }
    +  
    .fi + +
    + + + + + + + + , + + + + + + + + + + + + +   + + + + + + + , + + + + + + + + + + , + + + + + + + + + + , + + + + + + + + + + + +    + + + ; + + + + + + + + +   + + + + + + + +   + + + + + + + =  + + + + + + + + void  + + + + + + + + + + + + + , + + + + + + + + + + + + + + + + + + + + + +    + + + + + + + + + + ( + + ) + + +. + +     raises( + + ) + + + + + + ; + + + + + + + + .sp +.nf +
    +    
    +    package 
    +    
    +    ;
    +    
    +.
    +
    +
    +    
    +      @ISA = (
    +      
    +      );
    +      
    +.
    +
    +    
    +
    +    
    +  
    .fi + +
    + + + + + + + + , + + + + + + + + + + + + +   + + + + + + + , + + + + + + + + + + , + + + + + + + + + + , + + + + + + + + + + + +    + + + ; + + + + + + + + +   + + + + + + + +   + + + + + + + =  + + + + + + + + void  + + + + + + + + + + + + + , + + + + + + + + + + + + + + + + + + + + + + sub + + + { ... }; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + diff --git a/doc/help/xslt/manpages/info.xsl b/doc/help/xslt/manpages/info.xsl new file mode 100644 index 00000000..6698fb99 --- /dev/null +++ b/doc/help/xslt/manpages/info.xsl @@ -0,0 +1,800 @@ + + + + + + + + + + + + + + + + \n(zqu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + " + + + + " + + + + + + + + + + " + + + + " + + + + + + + + + + + + + + " + + " + + + + " + + " + + + + + + + + + + + + + + + + + + + + Documentation + + + DOCUMENTATION + + + + + + + + + + [see the + + section] + + + + + + [FIXME: author] [see http://docbook.sf.net/el/author] + + + Warn + + meta author + + no refentry/info/author + + + + Note + + meta author + + see http://docbook.sf.net/el/author + + + + Warn + + meta author + + no author data, so inserted a fixme + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + < + + + + + + + + + + + + + + + > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Author + + + Authors + + + + + + + + + + + + + + + + + .PP + + + + + + + + + + + .br + + + + + + + + + + + + + + .PP + + + + + + + + + + + + + .PP + + + + + + + + + + + + + .PP + + + + + + + + + + + + + + + .RS + + + + + + + + + . + .RE + + + + + + + + + + + + + + + + + + <\& + + + + + + + + + + + + + + + \&> + + + + + + + , + + + + + + + + + + + + + + + .br + + + + + + + + + + , + + + + + + + + + + + .br + + + + + + + + + + + + .br + + + + + + + + + + + + + + + + + + + + + + + + + Warn + + AUTHOR sect. + + no personblurb|contrib for + + + + + Note + + AUTHOR sect. + + see see http://docbook.sf.net/el/contrib + + + + Note + + AUTHOR sect. + + see see http://docbook.sf.net/el/personblurb + + + + + + + + + + .RS + + + + + + + + + . + .RE + + + + .RS + + + + + + + + + . + .RE + + + + + + + + .RS + + + + + + + + + . + .RE + + + + + + + + + + + + + + + + + + + + + + + + + + + .RE + + + + + + + + + + . + + + + + + + + + + + + + + + + .RE + + + + + + + + + + + .RS + + + + + + + + + + + + + .PP + + + + + .br + + + + + + + + + + + + + + + + + + + + + Copyright + + + + .br + + + + + + + + + + + .br + + + + + .sp + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/manpages/inline.xsl b/doc/help/xslt/manpages/inline.xsl new file mode 100644 index 00000000..56ca4c50 --- /dev/null +++ b/doc/help/xslt/manpages/inline.xsl @@ -0,0 +1,219 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ( + + ) + + + + + + + + + + + + + + + + + + © + + + ® + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + .\" + + + + + + + + + + : + + + + + + + + .\" + + + + + + diff --git a/doc/help/xslt/manpages/lists.xsl b/doc/help/xslt/manpages/lists.xsl new file mode 100644 index 00000000..dd90174c --- /dev/null +++ b/doc/help/xslt/manpages/lists.xsl @@ -0,0 +1,604 @@ + + + + + + + + + + + + + + + + \n(zqu + + + + + + + + + + + + + + .sp + + + + + + + + + + + .PP + + + + + + + + + + + .PP + + + + + + + + + + + + + + + + + + + + .br + + + + + + .RS + + + + + + + .RE + + + + + + + + + .sp + + + + + + + + + + + + + + + .sp + + .RS + + + + + + + + + + + \h'- + + + 0 + + + + \n(INu + + + ' + + \h'+ + + + 0 + + + + \n(INu-1 + + + '\c + + + + + + + .sp -1 + .IP \(bu 2.3 + + + + + + .RE + + + + + .sp + + .RS + + + + + + + + + + + \h'- + + + 0 + + + + \n(INu+3n + + + ' + + + + + \h'+ + + + 0 + + + + 1n + + + '\c + + + + + + + .sp -1 + .IP " + + + + + " 4.2 + + + + + + .RE + + + + + + .PP + + + + + + + + + + + + + + + + .sp + + + + + + + .PP + + + + + + + + + .sp + + + + + + + + + + + + + + + + + + + + + + + + + + + + , + + + + + + + + + + + + + + + + + .RS + + + + + + + + .RE + + + + + + + + + + .PP + + + + + + + .\" line length increase to cope w/ tbl weirdness + .ll +(\n(LLu * 62u / 100u) + + .TS + + + + + + l + + + . + + + + + + + + + + + + + + .TE + .\" line length decrease back to previous value + .ll -(\n(LLu * 62u / 100u) + + .sp + + + + + + + + + + + + + + + + + + + + + + + + + + + + T{ + + + + + T} + + + + + + + + + + + + + + + + + + + + + + + + + + + .TS + tab(:); + + + + r lw(\n(.lu*75u/100u). + + .TE + + + + + + + + + + + + + + \h'-2n': + + + T{ + + T} + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ??? + + + + + + + + + + \ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ??? + + + + + + + + + \fB( + + )\fR + + + + + + + \fB + + .\fR + + + + + + + + + + + diff --git a/doc/help/xslt/manpages/other.xsl b/doc/help/xslt/manpages/other.xsl new file mode 100644 index 00000000..54319250 --- /dev/null +++ b/doc/help/xslt/manpages/other.xsl @@ -0,0 +1,888 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ + + + + + \e + + + + + + + + . + \&. + + + + + + + + - + \- + + + + + + + + ' + \*(Aq + + + + + + + +   + + + + + + + + + + + + + + + + + + + + \ \& + + + + + + + + + + + + + + + + .\" Title: + + + + + .\" Author: + + + + + + + + + + .\" Generator: DocBook + + v + + + + <http://docbook.sf.net/> + + .\" Date: + + + + + .\" Manual: + + + + + .\" Source: + + + + + .\" Language: + + + .\" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + .TH " + + + + + + + + + + + + + " " + + " " + + + + + + + " " + + + + + + + + + + + + " " + + + + + + + + + + + + " + + + + + + + + + + + + .\" ----------------------------------------------------------------- + .\" * set default formatting + .\" ----------------------------------------------------------------- + + .\" disable hyphenation + .nh + + + + + .\" disable justification + (adjust text to left margin only) + .ad l + + + .\" store initial "default indentation value" + .nr zq \n(IN + .\" adjust default indentation + .nr IN + + + .\" adjust indentation of SS headings + .nr SN \n(IN + + + + + + .\" enable line breaks after slashes + .cflags 4 / + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Note: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Note: + (soelim stub) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Note: + (manifest file) + + + + + + + + + + + + + + .\" ----------------------------------------------------------------- + .\" * Define some portability stuff + .\" ----------------------------------------------------------------- + .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + .\" http://bugs.debian.org/507673 + .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html + .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + .ie \n(.g .ds Aq \(aq + + .el .ds Aq ' + + + + + + + .\" ----------------------------------------------------------------- + .\" * (re)Define some macros + .\" ----------------------------------------------------------------- + .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + .\" toupper - uppercase a string (locale-aware) + .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + .de toupper + .tr + + + \\$* + .tr + + + .. + .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + .\" SH-xref - format a cross-reference to an SH section + .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + .de SH-xref +.ie n \{\ +.\} +.toupper \\$* +.el \{\ +\\$* +.\} +.. + .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + .\" SH - level-one heading that works better for non-TTY output + .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + .de1 SH + .\" put an extra blank line of space above the head in non-TTY output + + t + + .sp 1 + + .sp \\n[PD]u +.nr an-level 1 +.set-an-margin +.nr an-prevailing-indent \\n[IN] +.fi +.in \\n[an-margin]u +.ti 0 +.HTML-TAG ".NH \\n[an-level]" +.it 1 an-trap +.nr an-no-space-flag 1 +.nr an-break-flag 1 +\." make the size of the head bigger +.ps +3 +.ft B +.ne (2v + 1u) +.ie n \{\ +.\" if n (TTY output), use uppercase +.toupper \\$* +.\} +.el \{\ +.nr an-break-flag 0 +.\" if not n (not TTY), use normal case (not uppercase) +\\$1 +.in \\n[an-margin]u +.ti 0 +.\" if not n (not TTY), put a border/line under subheading +.sp -.6 +\l'\n(.lu' +.\} +.. + .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + .\" SS - level-two heading that works better for non-TTY output + .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + .de1 SS +.sp \\n[PD]u +.nr an-level 1 +.set-an-margin +.nr an-prevailing-indent \\n[IN] +.fi +.in \\n[IN]u +.ti \\n[SN]u +.it 1 an-trap +.nr an-no-space-flag 1 +.nr an-break-flag 1 +.ps \\n[PS-SS]u +\." make the size of the head bigger +.ps +2 +.ft B +.ne (2v + 1u) +.if \\n[.$] \&\\$* +.. + .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + .\" BB/EB - put background/screen (filled box) around block of text + .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + .de BB +.if t \{\ +.sp -.5 +.br +.in +2n +.ll -2n +.gcolor red +.di BX +.\} +.. +.de EB +.if t \{\ +.if "\\$2"adjust-for-leading-newline" \{\ +.sp -1 +.\} +.br +.di +.in +.ll +.gcolor +.nr BW \\n(.lu-\\n(.i +.nr BH \\n(dn+.5v +.ne \\n(BHu+.5v +.ie "\\$2"adjust-for-leading-newline" \{\ +\M[\\$1]\h'1n'\v'+.5v'\D'P \\n(BWu 0 0 \\n(BHu -\\n(BWu 0 0 -\\n(BHu'\M[] +.\} +.el \{\ +\M[\\$1]\h'1n'\v'-.5v'\D'P \\n(BWu 0 0 \\n(BHu -\\n(BWu 0 0 -\\n(BHu'\M[] +.\} +.in 0 +.sp -.5v +.nf +.BX +.in +.sp .5v +.fi +.\} +.. + .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + .\" BM/EM - put colored marker in margin next to block of text + .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + .de BM +.if t \{\ +.br +.ll -2n +.gcolor red +.di BX +.\} +.. +.de EM +.if t \{\ +.br +.di +.ll +.gcolor +.nr BH \\n(dn +.ne \\n(BHu +\M[\\$1]\D'P -.75n 0 0 \\n(BHu -(\\n[.i]u - \\n(INu - .75n) 0 0 -\\n(BHu'\M[] +.in 0 +.nf +.BX +.in +.fi +.\} +.. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/manpages/param.xml b/doc/help/xslt/manpages/param.xml new file mode 100644 index 00000000..706c99d1 --- /dev/null +++ b/doc/help/xslt/manpages/param.xml @@ -0,0 +1,3220 @@ + + + + Manpages Parameter Reference + + $Id: param.xweb 8235 2009-02-09 16:22:14Z xmldoc $ + + + The DocBook Project + + + 2005-2007 + The DocBook Project + + + This is reference documentation for all user-configurable + parameters in the DocBook XSL "manpages" stylesheet (for + generating groff/nroff output). Note that the manpages + stylesheet is a customization layer of the DocBook XSL HTML + stylesheet. Therefore, you can also use a number of HTML stylesheet parameters + to control manpages output (in addition to the + manpages-specific parameters listed in this section). + + + + Hyphenation, justification, and breaking + + +man.hyphenate +boolean + + +man.hyphenate +Enable hyphenation? + + + + +<xsl:param name="man.hyphenate">0</xsl:param> + + +Description + +If non-zero, hyphenation is enabled. + + +The default value for this parameter is zero because groff is +not particularly smart about how it does hyphenation; it can end up +hyphenating a lot of things that you don't want hyphenated. To +mitigate that, the default behavior of the stylesheets is to suppress +hyphenation of computer inlines, filenames, and URLs. (You can +override the default behavior by setting non-zero values for the +man.hyphenate.urls, +man.hyphenate.filenames, and +man.hyphenate.computer.inlines parameters.) But +the best way is still to just globally disable hyphenation, as the +stylesheets do by default. + +The only good reason to enabled hyphenation is if you have also +enabled justification (which is disabled by default). The reason is +that justified text can look very bad unless you also hyphenate it; to +quote the Hypenation node from the groff info page: + +
    + Since the odds are not great for finding a set of + words, for every output line, which fit nicely on a line without + inserting excessive amounts of space between words, 'gtroff' + hyphenates words so that it can justify lines without inserting too + much space between words. +
    + +So, if you set a non-zero value for the +man.justify parameter (to enable +justification), then you should probably also set a non-zero value for +man.hyphenate (to enable hyphenation).
    +
    + + +
    +
    + + + +man.hyphenate.urls +boolean + + +man.hyphenate.urls +Hyphenate URLs? + + + + +<xsl:param name="man.hyphenate.urls">0</xsl:param> + + +Description + +If zero (the default), hyphenation is suppressed for output of +the ulink url attribute. + + + If hyphenation is already turned off globally (that is, if + man.hyphenate is zero, setting + man.hyphenate.urls is not necessary. + + +If man.hyphenate.urls is non-zero, URLs +will not be treated specially and are subject to hyphenation just like +other words. + + + If you are thinking about setting a non-zero value for + man.hyphenate.urls in order to make long + URLs break across lines, you'd probably be better off + experimenting with setting the + man.break.after.slash parameter first. That + will cause long URLs to be broken after slashes. + + + + + + + +man.hyphenate.filenames +boolean + + +man.hyphenate.filenames +Hyphenate filenames? + + + + +<xsl:param name="man.hyphenate.filenames">0</xsl:param> + + +Description + +If zero (the default), hyphenation is suppressed for +filename output. + + + If hyphenation is already turned off globally (that is, if + man.hyphenate is zero, setting + man.hyphenate.filenames is not + necessary. + + +If man.hyphenate.filenames is non-zero, +filenames will not be treated specially and are subject to hyphenation +just like other words. + + + If you are thinking about setting a non-zero value for + man.hyphenate.filenames in order to make long + filenames/pathnames break across lines, you'd probably be better off + experimenting with setting the + man.break.after.slash parameter first. That + will cause long pathnames to be broken after slashes. + + + + + + + +man.hyphenate.computer.inlines +boolean + + +man.hyphenate.computer.inlines +Hyphenate computer inlines? + + + + +<xsl:param name="man.hyphenate.computer.inlines">0</xsl:param> + + +Description + +If zero (the default), hyphenation is suppressed for +computer inlines such as environment variables, +constants, etc. This parameter current affects output of the following +elements: + + + classname + constant + envar + errorcode + option + replaceable + userinput + type + varname + + + + + If hyphenation is already turned off globally (that is, if + man.hyphenate is zero, setting the + man.hyphenate.computer.inlines is not + necessary. + + +If man.hyphenate.computer.inlines is +non-zero, computer inlines will not be treated specially and will be +hyphenated like other words when needed. + + + + + + +man.justify +boolean + + +man.justify +Justify text to both right and left margins? + + + + +<xsl:param name="man.justify">0</xsl:param> + + +Description + +If non-zero, text is justified to both the right and left +margins (or, in roff terminology, "adjusted and filled" to both the +right and left margins). If zero (the default), text is adjusted to +the left margin only -- producing what is traditionally called +"ragged-right" text. + + +The default value for this parameter is zero because justified +text looks good only when it is also hyphenated. Without hyphenation, +excessive amounts of space often end up getting between words, in +order to "pad" lines out to align on the right margin. + +The problem is that groff is not particularly smart about how it +does hyphenation; it can end up hyphenating a lot of things that you +don't want hyphenated. So, disabling both justification and +hyphenation ensures that hyphens won't get inserted where you don't +want to them, and you don't end up with lines containing excessive +amounts of space between words. + +However, if do you decide to set a non-zero value for the +man.justify parameter (to enable +justification), then you should probably also set a non-zero value for +man.hyphenate (to enable hyphenation). + +Yes, these default settings run counter to how most existing man +pages are formatted. But there are some notable exceptions, such as +the perl man pages. + + + + + + +man.break.after.slash +boolean + + +man.break.after.slash +Enable line-breaking after slashes? + + + + +<xsl:param name="man.break.after.slash">0</xsl:param> + + +Description + +If non-zero, line-breaking after slashes is enabled. This is +mainly useful for causing long URLs or pathnames/filenames to be +broken up or "wrapped" across lines (though it also has the side +effect of sometimes causing relatively short URLs and pathnames to be +broken up across lines too). + +If zero (the default), line-breaking after slashes is +disabled. In that case, strings containing slashes (for example, URLs +or filenames) are not broken across lines, even if they exceed the +maximum column widith. + + + If you set a non-zero value for this parameter, check your + man-page output carefuly afterwards, in order to make sure that the + setting has not introduced an excessive amount of breaking-up of URLs + or pathnames. If your content contains mostly short URLs or + pathnames, setting a non-zero value for + man.break.after.slash will probably result in + in a significant number of relatively short URLs and pathnames being + broken across lines, which is probably not what you want. + + + + + +
    + + Indentation + + +man.indent.width +length + + +man.indent.width +Specifies width used for adjusted indents + + + + +<xsl:param name="man.indent.width">4</xsl:param> + + + +Description +The man.indent.width parameter specifies +the width used for adjusted indents. The value of +man.indent.width is used for indenting of +lists, verbatims, headings, and elsewhere, depending on whether the +values of certain man.indent.* boolean parameters +are non-zero. + +The value of man.indent.width should +include a valid roff measurement unit (for example, +n or u). The default value of +4n specifies a 4-en width; when viewed on a +console, that amounts to the width of four characters. For details +about roff measurment units, see the Measurements +node in the groff info page. + + + + + + +man.indent.refsect +boolean + + +man.indent.refsect +Adjust indentation of refsect* and refsection? + + + + +<xsl:param name="man.indent.refsect" select="0"></xsl:param> + + +Description + +If the value of man.indent.refsect is +non-zero, the width of the left margin for +refsect1, refsect2 and +refsect3 contents and titles (and first-level, +second-level, and third-level nested +refsectioninstances) is adjusted by the value of +the man.indent.width parameter. With +man.indent.width set to its default value of +3n, the main results are that: + + + + contents of refsect1 are output with a + left margin of three characters instead the roff default of seven + or eight characters + + + contents of refsect2 are displayed in + console output with a left margin of six characters instead the of + the roff default of seven characters + + + the contents of refsect3 and nested + refsection instances are adjusted + accordingly. + + + +If instead the value of man.indent.refsect is +zero, no margin adjustment is done for refsect* +output. + + + If your content is primarly comprised of + refsect1 and refsect2 content + (or the refsection equivalent) – with few or + no refsect3 or lower nested sections , you may be + able to “conserve” space in your output by setting + man.indent.refsect to a non-zero value. Doing + so will “squeeze” the left margin in such as way as to provide an + additional four characters of “room” per line in + refsect1 output. That extra room may be useful + if, for example, you have many verbatim sections with long lines in + them. + + + + + + + +man.indent.blurbs +boolean + + +man.indent.blurbs +Adjust indentation of blurbs? + + + + +<xsl:param name="man.indent.blurbs" select="1"></xsl:param> + + +Description + +If the value of man.indent.blurbs is +non-zero, the width of the left margin for +authorblurb, personblurb, and +contrib output is set to the value of the +man.indent.width parameter +(3n by default). If instead the value of +man.indent.blurbs is zero, the built-in roff +default width (7.2n) is used. + + + + + + +man.indent.lists +boolean + + +man.indent.lists +Adjust indentation of lists? + + + + +<xsl:param name="man.indent.lists" select="1"></xsl:param> + + +Description + +If the value of man.indent.lists is +non-zero, the width of the left margin for list items in +itemizedlist, +orderedlist, +variablelist output (and output of some other +lists) is set to the value of the +man.indent.width parameter +(4n by default). If instead the value of +man.indent.lists is zero, the built-in roff +default width (7.2n) is used. + + + + + + +man.indent.verbatims +boolean + + +man.indent.verbatims +Adjust indentation of verbatims? + + + + +<xsl:param name="man.indent.verbatims" select="1"></xsl:param> + + +Description + +If the value of man.indent.verbatims is +non-zero, the width of the left margin for output of verbatim +environments (programlisting, +screen, and so on) is set to the value of the +man.indent.width parameter +(3n by default). If instead the value of +man.indent.verbatims is zero, the built-in roff +default width (7.2n) is used. + + + + + + + Fonts + + +man.font.funcprototype +string + + +man.font.funcprototype +Specifies font for funcprototype output + + + + + <xsl:param name="man.font.funcprototype">BI</xsl:param> + + + +Description + +The man.font.funcprototype parameter +specifies the font for funcprototype output. It +should be a valid roff font name, such as BI or +B. + + + + + + +man.font.funcsynopsisinfo +string + + +man.font.funcsynopsisinfo +Specifies font for funcsynopsisinfo output + + + + + <xsl:param name="man.font.funcsynopsisinfo">B</xsl:param> + + + +Description + +The man.font.funcsynopsisinfo parameter +specifies the font for funcsynopsisinfo output. It +should be a valid roff font name, such as B or +I. + + + + + + +man.font.links +string + + +man.font.links +Specifies font for links + + + + +<xsl:param name="man.font.links">B</xsl:param> + + + +Description + +The man.font.links parameter +specifies the font for output of links (ulink instances +and any instances of any element with an xlink:href attribute). + +The value of man.font.links must be + either B or I, or empty. If +the value is empty, no font formatting is applied to links. + +If you set man.endnotes.are.numbered and/or +man.endnotes.list.enabled to zero (disabled), then +you should probably also set an empty value for +man.font.links. But if +man.endnotes.are.numbered is non-zero (enabled), +you should probably keep +man.font.links set to +B or IThe + main purpose of applying a font format to links in most output +formats it to indicate that the formatted text is +“clickable”; given that links rendered in man pages are +not “real” hyperlinks that users can click on, it might +seem like there is never a good reason to have font formatting for +link contents in man output. +In fact, if you suppress the +display of inline link references (by setting +man.endnotes.are.numbered to zero), there is no +good reason to apply font formatting to links. However, if +man.endnotes.are.numbered is non-zero, having +font formatting for links (arguably) serves a purpose: It provides +“context” information about exactly what part of the text +is being “annotated” by the link. Depending on how you +mark up your content, that context information may or may not +have value.. + + +Related Parameters + man.endnotes.list.enabled, + man.endnotes.are.numbered + + + + + + +man.font.table.headings +string + + +man.font.table.headings +Specifies font for table headings + + + + + <xsl:param name="man.font.table.headings">B</xsl:param> + + + +Description + +The man.font.table.headings parameter +specifies the font for table headings. It should be +a valid roff font, such as B or +I. + + + + + + +man.font.table.title +string + + +man.font.table.title +Specifies font for table headings + + + + + <xsl:param name="man.font.table.title">B</xsl:param> + + + +Description + +The man.font.table.title parameter +specifies the font for table titles. It should be +a valid roff font, such as B or +I. + + + + + + + SYNOPSIS section + + +man.funcsynopsis.style +list +ansi +kr + + +man.funcsynopsis.style +What style of funcsynopsis should be generated? + + +<xsl:param name="man.funcsynopsis.style">ansi</xsl:param> + +Description +If man.funcsynopsis.style is +ansi, ANSI-style function synopses are +generated for a funcsynopsis, otherwise K&R-style +function synopses are generated. + + + + + + AUTHORS and COPYRIGHT sections + + +man.authors.section.enabled +boolean + + +man.authors.section.enabled +Display auto-generated AUTHORS section? + + + +<xsl:param name="man.authors.section.enabled">1</xsl:param> + + +Description + +If the value of +man.authors.section.enabled is non-zero +(the default), then an AUTHORS section is +generated near the end of each man page. The output of the +AUTHORS section is assembled from any +author, editor, and othercredit +metadata found in the contents of the child info or +refentryinfo (if any) of the refentry +itself, or from any author, editor, and +othercredit metadata that may appear in info +contents of any ancestors of the refentry. + +If the value of +man.authors.section.enabled is zero, the +the auto-generated AUTHORS section is +suppressed. + +Set the value of + man.authors.section.enabled to zero if + you want to have a manually created AUTHORS + section in your source, and you want it to appear in output + instead of the auto-generated AUTHORS + section. + + + + + +man.copyright.section.enabled +boolean + + +man.copyright.section.enabled +Display auto-generated COPYRIGHT section? + + + +<xsl:param name="man.copyright.section.enabled">1</xsl:param> + + +Description + +If the value of +man.copyright.section.enabled is non-zero +(the default), then a COPYRIGHT section is +generated near the end of each man page. The output of the +COPYRIGHT section is assembled from any +copyright and legalnotice metadata found in +the contents of the child info or +refentryinfo (if any) of the refentry +itself, or from any copyright and +legalnotice metadata that may appear in info +contents of any ancestors of the refentry. + +If the value of +man.copyright.section.enabled is zero, the +the auto-generated COPYRIGHT section is +suppressed. + +Set the value of + man.copyright.section.enabled to zero if + you want to have a manually created COPYRIGHT + section in your source, and you want it to appear in output + instead of the auto-generated COPYRIGHT + section. + + + + + + Endnotes and link handling + + +man.endnotes.list.enabled +boolean + + +man.endnotes.list.enabled +Display endnotes list at end of man page? + + + + +<xsl:param name="man.endnotes.list.enabled">1</xsl:param> + + + +Description + +If the value of man.endnotes.list.enabled is +non-zero (the default), then an endnotes list is added to the end of +the output man page. + +If the value of man.endnotes.list.enabled is +zero, the list is suppressed — unless link numbering is enabled (that +is, if man.endnotes.are.numbered is non-zero), in +which case, that setting overrides the +man.endnotes.list.enabled setting, and the +endnotes list is still displayed. The reason is that inline +numbering of notesources associated with endnotes only makes sense +if a (numbered) list of endnotes is also generated. + + + Leaving + man.endnotes.list.enabled at its default + (non-zero) value ensures that no “out of line” information (such + as the URLs for hyperlinks and images) gets lost in your + man-page output. It just gets “rearranged”. + So if you’re thinking about disabling endnotes listing by + setting the value of + man.endnotes.list.enabled to zero: + Before you do so, first take some time to carefully consider + the information needs and experiences of your users. The “out + of line” information has value even if the presentation of it + in text output is not as interactive as it may be in other + output formats. + As far as the specific case of URLs: Even though the URLs + displayed in text output may not be “real” (clickable) + hyperlinks, many X terminals have convenience features for + recognizing URLs and can, for example, present users with + an options to open a URL in a browser with the user clicks on + the URL is a terminal window. And short of those, users with X + terminals can always manually cut and paste the URLs into a web + browser. + Also, note that various “man to html” tools, such as the + widely used man2html (VH-Man2html) + application, automatically mark up URLs with a@href markup + during conversion — resulting in “real” hyperlinks in HTML + output from those tools. + + +To “turn off” numbering of endnotes in the +endnotes list, set man.endnotes.are.numbered +to zero. The endnotes list will +still be displayed; it will just be displayed without the +numbersIt can still make sense to have +the list of endnotes displayed even if you have endnotes numbering turned +off. In that case, your endnotes list basically becomes a “list +of references” without any association with specific text in +your document. This is probably the best option if you find the inline +endnotes numbering obtrusive. Your users will still have access to all the “out of line” +such as URLs for hyperlinks. + + +The default heading for the endnotes list is +NOTES. To change that, set a non-empty +value for the man.endnotes.list.heading +parameter. + +In the case of notesources that are links: Along with the +URL for each link, the endnotes list includes the contents of the +link. The list thus includes only non-empty + +A “non-empty” link is one that looks like +this: <ulink url="http://docbook.sf.net/snapshot/xsl/doc/manpages/">manpages</ulink> +an “empty link” is on that looks like this: <ulink url="http://docbook.sf.net/snapshot/xsl/doc/manpages/"/> + links. + +Empty links are never included, and never numbered. They are simply +displayed inline, without any numbering. + +In addition, if there are multiple instances of links in a +refentry that have the same URL, the URL is listed only +once. The contents listed for that link in the endnotes list are +the contents of the first link which has that URL. + +If you disable endnotes listing, you should probably also set +man.links.are.underlined to zero (to disable +link underlining). + + + + + +man.endnotes.list.heading +string + + +man.endnotes.list.heading +Specifies an alternate name for endnotes list + + + + +<xsl:param name="man.endnotes.list.heading"></xsl:param> + + + +Description + +If the value of the +man.endnotes.are.numbered parameter +and/or the man.endnotes.list.enabled +parameter is non-zero (the defaults for both are non-zero), a +numbered list of endnotes is generated near the end of each man +page. The default heading for the list of endnotes is the +equivalent of the English word NOTES in +the current locale. To cause an alternate heading to be displayed, +set a non-empty value for the +man.endnotes.list.heading parameter — +for example, REFERENCES. + + + + + +man.endnotes.are.numbered +boolean + + +man.endnotes.are.numbered +Number endnotes? + + + + +<xsl:param name="man.endnotes.are.numbered">1</xsl:param> + + + +Description + +If the value of man.endnotes.are.numbered is +non-zero (the default), then for each non-empty +A “non-empty” notesource is one that looks like +this: <ulink url="http://docbook.sf.net/snapshot/xsl/doc/manpages/">manpages</ulink> +an “empty” notesource is on that looks like this: <ulink url="http://docbook.sf.net/snapshot/xsl/doc/manpages/"/> + “notesource”: + + + + a number (in square brackets) is displayed inline after the + rendered inline contents (if any) of the notesource + + + the contents of the notesource are included in a + numbered list of endnotes that is generated at the end of + each man page; the number for each endnote corresponds to + the inline number for the notesource with which it is + associated + + +The default heading for the list of endnotes is +NOTES. To output a different heading, set a value +for the man.endnotes.section.heading +parameter. + + + The endnotes list is also displayed (but without + numbers) if the value of + man.endnotes.list.enabled is + non-zero. + + + +If the value of man.endnotes.are.numbered is +zero, numbering of endnotess is suppressed; only inline +contents (if any) of the notesource are displayed inline. + + If you are thinking about disabling endnote numbering by setting + the value of man.endnotes.are.numbered to zero, + before you do so, first take some time to carefully + consider the information needs and experiences of your users. The + square-bracketed numbers displayed inline after notesources may seem + obstrusive and aesthetically unpleasingAs far as notesources that are links, ytou might + think it would be better to just display URLs for non-empty + links inline, after their content, rather than displaying + square-bracketed numbers all over the place. But it's not better. In + fact, it's not even practical, because many (most) URLs for links + are too long to be displayed inline. They end up overflowing the + right margin. You can set a non-zero value for + man.break.after.slash parameter to deal with + that, but it could be argued that what you end up with is at least + as ugly, and definitely more obstrusive, then having short + square-bracketed numbers displayed inline., + + but in a text-only output format, the + numbered-notesources/endnotes-listing mechanism is the only + practical way to handle this kind of content. + + Also, users of “text based” browsers such as + lynx will already be accustomed to seeing inline + numbers for links. And various "man to html" applications, such as + the widely used man2html (VH-Man2html) + application, can automatically turn URLs into "real" HTML hyperlinks + in output. So leaving man.endnotes.are.numbered + at its default (non-zero) value ensures that no information is + lost in your man-page output. It just gets + “rearranged”. + + +The handling of empty links is not affected by this +parameter. Empty links are handled simply by displaying their URLs +inline. Empty links are never auto-numbered. + +If you disable endnotes numbering, you should probably also set +man.font.links to an empty value (to +disable font formatting for links. + + +Related Parameters + man.endnotes.list.enabled, + man.font.links + + + + + + man.base.url.for.relative.links + string + + + man.base.url.for.relative.links + Specifies a base URL for relative links + + + + <xsl:param name="man.base.url.for.relative.links">[set $man.base.url.for.relative.links]/</xsl:param> + + + Description + + For any “notesource” listed in the auto-generated + “NOTES” section of output man pages (which is generated when + the value of the + man.endnotes.list.enabled parameter + is non-zero), if the notesource is a link source with a + relative URI, the URI is displayed in output with the value + of the + man.base.url.for.relative.links + parameter prepended to the value of the link URI. + + + A link source is an notesource that references an + external resource: + + + a ulink element with a url attribute + + + any element with an xlink:href attribute + + + an imagedata, audiodata, or + videodata element + + + + + + If you use relative URIs in link sources in your DocBook + refentry source, and you leave + man.base.url.for.relative.links + unset, the relative links will appear “as is” in the “Notes” + section of any man-page output generated from your source. + That’s probably not what you want, because such relative + links are only usable in the context of HTML output. So, to + make the links meaningful and usable in the context of + man-page output, set a value for + man.base.url.for.relative.links that + points to the online version of HTML output generated from + your DocBook refentry source. For + example: + <xsl:param name="man.base.url.for.relative.links" + >http://www.kernel.org/pub/software/scm/git/docs/</xsl:param> + + + + + Related Parameters + man.endnotes.list.enabled + + + + + + + Lists + + +man.segtitle.suppress +boolean + + +man.segtitle.suppress +Suppress display of segtitle contents? + + + + +<xsl:param name="man.segtitle.suppress" select="0"></xsl:param> + + +Description + +If the value of man.segtitle.suppress is +non-zero, then display of segtitle contents is +suppressed in output. + + + + + + + Character/string substitution + + +man.charmap.enabled +boolean + + +man.charmap.enabled +Apply character map before final output? + + + + +<xsl:param name="man.charmap.enabled" select="1"></xsl:param> + + + +Description + +If the value of the man.charmap.enabled +parameter is non-zero, a "character map" is used to substitute certain +Unicode symbols and special characters with appropriate roff/groff +equivalents, just before writing each man-page file to the +filesystem. If instead the value of +man.charmap.enabled is zero, Unicode characters +are passed through "as is". + +Details + +For converting certain Unicode symbols and special characters in +UTF-8 or UTF-16 encoded XML source to appropriate groff/roff +equivalents in man-page output, the DocBook XSL Stylesheets +distribution includes a roff character map that is compliant with the XSLT character +map format as detailed in the XSLT 2.0 specification. The map +contains more than 800 character mappings and can be considered the +standard roff character map for the distribution. + +You can use the man.charmap.uri +parameter to specify a URI for the location for an alternate roff +character map to use in place of the standard roff character map +provided in the distribution. + +You can also use a subset of a character map. For details, +see the man.charmap.use.subset, +man.charmap.subset.profile, and +man.charmap.subset.profile.english +parameters. + + + + + + + +man.charmap.uri +uri + + +man.charmap.uri +URI for custom roff character map + + + + +<xsl:param name="man.charmap.uri"></xsl:param> + + + +Description + +For converting certain Unicode symbols and special characters in +UTF-8 or UTF-16 encoded XML source to appropriate groff/roff +equivalents in man-page output, the DocBook XSL Stylesheets +distribution includes an XSLT character +map. That character map can be considered the standard roff +character map for the distribution. + +If the value of the man.charmap.uri +parameter is non-empty, that value is used as the URI for the location +for an alternate roff character map to use in place of the standard +roff character map provided in the distribution. + + +Do not set a value for man.charmap.uri +unless you have a custom roff character map that differs from the +standard one provided in the distribution. + + + + + + +man.charmap.use.subset +boolean + + +man.charmap.use.subset +Use subset of character map instead of full map? + + + + +<xsl:param name="man.charmap.use.subset" select="1"></xsl:param> + + + +Description + +If the value of the +man.charmap.use.subset parameter is non-zero, +a subset of the roff character map is used instead of the full roff +character map. The profile of the subset used is determined either +by the value of the +man.charmap.subset.profile +parameter (if the source is not in English) or the +man.charmap.subset.profile.english +parameter (if the source is in English). + + + You may want to experiment with setting a non-zero value of + man.charmap.use.subset, so that the full + character map is used. Depending on which XSLT engine you run, + setting a non-zero value for + man.charmap.use.subset may significantly + increase the time needed to process your documents. Or it may + not. For example, if you set it and run it with xsltproc, it seems + to dramatically increase processing time; on the other hand, if you + set it and run it with Saxon, it does not seem to increase + processing time nearly as much. + + If processing time is not a important concern and/or you can + tolerate the increase in processing time imposed by using the full + character map, set man.charmap.use.subset to + zero. + + +Details + +For converting certain Unicode symbols and special characters in +UTF-8 or UTF-16 encoded XML source to appropriate groff/roff +equivalents in man-page output, the DocBook XSL Stylesheets +distribution includes a roff character map that is compliant with the XSLT character +map format as detailed in the XSLT 2.0 specification. The map +contains more than 800 character mappings and can be considered the +standard roff character map for the distribution. + + +You can use the man.charmap.uri +parameter to specify a URI for the location for an alternate roff +character map to use in place of the standard roff character map +provided in the distribution. + + +Because it is not terrifically efficient to use the standard +800-character character map in full -- and for most (or all) users, +never necessary to use it in full -- the DocBook XSL Stylesheets +support a mechanism for using, within any given character map, a +subset of character mappings instead of the full set. You can use the +man.charmap.subset.profile or +man.charmap.subset.profile.english +parameter to tune the profile of that subset to use. + + + + + + + +man.charmap.subset.profile +string + + +man.charmap.subset.profile +Profile of character map subset + + + + +<xsl:param name="man.charmap.subset.profile"> +@*[local-name() = 'block'] = 'Miscellaneous Technical' or +(@*[local-name() = 'block'] = 'C1 Controls And Latin-1 Supplement (Latin-1 Supplement)' and + (@*[local-name() = 'class'] = 'symbols' or + @*[local-name() = 'class'] = 'letters') +) or +@*[local-name() = 'block'] = 'Latin Extended-A' +or +(@*[local-name() = 'block'] = 'General Punctuation' and + (@*[local-name() = 'class'] = 'spaces' or + @*[local-name() = 'class'] = 'dashes' or + @*[local-name() = 'class'] = 'quotes' or + @*[local-name() = 'class'] = 'bullets' + ) +) or +@*[local-name() = 'name'] = 'HORIZONTAL ELLIPSIS' or +@*[local-name() = 'name'] = 'WORD JOINER' or +@*[local-name() = 'name'] = 'SERVICE MARK' or +@*[local-name() = 'name'] = 'TRADE MARK SIGN' or +@*[local-name() = 'name'] = 'ZERO WIDTH NO-BREAK SPACE' +</xsl:param> + + + +Description + +If the value of the +man.charmap.use.subset parameter is non-zero, +and your DocBook source is not written in English (that + is, if the lang or xml:lang attribute on the root element + in your DocBook source or on the first refentry + element in your source has a value other than + en), then the character-map subset specified + by the man.charmap.subset.profile + parameter is used instead of the full roff character map. + +Otherwise, if the lang or xml:lang attribute on the root + element in your DocBook + source or on the first refentry element in your source + has the value en or if it has no lang or xml:lang attribute, then the character-map + subset specified by the + man.charmap.subset.profile.english + parameter is used instead of + man.charmap.subset.profile. + +The difference between the two subsets is that + man.charmap.subset.profile provides + mappings for characters in Western European languages that are + not part of the Roman (English) alphabet (ASCII character set). + +The value of man.charmap.subset.profile +is a string representing an XPath expression that matches attribute +names and values for output-character +elements in the character map. + +The attributes supported in the standard roff character map included in the distribution are: + + + character + + a raw Unicode character or numeric Unicode + character-entity value (either in decimal or hex); all + characters have this attribute + + + + name + + a standard full/long ISO/Unicode character name (e.g., + "OHM SIGN"); all characters have this attribute + + + + block + + a standard Unicode "block" name (e.g., "General + Punctuation"); all characters have this attribute. For the full + list of Unicode block names supported in the standard roff + character map, see . + + + + class + + a class of characters (e.g., "spaces"). Not all + characters have this attribute; currently, it is used only with + certain characters within the "C1 Controls And Latin-1 + Supplement" and "General Punctuation" blocks. For details, see + . + + + + entity + + an ISO entity name (e.g., "ohm"); not all characters + have this attribute, because not all characters have ISO entity + names; for example, of the 800 or so characters in the standard + roff character map included in the distribution, only around 300 + have ISO entity names. + + + + + string + + a string representing an roff/groff escape-code (with + "@esc@" used in place of the backslash), or a simple ASCII + string; all characters in the roff character map have this + attribute + + + + +The value of man.charmap.subset.profile +is evaluated as an XPath expression at run-time to select a portion of +the roff character map to use. You can tune the subset used by adding +or removing parts. For example, if you need to use a wide range of +mathematical operators in a document, and you want to have them +converted into roff markup properly, you might add the following: + + @*[local-name() = 'block'] ='MathematicalOperators' + +That will cause a additional set of around 67 additional "math" +characters to be converted into roff markup. + + +Depending on which XSLT engine you use, either the EXSLT +dyn:evaluate extension function (for xsltproc or +Xalan) or saxon:evaluate extension function (for +Saxon) are used to dynamically evaluate the value of +man.charmap.subset.profile at run-time. If you +don't use xsltproc, Saxon, Xalan -- or some other XSLT engine that +supports dyn:evaluate -- you must either set the +value of the man.charmap.use.subset parameter +to zero and process your documents using the full character map +instead, or set the value of the +man.charmap.enabled parameter to zero instead +(so that character-map processing is disabled completely. + + +An alternative to using +man.charmap.subset.profile is to create your +own custom character map, and set the value of +man.charmap.uri to the URI/filename for +that. If you use a custom character map, you will probably want to +include in it just the characters you want to use, and so you will +most likely also want to set the value of +man.charmap.use.subset to zero. +You can create a +custom character map by making a copy of the standard roff character map provided in the distribution, and +then adding to, changing, and/or deleting from that. + + +If you author your DocBook XML source in UTF-8 or UTF-16 +encoding and aren't sure what OSes or environments your man-page +output might end up being viewed on, and not sure what version of +nroff/groff those environments might have, you should be careful about +what Unicode symbols and special characters you use in your source and +what parts you add to the value of +man.charmap.subset.profile. +Many of the escape codes used are specific to groff and using +them may not provide the expected output on an OS or environment that +uses nroff instead of groff. +On the other hand, if you intend for your man-page output to be +viewed only on modern systems (for example, GNU/Linux systems, FreeBSD +systems, or Cygwin environments) that have a good, up-to-date groff, +then you can safely include a wide range of Unicode symbols and +special characters in your UTF-8 or UTF-16 encoded DocBook XML source +and add any of the supported Unicode block names to the value of +man.charmap.subset.profile. + + + +For other details, see the documentation for the +man.charmap.use.subset parameter. + +Supported Unicode block names and "class" values + + + Below is the full list of Unicode block names and "class" + values supported in the standard roff stylesheet provided in the + distribution, along with a description of which codepoints from the + Unicode range corresponding to that block name or block/class + combination are supported. + + + + C1 Controls And Latin-1 Supplement (Latin-1 Supplement) (x00a0 to x00ff) + class values + + + symbols + + + letters + + + + + Latin Extended-A (x0100 to x017f, partial) + + + Spacing Modifier Letters (x02b0 to x02ee, partial) + + + Greek and Coptic (x0370 to x03ff, partial) + + + General Punctuation (x2000 to x206f, partial) + class values + + + spaces + + + dashes + + + quotes + + + daggers + + + bullets + + + leaders + + + primes + + + + + + Superscripts and Subscripts (x2070 to x209f) + + + Currency Symbols (x20a0 to x20b1) + + + Letterlike Symbols (x2100 to x214b) + + + Number Forms (x2150 to x218f) + + + Arrows (x2190 to x21ff, partial) + + + Mathematical Operators (x2200 to x22ff, partial) + + + Control Pictures (x2400 to x243f) + + + Enclosed Alphanumerics (x2460 to x24ff) + + + Geometric Shapes (x25a0 to x25f7, partial) + + + Miscellaneous Symbols (x2600 to x26ff, partial) + + + Dingbats (x2700 to x27be, partial) + + + Alphabetic Presentation Forms (xfb00 to xfb04 only) + + + + + + + + +man.charmap.subset.profile.english +string + + +man.charmap.subset.profile.english +Profile of character map subset + + + + +<xsl:param name="man.charmap.subset.profile.english"> +@*[local-name() = 'block'] = 'Miscellaneous Technical' or +(@*[local-name() = 'block'] = 'C1 Controls And Latin-1 Supplement (Latin-1 Supplement)' and + @*[local-name() = 'class'] = 'symbols') +or +(@*[local-name() = 'block'] = 'General Punctuation' and + (@*[local-name() = 'class'] = 'spaces' or + @*[local-name() = 'class'] = 'dashes' or + @*[local-name() = 'class'] = 'quotes' or + @*[local-name() = 'class'] = 'bullets' + ) +) or +@*[local-name() = 'name'] = 'HORIZONTAL ELLIPSIS' or +@*[local-name() = 'name'] = 'WORD JOINER' or +@*[local-name() = 'name'] = 'SERVICE MARK' or +@*[local-name() = 'name'] = 'TRADE MARK SIGN' or +@*[local-name() = 'name'] = 'ZERO WIDTH NO-BREAK SPACE' +</xsl:param> + + + +Description + +If the value of the + man.charmap.use.subset parameter is + non-zero, and your DocBook source is written in English (that + is, if its lang or xml:lang attribute on the root element + in your DocBook source or on the first refentry + element in your source has the value en or if + it has no lang or xml:lang attribute), then the + character-map subset specified by the + man.charmap.subset.profile.english + parameter is used instead of the full roff character map. + +Otherwise, if the lang or xml:lang attribute + on the root element in your DocBook source or on the first + refentry element in your source has a value other + than en, then the character-map subset + specified by the + man.charmap.subset.profile parameter is + used instead of + man.charmap.subset.profile.english. + +The difference between the two subsets is that + man.charmap.subset.profile provides + mappings for characters in Western European languages that are + not part of the Roman (English) alphabet (ASCII character set). + +The value of man.charmap.subset.profile.english +is a string representing an XPath expression that matches attribute +names and values for output-character elements in the character map. + +For other details, see the documentation for the +man.charmap.subset.profile.english and +man.charmap.use.subset parameters. + + + + + + +man.string.subst.map.local.pre +string + + +man.string.subst.map.local.pre +Specifies “local” string substitutions + + + + + <xsl:param name="man.string.subst.map.local.pre"></xsl:param> + + + +Description + +Use the man.string.subst.map.local.pre +parameter to specify any “local” string substitutions to perform over +the entire roff source for each man page before +performing the string substitutions specified by the man.string.subst.map parameter. + +For details about the format of this parameter, see the +documentation for the man.string.subst.map +parameter. + + + + + + +man.string.subst.map +rtf + + +man.string.subst.map +Specifies a set of string substitutions + + + + +<xsl:param name="man.string.subst.map"> + + <!-- * remove no-break marker at beginning of line (stylesheet artifact) --> + <ss:substitution oldstring="▒▀" newstring="▒"></ss:substitution> + <!-- * replace U+2580 no-break marker (stylesheet-added) w/ no-break space --> + <ss:substitution oldstring="▀" newstring="\ "></ss:substitution> + + <!-- ==================================================================== --> + + <!-- * squeeze multiple newlines before a roff request --> + <ss:substitution oldstring=" + +." newstring=" +."></ss:substitution> + <!-- * remove any .sp instances that directly precede a .PP --> + <ss:substitution oldstring=".sp +.PP" newstring=".PP"></ss:substitution> + <!-- * remove any .sp instances that directly follow a .PP --> + <ss:substitution oldstring=".sp +.sp" newstring=".sp"></ss:substitution> + <!-- * squeeze multiple .sp instances into a single .sp--> + <ss:substitution oldstring=".PP +.sp" newstring=".PP"></ss:substitution> + <!-- * squeeze multiple newlines after start of no-fill (verbatim) env. --> + <ss:substitution oldstring=".nf + +" newstring=".nf +"></ss:substitution> + <!-- * squeeze multiple newlines after REstoring margin --> + <ss:substitution oldstring=".RE + +" newstring=".RE +"></ss:substitution> + <!-- * U+2591 is a marker we add before and after every Parameter in --> + <!-- * Funcprototype output --> + <ss:substitution oldstring="░" newstring=" "></ss:substitution> + <!-- * U+2592 is a marker we add for the newline before output of <sbr>; --> + <ss:substitution oldstring="▒" newstring=" +"></ss:substitution> + <!-- * --> + <!-- * Now deal with some other characters that are added by the --> + <!-- * stylesheets during processing. --> + <!-- * --> + <!-- * bullet --> + <ss:substitution oldstring="•" newstring="\(bu"></ss:substitution> + <!-- * left double quote --> + <ss:substitution oldstring="“" newstring="\(lq"></ss:substitution> + <!-- * right double quote --> + <ss:substitution oldstring="”" newstring="\(rq"></ss:substitution> + <!-- * left single quote --> + <ss:substitution oldstring="‘" newstring="\(oq"></ss:substitution> + <!-- * right single quote --> + <ss:substitution oldstring="’" newstring="\(cq"></ss:substitution> + <!-- * copyright sign --> + <ss:substitution oldstring="©" newstring="\(co"></ss:substitution> + <!-- * registered sign --> + <ss:substitution oldstring="®" newstring="\(rg"></ss:substitution> + <!-- * ...servicemark... --> + <!-- * There is no groff equivalent for it. --> + <ss:substitution oldstring="℠" newstring="(SM)"></ss:substitution> + <!-- * ...trademark... --> + <!-- * We don't do "\(tm" because for console output, --> + <!-- * groff just renders that as "tm"; that is: --> + <!-- * --> + <!-- * Product&#x2122; -> Producttm --> + <!-- * --> + <!-- * So we just make it to "(TM)" instead; thus: --> + <!-- * --> + <!-- * Product&#x2122; -> Product(TM) --> + <ss:substitution oldstring="™" newstring="(TM)"></ss:substitution> + +</xsl:param> + + + +Description + +The man.string.subst.map parameter +contains a map that specifies a set of +string substitutions to perform over the entire roff source for each +man page, either just before generating final man-page output (that +is, before writing man-page files to disk) or, if the value of the +man.charmap.enabled parameter is non-zero, +before applying the roff character map. + +You can use man.string.subst.map as a +“lightweight” character map to perform “essential” substitutions -- +that is, substitutions that are always performed, +even if the value of the man.charmap.enabled +parameter is zero. For example, you can use it to replace quotation +marks or other special characters that are generated by the DocBook +XSL stylesheets for a particular locale setting (as opposed to those +characters that are actually in source XML documents), or to replace +any special characters that may be automatically generated by a +particular customization of the DocBook XSL stylesheets. + + + Do you not change value of the + man.string.subst.map parameter unless you are + sure what you are doing. First consider adding your + string-substitution mappings to either or both of the following + parameters: + + + man.string.subst.map.local.pre + applied before + man.string.subst.map + + + man.string.subst.map.local.post + applied after + man.string.subst.map + + + By default, both of those parameters contain no + string substitutions. They are intended as a means for you to + specify your own local string-substitution mappings. + + If you remove any of default mappings from the value of the + man.string.subst.map parameter, you are + likely to end up with broken output. And be very careful about adding + anything to it; it’s used for doing string substitution over the + entire roff source of each man page – it causes target strings to be + replaced in roff requests and escapes, not just in the visible + contents of the page. + + + + + + Contents of the substitution map + + The string-substitution map contains one or more + ss:substitution elements, each of which has two + attributes: + + + oldstring + + string to replace + + + + newstring + + string with which to replace oldstring + + + + It may also include XML comments (that is, delimited with + "<!--" and "-->"). + + + + + + + + +man.string.subst.map.local.post +string + + +man.string.subst.map.local.post +Specifies “local” string substitutions + + + + +<xsl:param name="man.string.subst.map.local.post"></xsl:param> + + + +Description + +Use the man.string.subst.map.local.post +parameter to specify any “local” string substitutions to perform over +the entire roff source for each man page after +performing the string substitutions specified by the man.string.subst.map parameter. + +For details about the format of this parameter, see the +documentation for the man.string.subst.map +parameter. + + + + + + + Refentry metadata gathering + + +refentry.meta.get.quietly +boolean + + +refentry.meta.get.quietly +Suppress notes and warnings when gathering refentry metadata? + + + + +<xsl:param name="refentry.meta.get.quietly" select="0"></xsl:param> + + + +Description + +If zero (the default), notes and warnings about “missing” markup +are generated during gathering of refentry metadata. If non-zero, the +metadata is gathered “quietly” -- that is, the notes and warnings are +suppressed. + + + If you are processing a large amount of refentry + content, you may be able to speed up processing significantly by + setting a non-zero value for + refentry.meta.get.quietly. + + + + + + + +refentry.date.profile +string + + +refentry.date.profile +Specifies profile for refentry "date" data + + + + +<xsl:param name="refentry.date.profile"> + (($info[//date])[last()]/date)[1]| + (($info[//pubdate])[last()]/pubdate)[1] +</xsl:param> + + + +Description + +The value of refentry.date.profile is a +string representing an XPath expression. It is evaluated at run-time +and used only if refentry.date.profile.enabled +is non-zero. Otherwise, the refentry metadata-gathering +logic "hard coded" into the stylesheets is used. + + The man(7) man page describes this content +as "the date of the last revision". In man pages, it is the content +that is usually displayed in the center footer. + + + + + + +refentry.date.profile.enabled +boolean + + +refentry.date.profile.enabled +Enable refentry "date" profiling? + + + + +<xsl:param name="refentry.date.profile.enabled">0</xsl:param> + + +Description + +If the value of +refentry.date.profile.enabled is non-zero, then +during refentry metadata gathering, the info profile +specified by the customizable +refentry.date.profile parameter is used. + +If instead the value of +refentry.date.profile.enabled is zero (the +default), then "hard coded" logic within the DocBook XSL stylesheets +is used for gathering refentry "date" data. + +If you find that the default refentry +metadata-gathering behavior is causing incorrect "date" data to show +up in your output, then consider setting a non-zero value for +refentry.date.profile.enabled and adjusting the +value of refentry.date.profile to cause correct +data to be gathered. + +Note that the terms "source" and "date" have special meanings in +this context. For details, see the documentation for the +refentry.date.profile parameter. + + + + + + +refentry.manual.profile +string + + +refentry.manual.profile +Specifies profile for refentry "manual" data + + + + +<xsl:param name="refentry.manual.profile"> + (($info[//title])[last()]/title)[1]| + ../title/node() +</xsl:param> + + + +Description + +The value of refentry.manual.profile is +a string representing an XPath expression. It is evaluated at +run-time and used only if +refentry.manual.profile.enabled is +non-zero. Otherwise, the refentry metadata-gathering logic +"hard coded" into the stylesheets is used. + +In man pages, this content is usually displayed in the middle of +the header of the page. The man(7) man page +describes this as "the title of the manual (e.g., Linux +Programmer's Manual)". Here are some examples from +existing man pages: + + + dpkg utilities + (dpkg-name) + + + User Contributed Perl Documentation + (GET) + + + GNU Development Tools + (ld) + + + Emperor Norton Utilities + (ddate) + + + Debian GNU/Linux manual + (faked) + + + GIMP Manual Pages + (gimp) + + + KDOC Documentation System + (qt2kdoc) + + + + + + + + + +refentry.manual.profile.enabled +boolean + + +refentry.manual.profile.enabled +Enable refentry "manual" profiling? + + + + +<xsl:param name="refentry.manual.profile.enabled">0</xsl:param> + + +Description + +If the value of +refentry.manual.profile.enabled is +non-zero, then during refentry metadata gathering, the info +profile specified by the customizable +refentry.manual.profile parameter is +used. + +If instead the value of +refentry.manual.profile.enabled is zero (the +default), then "hard coded" logic within the DocBook XSL stylesheets +is used for gathering refentry "manual" data. + +If you find that the default refentry +metadata-gathering behavior is causing incorrect "manual" data to show +up in your output, then consider setting a non-zero value for +refentry.manual.profile.enabled and adjusting +the value of refentry.manual.profile to cause +correct data to be gathered. + +Note that the term "manual" has a special meanings in this +context. For details, see the documentation for the +refentry.manual.profile parameter. + + + + + + +refentry.source.name.suppress +boolean + + +refentry.source.name.suppress +Suppress "name" part of refentry "source" contents? + + + + +<xsl:param name="refentry.source.name.suppress">0</xsl:param> + + +Description + +If the value of +refentry.source.name.suppress is non-zero, then +during refentry metadata gathering, no "source name" data +is added to the refentry "source" contents. Instead (unless +refentry.version.suppress is also non-zero), +only "version" data is added to the "source" contents. + +If you find that the refentry metadata gathering +mechanism is causing unwanted "source name" data to show up in your +output -- for example, in the footer (or possibly header) of a man +page -- then you might consider setting a non-zero value for +refentry.source.name.suppress. + +Note that the terms "source", "source name", and "version" have +special meanings in this context. For details, see the documentation +for the refentry.source.name.profile +parameter. + + + + + + +refentry.source.name.profile +string + + +refentry.source.name.profile +Specifies profile for refentry "source name" data + + + + +<xsl:param name="refentry.source.name.profile"> + (($info[//productname])[last()]/productname)[1]| + (($info[//corpname])[last()]/corpname)[1]| + (($info[//corpcredit])[last()]/corpcredit)[1]| + (($info[//corpauthor])[last()]/corpauthor)[1]| + (($info[//orgname])[last()]/orgname)[1]| + (($info[//publishername])[last()]/publishername)[1] +</xsl:param> + + + +Description + +The value of refentry.source.name.profile +is a string representing an XPath expression. It is evaluated at +run-time and used only if +refentry.source.name.profile.enabled is +non-zero. Otherwise, the refentry metadata-gathering logic +"hard coded" into the stylesheets is used. + +A "source name" is one part of a (potentially) two-part +Name Version +"source" field. In man pages, it is usually displayed in the left +footer of the page. It typically indicates the software system or +product that the item documented in the man page belongs to. The +man(7) man page describes it as "the source of +the command", and provides the following examples: + + + For binaries, use something like: GNU, NET-2, SLS + Distribution, MCC Distribution. + + + For system calls, use the version of the kernel that you + are currently looking at: Linux 0.99.11. + + + For library calls, use the source of the function: GNU, BSD + 4.3, Linux DLL 4.4.1. + + + + +In practice, there are many pages that simply have a Version +number in the "source" field. So, it looks like what we have is a +two-part field, +Name Version, +where: + + + Name + + product name (e.g., BSD) or org. name (e.g., GNU) + + + + Version + + version number + + + +Each part is optional. If the Name is a +product name, then the Version is probably +the version of the product. Or there may be no +Name, in which case, if there is a +Version, it is probably the version +of the item itself, not the product it is part of. Or, if the +Name is an organization name, then there +probably will be no Version. + + + + + +refentry.source.name.profile.enabled +boolean + + +refentry.source.name.profile.enabled +Enable refentry "source name" profiling? + + + + +<xsl:param name="refentry.source.name.profile.enabled">0</xsl:param> + + +Description + +If the value of +refentry.source.name.profile.enabled is +non-zero, then during refentry metadata gathering, the info +profile specified by the customizable +refentry.source.name.profile parameter is +used. + +If instead the value of +refentry.source.name.profile.enabled is zero (the +default), then "hard coded" logic within the DocBook XSL stylesheets +is used for gathering refentry "source name" data. + +If you find that the default refentry +metadata-gathering behavior is causing incorrect "source name" data to +show up in your output, then consider setting a non-zero value for +refentry.source.name.profile.enabled and +adjusting the value of +refentry.source.name.profile to cause correct +data to be gathered. + +Note that the terms "source" and "source name" have special +meanings in this context. For details, see the documentation for the +refentry.source.name.profile parameter. + + + + + + +refentry.version.suppress +boolean + + +refentry.version.suppress +Suppress "version" part of refentry "source" contents? + + + + +<xsl:param name="refentry.version.suppress">0</xsl:param> + + +Description + +If the value of refentry.version.suppress +is non-zero, then during refentry metadata gathering, no +"version" data is added to the refentry "source" +contents. Instead (unless +refentry.source.name.suppress is also +non-zero), only "source name" data is added to the "source" +contents. + +If you find that the refentry metadata gathering +mechanism is causing unwanted "version" data to show up in your output +-- for example, in the footer (or possibly header) of a man page -- +then you might consider setting a non-zero value for +refentry.version.suppress. + +Note that the terms "source", "source name", and "version" have +special meanings in this context. For details, see the documentation +for the refentry.source.name.profile +parameter. + + + + + + +refentry.version.profile +string + + +refentry.version.profile +Specifies profile for refentry "version" data + + + + +<xsl:param name="refentry.version.profile"> + (($info[//productnumber])[last()]/productnumber)[1]| + (($info[//edition])[last()]/edition)[1]| + (($info[//releaseinfo])[last()]/releaseinfo)[1] +</xsl:param> + + + +Description + +The value of refentry.version.profile is +a string representing an XPath expression. It is evaluated at +run-time and used only if +refentry.version.profile.enabled is +non-zero. Otherwise, the refentry metadata-gathering logic +"hard coded" into the stylesheets is used. + +A "source.name" is one part of a (potentially) two-part +Name Version +"source" field. For more details, see the documentation for the +refentry.source.name.profile parameter. + + + + + + +refentry.version.profile.enabled +boolean + + +refentry.version.profile.enabled +Enable refentry "version" profiling? + + + + +<xsl:param name="refentry.version.profile.enabled">0</xsl:param> + + +Description + +If the value of +refentry.version.profile.enabled is +non-zero, then during refentry metadata gathering, the info +profile specified by the customizable +refentry.version.profile parameter is +used. + +If instead the value of +refentry.version.profile.enabled is zero (the +default), then "hard coded" logic within the DocBook XSL stylesheets +is used for gathering refentry "version" data. + +If you find that the default refentry +metadata-gathering behavior is causing incorrect "version" data to show +up in your output, then consider setting a non-zero value for +refentry.version.profile.enabled and adjusting +the value of refentry.version.profile to cause +correct data to be gathered. + +Note that the terms "source" and "version" have special +meanings in this context. For details, see the documentation for the +refentry.version.profile parameter. + + + + + + +refentry.manual.fallback.profile +string + + +refentry.manual.fallback.profile +Specifies profile of "fallback" for refentry "manual" data + + + + +<xsl:param name="refentry.manual.fallback.profile"> +refmeta/refmiscinfo[not(@class = 'date')][1]/node()</xsl:param> + + + +Description + +The value of +refentry.manual.fallback.profile is a string +representing an XPath expression. It is evaluated at run-time and +used only if no "manual" data can be found by other means (that is, +either using the refentry metadata-gathering logic "hard +coded" in the stylesheets, or the value of +refentry.manual.profile, if it is +enabled). + + +Depending on which XSLT engine you run, either the EXSLT +dyn:evaluate extension function (for xsltproc or +Xalan) or saxon:evaluate extension function (for +Saxon) are used to dynamically evaluate the value of +refentry.manual.fallback.profile at +run-time. If you don't use xsltproc, Saxon, Xalan -- or some other +XSLT engine that supports dyn:evaluate -- you +must manually disable fallback processing by setting an empty value +for the refentry.manual.fallback.profile +parameter. + + + + + + + +refentry.source.fallback.profile +string + + +refentry.source.fallback.profile +Specifies profile of "fallback" for refentry "source" data + + + + +<xsl:param name="refentry.source.fallback.profile"> +refmeta/refmiscinfo[not(@class = 'date')][1]/node()</xsl:param> + + + +Description + +The value of +refentry.source.fallback.profile is a string +representing an XPath expression. It is evaluated at run-time and used +only if no "source" data can be found by other means (that is, either +using the refentry metadata-gathering logic "hard coded" in +the stylesheets, or the value of the +refentry.source.name.profile and +refentry.version.profile parameters, if those +are enabled). + + +Depending on which XSLT engine you run, either the EXSLT +dyn:evaluate extension function (for xsltproc or +Xalan) or saxon:evaluate extension function (for +Saxon) are used to dynamically evaluate the value of +refentry.source.fallback.profile at +run-time. If you don't use xsltproc, Saxon, Xalan -- or some other +XSLT engine that supports dyn:evaluate -- you +must manually disable fallback processing by setting an empty value +for the refentry.source.fallback.profile +parameter. + + + + + + + + Page header/footer + + +man.th.extra1.suppress +boolean + + +man.th.extra1.suppress +Suppress extra1 part of header/footer? + + + + +<xsl:param name="man.th.extra1.suppress">0</xsl:param> + + +Description + +If the value of man.th.extra1.suppress is +non-zero, then the extra1 part of the +.TH title line header/footer is suppressed. + +The content of the extra1 field is almost +always displayed in the center footer of the page and is, universally, +a date. + + + + + + +man.th.extra2.suppress +boolean + + +man.th.extra2.suppress +Suppress extra2 part of header/footer? + + + + +<xsl:param name="man.th.extra2.suppress">0</xsl:param> + + +Description + +If the value of man.th.extra2.suppress is +non-zero, then the extra2 part of the +.TH title line header/footer is suppressed. + +The content of the extra2 field is usually +displayed in the left footer of the page and is typically "source" +data, often in the form +Name Version; +for example, "GTK+ 1.2" (from the gtk-options(7) +man page). + + + You can use the + refentry.source.name.suppress and + refentry.version.suppress parameters to + independently suppress the Name and + Version parts of the + extra2 field. + + + + + + + +man.th.extra3.suppress +boolean + + +man.th.extra3.suppress +Suppress extra3 part of header/footer? + + + + +<xsl:param name="man.th.extra3.suppress">0</xsl:param> + + +Description + +If the value of man.th.extra3.suppress is +non-zero, then the extra3 part of the +.TH title line header/footer is +suppressed. + +The content of the extra3 field is usually +displayed in the middle header of the page and is typically a "manual +name"; for example, "GTK+ User's Manual" (from the +gtk-options(7) man page). + + + + + + +man.th.title.max.length +integer + + +man.th.title.max.length +Maximum length of title in header/footer + + + + +<xsl:param name="man.th.title.max.length">20</xsl:param> + + + +Description + +Specifies the maximum permitted length of the title part of the +man-page .TH title line header/footer. If the title +exceeds the maxiumum specified, it is truncated down to the maximum +permitted length. + +Details + + +Every man page generated using the DocBook stylesheets has a +title line, specified using the TH roff +macro. Within that title line, there is always, at a minimum, a title, +followed by a section value (representing a man "section" -- usually +just a number). + +The title and section are displayed, together, in the visible +header of each page. Where in the header they are displayed depends on +OS the man page is viewed on, and on what version of nroff/groff/man +is used for viewing the page. But, at a minimum and across all +systems, the title and section are displayed on the right-hand column +of the header. On many systems -- those with a modern groff, including +Linux systems -- they are displayed twice: both in the left and right +columns of the header. + +So if the length of the title exceeds a certain percentage of +the column width in which the page is viewed, the left and right +titles can end up overlapping, making them unreadable, or breaking to +another line, which doesn't look particularly good. + +So the stylesheets provide the +man.th.title.max.length parameter as a means +for truncating titles that exceed the maximum length that can be +viewing properly in a page header. + +The default value is reasonable but somewhat arbitrary. If you +have pages with long titles, you may want to experiment with changing +the value in order to achieve the correct aesthetic results. + + + + + + + +man.th.extra2.max.length +integer + + +man.th.extra2.max.length +Maximum length of extra2 in header/footer + + + + +<xsl:param name="man.th.extra2.max.length">30</xsl:param> + + + +Description + +Specifies the maximum permitted length of the +extra2 part of the man-page part of the +.TH title line header/footer. If the +extra2 content exceeds the maxiumum specified, it +is truncated down to the maximum permitted length. + +The content of the extra2 field is usually +displayed in the left footer of the page and is typically "source" +data indicating the software system or product that the item +documented in the man page belongs to, often in the form +Name Version; +for example, "GTK+ 1.2" (from the gtk-options(7) +man page). + +The default value for this parameter is reasonable but somewhat +arbitrary. If you are processing pages with long "source" information, +you may want to experiment with changing the value in order to achieve +the correct aesthetic results. + + + + + +man.th.extra3.max.length +integer + + +man.th.extra3.max.length +Maximum length of extra3 in header/footer + + + + +<xsl:param name="man.th.extra3.max.length">30</xsl:param> + + + +Description + +Specifies the maximum permitted length of the +extra3 part of the man-page .TH +title line header/footer. If the extra3 content +exceeds the maxiumum specified, it is truncated down to the maximum +permitted length. + +The content of the extra3 field is usually +displayed in the middle header of the page and is typically a "manual +name"; for example, "GTK+ User's Manual" (from the +gtk-options(7) man page). + +The default value for this parameter is reasonable but somewhat +arbitrary. If you are processing pages with long "manual names" -- or +especially if you are processing pages that have both long "title" +parts (command/function, etc. names) and long +manual names -- you may want to experiment with changing the value in +order to achieve the correct aesthetic results. + + + + + + Output + + + man.output.manifest.enabled + boolean + + + man.output.manifest.enabled + Generate a manifest file? + + + + <xsl:param name="man.output.manifest.enabled" select="0"></xsl:param> + + + Description + + If non-zero, a list of filenames for man pages generated by + the stylesheet transformation is written to the file named by the + man.output.manifest.filename parameter. + + + + + + + man.output.manifest.filename + string + + + man.output.manifest.filename + Name of manifest file + + + + <xsl:param name="man.output.manifest.filename">MAN.MANIFEST</xsl:param> + + + Description + + The man.output.manifest.filename parameter + specifies the name of the file to which the manpages manifest file + is written (if the value of the + man.output.manifest.enabled parameter is + non-zero). + + + + + + +man.output.in.separate.dir +boolean + + +man.output.in.separate.dir +Output man-page files in separate output directory? + + + + +<xsl:param name="man.output.in.separate.dir" select="0"></xsl:param> + + + +Description + +If the value of man.output.in.separate.dir +parameter is non-zero, man-page files are output in a separate +directory, specified by the man.output.base.dir +parameter; otherwise, if the value of +man.output.in.separate.dir is zero, man-page files +are not output in a separate directory. + + + + + + +man.output.lang.in.name.enabled +boolean + + +man.output.lang.in.name.enabled +Include $LANG value in man-page filename/pathname? + + + + +<xsl:param name="man.output.lang.in.name.enabled" select="0"></xsl:param> + + + +Description + + The man.output.lang.in.name.enabled + parameter specifies whether a $lang value is + included in man-page filenames and pathnames. + + If the value of + man.output.lang.in.name.enabled is non-zero, + man-page files are output with the $lang value + included in their filenames or pathnames as follows; + + + + if man.output.subdirs.enabled is + non-zero, each file is output to, e.g., a + man/$lang/man8/foo.8 + pathname + + + if man.output.subdirs.enabled is + zero, each file is output with a + foo.$lang.8 + filename + + + + + + + + + +man.output.base.dir +uri + + +man.output.base.dir +Specifies separate output directory + + + +<xsl:param name="man.output.base.dir">man/</xsl:param> + + +Description + +The man.output.base.dir parameter +specifies the base directory into which man-page files are output. The +man.output.subdirs.enabled parameter controls +whether the files are output in subdirectories within the base +directory. + + + The values of the man.output.base.dir + and man.output.subdirs.enabled parameters are + used only if the value of + man.output.in.separate.dir parameter is + non-zero. If the value of the + man.output.in.separate.dir is zero, man-page + files are not output in a separate directory. + + + + + + + +man.output.subdirs.enabled +boolean + + +man.output.subdirs.enabled +Output man-page files in subdirectories within base output directory? + + + + +<xsl:param name="man.output.subdirs.enabled" select="1"></xsl:param> + + + +Description + +The man.output.subdirs.enabled parameter +controls whether man-pages files are output in subdirectories within +the base directory specified by the directory specified by the +man.output.base.dir parameter. + + + The values of the man.output.base.dir + and man.output.subdirs.enabled parameters are + used only if the value of + man.output.in.separate.dir parameter is + non-zero. If the value of the + man.output.in.separate.dir is zero, man-page + files are not output in a separate directory. + + + + + + + +man.output.quietly +boolean + + +man.output.quietly +Suppress filename messages emitted when generating output? + + + + +<xsl:param name="man.output.quietly" select="0"></xsl:param> + + + +Description + +If zero (the default), for each man-page file created, a message +with the name of the file is emitted. If non-zero, the files are +output "quietly" -- that is, the filename messages are +suppressed. + + + If you are processing a large amount of refentry + content, you may be able to speed up processing significantly by + setting a non-zero value for + man.output.quietly. + + + + + + + +man.output.encoding +string + + +man.output.encoding +Encoding used for man-page output + + + + +<xsl:param name="man.output.encoding">UTF-8</xsl:param> + + + +Description + +This parameter specifies the encoding to use for files generated +by the manpages stylesheet. Not all processors support specification +of this parameter. + + + If the value of the man.charmap.enabled + parameter is non-zero (the default), keeping the + man.output.encoding parameter at its default + value (UTF-8) or setting it to + UTF-16 does not cause your + man pages to be output in raw UTF-8 or UTF-16 -- because + any Unicode characters for which matches are found in the enabled + character map will be replaced with roff escape sequences before the + final man-page files are generated. + + So if you want to generate "real" UTF-8 man pages, without any + character substitution being performed on your content, you need to + set man.charmap.enabled to zero (which will + completely disable character-map processing). + + You may also need to set + man.charmap.enabled to zero if you want to + output man pages in an encoding other than UTF-8 + or UTF-16. Character-map processing is based on + Unicode character values and may not work with other output + encodings. + + + + + + + +man.output.better.ps.enabled +boolean + + +man.output.better.ps.enabled +Enable enhanced print/PostScript output? + + + +<xsl:param name="man.output.better.ps.enabled">0</xsl:param> + + +Description + +If the value of the +man.output.better.ps.enabled parameter is +non-zero, certain markup is embedded in each generated man page +such that PostScript output from the man -Tps +command for that page will include a number of enhancements +designed to improve the quality of that output. + +If man.output.better.ps.enabled is +zero (the default), no such markup is embedded in generated man +pages, and no enhancements are included in the PostScript +output generated from those man pages by the man + -Tps command. + + + The enhancements provided by this parameter rely on + features that are specific to groff (GNU troff) and that are + not part of “classic” AT&T troff or any of its + derivatives. Therefore, any man pages you generate with this + parameter enabled will be readable only on systems on which + the groff (GNU troff) program is installed, such as GNU/Linux + systems. The pages will not not be + readable on systems on with the classic troff (AT&T + troff) command is installed. + + +The value of this parameter only affects PostScript output + generated from the man command. It has no + effect on output generated using the FO backend. + + + You can generate PostScript output for any man page by + running the following command: + man FOO -Tps > FOO.ps + You can then generate PDF output by running the following + command: + ps2pdf FOO.ps + + + + + + + + Other + + +man.table.footnotes.divider +string + + +man.table.footnotes.divider +Specifies divider string that appears before table footnotes + + + + +<xsl:param name="man.table.footnotes.divider">----</xsl:param> + + + +Description + +In each table that contains footenotes, the string specified by +the man.table.footnotes.divider parameter is +output before the list of footnotes for the table. + + + + + + +man.subheading.divider.enabled +boolean + + +man.subheading.divider.enabled +Add divider comment to roff source before/after subheadings? + + + + +<xsl:param name="man.subheading.divider.enabled">0</xsl:param> + + + +Description + +If the value of the +man.subheading.divider.enabled parameter is +non-zero, the contents of the +man.subheading.divider parameter are used to +add a "divider" before and after subheadings in the roff +output. The divider is not visisble in the +rendered man page; it is added as a comment, in the source, +simply for the purpose of increasing reability of the source. + +If man.subheading.divider.enabled is zero +(the default), the subheading divider is suppressed. + + + + + + +man.subheading.divider +string + + +man.subheading.divider +Specifies string to use as divider comment before/after subheadings + + + + +<xsl:param name="man.subheading.divider">========================================================================</xsl:param> + + + +Description + +If the value of the +man.subheading.divider.enabled parameter is +non-zero, the contents of the +man.subheading.divider parameter are used to +add a "divider" before and after subheadings in the roff +output. The divider is not visisble in the +rendered man page; it is added as a comment, in the source, +simply for the purpose of increasing reability of the source. + +If man.subheading.divider.enabled is zero +(the default), the subheading divider is suppressed. + + + + + + + The Stylesheet + + The param.xsl stylesheet is just a + wrapper around all of these parameters. + + +<xsl:stylesheet exclude-result-prefixes="src" version="1.0"> + +<!-- This file is generated from param.xweb --> + +<!-- ******************************************************************** + $Id: param.xweb 8235 2009-02-09 16:22:14Z xmldoc $ + ******************************************************************** + + This file is part of the XSL DocBook Stylesheet distribution. + See ../README or http://docbook.sf.net/release/xsl/current/ for + copyright and other information. + + ******************************************************************** --> + +<src:fragref linkend="man.authors.section.enabled.frag"></src:fragref> +<src:fragref linkend="man.break.after.slash.frag"></src:fragref> +<src:fragref linkend="man.base.url.for.relative.links.frag"></src:fragref> +<src:fragref linkend="man.charmap.enabled.frag"></src:fragref> +<src:fragref linkend="man.charmap.subset.profile.frag"></src:fragref> +<src:fragref linkend="man.charmap.subset.profile.english.frag"></src:fragref> +<src:fragref linkend="man.charmap.uri.frag"></src:fragref> +<src:fragref linkend="man.charmap.use.subset.frag"></src:fragref> +<src:fragref linkend="man.copyright.section.enabled.frag"></src:fragref> +<src:fragref linkend="man.endnotes.are.numbered.frag"></src:fragref> +<src:fragref linkend="man.endnotes.list.enabled.frag"></src:fragref> +<src:fragref linkend="man.endnotes.list.heading.frag"></src:fragref> +<src:fragref linkend="man.font.funcprototype.frag"></src:fragref> +<src:fragref linkend="man.font.funcsynopsisinfo.frag"></src:fragref> +<src:fragref linkend="man.font.links.frag"></src:fragref> +<src:fragref linkend="man.font.table.headings.frag"></src:fragref> +<src:fragref linkend="man.font.table.title.frag"></src:fragref> +<src:fragref linkend="man.funcsynopsis.style.frag"></src:fragref> +<src:fragref linkend="man.hyphenate.computer.inlines.frag"></src:fragref> +<src:fragref linkend="man.hyphenate.filenames.frag"></src:fragref> +<src:fragref linkend="man.hyphenate.frag"></src:fragref> +<src:fragref linkend="man.hyphenate.urls.frag"></src:fragref> +<src:fragref linkend="man.indent.blurbs.frag"></src:fragref> +<src:fragref linkend="man.indent.lists.frag"></src:fragref> +<src:fragref linkend="man.indent.refsect.frag"></src:fragref> +<src:fragref linkend="man.indent.verbatims.frag"></src:fragref> +<src:fragref linkend="man.indent.width.frag"></src:fragref> +<src:fragref linkend="man.justify.frag"></src:fragref> +<src:fragref linkend="man.output.base.dir.frag"></src:fragref> +<src:fragref linkend="man.output.encoding.frag"></src:fragref> +<src:fragref linkend="man.output.in.separate.dir.frag"></src:fragref> +<src:fragref linkend="man.output.lang.in.name.enabled.frag"></src:fragref> +<src:fragref linkend="man.output.manifest.enabled.frag"></src:fragref> +<src:fragref linkend="man.output.manifest.filename.frag"></src:fragref> +<src:fragref linkend="man.output.better.ps.enabled.frag"></src:fragref> +<src:fragref linkend="man.output.quietly.frag"></src:fragref> +<src:fragref linkend="man.output.subdirs.enabled.frag"></src:fragref> +<src:fragref linkend="man.segtitle.suppress.frag"></src:fragref> +<src:fragref linkend="man.string.subst.map.frag"></src:fragref> +<src:fragref linkend="man.string.subst.map.local.post.frag"></src:fragref> +<src:fragref linkend="man.string.subst.map.local.pre.frag"></src:fragref> +<src:fragref linkend="man.subheading.divider.enabled.frag"></src:fragref> +<src:fragref linkend="man.subheading.divider.frag"></src:fragref> +<src:fragref linkend="man.table.footnotes.divider.frag"></src:fragref> +<src:fragref linkend="man.th.extra1.suppress.frag"></src:fragref> +<src:fragref linkend="man.th.extra2.max.length.frag"></src:fragref> +<src:fragref linkend="man.th.extra2.suppress.frag"></src:fragref> +<src:fragref linkend="man.th.extra3.max.length.frag"></src:fragref> +<src:fragref linkend="man.th.extra3.suppress.frag"></src:fragref> +<src:fragref linkend="man.th.title.max.length.frag"></src:fragref> +<src:fragref linkend="refentry.date.profile.enabled.frag"></src:fragref> +<src:fragref linkend="refentry.date.profile.frag"></src:fragref> +<src:fragref linkend="refentry.manual.fallback.profile.frag"></src:fragref> +<src:fragref linkend="refentry.manual.profile.enabled.frag"></src:fragref> +<src:fragref linkend="refentry.manual.profile.frag"></src:fragref> +<src:fragref linkend="refentry.meta.get.quietly.frag"></src:fragref> +<src:fragref linkend="refentry.source.fallback.profile.frag"></src:fragref> +<src:fragref linkend="refentry.source.name.profile.enabled.frag"></src:fragref> +<src:fragref linkend="refentry.source.name.profile.frag"></src:fragref> +<src:fragref linkend="refentry.source.name.suppress.frag"></src:fragref> +<src:fragref linkend="refentry.version.profile.enabled.frag"></src:fragref> +<src:fragref linkend="refentry.version.profile.frag"></src:fragref> +<src:fragref linkend="refentry.version.suppress.frag"></src:fragref> +</xsl:stylesheet> + + + +
    diff --git a/doc/help/xslt/manpages/param.xsl b/doc/help/xslt/manpages/param.xsl new file mode 100644 index 00000000..39d20590 --- /dev/null +++ b/doc/help/xslt/manpages/param.xsl @@ -0,0 +1,193 @@ + + + + + + + +1 +0 +[set $man.base.url.for.relative.links]/ + + +@*[local-name() = 'block'] = 'Miscellaneous Technical' or +(@*[local-name() = 'block'] = 'C1 Controls And Latin-1 Supplement (Latin-1 Supplement)' and + (@*[local-name() = 'class'] = 'symbols' or + @*[local-name() = 'class'] = 'letters') +) or +@*[local-name() = 'block'] = 'Latin Extended-A' +or +(@*[local-name() = 'block'] = 'General Punctuation' and + (@*[local-name() = 'class'] = 'spaces' or + @*[local-name() = 'class'] = 'dashes' or + @*[local-name() = 'class'] = 'quotes' or + @*[local-name() = 'class'] = 'bullets' + ) +) or +@*[local-name() = 'name'] = 'HORIZONTAL ELLIPSIS' or +@*[local-name() = 'name'] = 'WORD JOINER' or +@*[local-name() = 'name'] = 'SERVICE MARK' or +@*[local-name() = 'name'] = 'TRADE MARK SIGN' or +@*[local-name() = 'name'] = 'ZERO WIDTH NO-BREAK SPACE' + + +@*[local-name() = 'block'] = 'Miscellaneous Technical' or +(@*[local-name() = 'block'] = 'C1 Controls And Latin-1 Supplement (Latin-1 Supplement)' and + @*[local-name() = 'class'] = 'symbols') +or +(@*[local-name() = 'block'] = 'General Punctuation' and + (@*[local-name() = 'class'] = 'spaces' or + @*[local-name() = 'class'] = 'dashes' or + @*[local-name() = 'class'] = 'quotes' or + @*[local-name() = 'class'] = 'bullets' + ) +) or +@*[local-name() = 'name'] = 'HORIZONTAL ELLIPSIS' or +@*[local-name() = 'name'] = 'WORD JOINER' or +@*[local-name() = 'name'] = 'SERVICE MARK' or +@*[local-name() = 'name'] = 'TRADE MARK SIGN' or +@*[local-name() = 'name'] = 'ZERO WIDTH NO-BREAK SPACE' + + + +1 +1 +1 + + BI + B +B + B + B +ansi +0 +0 +0 +0 + + + + +4 +0 +man/ +UTF-8 + + + +MAN.MANIFEST +0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +0 +======================================================================== +---- +0 +30 +0 +30 +0 +20 +0 + + (($info[//date])[last()]/date)[1]| + (($info[//pubdate])[last()]/pubdate)[1] + + +refmeta/refmiscinfo[not(@class = 'date')][1]/node() +0 + + (($info[//title])[last()]/title)[1]| + ../title/node() + + + +refmeta/refmiscinfo[not(@class = 'date')][1]/node() +0 + + (($info[//productname])[last()]/productname)[1]| + (($info[//corpname])[last()]/corpname)[1]| + (($info[//corpcredit])[last()]/corpcredit)[1]| + (($info[//corpauthor])[last()]/corpauthor)[1]| + (($info[//orgname])[last()]/orgname)[1]| + (($info[//publishername])[last()]/publishername)[1] + +0 +0 + + (($info[//productnumber])[last()]/productnumber)[1]| + (($info[//edition])[last()]/edition)[1]| + (($info[//releaseinfo])[last()]/releaseinfo)[1] + +0 + diff --git a/doc/help/xslt/manpages/pi.xml b/doc/help/xslt/manpages/pi.xml new file mode 100644 index 00000000..8db98d31 --- /dev/null +++ b/doc/help/xslt/manpages/pi.xml @@ -0,0 +1,70 @@ + + +manpages Processing Instruction Reference + + $Id: pi.xsl 7644 2008-01-16 11:04:07Z xmldoc $ + + + + Introduction + +This is generated reference documentation for all + user-specifiable processing instructions (PIs) in the DocBook + XSL stylesheets for manpages output. + + +You add these PIs at particular points in a document to + cause specific “exceptions” to formatting/output behavior. To + make global changes in formatting/output behavior across an + entire document, it’s better to do it by setting an + appropriate stylesheet parameter (if there is one). + + + + + + + + +dbman_funcsynopsis-style +Specifies presentation style for a funcsynopsis. + + + + dbman funcsynopsis-style="kr"|"ansi" + + +Description + +Use the dbman + funcsynopsis-style PI as a child of a + funcsynopsis or anywhere within a funcsynopsis + to control the presentation style for output of all + funcprototype instances within that funcsynopsis. + + Parameters + + + funcsynopsis-style="kr" + + +Displays the funcprototype in K&R style + + + + funcsynopsis-style="ansi" + + +Displays the funcprototype in ANSI style + + + + + + Related Global Parameters + +man.funcsynopsis.style + + + + diff --git a/doc/help/xslt/manpages/pi.xsl b/doc/help/xslt/manpages/pi.xsl new file mode 100644 index 00000000..7b0975b8 --- /dev/null +++ b/doc/help/xslt/manpages/pi.xsl @@ -0,0 +1,79 @@ + + + + + +manpages Processing Instruction Reference + + $Id: pi.xsl 7644 2008-01-16 11:04:07Z xmldoc $ + + + + Introduction + This is generated reference documentation for all + user-specifiable processing instructions (PIs) in the DocBook + XSL stylesheets for manpages output. + + You add these PIs at particular points in a document to + cause specific “exceptions” to formatting/output behavior. To + make global changes in formatting/output behavior across an + entire document, it’s better to do it by setting an + appropriate stylesheet parameter (if there is one). + + + + + + + + + Specifies presentation style for a funcsynopsis. + + Use the dbman + funcsynopsis-style PI as a child of a + funcsynopsis or anywhere within a funcsynopsis + to control the presentation style for output of all + funcprototype instances within that funcsynopsis. + + + dbman funcsynopsis-style="kr"|"ansi" + + + + funcsynopsis-style="kr" + + Displays the funcprototype in K&R style + + + funcsynopsis-style="ansi" + + Displays the funcprototype in ANSI style + + + + + + man.funcsynopsis.style + + + + + + + + + + + diff --git a/doc/help/xslt/manpages/profile-docbook.xsl b/doc/help/xslt/manpages/profile-docbook.xsl new file mode 100644 index 00000000..41b14c79 --- /dev/null +++ b/doc/help/xslt/manpages/profile-docbook.xsl @@ -0,0 +1,281 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Note: namesp. cut : stripped namespace before processingNote: namesp. cut : processing stripped document + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MAN.MANIFEST + + + + + + + + + + + Erro + + + no refentry + + + No refentry elements found + + in " + + + + ... + + + + + + " + + . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + '\" t + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + .\" ----------------------------------------------------------------- + + .\" * MAIN CONTENT STARTS HERE * + + .\" ----------------------------------------------------------------- + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/manpages/refentry.xsl b/doc/help/xslt/manpages/refentry.xsl new file mode 100644 index 00000000..4f6b5af9 --- /dev/null +++ b/doc/help/xslt/manpages/refentry.xsl @@ -0,0 +1,319 @@ + + + + + + + + + + + + + .br + + + + + + + + + + + + + + + , + + + + + + + + + + + + + + + + + + + + + + + + + + + + \- + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + .SS " + + " + + + + + + .RS + + .RE + + + + + + + + + + + + + + + + + + + + + + + + .RS + + + + + + + .RE + + + + + + + + + + .ti (\n(SNu * 5u / 3u) + + + + + + + + + + + + + + + + + + + (\n(SNu) + + + + .RS (\n(SNu) + + .RE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \c + + .SH-xref + " + + \c" + + \& + + + + + + + + + + diff --git a/doc/help/xslt/manpages/synop.xsl b/doc/help/xslt/manpages/synop.xsl new file mode 100644 index 00000000..2e0b14e0 --- /dev/null +++ b/doc/help/xslt/manpages/synop.xsl @@ -0,0 +1,432 @@ + + + + + + | + + + + + + + + + + + ( + + ) + + + + + + + + + + + + + + + + + + + + + + + + + .HP + \w' + ( + + ) + \ 'u + + ( + + ) + \ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + .br▒ + + + + + + .ad l + + + + .hy 0 + + + .HP + \w' + + + + + + + + + \ 'u + + + + + + + .ad + + + + .hy + + + + + + + + + + + + + + + + + + .ad l + + + + .hy 0 + + + + + .ad + + + + .hy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + .HP + \w' + + + + + + + + + ('u + + . + + + + + + + + " + + ( + + + + + + + + + " + + + + + + + + + + + .sp + .RS + + + + + + + .RE + + + + + + + + + + + + + + ); + + + + ...); + + + + void); + + + + ...); + + + + + + + + + + + + + + + + , + + + ); + + + + + + + + + + + + , + + + ); + + + + + + + + .br + . + + + + + + + + " + + + + + ; + " + + + + + + + + + + + + + + "░" + + "░" + + + + ( + + ) + + + diff --git a/doc/help/xslt/manpages/table.xsl b/doc/help/xslt/manpages/table.xsl new file mode 100644 index 00000000..3d950513 --- /dev/null +++ b/doc/help/xslt/manpages/table.xsl @@ -0,0 +1,633 @@ + + + + + + + : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + allbox + + + + + + + + center + + + + + + + + expand + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + + + + + + + +
    +
    + + + + + + + + + + + + + + + + + + .sp + + . + + + + *[nested▀table] + + + + + + + + .TS + + + H + + + + + + + + + + + tab( + + ) + + + + ; + + + + + + + + + + + + + + + + .TH + + + + + + + + + + + .T& + + + + + + + + + + + + + + + + + + + + + + .TE + + .sp 1 + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + T{ + + T} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Warn + + tbl convert + + Extracted a nested table + + + [\fInested▀table\fR]* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . + + + + + + + + + + + + + + + + + + + + + + + ^ + + + c + + + r + + + n + + + + l + + + + + + + + t + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ^ + + + + s + + + + + + + + + + + + + + + + + + + + + + + + + + + + + .br + + + + + + + + + ftn. + + + + + + # + + + + + + [ + + ] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    diff --git a/doc/help/xslt/manpages/utility.xsl b/doc/help/xslt/manpages/utility.xsl new file mode 100644 index 00000000..26a75139 --- /dev/null +++ b/doc/help/xslt/manpages/utility.xsl @@ -0,0 +1,555 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \fB + + \fR + + + + + + + + + + + + + \fI + + \fR + + + + + + + + + + + + \FC + + + + + + \F[] + + + + + + + + .fam C + .ps -1 + + + + + + .fam + .ps +1 + + + + + + .fam C + + + + + + .fam + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \% + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + .sp + + .ps +1 + + + + + + .it 1 an-trap + .nr an-no-space-flag 1 + .nr an-break-flag 1 + .br + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + .sp + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + .RS + + + + + + + + + + + + + + + + + + + + + .RE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + .SH + + " + + + + + + + + + + + " + + + + + + + + + .\" + + + + + + + + + n + .ie + + \{\ + + + + n + .if + + \{\ + + + + .\} + .el \{\ + + + + .\} + + + diff --git a/doc/help/xslt/params/abstract.notitle.enabled.xml b/doc/help/xslt/params/abstract.notitle.enabled.xml new file mode 100644 index 00000000..1771f722 --- /dev/null +++ b/doc/help/xslt/params/abstract.notitle.enabled.xml @@ -0,0 +1,22 @@ + + +abstract.notitle.enabled +boolean + + +abstract.notitle.enabled +Suppress display of abstract titles? + + + + +Description +If non-zero, in output of the abstract element on titlepages, +display of the abstract title is suppressed. + + diff --git a/doc/help/xslt/params/abstract.properties.xml b/doc/help/xslt/params/abstract.properties.xml new file mode 100644 index 00000000..e8023126 --- /dev/null +++ b/doc/help/xslt/params/abstract.properties.xml @@ -0,0 +1,32 @@ + + +abstract.properties +attribute set + + +abstract.properties +Properties associated with the block surrounding an abstract + + + + + + 0.0in + 0.0in + + + + +Description + +Block styling properties for abstract. + +See also abstract.title.properties. + + + diff --git a/doc/help/xslt/params/abstract.title.properties.xml b/doc/help/xslt/params/abstract.title.properties.xml new file mode 100644 index 00000000..d01f70ca --- /dev/null +++ b/doc/help/xslt/params/abstract.title.properties.xml @@ -0,0 +1,39 @@ + + +abstract.title.properties +attribute set + + +abstract.title.properties +Properties for abstract titles + + + + + + + bold + always + always + + + + false + center + + + + +Description + +The properties for abstract titles. + +See also abstract.properties. + + + diff --git a/doc/help/xslt/params/active.toc.xml b/doc/help/xslt/params/active.toc.xml new file mode 100644 index 00000000..f56aee14 --- /dev/null +++ b/doc/help/xslt/params/active.toc.xml @@ -0,0 +1,29 @@ + + +active.toc +boolean + + +active.toc +Active ToCs? + + + + + + + + +Description + +If non-zero, JavaScript is used to keep the ToC and the current slide +in sync. That is, each time the slide changes, the corresponding +ToC entry will be underlined. + + + diff --git a/doc/help/xslt/params/ade.extensions.xml b/doc/help/xslt/params/ade.extensions.xml new file mode 100644 index 00000000..479591b9 --- /dev/null +++ b/doc/help/xslt/params/ade.extensions.xml @@ -0,0 +1,32 @@ + + + + ade.extensions + boolean + + + ade.extensions + Enable Adobe Digitial Editions extensions for ePub rendering? + + + + + + + + + Description + + If non-zero, +Adobe Digital Editions +extensions will be used when rendering to ePub output. Adobe Digital Editions extensions consists +rendering and layout extensions. + This parameter can also affect which graphics file formats are supported. + + diff --git a/doc/help/xslt/params/admon.graphics.extension.xml b/doc/help/xslt/params/admon.graphics.extension.xml new file mode 100644 index 00000000..a7b47ddd --- /dev/null +++ b/doc/help/xslt/params/admon.graphics.extension.xml @@ -0,0 +1,27 @@ + + +admon.graphics.extension +string + + +admon.graphics.extension +Filename extension for admonition graphics + + + + +.png + + + +Description + +Sets the filename extension to use on admonition graphics. + + + diff --git a/doc/help/xslt/params/admon.graphics.path.xml b/doc/help/xslt/params/admon.graphics.path.xml new file mode 100644 index 00000000..32b12b12 --- /dev/null +++ b/doc/help/xslt/params/admon.graphics.path.xml @@ -0,0 +1,27 @@ + + +admon.graphics.path +string + + +admon.graphics.path +Path to admonition graphics + + + +images/ + + +Description + +Sets the path to the directory containing the admonition graphics +(caution.png, important.png etc). This location is normally relative +to the output html directory. See base.dir + + + diff --git a/doc/help/xslt/params/admon.graphics.xml b/doc/help/xslt/params/admon.graphics.xml new file mode 100644 index 00000000..f5e5ae46 --- /dev/null +++ b/doc/help/xslt/params/admon.graphics.xml @@ -0,0 +1,29 @@ + + +admon.graphics +boolean + + +admon.graphics +Use graphics in admonitions? + + + + + + + + +Description + +If true (non-zero), admonitions are presented in an alternate style that uses +a graphic. Default graphics are provided in the distribution. + + + + diff --git a/doc/help/xslt/params/admon.style.xml b/doc/help/xslt/params/admon.style.xml new file mode 100644 index 00000000..5abe022b --- /dev/null +++ b/doc/help/xslt/params/admon.style.xml @@ -0,0 +1,31 @@ + + +admon.style +string + + +admon.style +Specifies the CSS style attribute that should be added to +admonitions. + + + + + + + + +Description + +Specifies the value of the CSS style +attribute that should be added to admonitions. + + + + diff --git a/doc/help/xslt/params/admon.textlabel.xml b/doc/help/xslt/params/admon.textlabel.xml new file mode 100644 index 00000000..ea1a53f1 --- /dev/null +++ b/doc/help/xslt/params/admon.textlabel.xml @@ -0,0 +1,32 @@ + + +admon.textlabel +boolean + + +admon.textlabel +Use text label in admonitions? + + + + + + + + +Description + +If true (non-zero), admonitions are presented with a generated +text label such as Note or Warning in the appropriate language. +If zero, such labels are turned off, but any title child +of the admonition element are still output. +The default value is 1. + + + + diff --git a/doc/help/xslt/params/admonition.properties.xml b/doc/help/xslt/params/admonition.properties.xml new file mode 100644 index 00000000..4dddd26b --- /dev/null +++ b/doc/help/xslt/params/admonition.properties.xml @@ -0,0 +1,25 @@ + + + admonition.properties + attribute set + + +admonition.properties +To set the style for admonitions. + + + + + + +Description +How do you want admonitions styled? +Set the font-size, weight, etc. to the style required + + + diff --git a/doc/help/xslt/params/admonition.title.properties.xml b/doc/help/xslt/params/admonition.title.properties.xml new file mode 100644 index 00000000..7af23e61 --- /dev/null +++ b/doc/help/xslt/params/admonition.title.properties.xml @@ -0,0 +1,32 @@ + + + + admonition.title.properties + attribute set + + +admonition.title.properties +To set the style for admonitions titles. + + + + + + 14pt + bold + false + always + + + +Description +How do you want admonitions titles styled? +Set the font-size, weight etc to the style required. + + + diff --git a/doc/help/xslt/params/alignment.xml b/doc/help/xslt/params/alignment.xml new file mode 100644 index 00000000..9c0a3de3 --- /dev/null +++ b/doc/help/xslt/params/alignment.xml @@ -0,0 +1,41 @@ + + +alignment + list + open + left + start + right + end + center + justify + + +alignment +Specify the default text alignment + + + +justify + + +Description + +The default text alignment is used for most body text. +Allowed values are +left, +right, +start, +end, +center, +justify. +The default value is justify. + + + + diff --git a/doc/help/xslt/params/annotate.toc.xml b/doc/help/xslt/params/annotate.toc.xml new file mode 100644 index 00000000..667fa321 --- /dev/null +++ b/doc/help/xslt/params/annotate.toc.xml @@ -0,0 +1,28 @@ + + +annotate.toc +boolean + + +annotate.toc +Annotate the Table of Contents? + + + + + + +Description + +If true, TOCs will be annotated. At present, this just means +that the refpurpose of refentry +TOC entries will be displayed. + + + + diff --git a/doc/help/xslt/params/annotation.css.xml b/doc/help/xslt/params/annotation.css.xml new file mode 100644 index 00000000..560c56a7 --- /dev/null +++ b/doc/help/xslt/params/annotation.css.xml @@ -0,0 +1,71 @@ + + +annotation.css +string + + +annotation.css +CSS rules for annotations + + + + + +/* ====================================================================== + Annotations +*/ + +div.annotation-list { visibility: hidden; + } + +div.annotation-nocss { position: absolute; + visibility: hidden; + } + +div.annotation-popup { position: absolute; + z-index: 4; + visibility: hidden; + padding: 0px; + margin: 2px; + border-style: solid; + border-width: 1px; + width: 200px; + background-color: white; + } + +div.annotation-title { padding: 1px; + font-weight: bold; + border-bottom-style: solid; + border-bottom-width: 1px; + color: white; + background-color: black; + } + +div.annotation-body { padding: 2px; + } + +div.annotation-body p { margin-top: 0px; + padding-top: 0px; + } + +div.annotation-close { position: absolute; + top: 2px; + right: 2px; + } + + + + +Description + +If annotation.support is enabled and the +document contains annotations, then the CSS in this +parameter will be included in the document. + + + diff --git a/doc/help/xslt/params/annotation.graphic.close.xml b/doc/help/xslt/params/annotation.graphic.close.xml new file mode 100644 index 00000000..002ebb4a --- /dev/null +++ b/doc/help/xslt/params/annotation.graphic.close.xml @@ -0,0 +1,31 @@ + + +annotation.graphic.close +uri + + +annotation.graphic.close +Image for identifying a link that closes an annotation popup + + + + + +http://docbook.sourceforge.net/release/images/annot-close.png + + + +Description + +This image is used on popup annotations as the “x” that the +user can click to dismiss the popup. +This image is used on popup annotations as the “x” that the user can +click to dismiss the popup. It may be replaced by a user provided graphic. The size should be approximately 10x10 pixels. + + + diff --git a/doc/help/xslt/params/annotation.graphic.open.xml b/doc/help/xslt/params/annotation.graphic.open.xml new file mode 100644 index 00000000..c7d1c323 --- /dev/null +++ b/doc/help/xslt/params/annotation.graphic.open.xml @@ -0,0 +1,28 @@ + + +annotation.graphic.open +uri + + +annotation.graphic.open +Image for identifying a link that opens an annotation popup + + + + +http://docbook.sourceforge.net/release/images/annot-open.png + + + +Description + +This image is used inline to identify the location of +annotations. It may be replaced by a user provided graphic. The size should be approximately 10x10 pixels. + + + diff --git a/doc/help/xslt/params/annotation.js.xml b/doc/help/xslt/params/annotation.js.xml new file mode 100644 index 00000000..6c7e97eb --- /dev/null +++ b/doc/help/xslt/params/annotation.js.xml @@ -0,0 +1,33 @@ + + +annotation.js +string + + +annotation.js +URIs identifying JavaScript files with support for annotation popups + + + + + + +http://docbook.sourceforge.net/release/script/AnchorPosition.js http://docbook.sourceforge.net/release/script/PopupWindow.js + + + + +Description + +If annotation.support is enabled and the +document contains annotations, then the URIs listed +in this parameter will be included. These JavaScript files are required +for popup annotation support. + + + diff --git a/doc/help/xslt/params/annotation.support.xml b/doc/help/xslt/params/annotation.support.xml new file mode 100644 index 00000000..29e76333 --- /dev/null +++ b/doc/help/xslt/params/annotation.support.xml @@ -0,0 +1,29 @@ + + +annotation.support +boolean + + +annotation.support +Enable annotations? + + + + + + + + +Description + +If non-zero, the stylesheets will attempt to support annotation +elements in HTML by including some JavaScript (see +annotation.js). + + + diff --git a/doc/help/xslt/params/appendix.autolabel.xml b/doc/help/xslt/params/appendix.autolabel.xml new file mode 100644 index 00000000..bae38fa1 --- /dev/null +++ b/doc/help/xslt/params/appendix.autolabel.xml @@ -0,0 +1,73 @@ + + +appendix.autolabel +list +0none +11,2,3... +AA,B,C... +aa,b,c... +ii,ii,iii... +II,II,III... + + +appendix.autolabel +Specifies the labeling format for Appendix titles + + + + +A + + + +Description + +If non-zero, then appendices will be numbered using the +parameter value as the number format if the value matches one of the +following: + + + + + 1 or arabic + + Arabic numeration (1, 2, 3 ...). + + + + A or upperalpha + + Uppercase letter numeration (A, B, C ...). + + + + a or loweralpha + + Lowercase letter numeration (a, b, c ...). + + + + I or upperroman + + Uppercase roman numeration (I, II, III ...). + + + + i or lowerroman + + Lowercase roman letter numeration (i, ii, iii ...). + + + + +Any nonzero value other than the above will generate +the default number format (upperalpha). + + + + diff --git a/doc/help/xslt/params/arbortext.extensions.xml b/doc/help/xslt/params/arbortext.extensions.xml new file mode 100644 index 00000000..2e571ddb --- /dev/null +++ b/doc/help/xslt/params/arbortext.extensions.xml @@ -0,0 +1,30 @@ + + +arbortext.extensions +boolean + + +arbortext.extensions +Enable Arbortext extensions? + + + + + + +Description + +If non-zero, +Arbortext +extensions will be used. + +This parameter can also affect which graphics file formats +are supported + + + diff --git a/doc/help/xslt/params/article.appendix.title.properties.xml b/doc/help/xslt/params/article.appendix.title.properties.xml new file mode 100644 index 00000000..61337a1b --- /dev/null +++ b/doc/help/xslt/params/article.appendix.title.properties.xml @@ -0,0 +1,33 @@ + + +article.appendix.title.properties +attribute set + + +article.appendix.title.properties +Properties for appendix titles that appear in an article + + + + + + + + + + + + +Description + +The properties for the title of an appendix that +appears inside an article. The default is to use +the properties of sect1 titles. + + + diff --git a/doc/help/xslt/params/author.othername.in.middle.xml b/doc/help/xslt/params/author.othername.in.middle.xml new file mode 100644 index 00000000..4ad21dd3 --- /dev/null +++ b/doc/help/xslt/params/author.othername.in.middle.xml @@ -0,0 +1,31 @@ + + +author.othername.in.middle +boolean + + +author.othername.in.middle +Is othername in author a +middle name? + + + + + + + +Description + +If non-zero, the othername of an author +appears between the firstname and +surname. Otherwise, othername +is suppressed. + + + + diff --git a/doc/help/xslt/params/autolayout-file.xml b/doc/help/xslt/params/autolayout-file.xml new file mode 100644 index 00000000..150f1237 --- /dev/null +++ b/doc/help/xslt/params/autolayout-file.xml @@ -0,0 +1,29 @@ + + +autolayout-file +filename + + +autolayout-file +Identifies the autolayout.xml file + + + + +autolayout.xml + + + +Description +When the source pages are spread over several directories, this +parameter can be set (for example, from the command line of a batch-mode +XSLT processor) to indicate the location of the autolayout.xml file. +FIXME: for browser-based use, there needs to be a PI for this... + + + diff --git a/doc/help/xslt/params/autotoc.label.in.hyperlink.xml b/doc/help/xslt/params/autotoc.label.in.hyperlink.xml new file mode 100644 index 00000000..dced0bd7 --- /dev/null +++ b/doc/help/xslt/params/autotoc.label.in.hyperlink.xml @@ -0,0 +1,29 @@ + + +autotoc.label.in.hyperlink +boolean + + +autotoc.label.in.hyperlink +Include label in hyperlinked titles in TOC? + + + + + + +Description + +If the value of +autotoc.label.in.hyperlink is non-zero, labels +are included in hyperlinked titles in the TOC. If it is instead zero, +labels are still displayed prior to the hyperlinked titles, but +are not hyperlinked along with the titles. + + + diff --git a/doc/help/xslt/params/autotoc.label.separator.xml b/doc/help/xslt/params/autotoc.label.separator.xml new file mode 100644 index 00000000..b9cd53a3 --- /dev/null +++ b/doc/help/xslt/params/autotoc.label.separator.xml @@ -0,0 +1,27 @@ + + +autotoc.label.separator +string + + +autotoc.label.separator +Separator between labels and titles in the ToC + + + + +. + + + +Description + +String used to separate labels and titles in a table of contents. + + + diff --git a/doc/help/xslt/params/axf.extensions.xml b/doc/help/xslt/params/axf.extensions.xml new file mode 100644 index 00000000..940a187b --- /dev/null +++ b/doc/help/xslt/params/axf.extensions.xml @@ -0,0 +1,33 @@ + + +axf.extensions +boolean + + +axf.extensions +Enable XSL Formatter extensions? + + + + + + + + +Description + +If non-zero, +XSL Formatter +extensions will be used. XSL Formatter extensions consists of PDF bookmarks, +document information and better index processing. + +This parameter can also affect which graphics file formats +are supported + + + diff --git a/doc/help/xslt/params/banner.before.navigation.xml b/doc/help/xslt/params/banner.before.navigation.xml new file mode 100644 index 00000000..08833780 --- /dev/null +++ b/doc/help/xslt/params/banner.before.navigation.xml @@ -0,0 +1,25 @@ + + +banner.before.navigation +boolean + + +banner.before.navigation +Put banner before navigation? + + + + + + + + +Description +FIXME + + diff --git a/doc/help/xslt/params/base.dir.xml b/doc/help/xslt/params/base.dir.xml new file mode 100644 index 00000000..e22ca14c --- /dev/null +++ b/doc/help/xslt/params/base.dir.xml @@ -0,0 +1,29 @@ + + +base.dir +uri + + +base.dir +The base directory of chunks + + + + + + + + +Description + +If specified, the base.dir identifies +the output directory for chunks. (If not specified, the output directory +is system dependent.) + + + diff --git a/doc/help/xslt/params/biblioentry.item.separator.xml b/doc/help/xslt/params/biblioentry.item.separator.xml new file mode 100644 index 00000000..4a56ad6c --- /dev/null +++ b/doc/help/xslt/params/biblioentry.item.separator.xml @@ -0,0 +1,26 @@ + + +biblioentry.item.separator +string + + +biblioentry.item.separator +Text to separate bibliography entries + + + +. + + +Description + +Text to separate bibliography entries + + + + diff --git a/doc/help/xslt/params/biblioentry.properties.xml b/doc/help/xslt/params/biblioentry.properties.xml new file mode 100644 index 00000000..9e88ddb5 --- /dev/null +++ b/doc/help/xslt/params/biblioentry.properties.xml @@ -0,0 +1,28 @@ + + + biblioentry.properties + attribute set + + +biblioentry.properties +To set the style for biblioentry. + + + + + 0.5in + -0.5in + + + +Description +How do you want biblioentry styled? +Set the font-size, weight, space-above and space-below, indents, etc. to the style required + + + diff --git a/doc/help/xslt/params/bibliography.collection.xml b/doc/help/xslt/params/bibliography.collection.xml new file mode 100644 index 00000000..ee49ddea --- /dev/null +++ b/doc/help/xslt/params/bibliography.collection.xml @@ -0,0 +1,104 @@ + + +bibliography.collection +string + + +bibliography.collection +Name of the bibliography collection file + + + + +http://docbook.sourceforge.net/release/bibliography/bibliography.xml + + + + +Description + +Maintaining bibliography entries across a set of documents is tedious, time +consuming, and error prone. It makes much more sense, usually, to store all of +the bibliography entries in a single place and simply extract +the ones you need in each document. + +That's the purpose of the +bibliography.collection parameter. To setup a global +bibliography database, follow these steps: + +First, create a stand-alone bibliography document that contains all of +the documents that you wish to reference. Make sure that each bibliography +entry (whether you use biblioentry or bibliomixed) +has an ID. + +My global bibliography, ~/bibliography.xml begins +like this: + + +<!DOCTYPE bibliography + PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" + "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"> +<bibliography><title>References</title> + +<bibliomixed id="xml-rec"><abbrev>XML 1.0</abbrev>Tim Bray, +Jean Paoli, C. M. Sperberg-McQueen, and Eve Maler, editors. +<citetitle><ulink url="http://www.w3.org/TR/REC-xml">Extensible Markup +Language (XML) 1.0 Second Edition</ulink></citetitle>. +World Wide Web Consortium, 2000. +</bibliomixed> + +<bibliomixed id="xml-names"><abbrev>Namespaces</abbrev>Tim Bray, +Dave Hollander, +and Andrew Layman, editors. +<citetitle><ulink url="http://www.w3.org/TR/REC-xml-names/">Namespaces in +XML</ulink></citetitle>. +World Wide Web Consortium, 1999. +</bibliomixed> + +<!-- ... --> +</bibliography> + + + +When you create a bibliography in your document, simply +provide empty bibliomixed +entries for each document that you wish to cite. Make sure that these +elements have the same ID as the corresponding real +entry in your global bibliography. + +For example: + + +<bibliography><title>Bibliography</title> + +<bibliomixed id="xml-rec"/> +<bibliomixed id="xml-names"/> +<bibliomixed id="DKnuth86">Donald E. Knuth. <citetitle>Computers and +Typesetting: Volume B, TeX: The Program</citetitle>. Addison-Wesley, +1986. ISBN 0-201-13437-3. +</bibliomixed> +<bibliomixed id="relaxng"/> + +</bibliography> + + +Note that it's perfectly acceptable to mix entries from your +global bibliography with normal entries. You can use +xref or other elements to cross-reference your +bibliography entries in exactly the same way you do now. + +Finally, when you are ready to format your document, simply set the +bibliography.collection parameter (in either a +customization layer or directly through your processor's interface) to +point to your global bibliography. + +The stylesheets will format the bibliography in your document as if +all of the entries referenced appeared there literally. + + + diff --git a/doc/help/xslt/params/bibliography.numbered.xml b/doc/help/xslt/params/bibliography.numbered.xml new file mode 100644 index 00000000..593a1fa9 --- /dev/null +++ b/doc/help/xslt/params/bibliography.numbered.xml @@ -0,0 +1,27 @@ + + +bibliography.numbered +boolean + + +bibliography.numbered +Should bibliography entries be numbered? + + + + + + + + +Description + +If non-zero bibliography entries will be numbered + + + diff --git a/doc/help/xslt/params/bibliography.style.xml b/doc/help/xslt/params/bibliography.style.xml new file mode 100644 index 00000000..fa445826 --- /dev/null +++ b/doc/help/xslt/params/bibliography.style.xml @@ -0,0 +1,35 @@ + + +bibliography.style +list +normal +iso690 + + +bibliography.style +Style used for formatting of biblioentries. + + + + +normal + + + +Description + +Currently only normal and +iso690 styles are supported. + +In order to use ISO690 style to the full extent you might need +to use additional markup described on the +following WiKi page. + + + diff --git a/doc/help/xslt/params/blockquote.properties.xml b/doc/help/xslt/params/blockquote.properties.xml new file mode 100644 index 00000000..76d7f1c3 --- /dev/null +++ b/doc/help/xslt/params/blockquote.properties.xml @@ -0,0 +1,34 @@ + + + blockquote.properties + attribute set + + +blockquote.properties +To set the style for block quotations. + + + + + +0.5in +0.5in +0.5em +1em +2em + + + + +Description + +The blockquote.properties attribute set specifies +the formating properties of block quotations. + + + diff --git a/doc/help/xslt/params/blurb.on.titlepage.enabled.xml b/doc/help/xslt/params/blurb.on.titlepage.enabled.xml new file mode 100644 index 00000000..27e89d75 --- /dev/null +++ b/doc/help/xslt/params/blurb.on.titlepage.enabled.xml @@ -0,0 +1,31 @@ + + +blurb.on.titlepage.enabled +boolean + + +blurb.on.titlepage.enabled +Display personblurb and authorblurb on title pages? + + + + + + + + +Description + +If non-zero, output from authorblurb and +personblurb elements is displayed on title pages. If zero +(the default), output from those elements is suppressed on title pages +(unless you are using a titlepage customization +that causes them to be included). + + + diff --git a/doc/help/xslt/params/body.attributes.xml b/doc/help/xslt/params/body.attributes.xml new file mode 100644 index 00000000..8ee1ad94 --- /dev/null +++ b/doc/help/xslt/params/body.attributes.xml @@ -0,0 +1,31 @@ + + +body.attributes +attribute set + + +body.attributes +DEPRECATED + + + + + + white + black + #0000FF + #840084 + #0000FF + + + + +Description +DEPRECATED + + diff --git a/doc/help/xslt/params/body.bg.color.xml b/doc/help/xslt/params/body.bg.color.xml new file mode 100644 index 00000000..8315b859 --- /dev/null +++ b/doc/help/xslt/params/body.bg.color.xml @@ -0,0 +1,28 @@ + + +body.bg.color +color + + +body.bg.color +Background color for body frame + + + + +#FFFFFF + + + +Description + +Specifies the background color used in the body column of +tabular slides. + + + diff --git a/doc/help/xslt/params/body.end.indent.xml b/doc/help/xslt/params/body.end.indent.xml new file mode 100644 index 00000000..a5e098c7 --- /dev/null +++ b/doc/help/xslt/params/body.end.indent.xml @@ -0,0 +1,37 @@ + + +body.end.indent +length + + +body.end.indent +The end-indent for the body text + + + + +0pt + + + +Description + +This end-indent property is added to the fo:flow +for certain page sequences. Which page-sequences it is +applied to is determined by the template named +set.flow.properties. +By default, that template adds it to the flow +for page-sequences using the body +master-reference, as well as appendixes and prefaces. + + +See also body.start.indent. + + + + diff --git a/doc/help/xslt/params/body.font.family.xml b/doc/help/xslt/params/body.font.family.xml new file mode 100644 index 00000000..06c3b479 --- /dev/null +++ b/doc/help/xslt/params/body.font.family.xml @@ -0,0 +1,32 @@ + + +body.font.family +list +open +serif +sans-serif +monospace + + +body.font.family +The default font family for body text + + + + +serif + + + +Description + +The body font family is the default font used for text in the page body. + + + + diff --git a/doc/help/xslt/params/body.font.master.xml b/doc/help/xslt/params/body.font.master.xml new file mode 100644 index 00000000..323a6a05 --- /dev/null +++ b/doc/help/xslt/params/body.font.master.xml @@ -0,0 +1,30 @@ + + +body.font.master + number + + +body.font.master +Specifies the default point size for body text + + + + +10 + + + +Description + +The body font size is specified in two parameters +(body.font.master and body.font.size) +so that math can be performed on the font size by XSLT. + + + + diff --git a/doc/help/xslt/params/body.font.size.xml b/doc/help/xslt/params/body.font.size.xml new file mode 100644 index 00000000..fc35ade9 --- /dev/null +++ b/doc/help/xslt/params/body.font.size.xml @@ -0,0 +1,31 @@ + + +body.font.size +length + + +body.font.size +Specifies the default font size for body text + + + + + + pt + + + +Description + +The body font size is specified in two parameters +(body.font.master and body.font.size) +so that math can be performed on the font size by XSLT. + + + + diff --git a/doc/help/xslt/params/body.margin.bottom.xml b/doc/help/xslt/params/body.margin.bottom.xml new file mode 100644 index 00000000..2302f649 --- /dev/null +++ b/doc/help/xslt/params/body.margin.bottom.xml @@ -0,0 +1,29 @@ + + +body.margin.bottom +length + + +body.margin.bottom +The bottom margin of the body text + + + + +0.5in + + + +Description + +The body bottom margin is the distance from the last line of text +in the page body to the bottom of the region-after. + + + + diff --git a/doc/help/xslt/params/body.margin.top.xml b/doc/help/xslt/params/body.margin.top.xml new file mode 100644 index 00000000..182bd9fd --- /dev/null +++ b/doc/help/xslt/params/body.margin.top.xml @@ -0,0 +1,28 @@ + + +body.margin.top +length + + +body.margin.top +To specify the size of the top margin of a page + + + + +0.5in + + + +Description + +The body top margin is the distance from the top of the +region-before to the first line of text in the page body. + + + diff --git a/doc/help/xslt/params/body.start.indent.xml b/doc/help/xslt/params/body.start.indent.xml new file mode 100644 index 00000000..4e348f1c --- /dev/null +++ b/doc/help/xslt/params/body.start.indent.xml @@ -0,0 +1,64 @@ + + +body.start.indent +length + + +body.start.indent +The start-indent for the body text + + + + + + + 0pt + 0pt + 4pc + + + + + +Description + +This parameter provides +the means of indenting the body text relative to +section titles. +For left-to-right text direction, it indents the left side. +For right-to-left text direction, it indents the right side. +It is used in place of the +title.margin.left for +all XSL-FO processors except FOP 0.25. +It enables support for side floats to appear +in the indented margin area. + +This start-indent property is added to the fo:flow +for certain page sequences. Which page-sequences it is +applied to is determined by the template named +set.flow.properties. +By default, that template adds it to the flow +for page-sequences using the body +master-reference, as well as appendixes and prefaces. + +If this parameter is used, section titles should have +a start-indent value of 0pt if they are to be +outdented relative to the body text. + + +If you are using FOP, then set this parameter to a zero +width value and set the title.margin.left +parameter to the negative value of the desired indent. + + +See also body.end.indent and +title.margin.left. + + + + diff --git a/doc/help/xslt/params/bookmarks.collapse.xml b/doc/help/xslt/params/bookmarks.collapse.xml new file mode 100644 index 00000000..33200569 --- /dev/null +++ b/doc/help/xslt/params/bookmarks.collapse.xml @@ -0,0 +1,31 @@ + + +bookmarks.collapse +boolean + + +bookmarks.collapse +Specifies the initial state of bookmarks + + + + + + + + +Description + +If non-zero, the bookmark tree is collapsed so that only the +top-level bookmarks are displayed initially. Otherwise, the whole tree +of bookmarks is displayed. + +This parameter currently works with FOP 0.93 or later. + + + diff --git a/doc/help/xslt/params/bridgehead.in.toc.xml b/doc/help/xslt/params/bridgehead.in.toc.xml new file mode 100644 index 00000000..490d5563 --- /dev/null +++ b/doc/help/xslt/params/bridgehead.in.toc.xml @@ -0,0 +1,28 @@ + + +bridgehead.in.toc +boolean + + +bridgehead.in.toc +Should bridgehead elements appear in the TOC? + + + + + + +Description + +If non-zero, bridgeheads appear in the TOC. Note that +this option is not fully supported and may be removed in a future +version of the stylesheets. + + + + diff --git a/doc/help/xslt/params/bullet.image.xml b/doc/help/xslt/params/bullet.image.xml new file mode 100644 index 00000000..acf2af55 --- /dev/null +++ b/doc/help/xslt/params/bullet.image.xml @@ -0,0 +1,28 @@ + + +bullet.image +filename + + +bullet.image +Bullet image + + + + +toc/bullet.png + + + +Description + +Specifies the filename of the bullet image used for foils in the +framed ToC. + + + diff --git a/doc/help/xslt/params/callout.defaultcolumn.xml b/doc/help/xslt/params/callout.defaultcolumn.xml new file mode 100644 index 00000000..6cae3813 --- /dev/null +++ b/doc/help/xslt/params/callout.defaultcolumn.xml @@ -0,0 +1,30 @@ + + +callout.defaultcolumn +integer + + +callout.defaultcolumn +Indicates what column callouts appear in by default + + + + +60 + + + +Description + +If a callout does not identify a column (for example, if it uses +the linerange unit), +it will appear in the default column. + + + + diff --git a/doc/help/xslt/params/callout.graphics.extension.xml b/doc/help/xslt/params/callout.graphics.extension.xml new file mode 100644 index 00000000..febc6901 --- /dev/null +++ b/doc/help/xslt/params/callout.graphics.extension.xml @@ -0,0 +1,33 @@ + + +callout.graphics.extension +string + + +callout.graphics.extension +Filename extension for callout graphics + + + + +.png +.svg + + + +Description +Sets the filename extension to use on callout graphics. + + +The Docbook XSL distribution provides callout graphics in the following formats: +SVG (extension: .svg) +PNG (extension: .png) +GIF (extension: .gif) + + + diff --git a/doc/help/xslt/params/callout.graphics.number.limit.xml b/doc/help/xslt/params/callout.graphics.number.limit.xml new file mode 100644 index 00000000..cde5267d --- /dev/null +++ b/doc/help/xslt/params/callout.graphics.number.limit.xml @@ -0,0 +1,34 @@ + + +callout.graphics.number.limit +integer + + +callout.graphics.number.limit +Number of the largest callout graphic + + + + +15 +30 + + + +Description + +If callout.graphics is non-zero, graphics +are used to represent callout numbers instead of plain text. The value +of callout.graphics.number.limit is the largest +number for which a graphic exists. If the callout number exceeds this +limit, the default presentation "(plain text instead of a graphic)" +will be used. + + + + diff --git a/doc/help/xslt/params/callout.graphics.path.xml b/doc/help/xslt/params/callout.graphics.path.xml new file mode 100644 index 00000000..00e54c17 --- /dev/null +++ b/doc/help/xslt/params/callout.graphics.path.xml @@ -0,0 +1,31 @@ + + +callout.graphics.path +string + + +callout.graphics.path +Path to callout graphics + + + + +images/callouts/ + + + +Description + +Sets the path to the directory holding the callout graphics. his +location is normally relative to the output html directory. see +base.dir. Always terminate the directory with / since the graphic file +is appended to this string, hence needs the separator. + + + + diff --git a/doc/help/xslt/params/callout.graphics.xml b/doc/help/xslt/params/callout.graphics.xml new file mode 100644 index 00000000..a97ac0d7 --- /dev/null +++ b/doc/help/xslt/params/callout.graphics.xml @@ -0,0 +1,30 @@ + + +callout.graphics +boolean + + +callout.graphics +Use graphics for callouts? + + + + + + + + +Description + +If non-zero, callouts are presented with graphics (e.g., reverse-video +circled numbers instead of "(1)", "(2)", etc.). +Default graphics are provided in the distribution. + + + + diff --git a/doc/help/xslt/params/callout.icon.size.xml b/doc/help/xslt/params/callout.icon.size.xml new file mode 100644 index 00000000..d3acae83 --- /dev/null +++ b/doc/help/xslt/params/callout.icon.size.xml @@ -0,0 +1,28 @@ + + +callout.icon.size +length + + +callout.icon.size +Specifies the size of callout marker icons + + + + +7pt + + + +Description + +Specifies the size of the callout marker icons. +The default size is 7 points. + + + diff --git a/doc/help/xslt/params/callout.list.table.xml b/doc/help/xslt/params/callout.list.table.xml new file mode 100644 index 00000000..6fece033 --- /dev/null +++ b/doc/help/xslt/params/callout.list.table.xml @@ -0,0 +1,32 @@ + + +callout.list.table +boolean + + +callout.list.table +Present callout lists using a table? + + + + + + + + +Description + +The default presentation of calloutlists uses +an HTML DL element. Some browsers don't align DLs very well +if callout.graphics is used. With this option +turned on, calloutlists are presented in an HTML +TABLE, which usually results in better alignment +of the callout number with the callout description. + + + diff --git a/doc/help/xslt/params/callout.unicode.font.xml b/doc/help/xslt/params/callout.unicode.font.xml new file mode 100644 index 00000000..e63bffb6 --- /dev/null +++ b/doc/help/xslt/params/callout.unicode.font.xml @@ -0,0 +1,29 @@ + + +callout.unicode.font +string + + +callout.unicode.font +Specify a font for Unicode glyphs + + + + +ZapfDingbats + + + +Description + +The name of the font to specify around Unicode callout glyphs. +If set to the empty string, no font change will occur. + + + + diff --git a/doc/help/xslt/params/callout.unicode.number.limit.xml b/doc/help/xslt/params/callout.unicode.number.limit.xml new file mode 100644 index 00000000..a9f1f3de --- /dev/null +++ b/doc/help/xslt/params/callout.unicode.number.limit.xml @@ -0,0 +1,35 @@ + + +callout.unicode.number.limit +integer + + +callout.unicode.number.limit +Number of the largest unicode callout character + + + + +10 + + + +Description + +If callout.unicode +is non-zero, unicode characters are used to represent +callout numbers. The value of +callout.unicode.number.limit +is +the largest number for which a unicode character exists. If the callout number +exceeds this limit, the default presentation "(nnn)" will always +be used. + + + + diff --git a/doc/help/xslt/params/callout.unicode.start.character.xml b/doc/help/xslt/params/callout.unicode.start.character.xml new file mode 100644 index 00000000..90a1acdf --- /dev/null +++ b/doc/help/xslt/params/callout.unicode.start.character.xml @@ -0,0 +1,33 @@ + + +callout.unicode.start.character +integer + + +callout.unicode.start.character +First Unicode character to use, decimal value. + + + + +10102 + + + +Description + +If callout.graphics is zero and callout.unicode +is non-zero, unicode characters are used to represent +callout numbers. The value of +callout.unicode.start.character +is the decimal unicode value used for callout number one. Currently, +only 10102 is supported in the stylesheets for this parameter. + + + + diff --git a/doc/help/xslt/params/callout.unicode.xml b/doc/help/xslt/params/callout.unicode.xml new file mode 100644 index 00000000..4ec6a5f3 --- /dev/null +++ b/doc/help/xslt/params/callout.unicode.xml @@ -0,0 +1,26 @@ + + +callout.unicode +boolean + + +callout.unicode +Use Unicode characters rather than images for callouts. + + + + + + +Description + +The stylesheets can use either an image of the numbers one to ten, or the single Unicode character which represents the numeral, in white on a black background. Use this to select the Unicode character option. + + + + diff --git a/doc/help/xslt/params/callouts.extension.xml b/doc/help/xslt/params/callouts.extension.xml new file mode 100644 index 00000000..80b5845a --- /dev/null +++ b/doc/help/xslt/params/callouts.extension.xml @@ -0,0 +1,30 @@ + + +callouts.extension +boolean + + +callouts.extension +Enable the callout extension + + + + + + + + +Description + +The callouts extension processes areaset +elements in programlistingco and other text-based +callout elements. + + + + diff --git a/doc/help/xslt/params/chapter.autolabel.xml b/doc/help/xslt/params/chapter.autolabel.xml new file mode 100644 index 00000000..32414bcc --- /dev/null +++ b/doc/help/xslt/params/chapter.autolabel.xml @@ -0,0 +1,71 @@ + + +chapter.autolabel +list +0none +11,2,3... +AA,B,C... +aa,b,c... +ii,ii,iii... +II,II,III... + + +chapter.autolabel +Specifies the labeling format for Chapter titles + + + + + + + +Description + +If non-zero, then chapters will be numbered using the parameter +value as the number format if the value matches one of the following: + + + + + 1 or arabic + + Arabic numeration (1, 2, 3 ...). + + + + A or upperalpha + + Uppercase letter numeration (A, B, C ...). + + + + a or loweralpha + + Lowercase letter numeration (a, b, c ...). + + + + I or upperroman + + Uppercase roman numeration (I, II, III ...). + + + + i or lowerroman + + Lowercase roman letter numeration (i, ii, iii ...). + + + + +Any nonzero value other than the above will generate +the default number format (arabic). + + + + diff --git a/doc/help/xslt/params/chunk.append.xml b/doc/help/xslt/params/chunk.append.xml new file mode 100644 index 00000000..1f65aadc --- /dev/null +++ b/doc/help/xslt/params/chunk.append.xml @@ -0,0 +1,30 @@ + + +chunk.append +string + + +chunk.append +Specifies content to append to chunked HTML output + + + + + + +Description + +Specifies content to append to the end of HTML files output by +the html/chunk.xsl stylesheet, after the closing +<html> tag. You probably don’t want to set any value +for this parameter; but if you do, the only value it should ever be +set to is a newline character: &#x0a; or +&#10; + + + diff --git a/doc/help/xslt/params/chunk.first.sections.xml b/doc/help/xslt/params/chunk.first.sections.xml new file mode 100644 index 00000000..f0c1b829 --- /dev/null +++ b/doc/help/xslt/params/chunk.first.sections.xml @@ -0,0 +1,31 @@ + + +chunk.first.sections +boolean + + +chunk.first.sections +Chunk the first top-level section? + + + + + + + + +Description + +If non-zero, a chunk will be created for the first top-level +sect1 or section elements in +each component. Otherwise, that section will be part of the chunk for +its parent. + + + + diff --git a/doc/help/xslt/params/chunk.quietly.xml b/doc/help/xslt/params/chunk.quietly.xml new file mode 100644 index 00000000..8700b29e --- /dev/null +++ b/doc/help/xslt/params/chunk.quietly.xml @@ -0,0 +1,30 @@ + + +chunk.quietly +boolean + + +chunk.quietly +Omit the chunked filename messages. + + + + + + + + +Description + +If zero (the default), the XSL processor emits a message naming +each separate chunk filename as it is being output. +If nonzero, then the messages are suppressed. + + + + diff --git a/doc/help/xslt/params/chunk.section.depth.xml b/doc/help/xslt/params/chunk.section.depth.xml new file mode 100644 index 00000000..d46193c8 --- /dev/null +++ b/doc/help/xslt/params/chunk.section.depth.xml @@ -0,0 +1,27 @@ + + +chunk.section.depth +integer + + +chunk.section.depth +Depth to which sections should be chunked + + + + + + + + +Description + +This parameter sets the depth of section chunking. + + + diff --git a/doc/help/xslt/params/chunk.sections.xml b/doc/help/xslt/params/chunk.sections.xml new file mode 100644 index 00000000..2ffb1a3c --- /dev/null +++ b/doc/help/xslt/params/chunk.sections.xml @@ -0,0 +1,30 @@ + + +chunk.sections +boolean + + +chunk.sections +Should top-level sections be chunks in their own right? + + + + + + + + +Description + +If non-zero, chunks will be created for top-level +sect1 and section elements in +each component. + + + + diff --git a/doc/help/xslt/params/chunk.separate.lots.xml b/doc/help/xslt/params/chunk.separate.lots.xml new file mode 100644 index 00000000..aa54eabe --- /dev/null +++ b/doc/help/xslt/params/chunk.separate.lots.xml @@ -0,0 +1,36 @@ + + +chunk.separate.lots +boolean + + +chunk.separate.lots +Should each LoT be in its own separate chunk? + + + + + + + + +Description + +If non-zero, each of the ToC and LoTs +(List of Examples, List of Figures, etc.) +will be put in its own separate chunk. +The title page includes generated links to each of the separate files. + + +This feature depends on the +chunk.tocs.and.lots +parameter also being non-zero. + + + + diff --git a/doc/help/xslt/params/chunk.toc.xml b/doc/help/xslt/params/chunk.toc.xml new file mode 100644 index 00000000..12cdb2ca --- /dev/null +++ b/doc/help/xslt/params/chunk.toc.xml @@ -0,0 +1,30 @@ + + +chunk.toc +string + + +chunk.toc +An explicit TOC to be used for chunking + + + + + + + + +Description + +The chunk.toc identifies an explicit TOC that +will be used for chunking. This parameter is only used by the +chunktoc.xsl stylesheet (and customization layers built +from it). + + + diff --git a/doc/help/xslt/params/chunk.tocs.and.lots.has.title.xml b/doc/help/xslt/params/chunk.tocs.and.lots.has.title.xml new file mode 100644 index 00000000..0bdd31b8 --- /dev/null +++ b/doc/help/xslt/params/chunk.tocs.and.lots.has.title.xml @@ -0,0 +1,28 @@ + + +chunk.tocs.and.lots.has.title +boolean + + +chunk.tocs.and.lots.has.title +Should ToC and LoTs in a separate chunks have title? + + + + + + + + +Description + +If non-zero title of document is shown before ToC/LoT in +separate chunk. + + + diff --git a/doc/help/xslt/params/chunk.tocs.and.lots.xml b/doc/help/xslt/params/chunk.tocs.and.lots.xml new file mode 100644 index 00000000..2a01fffa --- /dev/null +++ b/doc/help/xslt/params/chunk.tocs.and.lots.xml @@ -0,0 +1,32 @@ + + +chunk.tocs.and.lots +boolean + + +chunk.tocs.and.lots +Should ToC and LoTs be in separate chunks? + + + + + + + + +Description + +If non-zero, ToC and LoT (List of Examples, List of Figures, etc.) +will be put in a separate chunk. At the moment, this chunk is not in the +normal forward/backward navigation list. Instead, a new link is added to the +navigation footer. + +This feature is still somewhat experimental. Feedback welcome. + + + diff --git a/doc/help/xslt/params/chunker.output.cdata-section-elements.xml b/doc/help/xslt/params/chunker.output.cdata-section-elements.xml new file mode 100644 index 00000000..3e9be4d5 --- /dev/null +++ b/doc/help/xslt/params/chunker.output.cdata-section-elements.xml @@ -0,0 +1,30 @@ + + +chunker.output.cdata-section-elements +string + + +chunker.output.cdata-section-elements +List of elements to escape with CDATA sections + + + + + + +Description +This parameter specifies the list of elements that should be escaped +as CDATA sections by the chunking stylesheet. Not all processors support +specification of this parameter. + + +This parameter is documented here, but the declaration is actually +in the chunker.xsl stylesheet module. + + + diff --git a/doc/help/xslt/params/chunker.output.doctype-public.xml b/doc/help/xslt/params/chunker.output.doctype-public.xml new file mode 100644 index 00000000..6aa6e307 --- /dev/null +++ b/doc/help/xslt/params/chunker.output.doctype-public.xml @@ -0,0 +1,31 @@ + + +chunker.output.doctype-public +string + + +chunker.output.doctype-public +Public identifer to use in the document type of generated pages + + + + + + +Description +This parameter specifies the public identifier that should be used by +the chunking stylesheet in the document type declaration of chunked pages. +Not all processors support specification of +this parameter. + + +This parameter is documented here, but the declaration is actually +in the chunker.xsl stylesheet module. + + + diff --git a/doc/help/xslt/params/chunker.output.doctype-system.xml b/doc/help/xslt/params/chunker.output.doctype-system.xml new file mode 100644 index 00000000..2d67906d --- /dev/null +++ b/doc/help/xslt/params/chunker.output.doctype-system.xml @@ -0,0 +1,31 @@ + + +chunker.output.doctype-system +uri + + +chunker.output.doctype-system +System identifier to use for the document type in generated pages + + + + + + +Description +This parameter specifies the system identifier that should be used by +the chunking stylesheet in the document type declaration of chunked pages. +Not all processors support specification of +this parameter. + + +This parameter is documented here, but the declaration is actually +in the chunker.xsl stylesheet module. + + + diff --git a/doc/help/xslt/params/chunker.output.encoding.xml b/doc/help/xslt/params/chunker.output.encoding.xml new file mode 100644 index 00000000..f8993e97 --- /dev/null +++ b/doc/help/xslt/params/chunker.output.encoding.xml @@ -0,0 +1,31 @@ + + +chunker.output.encoding +string + + +chunker.output.encoding +Encoding used in generated pages + + + +ISO-8859-1 + + +Description +This parameter specifies the encoding to be used in files +generated by the chunking stylesheet. Not all processors support +specification of this parameter. + +This parameter used to be named default.encoding. + +This parameter is documented here, but the declaration is actually +in the chunker.xsl stylesheet module. + + + diff --git a/doc/help/xslt/params/chunker.output.indent.xml b/doc/help/xslt/params/chunker.output.indent.xml new file mode 100644 index 00000000..3da9ad4b --- /dev/null +++ b/doc/help/xslt/params/chunker.output.indent.xml @@ -0,0 +1,30 @@ + + +chunker.output.indent +string + + +chunker.output.indent +Specification of indentation on generated pages + + + +no + + +Description +This parameter specifies the value of the indent +specification for generated pages. Not all processors support +specification of this parameter. + + +This parameter is documented here, but the declaration is actually +in the chunker.xsl stylesheet module. + + + diff --git a/doc/help/xslt/params/chunker.output.media-type.xml b/doc/help/xslt/params/chunker.output.media-type.xml new file mode 100644 index 00000000..61869715 --- /dev/null +++ b/doc/help/xslt/params/chunker.output.media-type.xml @@ -0,0 +1,35 @@ + + +chunker.output.media-type +string + + +chunker.output.media-type +Media type to use in generated pages + + + + + + +Description +This parameter specifies the media type that should be used by +the chunking stylesheet. Not all processors support specification of +this parameter. + +This parameter specifies the media type that should be used by the +chunking stylesheet. This should be one from those defined in +[RFC2045] and + [RFC2046] + +This parameter is documented here, but the declaration is actually +in the chunker.xsl stylesheet module. +It must be one from html, xml or text + + + diff --git a/doc/help/xslt/params/chunker.output.method.xml b/doc/help/xslt/params/chunker.output.method.xml new file mode 100644 index 00000000..dc9359b5 --- /dev/null +++ b/doc/help/xslt/params/chunker.output.method.xml @@ -0,0 +1,32 @@ + + +chunker.output.method +list +html +xml + + +chunker.output.method +Method used in generated pages + + + +html + + +Description +This parameter specifies the output method to be used in files +generated by the chunking stylesheet. + +This parameter used to be named output.method. + +This parameter is documented here, but the declaration is actually +in the chunker.xsl stylesheet module. + + + diff --git a/doc/help/xslt/params/chunker.output.omit-xml-declaration.xml b/doc/help/xslt/params/chunker.output.omit-xml-declaration.xml new file mode 100644 index 00000000..4b8262f8 --- /dev/null +++ b/doc/help/xslt/params/chunker.output.omit-xml-declaration.xml @@ -0,0 +1,30 @@ + + +chunker.output.omit-xml-declaration +string + + +chunker.output.omit-xml-declaration +Omit-xml-declaration for generated pages + + + +no + + +Description +This parameter specifies the value of the omit-xml-declaration +specification for generated pages. Not all processors support +specification of this parameter. + + +This parameter is documented here, but the declaration is actually +in the chunker.xsl stylesheet module. + + + diff --git a/doc/help/xslt/params/chunker.output.standalone.xml b/doc/help/xslt/params/chunker.output.standalone.xml new file mode 100644 index 00000000..8972c473 --- /dev/null +++ b/doc/help/xslt/params/chunker.output.standalone.xml @@ -0,0 +1,31 @@ + + +chunker.output.standalone +string + + +chunker.output.standalone +Standalone declaration for generated pages + + + +no + + +Description +This parameter specifies the value of the standalone + specification for generated pages. It must be either + yes or no. Not all + processors support specification of this parameter. + + +This parameter is documented here, but the declaration is actually +in the chunker.xsl stylesheet module. + + + diff --git a/doc/help/xslt/params/citerefentry.link.xml b/doc/help/xslt/params/citerefentry.link.xml new file mode 100644 index 00000000..623511b6 --- /dev/null +++ b/doc/help/xslt/params/citerefentry.link.xml @@ -0,0 +1,29 @@ + + +citerefentry.link +boolean + + +citerefentry.link +Generate URL links when cross-referencing RefEntrys? + + + + + + + +Description + +If non-zero, a web link will be generated, presumably +to an online man->HTML gateway. The text of the link is +generated by the generate.citerefentry.link template. + + + + diff --git a/doc/help/xslt/params/collect.xref.targets.xml b/doc/help/xslt/params/collect.xref.targets.xml new file mode 100644 index 00000000..378c9690 --- /dev/null +++ b/doc/help/xslt/params/collect.xref.targets.xml @@ -0,0 +1,33 @@ + + +collect.xref.targets +list +no +yes +only + + +collect.xref.targets +Controls whether cross reference data is +collected + + +no + + +Description + + +In order to resolve olinks efficiently, the stylesheets can +generate an external data file containing information about +all potential cross reference endpoints in a document. +This parameter determines whether the collection process is run when the document is processed by the stylesheet. The default value is no, which means the data file is not generated during processing. The other choices are yes, which means the data file is created and the document is processed for output, and only, which means the data file is created but the document is not processed for output. +See also targets.filename. + + + diff --git a/doc/help/xslt/params/column.count.back.xml b/doc/help/xslt/params/column.count.back.xml new file mode 100644 index 00000000..95ee76db --- /dev/null +++ b/doc/help/xslt/params/column.count.back.xml @@ -0,0 +1,27 @@ + + +column.count.back +integer + + +column.count.back +Number of columns on back matter pages + + + + + + + + +Description + +Number of columns on back matter (appendix, glossary, etc.) pages. + + + diff --git a/doc/help/xslt/params/column.count.body.xml b/doc/help/xslt/params/column.count.body.xml new file mode 100644 index 00000000..a5d65b32 --- /dev/null +++ b/doc/help/xslt/params/column.count.body.xml @@ -0,0 +1,27 @@ + + +column.count.body +integer + + +column.count.body +Number of columns on body pages + + + + + + + + +Description + +Number of columns on body pages. + + + diff --git a/doc/help/xslt/params/column.count.front.xml b/doc/help/xslt/params/column.count.front.xml new file mode 100644 index 00000000..64ff3ac0 --- /dev/null +++ b/doc/help/xslt/params/column.count.front.xml @@ -0,0 +1,27 @@ + + +column.count.front +integer + + +column.count.front +Number of columns on front matter pages + + + + + + + + +Description + +Number of columns on front matter (dedication, preface, etc.) pages. + + + diff --git a/doc/help/xslt/params/column.count.index.xml b/doc/help/xslt/params/column.count.index.xml new file mode 100644 index 00000000..e4854485 --- /dev/null +++ b/doc/help/xslt/params/column.count.index.xml @@ -0,0 +1,27 @@ + + +column.count.index +integer + + +column.count.index +Number of columns on index pages + + + + +2 + + + +Description + +Number of columns on index pages. + + + diff --git a/doc/help/xslt/params/column.count.lot.xml b/doc/help/xslt/params/column.count.lot.xml new file mode 100644 index 00000000..770988dc --- /dev/null +++ b/doc/help/xslt/params/column.count.lot.xml @@ -0,0 +1,28 @@ + + +column.count.lot +integer + + +column.count.lot +Number of columns on a 'List-of-Titles' page + + + + + + + + +Description + +Number of columns on a page sequence containing the Table of Contents, +List of Figures, etc. + + + diff --git a/doc/help/xslt/params/column.count.titlepage.xml b/doc/help/xslt/params/column.count.titlepage.xml new file mode 100644 index 00000000..3deba6fe --- /dev/null +++ b/doc/help/xslt/params/column.count.titlepage.xml @@ -0,0 +1,27 @@ + + +column.count.titlepage +integer + + +column.count.titlepage +Number of columns on a title page + + + + + + + + +Description + +Number of columns on a title page + + + diff --git a/doc/help/xslt/params/column.gap.back.xml b/doc/help/xslt/params/column.gap.back.xml new file mode 100644 index 00000000..3aaa1d3f --- /dev/null +++ b/doc/help/xslt/params/column.gap.back.xml @@ -0,0 +1,28 @@ + + +column.gap.back +length + + +column.gap.back +Gap between columns in back matter + + + + +12pt + + + +Description + +Specifies the gap between columns in back matter (if +column.count.back is greater than one). + + + diff --git a/doc/help/xslt/params/column.gap.body.xml b/doc/help/xslt/params/column.gap.body.xml new file mode 100644 index 00000000..57b0168a --- /dev/null +++ b/doc/help/xslt/params/column.gap.body.xml @@ -0,0 +1,28 @@ + + +column.gap.body +length + + +column.gap.body +Gap between columns in the body + + + + +12pt + + + +Description + +Specifies the gap between columns in body matter (if +column.count.body is greater than one). + + + diff --git a/doc/help/xslt/params/column.gap.front.xml b/doc/help/xslt/params/column.gap.front.xml new file mode 100644 index 00000000..a6f7263a --- /dev/null +++ b/doc/help/xslt/params/column.gap.front.xml @@ -0,0 +1,28 @@ + + +column.gap.front +length + + +column.gap.front +Gap between columns in the front matter + + + + +12pt + + + +Description + +Specifies the gap between columns in front matter (if +column.count.front is greater than one). + + + diff --git a/doc/help/xslt/params/column.gap.index.xml b/doc/help/xslt/params/column.gap.index.xml new file mode 100644 index 00000000..2279f773 --- /dev/null +++ b/doc/help/xslt/params/column.gap.index.xml @@ -0,0 +1,28 @@ + + +column.gap.index +length + + +column.gap.index +Gap between columns in the index + + + + +12pt + + + +Description + +Specifies the gap between columns in indexes (if +column.count.index is greater than one). + + + diff --git a/doc/help/xslt/params/column.gap.lot.xml b/doc/help/xslt/params/column.gap.lot.xml new file mode 100644 index 00000000..da0fa004 --- /dev/null +++ b/doc/help/xslt/params/column.gap.lot.xml @@ -0,0 +1,28 @@ + + +column.gap.lot +length + + +column.gap.lot +Gap between columns on a 'List-of-Titles' page + + + + +12pt + + + +Description + +Specifies the gap between columns on 'List-of-Titles' pages (if +column.count.lot is greater than one). + + + diff --git a/doc/help/xslt/params/column.gap.titlepage.xml b/doc/help/xslt/params/column.gap.titlepage.xml new file mode 100644 index 00000000..7c13dbda --- /dev/null +++ b/doc/help/xslt/params/column.gap.titlepage.xml @@ -0,0 +1,29 @@ + + +column.gap.titlepage +length + + +column.gap.titlepage +Gap between columns on title pages + + + + +12pt + + + +Description + +Specifies the gap between columns on title pages (if +column.count.titlepage is greater than one). + + + + diff --git a/doc/help/xslt/params/compact.list.item.spacing.xml b/doc/help/xslt/params/compact.list.item.spacing.xml new file mode 100644 index 00000000..f48f4a62 --- /dev/null +++ b/doc/help/xslt/params/compact.list.item.spacing.xml @@ -0,0 +1,28 @@ + + +compact.list.item.spacing +attribute set + + +compact.list.item.spacing +What space do you want between list items (when spacing="compact")? + + + + + 0em + 0em + 0.2em + + +Description +Specify what spacing you want between each list item when +spacing is +compact. + + diff --git a/doc/help/xslt/params/component.label.includes.part.label.xml b/doc/help/xslt/params/component.label.includes.part.label.xml new file mode 100644 index 00000000..6dd7a683 --- /dev/null +++ b/doc/help/xslt/params/component.label.includes.part.label.xml @@ -0,0 +1,39 @@ + + +component.label.includes.part.label +boolean + + +component.label.includes.part.label +Do component labels include the part label? + + + + + + +Description + +If non-zero, number labels for chapter, +appendix, and other component elements are prefixed with +the label of the part element that contains them. So you might see +Chapter II.3 instead of Chapter 3. Also, the labels for formal +elements such as table and figure will include +the part label. If there is no part element container, then no prefix +is generated. + + +This feature is most useful when the +label.from.part parameter is turned on. +In that case, there would be more than one chapter +1, and the extra part label prefix will identify +each chapter unambiguously. + + + + diff --git a/doc/help/xslt/params/component.title.properties.xml b/doc/help/xslt/params/component.title.properties.xml new file mode 100644 index 00000000..58cd4b43 --- /dev/null +++ b/doc/help/xslt/params/component.title.properties.xml @@ -0,0 +1,40 @@ + + +component.title.properties +attribute set + + +component.title.properties +Properties for component titles + + + + + + always + + + + false + + + center + start + + + + + + + +Description + +The properties common to all component titles. + + + diff --git a/doc/help/xslt/params/component.titlepage.properties.xml b/doc/help/xslt/params/component.titlepage.properties.xml new file mode 100644 index 00000000..47179f4f --- /dev/null +++ b/doc/help/xslt/params/component.titlepage.properties.xml @@ -0,0 +1,33 @@ + + +component.titlepage.properties +attribute set + + +component.titlepage.properties +Properties for component titlepages + + + + + + + + + +Description + +The properties that are applied to the outer block containing +all the component title page information. +Its main use is to set a span="all" +property on the block that is a direct child of the flow. + +This attribute-set also applies to index titlepages. It is empty by default. + + + diff --git a/doc/help/xslt/params/contrib.inline.enabled.xml b/doc/help/xslt/params/contrib.inline.enabled.xml new file mode 100644 index 00000000..5d5fa99c --- /dev/null +++ b/doc/help/xslt/params/contrib.inline.enabled.xml @@ -0,0 +1,26 @@ + + +contrib.inline.enabled +boolean + + +contrib.inline.enabled +Display contrib output inline? + + + +1 + + +Description + +If non-zero (the default), output of the contrib element is +displayed as inline content rather than as block content. + + + diff --git a/doc/help/xslt/params/crop.mark.bleed.xml b/doc/help/xslt/params/crop.mark.bleed.xml new file mode 100644 index 00000000..af3420e8 --- /dev/null +++ b/doc/help/xslt/params/crop.mark.bleed.xml @@ -0,0 +1,28 @@ + + +crop.mark.bleed +length + + +crop.mark.bleed +Length of invisible part of crop marks. + + + + +6pt + + + +Description + +Length of invisible part of crop marks. Crop marks are controlled by +crop.marks parameter. + + + diff --git a/doc/help/xslt/params/crop.mark.offset.xml b/doc/help/xslt/params/crop.mark.offset.xml new file mode 100644 index 00000000..cfd9bd37 --- /dev/null +++ b/doc/help/xslt/params/crop.mark.offset.xml @@ -0,0 +1,28 @@ + + +crop.mark.offset +length + + +crop.mark.offset +Length of crop marks. + + + + +24pt + + + +Description + +Length of crop marks. Crop marks are controlled by +crop.marks parameter. + + + diff --git a/doc/help/xslt/params/crop.mark.width.xml b/doc/help/xslt/params/crop.mark.width.xml new file mode 100644 index 00000000..86c28b59 --- /dev/null +++ b/doc/help/xslt/params/crop.mark.width.xml @@ -0,0 +1,28 @@ + + +crop.mark.width +length + + +crop.mark.width +Width of crop marks. + + + + +0.5pt + + + +Description + +Width of crop marks. Crop marks are controlled by +crop.marks parameter. + + + diff --git a/doc/help/xslt/params/crop.marks.xml b/doc/help/xslt/params/crop.marks.xml new file mode 100644 index 00000000..c68d5a09 --- /dev/null +++ b/doc/help/xslt/params/crop.marks.xml @@ -0,0 +1,28 @@ + + +crop.marks +boolean + + +crop.marks +Output crop marks? + + + + + + + + +Description + +If non-zero, crop marks will be added to each page. Currently this +works only with XEP if you have xep.extensions set. + + + diff --git a/doc/help/xslt/params/css.decoration.xml b/doc/help/xslt/params/css.decoration.xml new file mode 100644 index 00000000..02e30266 --- /dev/null +++ b/doc/help/xslt/params/css.decoration.xml @@ -0,0 +1,33 @@ + + +css.decoration +boolean + + +css.decoration +Enable CSS decoration of elements + + + + + + + + +Description + + +If non-zero, then html elements produced by the stylesheet may be +decorated with style attributes. For example, the +li tags produced for list items may include a +fragment of CSS in the style attribute which sets +the CSS property "list-style-type". + + + + diff --git a/doc/help/xslt/params/css.stylesheet.dir.xml b/doc/help/xslt/params/css.stylesheet.dir.xml new file mode 100644 index 00000000..e32b1789 --- /dev/null +++ b/doc/help/xslt/params/css.stylesheet.dir.xml @@ -0,0 +1,33 @@ + + +css.stylesheet.dir +uri + + +css.stylesheet.dir +Default directory for CSS stylesheets + + + + + + + + +Description + +Identifies the default directory for the CSS stylesheet +generated on all the slides. This parameter can be set in the source +document with the <?dbhtml?> pseudo-attribute +css-stylesheet-dir. + +If non-empty, this value is prepended to each of the stylesheets. + + + + diff --git a/doc/help/xslt/params/css.stylesheet.xml b/doc/help/xslt/params/css.stylesheet.xml new file mode 100644 index 00000000..2acc66c5 --- /dev/null +++ b/doc/help/xslt/params/css.stylesheet.xml @@ -0,0 +1,29 @@ + + +css.stylesheet +uri + + +css.stylesheet +CSS stylesheet for slides + + + + +slides.css + + + +Description + +Identifies the CSS stylesheet used by all the slides. This parameter +can be set in the source document with the <?dbhtml?> pseudo-attribute +css-stylesheet. + + + diff --git a/doc/help/xslt/params/current.docid.xml b/doc/help/xslt/params/current.docid.xml new file mode 100644 index 00000000..93616f22 --- /dev/null +++ b/doc/help/xslt/params/current.docid.xml @@ -0,0 +1,27 @@ + + +current.docid +string + + +current.docid +targetdoc identifier for the document being +processed + + + + + +Description + +When olinks between documents are resolved for HTML output, the stylesheet can compute the relative path between the current document and the target document. The stylesheet needs to know the targetdoc identifiers for both documents, as they appear in the target.database.document database file. This parameter passes to the stylesheet +the targetdoc identifier of the current document, since that +identifier does not appear in the document itself. +This parameter can also be used for print output. If an olink's targetdoc id differs from the current.docid, then the stylesheet can append the target document's title to the generated olink text. That identifies to the reader that the link is to a different document, not the current document. See also olink.doctitle to enable that feature. + + diff --git a/doc/help/xslt/params/currentpage.marker.xml b/doc/help/xslt/params/currentpage.marker.xml new file mode 100644 index 00000000..2bccf301 --- /dev/null +++ b/doc/help/xslt/params/currentpage.marker.xml @@ -0,0 +1,25 @@ + + +currentpage.marker +string + + +currentpage.marker +The text symbol used to mark the current page + + + + +@ + + + +Description +Character to use as identifying the current page in + + diff --git a/doc/help/xslt/params/custom.css.source.xml b/doc/help/xslt/params/custom.css.source.xml new file mode 100644 index 00000000..24278ad5 --- /dev/null +++ b/doc/help/xslt/params/custom.css.source.xml @@ -0,0 +1,119 @@ + + + custom.css.source + string + + + custom.css.source + Name of a custom CSS input file + + + + + + + Description + +The custom.css.source +parameter enables you to add CSS styles to DocBook's +HTML output. + +The parameter +specifies the name of a file containing custom +CSS styles. The file must be a well-formed XML file that +consists of a single style root +element that contains CSS styles as its text content. +For example: + + +]]> + +The filename specified by the parameter +should have a .xml +filename suffix, although that is not required. +The default value of this parameter is blank. + +If custom.css.source is not blank, then +the stylesheet takes the following actions. +These actions take place regardless of the value of +the make.clean.html parameter. + + + + The stylesheet uses the XSLT document() + function to open the file specified by the parameter and + load it into a variable. + + + The stylesheet forms an output pathname consisting of the + value of the base.dir parameter (if it is set) + and the value of custom.css.source, + with the .xml suffix stripped off. + + + + The stylesheet removes the style + wrapper element and writes just the CSS text content to the output file. + + + The stylesheet adds a link element to the + HTML HEAD element to reference this external CSS stylesheet. + For example: + <link rel="stylesheet" href="custom.css" type="text/css"> + + + + + + + +If the make.clean.html parameter is nonzero +(the default is zero), +and if the docbook.css.source parameter +is not blank (the default is not blank), +then the stylesheet will also generate a default CSS file +and add a link tag to reference it. +The link to the custom CSS comes after the +link to the default, so it should cascade properly +in most browsers. +If you do not want two link tags, and +instead want your custom CSS to import the default generated +CSS file, then do the following: + + + + + Add a line like the following to your custom CSS source file: + @import url("docbook.css") + + + + Set the docbook.css.link parameter + to zero. This will omit the link tag + that references the default CSS file. + + + +If you set make.clean.html to nonzero but +you do not want the default CSS generated, then also set +the docbook.css.source parameter to blank. +Then no default CSS will be generated, and so +all CSS styles must come from your custom CSS file. + +You can use the generate.css.header +parameter to instead write the CSS to each HTML HEAD +element in a style tag instead of an external CSS file. + + + diff --git a/doc/help/xslt/params/default.float.class.xml b/doc/help/xslt/params/default.float.class.xml new file mode 100644 index 00000000..1078b600 --- /dev/null +++ b/doc/help/xslt/params/default.float.class.xml @@ -0,0 +1,34 @@ + + +default.float.class +string + + +default.float.class +Specifies the default float class + + + + + + + left + before + + + + + +Description + +Selects the direction in which a float should be placed. for +xsl-fo this is before, for html it is left. For Western texts, the +before direction is the top of the page. + + + diff --git a/doc/help/xslt/params/default.image.width.xml b/doc/help/xslt/params/default.image.width.xml new file mode 100644 index 00000000..0e84a725 --- /dev/null +++ b/doc/help/xslt/params/default.image.width.xml @@ -0,0 +1,30 @@ + + +default.image.width +length + + +default.image.width +The default width of images + + + + + + + + +Description + +If specified, this value will be used for the +width attribute on images that do not specify any +viewport dimensions. + + + diff --git a/doc/help/xslt/params/default.table.frame.xml b/doc/help/xslt/params/default.table.frame.xml new file mode 100644 index 00000000..38c8667b --- /dev/null +++ b/doc/help/xslt/params/default.table.frame.xml @@ -0,0 +1,28 @@ + + +default.table.frame +string + + +default.table.frame +The default framing of tables + + + + +all + + + +Description + +This value will be used when there is no frame attribute on the +table. + + + diff --git a/doc/help/xslt/params/default.table.rules.xml b/doc/help/xslt/params/default.table.rules.xml new file mode 100644 index 00000000..ed698ec2 --- /dev/null +++ b/doc/help/xslt/params/default.table.rules.xml @@ -0,0 +1,76 @@ + + +default.table.rules +string + + +default.table.rules +The default column and row rules for tables using HTML markup + + + + +none + + + +Description + +Tables using HTML markup elements can use an attribute +named rules on the table or +informaltable element +to specify whether column and row border rules should be +displayed. This parameter lets you specify a global default +style for all HTML tables that don't otherwise have +that attribute. +These are the supported values: + + +all + +Rules will appear between all rows and columns. + + + +rows + +Rules will appear between rows only. + + + +cols + +Rules will appear between columns only. + + + +groups + +Rules will appear between row groups (thead, tfoot, tbody). +No support for rules between column groups yet. + + + + +none + +No rules. This is the default value. + + + + + + +The border after the last row and the border after +the last column are not affected by +this setting. Those borders are controlled by +the frame attribute on the table element. + + + + diff --git a/doc/help/xslt/params/default.table.width.xml b/doc/help/xslt/params/default.table.width.xml new file mode 100644 index 00000000..184ce52b --- /dev/null +++ b/doc/help/xslt/params/default.table.width.xml @@ -0,0 +1,26 @@ + + +default.table.width +length + + +default.table.width +The default width of tables + + + + + + +Description +If non-zero, this value will be used for the +width attribute on tables that do not specify an +alternate width (with the dbhtml table-width or +dbfo table-width processing instruction). + + diff --git a/doc/help/xslt/params/default.units.xml b/doc/help/xslt/params/default.units.xml new file mode 100644 index 00000000..f83c8224 --- /dev/null +++ b/doc/help/xslt/params/default.units.xml @@ -0,0 +1,37 @@ + + +default.units +list +cm +mm +in +pt +pc +px +em + + +default.units +Default units for an unqualified dimension + + + + +pt + + + +Description + +If an unqualified dimension is encountered (for example, in a +graphic width), the default.units will be used for the +units. Unqualified dimensions are not allowed in XSL Formatting Objects. + + + + diff --git a/doc/help/xslt/params/dingbat.font.family.xml b/doc/help/xslt/params/dingbat.font.family.xml new file mode 100644 index 00000000..f9719cf0 --- /dev/null +++ b/doc/help/xslt/params/dingbat.font.family.xml @@ -0,0 +1,33 @@ + + +dingbat.font.family +list +open +serif +sans-serif +monospace + + +dingbat.font.family +The font family for copyright, quotes, and other symbols + + + + +serif + + + +Description + +The dingbat font family is used for dingbats. If it is defined +as the empty string, no font change is effected around dingbats. + + + + diff --git a/doc/help/xslt/params/docbook.css.link.xml b/doc/help/xslt/params/docbook.css.link.xml new file mode 100644 index 00000000..6d9e6e69 --- /dev/null +++ b/doc/help/xslt/params/docbook.css.link.xml @@ -0,0 +1,42 @@ + + +docbook.css.link +boolean + + +docbook.css.link +Insert a link referencing the default CSS stylesheet + + + + + + + + +Description + +The stylesheets are capable of generating a default +CSS stylesheet file. The parameters +make.clean.html and +docbook.css.source control that feature. + +Normally if a default CSS file is generated, then +the stylesheet inserts a link tag in the HTML +HEAD element to reference it. +However, you can omit that link reference if +you set the docbook.css.link to zero +(1 is the default). + +This parameter is useful when you want to import the +default CSS into a custom CSS file generated using the +custom.css.source parameter. + + + + diff --git a/doc/help/xslt/params/docbook.css.source.xml b/doc/help/xslt/params/docbook.css.source.xml new file mode 100644 index 00000000..8ba7eb76 --- /dev/null +++ b/doc/help/xslt/params/docbook.css.source.xml @@ -0,0 +1,83 @@ + + + docbook.css.source + string + + + docbook.css.source + Name of the default CSS input file + + + + docbook.css.xml + + + Description + +The docbook.css.source parameter +specifies the name of the file containing the default DocBook +CSS styles. Those styles are necessary when the +make.clean.html parameter is nonzero. + +The file is a well-formed XML file that +must consist of a single style root +element that contains CSS styles as its text content. +The default value of the parameter (and filename) +is docbook.css.xml. +The stylesheets ship with the default file. You can substitute +your own and specify its path in this parameter. + +If docbook.css.source is not blank, +and make.clean.html is nonzero, then +the stylesheet takes the following actions: + + + + The stylesheet uses the XSLT document() + function to open the file specified by the parameter and + load it into a variable. + + + The stylesheet forms an output pathname consisting of the + value of the base.dir parameter (if it is set) + and the value of docbook.css.source, + with the .xml suffix stripped off. + + + + The stylesheet removes the style + wrapper element and writes just the CSS text content to the output file. + + + The stylesheet adds a link element to the + HTML HEAD element to reference the external CSS stylesheet. + For example: + <link rel="stylesheet" href="docbook.css" type="text/css"> + + However, if the docbook.css.link + parameter is set to zero, then no link is written + for the default CSS file. That is useful if a custom + CSS file will import the default CSS stylesheet to ensure + proper cascading of styles. + + + +If the docbook.css.source parameter +is changed from its default docbook.css.xml to blank, +then no default CSS is generated. Likewise if the +make.clean.html parameter is set to zero, +then no default CSS is generated. The +custom.css.source parameter can be used +instead to generate a complete custom CSS file. + +You can use the generate.css.header +parameter to instead write the CSS to each HTML HEAD +element in a style tag instead of an external CSS file. + + + diff --git a/doc/help/xslt/params/double.sided.xml b/doc/help/xslt/params/double.sided.xml new file mode 100644 index 00000000..3758f1ff --- /dev/null +++ b/doc/help/xslt/params/double.sided.xml @@ -0,0 +1,31 @@ + + +double.sided +boolean + + +double.sided +Is the document to be printed double sided? + + + + + + + + +Description + +Double-sided documents are printed with a slightly wider margin +on the binding edge of the page. + +FIXME: The current set of parameters does not take writing direction +into account. + + + diff --git a/doc/help/xslt/params/draft.mode.xml b/doc/help/xslt/params/draft.mode.xml new file mode 100644 index 00000000..2f62d06e --- /dev/null +++ b/doc/help/xslt/params/draft.mode.xml @@ -0,0 +1,36 @@ + + +draft.mode +list +no +yes +maybe + + +draft.mode +Select draft mode + + + + +no + + + +Description + +Selects draft mode. If draft.mode is +yes, the entire document will be treated +as a draft. If it is no, the entire document +will be treated as a final copy. If it is maybe, +individual sections will be treated as draft or final independently, depending +on how their status attribute is set. + + + + diff --git a/doc/help/xslt/params/draft.watermark.image.xml b/doc/help/xslt/params/draft.watermark.image.xml new file mode 100644 index 00000000..ef053a0d --- /dev/null +++ b/doc/help/xslt/params/draft.watermark.image.xml @@ -0,0 +1,27 @@ + + +draft.watermark.image +uri + + +draft.watermark.image +The URI of the image to be used for draft watermarks + + + + +images/draft.png + + + +Description + +The image to be used for draft watermarks. + + + diff --git a/doc/help/xslt/params/dry-run.xml b/doc/help/xslt/params/dry-run.xml new file mode 100644 index 00000000..dd481c39 --- /dev/null +++ b/doc/help/xslt/params/dry-run.xml @@ -0,0 +1,27 @@ + + +dry-run +boolean + + +dry-run +Indicates that no files should be produced + + + + + + +Description +When using the XSLT processor to manage dependencies and construct +the website, this parameter can be used to suppress the generation of +new and updated files. Effectively, this allows you to see what the +stylesheet would do, without actually making any changes. +Only applies when XSLT-based chunking is being used. + + diff --git a/doc/help/xslt/params/dynamic.toc.xml b/doc/help/xslt/params/dynamic.toc.xml new file mode 100644 index 00000000..232f19e1 --- /dev/null +++ b/doc/help/xslt/params/dynamic.toc.xml @@ -0,0 +1,29 @@ + + +dynamic.toc +boolean + + +dynamic.toc +Dynamic ToCs? + + + + + + + + +Description + +If non-zero, JavaScript is used to make the ToC panel dynamic. +In a dynamic ToC, each section in the ToC can be expanded and collapsed by +clicking on the appropriate image. + + + diff --git a/doc/help/xslt/params/ebnf.assignment.xml b/doc/help/xslt/params/ebnf.assignment.xml new file mode 100644 index 00000000..5c897486 --- /dev/null +++ b/doc/help/xslt/params/ebnf.assignment.xml @@ -0,0 +1,39 @@ + + +ebnf.assignment +rtf + + +ebnf.assignment +The EBNF production assignment operator + + + + + +::= + + + + ::= + + + + + +Description + +The ebnf.assignment parameter determines what +text is used to show assignment in productions +in productionsets. + +While ::= is common, so are several +other operators. + + + diff --git a/doc/help/xslt/params/ebnf.statement.terminator.xml b/doc/help/xslt/params/ebnf.statement.terminator.xml new file mode 100644 index 00000000..4e8bd124 --- /dev/null +++ b/doc/help/xslt/params/ebnf.statement.terminator.xml @@ -0,0 +1,32 @@ + + +ebnf.statement.terminator +rtf + + +ebnf.statement.terminator +Punctuation that ends an EBNF statement. + + + + + + + + + +Description + +The ebnf.statement.terminator parameter determines what +text is used to terminate each production +in productionset. + +Some notations end each statement with a period. + + + diff --git a/doc/help/xslt/params/ebnf.table.bgcolor.xml b/doc/help/xslt/params/ebnf.table.bgcolor.xml new file mode 100644 index 00000000..747f1400 --- /dev/null +++ b/doc/help/xslt/params/ebnf.table.bgcolor.xml @@ -0,0 +1,30 @@ + + +ebnf.table.bgcolor +color + + +ebnf.table.bgcolor +Background color for EBNF tables + + + + +#F5DCB3 + + + +Description + +Sets the background color for EBNF tables (a pale brown). No +bgcolor attribute is output if +ebnf.table.bgcolor is set to the null string. + + + + diff --git a/doc/help/xslt/params/ebnf.table.border.xml b/doc/help/xslt/params/ebnf.table.border.xml new file mode 100644 index 00000000..e4e50aee --- /dev/null +++ b/doc/help/xslt/params/ebnf.table.border.xml @@ -0,0 +1,26 @@ + + +ebnf.table.border +boolean + + +ebnf.table.border +Selects border on EBNF tables + + + + + + +Description + +Selects the border on EBNF tables. If non-zero, the tables have +borders, otherwise they don't. + + + diff --git a/doc/help/xslt/params/eclipse.autolabel.xml b/doc/help/xslt/params/eclipse.autolabel.xml new file mode 100644 index 00000000..622196e5 --- /dev/null +++ b/doc/help/xslt/params/eclipse.autolabel.xml @@ -0,0 +1,28 @@ + + +eclipse.autolabel +boolean + + +eclipse.autolabel +Should tree-like ToC use autonumbering feature? + + + + + + + + +Description + +If you want to include chapter and section numbers into ToC in +the left panel, set this parameter to 1. + + + diff --git a/doc/help/xslt/params/eclipse.plugin.id.xml b/doc/help/xslt/params/eclipse.plugin.id.xml new file mode 100644 index 00000000..75557e55 --- /dev/null +++ b/doc/help/xslt/params/eclipse.plugin.id.xml @@ -0,0 +1,28 @@ + + +eclipse.plugin.id +string + + +eclipse.plugin.id +Eclipse Help plugin id + + + + +com.example.help + + + +Description + +Eclipse Help plugin id. You should change this id to something +unique for each help. + + + diff --git a/doc/help/xslt/params/eclipse.plugin.name.xml b/doc/help/xslt/params/eclipse.plugin.name.xml new file mode 100644 index 00000000..0df83ec6 --- /dev/null +++ b/doc/help/xslt/params/eclipse.plugin.name.xml @@ -0,0 +1,27 @@ + + +eclipse.plugin.name +string + + +eclipse.plugin.name +Eclipse Help plugin name + + + + +DocBook Online Help Sample + + + +Description + +Eclipse Help plugin name. + + + diff --git a/doc/help/xslt/params/eclipse.plugin.provider.xml b/doc/help/xslt/params/eclipse.plugin.provider.xml new file mode 100644 index 00000000..03261fe5 --- /dev/null +++ b/doc/help/xslt/params/eclipse.plugin.provider.xml @@ -0,0 +1,27 @@ + + +eclipse.plugin.provider +string + + +eclipse.plugin.provider +Eclipse Help plugin provider name + + + + +Example provider + + + +Description + +Eclipse Help plugin provider name. + + + diff --git a/doc/help/xslt/params/editedby.enabled.xml b/doc/help/xslt/params/editedby.enabled.xml new file mode 100644 index 00000000..78089f95 --- /dev/null +++ b/doc/help/xslt/params/editedby.enabled.xml @@ -0,0 +1,27 @@ + + +editedby.enabled +boolean + + +editedby.enabled +Display “Edited by” heading above editor name? + + + +1 + + +Description + +If non-zero, a localized Edited +by heading is displayed above editor names in output of the +editor element. + + + diff --git a/doc/help/xslt/params/email.delimiters.enabled.xml b/doc/help/xslt/params/email.delimiters.enabled.xml new file mode 100644 index 00000000..b07cd6d1 --- /dev/null +++ b/doc/help/xslt/params/email.delimiters.enabled.xml @@ -0,0 +1,34 @@ + + +email.delimiters.enabled +boolean + + +email.delimiters.enabled +Generate delimiters around email addresses? + + + + + + + + +Description + +If non-zero, delimiters + +For delimiters, the +stylesheets are currently hard-coded to output angle +brackets. + +are generated around e-mail addresses +(the output of the email element). + + + diff --git a/doc/help/xslt/params/email.mailto.enabled.xml b/doc/help/xslt/params/email.mailto.enabled.xml new file mode 100644 index 00000000..e4eb8d10 --- /dev/null +++ b/doc/help/xslt/params/email.mailto.enabled.xml @@ -0,0 +1,29 @@ + + +email.mailto.enabled +boolean + + +email.mailto.enabled +Generate mailto: links for email addresses? + + + + + + + + +Description + +If non-zero the generated output for the email element +will be a clickable mailto: link that brings up the default mail client +on the system. + + + diff --git a/doc/help/xslt/params/emphasis.propagates.style.xml b/doc/help/xslt/params/emphasis.propagates.style.xml new file mode 100644 index 00000000..9ff55f52 --- /dev/null +++ b/doc/help/xslt/params/emphasis.propagates.style.xml @@ -0,0 +1,26 @@ + + +emphasis.propagates.style +boolean + + +emphasis.propagates.style +Pass emphasis role attribute through to HTML? + + + + + + +Description +If non-zero, the role attribute of +emphasis elements will be passed through to the HTML as a +class attribute on a span that surrounds the +emphasis. + + diff --git a/doc/help/xslt/params/entry.propagates.style.xml b/doc/help/xslt/params/entry.propagates.style.xml new file mode 100644 index 00000000..7f43c66e --- /dev/null +++ b/doc/help/xslt/params/entry.propagates.style.xml @@ -0,0 +1,30 @@ + + +entry.propagates.style +boolean + + +entry.propagates.style +Pass entry role attribute through to HTML? + + + + + + + + +Description + +If true, the role attribute of entry elements +will be passed through to the HTML as a class attribute on the +td or th generated for the table +cell. + + + diff --git a/doc/help/xslt/params/epub.autolabel.xml b/doc/help/xslt/params/epub.autolabel.xml new file mode 100644 index 00000000..8a645558 --- /dev/null +++ b/doc/help/xslt/params/epub.autolabel.xml @@ -0,0 +1,28 @@ + + +epub.autolabel +boolean + + +epub.autolabel +Should tree-like ToC use autonumbering feature? + + + + + + + + +Description + +If you want to include chapter and section numbers into ToC in, +set this parameter to 1. + + + diff --git a/doc/help/xslt/params/equation.number.properties.xml b/doc/help/xslt/params/equation.number.properties.xml new file mode 100644 index 00000000..6e05d398 --- /dev/null +++ b/doc/help/xslt/params/equation.number.properties.xml @@ -0,0 +1,28 @@ + + +equation.number.properties +attribute set + + +equation.number.properties +Properties that apply to the fo:table-cell containing the number +of an equation that does not have a title. + + + + + end + center + + +Description +Properties that apply to the fo:table-cell containing the number +of an equation when it has no title. The number in an equation with a +title is formatted along with the title, and this attribute-set does not apply. + + diff --git a/doc/help/xslt/params/equation.properties.xml b/doc/help/xslt/params/equation.properties.xml new file mode 100644 index 00000000..a88f6837 --- /dev/null +++ b/doc/help/xslt/params/equation.properties.xml @@ -0,0 +1,27 @@ + + +equation.properties +attribute set + + +equation.properties +Properties associated with a equation + + + + + + + + +Description + +The styling for equations. + + + diff --git a/doc/help/xslt/params/example.properties.xml b/doc/help/xslt/params/example.properties.xml new file mode 100644 index 00000000..53e695b4 --- /dev/null +++ b/doc/help/xslt/params/example.properties.xml @@ -0,0 +1,27 @@ + + +example.properties +attribute set + + +example.properties +Properties associated with a example + + + + + + + + +Description + +The styling for examples. + + + diff --git a/doc/help/xslt/params/exsl.node.set.available.xml b/doc/help/xslt/params/exsl.node.set.available.xml new file mode 100644 index 00000000..c5d009e0 --- /dev/null +++ b/doc/help/xslt/params/exsl.node.set.available.xml @@ -0,0 +1,44 @@ + + +exsl.node.set.available +boolean + + +exsl.node.set.available +Is the test function-available('exsl:node-set') true? + + + + + + 1 + 0 + + + + + +Description + +If non-zero, +then the exsl:node-set() function is available to be used in +the stylesheet. +If zero, then the function is not available. +This param automatically detects the presence of +the function and does not normally need to be set manually. + +This param was created to handle a long-standing +bug in the Xalan processor that fails to detect the +function even though it is available. + + + diff --git a/doc/help/xslt/params/feedback.href.xml b/doc/help/xslt/params/feedback.href.xml new file mode 100644 index 00000000..bc37dafe --- /dev/null +++ b/doc/help/xslt/params/feedback.href.xml @@ -0,0 +1,28 @@ + + +feedback.href +uri + + +feedback.href +HREF (URI) for feedback link + + + + + + + + +Description +The feedback.href value is used as the value +for the href attribute on the feedback +link. If feedback.href +is empty, no feedback link is generated. + + diff --git a/doc/help/xslt/params/feedback.link.text.xml b/doc/help/xslt/params/feedback.link.text.xml new file mode 100644 index 00000000..c80feefa --- /dev/null +++ b/doc/help/xslt/params/feedback.link.text.xml @@ -0,0 +1,28 @@ + + +feedback.link.text +string + + +feedback.link.text +The text of the feedback link + + + + +Feedback + + + +Description +The contents of this variable is used as the text of the feedback +link if feedback.href is not empty. If +feedback.href is empty, no feedback link is +generated. + + diff --git a/doc/help/xslt/params/feedback.with.ids.xml b/doc/help/xslt/params/feedback.with.ids.xml new file mode 100644 index 00000000..3edfa260 --- /dev/null +++ b/doc/help/xslt/params/feedback.with.ids.xml @@ -0,0 +1,27 @@ + + +feedback.with.ids +boolean + + +feedback.with.ids +Toggle use of IDs in feedback + + + + + + + + +Description +If feedback.with.ids is non-zero, the ID of the +current page will be added to the feedback link. This can be used, for +example, if the feedback.href is a CGI script. + + diff --git a/doc/help/xslt/params/figure.properties.xml b/doc/help/xslt/params/figure.properties.xml new file mode 100644 index 00000000..e9f6748a --- /dev/null +++ b/doc/help/xslt/params/figure.properties.xml @@ -0,0 +1,27 @@ + + +figure.properties +attribute set + + +figure.properties +Properties associated with a figure + + + + + + + + +Description + +The styling for figures. + + + diff --git a/doc/help/xslt/params/filename-prefix.xml b/doc/help/xslt/params/filename-prefix.xml new file mode 100644 index 00000000..54c043d3 --- /dev/null +++ b/doc/help/xslt/params/filename-prefix.xml @@ -0,0 +1,28 @@ + + +filename-prefix +string + + +filename-prefix +Prefix added to all filenames + + + + + + + + +Description +To produce the text-only (that is, non-tabular) layout +of a website simultaneously with the tabular layout, the filenames have to +be distinguished. That's accomplished by adding the +filename-prefix to the front of each filename. + + diff --git a/doc/help/xslt/params/firstterm.only.link.xml b/doc/help/xslt/params/firstterm.only.link.xml new file mode 100644 index 00000000..32ea3053 --- /dev/null +++ b/doc/help/xslt/params/firstterm.only.link.xml @@ -0,0 +1,29 @@ + + +firstterm.only.link +boolean + + +firstterm.only.link +Does automatic glossterm linking only apply to firstterms? + + + + + + + + +Description + +If non-zero, only firstterms will be automatically linked +to the glossary. If glossary linking is not enabled, this parameter +has no effect. + + + diff --git a/doc/help/xslt/params/foil.properties.xml b/doc/help/xslt/params/foil.properties.xml new file mode 100644 index 00000000..11ad146b --- /dev/null +++ b/doc/help/xslt/params/foil.properties.xml @@ -0,0 +1,37 @@ + + +foil.properties +attribute set + + +foil.properties +Specifies properties for all foils + + + + + + + + + 1in + 1in + + + + bold + + + + +Description + +This parameter specifies properties that are applied to all foils. + + + diff --git a/doc/help/xslt/params/foil.subtitle.properties.xml b/doc/help/xslt/params/foil.subtitle.properties.xml new file mode 100644 index 00000000..4832fbe3 --- /dev/null +++ b/doc/help/xslt/params/foil.subtitle.properties.xml @@ -0,0 +1,36 @@ + + +foil.subtitle.properties +attribute set + + +foil.subtitle.properties +Specifies properties for all foil subtitles + + + + + + + + + center + + pt + + 12pt + + + + +Description + +This parameter specifies properties that are applied to all foil subtitles. + + + diff --git a/doc/help/xslt/params/foil.title.master.xml b/doc/help/xslt/params/foil.title.master.xml new file mode 100644 index 00000000..f5ba07f3 --- /dev/null +++ b/doc/help/xslt/params/foil.title.master.xml @@ -0,0 +1,29 @@ + + +foil.title.master +number + + +foil.title.master +Specifies unitless font size to use for foil titles + + + + +36 + + + + +Description + +Specifies a unitless font size to use for foil titles; used in +combination with the foil.title.size +parameter. + + diff --git a/doc/help/xslt/params/foil.title.size.xml b/doc/help/xslt/params/foil.title.size.xml new file mode 100644 index 00000000..3163600f --- /dev/null +++ b/doc/help/xslt/params/foil.title.size.xml @@ -0,0 +1,32 @@ + + +foil.title.size +length + + +foil.title.size +Specifies font size to use for foil titles, including units + + + + + + pt + + + + +Description + +This parameter combines the value of the +foil.title.master parameter with a unit +specification. The default unit is pt +(points). + + + diff --git a/doc/help/xslt/params/foilgroup.properties.xml b/doc/help/xslt/params/foilgroup.properties.xml new file mode 100644 index 00000000..cd9805a4 --- /dev/null +++ b/doc/help/xslt/params/foilgroup.properties.xml @@ -0,0 +1,31 @@ + + +foilgroup.properties +attribute set + + +foilgroup.properties +Specifies properties for all foilgroups + + + + + + + + + + + + +Description + +This parameter specifies properties that are applied to all foilgroups. + + + diff --git a/doc/help/xslt/params/foilgroup.toc.xml b/doc/help/xslt/params/foilgroup.toc.xml new file mode 100644 index 00000000..31d7cb34 --- /dev/null +++ b/doc/help/xslt/params/foilgroup.toc.xml @@ -0,0 +1,29 @@ + + +foilgroup.toc +boolean + + +foilgroup.toc +Put ToC on foilgroup pages? + + + + + + + + +Description + +If non-zero, a ToC will be placed on foilgroup pages (after any +other content). + + + + diff --git a/doc/help/xslt/params/footer.column.widths.xml b/doc/help/xslt/params/footer.column.widths.xml new file mode 100644 index 00000000..eca22705 --- /dev/null +++ b/doc/help/xslt/params/footer.column.widths.xml @@ -0,0 +1,80 @@ + + +footer.column.widths +string + + +footer.column.widths +Specify relative widths of footer areas + + + +1 1 1 + + +Description + +Page footers in print output use a three column table +to position text at the left, center, and right side of +the footer on the page. +This parameter lets you specify the relative sizes of the +three columns. The default value is +"1 1 1". + +The parameter value must be three numbers, separated +by white space. The first number represents the relative +width of the inside footer for +double-sided output. The second number is the relative +width of the center footer. The third number is the +relative width of the outside footer for +double-sided output. + +For single-sided output, the first number is the +relative width of left footer for left-to-right +text direction, or the right footer for right-to-left +text direction. +The third number is the +relative width of right footer for left-to-right +text direction, or the left footer for right-to-left +text direction. + +The numbers are used to specify the column widths +for the table that makes up the footer area. +In the FO output, this looks like: + + + +<fo:table-column column-number="1" + column-width="proportional-column-width(1)"/> + + + +The proportional-column-width() +function computes a column width by dividing its +argument by the total of the arguments for all the columns, and +then multiplying the result by the width of the whole table +(assuming all the column specs use the function). +Its argument can be any positive integer or floating point number. +Zero is an acceptable value, although some FO processors +may warn about it, in which case using a very small number might +be more satisfactory. + + +For example, the value "1 2 1" means the center +footer should have twice the width of the other areas. +A value of "0 0 1" means the entire footer area +is reserved for the right (or outside) footer text. +Note that to keep the center area centered on +the page, the left and right values must be +the same. A specification like "1 2 3" means the +center area is no longer centered on the page +since the right area is three times the width of the left area. + + + + diff --git a/doc/help/xslt/params/footer.content.properties.xml b/doc/help/xslt/params/footer.content.properties.xml new file mode 100644 index 00000000..1212cbd1 --- /dev/null +++ b/doc/help/xslt/params/footer.content.properties.xml @@ -0,0 +1,34 @@ + + +footer.content.properties +attribute set + + +footer.content.properties +Properties of page footer content + + + + + + + + + + + + + + + +Description + +Properties of page footer content. + + + diff --git a/doc/help/xslt/params/footer.hr.xml b/doc/help/xslt/params/footer.hr.xml new file mode 100644 index 00000000..d1a5bf8f --- /dev/null +++ b/doc/help/xslt/params/footer.hr.xml @@ -0,0 +1,26 @@ + + +footer.hr +boolean + + +footer.hr +Toggle <HR> before footer + + + + + + + + +Description +If non-zero, an <HR> is generated at the bottom of each web page, +before the footer. + + diff --git a/doc/help/xslt/params/footer.rule.xml b/doc/help/xslt/params/footer.rule.xml new file mode 100644 index 00000000..6b00adea --- /dev/null +++ b/doc/help/xslt/params/footer.rule.xml @@ -0,0 +1,27 @@ + + +footer.rule +boolean + + +footer.rule +Rule over footers? + + + + + + + + +Description + +If non-zero, a rule will be drawn above the page footers. + + + diff --git a/doc/help/xslt/params/footer.table.height.xml b/doc/help/xslt/params/footer.table.height.xml new file mode 100644 index 00000000..2f6c45e5 --- /dev/null +++ b/doc/help/xslt/params/footer.table.height.xml @@ -0,0 +1,32 @@ + + +footer.table.height +length + + +footer.table.height +Specify the minimum height of the table containing the running page footers + + + +14pt + + +Description + +Page footers in print output use a three column table +to position text at the left, center, and right side of +the footer on the page. +This parameter lets you specify the minimum height +of the single row in the table. +Since this specifies only the minimum height, +the table should automatically grow to fit taller content. +The default value is "14pt". + + + diff --git a/doc/help/xslt/params/footer.table.properties.xml b/doc/help/xslt/params/footer.table.properties.xml new file mode 100644 index 00000000..12e67d3e --- /dev/null +++ b/doc/help/xslt/params/footer.table.properties.xml @@ -0,0 +1,30 @@ + + +footer.table.properties +attribute set + + +footer.table.properties +Apply properties to the footer layout table + + + + + + fixed + 100% + + + + +Description + +Properties applied to the table that lays out the page footer. + + + diff --git a/doc/help/xslt/params/footers.on.blank.pages.xml b/doc/help/xslt/params/footers.on.blank.pages.xml new file mode 100644 index 00000000..2964f781 --- /dev/null +++ b/doc/help/xslt/params/footers.on.blank.pages.xml @@ -0,0 +1,27 @@ + + +footers.on.blank.pages +boolean + + +footers.on.blank.pages +Put footers on blank pages? + + + + + + + + +Description + +If non-zero, footers will be placed on blank pages. + + + diff --git a/doc/help/xslt/params/footnote.font.size.xml b/doc/help/xslt/params/footnote.font.size.xml new file mode 100644 index 00000000..88d0c0b2 --- /dev/null +++ b/doc/help/xslt/params/footnote.font.size.xml @@ -0,0 +1,28 @@ + + +footnote.font.size +length + + +footnote.font.size +The font size for footnotes + + + + + pt + + + +Description + +The footnote font size is used for...footnotes! + + + + diff --git a/doc/help/xslt/params/footnote.mark.properties.xml b/doc/help/xslt/params/footnote.mark.properties.xml new file mode 100644 index 00000000..2dbc9c10 --- /dev/null +++ b/doc/help/xslt/params/footnote.mark.properties.xml @@ -0,0 +1,41 @@ + + +footnote.mark.properties +attribute set + + +footnote.mark.properties +Properties applied to each footnote mark + + + + + + + + 75% + normal + normal + + + + +Description + +This attribute set is applied to the footnote mark used +for each footnote. +It should contain only inline properties. + + +The property to make the mark a superscript is contained in the +footnote template itself, because the current version of FOP reports +an error if baseline-shift is used. + + + + diff --git a/doc/help/xslt/params/footnote.number.format.xml b/doc/help/xslt/params/footnote.number.format.xml new file mode 100644 index 00000000..c323720c --- /dev/null +++ b/doc/help/xslt/params/footnote.number.format.xml @@ -0,0 +1,33 @@ + + +footnote.number.format +list +11,2,3... +AA,B,C... +aa,b,c... +ii,ii,iii... +II,II,III... + + +footnote.number.format +Identifies the format used for footnote numbers + + + + +1 + + + +Description + +The footnote.number.format specifies the format +to use for footnote numeration (1, i, I, a, or A). + + + diff --git a/doc/help/xslt/params/footnote.number.symbols.xml b/doc/help/xslt/params/footnote.number.symbols.xml new file mode 100644 index 00000000..10ca7d3c --- /dev/null +++ b/doc/help/xslt/params/footnote.number.symbols.xml @@ -0,0 +1,39 @@ + + +footnote.number.symbols + + + +footnote.number.symbols +Special characters to use as footnote markers + + + + + + + + +Description + +If footnote.number.symbols is not the empty string, +footnotes will use the characters it contains as footnote symbols. For example, +*&#x2020;&#x2021;&#x25CA;&#x2720; will identify +footnotes with *, †, ‡, +◊, and ✠. If there are more footnotes +than symbols, the stylesheets will fall back to numbered footnotes using +footnote.number.format. + +The use of symbols for footnotes depends on the ability of your +processor (or browser) to render the symbols you select. Not all systems are +capable of displaying the full range of Unicode characters. If the quoted characters +in the preceding paragraph are not displayed properly, that's a good indicator +that you may have trouble using those symbols for footnotes. + + + diff --git a/doc/help/xslt/params/footnote.properties.xml b/doc/help/xslt/params/footnote.properties.xml new file mode 100644 index 00000000..f62adee8 --- /dev/null +++ b/doc/help/xslt/params/footnote.properties.xml @@ -0,0 +1,43 @@ + + +footnote.properties +attribute set + + +footnote.properties +Properties applied to each footnote body + + + + + + + + + normal + normal + + 0pt + 0pt + + wrap + treat-as-space + + + + +Description + +This attribute set is applied to the footnote-block +for each footnote. +It can be used to set the +font-size, font-family, and other inheritable properties that will be +applied to all footnotes. + + + diff --git a/doc/help/xslt/params/footnote.sep.leader.properties.xml b/doc/help/xslt/params/footnote.sep.leader.properties.xml new file mode 100644 index 00000000..27f9489d --- /dev/null +++ b/doc/help/xslt/params/footnote.sep.leader.properties.xml @@ -0,0 +1,39 @@ + + +footnote.sep.leader.properties +attribute set + + +footnote.sep.leader.properties +Properties associated with footnote separators + + + + + + black + rule + 1in + + + + +Description + +The styling for the rule line that separates the +footnotes from the body text. +These are properties applied to the fo:leader used as +the separator. + +If you want to do more than just set properties on +the leader element, then you can customize the template +named footnote.separator in +fo/pagesetup.xsl. + + + diff --git a/doc/help/xslt/params/fop.extensions.xml b/doc/help/xslt/params/fop.extensions.xml new file mode 100644 index 00000000..e122368b --- /dev/null +++ b/doc/help/xslt/params/fop.extensions.xml @@ -0,0 +1,36 @@ + + +fop.extensions +boolean + + +fop.extensions +Enable extensions for FOP version 0.20.5 and earlier + + + + + + +Description + +If non-zero, extensions intended for +FOP +version 0.20.5 and earlier will be used. +At present, this consists of PDF bookmarks. + + +This parameter can also affect which graphics file formats +are supported. + +If you are using a version of FOP beyond +version 0.20.5, then use the fop1.extensions parameter +instead. + + + diff --git a/doc/help/xslt/params/fop1.extensions.xml b/doc/help/xslt/params/fop1.extensions.xml new file mode 100644 index 00000000..dcbcf5be --- /dev/null +++ b/doc/help/xslt/params/fop1.extensions.xml @@ -0,0 +1,34 @@ + + +fop1.extensions +boolean + + +fop1.extensions +Enable extensions for FOP version 0.90 and later + + + + + + +Description + +If non-zero, extensions for +FOP +version 0.90 and later will be used. + + +This parameter can also affect which graphics file formats +are supported. + +The original fop.extensions parameter +should still be used for FOP version 0.20.5 and earlier. + + + diff --git a/doc/help/xslt/params/formal.object.properties.xml b/doc/help/xslt/params/formal.object.properties.xml new file mode 100644 index 00000000..f36aeaf7 --- /dev/null +++ b/doc/help/xslt/params/formal.object.properties.xml @@ -0,0 +1,36 @@ + + +formal.object.properties +attribute set + + +formal.object.properties +Properties associated with a formal object such as a figure, or other component that has a title + + + + + + 0.5em + 1em + 2em + 0.5em + 1em + 2em + always + + + + +Description + +The styling for formal objects in docbook. Specify the spacing +before and after the object. + + + diff --git a/doc/help/xslt/params/formal.procedures.xml b/doc/help/xslt/params/formal.procedures.xml new file mode 100644 index 00000000..4f108857 --- /dev/null +++ b/doc/help/xslt/params/formal.procedures.xml @@ -0,0 +1,28 @@ + + +formal.procedures +boolean + + +formal.procedures +Selects formal or informal procedures + + + + + + + + +Description + +Formal procedures are numbered and always have a title. + + + + diff --git a/doc/help/xslt/params/formal.title.placement.xml b/doc/help/xslt/params/formal.title.placement.xml new file mode 100644 index 00000000..e56f2001 --- /dev/null +++ b/doc/help/xslt/params/formal.title.placement.xml @@ -0,0 +1,41 @@ + + +formal.title.placement +table + + +formal.title.placement +Specifies where formal object titles should occur + + + + + +figure before +example before +equation before +table before +procedure before +task before + + + + +Description + +Specifies where formal object titles should occur. For each formal object +type (figure, +example, +equation, +table, and procedure) +you can specify either the keyword +before or +after. + + + diff --git a/doc/help/xslt/params/formal.title.properties.xml b/doc/help/xslt/params/formal.title.properties.xml new file mode 100644 index 00000000..898d5729 --- /dev/null +++ b/doc/help/xslt/params/formal.title.properties.xml @@ -0,0 +1,34 @@ + + +formal.title.properties +attribute set + + +formal.title.properties +Style the title element of formal object such as a figure. + + + + + + bold + + + pt + + false + 0.4em + 0.6em + 0.8em + + + +Description +Specify how the title should be styled. Specify the font size and weight of the title of the formal object. + + diff --git a/doc/help/xslt/params/funcsynopsis.decoration.xml b/doc/help/xslt/params/funcsynopsis.decoration.xml new file mode 100644 index 00000000..44037c39 --- /dev/null +++ b/doc/help/xslt/params/funcsynopsis.decoration.xml @@ -0,0 +1,30 @@ + + +funcsynopsis.decoration +boolean + + +funcsynopsis.decoration +Decorate elements of a funcsynopsis? + + + + + + + + +Description + +If non-zero, elements of the funcsynopsis will be +decorated (e.g. rendered as bold or italic text). The decoration is controlled by +templates that can be redefined in a customization layer. + + + + diff --git a/doc/help/xslt/params/funcsynopsis.style.xml b/doc/help/xslt/params/funcsynopsis.style.xml new file mode 100644 index 00000000..fc3ad85c --- /dev/null +++ b/doc/help/xslt/params/funcsynopsis.style.xml @@ -0,0 +1,31 @@ + + +funcsynopsis.style +list +ansi +kr + + +funcsynopsis.style +What style of funcsynopsis should be generated? + + + +kr + + +Description + +If funcsynopsis.style is ansi, +ANSI-style function synopses are generated for a +funcsynopsis, otherwise K&R-style +function synopses are generated. + + + + diff --git a/doc/help/xslt/params/function.parens.xml b/doc/help/xslt/params/function.parens.xml new file mode 100644 index 00000000..15d6df07 --- /dev/null +++ b/doc/help/xslt/params/function.parens.xml @@ -0,0 +1,29 @@ + + +function.parens +boolean + + +function.parens +Generate parens after a function? + + + + + + + + +Description + +If non-zero, the formatting of a function element +will include generated parentheses. + + + + diff --git a/doc/help/xslt/params/generate.css.header.xml b/doc/help/xslt/params/generate.css.header.xml new file mode 100644 index 00000000..05965c10 --- /dev/null +++ b/doc/help/xslt/params/generate.css.header.xml @@ -0,0 +1,40 @@ + + +generate.css.header +boolean + + +generate.css.header +Insert generated CSS styles in HEAD element + + + + + + + + +Description + +The stylesheets are capable of generating both default +and custom CSS stylesheet files. The parameters +make.clean.html, +docbook.css.source, and +custom.css.source control that feature. + +If you require that CSS styles reside in the HTML +HEAD element instead of external CSS files, +then set the generate.css.header +parameter to nonzero (it is zero by default). +Then instead of generating the CSS in external files, +they are wrapped in style elements in +the HEAD element of each HTML output file. + + + + diff --git a/doc/help/xslt/params/generate.id.attributes.xml b/doc/help/xslt/params/generate.id.attributes.xml new file mode 100644 index 00000000..6326841d --- /dev/null +++ b/doc/help/xslt/params/generate.id.attributes.xml @@ -0,0 +1,59 @@ + + +generate.id.attributes +boolean + + +generate.id.attributes +Generate ID attributes on container elements? + + + + + + + + +Description + +If non-zero, the HTML stylesheet will generate ID attributes on +containers. For example, the markup: + +<section id="foo"><title>Some Title</title> +<para>Some para.</para> +</section> + +might produce: + +<div class="section" id="foo"> +<h2>Some Title</h2> +<p>Some para.</p> +</div> + +The alternative is to generate anchors: + +<div class="section"> +<h2><a name="foo"></a>Some Title</h2> +<p>Some para.</p> +</div> + +Because the name attribute of +the a element and the id +attribute of other tags are both of type ID, producing both +generates invalid documents. + +As of version 1.50, you can use this switch to control which type of +identifier is generated. For backwards-compatibility, generating +a anchors is preferred. + +Note: at present, this switch is incompletely implemented. +Disabling ID attributes will suppress them, but enabling ID attributes +will not suppress the anchors. + + + diff --git a/doc/help/xslt/params/generate.index.xml b/doc/help/xslt/params/generate.index.xml new file mode 100644 index 00000000..8cab3508 --- /dev/null +++ b/doc/help/xslt/params/generate.index.xml @@ -0,0 +1,25 @@ + + +generate.index +boolean + + +generate.index +Do you want an index? + + + + + + +Description + +Specify if an index should be generated. + + + diff --git a/doc/help/xslt/params/generate.legalnotice.link.xml b/doc/help/xslt/params/generate.legalnotice.link.xml new file mode 100644 index 00000000..534e0505 --- /dev/null +++ b/doc/help/xslt/params/generate.legalnotice.link.xml @@ -0,0 +1,72 @@ + + +generate.legalnotice.link +boolean + + +generate.legalnotice.link +Write legalnotice to separate chunk and generate link? + + + + + + +Description + +If the value of generate.legalnotice.link +is non-zero, the stylesheet: + + + + writes the contents of legalnotice to a separate + HTML file + + + inserts a hyperlink to the legalnotice file + + + adds (in the HTML head) either a single + link or element or multiple + link elements (depending on the value of the + html.head.legalnotice.link.multiple + parameter), with the value or values derived from the + html.head.legalnotice.link.types + parameter + + + + Otherwise, if generate.legalnotice.link is + zero, legalnotice contents are rendered on the title + page. + +The name of the separate HTML file is computed as follows: + + + + If a filename is given by the dbhtml filename +processing instruction, that filename is used. + + + If the legalnotice has an id/xml:id +attribute, and if use.id.as.filename != 0, the filename +is the concatenation of the id value and the value of the html.ext +parameter. + + + If the legalnotice does not have an id/xml:id + attribute, or if use.id.as.filename = 0, the filename is the concatenation of "ln-", +auto-generated id value, and html.ext value. + + + + + + + + diff --git a/doc/help/xslt/params/generate.manifest.xml b/doc/help/xslt/params/generate.manifest.xml new file mode 100644 index 00000000..b561c360 --- /dev/null +++ b/doc/help/xslt/params/generate.manifest.xml @@ -0,0 +1,27 @@ + + + generate.manifest + boolean + + + generate.manifest + Generate a manifest file? + + + + + + + Description + + If non-zero, a list of HTML files generated by the + stylesheet transformation is written to the file named by + the manifest parameter. + + + diff --git a/doc/help/xslt/params/generate.meta.abstract.xml b/doc/help/xslt/params/generate.meta.abstract.xml new file mode 100644 index 00000000..d3ca138d --- /dev/null +++ b/doc/help/xslt/params/generate.meta.abstract.xml @@ -0,0 +1,29 @@ + + +generate.meta.abstract +boolean + + +generate.meta.abstract +Generate HTML META element from abstract? + + + + + + + + +Description + +If non-zero, document abstracts will be reproduced in the HTML +head, with >meta name="description" content="..." + + + + diff --git a/doc/help/xslt/params/generate.revhistory.link.xml b/doc/help/xslt/params/generate.revhistory.link.xml new file mode 100644 index 00000000..bd70cd91 --- /dev/null +++ b/doc/help/xslt/params/generate.revhistory.link.xml @@ -0,0 +1,50 @@ + + +generate.revhistory.link +boolean + + +generate.revhistory.link +Write revhistory to separate chunk and generate link? + + + + + + +Description + +If non-zero, the contents of revhistory are written +to a separate HTML file and a link to the file is +generated. Otherwise, revhistory contents are rendered on +the title page. + +The name of the separate HTML file is computed as follows: + + + + If a filename is given by the dbhtml filename processing instruction, +that filename is used. + + + If the revhistory has an id/xml:id +attribute, and if use.id.as.filename != 0, the filename is the concatenation of +the id value and the value of the html.ext parameter. + + + If the revhistory does not have an id/xml:id +attribute, or if use.id.as.filename = 0, the filename is the concatenation of "rh-", +auto-generated id value, and html.ext value. + + + + + + + + diff --git a/doc/help/xslt/params/generate.section.toc.level.xml b/doc/help/xslt/params/generate.section.toc.level.xml new file mode 100644 index 00000000..227735a1 --- /dev/null +++ b/doc/help/xslt/params/generate.section.toc.level.xml @@ -0,0 +1,35 @@ + + +generate.section.toc.level +integer + + +generate.section.toc.level +Control depth of TOC generation in sections + + + + + + + + +Description + +The generate.section.toc.level parameter +controls the depth of section in which TOCs will be generated. Note +that this is related to, but not the same as +toc.section.depth, which controls the depth to +which TOC entries will be generated in a given TOC. +If, for example, generate.section.toc.level +is 3, TOCs will be generated in first, second, and third +level sections, but not in fourth level sections. + + + + diff --git a/doc/help/xslt/params/generate.toc.xml b/doc/help/xslt/params/generate.toc.xml new file mode 100644 index 00000000..d23c45e6 --- /dev/null +++ b/doc/help/xslt/params/generate.toc.xml @@ -0,0 +1,108 @@ + + +generate.toc +table + + +generate.toc +Control generation of ToCs and LoTs + + + + + +appendix toc,title +article/appendix nop +article toc,title +book toc,title,figure,table,example,equation +chapter toc,title +part toc,title +preface toc,title +qandadiv toc +qandaset toc +reference toc,title +sect1 toc +sect2 toc +sect3 toc +sect4 toc +sect5 toc +section toc +set toc,title + + +/appendix toc,title +article/appendix nop +/article toc,title +book toc,title,figure,table,example,equation +/chapter toc,title +part toc,title +/preface toc,title +reference toc,title +/sect1 toc +/sect2 toc +/sect3 toc +/sect4 toc +/sect5 toc +/section toc +set toc,title + + + + +Description + +This parameter has a structured value. It is a table of space-delimited +path/value pairs. Each path identifies some element in the source document +using a restricted subset of XPath (only the implicit child axis, no wildcards, +no predicates). Paths can be either relative or absolute. + +When processing a particular element, the stylesheets consult this table to +determine if a ToC (or LoT(s)) should be generated. + +For example, consider the entry: + +book toc,figure + +This indicates that whenever a book is formatted, a +Table Of Contents and a List of Figures should be generated. Similarly, + +/chapter toc + +indicates that whenever a document that has a root +of chapter is formatted, a Table of +Contents should be generated. The entry chapter would match +all chapters, but /chapter matches only chapter +document elements. + +Generally, the longest match wins. So, for example, if you want to distinguish +articles in books from articles in parts, you could use these two entries: + +book/article toc,figure +part/article toc + +Note that an article in a part can never match a book/article, +so if you want nothing to be generated for articles in parts, you can simply leave +that rule out. + +If you want to leave the rule in, to make it explicit that you're turning +something off, use the value nop. For example, the following +entry disables ToCs and LoTs for articles: + +article nop + +Do not simply leave the word article in the file +without a matching value. That'd be just begging the silly little +path/value parser to get confused. + +Section ToCs are further controlled by the +generate.section.toc.level parameter. +For a given section level to have a ToC, it must have both an entry in +generate.toc and be within the range enabled by +generate.section.toc.level. + + diff --git a/doc/help/xslt/params/glossary.as.blocks.xml b/doc/help/xslt/params/glossary.as.blocks.xml new file mode 100644 index 00000000..e18ed19a --- /dev/null +++ b/doc/help/xslt/params/glossary.as.blocks.xml @@ -0,0 +1,38 @@ + + +glossary.as.blocks +boolean + + +glossary.as.blocks +Present glossarys using blocks instead of lists? + + + + + + + + +Description + +If non-zero, glossarys will be formatted as +blocks. + +If you have long glossterms, proper list +markup in the FO case may produce unattractive lists. By setting this +parameter, you can force the stylesheets to produce block markup +instead of proper lists. + +You can override this setting with a processing instruction as the +child of glossary: dbfo +glossary-presentation="blocks" or dbfo +glossary-presentation="list" + + + diff --git a/doc/help/xslt/params/glossary.collection.xml b/doc/help/xslt/params/glossary.collection.xml new file mode 100644 index 00000000..6f9828bd --- /dev/null +++ b/doc/help/xslt/params/glossary.collection.xml @@ -0,0 +1,252 @@ + + +glossary.collection +string + + +glossary.collection +Name of the glossary collection file + + + + + + + + +Description + +Glossaries maintained independently across a set of documents +are likely to become inconsistent unless considerable effort is +expended to keep them in sync. It makes much more sense, usually, to +store all of the glossary entries in a single place and simply +extract the ones you need in each document. + +That's the purpose of the +glossary.collection parameter. To setup a global +glossary database, follow these steps: + +Setting Up the Glossary Database + +First, create a stand-alone glossary document that contains all of +the entries that you wish to reference. Make sure that each glossary +entry has an ID. + +Here's an example glossary: + + + +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE glossary + PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" + "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"> +<glossary> +<glossaryinfo> +<editor><firstname>Eric</firstname><surname>Raymond</surname></editor> +<title>Jargon File 4.2.3 (abridged)</title> +<releaseinfo>Just some test data</releaseinfo> +</glossaryinfo> + +<glossdiv><title>0</title> + +<glossentry> +<glossterm>0</glossterm> +<glossdef> +<para>Numeric zero, as opposed to the letter `O' (the 15th letter of +the English alphabet). In their unmodified forms they look a lot +alike, and various kluges invented to make them visually distinct have +compounded the confusion. If your zero is center-dotted and letter-O +is not, or if letter-O looks almost rectangular but zero looks more +like an American football stood on end (or the reverse), you're +probably looking at a modern character display (though the dotted zero +seems to have originated as an option on IBM 3270 controllers). If +your zero is slashed but letter-O is not, you're probably looking at +an old-style ASCII graphic set descended from the default typewheel on +the venerable ASR-33 Teletype (Scandinavians, for whom /O is a letter, +curse this arrangement). (Interestingly, the slashed zero long +predates computers; Florian Cajori's monumental "A History of +Mathematical Notations" notes that it was used in the twelfth and +thirteenth centuries.) If letter-O has a slash across it and the zero +does not, your display is tuned for a very old convention used at IBM +and a few other early mainframe makers (Scandinavians curse <emphasis>this</emphasis> +arrangement even more, because it means two of their letters collide). +Some Burroughs/Unisys equipment displays a zero with a <emphasis>reversed</emphasis> +slash. Old CDC computers rendered letter O as an unbroken oval and 0 +as an oval broken at upper right and lower left. And yet another +convention common on early line printers left zero unornamented but +added a tail or hook to the letter-O so that it resembled an inverted +Q or cursive capital letter-O (this was endorsed by a draft ANSI +standard for how to draw ASCII characters, but the final standard +changed the distinguisher to a tick-mark in the upper-left corner). +Are we sufficiently confused yet?</para> +</glossdef> +</glossentry> + +<glossentry> +<glossterm>1TBS</glossterm> +<glossdef> +<para role="accidence"> +<phrase role="pronounce"></phrase> +<phrase role="partsofspeach">n</phrase> +</para> +<para>The "One True Brace Style"</para> +<glossseealso>indent style</glossseealso> +</glossdef> +</glossentry> + +<!-- ... --> + +</glossdiv> + +<!-- ... --> + +</glossary> + + + + +Marking Up Glossary Terms + +That takes care of the glossary database, now you have to get the entries +into your document. Unlike bibliography entries, which can be empty, creating +placeholder glossary entries would be very tedious. So instead, +support for glossary.collection relies on implicit linking. + +In your source document, simply use firstterm and +glossterm to identify the terms you wish to have included +in the glossary. The stylesheets assume that you will either set the +baseform attribute correctly, or that the +content of the element exactly matches a term in your glossary. + +If you're using a glossary.collection, don't +make explicit links on the terms in your document. + +So, in your document, you might write things like this: + + +<para>This is dummy text, without any real meaning. +The point is simply to reference glossary terms like <glossterm>0</glossterm> +and the <firstterm baseform="1TBS">One True Brace Style (1TBS)</firstterm>. +The <glossterm>1TBS</glossterm>, as you can probably imagine, is a nearly +religious issue.</para> + + +If you set the firstterm.only.link parameter, +only the terms marked with firstterm will be links. +Otherwise, all the terms will be linked. + + + +Marking Up the Glossary + +The glossary itself has to be identified for the stylesheets. For lack +of a better choice, the role is used. +To identify the glossary as the target for automatic processing, set +the role to auto. The title of this +glossary (and any other information from the glossaryinfo +that's rendered by your stylesheet) will be displayed, but the entries will +come from the database. + + +Unfortunately, the glossary can't be empty, so you must put in +at least one glossentry. The content of this entry +is irrelevant, it will not be rendered: + + +<glossary role="auto"> +<glossentry> +<glossterm>Irrelevant</glossterm> +<glossdef> +<para>If you can see this, the document was processed incorrectly. Use +the <parameter>glossary.collection</parameter> parameter.</para> +</glossdef> +</glossentry> +</glossary> + + +What about glossary divisions? If your glossary database has glossary +divisions and your automatic glossary contains at least +one glossdiv, the automic glossary will have divisions. +If the glossdiv is missing from either location, no divisions +will be rendered. + +Glossary entries (and divisions, if appropriate) in the glossary will +occur in precisely the order they occur in your database. + + + +Formatting the Document + +Finally, when you are ready to format your document, simply set the +glossary.collection parameter (in either a +customization layer or directly through your processor's interface) to +point to your global glossary. + +The stylesheets will format the glossary in your document as if +all of the entries implicilty referenced appeared there literally. + + +Limitations + +Glossary cross-references within the glossary are +not supported. For example, this will not work: + + +<glossentry> +<glossterm>gloss-1</glossterm> +<glossdef><para>A description that references <glossterm>gloss-2</glossterm>.</para> +<glossseealso>gloss-2</glossseealso> +</glossdef> +</glossentry> + + +If you put glossary cross-references in your glossary that way, +you'll get the cryptic error: Warning: +glossary.collection specified, but there are 0 automatic +glossaries. + +Instead, you must do two things: + + + +Markup your glossary using glossseealso: + + +<glossentry> +<glossterm>gloss-1</glossterm> +<glossdef><para>A description that references <glossterm>gloss-2</glossterm>.</para> +<glossseealso>gloss-2</glossseealso> +</glossdef> +</glossentry> + + + + +Make sure there is at least one glossterm reference to +gloss-2 in your document. The +easiest way to do that is probably within a remark in your +automatic glossary: + + +<glossary role="auto"> +<remark>Make sure there's a reference to <glossterm>gloss-2</glossterm>.</remark> +<glossentry> +<glossterm>Irrelevant</glossterm> +<glossdef> +<para>If you can see this, the document was processed incorrectly. Use +the <parameter>glossary.collection</parameter> parameter.</para> +</glossdef> +</glossentry> +</glossary> + + + + + + + diff --git a/doc/help/xslt/params/glossary.sort.xml b/doc/help/xslt/params/glossary.sort.xml new file mode 100644 index 00000000..216130a5 --- /dev/null +++ b/doc/help/xslt/params/glossary.sort.xml @@ -0,0 +1,32 @@ + + +glossary.sort +boolean + + +glossary.sort +Sort glossentry elements? + + + + + + + + +Description + +If non-zero, then the glossentry elements within a +glossary, glossdiv, or glosslist are sorted on the glossterm, using +the current lang setting. If zero (the default), then +glossentry elements are not sorted and are presented +in document order. + + + + diff --git a/doc/help/xslt/params/glossdef.block.properties.xml b/doc/help/xslt/params/glossdef.block.properties.xml new file mode 100644 index 00000000..4fb481fe --- /dev/null +++ b/doc/help/xslt/params/glossdef.block.properties.xml @@ -0,0 +1,32 @@ + + +glossdef.block.properties +attribute set + + +glossdef.block.properties +To add properties to the block of a glossary definition. + + + + + .25in + + + +Description +These properties are added to the block containing a +glossary definition in a glossary when +the glossary.as.blocks parameter +is non-zero. +Use this attribute-set to set the space above and below, +any font properties, +and any indent for the glossary definition. + + + diff --git a/doc/help/xslt/params/glossdef.list.properties.xml b/doc/help/xslt/params/glossdef.list.properties.xml new file mode 100644 index 00000000..ba715780 --- /dev/null +++ b/doc/help/xslt/params/glossdef.list.properties.xml @@ -0,0 +1,30 @@ + + +glossdef.list.properties +attribute set + + +glossdef.list.properties +To add properties to the glossary definition in a list. + + + + + + + + +Description +These properties are added to the block containing a +glossary definition in a glossary when +the glossary.as.blocks parameter +is zero. +Use this attribute-set to set font properties, for example. + + + diff --git a/doc/help/xslt/params/glossentry.list.item.properties.xml b/doc/help/xslt/params/glossentry.list.item.properties.xml new file mode 100644 index 00000000..6830f178 --- /dev/null +++ b/doc/help/xslt/params/glossentry.list.item.properties.xml @@ -0,0 +1,32 @@ + + +glossentry.list.item.properties +attribute set + + +glossentry.list.item.properties +To add properties to each glossentry in a list. + + + + + 1em + 0.8em + 1.2em + + + +Description +These properties are added to the fo:list-item containing a +glossentry in a glossary when the glossary.as.blocks parameter +is zero. +Use this attribute-set to set +spacing between entries, for example. + + + diff --git a/doc/help/xslt/params/glossentry.show.acronym.xml b/doc/help/xslt/params/glossentry.show.acronym.xml new file mode 100644 index 00000000..97364387 --- /dev/null +++ b/doc/help/xslt/params/glossentry.show.acronym.xml @@ -0,0 +1,37 @@ + + +glossentry.show.acronym +list +no +yes +primary + + +glossentry.show.acronym +Display glossentry acronyms? + + + + +no + + + +Description + +A setting of yes means they should be displayed; +no means they shouldn't. If primary is used, +then they are shown as the primary text for the entry. + + +This setting controls both acronym and +abbrev elements in the glossentry. + + + + diff --git a/doc/help/xslt/params/glosslist.as.blocks.xml b/doc/help/xslt/params/glosslist.as.blocks.xml new file mode 100644 index 00000000..d7208371 --- /dev/null +++ b/doc/help/xslt/params/glosslist.as.blocks.xml @@ -0,0 +1,27 @@ + + +glosslist.as.blocks +boolean + + +glosslist.as.blocks +Use blocks for glosslists? + + + + + + + + +Description + +See glossary.as.blocks. + + + diff --git a/doc/help/xslt/params/glossterm.auto.link.xml b/doc/help/xslt/params/glossterm.auto.link.xml new file mode 100644 index 00000000..03d9a30a --- /dev/null +++ b/doc/help/xslt/params/glossterm.auto.link.xml @@ -0,0 +1,33 @@ + + +glossterm.auto.link +boolean + + +glossterm.auto.link +Generate links from glossterm to glossentry automatically? + + + + + + + + +Description + +If non-zero, links from inline glossterms to the corresponding +glossentry elements in a glossary or glosslist +will be automatically generated. This is useful when your glossterms are consistent +and you don't want to add links manually. + +The automatic link generation feature is not used on glossterm elements +that have a linkend attribute. + + + diff --git a/doc/help/xslt/params/glossterm.block.properties.xml b/doc/help/xslt/params/glossterm.block.properties.xml new file mode 100644 index 00000000..84e6a6c2 --- /dev/null +++ b/doc/help/xslt/params/glossterm.block.properties.xml @@ -0,0 +1,35 @@ + + +glossterm.block.properties +attribute set + + +glossterm.block.properties +To add properties to the block of a glossentry's glossterm. + + + + + 1em + 0.8em + 1.2em + always + always + + + +Description +These properties are added to the block containing a +glossary term in a glossary when the glossary.as.blocks parameter +is non-zero. +Use this attribute-set to set the space above and below, +font properties, +and any indent for the glossary term. + + + diff --git a/doc/help/xslt/params/glossterm.list.properties.xml b/doc/help/xslt/params/glossterm.list.properties.xml new file mode 100644 index 00000000..abe0d313 --- /dev/null +++ b/doc/help/xslt/params/glossterm.list.properties.xml @@ -0,0 +1,30 @@ + + +glossterm.list.properties +attribute set + + +glossterm.list.properties +To add properties to the glossterm in a list. + + + + + + + + +Description +These properties are added to the block containing a +glossary term in a glossary when the glossary.as.blocks parameter +is zero. +Use this attribute-set to set +font properties, for example. + + + diff --git a/doc/help/xslt/params/glossterm.separation.xml b/doc/help/xslt/params/glossterm.separation.xml new file mode 100644 index 00000000..d0d2b8de --- /dev/null +++ b/doc/help/xslt/params/glossterm.separation.xml @@ -0,0 +1,31 @@ + + +glossterm.separation +length + + +glossterm.separation +Separation between glossary terms and descriptions in list mode + + + + +0.25in + + + +Description + +Specifies the miminum horizontal +separation between glossary terms and descriptions when +they are presented side-by-side using lists +when the glossary.as.blocks +is zero. + + + diff --git a/doc/help/xslt/params/glossterm.width.xml b/doc/help/xslt/params/glossterm.width.xml new file mode 100644 index 00000000..0cd3b82c --- /dev/null +++ b/doc/help/xslt/params/glossterm.width.xml @@ -0,0 +1,28 @@ + + +glossterm.width +length + + +glossterm.width +Width of glossterm in list presentation mode + + + + +2in + + + +Description + +This parameter specifies the width reserved for glossary terms when +a list presentation is used. + + + diff --git a/doc/help/xslt/params/graphic.default.extension.xml b/doc/help/xslt/params/graphic.default.extension.xml new file mode 100644 index 00000000..93f2983a --- /dev/null +++ b/doc/help/xslt/params/graphic.default.extension.xml @@ -0,0 +1,29 @@ + + +graphic.default.extension +string + + +graphic.default.extension +Default extension for graphic filenames + + + + + + +Description + +If a graphic or mediaobject +includes a reference to a filename that does not include an extension, +and the format attribute is +unspecified, the default extension will be used. + + + + diff --git a/doc/help/xslt/params/graphical.admonition.properties.xml b/doc/help/xslt/params/graphical.admonition.properties.xml new file mode 100644 index 00000000..ca257d76 --- /dev/null +++ b/doc/help/xslt/params/graphical.admonition.properties.xml @@ -0,0 +1,42 @@ + + +graphical.admonition.properties +attribute set + + +graphical.admonition.properties +To add properties to the outer block of a graphical admonition. + + + + + 1em + 0.8em + 1.2em + 1em + 0.8em + 1.2em + + + +Description +These properties are added to the outer block containing the +entire graphical admonition, including its title. +It is used when the parameter +admon.graphics is set to nonzero. +Use this attribute-set to set the space above and below, +and any indent for the whole admonition. + +In addition to these properties, a graphical admonition +also applies the admonition.title.properties +attribute-set to the title, and applies the +admonition.properties attribute-set +to the rest of the content. + + + diff --git a/doc/help/xslt/params/graphics.dir.xml b/doc/help/xslt/params/graphics.dir.xml new file mode 100644 index 00000000..e8d83ae3 --- /dev/null +++ b/doc/help/xslt/params/graphics.dir.xml @@ -0,0 +1,33 @@ + + +graphics.dir +uri + + +graphics.dir +Graphics directory + + + + + + + + +Description + +Identifies the graphics directory for the navigation components +generated on all the slides. This parameter can be set in the source +document with the <?dbhtml?> pseudo-attribute +graphics-dir. + +If non-empty, this value is prepended to each of the graphic +image paths. + + + diff --git a/doc/help/xslt/params/graphicsize.extension.xml b/doc/help/xslt/params/graphicsize.extension.xml new file mode 100644 index 00000000..c4da7e12 --- /dev/null +++ b/doc/help/xslt/params/graphicsize.extension.xml @@ -0,0 +1,30 @@ + + +graphicsize.extension +boolean + + +graphicsize.extension +Enable the getWidth()/getDepth() extension functions + + + + + + + + +Description + +If non-zero (and if use.extensions is non-zero +and if you're using a processor that supports extension functions), the +getWidth and getDepth functions +will be used to extract image sizes from graphics. + + + diff --git a/doc/help/xslt/params/graphicsize.use.img.src.path.xml b/doc/help/xslt/params/graphicsize.use.img.src.path.xml new file mode 100644 index 00000000..aff5b30c --- /dev/null +++ b/doc/help/xslt/params/graphicsize.use.img.src.path.xml @@ -0,0 +1,30 @@ + + +graphicsize.use.img.src.path +boolean + + +graphicsize.use.img.src.path +Prepend img.src.path before +filenames passed to extension functions + + + + + + + + +Description + +If non-zero img.src.path parameter will +be appended before filenames passed to extension functions for +measuring image dimensions. + + + diff --git a/doc/help/xslt/params/header.column.widths.xml b/doc/help/xslt/params/header.column.widths.xml new file mode 100644 index 00000000..7d85b96a --- /dev/null +++ b/doc/help/xslt/params/header.column.widths.xml @@ -0,0 +1,80 @@ + + +header.column.widths +string + + +header.column.widths +Specify relative widths of header areas + + + +1 1 1 + + +Description + +Page headers in print output use a three column table +to position text at the left, center, and right side of +the header on the page. +This parameter lets you specify the relative sizes of the +three columns. The default value is +"1 1 1". + +The parameter value must be three numbers, separated +by white space. The first number represents the relative +width of the inside header for +double-sided output. The second number is the relative +width of the center header. The third number is the +relative width of the outside header for +double-sided output. + +For single-sided output, the first number is the +relative width of left header for left-to-right +text direction, or the right header for right-to-left +text direction. +The third number is the +relative width of right header for left-to-right +text direction, or the left header for right-to-left +text direction. + +The numbers are used to specify the column widths +for the table that makes up the header area. +In the FO output, this looks like: + + + +<fo:table-column column-number="1" + column-width="proportional-column-width(1)"/> + + + +The proportional-column-width() +function computes a column width by dividing its +argument by the total of the arguments for all the columns, and +then multiplying the result by the width of the whole table +(assuming all the column specs use the function). +Its argument can be any positive integer or floating point number. +Zero is an acceptable value, although some FO processors +may warn about it, in which case using a very small number might +be more satisfactory. + + +For example, the value "1 2 1" means the center +header should have twice the width of the other areas. +A value of "0 0 1" means the entire header area +is reserved for the right (or outside) header text. +Note that to keep the center area centered on +the page, the left and right values must be +the same. A specification like "1 2 3" means the +center area is no longer centered on the page +since the right area is three times the width of the left area. + + + + diff --git a/doc/help/xslt/params/header.content.properties.xml b/doc/help/xslt/params/header.content.properties.xml new file mode 100644 index 00000000..2d0291c4 --- /dev/null +++ b/doc/help/xslt/params/header.content.properties.xml @@ -0,0 +1,34 @@ + + +header.content.properties +attribute set + + +header.content.properties +Properties of page header content + + + + + + + + + + + + + + + +Description + +Properties of page header content. + + + diff --git a/doc/help/xslt/params/header.hr.xml b/doc/help/xslt/params/header.hr.xml new file mode 100644 index 00000000..08d846a9 --- /dev/null +++ b/doc/help/xslt/params/header.hr.xml @@ -0,0 +1,26 @@ + + +header.hr +boolean + + +header.hr +Toggle <HR> after header + + + + + + + + +Description +If non-zero, an <HR> is generated at the bottom of each web page, +before the footer. + + diff --git a/doc/help/xslt/params/header.rule.xml b/doc/help/xslt/params/header.rule.xml new file mode 100644 index 00000000..b4c031e8 --- /dev/null +++ b/doc/help/xslt/params/header.rule.xml @@ -0,0 +1,27 @@ + + +header.rule +boolean + + +header.rule +Rule under headers? + + + + + + + + +Description + +If non-zero, a rule will be drawn below the page headers. + + + diff --git a/doc/help/xslt/params/header.table.height.xml b/doc/help/xslt/params/header.table.height.xml new file mode 100644 index 00000000..69b6f08e --- /dev/null +++ b/doc/help/xslt/params/header.table.height.xml @@ -0,0 +1,32 @@ + + +header.table.height +length + + +header.table.height +Specify the minimum height of the table containing the running page headers + + + +14pt + + +Description + +Page headers in print output use a three column table +to position text at the left, center, and right side of +the header on the page. +This parameter lets you specify the minimum height +of the single row in the table. +Since this specifies only the minimum height, +the table should automatically grow to fit taller content. +The default value is "14pt". + + + diff --git a/doc/help/xslt/params/header.table.properties.xml b/doc/help/xslt/params/header.table.properties.xml new file mode 100644 index 00000000..b5f60529 --- /dev/null +++ b/doc/help/xslt/params/header.table.properties.xml @@ -0,0 +1,30 @@ + + +header.table.properties +attribute set + + +header.table.properties +Apply properties to the header layout table + + + + + + fixed + 100% + + + + +Description + +Properties applied to the table that lays out the page header. + + + diff --git a/doc/help/xslt/params/headers.on.blank.pages.xml b/doc/help/xslt/params/headers.on.blank.pages.xml new file mode 100644 index 00000000..1fad48e3 --- /dev/null +++ b/doc/help/xslt/params/headers.on.blank.pages.xml @@ -0,0 +1,27 @@ + + +headers.on.blank.pages +boolean + + +headers.on.blank.pages +Put headers on blank pages? + + + + + + + + +Description + +If non-zero, headers will be placed on blank pages. + + + diff --git a/doc/help/xslt/params/hidetoc.image.xml b/doc/help/xslt/params/hidetoc.image.xml new file mode 100644 index 00000000..705b61f4 --- /dev/null +++ b/doc/help/xslt/params/hidetoc.image.xml @@ -0,0 +1,29 @@ + + +hidetoc.image +filename + + +hidetoc.image +Hide ToC image + + + + +hidetoc.gif + + + +Description + +Specifies the filename of the hide ToC image. This is used +when the ToC hide/show parameter is +enabled. + + + diff --git a/doc/help/xslt/params/highlight.default.language.xml b/doc/help/xslt/params/highlight.default.language.xml new file mode 100644 index 00000000..0f00103f --- /dev/null +++ b/doc/help/xslt/params/highlight.default.language.xml @@ -0,0 +1,27 @@ + + +highlight.default.language +string + + +highlight.default.language +Default language of programlisting + + + + + + + + +Description + +This language is used when there is no language attribute on programlisting. + + + diff --git a/doc/help/xslt/params/highlight.source.xml b/doc/help/xslt/params/highlight.source.xml new file mode 100644 index 00000000..41d7b2f8 --- /dev/null +++ b/doc/help/xslt/params/highlight.source.xml @@ -0,0 +1,82 @@ + + +highlight.source +boolean + + +highlight.source +Should the content of programlisting +be syntactically highlighted? + + + + + + + + +Description + +When this parameter is non-zero, the stylesheets will try to do syntax highlighting of the +content of programlisting elements. You specify the language for each programlisting +by using the language attribute. The highlight.default.language +parameter can be used to specify the language for programlistings without a language +attribute. Syntax highlighting also works for screen and synopsis elements. + +The actual highlighting work is done by the XSLTHL extension module. This is an external Java library that has to be +downloaded separately (see below). + + +In order to use this extension, you must + +add xslthl-2.x.x.jar to your Java classpath. The latest version is available +from the XSLT syntax highlighting project +at SourceForge. + + +use a customization layer in which you import one of the following stylesheet modules: + + + html/highlight.xsl + + + + xhtml/highlight.xsl + + + + xhtml-1_1/highlight.xsl + + + + fo/highlight.xsl + + + + + +let either the xslthl.config Java system property or the +highlight.xslthl.config parameter point to the configuration file for syntax +highlighting (using URL syntax). DocBook XSL comes with a ready-to-use configuration file, +highlighting/xslthl-config.xml. + + + +The extension works with Saxon 6.5.x and Xalan-J. (Saxon 8.5 or later is also supported, but since it is +an XSLT 2.0 processor it is not guaranteed to work with DocBook XSL in all circumstances.) + +The following is an example of a Saxon 6 command adapted for syntax highlighting, to be used on Windows: + + +java -cp c:/Java/saxon.jar;c:/Java/xslthl-2.0.1.jar +-Dxslthl.config=file:///c:/docbook-xsl/highlighting/xslthl-config.xml com.icl.saxon.StyleSheet +-o test.html test.xml myhtml.xsl + + + + diff --git a/doc/help/xslt/params/highlight.xslthl.config.xml b/doc/help/xslt/params/highlight.xslthl.config.xml new file mode 100644 index 00000000..451937ce --- /dev/null +++ b/doc/help/xslt/params/highlight.xslthl.config.xml @@ -0,0 +1,33 @@ + + +highlight.xslthl.config +uri + + +highlight.xslthl.config +Location of XSLTHL configuration file + + + + + + + + +Description + +This location has precedence over the corresponding Java property. + +Please note that usually you have to specify location as URL not +just as a simple path on the local +filesystem. E.g. file:///home/user/xslthl/my-xslthl-config.xml. + + + + + diff --git a/doc/help/xslt/params/home.image.xml b/doc/help/xslt/params/home.image.xml new file mode 100644 index 00000000..22e54550 --- /dev/null +++ b/doc/help/xslt/params/home.image.xml @@ -0,0 +1,27 @@ + + +home.image +filename + + +home.image +Home image + + + + +active/nav-home.png + + + +Description + +Specifies the filename of the home navigation icon. + + + diff --git a/doc/help/xslt/params/html.append.xml b/doc/help/xslt/params/html.append.xml new file mode 100644 index 00000000..461e61b8 --- /dev/null +++ b/doc/help/xslt/params/html.append.xml @@ -0,0 +1,30 @@ + + +html.append +string + + +html.append +Specifies content to append to HTML output + + + + + + +Description + +Specifies content to append to the end of HTML files output by +the html/docbook.xsl stylesheet, after the +closing <html> tag. You probably don’t want to set any +value for this parameter; but if you do, the only value it should ever +be set to is a newline character: &#x0a; or +&#10; + + + diff --git a/doc/help/xslt/params/html.base.xml b/doc/help/xslt/params/html.base.xml new file mode 100644 index 00000000..74e7fd9a --- /dev/null +++ b/doc/help/xslt/params/html.base.xml @@ -0,0 +1,30 @@ + + +html.base +uri + + +html.base +An HTML base URI + + + + + + + +Description + +If html.base is set, it is used for the base element +in the head of the html documents. The parameter specifies +the base URL for all relative URLs in the document. This is useful +for dynamically served html where the base URI needs to be +shifted. + + + diff --git a/doc/help/xslt/params/html.cellpadding.xml b/doc/help/xslt/params/html.cellpadding.xml new file mode 100644 index 00000000..7240f0f4 --- /dev/null +++ b/doc/help/xslt/params/html.cellpadding.xml @@ -0,0 +1,29 @@ + + +html.cellpadding +integer + + +html.cellpadding +Default value for cellpadding in HTML tables + + + + + + + + +Description + +If non-zero, this value will be used as the default cellpadding value +in HTML tables. nn for pixels or nn% for percentage length. E.g. 5 or +5% + + + diff --git a/doc/help/xslt/params/html.cellspacing.xml b/doc/help/xslt/params/html.cellspacing.xml new file mode 100644 index 00000000..5ddfdacd --- /dev/null +++ b/doc/help/xslt/params/html.cellspacing.xml @@ -0,0 +1,29 @@ + + +html.cellspacing +integer + + +html.cellspacing +Default value for cellspacing in HTML tables + + + + + + + + +Description + +If non-zero, this value will be used as the default cellspacing +value in HTML tables. nn for pixels or nn% for percentage +length. E.g. 5 or 5% + + + diff --git a/doc/help/xslt/params/html.cleanup.xml b/doc/help/xslt/params/html.cleanup.xml new file mode 100644 index 00000000..e4fc0c8d --- /dev/null +++ b/doc/help/xslt/params/html.cleanup.xml @@ -0,0 +1,34 @@ + + +html.cleanup +boolean + + +html.cleanup +Attempt to clean up the resulting HTML? + + + + + + + + +Description + +If non-zero, and if the EXSLT +extensions are supported by your processor, the resulting HTML will be +cleaned up. This improves the chances that the +resulting HTML will be valid. It may also improve the formatting of +some elements. + +This parameter is different from make.valid.html +because it uses extension functions to manipulate result-tree-fragments. + + + diff --git a/doc/help/xslt/params/html.ext.xml b/doc/help/xslt/params/html.ext.xml new file mode 100644 index 00000000..8d6fd955 --- /dev/null +++ b/doc/help/xslt/params/html.ext.xml @@ -0,0 +1,29 @@ + + +html.ext +string + + +html.ext +Identifies the extension of generated HTML files + + + + +.html + + + +Description + +The extension identified by html.ext will +be used as the filename extension for chunks created by this +stylesheet. + + + diff --git a/doc/help/xslt/params/html.extra.head.links.xml b/doc/help/xslt/params/html.extra.head.links.xml new file mode 100644 index 00000000..ddc666fc --- /dev/null +++ b/doc/help/xslt/params/html.extra.head.links.xml @@ -0,0 +1,31 @@ + + +html.extra.head.links +boolean + + +html.extra.head.links +Toggle extra HTML head link information + + + + + + + + +Description + +If non-zero, extra link elements will be +generated in the head of chunked HTML files. These +extra links point to chapters, appendixes, sections, etc. as supported +by the Site Navigation Bar in Mozilla 1.0 (as of CR1, at least). + + + + diff --git a/doc/help/xslt/params/html.head.legalnotice.link.multiple.xml b/doc/help/xslt/params/html.head.legalnotice.link.multiple.xml new file mode 100644 index 00000000..7c0cba18 --- /dev/null +++ b/doc/help/xslt/params/html.head.legalnotice.link.multiple.xml @@ -0,0 +1,44 @@ + + +html.head.legalnotice.link.multiple +boolean + + +html.head.legalnotice.link.multiple +Generate multiple link instances in html head for legalnotice? + + + + + + + + +Description + +If html.head.legalnotice.link.multiple is +non-zero and the value of +html.head.legalnotice.link.types contains +multiple link types, then the stylesheet generates (in the +head section of the HTML source) one +link element for each link type specified. For +example, if the value of +html.head.legalnotice.link.types is +“copyright license”: + + <link rel="copyright" href="ln-id2524073.html" title="Legal Notice"> + <link rel="license" href="ln-id2524073.html" title="Legal Notice"> + + Otherwise, the stylesheet generates generates a single + link instance; for example: + + <link rel="copyright license" href="ln-id2524073.html" title="Legal Notice"> + + + + diff --git a/doc/help/xslt/params/html.head.legalnotice.link.types.xml b/doc/help/xslt/params/html.head.legalnotice.link.types.xml new file mode 100644 index 00000000..4ca02ffd --- /dev/null +++ b/doc/help/xslt/params/html.head.legalnotice.link.types.xml @@ -0,0 +1,75 @@ + + +html.head.legalnotice.link.types +string + + +html.head.legalnotice.link.types +Specifies link types for legalnotice link in html head + + + + +copyright + + + +Description + +The value of +html.head.legalnotice.link.types is a +space-separated list of link types, as described in Section 6.12 +of the HTML 4.01 specification. If the value of the +generate.legalnotice.link parameter is +non-zero, then the stylesheet generates (in the +head section of the HTML source) either a single +HTML link element or, if the value of the +html.head.legalnotice.link.multiple is +non-zero, one link element for each link type +specified. Each link has the following attributes: + + + + a rel attribute whose + value is derived from the value of + html.head.legalnotice.link.types + + + an href attribute whose + value is set to the URL of the file containing the + legalnotice + + + a title attribute whose + value is set to the title of the corresponding + legalnotice (or a title programatically + determined by the stylesheet) + + + +For example: + + <link rel="license" href="ln-id2524073.html" title="Legal Notice"> + + +About the default value + + In an ideal world, the default value of + html.head.legalnotice.link.types would + probably be “license”, since the content of the + DocBook legalnotice is typically license + information, not copyright information. However, the default value + is “copyright” for pragmatic reasons: because + that’s among the set of “recognized link types” listed in Section + 6.12 of the HTML 4.01 specification, and because certain + browsers and browser extensions are preconfigured to recognize that + value. + + + + diff --git a/doc/help/xslt/params/html.longdesc.link.xml b/doc/help/xslt/params/html.longdesc.link.xml new file mode 100644 index 00000000..24975630 --- /dev/null +++ b/doc/help/xslt/params/html.longdesc.link.xml @@ -0,0 +1,39 @@ + + +html.longdesc.link +boolean + + +html.longdesc.link +Should a link to the longdesc be included in the HTML? + + + + + + + + +Description + +If non-zero, links will be created to the +HTML files created for the +longdesc attribute. It makes no +sense to enable this option without also enabling the +html.longdesc parameter. + + + + + diff --git a/doc/help/xslt/params/html.longdesc.xml b/doc/help/xslt/params/html.longdesc.xml new file mode 100644 index 00000000..10f341a2 --- /dev/null +++ b/doc/help/xslt/params/html.longdesc.xml @@ -0,0 +1,28 @@ + + +html.longdesc +boolean + + +html.longdesc +Should longdesc URIs be created? + + + + + + +Description +If non-zero, HTML files will be created for the +longdesc attribute. These files +are created from the textobjects in +mediaobjects and +inlinemediaobject. + + + diff --git a/doc/help/xslt/params/html.stylesheet.type.xml b/doc/help/xslt/params/html.stylesheet.type.xml new file mode 100644 index 00000000..f20b7065 --- /dev/null +++ b/doc/help/xslt/params/html.stylesheet.type.xml @@ -0,0 +1,26 @@ + + +html.stylesheet.type +string + + +html.stylesheet.type +The type of the stylesheet used in the generated HTML + + + +text/css + + +Description + +The type of the stylesheet to place in the HTML link tag. + + + + diff --git a/doc/help/xslt/params/html.stylesheet.xml b/doc/help/xslt/params/html.stylesheet.xml new file mode 100644 index 00000000..34070947 --- /dev/null +++ b/doc/help/xslt/params/html.stylesheet.xml @@ -0,0 +1,36 @@ + + +html.stylesheet +string + + +html.stylesheet +Name of the stylesheet(s) to use in the generated HTML + + + + + + + + +Description + +The html.stylesheet parameter is either +empty, indicating that no stylesheet link tag should be +generated in the html output, or it is a list of one or more +stylesheet files. + +Multiple stylesheets are space-delimited. If you need to +reference a stylesheet URI that includes a space, encode it with +%20. A separate html link element will +be generated for each stylesheet in the order they are listed in the +parameter. + + + diff --git a/doc/help/xslt/params/htmlhelp.alias.file.xml b/doc/help/xslt/params/htmlhelp.alias.file.xml new file mode 100644 index 00000000..be11b28f --- /dev/null +++ b/doc/help/xslt/params/htmlhelp.alias.file.xml @@ -0,0 +1,27 @@ + + +htmlhelp.alias.file +string + + +htmlhelp.alias.file +Filename of alias file. + + + + +alias.h + + + +Description + +Specifies the filename of the alias file (used for context-sensitive help). + + + diff --git a/doc/help/xslt/params/htmlhelp.autolabel.xml b/doc/help/xslt/params/htmlhelp.autolabel.xml new file mode 100644 index 00000000..1426d008 --- /dev/null +++ b/doc/help/xslt/params/htmlhelp.autolabel.xml @@ -0,0 +1,28 @@ + + +htmlhelp.autolabel +boolean + + +htmlhelp.autolabel +Should tree-like ToC use autonumbering feature? + + + + + + + + +Description + +Set this to non-zero to include chapter and section numbers into ToC +in the left panel. + + + diff --git a/doc/help/xslt/params/htmlhelp.button.back.xml b/doc/help/xslt/params/htmlhelp.button.back.xml new file mode 100644 index 00000000..1fc12bba --- /dev/null +++ b/doc/help/xslt/params/htmlhelp.button.back.xml @@ -0,0 +1,27 @@ + + +htmlhelp.button.back +boolean + + +htmlhelp.button.back +Should the Back button be shown? + + + + + + + + +Description + +Set to non-zero to include the Hide/Show button shown on toolbar + + + diff --git a/doc/help/xslt/params/htmlhelp.button.forward.xml b/doc/help/xslt/params/htmlhelp.button.forward.xml new file mode 100644 index 00000000..f6411bbf --- /dev/null +++ b/doc/help/xslt/params/htmlhelp.button.forward.xml @@ -0,0 +1,27 @@ + + +htmlhelp.button.forward +boolean + + +htmlhelp.button.forward +Should the Forward button be shown? + + + + + + + + +Description + +Set to non-zero to include the Forward button on the toolbar. + + + diff --git a/doc/help/xslt/params/htmlhelp.button.hideshow.xml b/doc/help/xslt/params/htmlhelp.button.hideshow.xml new file mode 100644 index 00000000..04f1ff0c --- /dev/null +++ b/doc/help/xslt/params/htmlhelp.button.hideshow.xml @@ -0,0 +1,27 @@ + + +htmlhelp.button.hideshow +boolean + + +htmlhelp.button.hideshow +Should the Hide/Show button be shown? + + + + + + + + +Description + +Set to non-zero to include the Hide/Show button shown on toolbar + + + diff --git a/doc/help/xslt/params/htmlhelp.button.home.url.xml b/doc/help/xslt/params/htmlhelp.button.home.url.xml new file mode 100644 index 00000000..30275071 --- /dev/null +++ b/doc/help/xslt/params/htmlhelp.button.home.url.xml @@ -0,0 +1,27 @@ + + +htmlhelp.button.home.url +string + + +htmlhelp.button.home.url +URL address of page accessible by Home button + + + + + + + + +Description + +URL address of page accessible by Home button. + + + diff --git a/doc/help/xslt/params/htmlhelp.button.home.xml b/doc/help/xslt/params/htmlhelp.button.home.xml new file mode 100644 index 00000000..e4e97fe2 --- /dev/null +++ b/doc/help/xslt/params/htmlhelp.button.home.xml @@ -0,0 +1,27 @@ + + +htmlhelp.button.home +boolean + + +htmlhelp.button.home +Should the Home button be shown? + + + + + + + + +Description + +Set to non-zero to include the Home button on the toolbar. + + + diff --git a/doc/help/xslt/params/htmlhelp.button.jump1.title.xml b/doc/help/xslt/params/htmlhelp.button.jump1.title.xml new file mode 100644 index 00000000..aa9da599 --- /dev/null +++ b/doc/help/xslt/params/htmlhelp.button.jump1.title.xml @@ -0,0 +1,27 @@ + + +htmlhelp.button.jump1.title +string + + +htmlhelp.button.jump1.title +Title of Jump1 button + + + + +User1 + + + +Description + +Title of Jump1 button. + + + diff --git a/doc/help/xslt/params/htmlhelp.button.jump1.url.xml b/doc/help/xslt/params/htmlhelp.button.jump1.url.xml new file mode 100644 index 00000000..22248c4c --- /dev/null +++ b/doc/help/xslt/params/htmlhelp.button.jump1.url.xml @@ -0,0 +1,27 @@ + + +htmlhelp.button.jump1.url +string + + +htmlhelp.button.jump1.url +URL address of page accessible by Jump1 button + + + + + + + + +Description + +URL address of page accessible by Jump1 button. + + + diff --git a/doc/help/xslt/params/htmlhelp.button.jump1.xml b/doc/help/xslt/params/htmlhelp.button.jump1.xml new file mode 100644 index 00000000..f6f8d9ce --- /dev/null +++ b/doc/help/xslt/params/htmlhelp.button.jump1.xml @@ -0,0 +1,23 @@ + + +htmlhelp.button.jump1 +boolean + + +htmlhelp.button.jump1 +Should the Jump1 button be shown? + + + + + + +Description + Set to non-zero to include the Jump1 button on the toolbar. + + diff --git a/doc/help/xslt/params/htmlhelp.button.jump2.title.xml b/doc/help/xslt/params/htmlhelp.button.jump2.title.xml new file mode 100644 index 00000000..3b5f124f --- /dev/null +++ b/doc/help/xslt/params/htmlhelp.button.jump2.title.xml @@ -0,0 +1,27 @@ + + +htmlhelp.button.jump2.title +string + + +htmlhelp.button.jump2.title +Title of Jump2 button + + + + +User2 + + + +Description + +Title of Jump2 button. + + + diff --git a/doc/help/xslt/params/htmlhelp.button.jump2.url.xml b/doc/help/xslt/params/htmlhelp.button.jump2.url.xml new file mode 100644 index 00000000..dcd24341 --- /dev/null +++ b/doc/help/xslt/params/htmlhelp.button.jump2.url.xml @@ -0,0 +1,27 @@ + + +htmlhelp.button.jump2.url +string + + +htmlhelp.button.jump2.url +URL address of page accessible by Jump2 button + + + + + + + + +Description + +URL address of page accessible by Jump2 button. + + + diff --git a/doc/help/xslt/params/htmlhelp.button.jump2.xml b/doc/help/xslt/params/htmlhelp.button.jump2.xml new file mode 100644 index 00000000..916b1ee1 --- /dev/null +++ b/doc/help/xslt/params/htmlhelp.button.jump2.xml @@ -0,0 +1,27 @@ + + +htmlhelp.button.jump2 +boolean + + +htmlhelp.button.jump2 +Should the Jump2 button be shown? + + + + + + + + +Description + +Set to non-zero to include the Jump2 button on the toolbar. + + + diff --git a/doc/help/xslt/params/htmlhelp.button.locate.xml b/doc/help/xslt/params/htmlhelp.button.locate.xml new file mode 100644 index 00000000..5b555525 --- /dev/null +++ b/doc/help/xslt/params/htmlhelp.button.locate.xml @@ -0,0 +1,28 @@ + + +htmlhelp.button.locate +boolean + + +htmlhelp.button.locate +Should the Locate button be shown? + + + + + + + + +Description + +If you want Locate button shown on toolbar, turn this +parameter to 1. + + + diff --git a/doc/help/xslt/params/htmlhelp.button.next.xml b/doc/help/xslt/params/htmlhelp.button.next.xml new file mode 100644 index 00000000..b5352b2c --- /dev/null +++ b/doc/help/xslt/params/htmlhelp.button.next.xml @@ -0,0 +1,27 @@ + + +htmlhelp.button.next +boolean + + +htmlhelp.button.next +Should the Next button be shown? + + + + + + + + +Description + +Set to non-zero to include the Next button on the toolbar. + + + diff --git a/doc/help/xslt/params/htmlhelp.button.options.xml b/doc/help/xslt/params/htmlhelp.button.options.xml new file mode 100644 index 00000000..21bed81a --- /dev/null +++ b/doc/help/xslt/params/htmlhelp.button.options.xml @@ -0,0 +1,28 @@ + + +htmlhelp.button.options +boolean + + +htmlhelp.button.options +Should the Options button be shown? + + + + + + + + +Description + +If you want Options button shown on toolbar, turn this +parameter to 1. + + + diff --git a/doc/help/xslt/params/htmlhelp.button.prev.xml b/doc/help/xslt/params/htmlhelp.button.prev.xml new file mode 100644 index 00000000..a6d989b4 --- /dev/null +++ b/doc/help/xslt/params/htmlhelp.button.prev.xml @@ -0,0 +1,28 @@ + + +htmlhelp.button.prev +boolean + + +htmlhelp.button.prev +Should the Prev button be shown? + + + + + + + + +Description + +Set to non-zero to include the Prev button on the toolbar. + + + + diff --git a/doc/help/xslt/params/htmlhelp.button.print.xml b/doc/help/xslt/params/htmlhelp.button.print.xml new file mode 100644 index 00000000..1c0e8164 --- /dev/null +++ b/doc/help/xslt/params/htmlhelp.button.print.xml @@ -0,0 +1,28 @@ + + +htmlhelp.button.print +boolean + + +htmlhelp.button.print +Should the Print button be shown? + + + + + + + + +Description + +Set to non-zero to include the Print button on the toolbar. + + + + diff --git a/doc/help/xslt/params/htmlhelp.button.refresh.xml b/doc/help/xslt/params/htmlhelp.button.refresh.xml new file mode 100644 index 00000000..294fcbe3 --- /dev/null +++ b/doc/help/xslt/params/htmlhelp.button.refresh.xml @@ -0,0 +1,27 @@ + + +htmlhelp.button.refresh +boolean + + +htmlhelp.button.refresh +Should the Refresh button be shown? + + + + + + + + +Description + +Set to non-zero to include the Stop button on the toolbar. + + + diff --git a/doc/help/xslt/params/htmlhelp.button.stop.xml b/doc/help/xslt/params/htmlhelp.button.stop.xml new file mode 100644 index 00000000..fdbe5492 --- /dev/null +++ b/doc/help/xslt/params/htmlhelp.button.stop.xml @@ -0,0 +1,28 @@ + + +htmlhelp.button.stop +boolean + + +htmlhelp.button.stop +Should the Stop button be shown? + + + + + + + + +Description + +If you want Stop button shown on toolbar, turn this +parameter to 1. + + + diff --git a/doc/help/xslt/params/htmlhelp.button.zoom.xml b/doc/help/xslt/params/htmlhelp.button.zoom.xml new file mode 100644 index 00000000..a25dc403 --- /dev/null +++ b/doc/help/xslt/params/htmlhelp.button.zoom.xml @@ -0,0 +1,28 @@ + + +htmlhelp.button.zoom +boolean + + +htmlhelp.button.zoom +Should the Zoom button be shown? + + + + + + + + +Description + +Set to non-zero to include the Zoom button on the toolbar. + + + + diff --git a/doc/help/xslt/params/htmlhelp.chm.xml b/doc/help/xslt/params/htmlhelp.chm.xml new file mode 100644 index 00000000..51cba301 --- /dev/null +++ b/doc/help/xslt/params/htmlhelp.chm.xml @@ -0,0 +1,27 @@ + + +htmlhelp.chm +string + + +htmlhelp.chm +Filename of output HTML Help file. + + + + +htmlhelp.chm + + + +Description + +Set the name of resulting CHM file + + + diff --git a/doc/help/xslt/params/htmlhelp.default.topic.xml b/doc/help/xslt/params/htmlhelp.default.topic.xml new file mode 100644 index 00000000..577f4409 --- /dev/null +++ b/doc/help/xslt/params/htmlhelp.default.topic.xml @@ -0,0 +1,37 @@ + + +htmlhelp.default.topic +string + + +htmlhelp.default.topic +Name of file with default topic + + + + + + + + +Description + +Normally first chunk of document is displayed when you open HTML +Help file. If you want to display another topic, simply set its +filename by this parameter. + +This is useful especially if you don't generate ToC in front of +your document and you also hide root element in ToC. E.g.: + +<xsl:param name="generate.book.toc" select="0"/> +<xsl:param name="htmlhelp.hhc.show.root" select="0"/> +<xsl:param name="htmlhelp.default.topic">pr01.html</xsl:param> + + + + diff --git a/doc/help/xslt/params/htmlhelp.display.progress.xml b/doc/help/xslt/params/htmlhelp.display.progress.xml new file mode 100644 index 00000000..eab1c966 --- /dev/null +++ b/doc/help/xslt/params/htmlhelp.display.progress.xml @@ -0,0 +1,28 @@ + + +htmlhelp.display.progress +boolean + + +htmlhelp.display.progress +Display compile progress? + + + + + + + + +Description + +Set to non-zero to to display compile progress + + + + diff --git a/doc/help/xslt/params/htmlhelp.encoding.xml b/doc/help/xslt/params/htmlhelp.encoding.xml new file mode 100644 index 00000000..579cf7fc --- /dev/null +++ b/doc/help/xslt/params/htmlhelp.encoding.xml @@ -0,0 +1,28 @@ + + +htmlhelp.encoding +string + + +htmlhelp.encoding +Character encoding to use in files for HTML Help compiler. + + + + +iso-8859-1 + + + +Description + +HTML Help Compiler is not UTF-8 aware, so you should always use an +appropriate single-byte encoding here. Use one from iana, the registered charset values. + + + diff --git a/doc/help/xslt/params/htmlhelp.enhanced.decompilation.xml b/doc/help/xslt/params/htmlhelp.enhanced.decompilation.xml new file mode 100644 index 00000000..558e89b0 --- /dev/null +++ b/doc/help/xslt/params/htmlhelp.enhanced.decompilation.xml @@ -0,0 +1,27 @@ + + +htmlhelp.enhanced.decompilation +boolean + + +htmlhelp.enhanced.decompilation +Allow enhanced decompilation of CHM? + + + + + + + + +Description + +When non-zero this parameter enables enhanced decompilation of CHM. + + + diff --git a/doc/help/xslt/params/htmlhelp.enumerate.images.xml b/doc/help/xslt/params/htmlhelp.enumerate.images.xml new file mode 100644 index 00000000..a2aaac86 --- /dev/null +++ b/doc/help/xslt/params/htmlhelp.enumerate.images.xml @@ -0,0 +1,28 @@ + + +htmlhelp.enumerate.images +boolean + + +htmlhelp.enumerate.images +Should the paths to all used images be added to the project file? + + + + + + + + +Description + +Set to non-zero if you insert images into your documents as +external binary entities or if you are using absolute image paths. + + + diff --git a/doc/help/xslt/params/htmlhelp.force.map.and.alias.xml b/doc/help/xslt/params/htmlhelp.force.map.and.alias.xml new file mode 100644 index 00000000..7dca30b6 --- /dev/null +++ b/doc/help/xslt/params/htmlhelp.force.map.and.alias.xml @@ -0,0 +1,26 @@ + + +htmlhelp.force.map.and.alias +boolean + + +htmlhelp.force.map.and.alias +Should [MAP] and [ALIAS] sections be added to the project file unconditionally? + + + + + + +Description + Set to non-zero if you have your own + alias.h and context.h + files and you want to include references to them in the project + file. + + diff --git a/doc/help/xslt/params/htmlhelp.hhc.binary.xml b/doc/help/xslt/params/htmlhelp.hhc.binary.xml new file mode 100644 index 00000000..ea978f7e --- /dev/null +++ b/doc/help/xslt/params/htmlhelp.hhc.binary.xml @@ -0,0 +1,29 @@ + + +htmlhelp.hhc.binary +boolean + + +htmlhelp.hhc.binary +Generate binary ToC? + + + + + + + + +Description + +Set to non-zero to generate a binary TOC. You must create a binary TOC +if you want to add Prev/Next buttons to toolbar (which is default +behaviour). Files with binary TOC can't be merged. + + + diff --git a/doc/help/xslt/params/htmlhelp.hhc.folders.instead.books.xml b/doc/help/xslt/params/htmlhelp.hhc.folders.instead.books.xml new file mode 100644 index 00000000..ca36e5ad --- /dev/null +++ b/doc/help/xslt/params/htmlhelp.hhc.folders.instead.books.xml @@ -0,0 +1,31 @@ + + +htmlhelp.hhc.folders.instead.books +boolean + + +htmlhelp.hhc.folders.instead.books +Use folder icons in ToC (instead of book icons)? + + + + + + + + +Description + +Set to non-zero for folder-like icons or zero for book-like icons in the ToC. +If you want to use folder-like icons, you must switch off the binary ToC using +htmlhelp.hhc.binary. + + + + + diff --git a/doc/help/xslt/params/htmlhelp.hhc.section.depth.xml b/doc/help/xslt/params/htmlhelp.hhc.section.depth.xml new file mode 100644 index 00000000..35c492af --- /dev/null +++ b/doc/help/xslt/params/htmlhelp.hhc.section.depth.xml @@ -0,0 +1,27 @@ + + +htmlhelp.hhc.section.depth +integer + + +htmlhelp.hhc.section.depth +Depth of TOC for sections in a left pane. + + + + +5 + + + +Description + +Set the section depth in the left pane of HTML Help viewer. + + + diff --git a/doc/help/xslt/params/htmlhelp.hhc.show.root.xml b/doc/help/xslt/params/htmlhelp.hhc.show.root.xml new file mode 100644 index 00000000..0de26b9f --- /dev/null +++ b/doc/help/xslt/params/htmlhelp.hhc.show.root.xml @@ -0,0 +1,29 @@ + + +htmlhelp.hhc.show.root +boolean + + +htmlhelp.hhc.show.root +Should there be an entry for the root element in the ToC? + + + + + + + + +Description + +If set to zero, there will be no entry for the root element in the +ToC. This is useful when you want to provide the user with an expanded +ToC as a default. + + + diff --git a/doc/help/xslt/params/htmlhelp.hhc.width.xml b/doc/help/xslt/params/htmlhelp.hhc.width.xml new file mode 100644 index 00000000..4011399b --- /dev/null +++ b/doc/help/xslt/params/htmlhelp.hhc.width.xml @@ -0,0 +1,28 @@ + + +htmlhelp.hhc.width +integer + + +htmlhelp.hhc.width +Width of navigation pane + + + + + + + + +Description + +This parameter specifies the width of the navigation pane (containing TOC and +other navigation tabs) in pixels. + + + diff --git a/doc/help/xslt/params/htmlhelp.hhc.xml b/doc/help/xslt/params/htmlhelp.hhc.xml new file mode 100644 index 00000000..475ef205 --- /dev/null +++ b/doc/help/xslt/params/htmlhelp.hhc.xml @@ -0,0 +1,27 @@ + + +htmlhelp.hhc +string + + +htmlhelp.hhc +Filename of TOC file. + + + + +toc.hhc + + + +Description + +Set the name of the TOC file. The default is toc.hhc. + + + diff --git a/doc/help/xslt/params/htmlhelp.hhk.xml b/doc/help/xslt/params/htmlhelp.hhk.xml new file mode 100644 index 00000000..aee473e4 --- /dev/null +++ b/doc/help/xslt/params/htmlhelp.hhk.xml @@ -0,0 +1,27 @@ + + +htmlhelp.hhk +string + + +htmlhelp.hhk +Filename of index file. + + + + +index.hhk + + + +Description + +set the name of the index file. The default is index.hhk. + + + diff --git a/doc/help/xslt/params/htmlhelp.hhp.tail.xml b/doc/help/xslt/params/htmlhelp.hhp.tail.xml new file mode 100644 index 00000000..c239b9af --- /dev/null +++ b/doc/help/xslt/params/htmlhelp.hhp.tail.xml @@ -0,0 +1,28 @@ + + +htmlhelp.hhp.tail +string + + +htmlhelp.hhp.tail +Additional content for project file. + + + + + + + + +Description + +If you want to include some additional parameters into project file, +store appropriate part of project file into this parameter. + + + diff --git a/doc/help/xslt/params/htmlhelp.hhp.window.xml b/doc/help/xslt/params/htmlhelp.hhp.window.xml new file mode 100644 index 00000000..6c29eeda --- /dev/null +++ b/doc/help/xslt/params/htmlhelp.hhp.window.xml @@ -0,0 +1,28 @@ + + +htmlhelp.hhp.window +string + + +htmlhelp.hhp.window +Name of default window. + + + + +Main + + + +Description + +Name of default window. If empty no [WINDOWS] section will be +added to project file. + + + diff --git a/doc/help/xslt/params/htmlhelp.hhp.windows.xml b/doc/help/xslt/params/htmlhelp.hhp.windows.xml new file mode 100644 index 00000000..afd435f5 --- /dev/null +++ b/doc/help/xslt/params/htmlhelp.hhp.windows.xml @@ -0,0 +1,29 @@ + + +htmlhelp.hhp.windows +string + + +htmlhelp.hhp.windows +Definition of additional windows + + + + + + + + +Description + +Content of this parameter is placed at the end of [WINDOWS] +section of project file. You can use it for defining your own +addtional windows. + + + diff --git a/doc/help/xslt/params/htmlhelp.hhp.xml b/doc/help/xslt/params/htmlhelp.hhp.xml new file mode 100644 index 00000000..74954d72 --- /dev/null +++ b/doc/help/xslt/params/htmlhelp.hhp.xml @@ -0,0 +1,28 @@ + + +htmlhelp.hhp +string + + +htmlhelp.hhp +Filename of project file. + + + + +htmlhelp.hhp + + + +Description + +Change this parameter if you want different name of project +file than htmlhelp.hhp. + + + diff --git a/doc/help/xslt/params/htmlhelp.map.file.xml b/doc/help/xslt/params/htmlhelp.map.file.xml new file mode 100644 index 00000000..b47c5652 --- /dev/null +++ b/doc/help/xslt/params/htmlhelp.map.file.xml @@ -0,0 +1,25 @@ + + +htmlhelp.map.file +string + + +htmlhelp.map.file +Filename of map file. + + + +context.h + + +Description +Set the name of map file. The default is + context.h. (used for context-sensitive + help). + + diff --git a/doc/help/xslt/params/htmlhelp.only.xml b/doc/help/xslt/params/htmlhelp.only.xml new file mode 100644 index 00000000..f10dbf58 --- /dev/null +++ b/doc/help/xslt/params/htmlhelp.only.xml @@ -0,0 +1,32 @@ + + +htmlhelp.only +boolean + + +htmlhelp.only +Should only project files be generated? + + + + + + + + +Description + + +Set to non-zero if you want to play with various HTML Help parameters +and you don't need to regenerate all HTML files. This setting will not +process whole document, only project files (hhp, hhc, hhk,...) will be +generated. + + + + diff --git a/doc/help/xslt/params/htmlhelp.remember.window.position.xml b/doc/help/xslt/params/htmlhelp.remember.window.position.xml new file mode 100644 index 00000000..3aaea1f7 --- /dev/null +++ b/doc/help/xslt/params/htmlhelp.remember.window.position.xml @@ -0,0 +1,27 @@ + + +htmlhelp.remember.window.position +boolean + + +htmlhelp.remember.window.position +Remember help window position? + + + + + + + + +Description + +Set to non-zero to remember help window position between starts. + + + diff --git a/doc/help/xslt/params/htmlhelp.show.advanced.search.xml b/doc/help/xslt/params/htmlhelp.show.advanced.search.xml new file mode 100644 index 00000000..3aa09a65 --- /dev/null +++ b/doc/help/xslt/params/htmlhelp.show.advanced.search.xml @@ -0,0 +1,28 @@ + + +htmlhelp.show.advanced.search +boolean + + +htmlhelp.show.advanced.search +Should advanced search features be available? + + + + + + + + +Description + +If you want advanced search features in your help, turn this +parameter to 1. + + + diff --git a/doc/help/xslt/params/htmlhelp.show.favorities.xml b/doc/help/xslt/params/htmlhelp.show.favorities.xml new file mode 100644 index 00000000..925bbb1f --- /dev/null +++ b/doc/help/xslt/params/htmlhelp.show.favorities.xml @@ -0,0 +1,28 @@ + + +htmlhelp.show.favorities +boolean + + +htmlhelp.show.favorities +Should the Favorites tab be shown? + + + + + + + + +Description + +Set to non-zero to include a Favorites tab in the navigation pane +of the help window. + + + diff --git a/doc/help/xslt/params/htmlhelp.show.menu.xml b/doc/help/xslt/params/htmlhelp.show.menu.xml new file mode 100644 index 00000000..b3d6285c --- /dev/null +++ b/doc/help/xslt/params/htmlhelp.show.menu.xml @@ -0,0 +1,28 @@ + + +htmlhelp.show.menu +boolean + + +htmlhelp.show.menu +Should the menu bar be shown? + + + + + + + + +Description + +Set to non-zero to have an application menu bar in your HTML Help window. + + + + diff --git a/doc/help/xslt/params/htmlhelp.show.toolbar.text.xml b/doc/help/xslt/params/htmlhelp.show.toolbar.text.xml new file mode 100644 index 00000000..fc87d9c2 --- /dev/null +++ b/doc/help/xslt/params/htmlhelp.show.toolbar.text.xml @@ -0,0 +1,28 @@ + + +htmlhelp.show.toolbar.text +boolean + + +htmlhelp.show.toolbar.text +Show text under toolbar buttons? + + + + + + + + +Description + +Set to non-zero to display texts under toolbar buttons, zero to switch +off displays. + + + diff --git a/doc/help/xslt/params/htmlhelp.title.xml b/doc/help/xslt/params/htmlhelp.title.xml new file mode 100644 index 00000000..f4397cab --- /dev/null +++ b/doc/help/xslt/params/htmlhelp.title.xml @@ -0,0 +1,28 @@ + + +htmlhelp.title +string + + +htmlhelp.title +Title of HTML Help + + + + + + + + +Description + +Content of this parameter will be used as a title for generated +HTML Help. If empty, title will be automatically taken from document. + + + diff --git a/doc/help/xslt/params/htmlhelp.use.hhk.xml b/doc/help/xslt/params/htmlhelp.use.hhk.xml new file mode 100644 index 00000000..720c1e25 --- /dev/null +++ b/doc/help/xslt/params/htmlhelp.use.hhk.xml @@ -0,0 +1,28 @@ + + +htmlhelp.use.hhk +boolean + + +htmlhelp.use.hhk +Should the index be built using the HHK file? + + + + + + + + +Description + +If non-zero, the index is created using the HHK file (instead of using object +elements in the HTML files). For more information, see Generating an index. + + diff --git a/doc/help/xslt/params/htmlhelp.window.geometry.xml b/doc/help/xslt/params/htmlhelp.window.geometry.xml new file mode 100644 index 00000000..0ec75f74 --- /dev/null +++ b/doc/help/xslt/params/htmlhelp.window.geometry.xml @@ -0,0 +1,30 @@ + + +htmlhelp.window.geometry +string + + +htmlhelp.window.geometry +Set initial geometry of help window + + + + + + + + +Description + +This parameter specifies initial position of help +window. E.g. + +<xsl:param name="htmlhelp.window.geometry">[160,64,992,704]</xsl:param> + + + diff --git a/doc/help/xslt/params/hyphenate.verbatim.characters.xml b/doc/help/xslt/params/hyphenate.verbatim.characters.xml new file mode 100644 index 00000000..e6cae209 --- /dev/null +++ b/doc/help/xslt/params/hyphenate.verbatim.characters.xml @@ -0,0 +1,30 @@ + + +hyphenate.verbatim.characters +string + + +hyphenate.verbatim.characters +List of characters after which a line break can occur in listings + + + + + + + + +Description + +If you enable hyphenate.verbatim line +breaks are allowed only on space characters. If this is not enough for +your document, you can specify list of additional characters after +which line break is allowed in this parameter. + + + diff --git a/doc/help/xslt/params/hyphenate.verbatim.xml b/doc/help/xslt/params/hyphenate.verbatim.xml new file mode 100644 index 00000000..c66e700c --- /dev/null +++ b/doc/help/xslt/params/hyphenate.verbatim.xml @@ -0,0 +1,45 @@ + + +hyphenate.verbatim +boolean + + +hyphenate.verbatim +Should verbatim environments be hyphenated on space characters? + + + + + + +Description + +If the lines of program listing are too long to fit into one +line it is quite common to split them at space and indicite by hook +arrow that code continues on the next line. You can turn on this +behaviour for programlisting, +screen and synopsis elements by +using this parameter. + +Note that you must also enable line wrapping for verbatim environments and +select appropriate hyphenation character (e.g. hook arrow). This can +be done using monospace.verbatim.properties +attribute set: + +<xsl:attribute-set name="monospace.verbatim.properties" + use-attribute-sets="verbatim.properties monospace.properties"> + <xsl:attribute name="wrap-option">wrap</xsl:attribute> + <xsl:attribute name="hyphenation-character">&#x25BA;</xsl:attribute> +</xsl:attribute-set> + +For a list of arrows available in Unicode see http://www.unicode.org/charts/PDF/U2190.pdf and http://www.unicode.org/charts/PDF/U2900.pdf and make sure that +selected character is available in the font you are using for verbatim +environments. + + + diff --git a/doc/help/xslt/params/hyphenate.xml b/doc/help/xslt/params/hyphenate.xml new file mode 100644 index 00000000..46a2d614 --- /dev/null +++ b/doc/help/xslt/params/hyphenate.xml @@ -0,0 +1,29 @@ + + +hyphenate +list +closed +true +false + + +hyphenate +Specify hyphenation behavior + + + +true + + +Description + +If true, words may be hyphenated. Otherwise, they may not. + + + + diff --git a/doc/help/xslt/params/id.warnings.xml b/doc/help/xslt/params/id.warnings.xml new file mode 100644 index 00000000..7b2716fd --- /dev/null +++ b/doc/help/xslt/params/id.warnings.xml @@ -0,0 +1,25 @@ + + +id.warnings +boolean + + +id.warnings +Should warnings be generated for titled elements without IDs? + + + + + + +Description +If non-zero, the stylesheet will issue a warning for any element +(other than the root element) which has a title but does not have an +ID. + + diff --git a/doc/help/xslt/params/ignore.image.scaling.xml b/doc/help/xslt/params/ignore.image.scaling.xml new file mode 100644 index 00000000..c35d1782 --- /dev/null +++ b/doc/help/xslt/params/ignore.image.scaling.xml @@ -0,0 +1,28 @@ + + +ignore.image.scaling +boolean + + +ignore.image.scaling +Tell the stylesheets to ignore the author's image scaling attributes + + + + + + + + +Description + +If non-zero, the scaling attributes on graphics and media objects are +ignored. + + + diff --git a/doc/help/xslt/params/img.src.path.xml b/doc/help/xslt/params/img.src.path.xml new file mode 100644 index 00000000..d295019b --- /dev/null +++ b/doc/help/xslt/params/img.src.path.xml @@ -0,0 +1,40 @@ + + +img.src.path +string + + +img.src.path +Path to HTML/FO image files + + + + + + +Description + +Add a path prefix to the value of the fileref +attribute of graphic, inlinegraphic, and imagedata elements. The resulting +compound path is used in the output as the value of the src +attribute of img (HTML) or external-graphic (FO). + + + +The path given by img.src.path could be relative to the directory where the HTML/FO +files are created, or it could be an absolute URI. +The default value is empty. +Be sure to include a trailing slash if needed. + + +This prefix is not applied to any filerefs that start +with "/" or contain "//:". + + + + diff --git a/doc/help/xslt/params/index.div.title.properties.xml b/doc/help/xslt/params/index.div.title.properties.xml new file mode 100644 index 00000000..edbec2f2 --- /dev/null +++ b/doc/help/xslt/params/index.div.title.properties.xml @@ -0,0 +1,39 @@ + + +index.div.title.properties +attribute set + + +index.div.title.properties +Properties associated with the letter headings in an +index + + + + + + 0pt + 14.4pt + + bold + always + + + + 0pt + + + + +Description + +This attribute set is used on the letter headings that separate +the divisions in an index. + + + diff --git a/doc/help/xslt/params/index.entry.properties.xml b/doc/help/xslt/params/index.entry.properties.xml new file mode 100644 index 00000000..32323583 --- /dev/null +++ b/doc/help/xslt/params/index.entry.properties.xml @@ -0,0 +1,33 @@ + + +index.entry.properties +attribute set + + +index.entry.properties +Properties applied to the formatted entries +in an index + + + + + + 0pt + + + + +Description + +This attribute set is applied to the block containing +the entries in a letter division in an index. It can be used to set the +font-size, font-family, and other inheritable properties that will be +applied to all index entries. + + + diff --git a/doc/help/xslt/params/index.links.to.section.xml b/doc/help/xslt/params/index.links.to.section.xml new file mode 100644 index 00000000..47c0da5b --- /dev/null +++ b/doc/help/xslt/params/index.links.to.section.xml @@ -0,0 +1,76 @@ + + +index.links.to.section +boolean + + +index.links.to.section +HTML index entries link to container section title + + + + + + + + +Description + +If zero, then an index entry in an index links +directly to the location of the +generated anchor that is output +for the indexterm. If two identical indexterm elements +exist in the same section, then both entries appear +in the index with the same title but link to different +locations. + +If non-zero, then an index entry in an index links to the +section title containing the indexterm, rather than +directly to the anchor output for the indexterm. +Duplicate indexterm entries in the same section are dropped. + + +The default value is 1, so index entries link to +section titles by default. + +In both cases, the link text in an index entry is the +title of the section containing the indexterm. +That is because HTML does not have numbered pages. +It also provides the reader with context information +for each link. + +This parameter lets you choose which style of +index linking you want. + + + +When set to 0, an index entry takes you +to the precise location of its corresponding indexterm. +However, if you have a lot of duplicate +entries in sections, then you have a lot of duplicate +titles in the index, which makes it more cluttered. +The reader may not recognize why duplicate titles +appear until they follow the links. Also, the links +may land the reader in the middle of a section where the +section title is not visible, which may also be +confusing to the reader. + + +When set to 1, an index entry link is +less precise, but duplicate titles in the +index entries are eliminated. +Landing on the section title location may confirm the reader's +expectation that a link that +shows a section title will take them to that section title, +not a location within the section. + + + + + + diff --git a/doc/help/xslt/params/index.method.xml b/doc/help/xslt/params/index.method.xml new file mode 100644 index 00000000..21279565 --- /dev/null +++ b/doc/help/xslt/params/index.method.xml @@ -0,0 +1,162 @@ + + +index.method +list +basic +kosek +kimber + + +index.method +Select method used to group index entries in an index + + + + +basic + + + +Description + +This parameter lets you select which method to use for sorting and grouping + index entries in an index. +Indexes in Latin-based languages that have accented characters typically +sort together accented words and unaccented words. +Thus Á (U+00C1 LATIN CAPITAL LETTER A WITH ACUTE) would sort together +with A (U+0041 LATIN CAPITAL LETTER A), so both would appear in the A +section of the index. +Languages using other alphabets (such as Russian, which is written in the Cyrillic alphabet) +and languages using ideographic chararacters (such as Japanese) +require grouping specific to the languages and alphabets. + + +The default indexing method is limited. +It can group accented characters in Latin-based languages only. +It cannot handle non-Latin alphabets or ideographic languages. +The other indexing methods require extensions of one type or +another, and do not work with +all XSLT processors, which is why they are not used by default. + +The three choices for indexing method are: + + +basic + + +(default) Sort and groups words based only on the Latin alphabet. +Words with accented Latin letters will group and sort with +their respective primary letter, but +words in non-Latin alphabets will be +put in the Symbols section of the index. + + + + +kosek + + +This method sorts and groups words based on letter groups configured in +the DocBook locale file for the given language. +See, for example, the French locale file common/fr.xml. +This method requires that the XSLT processor +supports the EXSLT extensions (most do). +It also requires support for using +user-defined functions in xsl:key (xsltproc does not). + +This method is suitable for any language for which you can +list all the individual characters that should appear +in each letter group in an index. +It is probably not practical to use it for ideographic languages +such as Chinese that have hundreds or thousands of characters. + + +To use the kosek method, you must: + + + +Use a processor that supports its extensions, such as +Saxon 6 or Xalan (xsltproc and Saxon 8 do not). + + + +Set the index.method parameter's value to kosek. + + + +Import the appropriate index extensions stylesheet module +fo/autoidx-kosek.xsl or +html/autoidx-kosek.xsl into your +customization. + + + + + + + +kimber + + +This method uses extensions to the Saxon processor to implement +sophisticated indexing processes. It uses its own +configuration file, which can include information for any number of +languages. Each language's configuration can group +words using one of two processes. In the +enumerated process similar to that used in the kosek method, +you indicate the groupings character-by-character. +In the between-key process, you specify the +break-points in the sort order that should start a new group. +The latter configuration is useful for ideographic languages +such as Chinese, Japanese, and Korean. +You can also define your own collation algorithms and how you +want mixed Latin-alphabet words sorted. + + +For a whitepaper describing the extensions, see: +http://www.innodata-isogen.com/knowledge_center/white_papers/back_of_book_for_xsl_fo.pdf. + + + +To download the extension library, see +http://www.innodata-isogen.com/knowledge_center/tools_downloads/i18nsupport. + + + + +To use the kimber method, you must: + + + +Use Saxon (version 6 or 8) as your XSLT processor. + + + +Install and configure the Innodata Isogen library, using +the documentation that comes with it. + + + +Set the index.method parameter's value to kimber. + + + +Import the appropriate index extensions stylesheet module +fo/autoidx-kimber.xsl or +html/autoidx-kimber.xsl into your +customization. + + + + + + + + + + diff --git a/doc/help/xslt/params/index.number.separator.xml b/doc/help/xslt/params/index.number.separator.xml new file mode 100644 index 00000000..8f515123 --- /dev/null +++ b/doc/help/xslt/params/index.number.separator.xml @@ -0,0 +1,54 @@ + + +index.number.separator +string + + +index.number.separator +Override for punctuation separating page numbers in index + + + + + + + + +Description + +This parameter permits you to override the text to insert between +page references in a formatted index entry. Typically +that would be a comma and a space. + + +Because this text may be locale dependent, +this parameter's value is normally taken from a gentext +template named 'number-separator' in the +context 'index' in the stylesheet +locale file for the language +of the current document. +This parameter can be used to override the gentext string, +and would typically be used on the command line. +This parameter would apply to all languages. + + +So this text string can be customized in two ways. +You can reset the default gentext string using +the local.l10n.xml parameter, or you can +override the gentext with the content of this parameter. +The content can be a simple string, or it can be +something more complex such as a call-template. + + +In HTML index output, section title references are used instead of +page number references. This punctuation appears between +such section titles in an HTML index. + + + + diff --git a/doc/help/xslt/params/index.on.role.xml b/doc/help/xslt/params/index.on.role.xml new file mode 100644 index 00000000..81d65ddb --- /dev/null +++ b/doc/help/xslt/params/index.on.role.xml @@ -0,0 +1,48 @@ + + +index.on.role +boolean + + +index.on.role +Select indexterms based on role value + + + + + + + + +Description + + +If non-zero, +then an index element that has a +role attribute +value will contain only those indexterm +elements with a matching role value. +If an index has no role +attribute or it is blank, then the index will contain +all indexterms in the current scope. + + +If index.on.role is zero, then the +role attribute has no effect +on selecting indexterms for an index. + + +If you are using DocBook version 4.3 or later, you should +use the type attribute instead of role +on indexterm and index, +and set the index.on.type to a nonzero +value. + + + + diff --git a/doc/help/xslt/params/index.on.type.xml b/doc/help/xslt/params/index.on.type.xml new file mode 100644 index 00000000..a5189c7b --- /dev/null +++ b/doc/help/xslt/params/index.on.type.xml @@ -0,0 +1,52 @@ + + +index.on.type +boolean + + +index.on.type +Select indexterms based on type +attribute value + + + + + + + + +Description + + +If non-zero, +then an index element that has a +type attribute +value will contain only those indexterm +elements with a matching type attribute value. +If an index has no type +attribute or it is blank, then the index will contain +all indexterms in the current scope. + + + +If index.on.type is zero, then the +type attribute has no effect +on selecting indexterms for an index. + + +For those using DocBook version 4.2 or earlier, +the type attribute is not available +for index terms. However, you can achieve the same +effect by using the role attribute +in the same manner on indexterm +and index, and setting the stylesheet parameter +index.on.role to a nonzero value. + + + + diff --git a/doc/help/xslt/params/index.page.number.properties.xml b/doc/help/xslt/params/index.page.number.properties.xml new file mode 100644 index 00000000..74d105a7 --- /dev/null +++ b/doc/help/xslt/params/index.page.number.properties.xml @@ -0,0 +1,31 @@ + + +index.page.number.properties +attribute set + + +index.page.number.properties +Properties associated with index page numbers + + + + + + + + + +Description + +Properties associated with page numbers in indexes. +Changing color to indicate the page number is a link is +one possibility. + + + + diff --git a/doc/help/xslt/params/index.prefer.titleabbrev.xml b/doc/help/xslt/params/index.prefer.titleabbrev.xml new file mode 100644 index 00000000..3f010ae8 --- /dev/null +++ b/doc/help/xslt/params/index.prefer.titleabbrev.xml @@ -0,0 +1,29 @@ + + +index.prefer.titleabbrev +boolean + + +index.prefer.titleabbrev +Should abbreviated titles be used as back references? + + + + + + + + +Description + +If non-zero, and if a titleabbrev is defined, the abbreviated title +is used as the link text of a back reference in the index. + + + + diff --git a/doc/help/xslt/params/index.preferred.page.properties.xml b/doc/help/xslt/params/index.preferred.page.properties.xml new file mode 100644 index 00000000..1b7a26ff --- /dev/null +++ b/doc/help/xslt/params/index.preferred.page.properties.xml @@ -0,0 +1,32 @@ + + +index.preferred.page.properties +attribute set + + +index.preferred.page.properties +Properties used to emphasize page number references for +significant index terms + + + + + + bold + + + + +Description + +Properties used to emphasize page number references for +significant index terms (significance=preferred). Currently works only with +XEP. + + + diff --git a/doc/help/xslt/params/index.range.separator.xml b/doc/help/xslt/params/index.range.separator.xml new file mode 100644 index 00000000..aff09a93 --- /dev/null +++ b/doc/help/xslt/params/index.range.separator.xml @@ -0,0 +1,57 @@ + + +index.range.separator +string + + +index.range.separator +Override for punctuation separating the two numbers +in a page range in index + + + + + + + + +Description + +This parameter permits you +to override the text to insert between +the two numbers of a page range in an index. +This parameter is only used by those XSL-FO processors +that support an extension for generating such page ranges +(such as XEP). + +Because this text may be locale dependent, +this parameter's value is normally taken from a gentext +template named 'range-separator' in the +context 'index' in the stylesheet +locale file for the language +of the current document. +This parameter can be used to override the gentext string, +and would typically be used on the command line. +This parameter would apply to all languages. + + +So this text string can be customized in two ways. +You can reset the default gentext string using +the local.l10n.xml parameter, or you can +override the gentext with the content of this parameter. +The content can be a simple string, or it can be +something more complex such as a call-template. + + +In HTML index output, section title references are used instead of +page number references. So there are no page ranges +and this parameter has no effect. + + + + diff --git a/doc/help/xslt/params/index.term.separator.xml b/doc/help/xslt/params/index.term.separator.xml new file mode 100644 index 00000000..ab2f672c --- /dev/null +++ b/doc/help/xslt/params/index.term.separator.xml @@ -0,0 +1,54 @@ + + +index.term.separator +string + + +index.term.separator +Override for punctuation separating an index term +from its list of page references in an index + + + + + + + + +Description + +This parameter permits you to override +the text to insert between +the end of an index term and its list of page references. +Typically that might be a comma and a space. + + +Because this text may be locale dependent, +this parameter's value is normally taken from a gentext +template named 'term-separator' in the +context 'index' in the stylesheet +locale file for the language +of the current document. +This parameter can be used to override the gentext string, +and would typically be used on the command line. +This parameter would apply to all languages. + + +So this text string can be customized in two ways. +You can reset the default gentext string using +the local.l10n.xml parameter, or you can +fill in the content for this normally empty +override parameter. +The content can be a simple string, or it can be +something more complex such as a call-template. +For fo output, it could be an fo:leader +element to provide space of a specific length, or a dot leader. + + + + diff --git a/doc/help/xslt/params/informal.object.properties.xml b/doc/help/xslt/params/informal.object.properties.xml new file mode 100644 index 00000000..e89cc117 --- /dev/null +++ b/doc/help/xslt/params/informal.object.properties.xml @@ -0,0 +1,29 @@ + + +informal.object.properties +attribute set + + +informal.object.properties +Properties associated with an informal (untitled) object, such as an informalfigure + + + + + 0.5em + 1em + 2em + 0.5em + 1em + 2em + + +Description +The styling for informal objects in docbook. Specify the spacing before and after the object. + + diff --git a/doc/help/xslt/params/informalequation.properties.xml b/doc/help/xslt/params/informalequation.properties.xml new file mode 100644 index 00000000..88a57bec --- /dev/null +++ b/doc/help/xslt/params/informalequation.properties.xml @@ -0,0 +1,27 @@ + + +informalequation.properties +attribute set + + +informalequation.properties +Properties associated with an informalequation + + + + + + + + +Description + +The styling for informalequations. + + + diff --git a/doc/help/xslt/params/informalexample.properties.xml b/doc/help/xslt/params/informalexample.properties.xml new file mode 100644 index 00000000..90ffb2c7 --- /dev/null +++ b/doc/help/xslt/params/informalexample.properties.xml @@ -0,0 +1,27 @@ + + +informalexample.properties +attribute set + + +informalexample.properties +Properties associated with an informalexample + + + + + + + + +Description + +The styling for informalexamples. + + + diff --git a/doc/help/xslt/params/informalfigure.properties.xml b/doc/help/xslt/params/informalfigure.properties.xml new file mode 100644 index 00000000..c7662483 --- /dev/null +++ b/doc/help/xslt/params/informalfigure.properties.xml @@ -0,0 +1,27 @@ + + +informalfigure.properties +attribute set + + +informalfigure.properties +Properties associated with an informalfigure + + + + + + + + +Description + +The styling for informalfigures. + + + diff --git a/doc/help/xslt/params/informaltable.properties.xml b/doc/help/xslt/params/informaltable.properties.xml new file mode 100644 index 00000000..c9688836 --- /dev/null +++ b/doc/help/xslt/params/informaltable.properties.xml @@ -0,0 +1,32 @@ + + +informaltable.properties +attribute set + + +informaltable.properties +Properties associated with the block surrounding an informaltable + + + + + + + + +Description + +Block styling properties for informaltables. This parameter should really +have been called informaltable.block.properties or something +like that, but we’re leaving it to avoid backwards-compatibility +problems. + +See also table.table.properties. + + + diff --git a/doc/help/xslt/params/inherit.keywords.xml b/doc/help/xslt/params/inherit.keywords.xml new file mode 100644 index 00000000..7939a6a3 --- /dev/null +++ b/doc/help/xslt/params/inherit.keywords.xml @@ -0,0 +1,31 @@ + + +inherit.keywords +boolean + + +inherit.keywords +Inherit keywords from ancestor elements? + + + + + + + +Description + +If inherit.keywords +is non-zero, the keyword meta for each HTML +head element will include all of the keywords from +ancestor elements. Otherwise, only the keywords from the current section +will be used. + + + + diff --git a/doc/help/xslt/params/insert.link.page.number.xml b/doc/help/xslt/params/insert.link.page.number.xml new file mode 100644 index 00000000..b26c0f6a --- /dev/null +++ b/doc/help/xslt/params/insert.link.page.number.xml @@ -0,0 +1,69 @@ + + +insert.link.page.number +list +no +yes +maybe + + +insert.link.page.number +Turns page numbers in link elements on and off + + + + +no + + + +Description + +The value of this parameter determines if +cross references using the link element in +printed output will +include standard page number citations. +It has three possible values. + + + +no +No page number references will be generated. + + + +yes +Page number references will be generated +for all link elements. +The style of page reference may be changed +if an xrefstyle +attribute is used. + + + +maybe +Page number references will not be generated +for a link element unless +it has an +xrefstyle +attribute whose value specifies a page reference. + + + + +Although the xrefstyle attribute +can be used to turn the page reference on or off, it cannot be +used to control the formatting of the page number as it +can in xref. +In link it will always format with +the style established by the +gentext template with name="page.citation" +in the l:context name="xref". + + + diff --git a/doc/help/xslt/params/insert.olink.page.number.xml b/doc/help/xslt/params/insert.olink.page.number.xml new file mode 100644 index 00000000..dc6da3d0 --- /dev/null +++ b/doc/help/xslt/params/insert.olink.page.number.xml @@ -0,0 +1,83 @@ + + +insert.olink.page.number +list +no +yes +maybe + + +insert.olink.page.number +Turns page numbers in olinks on and off + + + + +no + + + +Description + +The value of this parameter determines if +cross references made between documents with +olink will +include page number citations. +In most cases this is only applicable to references in printed output. + +The parameter has three possible values. + + + +no +No page number references will be generated for olinks. + + + +yes +Page number references will be generated +for all olink references. +The style of page reference may be changed +if an xrefstyle +attribute is used. + + + +maybe +Page number references will not be generated +for an olink element unless +it has an +xrefstyle +attribute whose value specifies a page reference. + + + +Olinks that point to targets within the same document +are treated as xrefs, and controlled by +the insert.xref.page.number parameter. + + +Page number references for olinks to +external documents can only be inserted if the +information exists in the olink database. +This means each olink target element +(div or obj) +must have a page attribute +whose value is its page number in the target document. +The XSL stylesheets are not able to extract that information +during processing because pages have not yet been created in +XSLT transformation. Only the XSL-FO processor knows what +page each element is placed on. +Therefore some postprocessing must take place to populate +page numbers in the olink database. + + + + + + diff --git a/doc/help/xslt/params/insert.olink.pdf.frag.xml b/doc/help/xslt/params/insert.olink.pdf.frag.xml new file mode 100644 index 00000000..e9370605 --- /dev/null +++ b/doc/help/xslt/params/insert.olink.pdf.frag.xml @@ -0,0 +1,68 @@ + + +insert.olink.pdf.frag +boolean + + +insert.olink.pdf.frag +Add fragment identifiers for links into PDF files + + + + + + + + +Description + +The value of this parameter determines whether +the cross reference URIs to PDF documents made with +olink will +include fragment identifiers. + + +When forming a URI to link to a PDF document, +a fragment identifier (typically a '#' followed by an +id value) appended to the PDF filename can be used by +the PDF viewer to open +the PDF file to a location within the document instead of +the first page. +However, not all PDF files have id +values embedded in them, and not all PDF viewers can +handle fragment identifiers. + + +If insert.olink.pdf.frag is set +to a non-zero value, then any olink targeting a +PDF file will have the fragment identifier appended to the URI. +The URI is formed by concatenating the value of the +olink.base.uri parameter, the +value of the baseuri +attribute from the document +element in the olink database with the matching +targetdoc value, +and the value of the href +attribute for the targeted element in the olink database. +The href attribute +contains the fragment identifier. + + +If insert.olink.pdf.frag is set +to zero (the default value), then +the href attribute +from the olink database +is not appended to PDF olinks, so the fragment identifier is left off. +A PDF olink is any olink for which the +baseuri attribute +from the matching document +element in the olink database ends with '.pdf'. +Any other olinks will still have the fragment identifier added. + + + diff --git a/doc/help/xslt/params/insert.xref.page.number.xml b/doc/help/xslt/params/insert.xref.page.number.xml new file mode 100644 index 00000000..8c3aa072 --- /dev/null +++ b/doc/help/xslt/params/insert.xref.page.number.xml @@ -0,0 +1,60 @@ + + +insert.xref.page.number +list +no +yes +maybe + + +insert.xref.page.number +Turns page numbers in xrefs on and off + + + + +no + + + +Description + +The value of this parameter determines if +cross references (xrefs) in +printed output will +include page number citations. +It has three possible values. + + + +no +No page number references will be generated. + + + +yes +Page number references will be generated +for all xref elements. +The style of page reference may be changed +if an xrefstyle +attribute is used. + + + +maybe +Page number references will not be generated +for an xref element unless +it has an +xrefstyle +attribute whose value specifies a page reference. + + + + + + diff --git a/doc/help/xslt/params/itemizedlist.label.properties.xml b/doc/help/xslt/params/itemizedlist.label.properties.xml new file mode 100644 index 00000000..49f8ee64 --- /dev/null +++ b/doc/help/xslt/params/itemizedlist.label.properties.xml @@ -0,0 +1,26 @@ + + +itemizedlist.label.properties +attribute set + + +itemizedlist.label.properties +Properties that apply to each label inside itemized list. + + + + + + +Description +Properties that apply to each label inside itemized list. E.g.: +<xsl:attribute-set name="itemizedlist.label.properties"> + <xsl:attribute name="text-align">right</xsl:attribute> +</xsl:attribute-set> + + diff --git a/doc/help/xslt/params/itemizedlist.label.width.xml b/doc/help/xslt/params/itemizedlist.label.width.xml new file mode 100644 index 00000000..1d2c88c8 --- /dev/null +++ b/doc/help/xslt/params/itemizedlist.label.width.xml @@ -0,0 +1,28 @@ + + +itemizedlist.label.width +length + + + itemizedlist.label.width +The default width of the label (bullet) in an itemized list. + + + + + 1.0em + + + +Description +Specifies the default width of the label (usually a bullet or other +symbol) in an itemized list. You can override the default value on any +particular list with the “dbfo” processing instruction using the +“label-width” pseudoattribute. + + diff --git a/doc/help/xslt/params/itemizedlist.properties.xml b/doc/help/xslt/params/itemizedlist.properties.xml new file mode 100644 index 00000000..d7c7c1d2 --- /dev/null +++ b/doc/help/xslt/params/itemizedlist.properties.xml @@ -0,0 +1,23 @@ + + +itemizedlist.properties +attribute set + + +itemizedlist.properties +Properties that apply to each list-block generated by itemizedlist. + + + + + + +Description +Properties that apply to each fo:list-block generated by itemizedlist. + + diff --git a/doc/help/xslt/params/javahelp.encoding.xml b/doc/help/xslt/params/javahelp.encoding.xml new file mode 100644 index 00000000..ba729c8c --- /dev/null +++ b/doc/help/xslt/params/javahelp.encoding.xml @@ -0,0 +1,31 @@ + + +javahelp.encoding +string + + +javahelp.encoding +Character encoding to use in control files for JavaHelp. + + + + +iso-8859-1 + + + +Description + +JavaHelp crashes on some characters when written as character +references. In that case you can use this parameter to select an appropriate encoding. + + + + + + diff --git a/doc/help/xslt/params/keep.relative.image.uris.xml b/doc/help/xslt/params/keep.relative.image.uris.xml new file mode 100644 index 00000000..3a5a098d --- /dev/null +++ b/doc/help/xslt/params/keep.relative.image.uris.xml @@ -0,0 +1,34 @@ + + +keep.relative.image.uris +boolean + + +keep.relative.image.uris +Should image URIs be resolved against xml:base? + + + + + + + + + +Description + +If non-zero, relative URIs (in, for example +fileref attributes) will be used in the generated +output. Otherwise, the URIs will be made absolute with respect to the +base URI. + +Note that the stylesheets calculate (and use) the absolute form +for some purposes, this only applies to the resulting output. + + + diff --git a/doc/help/xslt/params/keyboard.nav.xml b/doc/help/xslt/params/keyboard.nav.xml new file mode 100644 index 00000000..49b0c0b5 --- /dev/null +++ b/doc/help/xslt/params/keyboard.nav.xml @@ -0,0 +1,29 @@ + + +keyboard.nav +boolean + + +keyboard.nav +Enable keyboard navigation? + + + + + + + + +Description + +If non-zero, JavaScript is added to the slides to enable keyboard +navigation. Pressing 'n', space, or return moves forward; pressing 'p' moves +backward. + + + diff --git a/doc/help/xslt/params/l10n.gentext.default.language.xml b/doc/help/xslt/params/l10n.gentext.default.language.xml new file mode 100644 index 00000000..ed89e069 --- /dev/null +++ b/doc/help/xslt/params/l10n.gentext.default.language.xml @@ -0,0 +1,30 @@ + + + l10n.gentext.default.language + string + + + l10n.gentext.default.language + Sets the default language for generated text + + + + +en + + + +Description + +The value of the l10n.gentext.default.language +parameter is used as the language for generated text if no setting is provided +in the source document. + + + diff --git a/doc/help/xslt/params/l10n.gentext.language.xml b/doc/help/xslt/params/l10n.gentext.language.xml new file mode 100644 index 00000000..ff941c7c --- /dev/null +++ b/doc/help/xslt/params/l10n.gentext.language.xml @@ -0,0 +1,33 @@ + + +l10n.gentext.language +string + + +l10n.gentext.language +Sets the gentext language + + + + + + + + +Description + +If this parameter is set to any value other than the empty string, its +value will be used as the value for the language when generating text. Setting +l10n.gentext.language overrides any settings within the +document being formatted. + +It's much more likely that you might want to set the +l10n.gentext.default.language parameter. + + + diff --git a/doc/help/xslt/params/l10n.gentext.use.xref.language.xml b/doc/help/xslt/params/l10n.gentext.use.xref.language.xml new file mode 100644 index 00000000..d70017af --- /dev/null +++ b/doc/help/xslt/params/l10n.gentext.use.xref.language.xml @@ -0,0 +1,53 @@ + + +l10n.gentext.use.xref.language +boolean + + +l10n.gentext.use.xref.language +Use the language of target when generating cross-reference text? + + + + + + + + +Description + +If non-zero, the language of the target will be used when +generating cross reference text. Usually, the current +language is used when generating text (that is, the language of the +element that contains the cross-reference element). But setting this parameter +allows the language of the element pointed to to control +the generated text. + +Consider the following example: + + +<para lang="en">See also <xref linkend="chap3"/>.</para> + + + +Suppose that Chapter 3 happens to be written in German. +If l10n.gentext.use.xref.language is non-zero, the +resulting text will be something like this: + +
    +See also Kapital 3. +
    + +Where the more traditional rendering would be: + +
    +See also Chapter 3. +
    + +
    +
    diff --git a/doc/help/xslt/params/l10n.lang.value.rfc.compliant.xml b/doc/help/xslt/params/l10n.lang.value.rfc.compliant.xml new file mode 100644 index 00000000..e0dbd795 --- /dev/null +++ b/doc/help/xslt/params/l10n.lang.value.rfc.compliant.xml @@ -0,0 +1,57 @@ + + +l10n.lang.value.rfc.compliant +boolean + + +l10n.lang.value.rfc.compliant +Make value of lang attribute RFC compliant? + + + + + + + + +Description + +If non-zero, ensure that the values for all lang attributes in HTML output are RFC +compliantSection 8.1.1, Language Codes, in the HTML 4.0 Recommendation states that: + +
    [RFC1766] defines and explains the language codes +that must be used in HTML documents. +Briefly, language codes consist of a primary code and a possibly +empty series of subcodes: + +language-code = primary-code ( "-" subcode )* + +And in RFC 1766, Tags for the Identification +of Languages, the EBNF for "language tag" is given as: + +Language-Tag = Primary-tag *( "-" Subtag ) +Primary-tag = 1*8ALPHA +Subtag = 1*8ALPHA + +
    +
    . + +by taking any underscore characters in any lang values found in source documents, and +replacing them with hyphen characters in output HTML files. For +example, zh_CN in a source document becomes +zh-CN in the HTML output form that source. + + +This parameter does not cause any case change in lang values, because RFC 1766 +explicitly states that all "language tags" (as it calls them) "are +to be treated as case insensitive". + +
    + +
    +
    diff --git a/doc/help/xslt/params/label.from.part.xml b/doc/help/xslt/params/label.from.part.xml new file mode 100644 index 00000000..5deb9603 --- /dev/null +++ b/doc/help/xslt/params/label.from.part.xml @@ -0,0 +1,38 @@ + + +label.from.part +boolean + + +label.from.part +Renumber components in each part? + + + + + + + + +Description + +If label.from.part is non-zero, then + numbering of components — preface, + chapter, appendix, and + reference (when reference occurs at the + component level) — is re-started within each + part. +If label.from.part is zero (the + default), numbering of components is not + re-started within each part; instead, components are + numbered sequentially throughout each book, + regardless of whether or not they occur within part + instances. + + + diff --git a/doc/help/xslt/params/line-height.xml b/doc/help/xslt/params/line-height.xml new file mode 100644 index 00000000..f0f4b324 --- /dev/null +++ b/doc/help/xslt/params/line-height.xml @@ -0,0 +1,27 @@ + + +line-height +string + + +line-height +Specify the line-height property + + + + +normal + + + +Description + +Sets the line-height property. + + + diff --git a/doc/help/xslt/params/linenumbering.everyNth.xml b/doc/help/xslt/params/linenumbering.everyNth.xml new file mode 100644 index 00000000..5e7bcacc --- /dev/null +++ b/doc/help/xslt/params/linenumbering.everyNth.xml @@ -0,0 +1,29 @@ + + +linenumbering.everyNth +integer + + +linenumbering.everyNth +Indicate which lines should be numbered + + + + +5 + + + +Description + +If line numbering is enabled, everyNth line will be +numbered. Note that numbering is one based, not zero based. + + + + diff --git a/doc/help/xslt/params/linenumbering.extension.xml b/doc/help/xslt/params/linenumbering.extension.xml new file mode 100644 index 00000000..726781ae --- /dev/null +++ b/doc/help/xslt/params/linenumbering.extension.xml @@ -0,0 +1,30 @@ + + +linenumbering.extension +boolean + + +linenumbering.extension +Enable the line numbering extension + + + + + + + + +Description + +If non-zero, verbatim environments (address, literallayout, +programlisting, screen, synopsis) that specify line numbering will +have line numbers. + + + + diff --git a/doc/help/xslt/params/linenumbering.separator.xml b/doc/help/xslt/params/linenumbering.separator.xml new file mode 100644 index 00000000..8bf7d221 --- /dev/null +++ b/doc/help/xslt/params/linenumbering.separator.xml @@ -0,0 +1,30 @@ + + +linenumbering.separator +string + + +linenumbering.separator +Specify a separator between line numbers and lines + + + + + + + + +Description + +The separator is inserted between line numbers and lines in the +verbatim environment. The default value is a single white space. + Note the interaction with linenumbering.width + + + + diff --git a/doc/help/xslt/params/linenumbering.width.xml b/doc/help/xslt/params/linenumbering.width.xml new file mode 100644 index 00000000..78515c3e --- /dev/null +++ b/doc/help/xslt/params/linenumbering.width.xml @@ -0,0 +1,29 @@ + + +linenumbering.width +integer + + +linenumbering.width +Indicates the width of line numbers + + + + +3 + + + +Description + +If line numbering is enabled, line numbers will appear right +justified in a field "width" characters wide. + + + + diff --git a/doc/help/xslt/params/link.mailto.url.xml b/doc/help/xslt/params/link.mailto.url.xml new file mode 100644 index 00000000..0715b32f --- /dev/null +++ b/doc/help/xslt/params/link.mailto.url.xml @@ -0,0 +1,29 @@ + + +link.mailto.url +string + + +link.mailto.url +Mailto URL for the LINK REL=made HTML HEAD element + + + + + + + + +Description + +If not the empty string, this address will be used for the +rel=made link element in the html head + + + + diff --git a/doc/help/xslt/params/list.block.properties.xml b/doc/help/xslt/params/list.block.properties.xml new file mode 100644 index 00000000..dbf9dfc1 --- /dev/null +++ b/doc/help/xslt/params/list.block.properties.xml @@ -0,0 +1,25 @@ + + +list.block.properties +attribute set + + +list.block.properties +Properties that apply to each list-block generated by list. + + + + + 0.2em + 1.5em + + +Description +Properties that apply to each fo:list-block generated by itemizedlist/orderedlist. + + diff --git a/doc/help/xslt/params/list.block.spacing.xml b/doc/help/xslt/params/list.block.spacing.xml new file mode 100644 index 00000000..377e6f8a --- /dev/null +++ b/doc/help/xslt/params/list.block.spacing.xml @@ -0,0 +1,29 @@ + + +list.block.spacing +attribute set + + +list.block.spacing +What spacing do you want before and after lists? + + + + + 1em + 0.8em + 1.2em + 1em + 0.8em + 1.2em + + +Description +Specify the spacing required before and after a list. It is necessary to specify the space after a list block because lists can come inside of paras. + + diff --git a/doc/help/xslt/params/list.item.spacing.xml b/doc/help/xslt/params/list.item.spacing.xml new file mode 100644 index 00000000..21916520 --- /dev/null +++ b/doc/help/xslt/params/list.item.spacing.xml @@ -0,0 +1,26 @@ + + +list.item.spacing +attribute set + + +list.item.spacing +What space do you want between list items? + + + + + 1em + 0.8em + 1.2em + + +Description +Specify what spacing you want between each list item. + + diff --git a/doc/help/xslt/params/make.clean.html.xml b/doc/help/xslt/params/make.clean.html.xml new file mode 100644 index 00000000..fbf80d02 --- /dev/null +++ b/doc/help/xslt/params/make.clean.html.xml @@ -0,0 +1,51 @@ + + +make.clean.html +boolean + + +make.clean.html +Make HTML conform to modern coding standards + + + + + + + + +Description + +If make.clean.html is true, the stylesheets take +extra effort to ensure that the resulting HTML is conforms to +modern HTML coding standards. In addition to eliminating +excessive and noncompliant coding, it moves presentation +HTML coding to a CSS stylesheet. + +The resulting HTML is dependent on +CSS for formatting, and so the stylesheet is capable of +generating a supporting CSS file. The docbook.css.source +and custom.css.source parameters control +how a CSS file is generated. + +If you require your CSS to reside in the HTML +head element, then the generate.css.header +can be used to do that. + +The make.clean.html parameter is +different from html.cleanup +because the former changes the resulting markup; it does not use extension functions +like the latter to manipulate result-tree-fragments, +and is therefore applicable to any XSLT processor. + +If make.clean.html is set to zero (the default), +then the stylesheet retains its original +old style +HTML formatting features. + + diff --git a/doc/help/xslt/params/make.graphic.viewport.xml b/doc/help/xslt/params/make.graphic.viewport.xml new file mode 100644 index 00000000..0bad336f --- /dev/null +++ b/doc/help/xslt/params/make.graphic.viewport.xml @@ -0,0 +1,35 @@ + + +make.graphic.viewport +boolean + + +make.graphic.viewport +Use tables in HTML to make viewports for graphics + + + + + + + + +Description + +The HTML img element only supports the notion +of content-area scaling; it doesn't support the distinction between a +content-area and a viewport-area, so we have to make some compromises. + +If make.graphic.viewport is non-zero, a table +will be used to frame the image. This creates an effective viewport-area. + + +Tables and alignment don't work together, so this parameter is ignored +if alignment is specified on an image. + + diff --git a/doc/help/xslt/params/make.index.markup.xml b/doc/help/xslt/params/make.index.markup.xml new file mode 100644 index 00000000..7942b5a5 --- /dev/null +++ b/doc/help/xslt/params/make.index.markup.xml @@ -0,0 +1,73 @@ + + +make.index.markup +boolean + + +make.index.markup +Generate XML index markup in the index? + + + + + + + + +Description + +This parameter enables a very neat trick for getting properly +merged, collated back-of-the-book indexes. G. Ken Holman suggested +this trick at Extreme Markup Languages 2002 and I'm indebted to him +for it. + +Jeni Tennison's excellent code in +autoidx.xsl does a great job of merging and +sorting indexterms in the document and building a +back-of-the-book index. However, there's one thing that it cannot +reasonably be expected to do: merge page numbers into ranges. (I would +not have thought that it could collate and suppress duplicate page +numbers, but in fact it appears to manage that task somehow.) + +Ken's trick is to produce a document in which the index at the +back of the book is displayed in XML. Because the index +is generated by the FO processor, all of the page numbers have been resolved. +It's a bit hard to explain, but what it boils down to is that instead of having +an index at the back of the book that looks like this: + +
    +A +ap1, 1, 2, 3 + +
    + +you get one that looks like this: + +
    +<indexdiv>A</indexdiv> +<indexentry> +<primaryie>ap1</primaryie>, +<phrase role="pageno">1</phrase>, +<phrase role="pageno">2</phrase>, +<phrase role="pageno">3</phrase> +</indexentry> +
    + +After building a PDF file with this sort of odd-looking index, you can +extract the text from the PDF file and the result is a proper index expressed in +XML. + +Now you have data that's amenable to processing and a simple Perl script +(such as fo/pdf2index) can +merge page ranges and generate a proper index. + +Finally, reformat your original document using this literal index instead of +an automatically generated one and bingo! + +
    +
    diff --git a/doc/help/xslt/params/make.single.year.ranges.xml b/doc/help/xslt/params/make.single.year.ranges.xml new file mode 100644 index 00000000..c49ab97b --- /dev/null +++ b/doc/help/xslt/params/make.single.year.ranges.xml @@ -0,0 +1,28 @@ + + +make.single.year.ranges +boolean + + +make.single.year.ranges +Print single-year ranges (e.g., 1998-1999) + + + + + + + +Description + +If non-zero, year ranges that span a single year will be printed +in range notation (1998-1999) instead of discrete notation +(1998, 1999). + + + diff --git a/doc/help/xslt/params/make.valid.html.xml b/doc/help/xslt/params/make.valid.html.xml new file mode 100644 index 00000000..8618d39a --- /dev/null +++ b/doc/help/xslt/params/make.valid.html.xml @@ -0,0 +1,35 @@ + + +make.valid.html +boolean + + +make.valid.html +Attempt to make sure the HTML output is valid HTML + + + + + + + + +Description + +If make.valid.html is true, the stylesheets take +extra effort to ensure that the resulting HTML is valid. This may mean that some +para tags are translated into HTML divs or +that other substitutions occur. + +This parameter is different from html.cleanup +because it changes the resulting markup; it does not use extension functions +to manipulate result-tree-fragments and is therefore applicable to any +XSLT processor. + + + diff --git a/doc/help/xslt/params/make.year.ranges.xml b/doc/help/xslt/params/make.year.ranges.xml new file mode 100644 index 00000000..b1a23826 --- /dev/null +++ b/doc/help/xslt/params/make.year.ranges.xml @@ -0,0 +1,32 @@ + + +make.year.ranges +boolean + + +make.year.ranges +Collate copyright years into ranges? + + + + + + +Description + +If non-zero, multiple copyright year elements will be +collated into ranges. +This works only if each year number is put into a separate +year element. The copyright element permits multiple +year elements. If a year element contains a dash or +a comma, then that year element will not be merged into +any range. + + + + diff --git a/doc/help/xslt/params/man.authors.section.enabled.xml b/doc/help/xslt/params/man.authors.section.enabled.xml new file mode 100644 index 00000000..73cb6378 --- /dev/null +++ b/doc/help/xslt/params/man.authors.section.enabled.xml @@ -0,0 +1,46 @@ + + +man.authors.section.enabled +boolean + + +man.authors.section.enabled +Display auto-generated AUTHORS section? + + + +1 + + +Description + +If the value of +man.authors.section.enabled is non-zero +(the default), then an AUTHORS section is +generated near the end of each man page. The output of the +AUTHORS section is assembled from any +author, editor, and othercredit +metadata found in the contents of the child info or +refentryinfo (if any) of the refentry +itself, or from any author, editor, and +othercredit metadata that may appear in info +contents of any ancestors of the refentry. + +If the value of +man.authors.section.enabled is zero, the +the auto-generated AUTHORS section is +suppressed. + +Set the value of + man.authors.section.enabled to zero if + you want to have a manually created AUTHORS + section in your source, and you want it to appear in output + instead of the auto-generated AUTHORS + section. + + diff --git a/doc/help/xslt/params/man.base.url.for.relative.links.xml b/doc/help/xslt/params/man.base.url.for.relative.links.xml new file mode 100644 index 00000000..a802ec80 --- /dev/null +++ b/doc/help/xslt/params/man.base.url.for.relative.links.xml @@ -0,0 +1,76 @@ + + + man.base.url.for.relative.links + string + + + man.base.url.for.relative.links + Specifies a base URL for relative links + + + + [set $man.base.url.for.relative.links]/ + + + Description + + For any “notesource” listed in the auto-generated + “NOTES” section of output man pages (which is generated when + the value of the + man.endnotes.list.enabled parameter + is non-zero), if the notesource is a link source with a + relative URI, the URI is displayed in output with the value + of the + man.base.url.for.relative.links + parameter prepended to the value of the link URI. + + + A link source is an notesource that references an + external resource: + + + a ulink element with a url attribute + + + any element with an xlink:href attribute + + + an imagedata, audiodata, or + videodata element + + + + + + If you use relative URIs in link sources in your DocBook + refentry source, and you leave + man.base.url.for.relative.links + unset, the relative links will appear “as is” in the “Notes” + section of any man-page output generated from your source. + That’s probably not what you want, because such relative + links are only usable in the context of HTML output. So, to + make the links meaningful and usable in the context of + man-page output, set a value for + man.base.url.for.relative.links that + points to the online version of HTML output generated from + your DocBook refentry source. For + example: + <xsl:param name="man.base.url.for.relative.links" + >http://www.kernel.org/pub/software/scm/git/docs/</xsl:param> + + + + + Related Parameters + man.endnotes.list.enabled + + + diff --git a/doc/help/xslt/params/man.break.after.slash.xml b/doc/help/xslt/params/man.break.after.slash.xml new file mode 100644 index 00000000..859edb73 --- /dev/null +++ b/doc/help/xslt/params/man.break.after.slash.xml @@ -0,0 +1,46 @@ + + +man.break.after.slash +boolean + + +man.break.after.slash +Enable line-breaking after slashes? + + + + +0 + + +Description + +If non-zero, line-breaking after slashes is enabled. This is +mainly useful for causing long URLs or pathnames/filenames to be +broken up or "wrapped" across lines (though it also has the side +effect of sometimes causing relatively short URLs and pathnames to be +broken up across lines too). + +If zero (the default), line-breaking after slashes is +disabled. In that case, strings containing slashes (for example, URLs +or filenames) are not broken across lines, even if they exceed the +maximum column widith. + + + If you set a non-zero value for this parameter, check your + man-page output carefuly afterwards, in order to make sure that the + setting has not introduced an excessive amount of breaking-up of URLs + or pathnames. If your content contains mostly short URLs or + pathnames, setting a non-zero value for + man.break.after.slash will probably result in + in a significant number of relatively short URLs and pathnames being + broken across lines, which is probably not what you want. + + + + diff --git a/doc/help/xslt/params/man.charmap.enabled.xml b/doc/help/xslt/params/man.charmap.enabled.xml new file mode 100644 index 00000000..5522339e --- /dev/null +++ b/doc/help/xslt/params/man.charmap.enabled.xml @@ -0,0 +1,55 @@ + + +man.charmap.enabled +boolean + + +man.charmap.enabled +Apply character map before final output? + + + + + + + + +Description + +If the value of the man.charmap.enabled +parameter is non-zero, a "character map" is used to substitute certain +Unicode symbols and special characters with appropriate roff/groff +equivalents, just before writing each man-page file to the +filesystem. If instead the value of +man.charmap.enabled is zero, Unicode characters +are passed through "as is". + +Details + +For converting certain Unicode symbols and special characters in +UTF-8 or UTF-16 encoded XML source to appropriate groff/roff +equivalents in man-page output, the DocBook XSL Stylesheets +distribution includes a roff character map that is compliant with the XSLT character +map format as detailed in the XSLT 2.0 specification. The map +contains more than 800 character mappings and can be considered the +standard roff character map for the distribution. + +You can use the man.charmap.uri +parameter to specify a URI for the location for an alternate roff +character map to use in place of the standard roff character map +provided in the distribution. + +You can also use a subset of a character map. For details, +see the man.charmap.use.subset, +man.charmap.subset.profile, and +man.charmap.subset.profile.english +parameters. + + + + diff --git a/doc/help/xslt/params/man.charmap.subset.profile.english.xml b/doc/help/xslt/params/man.charmap.subset.profile.english.xml new file mode 100644 index 00000000..cbc9fb0b --- /dev/null +++ b/doc/help/xslt/params/man.charmap.subset.profile.english.xml @@ -0,0 +1,80 @@ + + +man.charmap.subset.profile.english +string + + +man.charmap.subset.profile.english +Profile of character map subset + + + + + +@*[local-name() = 'block'] = 'Miscellaneous Technical' or +(@*[local-name() = 'block'] = 'C1 Controls And Latin-1 Supplement (Latin-1 Supplement)' and + @*[local-name() = 'class'] = 'symbols') +or +(@*[local-name() = 'block'] = 'General Punctuation' and + (@*[local-name() = 'class'] = 'spaces' or + @*[local-name() = 'class'] = 'dashes' or + @*[local-name() = 'class'] = 'quotes' or + @*[local-name() = 'class'] = 'bullets' + ) +) or +@*[local-name() = 'name'] = 'HORIZONTAL ELLIPSIS' or +@*[local-name() = 'name'] = 'WORD JOINER' or +@*[local-name() = 'name'] = 'SERVICE MARK' or +@*[local-name() = 'name'] = 'TRADE MARK SIGN' or +@*[local-name() = 'name'] = 'ZERO WIDTH NO-BREAK SPACE' + + + + +Description + +If the value of the + man.charmap.use.subset parameter is + non-zero, and your DocBook source is written in English (that + is, if its lang or xml:lang attribute on the root element + in your DocBook source or on the first refentry + element in your source has the value en or if + it has no lang or xml:lang attribute), then the + character-map subset specified by the + man.charmap.subset.profile.english + parameter is used instead of the full roff character map. + +Otherwise, if the lang or xml:lang attribute + on the root element in your DocBook source or on the first + refentry element in your source has a value other + than en, then the character-map subset + specified by the + man.charmap.subset.profile parameter is + used instead of + man.charmap.subset.profile.english. + +The difference between the two subsets is that + man.charmap.subset.profile provides + mappings for characters in Western European languages that are + not part of the Roman (English) alphabet (ASCII character set). + +The value of man.charmap.subset.profile.english +is a string representing an XPath expression that matches attribute +names and values for output-character elements in the character map. + +For other details, see the documentation for the +man.charmap.subset.profile.english and +man.charmap.use.subset parameters. + + + diff --git a/doc/help/xslt/params/man.charmap.subset.profile.xml b/doc/help/xslt/params/man.charmap.subset.profile.xml new file mode 100644 index 00000000..913a4e3b --- /dev/null +++ b/doc/help/xslt/params/man.charmap.subset.profile.xml @@ -0,0 +1,297 @@ + + +man.charmap.subset.profile +string + + +man.charmap.subset.profile +Profile of character map subset + + + + + +@*[local-name() = 'block'] = 'Miscellaneous Technical' or +(@*[local-name() = 'block'] = 'C1 Controls And Latin-1 Supplement (Latin-1 Supplement)' and + (@*[local-name() = 'class'] = 'symbols' or + @*[local-name() = 'class'] = 'letters') +) or +@*[local-name() = 'block'] = 'Latin Extended-A' +or +(@*[local-name() = 'block'] = 'General Punctuation' and + (@*[local-name() = 'class'] = 'spaces' or + @*[local-name() = 'class'] = 'dashes' or + @*[local-name() = 'class'] = 'quotes' or + @*[local-name() = 'class'] = 'bullets' + ) +) or +@*[local-name() = 'name'] = 'HORIZONTAL ELLIPSIS' or +@*[local-name() = 'name'] = 'WORD JOINER' or +@*[local-name() = 'name'] = 'SERVICE MARK' or +@*[local-name() = 'name'] = 'TRADE MARK SIGN' or +@*[local-name() = 'name'] = 'ZERO WIDTH NO-BREAK SPACE' + + + + +Description + +If the value of the +man.charmap.use.subset parameter is non-zero, +and your DocBook source is not written in English (that + is, if the lang or xml:lang attribute on the root element + in your DocBook source or on the first refentry + element in your source has a value other than + en), then the character-map subset specified + by the man.charmap.subset.profile + parameter is used instead of the full roff character map. + +Otherwise, if the lang or xml:lang attribute on the root + element in your DocBook + source or on the first refentry element in your source + has the value en or if it has no lang or xml:lang attribute, then the character-map + subset specified by the + man.charmap.subset.profile.english + parameter is used instead of + man.charmap.subset.profile. + +The difference between the two subsets is that + man.charmap.subset.profile provides + mappings for characters in Western European languages that are + not part of the Roman (English) alphabet (ASCII character set). + +The value of man.charmap.subset.profile +is a string representing an XPath expression that matches attribute +names and values for output-character +elements in the character map. + +The attributes supported in the standard roff character map included in the distribution are: + + + character + + a raw Unicode character or numeric Unicode + character-entity value (either in decimal or hex); all + characters have this attribute + + + + name + + a standard full/long ISO/Unicode character name (e.g., + "OHM SIGN"); all characters have this attribute + + + + block + + a standard Unicode "block" name (e.g., "General + Punctuation"); all characters have this attribute. For the full + list of Unicode block names supported in the standard roff + character map, see . + + + + class + + a class of characters (e.g., "spaces"). Not all + characters have this attribute; currently, it is used only with + certain characters within the "C1 Controls And Latin-1 + Supplement" and "General Punctuation" blocks. For details, see + . + + + + entity + + an ISO entity name (e.g., "ohm"); not all characters + have this attribute, because not all characters have ISO entity + names; for example, of the 800 or so characters in the standard + roff character map included in the distribution, only around 300 + have ISO entity names. + + + + + string + + a string representing an roff/groff escape-code (with + "@esc@" used in place of the backslash), or a simple ASCII + string; all characters in the roff character map have this + attribute + + + + +The value of man.charmap.subset.profile +is evaluated as an XPath expression at run-time to select a portion of +the roff character map to use. You can tune the subset used by adding +or removing parts. For example, if you need to use a wide range of +mathematical operators in a document, and you want to have them +converted into roff markup properly, you might add the following: + + @*[local-name() = 'block'] ='MathematicalOperators' + +That will cause a additional set of around 67 additional "math" +characters to be converted into roff markup. + + +Depending on which XSLT engine you use, either the EXSLT +dyn:evaluate extension function (for xsltproc or +Xalan) or saxon:evaluate extension function (for +Saxon) are used to dynamically evaluate the value of +man.charmap.subset.profile at run-time. If you +don't use xsltproc, Saxon, Xalan -- or some other XSLT engine that +supports dyn:evaluate -- you must either set the +value of the man.charmap.use.subset parameter +to zero and process your documents using the full character map +instead, or set the value of the +man.charmap.enabled parameter to zero instead +(so that character-map processing is disabled completely. + + +An alternative to using +man.charmap.subset.profile is to create your +own custom character map, and set the value of +man.charmap.uri to the URI/filename for +that. If you use a custom character map, you will probably want to +include in it just the characters you want to use, and so you will +most likely also want to set the value of +man.charmap.use.subset to zero. +You can create a +custom character map by making a copy of the standard roff character map provided in the distribution, and +then adding to, changing, and/or deleting from that. + + +If you author your DocBook XML source in UTF-8 or UTF-16 +encoding and aren't sure what OSes or environments your man-page +output might end up being viewed on, and not sure what version of +nroff/groff those environments might have, you should be careful about +what Unicode symbols and special characters you use in your source and +what parts you add to the value of +man.charmap.subset.profile. +Many of the escape codes used are specific to groff and using +them may not provide the expected output on an OS or environment that +uses nroff instead of groff. +On the other hand, if you intend for your man-page output to be +viewed only on modern systems (for example, GNU/Linux systems, FreeBSD +systems, or Cygwin environments) that have a good, up-to-date groff, +then you can safely include a wide range of Unicode symbols and +special characters in your UTF-8 or UTF-16 encoded DocBook XML source +and add any of the supported Unicode block names to the value of +man.charmap.subset.profile. + + + +For other details, see the documentation for the +man.charmap.use.subset parameter. + +Supported Unicode block names and "class" values + + + Below is the full list of Unicode block names and "class" + values supported in the standard roff stylesheet provided in the + distribution, along with a description of which codepoints from the + Unicode range corresponding to that block name or block/class + combination are supported. + + + + C1 Controls And Latin-1 Supplement (Latin-1 Supplement) (x00a0 to x00ff) + class values + + + symbols + + + letters + + + + + Latin Extended-A (x0100 to x017f, partial) + + + Spacing Modifier Letters (x02b0 to x02ee, partial) + + + Greek and Coptic (x0370 to x03ff, partial) + + + General Punctuation (x2000 to x206f, partial) + class values + + + spaces + + + dashes + + + quotes + + + daggers + + + bullets + + + leaders + + + primes + + + + + + Superscripts and Subscripts (x2070 to x209f) + + + Currency Symbols (x20a0 to x20b1) + + + Letterlike Symbols (x2100 to x214b) + + + Number Forms (x2150 to x218f) + + + Arrows (x2190 to x21ff, partial) + + + Mathematical Operators (x2200 to x22ff, partial) + + + Control Pictures (x2400 to x243f) + + + Enclosed Alphanumerics (x2460 to x24ff) + + + Geometric Shapes (x25a0 to x25f7, partial) + + + Miscellaneous Symbols (x2600 to x26ff, partial) + + + Dingbats (x2700 to x27be, partial) + + + Alphabetic Presentation Forms (xfb00 to xfb04 only) + + + + + diff --git a/doc/help/xslt/params/man.charmap.uri.xml b/doc/help/xslt/params/man.charmap.uri.xml new file mode 100644 index 00000000..0c8f5745 --- /dev/null +++ b/doc/help/xslt/params/man.charmap.uri.xml @@ -0,0 +1,42 @@ + + +man.charmap.uri +uri + + +man.charmap.uri +URI for custom roff character map + + + + + + + + +Description + +For converting certain Unicode symbols and special characters in +UTF-8 or UTF-16 encoded XML source to appropriate groff/roff +equivalents in man-page output, the DocBook XSL Stylesheets +distribution includes an XSLT character +map. That character map can be considered the standard roff +character map for the distribution. + +If the value of the man.charmap.uri +parameter is non-empty, that value is used as the URI for the location +for an alternate roff character map to use in place of the standard +roff character map provided in the distribution. + + +Do not set a value for man.charmap.uri +unless you have a custom roff character map that differs from the +standard one provided in the distribution. + + + diff --git a/doc/help/xslt/params/man.charmap.use.subset.xml b/doc/help/xslt/params/man.charmap.use.subset.xml new file mode 100644 index 00000000..4403704f --- /dev/null +++ b/doc/help/xslt/params/man.charmap.use.subset.xml @@ -0,0 +1,80 @@ + + +man.charmap.use.subset +boolean + + +man.charmap.use.subset +Use subset of character map instead of full map? + + + + + + + + +Description + +If the value of the +man.charmap.use.subset parameter is non-zero, +a subset of the roff character map is used instead of the full roff +character map. The profile of the subset used is determined either +by the value of the +man.charmap.subset.profile +parameter (if the source is not in English) or the +man.charmap.subset.profile.english +parameter (if the source is in English). + + + You may want to experiment with setting a non-zero value of + man.charmap.use.subset, so that the full + character map is used. Depending on which XSLT engine you run, + setting a non-zero value for + man.charmap.use.subset may significantly + increase the time needed to process your documents. Or it may + not. For example, if you set it and run it with xsltproc, it seems + to dramatically increase processing time; on the other hand, if you + set it and run it with Saxon, it does not seem to increase + processing time nearly as much. + + If processing time is not a important concern and/or you can + tolerate the increase in processing time imposed by using the full + character map, set man.charmap.use.subset to + zero. + + +Details + +For converting certain Unicode symbols and special characters in +UTF-8 or UTF-16 encoded XML source to appropriate groff/roff +equivalents in man-page output, the DocBook XSL Stylesheets +distribution includes a roff character map that is compliant with the XSLT character +map format as detailed in the XSLT 2.0 specification. The map +contains more than 800 character mappings and can be considered the +standard roff character map for the distribution. + + +You can use the man.charmap.uri +parameter to specify a URI for the location for an alternate roff +character map to use in place of the standard roff character map +provided in the distribution. + + +Because it is not terrifically efficient to use the standard +800-character character map in full -- and for most (or all) users, +never necessary to use it in full -- the DocBook XSL Stylesheets +support a mechanism for using, within any given character map, a +subset of character mappings instead of the full set. You can use the +man.charmap.subset.profile or +man.charmap.subset.profile.english +parameter to tune the profile of that subset to use. + + + + diff --git a/doc/help/xslt/params/man.copyright.section.enabled.xml b/doc/help/xslt/params/man.copyright.section.enabled.xml new file mode 100644 index 00000000..9e835876 --- /dev/null +++ b/doc/help/xslt/params/man.copyright.section.enabled.xml @@ -0,0 +1,46 @@ + + +man.copyright.section.enabled +boolean + + +man.copyright.section.enabled +Display auto-generated COPYRIGHT section? + + + +1 + + +Description + +If the value of +man.copyright.section.enabled is non-zero +(the default), then a COPYRIGHT section is +generated near the end of each man page. The output of the +COPYRIGHT section is assembled from any +copyright and legalnotice metadata found in +the contents of the child info or +refentryinfo (if any) of the refentry +itself, or from any copyright and +legalnotice metadata that may appear in info +contents of any ancestors of the refentry. + +If the value of +man.copyright.section.enabled is zero, the +the auto-generated COPYRIGHT section is +suppressed. + +Set the value of + man.copyright.section.enabled to zero if + you want to have a manually created COPYRIGHT + section in your source, and you want it to appear in output + instead of the auto-generated COPYRIGHT + section. + + diff --git a/doc/help/xslt/params/man.endnotes.are.numbered.xml b/doc/help/xslt/params/man.endnotes.are.numbered.xml new file mode 100644 index 00000000..b069ec3e --- /dev/null +++ b/doc/help/xslt/params/man.endnotes.are.numbered.xml @@ -0,0 +1,106 @@ + + +man.endnotes.are.numbered +boolean + + +man.endnotes.are.numbered +Number endnotes? + + + + +1 + + + +Description + +If the value of man.endnotes.are.numbered is +non-zero (the default), then for each non-empty +A “non-empty” notesource is one that looks like +this: <ulink url="http://docbook.sf.net/snapshot/xsl/doc/manpages/">manpages</ulink> +an “empty” notesource is on that looks like this: <ulink url="http://docbook.sf.net/snapshot/xsl/doc/manpages/"/> + “notesource”: + + + + a number (in square brackets) is displayed inline after the + rendered inline contents (if any) of the notesource + + + the contents of the notesource are included in a + numbered list of endnotes that is generated at the end of + each man page; the number for each endnote corresponds to + the inline number for the notesource with which it is + associated + + +The default heading for the list of endnotes is +NOTES. To output a different heading, set a value +for the man.endnotes.section.heading +parameter. + + + The endnotes list is also displayed (but without + numbers) if the value of + man.endnotes.list.enabled is + non-zero. + + + +If the value of man.endnotes.are.numbered is +zero, numbering of endnotess is suppressed; only inline +contents (if any) of the notesource are displayed inline. + + If you are thinking about disabling endnote numbering by setting + the value of man.endnotes.are.numbered to zero, + before you do so, first take some time to carefully + consider the information needs and experiences of your users. The + square-bracketed numbers displayed inline after notesources may seem + obstrusive and aesthetically unpleasingAs far as notesources that are links, ytou might + think it would be better to just display URLs for non-empty + links inline, after their content, rather than displaying + square-bracketed numbers all over the place. But it's not better. In + fact, it's not even practical, because many (most) URLs for links + are too long to be displayed inline. They end up overflowing the + right margin. You can set a non-zero value for + man.break.after.slash parameter to deal with + that, but it could be argued that what you end up with is at least + as ugly, and definitely more obstrusive, then having short + square-bracketed numbers displayed inline., + + but in a text-only output format, the + numbered-notesources/endnotes-listing mechanism is the only + practical way to handle this kind of content. + + Also, users of “text based” browsers such as + lynx will already be accustomed to seeing inline + numbers for links. And various "man to html" applications, such as + the widely used man2html (VH-Man2html) + application, can automatically turn URLs into "real" HTML hyperlinks + in output. So leaving man.endnotes.are.numbered + at its default (non-zero) value ensures that no information is + lost in your man-page output. It just gets + “rearranged”. + + +The handling of empty links is not affected by this +parameter. Empty links are handled simply by displaying their URLs +inline. Empty links are never auto-numbered. + +If you disable endnotes numbering, you should probably also set +man.font.links to an empty value (to +disable font formatting for links. + + +Related Parameters + man.endnotes.list.enabled, + man.font.links + + diff --git a/doc/help/xslt/params/man.endnotes.list.enabled.xml b/doc/help/xslt/params/man.endnotes.list.enabled.xml new file mode 100644 index 00000000..89d81888 --- /dev/null +++ b/doc/help/xslt/params/man.endnotes.list.enabled.xml @@ -0,0 +1,105 @@ + + +man.endnotes.list.enabled +boolean + + +man.endnotes.list.enabled +Display endnotes list at end of man page? + + + + +1 + + + +Description + +If the value of man.endnotes.list.enabled is +non-zero (the default), then an endnotes list is added to the end of +the output man page. + +If the value of man.endnotes.list.enabled is +zero, the list is suppressed — unless link numbering is enabled (that +is, if man.endnotes.are.numbered is non-zero), in +which case, that setting overrides the +man.endnotes.list.enabled setting, and the +endnotes list is still displayed. The reason is that inline +numbering of notesources associated with endnotes only makes sense +if a (numbered) list of endnotes is also generated. + + + Leaving + man.endnotes.list.enabled at its default + (non-zero) value ensures that no “out of line” information (such + as the URLs for hyperlinks and images) gets lost in your + man-page output. It just gets “rearranged”. + So if you’re thinking about disabling endnotes listing by + setting the value of + man.endnotes.list.enabled to zero: + Before you do so, first take some time to carefully consider + the information needs and experiences of your users. The “out + of line” information has value even if the presentation of it + in text output is not as interactive as it may be in other + output formats. + As far as the specific case of URLs: Even though the URLs + displayed in text output may not be “real” (clickable) + hyperlinks, many X terminals have convenience features for + recognizing URLs and can, for example, present users with + an options to open a URL in a browser with the user clicks on + the URL is a terminal window. And short of those, users with X + terminals can always manually cut and paste the URLs into a web + browser. + Also, note that various “man to html” tools, such as the + widely used man2html (VH-Man2html) + application, automatically mark up URLs with a@href markup + during conversion — resulting in “real” hyperlinks in HTML + output from those tools. + + +To “turn off” numbering of endnotes in the +endnotes list, set man.endnotes.are.numbered +to zero. The endnotes list will +still be displayed; it will just be displayed without the +numbersIt can still make sense to have +the list of endnotes displayed even if you have endnotes numbering turned +off. In that case, your endnotes list basically becomes a “list +of references” without any association with specific text in +your document. This is probably the best option if you find the inline +endnotes numbering obtrusive. Your users will still have access to all the “out of line” +such as URLs for hyperlinks. + + +The default heading for the endnotes list is +NOTES. To change that, set a non-empty +value for the man.endnotes.list.heading +parameter. + +In the case of notesources that are links: Along with the +URL for each link, the endnotes list includes the contents of the +link. The list thus includes only non-empty + +A “non-empty” link is one that looks like +this: <ulink url="http://docbook.sf.net/snapshot/xsl/doc/manpages/">manpages</ulink> +an “empty link” is on that looks like this: <ulink url="http://docbook.sf.net/snapshot/xsl/doc/manpages/"/> + links. + +Empty links are never included, and never numbered. They are simply +displayed inline, without any numbering. + +In addition, if there are multiple instances of links in a +refentry that have the same URL, the URL is listed only +once. The contents listed for that link in the endnotes list are +the contents of the first link which has that URL. + +If you disable endnotes listing, you should probably also set +man.links.are.underlined to zero (to disable +link underlining). + + diff --git a/doc/help/xslt/params/man.endnotes.list.heading.xml b/doc/help/xslt/params/man.endnotes.list.heading.xml new file mode 100644 index 00000000..fe6545c9 --- /dev/null +++ b/doc/help/xslt/params/man.endnotes.list.heading.xml @@ -0,0 +1,36 @@ + + +man.endnotes.list.heading +string + + +man.endnotes.list.heading +Specifies an alternate name for endnotes list + + + + + + + + +Description + +If the value of the +man.endnotes.are.numbered parameter +and/or the man.endnotes.list.enabled +parameter is non-zero (the defaults for both are non-zero), a +numbered list of endnotes is generated near the end of each man +page. The default heading for the list of endnotes is the +equivalent of the English word NOTES in +the current locale. To cause an alternate heading to be displayed, +set a non-empty value for the +man.endnotes.list.heading parameter — +for example, REFERENCES. + + diff --git a/doc/help/xslt/params/man.font.funcprototype.xml b/doc/help/xslt/params/man.font.funcprototype.xml new file mode 100644 index 00000000..67b698ba --- /dev/null +++ b/doc/help/xslt/params/man.font.funcprototype.xml @@ -0,0 +1,30 @@ + + +man.font.funcprototype +string + + +man.font.funcprototype +Specifies font for funcprototype output + + + + + BI + + + +Description + +The man.font.funcprototype parameter +specifies the font for funcprototype output. It +should be a valid roff font name, such as BI or +B. + + + diff --git a/doc/help/xslt/params/man.font.funcsynopsisinfo.xml b/doc/help/xslt/params/man.font.funcsynopsisinfo.xml new file mode 100644 index 00000000..bd7a36fa --- /dev/null +++ b/doc/help/xslt/params/man.font.funcsynopsisinfo.xml @@ -0,0 +1,30 @@ + + +man.font.funcsynopsisinfo +string + + +man.font.funcsynopsisinfo +Specifies font for funcsynopsisinfo output + + + + + B + + + +Description + +The man.font.funcsynopsisinfo parameter +specifies the font for funcsynopsisinfo output. It +should be a valid roff font name, such as B or +I. + + + diff --git a/doc/help/xslt/params/man.font.links.xml b/doc/help/xslt/params/man.font.links.xml new file mode 100644 index 00000000..0f8a1e0f --- /dev/null +++ b/doc/help/xslt/params/man.font.links.xml @@ -0,0 +1,64 @@ + + +man.font.links +string + + +man.font.links +Specifies font for links + + + + +B + + + +Description + +The man.font.links parameter +specifies the font for output of links (ulink instances +and any instances of any element with an xlink:href attribute). + +The value of man.font.links must be + either B or I, or empty. If +the value is empty, no font formatting is applied to links. + +If you set man.endnotes.are.numbered and/or +man.endnotes.list.enabled to zero (disabled), then +you should probably also set an empty value for +man.font.links. But if +man.endnotes.are.numbered is non-zero (enabled), +you should probably keep +man.font.links set to +B or IThe + main purpose of applying a font format to links in most output +formats it to indicate that the formatted text is +“clickable”; given that links rendered in man pages are +not “real” hyperlinks that users can click on, it might +seem like there is never a good reason to have font formatting for +link contents in man output. +In fact, if you suppress the +display of inline link references (by setting +man.endnotes.are.numbered to zero), there is no +good reason to apply font formatting to links. However, if +man.endnotes.are.numbered is non-zero, having +font formatting for links (arguably) serves a purpose: It provides +“context” information about exactly what part of the text +is being “annotated” by the link. Depending on how you +mark up your content, that context information may or may not +have value.. + + +Related Parameters + man.endnotes.list.enabled, + man.endnotes.are.numbered + + + diff --git a/doc/help/xslt/params/man.font.table.headings.xml b/doc/help/xslt/params/man.font.table.headings.xml new file mode 100644 index 00000000..5056f2b6 --- /dev/null +++ b/doc/help/xslt/params/man.font.table.headings.xml @@ -0,0 +1,30 @@ + + +man.font.table.headings +string + + +man.font.table.headings +Specifies font for table headings + + + + + B + + + +Description + +The man.font.table.headings parameter +specifies the font for table headings. It should be +a valid roff font, such as B or +I. + + + diff --git a/doc/help/xslt/params/man.font.table.title.xml b/doc/help/xslt/params/man.font.table.title.xml new file mode 100644 index 00000000..a7f2ae9e --- /dev/null +++ b/doc/help/xslt/params/man.font.table.title.xml @@ -0,0 +1,30 @@ + + +man.font.table.title +string + + +man.font.table.title +Specifies font for table headings + + + + + B + + + +Description + +The man.font.table.title parameter +specifies the font for table titles. It should be +a valid roff font, such as B or +I. + + + diff --git a/doc/help/xslt/params/man.funcsynopsis.style.xml b/doc/help/xslt/params/man.funcsynopsis.style.xml new file mode 100644 index 00000000..0597087b --- /dev/null +++ b/doc/help/xslt/params/man.funcsynopsis.style.xml @@ -0,0 +1,26 @@ + + +man.funcsynopsis.style +list +ansi +kr + + +man.funcsynopsis.style +What style of funcsynopsis should be generated? + + +ansi + +Description +If man.funcsynopsis.style is +ansi, ANSI-style function synopses are +generated for a funcsynopsis, otherwise K&R-style +function synopses are generated. + + diff --git a/doc/help/xslt/params/man.hyphenate.computer.inlines.xml b/doc/help/xslt/params/man.hyphenate.computer.inlines.xml new file mode 100644 index 00000000..3e23ade4 --- /dev/null +++ b/doc/help/xslt/params/man.hyphenate.computer.inlines.xml @@ -0,0 +1,53 @@ + + +man.hyphenate.computer.inlines +boolean + + +man.hyphenate.computer.inlines +Hyphenate computer inlines? + + + + +0 + + +Description + +If zero (the default), hyphenation is suppressed for +computer inlines such as environment variables, +constants, etc. This parameter current affects output of the following +elements: + + + classname + constant + envar + errorcode + option + replaceable + userinput + type + varname + + + + + If hyphenation is already turned off globally (that is, if + man.hyphenate is zero, setting the + man.hyphenate.computer.inlines is not + necessary. + + +If man.hyphenate.computer.inlines is +non-zero, computer inlines will not be treated specially and will be +hyphenated like other words when needed. + + + diff --git a/doc/help/xslt/params/man.hyphenate.filenames.xml b/doc/help/xslt/params/man.hyphenate.filenames.xml new file mode 100644 index 00000000..891d6dae --- /dev/null +++ b/doc/help/xslt/params/man.hyphenate.filenames.xml @@ -0,0 +1,47 @@ + + +man.hyphenate.filenames +boolean + + +man.hyphenate.filenames +Hyphenate filenames? + + + + +0 + + +Description + +If zero (the default), hyphenation is suppressed for +filename output. + + + If hyphenation is already turned off globally (that is, if + man.hyphenate is zero, setting + man.hyphenate.filenames is not + necessary. + + +If man.hyphenate.filenames is non-zero, +filenames will not be treated specially and are subject to hyphenation +just like other words. + + + If you are thinking about setting a non-zero value for + man.hyphenate.filenames in order to make long + filenames/pathnames break across lines, you'd probably be better off + experimenting with setting the + man.break.after.slash parameter first. That + will cause long pathnames to be broken after slashes. + + + + diff --git a/doc/help/xslt/params/man.hyphenate.urls.xml b/doc/help/xslt/params/man.hyphenate.urls.xml new file mode 100644 index 00000000..a64dfa75 --- /dev/null +++ b/doc/help/xslt/params/man.hyphenate.urls.xml @@ -0,0 +1,46 @@ + + +man.hyphenate.urls +boolean + + +man.hyphenate.urls +Hyphenate URLs? + + + + +0 + + +Description + +If zero (the default), hyphenation is suppressed for output of +the ulink url attribute. + + + If hyphenation is already turned off globally (that is, if + man.hyphenate is zero, setting + man.hyphenate.urls is not necessary. + + +If man.hyphenate.urls is non-zero, URLs +will not be treated specially and are subject to hyphenation just like +other words. + + + If you are thinking about setting a non-zero value for + man.hyphenate.urls in order to make long + URLs break across lines, you'd probably be better off + experimenting with setting the + man.break.after.slash parameter first. That + will cause long URLs to be broken after slashes. + + + + diff --git a/doc/help/xslt/params/man.hyphenate.xml b/doc/help/xslt/params/man.hyphenate.xml new file mode 100644 index 00000000..9198bbbb --- /dev/null +++ b/doc/help/xslt/params/man.hyphenate.xml @@ -0,0 +1,59 @@ + + +man.hyphenate +boolean + + +man.hyphenate +Enable hyphenation? + + + + +0 + + +Description + +If non-zero, hyphenation is enabled. + + +The default value for this parameter is zero because groff is +not particularly smart about how it does hyphenation; it can end up +hyphenating a lot of things that you don't want hyphenated. To +mitigate that, the default behavior of the stylesheets is to suppress +hyphenation of computer inlines, filenames, and URLs. (You can +override the default behavior by setting non-zero values for the +man.hyphenate.urls, +man.hyphenate.filenames, and +man.hyphenate.computer.inlines parameters.) But +the best way is still to just globally disable hyphenation, as the +stylesheets do by default. + +The only good reason to enabled hyphenation is if you have also +enabled justification (which is disabled by default). The reason is +that justified text can look very bad unless you also hyphenate it; to +quote the Hypenation node from the groff info page: + +
    + Since the odds are not great for finding a set of + words, for every output line, which fit nicely on a line without + inserting excessive amounts of space between words, 'gtroff' + hyphenates words so that it can justify lines without inserting too + much space between words. +
    + +So, if you set a non-zero value for the +man.justify parameter (to enable +justification), then you should probably also set a non-zero value for +man.hyphenate (to enable hyphenation).
    +
    + + +
    +
    diff --git a/doc/help/xslt/params/man.indent.blurbs.xml b/doc/help/xslt/params/man.indent.blurbs.xml new file mode 100644 index 00000000..bf9bb91e --- /dev/null +++ b/doc/help/xslt/params/man.indent.blurbs.xml @@ -0,0 +1,33 @@ + + +man.indent.blurbs +boolean + + +man.indent.blurbs +Adjust indentation of blurbs? + + + + + + + +Description + +If the value of man.indent.blurbs is +non-zero, the width of the left margin for +authorblurb, personblurb, and +contrib output is set to the value of the +man.indent.width parameter +(3n by default). If instead the value of +man.indent.blurbs is zero, the built-in roff +default width (7.2n) is used. + + + diff --git a/doc/help/xslt/params/man.indent.lists.xml b/doc/help/xslt/params/man.indent.lists.xml new file mode 100644 index 00000000..a2654d09 --- /dev/null +++ b/doc/help/xslt/params/man.indent.lists.xml @@ -0,0 +1,35 @@ + + +man.indent.lists +boolean + + +man.indent.lists +Adjust indentation of lists? + + + + + + + +Description + +If the value of man.indent.lists is +non-zero, the width of the left margin for list items in +itemizedlist, +orderedlist, +variablelist output (and output of some other +lists) is set to the value of the +man.indent.width parameter +(4n by default). If instead the value of +man.indent.lists is zero, the built-in roff +default width (7.2n) is used. + + + diff --git a/doc/help/xslt/params/man.indent.refsect.xml b/doc/help/xslt/params/man.indent.refsect.xml new file mode 100644 index 00000000..2865f8c6 --- /dev/null +++ b/doc/help/xslt/params/man.indent.refsect.xml @@ -0,0 +1,70 @@ + + +man.indent.refsect +boolean + + +man.indent.refsect +Adjust indentation of refsect* and refsection? + + + + + + + +Description + +If the value of man.indent.refsect is +non-zero, the width of the left margin for +refsect1, refsect2 and +refsect3 contents and titles (and first-level, +second-level, and third-level nested +refsectioninstances) is adjusted by the value of +the man.indent.width parameter. With +man.indent.width set to its default value of +3n, the main results are that: + + + + contents of refsect1 are output with a + left margin of three characters instead the roff default of seven + or eight characters + + + contents of refsect2 are displayed in + console output with a left margin of six characters instead the of + the roff default of seven characters + + + the contents of refsect3 and nested + refsection instances are adjusted + accordingly. + + + +If instead the value of man.indent.refsect is +zero, no margin adjustment is done for refsect* +output. + + + If your content is primarly comprised of + refsect1 and refsect2 content + (or the refsection equivalent) – with few or + no refsect3 or lower nested sections , you may be + able to “conserve” space in your output by setting + man.indent.refsect to a non-zero value. Doing + so will “squeeze” the left margin in such as way as to provide an + additional four characters of “room” per line in + refsect1 output. That extra room may be useful + if, for example, you have many verbatim sections with long lines in + them. + + + + diff --git a/doc/help/xslt/params/man.indent.verbatims.xml b/doc/help/xslt/params/man.indent.verbatims.xml new file mode 100644 index 00000000..0436c9ed --- /dev/null +++ b/doc/help/xslt/params/man.indent.verbatims.xml @@ -0,0 +1,33 @@ + + +man.indent.verbatims +boolean + + +man.indent.verbatims +Adjust indentation of verbatims? + + + + + + + +Description + +If the value of man.indent.verbatims is +non-zero, the width of the left margin for output of verbatim +environments (programlisting, +screen, and so on) is set to the value of the +man.indent.width parameter +(3n by default). If instead the value of +man.indent.verbatims is zero, the built-in roff +default width (7.2n) is used. + + + diff --git a/doc/help/xslt/params/man.indent.width.xml b/doc/help/xslt/params/man.indent.width.xml new file mode 100644 index 00000000..2d4496de --- /dev/null +++ b/doc/help/xslt/params/man.indent.width.xml @@ -0,0 +1,39 @@ + + +man.indent.width +length + + +man.indent.width +Specifies width used for adjusted indents + + + + +4 + + + +Description +The man.indent.width parameter specifies +the width used for adjusted indents. The value of +man.indent.width is used for indenting of +lists, verbatims, headings, and elsewhere, depending on whether the +values of certain man.indent.* boolean parameters +are non-zero. + +The value of man.indent.width should +include a valid roff measurement unit (for example, +n or u). The default value of +4n specifies a 4-en width; when viewed on a +console, that amounts to the width of four characters. For details +about roff measurment units, see the Measurements +node in the groff info page. + + + diff --git a/doc/help/xslt/params/man.justify.xml b/doc/help/xslt/params/man.justify.xml new file mode 100644 index 00000000..5495d05c --- /dev/null +++ b/doc/help/xslt/params/man.justify.xml @@ -0,0 +1,52 @@ + + +man.justify +boolean + + +man.justify +Justify text to both right and left margins? + + + + +0 + + +Description + +If non-zero, text is justified to both the right and left +margins (or, in roff terminology, "adjusted and filled" to both the +right and left margins). If zero (the default), text is adjusted to +the left margin only -- producing what is traditionally called +"ragged-right" text. + + +The default value for this parameter is zero because justified +text looks good only when it is also hyphenated. Without hyphenation, +excessive amounts of space often end up getting between words, in +order to "pad" lines out to align on the right margin. + +The problem is that groff is not particularly smart about how it +does hyphenation; it can end up hyphenating a lot of things that you +don't want hyphenated. So, disabling both justification and +hyphenation ensures that hyphens won't get inserted where you don't +want to them, and you don't end up with lines containing excessive +amounts of space between words. + +However, if do you decide to set a non-zero value for the +man.justify parameter (to enable +justification), then you should probably also set a non-zero value for +man.hyphenate (to enable hyphenation). + +Yes, these default settings run counter to how most existing man +pages are formatted. But there are some notable exceptions, such as +the perl man pages. + + + diff --git a/doc/help/xslt/params/man.output.base.dir.xml b/doc/help/xslt/params/man.output.base.dir.xml new file mode 100644 index 00000000..25113d0c --- /dev/null +++ b/doc/help/xslt/params/man.output.base.dir.xml @@ -0,0 +1,39 @@ + + +man.output.base.dir +uri + + +man.output.base.dir +Specifies separate output directory + + + +man/ + + +Description + +The man.output.base.dir parameter +specifies the base directory into which man-page files are output. The +man.output.subdirs.enabled parameter controls +whether the files are output in subdirectories within the base +directory. + + + The values of the man.output.base.dir + and man.output.subdirs.enabled parameters are + used only if the value of + man.output.in.separate.dir parameter is + non-zero. If the value of the + man.output.in.separate.dir is zero, man-page + files are not output in a separate directory. + + + + diff --git a/doc/help/xslt/params/man.output.better.ps.enabled.xml b/doc/help/xslt/params/man.output.better.ps.enabled.xml new file mode 100644 index 00000000..82d15dd0 --- /dev/null +++ b/doc/help/xslt/params/man.output.better.ps.enabled.xml @@ -0,0 +1,61 @@ + + +man.output.better.ps.enabled +boolean + + +man.output.better.ps.enabled +Enable enhanced print/PostScript output? + + + +0 + + +Description + +If the value of the +man.output.better.ps.enabled parameter is +non-zero, certain markup is embedded in each generated man page +such that PostScript output from the man -Tps +command for that page will include a number of enhancements +designed to improve the quality of that output. + +If man.output.better.ps.enabled is +zero (the default), no such markup is embedded in generated man +pages, and no enhancements are included in the PostScript +output generated from those man pages by the man + -Tps command. + + + The enhancements provided by this parameter rely on + features that are specific to groff (GNU troff) and that are + not part of “classic” AT&T troff or any of its + derivatives. Therefore, any man pages you generate with this + parameter enabled will be readable only on systems on which + the groff (GNU troff) program is installed, such as GNU/Linux + systems. The pages will not not be + readable on systems on with the classic troff (AT&T + troff) command is installed. + + +The value of this parameter only affects PostScript output + generated from the man command. It has no + effect on output generated using the FO backend. + + + You can generate PostScript output for any man page by + running the following command: + man FOO -Tps > FOO.ps + You can then generate PDF output by running the following + command: + ps2pdf FOO.ps + + + + diff --git a/doc/help/xslt/params/man.output.encoding.xml b/doc/help/xslt/params/man.output.encoding.xml new file mode 100644 index 00000000..7154bc87 --- /dev/null +++ b/doc/help/xslt/params/man.output.encoding.xml @@ -0,0 +1,53 @@ + + +man.output.encoding +string + + +man.output.encoding +Encoding used for man-page output + + + + +UTF-8 + + + +Description + +This parameter specifies the encoding to use for files generated +by the manpages stylesheet. Not all processors support specification +of this parameter. + + + If the value of the man.charmap.enabled + parameter is non-zero (the default), keeping the + man.output.encoding parameter at its default + value (UTF-8) or setting it to + UTF-16 does not cause your + man pages to be output in raw UTF-8 or UTF-16 -- because + any Unicode characters for which matches are found in the enabled + character map will be replaced with roff escape sequences before the + final man-page files are generated. + + So if you want to generate "real" UTF-8 man pages, without any + character substitution being performed on your content, you need to + set man.charmap.enabled to zero (which will + completely disable character-map processing). + + You may also need to set + man.charmap.enabled to zero if you want to + output man pages in an encoding other than UTF-8 + or UTF-16. Character-map processing is based on + Unicode character values and may not work with other output + encodings. + + + + diff --git a/doc/help/xslt/params/man.output.in.separate.dir.xml b/doc/help/xslt/params/man.output.in.separate.dir.xml new file mode 100644 index 00000000..1492720b --- /dev/null +++ b/doc/help/xslt/params/man.output.in.separate.dir.xml @@ -0,0 +1,32 @@ + + +man.output.in.separate.dir +boolean + + +man.output.in.separate.dir +Output man-page files in separate output directory? + + + + + + + + +Description + +If the value of man.output.in.separate.dir +parameter is non-zero, man-page files are output in a separate +directory, specified by the man.output.base.dir +parameter; otherwise, if the value of +man.output.in.separate.dir is zero, man-page files +are not output in a separate directory. + + + diff --git a/doc/help/xslt/params/man.output.lang.in.name.enabled.xml b/doc/help/xslt/params/man.output.lang.in.name.enabled.xml new file mode 100644 index 00000000..1fed3c04 --- /dev/null +++ b/doc/help/xslt/params/man.output.lang.in.name.enabled.xml @@ -0,0 +1,50 @@ + + +man.output.lang.in.name.enabled +boolean + + +man.output.lang.in.name.enabled +Include $LANG value in man-page filename/pathname? + + + + + + + + +Description + + The man.output.lang.in.name.enabled + parameter specifies whether a $lang value is + included in man-page filenames and pathnames. + + If the value of + man.output.lang.in.name.enabled is non-zero, + man-page files are output with the $lang value + included in their filenames or pathnames as follows; + + + + if man.output.subdirs.enabled is + non-zero, each file is output to, e.g., a + man/$lang/man8/foo.8 + pathname + + + if man.output.subdirs.enabled is + zero, each file is output with a + foo.$lang.8 + filename + + + + + + diff --git a/doc/help/xslt/params/man.output.manifest.enabled.xml b/doc/help/xslt/params/man.output.manifest.enabled.xml new file mode 100644 index 00000000..5da041cd --- /dev/null +++ b/doc/help/xslt/params/man.output.manifest.enabled.xml @@ -0,0 +1,27 @@ + + + man.output.manifest.enabled + boolean + + + man.output.manifest.enabled + Generate a manifest file? + + + + + + + Description + + If non-zero, a list of filenames for man pages generated by + the stylesheet transformation is written to the file named by the + man.output.manifest.filename parameter. + + + diff --git a/doc/help/xslt/params/man.output.manifest.filename.xml b/doc/help/xslt/params/man.output.manifest.filename.xml new file mode 100644 index 00000000..f514ede9 --- /dev/null +++ b/doc/help/xslt/params/man.output.manifest.filename.xml @@ -0,0 +1,29 @@ + + + man.output.manifest.filename + string + + + man.output.manifest.filename + Name of manifest file + + + + MAN.MANIFEST + + + Description + + The man.output.manifest.filename parameter + specifies the name of the file to which the manpages manifest file + is written (if the value of the + man.output.manifest.enabled parameter is + non-zero). + + + diff --git a/doc/help/xslt/params/man.output.quietly.xml b/doc/help/xslt/params/man.output.quietly.xml new file mode 100644 index 00000000..acde7f42 --- /dev/null +++ b/doc/help/xslt/params/man.output.quietly.xml @@ -0,0 +1,37 @@ + + +man.output.quietly +boolean + + +man.output.quietly +Suppress filename messages emitted when generating output? + + + + + + + + +Description + +If zero (the default), for each man-page file created, a message +with the name of the file is emitted. If non-zero, the files are +output "quietly" -- that is, the filename messages are +suppressed. + + + If you are processing a large amount of refentry + content, you may be able to speed up processing significantly by + setting a non-zero value for + man.output.quietly. + + + + diff --git a/doc/help/xslt/params/man.output.subdirs.enabled.xml b/doc/help/xslt/params/man.output.subdirs.enabled.xml new file mode 100644 index 00000000..876b94e4 --- /dev/null +++ b/doc/help/xslt/params/man.output.subdirs.enabled.xml @@ -0,0 +1,40 @@ + + +man.output.subdirs.enabled +boolean + + +man.output.subdirs.enabled +Output man-page files in subdirectories within base output directory? + + + + + + + + +Description + +The man.output.subdirs.enabled parameter +controls whether man-pages files are output in subdirectories within +the base directory specified by the directory specified by the +man.output.base.dir parameter. + + + The values of the man.output.base.dir + and man.output.subdirs.enabled parameters are + used only if the value of + man.output.in.separate.dir parameter is + non-zero. If the value of the + man.output.in.separate.dir is zero, man-page + files are not output in a separate directory. + + + + diff --git a/doc/help/xslt/params/man.segtitle.suppress.xml b/doc/help/xslt/params/man.segtitle.suppress.xml new file mode 100644 index 00000000..e54336d9 --- /dev/null +++ b/doc/help/xslt/params/man.segtitle.suppress.xml @@ -0,0 +1,28 @@ + + +man.segtitle.suppress +boolean + + +man.segtitle.suppress +Suppress display of segtitle contents? + + + + + + + +Description + +If the value of man.segtitle.suppress is +non-zero, then display of segtitle contents is +suppressed in output. + + + diff --git a/doc/help/xslt/params/man.string.subst.map.local.post.xml b/doc/help/xslt/params/man.string.subst.map.local.post.xml new file mode 100644 index 00000000..b12448d8 --- /dev/null +++ b/doc/help/xslt/params/man.string.subst.map.local.post.xml @@ -0,0 +1,34 @@ + + +man.string.subst.map.local.post +string + + +man.string.subst.map.local.post +Specifies “local” string substitutions + + + + + + + + +Description + +Use the man.string.subst.map.local.post +parameter to specify any “local” string substitutions to perform over +the entire roff source for each man page after +performing the string substitutions specified by the man.string.subst.map parameter. + +For details about the format of this parameter, see the +documentation for the man.string.subst.map +parameter. + + + diff --git a/doc/help/xslt/params/man.string.subst.map.local.pre.xml b/doc/help/xslt/params/man.string.subst.map.local.pre.xml new file mode 100644 index 00000000..6483752f --- /dev/null +++ b/doc/help/xslt/params/man.string.subst.map.local.pre.xml @@ -0,0 +1,34 @@ + + +man.string.subst.map.local.pre +string + + +man.string.subst.map.local.pre +Specifies “local” string substitutions + + + + + + + + +Description + +Use the man.string.subst.map.local.pre +parameter to specify any “local” string substitutions to perform over +the entire roff source for each man page before +performing the string substitutions specified by the man.string.subst.map parameter. + +For details about the format of this parameter, see the +documentation for the man.string.subst.map +parameter. + + + diff --git a/doc/help/xslt/params/man.string.subst.map.xml b/doc/help/xslt/params/man.string.subst.map.xml new file mode 100644 index 00000000..0feed4aa --- /dev/null +++ b/doc/help/xslt/params/man.string.subst.map.xml @@ -0,0 +1,162 @@ + + +man.string.subst.map +rtf + + +man.string.subst.map +Specifies a set of string substitutions + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Description + +The man.string.subst.map parameter +contains a map that specifies a set of +string substitutions to perform over the entire roff source for each +man page, either just before generating final man-page output (that +is, before writing man-page files to disk) or, if the value of the +man.charmap.enabled parameter is non-zero, +before applying the roff character map. + +You can use man.string.subst.map as a +“lightweight” character map to perform “essential” substitutions -- +that is, substitutions that are always performed, +even if the value of the man.charmap.enabled +parameter is zero. For example, you can use it to replace quotation +marks or other special characters that are generated by the DocBook +XSL stylesheets for a particular locale setting (as opposed to those +characters that are actually in source XML documents), or to replace +any special characters that may be automatically generated by a +particular customization of the DocBook XSL stylesheets. + + + Do you not change value of the + man.string.subst.map parameter unless you are + sure what you are doing. First consider adding your + string-substitution mappings to either or both of the following + parameters: + + + man.string.subst.map.local.pre + applied before + man.string.subst.map + + + man.string.subst.map.local.post + applied after + man.string.subst.map + + + By default, both of those parameters contain no + string substitutions. They are intended as a means for you to + specify your own local string-substitution mappings. + + If you remove any of default mappings from the value of the + man.string.subst.map parameter, you are + likely to end up with broken output. And be very careful about adding + anything to it; it’s used for doing string substitution over the + entire roff source of each man page – it causes target strings to be + replaced in roff requests and escapes, not just in the visible + contents of the page. + + + + + + Contents of the substitution map + + The string-substitution map contains one or more + ss:substitution elements, each of which has two + attributes: + + + oldstring + + string to replace + + + + newstring + + string with which to replace oldstring + + + + It may also include XML comments (that is, delimited with + "<!--" and "-->"). + + + + + diff --git a/doc/help/xslt/params/man.subheading.divider.enabled.xml b/doc/help/xslt/params/man.subheading.divider.enabled.xml new file mode 100644 index 00000000..1156c5fd --- /dev/null +++ b/doc/help/xslt/params/man.subheading.divider.enabled.xml @@ -0,0 +1,37 @@ + + +man.subheading.divider.enabled +boolean + + +man.subheading.divider.enabled +Add divider comment to roff source before/after subheadings? + + + + +0 + + + +Description + +If the value of the +man.subheading.divider.enabled parameter is +non-zero, the contents of the +man.subheading.divider parameter are used to +add a "divider" before and after subheadings in the roff +output. The divider is not visisble in the +rendered man page; it is added as a comment, in the source, +simply for the purpose of increasing reability of the source. + +If man.subheading.divider.enabled is zero +(the default), the subheading divider is suppressed. + + + diff --git a/doc/help/xslt/params/man.subheading.divider.xml b/doc/help/xslt/params/man.subheading.divider.xml new file mode 100644 index 00000000..dbd26696 --- /dev/null +++ b/doc/help/xslt/params/man.subheading.divider.xml @@ -0,0 +1,37 @@ + + +man.subheading.divider +string + + +man.subheading.divider +Specifies string to use as divider comment before/after subheadings + + + + +======================================================================== + + + +Description + +If the value of the +man.subheading.divider.enabled parameter is +non-zero, the contents of the +man.subheading.divider parameter are used to +add a "divider" before and after subheadings in the roff +output. The divider is not visisble in the +rendered man page; it is added as a comment, in the source, +simply for the purpose of increasing reability of the source. + +If man.subheading.divider.enabled is zero +(the default), the subheading divider is suppressed. + + + diff --git a/doc/help/xslt/params/man.table.footnotes.divider.xml b/doc/help/xslt/params/man.table.footnotes.divider.xml new file mode 100644 index 00000000..2ad4608b --- /dev/null +++ b/doc/help/xslt/params/man.table.footnotes.divider.xml @@ -0,0 +1,29 @@ + + +man.table.footnotes.divider +string + + +man.table.footnotes.divider +Specifies divider string that appears before table footnotes + + + + +---- + + + +Description + +In each table that contains footenotes, the string specified by +the man.table.footnotes.divider parameter is +output before the list of footnotes for the table. + + + diff --git a/doc/help/xslt/params/man.th.extra1.suppress.xml b/doc/help/xslt/params/man.th.extra1.suppress.xml new file mode 100644 index 00000000..c0241d2e --- /dev/null +++ b/doc/help/xslt/params/man.th.extra1.suppress.xml @@ -0,0 +1,32 @@ + + +man.th.extra1.suppress +boolean + + +man.th.extra1.suppress +Suppress extra1 part of header/footer? + + + + +0 + + +Description + +If the value of man.th.extra1.suppress is +non-zero, then the extra1 part of the +.TH title line header/footer is suppressed. + +The content of the extra1 field is almost +always displayed in the center footer of the page and is, universally, +a date. + + + diff --git a/doc/help/xslt/params/man.th.extra2.max.length.xml b/doc/help/xslt/params/man.th.extra2.max.length.xml new file mode 100644 index 00000000..d3513ecd --- /dev/null +++ b/doc/help/xslt/params/man.th.extra2.max.length.xml @@ -0,0 +1,43 @@ + + +man.th.extra2.max.length +integer + + +man.th.extra2.max.length +Maximum length of extra2 in header/footer + + + + +30 + + + +Description + +Specifies the maximum permitted length of the +extra2 part of the man-page part of the +.TH title line header/footer. If the +extra2 content exceeds the maxiumum specified, it +is truncated down to the maximum permitted length. + +The content of the extra2 field is usually +displayed in the left footer of the page and is typically "source" +data indicating the software system or product that the item +documented in the man page belongs to, often in the form +Name Version; +for example, "GTK+ 1.2" (from the gtk-options(7) +man page). + +The default value for this parameter is reasonable but somewhat +arbitrary. If you are processing pages with long "source" information, +you may want to experiment with changing the value in order to achieve +the correct aesthetic results. + + diff --git a/doc/help/xslt/params/man.th.extra2.suppress.xml b/doc/help/xslt/params/man.th.extra2.suppress.xml new file mode 100644 index 00000000..0fcd3ed6 --- /dev/null +++ b/doc/help/xslt/params/man.th.extra2.suppress.xml @@ -0,0 +1,44 @@ + + +man.th.extra2.suppress +boolean + + +man.th.extra2.suppress +Suppress extra2 part of header/footer? + + + + +0 + + +Description + +If the value of man.th.extra2.suppress is +non-zero, then the extra2 part of the +.TH title line header/footer is suppressed. + +The content of the extra2 field is usually +displayed in the left footer of the page and is typically "source" +data, often in the form +Name Version; +for example, "GTK+ 1.2" (from the gtk-options(7) +man page). + + + You can use the + refentry.source.name.suppress and + refentry.version.suppress parameters to + independently suppress the Name and + Version parts of the + extra2 field. + + + + diff --git a/doc/help/xslt/params/man.th.extra3.max.length.xml b/doc/help/xslt/params/man.th.extra3.max.length.xml new file mode 100644 index 00000000..77e55e4c --- /dev/null +++ b/doc/help/xslt/params/man.th.extra3.max.length.xml @@ -0,0 +1,42 @@ + + +man.th.extra3.max.length +integer + + +man.th.extra3.max.length +Maximum length of extra3 in header/footer + + + + +30 + + + +Description + +Specifies the maximum permitted length of the +extra3 part of the man-page .TH +title line header/footer. If the extra3 content +exceeds the maxiumum specified, it is truncated down to the maximum +permitted length. + +The content of the extra3 field is usually +displayed in the middle header of the page and is typically a "manual +name"; for example, "GTK+ User's Manual" (from the +gtk-options(7) man page). + +The default value for this parameter is reasonable but somewhat +arbitrary. If you are processing pages with long "manual names" -- or +especially if you are processing pages that have both long "title" +parts (command/function, etc. names) and long +manual names -- you may want to experiment with changing the value in +order to achieve the correct aesthetic results. + + diff --git a/doc/help/xslt/params/man.th.extra3.suppress.xml b/doc/help/xslt/params/man.th.extra3.suppress.xml new file mode 100644 index 00000000..81d6c0d9 --- /dev/null +++ b/doc/help/xslt/params/man.th.extra3.suppress.xml @@ -0,0 +1,34 @@ + + +man.th.extra3.suppress +boolean + + +man.th.extra3.suppress +Suppress extra3 part of header/footer? + + + + +0 + + +Description + +If the value of man.th.extra3.suppress is +non-zero, then the extra3 part of the +.TH title line header/footer is +suppressed. + +The content of the extra3 field is usually +displayed in the middle header of the page and is typically a "manual +name"; for example, "GTK+ User's Manual" (from the +gtk-options(7) man page). + + + diff --git a/doc/help/xslt/params/man.th.title.max.length.xml b/doc/help/xslt/params/man.th.title.max.length.xml new file mode 100644 index 00000000..7fdf0bfc --- /dev/null +++ b/doc/help/xslt/params/man.th.title.max.length.xml @@ -0,0 +1,63 @@ + + +man.th.title.max.length +integer + + +man.th.title.max.length +Maximum length of title in header/footer + + + + +20 + + + +Description + +Specifies the maximum permitted length of the title part of the +man-page .TH title line header/footer. If the title +exceeds the maxiumum specified, it is truncated down to the maximum +permitted length. + +Details + + +Every man page generated using the DocBook stylesheets has a +title line, specified using the TH roff +macro. Within that title line, there is always, at a minimum, a title, +followed by a section value (representing a man "section" -- usually +just a number). + +The title and section are displayed, together, in the visible +header of each page. Where in the header they are displayed depends on +OS the man page is viewed on, and on what version of nroff/groff/man +is used for viewing the page. But, at a minimum and across all +systems, the title and section are displayed on the right-hand column +of the header. On many systems -- those with a modern groff, including +Linux systems -- they are displayed twice: both in the left and right +columns of the header. + +So if the length of the title exceeds a certain percentage of +the column width in which the page is viewed, the left and right +titles can end up overlapping, making them unreadable, or breaking to +another line, which doesn't look particularly good. + +So the stylesheets provide the +man.th.title.max.length parameter as a means +for truncating titles that exceed the maximum length that can be +viewing properly in a page header. + +The default value is reasonable but somewhat arbitrary. If you +have pages with long titles, you may want to experiment with changing +the value in order to achieve the correct aesthetic results. + + + + diff --git a/doc/help/xslt/params/manifest.in.base.dir.xml b/doc/help/xslt/params/manifest.in.base.dir.xml new file mode 100644 index 00000000..d0027675 --- /dev/null +++ b/doc/help/xslt/params/manifest.in.base.dir.xml @@ -0,0 +1,29 @@ + + +manifest.in.base.dir +boolean + + +manifest.in.base.dir +Should the manifest file be written into base.dir? + + + + + + + + +Description + +If non-zero, the manifest file as well as project files for HTML Help and +Eclipse Help are written into base.dir instead +of the current directory. + + + diff --git a/doc/help/xslt/params/manifest.xml b/doc/help/xslt/params/manifest.xml new file mode 100644 index 00000000..96d092a8 --- /dev/null +++ b/doc/help/xslt/params/manifest.xml @@ -0,0 +1,29 @@ + + + manifest + string + + + manifest + Name of manifest file + + + + + HTML.manifest + + + + Description + + The name of the file to which a manifest is written (if the + value of the generate.manifest parameter + is non-zero). + + + diff --git a/doc/help/xslt/params/manual.toc.xml b/doc/help/xslt/params/manual.toc.xml new file mode 100644 index 00000000..7a640c7a --- /dev/null +++ b/doc/help/xslt/params/manual.toc.xml @@ -0,0 +1,29 @@ + + +manual.toc +string + + +manual.toc +An explicit TOC to be used for the TOC + + + + + + + + +Description + +The manual.toc identifies an explicit TOC that +will be used for building the printed TOC. + + + + diff --git a/doc/help/xslt/params/margin.note.float.type.xml b/doc/help/xslt/params/margin.note.float.type.xml new file mode 100644 index 00000000..0b34230b --- /dev/null +++ b/doc/help/xslt/params/margin.note.float.type.xml @@ -0,0 +1,77 @@ + + +margin.note.float.type +list +none +before +left +start +right +end +inside +outside + + +margin.note.float.type +Select type of float for margin note customizations + + + + +none + + + +Description + +Selects the type of float for margin notes. +DocBook does not define a margin note element, so this +feature must be implemented as a customization of the stylesheet. +See margin.note.properties for +an example. + + + +If margin.note.float.type is +none, then +no float is used. + + + +If margin.note.float.type is +before, then +the float appears at the top of the page. On some processors, +that may be the next page rather than the current page. + + + +If margin.note.float.type is +left or +start, then +a left side float is used. + + + +If margin.note.float.type is +right or +end, then +a right side float is used. + + + +If your XSL-FO processor supports floats positioned on the +inside or +outside +of double-sided pages, then you have those two +options for side floats as well. + + + + + + diff --git a/doc/help/xslt/params/margin.note.properties.xml b/doc/help/xslt/params/margin.note.properties.xml new file mode 100644 index 00000000..02dc20e5 --- /dev/null +++ b/doc/help/xslt/params/margin.note.properties.xml @@ -0,0 +1,54 @@ + + +margin.note.properties +attribute set + + +margin.note.properties +Attribute set for margin.note properties + + + + + + 90% + start + + + + +Description + +The styling for margin notes. +By default, margin notes are not implemented for any +element. A stylesheet customization is needed to make +use of this attribute-set. + +You can use a template named floater +to create the customization. +That template can create side floats by specifying the +content and characteristics as template parameters. + + +For example: +<xsl:template match="para[@role='marginnote']"> + <xsl:call-template name="floater"> + <xsl:with-param name="position"> + <xsl:value-of select="$margin.note.float.type"/> + </xsl:with-param> + <xsl:with-param name="width"> + <xsl:value-of select="$margin.note.width"/> + </xsl:with-param> + <xsl:with-param name="content"> + <xsl:apply-imports/> + </xsl:with-param> + </xsl:call-template> +</xsl:template> + + + diff --git a/doc/help/xslt/params/margin.note.title.properties.xml b/doc/help/xslt/params/margin.note.title.properties.xml new file mode 100644 index 00000000..84399bbe --- /dev/null +++ b/doc/help/xslt/params/margin.note.title.properties.xml @@ -0,0 +1,32 @@ + + +margin.note.title.properties +attribute set + + +margin.note.title.properties +Attribute set for margin note titles + + + + + + bold + false + start + always + + + + +Description + +The styling for margin note titles. + + + diff --git a/doc/help/xslt/params/margin.note.width.xml b/doc/help/xslt/params/margin.note.width.xml new file mode 100644 index 00000000..3ee0aa4e --- /dev/null +++ b/doc/help/xslt/params/margin.note.width.xml @@ -0,0 +1,35 @@ + + +margin.note.width +length + + +margin.note.width +Set the default width for margin notes + + + + +1in + + + +Description + +Sets the default width for margin notes when used as a side +float. The width determines the degree to which the margin note block +intrudes into the text area. + +If margin.note.float.type is +before or +none, then +this parameter is ignored. + + + + diff --git a/doc/help/xslt/params/marker.section.level.xml b/doc/help/xslt/params/marker.section.level.xml new file mode 100644 index 00000000..70bd4fdc --- /dev/null +++ b/doc/help/xslt/params/marker.section.level.xml @@ -0,0 +1,50 @@ + + +marker.section.level +integer + + +marker.section.level +Control depth of sections shown in running headers or footers + + + + +2 + + + +Description + +The marker.section.level parameter +controls the depth of section levels that may be displayed +in running headers and footers. For example, if the value +is 2 (the default), then titles from sect1 and +sect2 or equivalent section +elements are candidates for use in running headers and +footers. + +Each candidate title is marked in the FO output with a +<fo:marker marker-class-name="section.head.marker"> +element. + +In order for such titles to appear in headers +or footers, the header.content +or footer.content template +must be customized to retrieve the marker using +an output element such as: + + +<fo:retrieve-marker retrieve-class-name="section.head.marker" + retrieve-position="first-including-carryover" + retrieve-boundary="page-sequence"/> + + + + + diff --git a/doc/help/xslt/params/menuchoice.menu.separator.xml b/doc/help/xslt/params/menuchoice.menu.separator.xml new file mode 100644 index 00000000..cf142e21 --- /dev/null +++ b/doc/help/xslt/params/menuchoice.menu.separator.xml @@ -0,0 +1,42 @@ + + +menuchoice.menu.separator +string + + +menuchoice.menu.separator +Separator between items of a menuchoice +with guimenuitem or +guisubmenu + + + + + → + + + +Description + +Separator used to connect items of a menuchoice with +guimenuitem or guisubmenu. Other elements +are linked with menuchoice.separator. + +The default value is &#x2192;, which is the +&rarr; (right arrow) character entity. +The current FOP (0.20.5) requires setting the font-family +explicitly. + +The default value also includes spaces around the arrow, +which will allow a line to break. Replace the spaces with +&#xA0; (nonbreaking space) if you don't want those +spaces to break. + + + + diff --git a/doc/help/xslt/params/menuchoice.separator.xml b/doc/help/xslt/params/menuchoice.separator.xml new file mode 100644 index 00000000..3034f253 --- /dev/null +++ b/doc/help/xslt/params/menuchoice.separator.xml @@ -0,0 +1,32 @@ + + +menuchoice.separator +string + + +menuchoice.separator +Separator between items of a menuchoice +other than guimenuitem and +guisubmenu + + + + ++ + + + +Description + +Separator used to connect items of a menuchoice other +than guimenuitem and guisubmenu. The latter +elements are linked with menuchoice.menu.separator. + + + + diff --git a/doc/help/xslt/params/minus.image.xml b/doc/help/xslt/params/minus.image.xml new file mode 100644 index 00000000..ea86e23a --- /dev/null +++ b/doc/help/xslt/params/minus.image.xml @@ -0,0 +1,29 @@ + + +minus.image +filename + + +minus.image +Minus image + + + + +toc/open.png + + + +Description + +Specifies the filename of the minus image; the image used in a +dynamic ToC to indicate that a section +can be collapsed. + + + diff --git a/doc/help/xslt/params/monospace.font.family.xml b/doc/help/xslt/params/monospace.font.family.xml new file mode 100644 index 00000000..e91548b6 --- /dev/null +++ b/doc/help/xslt/params/monospace.font.family.xml @@ -0,0 +1,29 @@ + + +monospace.font.family +string + + +monospace.font.family +The default font family for monospace environments + + + + +monospace + + + +Description + +The monospace font family is used for verbatim environments +(program listings, screens, etc.). + + + + diff --git a/doc/help/xslt/params/monospace.properties.xml b/doc/help/xslt/params/monospace.properties.xml new file mode 100644 index 00000000..0a8425b5 --- /dev/null +++ b/doc/help/xslt/params/monospace.properties.xml @@ -0,0 +1,38 @@ + + +monospace.properties +attribute set + + +monospace.properties +Properties of monospaced content + + + + + + + + + + + + +Description + +Specifies the font name for monospaced output. This property set +used to set the font-size as well, but that doesn't work very well +when different fonts are used (as they are in titles and paragraphs, +for example). + +If you want to set the font-size in a customization layer, it's +probably going to be more appropriate to set font-size-adjust, if your +formatter supports it. + + + diff --git a/doc/help/xslt/params/monospace.verbatim.font.width.xml b/doc/help/xslt/params/monospace.verbatim.font.width.xml new file mode 100644 index 00000000..88b88dce --- /dev/null +++ b/doc/help/xslt/params/monospace.verbatim.font.width.xml @@ -0,0 +1,40 @@ + + +monospace.verbatim.font.width +length + + +monospace.verbatim.font.width +Width of a single monospace font character + + + + +0.60em + + + +Description + +Specifies with em units the width of a single character +of the monospace font. The default value is 0.6em. + +This parameter is only used when a screen +or programlisting element has a +width attribute, which is +expressed as a plain integer to indicate the maximum character count +of each line. +To convert this character count to an actual maximum width +measurement, the width of the font characters must be provided. +Different monospace fonts have different character width, +so this parameter should be adjusted to fit the +monospace font being used. + + + + diff --git a/doc/help/xslt/params/monospace.verbatim.properties.xml b/doc/help/xslt/params/monospace.verbatim.properties.xml new file mode 100644 index 00000000..3d7ca3df --- /dev/null +++ b/doc/help/xslt/params/monospace.verbatim.properties.xml @@ -0,0 +1,27 @@ + + +monospace.verbatim.properties +attribute set + + +monospace.verbatim.properties +What font and size do you want for monospaced content? + + + + + + start + no-wrap + + + +Description +Specify the font name and size you want for monospaced output + + diff --git a/doc/help/xslt/params/multiframe.bottom.bgcolor.xml b/doc/help/xslt/params/multiframe.bottom.bgcolor.xml new file mode 100644 index 00000000..f0667d71 --- /dev/null +++ b/doc/help/xslt/params/multiframe.bottom.bgcolor.xml @@ -0,0 +1,28 @@ + + +multiframe.bottom.bgcolor +color + + +multiframe.bottom.bgcolor +Background color for bottom navigation frame + + + + +white + + + +Description + +Specifies the background color of the bottom navigation frame when +multiframe is enabled. + + + diff --git a/doc/help/xslt/params/multiframe.navigation.height.xml b/doc/help/xslt/params/multiframe.navigation.height.xml new file mode 100644 index 00000000..06dbc1c2 --- /dev/null +++ b/doc/help/xslt/params/multiframe.navigation.height.xml @@ -0,0 +1,28 @@ + + +multiframe.navigation.height +length + + +multiframe.navigation.height +Height of navigation frames + + + + +40 + + + +Description + +Specifies the height of the navigation frames in pixels when +multiframe is enabled. + + + diff --git a/doc/help/xslt/params/multiframe.top.bgcolor.xml b/doc/help/xslt/params/multiframe.top.bgcolor.xml new file mode 100644 index 00000000..4814fc89 --- /dev/null +++ b/doc/help/xslt/params/multiframe.top.bgcolor.xml @@ -0,0 +1,28 @@ + + +multiframe.top.bgcolor +color + + +multiframe.top.bgcolor +Background color for top navigation frame + + + + +white + + + +Description + +Specifies the background color of the top navigation frame when +multiframe is enabled. + + + diff --git a/doc/help/xslt/params/multiframe.xml b/doc/help/xslt/params/multiframe.xml new file mode 100644 index 00000000..b4fbf370 --- /dev/null +++ b/doc/help/xslt/params/multiframe.xml @@ -0,0 +1,31 @@ + + +multiframe +boolean + + +multiframe +Use multiple frames for slide bodies? + + + + + + + + +Description + +If non-zero, multiple frames are used for the body of each +slide. This is one way of forcing the slide navigation elements to +appear in constant locations. The other way is with overlays. The overlay and +multiframe parameters are mutually +exclusive. + + + diff --git a/doc/help/xslt/params/nav.separator.xml b/doc/help/xslt/params/nav.separator.xml new file mode 100644 index 00000000..e3695f94 --- /dev/null +++ b/doc/help/xslt/params/nav.separator.xml @@ -0,0 +1,28 @@ + + +nav.separator +boolean + + +nav.separator +Output separator between navigation and body? + + + + + + + + +Description + +If non-zero, a separator (<HR>) is +added between the navigation links and the content of each slide. + + + diff --git a/doc/help/xslt/params/nav.table.summary.xml b/doc/help/xslt/params/nav.table.summary.xml new file mode 100644 index 00000000..1c1559b2 --- /dev/null +++ b/doc/help/xslt/params/nav.table.summary.xml @@ -0,0 +1,27 @@ + + +nav.table.summary +string + + +nav.table.summary +HTML Table summary attribute value for navigation tables + + + + +Navigation + + + +Description +The value of this parameter is used as the value of the table +summary attribute for the navigation table. +Only applies with the tabular presentation is being used. + + diff --git a/doc/help/xslt/params/navbgcolor.xml b/doc/help/xslt/params/navbgcolor.xml new file mode 100644 index 00000000..c6fcecec --- /dev/null +++ b/doc/help/xslt/params/navbgcolor.xml @@ -0,0 +1,26 @@ + + +navbgcolor +color + + +navbgcolor +The background color of the navigation TOC + + + + +#4080FF + + + +Description +The background color of the navigation TOC. +Only applies with the tabular presentation is being used. + + diff --git a/doc/help/xslt/params/navbodywidth.xml b/doc/help/xslt/params/navbodywidth.xml new file mode 100644 index 00000000..b93cf821 --- /dev/null +++ b/doc/help/xslt/params/navbodywidth.xml @@ -0,0 +1,26 @@ + + +navbodywidth +length + + +navbodywidth +Specifies the width of the navigation table body + + + + + + + + +Description +The width of the body column. +Only applies with the tabular presentation is being used. + + diff --git a/doc/help/xslt/params/navig.graphics.extension.xml b/doc/help/xslt/params/navig.graphics.extension.xml new file mode 100644 index 00000000..416e0c44 --- /dev/null +++ b/doc/help/xslt/params/navig.graphics.extension.xml @@ -0,0 +1,28 @@ + + +navig.graphics.extension +string + + +navig.graphics.extension +Extension for navigational graphics + + + + +.gif + + + +Description + +Sets the filename extension to use on navigational graphics used +in the headers and footers of chunked HTML. + + + diff --git a/doc/help/xslt/params/navig.graphics.path.xml b/doc/help/xslt/params/navig.graphics.path.xml new file mode 100644 index 00000000..373208e7 --- /dev/null +++ b/doc/help/xslt/params/navig.graphics.path.xml @@ -0,0 +1,30 @@ + + +navig.graphics.path +string + + +navig.graphics.path +Path to navigational graphics + + + + +images/ + + + +Description + +Sets the path, probably relative to the directory where the HTML +files are created, to the navigational graphics used in the +headers and footers of chunked HTML. + + + + diff --git a/doc/help/xslt/params/navig.graphics.xml b/doc/help/xslt/params/navig.graphics.xml new file mode 100644 index 00000000..03e28b61 --- /dev/null +++ b/doc/help/xslt/params/navig.graphics.xml @@ -0,0 +1,31 @@ + + +navig.graphics +boolean + + +navig.graphics +Use graphics in navigational headers and footers? + + + + + + + + +Description + +If non-zero, the navigational headers and footers in chunked +HTML are presented in an alternate style that uses graphical icons for +Next, Previous, Up, and Home. Default graphics are provided in the +distribution. If zero, text is used instead of graphics. + + + + diff --git a/doc/help/xslt/params/navig.showtitles.xml b/doc/help/xslt/params/navig.showtitles.xml new file mode 100644 index 00000000..a4eb3ff4 --- /dev/null +++ b/doc/help/xslt/params/navig.showtitles.xml @@ -0,0 +1,32 @@ + + +navig.showtitles +boolean + + +navig.showtitles +Display titles in HTML headers and footers? + + + +1 + + +Description + +If non-zero, +the headers and footers of chunked HTML +display the titles of the next and previous chunks, +along with the words 'Next' and 'Previous' (or the +equivalent graphical icons if navig.graphics is true). +If false (zero), then only the words 'Next' and 'Previous' +(or the icons) are displayed. + + + + diff --git a/doc/help/xslt/params/navtocwidth.xml b/doc/help/xslt/params/navtocwidth.xml new file mode 100644 index 00000000..0d21ae03 --- /dev/null +++ b/doc/help/xslt/params/navtocwidth.xml @@ -0,0 +1,26 @@ + + +navtocwidth +length + + +navtocwidth +Specifies the width of the navigation table TOC + + + + +220 + + + +Description +The width, in pixels, of the navigation column. +Only applies with the tabular presentation is being used. + + diff --git a/doc/help/xslt/params/next.image.xml b/doc/help/xslt/params/next.image.xml new file mode 100644 index 00000000..4dbd60a9 --- /dev/null +++ b/doc/help/xslt/params/next.image.xml @@ -0,0 +1,27 @@ + + +next.image +filename + + +next.image +Right-arrow image + + + + +active/nav-next.png + + + +Description + +Specifies the filename of the right-pointing navigation arrow. + + + diff --git a/doc/help/xslt/params/no.home.image.xml b/doc/help/xslt/params/no.home.image.xml new file mode 100644 index 00000000..2f4ecd86 --- /dev/null +++ b/doc/help/xslt/params/no.home.image.xml @@ -0,0 +1,27 @@ + + +no.home.image +filename + + +no.home.image +Inactive home image + + + + +inactive/nav-home.png + + + +Description + +Specifies the filename of the inactive home navigation icon. + + + diff --git a/doc/help/xslt/params/no.next.image.xml b/doc/help/xslt/params/no.next.image.xml new file mode 100644 index 00000000..966fe264 --- /dev/null +++ b/doc/help/xslt/params/no.next.image.xml @@ -0,0 +1,27 @@ + + +no.next.image +filename + + +no.next.image +Inactive right-arrow image + + + + +inactive/nav-next.png + + + +Description + +Specifies the filename of the inactive right-pointing navigation arrow. + + + diff --git a/doc/help/xslt/params/no.prev.image.xml b/doc/help/xslt/params/no.prev.image.xml new file mode 100644 index 00000000..76322311 --- /dev/null +++ b/doc/help/xslt/params/no.prev.image.xml @@ -0,0 +1,27 @@ + + +no.prev.image +filename + + +no.prev.image +Inactive left-arrow image + + + + +inactive/nav-prev.png + + + +Description + +Specifies the filename of the inactive left-pointing navigation arrow. + + + diff --git a/doc/help/xslt/params/no.toc.image.xml b/doc/help/xslt/params/no.toc.image.xml new file mode 100644 index 00000000..43e9eea9 --- /dev/null +++ b/doc/help/xslt/params/no.toc.image.xml @@ -0,0 +1,27 @@ + + +no.toc.image +filename + + +no.toc.image +Inactive ToC image + + + + +inactive/nav-toc.png + + + +Description + +Specifies the filename of the inactive ToC navigation icon. + + + diff --git a/doc/help/xslt/params/no.up.image.xml b/doc/help/xslt/params/no.up.image.xml new file mode 100644 index 00000000..a19a34d0 --- /dev/null +++ b/doc/help/xslt/params/no.up.image.xml @@ -0,0 +1,27 @@ + + +no.up.image +filename + + +no.up.image +Inactive up-arrow image + + + + +inactive/nav-up.png + + + +Description + +Specifies the filename of the inactive upward-pointing navigation arrow. + + + diff --git a/doc/help/xslt/params/nominal.image.depth.xml b/doc/help/xslt/params/nominal.image.depth.xml new file mode 100644 index 00000000..a4e615f0 --- /dev/null +++ b/doc/help/xslt/params/nominal.image.depth.xml @@ -0,0 +1,27 @@ + + +nominal.image.depth +length + + +nominal.image.depth +Nominal image depth + + + + + + + + +Description + +See nominal.image.width. + + + diff --git a/doc/help/xslt/params/nominal.image.width.xml b/doc/help/xslt/params/nominal.image.width.xml new file mode 100644 index 00000000..bfa989a2 --- /dev/null +++ b/doc/help/xslt/params/nominal.image.width.xml @@ -0,0 +1,43 @@ + + +nominal.image.width +length + + +nominal.image.width +The nominal image width + + + + + + + + +Description + +Graphic widths expressed as a percentage are problematic. In the +following discussion, we speak of width and contentwidth, but +the same issues apply to depth and contentdepth. + +A width of 50% means "half of the available space for the image." +That's fine. But note that in HTML, this is a dynamic property and +the image size will vary if the browser window is resized. + +A contentwidth of 50% means "half of the actual image width". +But what does that mean if the stylesheets cannot assess the image's +actual size? Treating this as a width of 50% is one possibility, but +it produces behavior (dynamic scaling) that seems entirely out of +character with the meaning. + +Instead, the stylesheets define a +nominal.image.width and convert percentages to +actual values based on that nominal size. + + + diff --git a/doc/help/xslt/params/nominal.table.width.xml b/doc/help/xslt/params/nominal.table.width.xml new file mode 100644 index 00000000..f5dcfb93 --- /dev/null +++ b/doc/help/xslt/params/nominal.table.width.xml @@ -0,0 +1,30 @@ + + +nominal.table.width +length + + +nominal.table.width +The (absolute) nominal width of tables + + + + +6in + + + +Description + +In order to convert CALS column widths into HTML column widths, it +is sometimes necessary to have an absolute table width to use for conversion +of mixed absolute and relative widths. This value must be an absolute +length (not a percentage). + + + diff --git a/doc/help/xslt/params/nongraphical.admonition.properties.xml b/doc/help/xslt/params/nongraphical.admonition.properties.xml new file mode 100644 index 00000000..ba8a06a5 --- /dev/null +++ b/doc/help/xslt/params/nongraphical.admonition.properties.xml @@ -0,0 +1,41 @@ + + +nongraphical.admonition.properties +attribute set + + +nongraphical.admonition.properties +To add properties to the outer block of a nongraphical admonition. + + + + + 0.8em + 1em + 1.2em + 0.25in + 0.25in + + + +Description +These properties are added to the outer block containing the +entire nongraphical admonition, including its title. +It is used when the parameter +admon.graphics is set to zero. +Use this attribute-set to set the space above and below, +and any indent for the whole admonition. + +In addition to these properties, a nongraphical admonition +also applies the admonition.title.properties +attribute-set to the title, and the +admonition.properties attribute-set +to the rest of the content. + + + diff --git a/doc/help/xslt/params/normal.para.spacing.xml b/doc/help/xslt/params/normal.para.spacing.xml new file mode 100644 index 00000000..bb2a6c09 --- /dev/null +++ b/doc/help/xslt/params/normal.para.spacing.xml @@ -0,0 +1,26 @@ + + +normal.para.spacing +attribute set + + +normal.para.spacing +What space do you want between normal paragraphs + + + + + 1em + 0.8em + 1.2em + + +Description +Specify the spacing required between normal paragraphs + + diff --git a/doc/help/xslt/params/olink.base.uri.xml b/doc/help/xslt/params/olink.base.uri.xml new file mode 100644 index 00000000..d88dd62d --- /dev/null +++ b/doc/help/xslt/params/olink.base.uri.xml @@ -0,0 +1,35 @@ + + +olink.base.uri +uri + + +olink.base.uri +Base URI used in olink hrefs + + + + + +Description + +When cross reference data is collected for resolving olinks, it +may be necessary to prepend a base URI to each target's href. This +parameter lets you set that base URI when cross reference data is +collected. This feature is needed when you want to link to a document +that is processed without chunking. The output filename for such a +document is not known to the XSL stylesheet; the only target +information consists of fragment identifiers such as +#idref. To enable the resolution of olinks between +documents, you should pass the name of the HTML output file as the +value of this parameter. Then the hrefs recorded in the cross +reference data collection look like +outfile.html#idref, which can be reached as links +from other documents. + + diff --git a/doc/help/xslt/params/olink.debug.xml b/doc/help/xslt/params/olink.debug.xml new file mode 100644 index 00000000..e49a1762 --- /dev/null +++ b/doc/help/xslt/params/olink.debug.xml @@ -0,0 +1,36 @@ + + +olink.debug +boolean + + +olink.debug +Turn on debugging messages for olinks + + + + + + + + +Description + +If non-zero, then each olink will generate several +messages about how it is being resolved during processing. +This is useful when an olink does not resolve properly +and the standard error messages are not sufficient to +find the problem. + + +You may need to read through the olink XSL templates +to understand the context for some of the debug messages. + + + + diff --git a/doc/help/xslt/params/olink.doctitle.xml b/doc/help/xslt/params/olink.doctitle.xml new file mode 100644 index 00000000..356347da --- /dev/null +++ b/doc/help/xslt/params/olink.doctitle.xml @@ -0,0 +1,146 @@ + + +olink.doctitle +list +no +yes +maybe + + +olink.doctitle +show the document title for external olinks? + + + +no + + +Description + +When olinks between documents are resolved, the generated text +may not make it clear that the reference is to another document. +It is possible for the stylesheets to append the other document's +title to external olinks. For this to happen, two parameters must +be set. + + +This olink.doctitle parameter +should be set to either yes or maybe +to enable this feature. + + + +And you should also set the current.docid +parameter to the document id for the document currently +being processed for output. + + + + + +Then if an olink's targetdoc id differs from +the current.docid value, the stylesheet knows +that it is a reference to another document and can +append the target document's +title to the generated olink text. + +The text for the target document's title is copied from the +olink database from the ttl element +of the top-level div for that document. +If that ttl element is missing or empty, +no title is output. + + +The supported values for olink.doctitle are: + + + +yes + + +Always insert the title to the target document if it is not +the current document. + + + + +no + + +Never insert the title to the target document, even if requested +in an xrefstyle attribute. + + + + +maybe + + +Only insert the title to the target document, if requested +in an xrefstyle attribute. + + + + +An xrefstyle attribute +may override the global setting for individual olinks. +The following values are supported in an +xrefstyle +attribute using the select: syntax: + + + + +docname + + +Insert the target document name for this olink using the +docname gentext template, but only +if the value of olink.doctitle +is not no. + + + + +docnamelong + + +Insert the target document name for this olink using the +docnamelong gentext template, but only +if the value of olink.doctitle +is not no. + + + + +nodocname + + +Omit the target document name even if +the value of olink.doctitle +is yes. + + + + +Another way of inserting the target document name +for a single olink is to employ an +xrefstyle +attribute using the template: syntax. +The %o placeholder (the letter o, not zero) +in such a template +will be filled in with the target document's title when it is processed. +This will occur regardless of +the value of olink.doctitle. + +Note that prior to version 1.66 of the XSL stylesheets, +the allowed values for this parameter were 0 and 1. Those +values are still supported and mapped to 'no' and 'yes', respectively. + + + diff --git a/doc/help/xslt/params/olink.fragid.xml b/doc/help/xslt/params/olink.fragid.xml new file mode 100644 index 00000000..32580383 --- /dev/null +++ b/doc/help/xslt/params/olink.fragid.xml @@ -0,0 +1,23 @@ + + +olink.fragid +string + + +olink.fragid +Names the fragment identifier portion of an OLink resolver query + + + +fragid= + + +Description +The fragment identifier portion of an olink target. + + diff --git a/doc/help/xslt/params/olink.lang.fallback.sequence.xml b/doc/help/xslt/params/olink.lang.fallback.sequence.xml new file mode 100644 index 00000000..7d3d8113 --- /dev/null +++ b/doc/help/xslt/params/olink.lang.fallback.sequence.xml @@ -0,0 +1,83 @@ + + +olink.lang.fallback.sequence +string + + +olink.lang.fallback.sequence +look up translated documents if olink not found? + + + + + + +Description + + +This parameter defines a list of lang values +to search among to resolve olinks. + + +Normally an olink tries to resolve to a document in the same +language as the olink itself. The language of an olink +is determined by its nearest ancestor element with a +lang attribute, otherwise the +value of the l10n.gentext.default.lang +parameter. + + +An olink database can contain target data for the same +document in multiple languages. Each set of data has the +same value for the targetdoc attribute in +the document element in the database, but with a +different lang attribute value. + + +When an olink is being resolved, the target is first +sought in the document with the same language as the olink. +If no match is found there, then this parameter is consulted +for additional languages to try. + +The olink.lang.fallback.sequence +must be a whitespace separated list of lang values to +try. The first one with a match in the olink database is used. +The default value is empty. + +For example, a document might be written in German +and contain an olink with +targetdoc="adminguide". +When the document is processed, the processor +first looks for a target dataset in the +olink database starting with: + +<document targetdoc="adminguide" lang="de">. + + +If there is no such element, then the +olink.lang.fallback.sequence +parameter is consulted. +If its value is, for example, fr en, then the processor next +looks for targetdoc="adminguide" lang="fr", and +then for targetdoc="adminguide" lang="en". +If there is still no match, it looks for +targetdoc="adminguide" with no +lang attribute. + + +This parameter is useful when a set of documents is only +partially translated, or is in the process of being translated. +If a target of an olink has not yet been translated, then this +parameter permits the processor to look for the document in +other languages. This assumes the reader would rather have +a link to a document in a different language than to have +a broken link. + + + + diff --git a/doc/help/xslt/params/olink.outline.ext.xml b/doc/help/xslt/params/olink.outline.ext.xml new file mode 100644 index 00000000..2de2fe2d --- /dev/null +++ b/doc/help/xslt/params/olink.outline.ext.xml @@ -0,0 +1,28 @@ + + +olink.outline.ext +string + + +olink.outline.ext +The extension of OLink outline files + + + + +.olink + + + +Description + +The extension to be expected for OLink outline files +Bob has this parameter as dead. Please don't use + + + diff --git a/doc/help/xslt/params/olink.properties.xml b/doc/help/xslt/params/olink.properties.xml new file mode 100644 index 00000000..b76657e7 --- /dev/null +++ b/doc/help/xslt/params/olink.properties.xml @@ -0,0 +1,33 @@ + + +olink.properties +attribute set + + +olink.properties +Properties associated with the cross-reference +text of an olink. + + + + + + replace + + + + +Description + +This attribute set is applied to the +fo:basic-link element of an olink. It is not applied to the +optional page number or optional title of the external +document. + + + diff --git a/doc/help/xslt/params/olink.pubid.xml b/doc/help/xslt/params/olink.pubid.xml new file mode 100644 index 00000000..4f0b50c6 --- /dev/null +++ b/doc/help/xslt/params/olink.pubid.xml @@ -0,0 +1,27 @@ + + +olink.pubid +string + + +olink.pubid +Names the public identifier portion of an OLink resolver query + + + + +pubid + + + +Description + + + + + diff --git a/doc/help/xslt/params/olink.resolver.xml b/doc/help/xslt/params/olink.resolver.xml new file mode 100644 index 00000000..fa7d471b --- /dev/null +++ b/doc/help/xslt/params/olink.resolver.xml @@ -0,0 +1,23 @@ + + +olink.resolver +string + + +olink.resolver +The root name of the OLink resolver (usually a script) + + + + /cgi-bin/olink + + +Description +FIXME: + + diff --git a/doc/help/xslt/params/olink.sysid.xml b/doc/help/xslt/params/olink.sysid.xml new file mode 100644 index 00000000..6d4542f5 --- /dev/null +++ b/doc/help/xslt/params/olink.sysid.xml @@ -0,0 +1,27 @@ + + +olink.sysid +string + + +olink.sysid +Names the system identifier portion of an OLink resolver query + + + + +sysid + + + +Description + +FIXME + + + diff --git a/doc/help/xslt/params/orderedlist.label.properties.xml b/doc/help/xslt/params/orderedlist.label.properties.xml new file mode 100644 index 00000000..39b04329 --- /dev/null +++ b/doc/help/xslt/params/orderedlist.label.properties.xml @@ -0,0 +1,26 @@ + + +orderedlist.label.properties +attribute set + + +orderedlist.label.properties +Properties that apply to each label inside ordered list. + + + + + + +Description +Properties that apply to each label inside ordered list. E.g.: +<xsl:attribute-set name="orderedlist.label.properties"> + <xsl:attribute name="text-align">right</xsl:attribute> +</xsl:attribute-set> + + diff --git a/doc/help/xslt/params/orderedlist.label.width.xml b/doc/help/xslt/params/orderedlist.label.width.xml new file mode 100644 index 00000000..18c8fa84 --- /dev/null +++ b/doc/help/xslt/params/orderedlist.label.width.xml @@ -0,0 +1,28 @@ + + +orderedlist.label.width +length + + +orderedlist.label.width +The default width of the label (number) in an ordered list. + + + + +1.2em + + + +Description +Specifies the default width of the label (usually a number or +sequence of numbers) in an ordered list. You can override the default +value on any particular list with the “dbfo” processing instruction +using the “label-width” pseudoattribute. + + diff --git a/doc/help/xslt/params/orderedlist.properties.xml b/doc/help/xslt/params/orderedlist.properties.xml new file mode 100644 index 00000000..59061cb3 --- /dev/null +++ b/doc/help/xslt/params/orderedlist.properties.xml @@ -0,0 +1,24 @@ + + +orderedlist.properties +attribute set + + +orderedlist.properties +Properties that apply to each list-block generated by orderedlist. + + + + + 2em + + +Description +Properties that apply to each fo:list-block generated by orderedlist. + + diff --git a/doc/help/xslt/params/othercredit.like.author.enabled.xml b/doc/help/xslt/params/othercredit.like.author.enabled.xml new file mode 100644 index 00000000..2e789dd0 --- /dev/null +++ b/doc/help/xslt/params/othercredit.like.author.enabled.xml @@ -0,0 +1,31 @@ + + +othercredit.like.author.enabled +boolean + + +othercredit.like.author.enabled +Display othercredit in same style as author? + + + +0 + + +Description + +If non-zero, output of the +othercredit element on titlepages is displayed in +the same style as author and +editor output. If zero then +othercredit output is displayed using a style +different than that of author and +editor. + + + diff --git a/doc/help/xslt/params/output-root.xml b/doc/help/xslt/params/output-root.xml new file mode 100644 index 00000000..d37b054c --- /dev/null +++ b/doc/help/xslt/params/output-root.xml @@ -0,0 +1,28 @@ + + +output-root +filename + + +output-root +Specifies the root directory of the website + + + + +. + + + +Description +When using the XSLT processor to manage dependencies and construct +the website, this parameter can be used to indicate the root directory +where the resulting pages are placed. +Only applies when XSLT-based chunking is being used. + + diff --git a/doc/help/xslt/params/output.indent.xml b/doc/help/xslt/params/output.indent.xml new file mode 100644 index 00000000..40406d7a --- /dev/null +++ b/doc/help/xslt/params/output.indent.xml @@ -0,0 +1,32 @@ + + +output.indent +list +no +yes + + +output.indent +Indent output? + + + + +no + + + +Description + +Specifies the setting of the indent +parameter on the HTML slides. For more information, see the discussion +of the xsl:output element in the XSLT specification. +Select from yes or no. + + + diff --git a/doc/help/xslt/params/overlay.js.xml b/doc/help/xslt/params/overlay.js.xml new file mode 100644 index 00000000..162f87aa --- /dev/null +++ b/doc/help/xslt/params/overlay.js.xml @@ -0,0 +1,28 @@ + + +overlay.js +filename + + +overlay.js +Overlay JavaScript file + + + + +overlay.js + + + +Description + +Specifies the filename of the overlay JavaScript file. It's unlikely +that you will ever need to change this parameter. + + + diff --git a/doc/help/xslt/params/overlay.logo.xml b/doc/help/xslt/params/overlay.logo.xml new file mode 100644 index 00000000..e7407711 --- /dev/null +++ b/doc/help/xslt/params/overlay.logo.xml @@ -0,0 +1,28 @@ + + +overlay.logo +uri + + +overlay.logo +Logo to overlay on ToC frame + + + + +http://docbook.sourceforge.net/release/buttons/slides-1.png + + + +Description + +If this URI is non-empty, JavaScript is used to overlay the +specified image on the ToC frame. + + + diff --git a/doc/help/xslt/params/overlay.xml b/doc/help/xslt/params/overlay.xml new file mode 100644 index 00000000..f955b23a --- /dev/null +++ b/doc/help/xslt/params/overlay.xml @@ -0,0 +1,32 @@ + + +overlay +boolean + + +overlay +Overlay footer navigation? + + + + + + + + +Description + +If non-zero, JavaScript is added to the slides to make the +bottom navigation appear at the bottom of each page. This option and +multiframe are mutually exclusive. + +If this parameter is zero, the bottom navigation simply appears +below the content of each slide. + + + diff --git a/doc/help/xslt/params/page.height.portrait.xml b/doc/help/xslt/params/page.height.portrait.xml new file mode 100644 index 00000000..0dee73ee --- /dev/null +++ b/doc/help/xslt/params/page.height.portrait.xml @@ -0,0 +1,69 @@ + + +page.height.portrait +length + + +page.height.portrait +Specify the physical size of the long edge of the page + + + + + + 210mm + 11in + 8.5in + 2378mm + 1682mm + 1189mm + 841mm + 594mm + 420mm + 297mm + 210mm + 148mm + 105mm + 74mm + 52mm + 37mm + 1414mm + 1000mm + 707mm + 500mm + 353mm + 250mm + 176mm + 125mm + 88mm + 62mm + 44mm + 1297mm + 917mm + 648mm + 458mm + 324mm + 229mm + 162mm + 114mm + 81mm + 57mm + 40mm + 11in + + + + +Description + +The portrait page height is the length of the long +edge of the physical page. + + + + diff --git a/doc/help/xslt/params/page.height.xml b/doc/help/xslt/params/page.height.xml new file mode 100644 index 00000000..96e32c0e --- /dev/null +++ b/doc/help/xslt/params/page.height.xml @@ -0,0 +1,37 @@ + + +page.height +length + + +page.height +The height of the physical page + + + + + + + + + + + + + + + +Description + +The page height is generally calculated from the +paper.type and +page.orientation parameters. + + + + diff --git a/doc/help/xslt/params/page.margin.bottom.xml b/doc/help/xslt/params/page.margin.bottom.xml new file mode 100644 index 00000000..e1877f3a --- /dev/null +++ b/doc/help/xslt/params/page.margin.bottom.xml @@ -0,0 +1,29 @@ + + +page.margin.bottom +length + + +page.margin.bottom +The bottom margin of the page + + + + +0.5in + + + +Description + +The bottom page margin is the distance from the bottom of the region-after +to the physical bottom of the page. + + + + diff --git a/doc/help/xslt/params/page.margin.inner.xml b/doc/help/xslt/params/page.margin.inner.xml new file mode 100644 index 00000000..97782ba4 --- /dev/null +++ b/doc/help/xslt/params/page.margin.inner.xml @@ -0,0 +1,56 @@ + + +page.margin.inner +length + + +page.margin.inner +The inner page margin + + + + + + 1.25in + 1in + + + + +Description + +The inner page margin is the distance from bound edge of the +page to the first column of text. + +The inner page margin is the distance from bound edge of the +page to the outer edge of the first column of text. + +In left-to-right text direction, +this is the left margin of recto (front side) pages. +For single-sided output, it is the left margin +of all pages. + +In right-to-left text direction, +this is the right margin of recto pages. +For single-sided output, this is the +right margin of all pages. + + +Current versions (at least as of version 4.13) +of the XEP XSL-FO processor do not +correctly handle these margin settings for documents +with right-to-left text direction. +The workaround in that situation is to reverse +the values for page.margin.inner +and page.margin.outer, until +this bug is fixed by RenderX. It does not affect documents +with left-to-right text direction. + + + + diff --git a/doc/help/xslt/params/page.margin.outer.xml b/doc/help/xslt/params/page.margin.outer.xml new file mode 100644 index 00000000..61dfeb8e --- /dev/null +++ b/doc/help/xslt/params/page.margin.outer.xml @@ -0,0 +1,53 @@ + + +page.margin.outer +length + + +page.margin.outer +The outer page margin + + + + + + 0.75in + 1in + + + + +Description + +The outer page margin is the distance from non-bound edge of the +page to the outer edge of the last column of text. + +In left-to-right text direction, +this is the right margin of recto (front side) pages. +For single-sided output, it is the right margin +of all pages. + +In right-to-left text direction, +this is the left margin of recto pages. +For single-sided output, this is the +left margin of all pages. + + +Current versions (at least as of version 4.13) +of the XEP XSL-FO processor do not +correctly handle these margin settings for documents +with right-to-left text direction. +The workaround in that situation is to reverse +the values for page.margin.inner +and page.margin.outer, until +this bug is fixed by RenderX. It does not affect documents +with left-to-right text direction. + + + + diff --git a/doc/help/xslt/params/page.margin.top.xml b/doc/help/xslt/params/page.margin.top.xml new file mode 100644 index 00000000..a7e53e86 --- /dev/null +++ b/doc/help/xslt/params/page.margin.top.xml @@ -0,0 +1,28 @@ + + +page.margin.top +length + + +page.margin.top +The top margin of the page + + + + +0.5in + + + +Description + +The top page margin is the distance from the physical top of the +page to the top of the region-before. + + + diff --git a/doc/help/xslt/params/page.orientation.xml b/doc/help/xslt/params/page.orientation.xml new file mode 100644 index 00000000..37971c0c --- /dev/null +++ b/doc/help/xslt/params/page.orientation.xml @@ -0,0 +1,32 @@ + + +page.orientation +list +portrait +landscape + + +page.orientation +Select the page orientation + + + + +portrait + + + +Description + + Select one from portrait or landscape. +In portrait orientation, the short edge is horizontal; in +landscape orientation, it is vertical. + + + + diff --git a/doc/help/xslt/params/page.width.portrait.xml b/doc/help/xslt/params/page.width.portrait.xml new file mode 100644 index 00000000..8216fc32 --- /dev/null +++ b/doc/help/xslt/params/page.width.portrait.xml @@ -0,0 +1,67 @@ + + +page.width.portrait +length + + +page.width.portrait +Specify the physical size of the short edge of the page + + + + + + 8.5in + 1682mm + 1189mm + 841mm + 594mm + 420mm + 297mm + 210mm + 148mm + 105mm + 74mm + 52mm + 37mm + 26mm + 1000mm + 707mm + 500mm + 353mm + 250mm + 176mm + 125mm + 88mm + 62mm + 44mm + 31mm + 917mm + 648mm + 458mm + 324mm + 229mm + 162mm + 114mm + 81mm + 57mm + 40mm + 28mm + 8.5in + + + + +Description + +The portrait page width is the length of the short +edge of the physical page. + + + + diff --git a/doc/help/xslt/params/page.width.xml b/doc/help/xslt/params/page.width.xml new file mode 100644 index 00000000..ff160602 --- /dev/null +++ b/doc/help/xslt/params/page.width.xml @@ -0,0 +1,36 @@ + + +page.width +length + + +page.width +The width of the physical page + + + + + + + + + + + + + + + +Description + +The page width is generally calculated from the +paper.type and +page.orientation parameters. + + + diff --git a/doc/help/xslt/params/pages.template.xml b/doc/help/xslt/params/pages.template.xml new file mode 100644 index 00000000..fff546c1 --- /dev/null +++ b/doc/help/xslt/params/pages.template.xml @@ -0,0 +1,29 @@ + + +pages.template +uri + + +pages.template +Specify the template Pages document + + + + + + + + +Description + +The pages.template parameter specifies a Pages (the Apple word processing application) document to use as a template for the generated document. The template document is used to define the (extensive) headers for the generated document, in particular the paragraph and character styles that are used to format the various elements. Any content in the template document is ignored. + +A template document is used in order to allow maintenance of the paragraph and character styles to be done using Pages itself, rather than these XSL stylesheets. + + + diff --git a/doc/help/xslt/params/paper.type.xml b/doc/help/xslt/params/paper.type.xml new file mode 100644 index 00000000..2656c9cb --- /dev/null +++ b/doc/help/xslt/params/paper.type.xml @@ -0,0 +1,73 @@ + + +paper.type +list +open +open +USletter8.5x11in +USlandscape11x8.5in +USlegal8.5inx14in +USlegallandscape14inx8.5in +4A02378x1682mm +2A01682x1189mm +A01189x841mm +A1841x594mm +A2594x420mm +A3420x297mm +A4297x210mm +A5210x148mm +A6148x105mm +A7105x74mm +A874x52mm +A952x37mm +A1037x26mm +B01414x1000mm +B11000x707mm +B2707x500mm +B3500x353mm +B4353x250mm +B5250x176mm +B6176x125mm +B7125x88mm +B888x62mm +B962x44mm +B1044x31mm +C01297x917mm +C1917x648mm +C2648x458mm +C3458x324mm +C4324x229mm +C5229x162mm +C6162x114mm +C7114x81mm +C881x57mm +C957x40mm +C1040x28mm + + +paper.type +Select the paper type + + + + +USletter + + + +Description + +The paper type is a convenient way to specify the paper size. +The list of known paper sizes includes USletter and most of the A, +B, and C sizes. See page.width.portrait, for example. + + + + + + diff --git a/doc/help/xslt/params/para.propagates.style.xml b/doc/help/xslt/params/para.propagates.style.xml new file mode 100644 index 00000000..0415adf2 --- /dev/null +++ b/doc/help/xslt/params/para.propagates.style.xml @@ -0,0 +1,29 @@ + + +para.propagates.style +boolean + + +para.propagates.style +Pass para role attribute through to HTML? + + + + + + + + +Description + +If true, the role attribute of para elements +will be passed through to the HTML as a class attribute on the +p generated for the paragraph. + + + diff --git a/doc/help/xslt/params/part.autolabel.xml b/doc/help/xslt/params/part.autolabel.xml new file mode 100644 index 00000000..4f1a42c5 --- /dev/null +++ b/doc/help/xslt/params/part.autolabel.xml @@ -0,0 +1,73 @@ + + +part.autolabel +list +0none +11,2,3... +AA,B,C... +aa,b,c... +ii,ii,iii... +II,II,III... + + +part.autolabel +Specifies the labeling format for Part titles + + + + +I + + + +Description + +If non-zero, then parts will be numbered using the parameter +value as the number format if the value matches one of the following: + + + + + 1 or arabic + + Arabic numeration (1, 2, 3 ...). + + + + A or upperalpha + + Uppercase letter numeration (A, B, C ...). + + + + a or loweralpha + + Lowercase letter numeration (a, b, c ...). + + + + I or upperroman + + Uppercase roman numeration (I, II, III ...). + + + + i or lowerroman + + Lowercase roman letter numeration (i, ii, iii ...). + + + + +Any nonzero value other than the above will generate +the default number format (upperroman). + + + + + diff --git a/doc/help/xslt/params/passivetex.extensions.xml b/doc/help/xslt/params/passivetex.extensions.xml new file mode 100644 index 00000000..2b1cb778 --- /dev/null +++ b/doc/help/xslt/params/passivetex.extensions.xml @@ -0,0 +1,37 @@ + + +passivetex.extensions +boolean + + +passivetex.extensions +Enable PassiveTeX extensions? + + + + + + +Description + +If non-zero, +PassiveTeX +extensions will be used. At present, this consists of PDF bookmarks +and sorted index terms. + + +This parameter can also affect which graphics file formats +are supported + + + PassiveTeX is incomplete and development has ceased. In most cases, +another XSL-FO engine is probably a better choice. + + + + diff --git a/doc/help/xslt/params/pgwide.properties.xml b/doc/help/xslt/params/pgwide.properties.xml new file mode 100644 index 00000000..c63b4615 --- /dev/null +++ b/doc/help/xslt/params/pgwide.properties.xml @@ -0,0 +1,52 @@ + + +pgwide.properties +attribute set + + +pgwide.properties +Properties to make a figure or table page wide. + + + + + + + 0pt + + + + +Description + +This attribute set is used to set the properties +that make a figure or table "page wide" in fo output. +It comes into effect when an attribute pgwide="1" +is used. + + + +By default, it sets start-indent +to 0pt. +In a stylesheet that sets the parameter +body.start.indent +to a non-zero value in order to indent body text, +this attribute set can be used to outdent pgwide +figures to the start margin. + + +If a document uses a multi-column page layout, +then this attribute set could try setting span +to a value of all. However, this may +not work with some processors because a span property must be on an +fo:block that is a direct child of fo:flow. It may work in +some processors anyway. + + + + diff --git a/doc/help/xslt/params/phrase.propagates.style.xml b/doc/help/xslt/params/phrase.propagates.style.xml new file mode 100644 index 00000000..8c258922 --- /dev/null +++ b/doc/help/xslt/params/phrase.propagates.style.xml @@ -0,0 +1,29 @@ + + +phrase.propagates.style +boolean + + +phrase.propagates.style +Pass phrase role attribute through to HTML? + + + + + + + +Description + +If non-zero, the role attribute of phrase elements +will be passed through to the HTML as a class +attribute on a span that surrounds the +phrase. + + + diff --git a/doc/help/xslt/params/pixels.per.inch.xml b/doc/help/xslt/params/pixels.per.inch.xml new file mode 100644 index 00000000..86faff5c --- /dev/null +++ b/doc/help/xslt/params/pixels.per.inch.xml @@ -0,0 +1,31 @@ + + +pixels.per.inch +integer + + +pixels.per.inch +How many pixels are there per inch? + + + + +90 + + + +Description + +When lengths are converted to pixels, this value is used to +determine the size of a pixel. The default value is taken from the +XSL +Recommendation. + + + + diff --git a/doc/help/xslt/params/plus.image.xml b/doc/help/xslt/params/plus.image.xml new file mode 100644 index 00000000..17b3d3ca --- /dev/null +++ b/doc/help/xslt/params/plus.image.xml @@ -0,0 +1,29 @@ + + +plus.image +filename + + +plus.image +Plus image + + + + +toc/closed.png + + + +Description + +Specifies the filename of the plus image; the image used in a +dynamic ToC to indicate that a section +can be expanded. + + + diff --git a/doc/help/xslt/params/points.per.em.xml b/doc/help/xslt/params/points.per.em.xml new file mode 100644 index 00000000..76bd22e8 --- /dev/null +++ b/doc/help/xslt/params/points.per.em.xml @@ -0,0 +1,29 @@ + + +points.per.em +number + + +points.per.em +Specify the nominal size of an em-space in points + + + + +10 + + + +Description + +The fixed value used for calculations based upon the size of a +character. The assumption made is that ten point font is in use. This +assumption may not be valid. + + + diff --git a/doc/help/xslt/params/preface.autolabel.xml b/doc/help/xslt/params/preface.autolabel.xml new file mode 100644 index 00000000..f59115a5 --- /dev/null +++ b/doc/help/xslt/params/preface.autolabel.xml @@ -0,0 +1,71 @@ + + +preface.autolabel +list +0none +11,2,3... +AA,B,C... +aa,b,c... +ii,ii,iii... +II,II,III... + + +preface.autolabel +Specifices the labeling format for Preface titles + + + + + + +Description + +If non-zero then prefaces will be numbered using the parameter +value as the number format if the value matches one of the following: + + + + + 1 or arabic + + Arabic numeration (1, 2, 3 ...). + + + + A or upperalpha + + Uppercase letter numeration (A, B, C ...). + + + + a or loweralpha + + Lowercase letter numeration (a, b, c ...). + + + + I or upperroman + + Uppercase roman numeration (I, II, III ...). + + + + i or lowerroman + + Lowercase roman letter numeration (i, ii, iii ...). + + + + +Any nonzero value other than the above will generate +the default number format (arabic). + + + + + diff --git a/doc/help/xslt/params/prefer.internal.olink.xml b/doc/help/xslt/params/prefer.internal.olink.xml new file mode 100644 index 00000000..2599d76c --- /dev/null +++ b/doc/help/xslt/params/prefer.internal.olink.xml @@ -0,0 +1,78 @@ + + +prefer.internal.olink +boolean + + +prefer.internal.olink +Prefer a local olink reference to an external reference + + + + + + + + +Description + +If you are re-using XML content modules in multiple documents, +you may want to redirect some of your olinks. This parameter +permits you to redirect an olink to the current document. + + +For example: you are writing documentation for a product, +which includes 3 manuals: a little installation +booklet (booklet.xml), a user +guide (user.xml), and a reference manual (reference.xml). +All 3 documents begin with the same introduction section (intro.xml) that +contains a reference to the customization section (custom.xml) which is +included in both user.xml and reference.xml documents. + + +How do you write the link to custom.xml in intro.xml +so that it is interpreted correctly in all 3 documents? + +If you use xref, it will fail in user.xml. + +If you use olink (pointing to reference.xml), +the reference in user.xml +will point to the customization section of the reference manual, while it is +actually available in user.xml. + + + +If you set the prefer.internal.olink +parameter to a non-zero value, then the processor will +first look in the olink database +for the olink's targetptr attribute value +in document matching the current.docid +parameter value. If it isn't found there, then +it tries the document in the database +with the targetdoc +value that matches the olink's targetdoc +attribute. + + +This feature permits an olink reference to resolve to +the current document if there is an element +with an id matching the olink's targetptr +value. The current document's olink data must be +included in the target database for this to work. + + +There is a potential for incorrect links if +the same id attribute value is used for different +content in different documents. +Some of your olinks may be redirected to the current document +when they shouldn't be. It is not possible to control +individual olink instances. + + + + diff --git a/doc/help/xslt/params/preferred.mediaobject.role.xml b/doc/help/xslt/params/preferred.mediaobject.role.xml new file mode 100644 index 00000000..57b09890 --- /dev/null +++ b/doc/help/xslt/params/preferred.mediaobject.role.xml @@ -0,0 +1,40 @@ + + +preferred.mediaobject.role +string + + +preferred.mediaobject.role +Select which mediaobject to use based on +this value of an object's role attribute. + + + + + + + + + +Description + +A mediaobject may contain several objects such as imageobjects. +If the parameter use.role.for.mediaobject is +non-zero, then the role attribute on +imageobjects and other objects within a +mediaobject container will be used to select which object +will be used. If one of the objects has a role value that matches the +preferred.mediaobject.role parameter, then it +has first priority for selection. If more than one has such a role +value, the first one is used. + + +See the use.role.for.mediaobject parameter +for the sequence of selection. + + diff --git a/doc/help/xslt/params/prev.image.xml b/doc/help/xslt/params/prev.image.xml new file mode 100644 index 00000000..b0171157 --- /dev/null +++ b/doc/help/xslt/params/prev.image.xml @@ -0,0 +1,27 @@ + + +prev.image +filename + + +prev.image +Left-arrow image + + + + +active/nav-prev.png + + + +Description + +Specifies the filename of the left-pointing navigation arrow. + + + diff --git a/doc/help/xslt/params/procedure.properties.xml b/doc/help/xslt/params/procedure.properties.xml new file mode 100644 index 00000000..f6cadb02 --- /dev/null +++ b/doc/help/xslt/params/procedure.properties.xml @@ -0,0 +1,29 @@ + + +procedure.properties +attribute set + + +procedure.properties +Properties associated with a procedure + + + + + + auto + + + + +Description + +The styling for procedures. + + + diff --git a/doc/help/xslt/params/process.empty.source.toc.xml b/doc/help/xslt/params/process.empty.source.toc.xml new file mode 100644 index 00000000..772b4566 --- /dev/null +++ b/doc/help/xslt/params/process.empty.source.toc.xml @@ -0,0 +1,39 @@ + + +process.empty.source.toc +boolean + + +process.empty.source.toc +Generate automated TOC if toc element occurs in a source document? + + + + + + +Description + +Specifies that if an empty toc element is found in a +source document, an automated TOC is generated at this point in the +document. + + Depending on what the value of the + generate.toc parameter is, setting this + parameter to 1 could result in generation of + duplicate automated TOCs. So the + process.empty.source.toc is primarily useful + as an "override": by placing an empty toc in your + document and setting this parameter to 1, you can + force a TOC to be generated even if generate.toc + says not to. + + + + + diff --git a/doc/help/xslt/params/process.source.toc.xml b/doc/help/xslt/params/process.source.toc.xml new file mode 100644 index 00000000..b91657a9 --- /dev/null +++ b/doc/help/xslt/params/process.source.toc.xml @@ -0,0 +1,39 @@ + + +process.source.toc +boolean + + +process.source.toc +Process a non-empty toc element if it occurs in a source document? + + + + + + +Description + +Specifies that the contents of a non-empty "hard-coded" +toc element in a source document are processed to +generate a TOC in output. + + This parameter has no effect on automated generation of + TOCs. An automated TOC may still be generated along with the + "hard-coded" TOC. To suppress automated TOC generation, adjust the + value of the generate.toc paramameter. + + The process.source.toc parameter also has + no effect if the toc element is empty; handling + for empty toc is controlled by the + process.empty.source.toc parameter. + + + + + diff --git a/doc/help/xslt/params/profile.arch.xml b/doc/help/xslt/params/profile.arch.xml new file mode 100644 index 00000000..afcd34c4 --- /dev/null +++ b/doc/help/xslt/params/profile.arch.xml @@ -0,0 +1,39 @@ + + +profile.arch +string + + +profile.arch +Target profile for arch +attribute + + + + + + + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + diff --git a/doc/help/xslt/params/profile.attribute.xml b/doc/help/xslt/params/profile.attribute.xml new file mode 100644 index 00000000..e7dc5d01 --- /dev/null +++ b/doc/help/xslt/params/profile.attribute.xml @@ -0,0 +1,34 @@ + + +profile.attribute +string + + +profile.attribute +Name of user-specified profiling attribute + + + + + + + + +Description + +This parameter is used in conjuction with +profile.value. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + diff --git a/doc/help/xslt/params/profile.audience.xml b/doc/help/xslt/params/profile.audience.xml new file mode 100644 index 00000000..1c5b1a30 --- /dev/null +++ b/doc/help/xslt/params/profile.audience.xml @@ -0,0 +1,38 @@ + + +profile.audience +string + + +profile.audience +Target profile for audience +attribute + + + + + + + + +Description + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + diff --git a/doc/help/xslt/params/profile.condition.xml b/doc/help/xslt/params/profile.condition.xml new file mode 100644 index 00000000..8bb01a36 --- /dev/null +++ b/doc/help/xslt/params/profile.condition.xml @@ -0,0 +1,38 @@ + + +profile.condition +string + + +profile.condition +Target profile for condition +attribute + + + + + + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + diff --git a/doc/help/xslt/params/profile.conformance.xml b/doc/help/xslt/params/profile.conformance.xml new file mode 100644 index 00000000..606af4ca --- /dev/null +++ b/doc/help/xslt/params/profile.conformance.xml @@ -0,0 +1,38 @@ + + +profile.conformance +string + + +profile.conformance +Target profile for conformance +attribute + + + + + + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + diff --git a/doc/help/xslt/params/profile.lang.xml b/doc/help/xslt/params/profile.lang.xml new file mode 100644 index 00000000..43b9439a --- /dev/null +++ b/doc/help/xslt/params/profile.lang.xml @@ -0,0 +1,38 @@ + + +profile.lang +string + + +profile.lang +Target profile for lang +attribute + + + + + + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + diff --git a/doc/help/xslt/params/profile.os.xml b/doc/help/xslt/params/profile.os.xml new file mode 100644 index 00000000..ba6f430b --- /dev/null +++ b/doc/help/xslt/params/profile.os.xml @@ -0,0 +1,38 @@ + + +profile.os +string + + +profile.os +Target profile for os +attribute + + + + + + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + diff --git a/doc/help/xslt/params/profile.revision.xml b/doc/help/xslt/params/profile.revision.xml new file mode 100644 index 00000000..28f668d9 --- /dev/null +++ b/doc/help/xslt/params/profile.revision.xml @@ -0,0 +1,38 @@ + + +profile.revision +string + + +profile.revision +Target profile for revision +attribute + + + + + + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + diff --git a/doc/help/xslt/params/profile.revisionflag.xml b/doc/help/xslt/params/profile.revisionflag.xml new file mode 100644 index 00000000..3ab8919b --- /dev/null +++ b/doc/help/xslt/params/profile.revisionflag.xml @@ -0,0 +1,38 @@ + + +profile.revisionflag +string + + +profile.revisionflag +Target profile for revisionflag +attribute + + + + + + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + diff --git a/doc/help/xslt/params/profile.role.xml b/doc/help/xslt/params/profile.role.xml new file mode 100644 index 00000000..5758e4ae --- /dev/null +++ b/doc/help/xslt/params/profile.role.xml @@ -0,0 +1,54 @@ + + +profile.role +string + + +profile.role +Target profile for role +attribute + + + + + + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + +Note that role is often +used for other purposes than profiling. For example it is commonly +used to get emphasize in bold font: + +<emphasis role="bold">very important</emphasis> + +If you are using role for +these purposes do not forget to add values like bold to +value of this parameter. If you forgot you will get document with +small pieces missing which are very hard to track. + +For this reason it is not recommended to use role attribute for profiling. You should +rather use profiling specific attributes like userlevel, os, arch, condition, etc. + + + + diff --git a/doc/help/xslt/params/profile.security.xml b/doc/help/xslt/params/profile.security.xml new file mode 100644 index 00000000..8ffca0f6 --- /dev/null +++ b/doc/help/xslt/params/profile.security.xml @@ -0,0 +1,38 @@ + + +profile.security +string + + +profile.security +Target profile for security +attribute + + + + + + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + diff --git a/doc/help/xslt/params/profile.separator.xml b/doc/help/xslt/params/profile.separator.xml new file mode 100644 index 00000000..a4317f53 --- /dev/null +++ b/doc/help/xslt/params/profile.separator.xml @@ -0,0 +1,27 @@ + + +profile.separator +string + + +profile.separator +Separator character for compound profile values + + + + +; + + + +Description + +Separator character used for compound profile values. See profile.arch + + + diff --git a/doc/help/xslt/params/profile.status.xml b/doc/help/xslt/params/profile.status.xml new file mode 100644 index 00000000..c9fc469c --- /dev/null +++ b/doc/help/xslt/params/profile.status.xml @@ -0,0 +1,38 @@ + + +profile.status +string + + +profile.status +Target profile for status +attribute + + + + + + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + diff --git a/doc/help/xslt/params/profile.userlevel.xml b/doc/help/xslt/params/profile.userlevel.xml new file mode 100644 index 00000000..39e263b1 --- /dev/null +++ b/doc/help/xslt/params/profile.userlevel.xml @@ -0,0 +1,38 @@ + + +profile.userlevel +string + + +profile.userlevel +Target profile for userlevel +attribute + + + + + + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + diff --git a/doc/help/xslt/params/profile.value.xml b/doc/help/xslt/params/profile.value.xml new file mode 100644 index 00000000..85f71901 --- /dev/null +++ b/doc/help/xslt/params/profile.value.xml @@ -0,0 +1,41 @@ + + +profile.value +string + + +profile.value +Target profile for user-specified attribute + + + + + + + + +Description + +When you are using this parameter you must also specify name of +profiling attribute with parameter +profile.attribute. + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + diff --git a/doc/help/xslt/params/profile.vendor.xml b/doc/help/xslt/params/profile.vendor.xml new file mode 100644 index 00000000..c0187f00 --- /dev/null +++ b/doc/help/xslt/params/profile.vendor.xml @@ -0,0 +1,38 @@ + + +profile.vendor +string + + +profile.vendor +Target profile for vendor +attribute + + + + + + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + diff --git a/doc/help/xslt/params/profile.wordsize.xml b/doc/help/xslt/params/profile.wordsize.xml new file mode 100644 index 00000000..e30ffc7f --- /dev/null +++ b/doc/help/xslt/params/profile.wordsize.xml @@ -0,0 +1,38 @@ + + +profile.wordsize +string + + +profile.wordsize +Target profile for wordsize +attribute + + + + + + + + +Description + +The value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + diff --git a/doc/help/xslt/params/punct.honorific.xml b/doc/help/xslt/params/punct.honorific.xml new file mode 100644 index 00000000..7c8a38e4 --- /dev/null +++ b/doc/help/xslt/params/punct.honorific.xml @@ -0,0 +1,28 @@ + + +punct.honorific +string + + +punct.honorific +Punctuation after an honorific in a personal name. + + + + +. + + + +Description + +This parameter specifies the punctuation that should be added after an +honorific in a personal name. + + + diff --git a/doc/help/xslt/params/qanda.defaultlabel.xml b/doc/help/xslt/params/qanda.defaultlabel.xml new file mode 100644 index 00000000..0b43f0d8 --- /dev/null +++ b/doc/help/xslt/params/qanda.defaultlabel.xml @@ -0,0 +1,86 @@ + + +qanda.defaultlabel +list +number +qanda +none + + +qanda.defaultlabel +Sets the default for defaultlabel on QandASet. + + + + +number + + + +Description + +If no defaultlabel attribute is specified on +a qandaset, this value is used. It is generally one of the legal +values for the defaultlabel attribute (none, +number or +qanda), or one of the additional stylesheet-specific values +(qnumber or qnumberanda). +The default value is 'number'. + +The values are rendered as follows: + +qanda + +questions are labeled "Q:" and +answers are labeled "A:". + + + +number + +The questions are enumerated and the answers +are not labeled. + + + +qnumber + +The questions are labeled "Q:" followed by a number, and answers are not +labeled. +When sections are numbered, adding a label +to the number distinguishes the question numbers +from the section numbers. +This value is not allowed in the +defaultlabel attribute +of a qandaset element. + + + +qnumberanda + +The questions are labeled "Q:" followed by a number, and +the answers are labeled "A:". +When sections are numbered, adding a label +to the number distinguishes the question numbers +from the section numbers. +This value is not allowed in the +defaultlabel attribute +of a qandaset element. + + + +none + +No distinguishing label precedes Questions or Answers. + + + + + + + diff --git a/doc/help/xslt/params/qanda.in.toc.xml b/doc/help/xslt/params/qanda.in.toc.xml new file mode 100644 index 00000000..9597b71d --- /dev/null +++ b/doc/help/xslt/params/qanda.in.toc.xml @@ -0,0 +1,34 @@ + + +qanda.in.toc +boolean + + +qanda.in.toc +Should qandaentry questions appear in +the document table of contents? + + + + + + +Description + +If true (non-zero), then the generated table of contents +for a document will include qandaset titles, +qandadiv titles, +and question elements. The default value (zero) excludes +them from the TOC. + +This parameter does not affect any tables of contents +that may be generated inside a qandaset or qandadiv. + + + + diff --git a/doc/help/xslt/params/qanda.inherit.numeration.xml b/doc/help/xslt/params/qanda.inherit.numeration.xml new file mode 100644 index 00000000..744c0e84 --- /dev/null +++ b/doc/help/xslt/params/qanda.inherit.numeration.xml @@ -0,0 +1,30 @@ + + +qanda.inherit.numeration +boolean + + +qanda.inherit.numeration +Does enumeration of QandASet components inherit the numeration of parent elements? + + + + + + + + +Description + +If non-zero, numbered qandadiv elements and +question and answer inherit the enumeration of +the ancestors of the qandaset. + + + + diff --git a/doc/help/xslt/params/qanda.nested.in.toc.xml b/doc/help/xslt/params/qanda.nested.in.toc.xml new file mode 100644 index 00000000..01bdf5a2 --- /dev/null +++ b/doc/help/xslt/params/qanda.nested.in.toc.xml @@ -0,0 +1,29 @@ + + +qanda.nested.in.toc +boolean + + +qanda.nested.in.toc +Should nested answer/qandaentry instances appear in TOC? + + + + + + + + +Description + +If non-zero, instances of qandaentry +that are children of answer elements are shown in +the TOC. + + + diff --git a/doc/help/xslt/params/qanda.title.level1.properties.xml b/doc/help/xslt/params/qanda.title.level1.properties.xml new file mode 100644 index 00000000..edaecc90 --- /dev/null +++ b/doc/help/xslt/params/qanda.title.level1.properties.xml @@ -0,0 +1,32 @@ + + +qanda.title.level1.properties +attribute set + + +qanda.title.level1.properties +Properties for level-1 qanda set titles + + + + + + + + pt + + + + + +Description + +The properties of level-1 qanda set titles. + + + diff --git a/doc/help/xslt/params/qanda.title.level2.properties.xml b/doc/help/xslt/params/qanda.title.level2.properties.xml new file mode 100644 index 00000000..ca48ca1a --- /dev/null +++ b/doc/help/xslt/params/qanda.title.level2.properties.xml @@ -0,0 +1,32 @@ + + +qanda.title.level2.properties +attribute set + + +qanda.title.level2.properties +Properties for level-2 qanda set titles + + + + + + + + pt + + + + + +Description + +The properties of level-2 qanda set titles. + + + diff --git a/doc/help/xslt/params/qanda.title.level3.properties.xml b/doc/help/xslt/params/qanda.title.level3.properties.xml new file mode 100644 index 00000000..c9c098ea --- /dev/null +++ b/doc/help/xslt/params/qanda.title.level3.properties.xml @@ -0,0 +1,32 @@ + + +qanda.title.level3.properties +attribute set + + +qanda.title.level3.properties +Properties for level-3 qanda set titles + + + + + + + + pt + + + + + +Description + +The properties of level-3 qanda set titles. + + + diff --git a/doc/help/xslt/params/qanda.title.level4.properties.xml b/doc/help/xslt/params/qanda.title.level4.properties.xml new file mode 100644 index 00000000..4344e767 --- /dev/null +++ b/doc/help/xslt/params/qanda.title.level4.properties.xml @@ -0,0 +1,32 @@ + + +qanda.title.level4.properties +attribute set + + +qanda.title.level4.properties +Properties for level-4 qanda set titles + + + + + + + + pt + + + + + +Description + +The properties of level-4 qanda set titles. + + + diff --git a/doc/help/xslt/params/qanda.title.level5.properties.xml b/doc/help/xslt/params/qanda.title.level5.properties.xml new file mode 100644 index 00000000..31b0d203 --- /dev/null +++ b/doc/help/xslt/params/qanda.title.level5.properties.xml @@ -0,0 +1,32 @@ + + +qanda.title.level5.properties +attribute set + + +qanda.title.level5.properties +Properties for level-5 qanda set titles + + + + + + + + pt + + + + + +Description + +The properties of level-5 qanda set titles. + + + diff --git a/doc/help/xslt/params/qanda.title.level6.properties.xml b/doc/help/xslt/params/qanda.title.level6.properties.xml new file mode 100644 index 00000000..920c7e9e --- /dev/null +++ b/doc/help/xslt/params/qanda.title.level6.properties.xml @@ -0,0 +1,34 @@ + + +qanda.title.level6.properties +attribute set + + +qanda.title.level6.properties +Properties for level-6 qanda set titles + + + + + + + + pt + + + + + +Description + +The properties of level-6 qanda set titles. +This property set is actually +used for all titles below level 5. + + + diff --git a/doc/help/xslt/params/qanda.title.properties.xml b/doc/help/xslt/params/qanda.title.properties.xml new file mode 100644 index 00000000..7c3c2a16 --- /dev/null +++ b/doc/help/xslt/params/qanda.title.properties.xml @@ -0,0 +1,37 @@ + + +qanda.title.properties +attribute set + + +qanda.title.properties +Properties for qanda set titles + + + + + + + + + bold + + always + 0.8em + 1.0em + 1.2em + + + + +Description + +The properties common to all qanda set titles. + + + diff --git a/doc/help/xslt/params/qandadiv.autolabel.xml b/doc/help/xslt/params/qandadiv.autolabel.xml new file mode 100644 index 00000000..596350af --- /dev/null +++ b/doc/help/xslt/params/qandadiv.autolabel.xml @@ -0,0 +1,26 @@ + + +qandadiv.autolabel +boolean + + +qandadiv.autolabel +Are divisions in QAndASets enumerated? + + + + + + +Description + +If non-zero, unlabeled qandadivs will be enumerated. + + + + diff --git a/doc/help/xslt/params/rebuild-all.xml b/doc/help/xslt/params/rebuild-all.xml new file mode 100644 index 00000000..6dcd5e02 --- /dev/null +++ b/doc/help/xslt/params/rebuild-all.xml @@ -0,0 +1,33 @@ + + +rebuild-all +boolean + + +rebuild-all +Indicates that all files should be produced + + + + + + + + +Description +When using the XSLT processor to manage dependencies and construct +the website, this parameter can be used to regenerate the whole website, +updating even pages that don't appear to need to be updated. +The dependency extension only looks at the source documents. So +if you change something in the stylesheet, for example, that has a global +effect, you can use this parameter to force the stylesheet to rebuild the +whole website. + +Only applies when XSLT-based chunking is being used. + + diff --git a/doc/help/xslt/params/refclass.suppress.xml b/doc/help/xslt/params/refclass.suppress.xml new file mode 100644 index 00000000..8f9b52ae --- /dev/null +++ b/doc/help/xslt/params/refclass.suppress.xml @@ -0,0 +1,28 @@ + + +refclass.suppress +boolean + + +refclass.suppress +Suppress display of refclass contents? + + + + + + + +Description + +If the value of refclass.suppress is +non-zero, then display of refclass contents is +suppressed in output. + + + diff --git a/doc/help/xslt/params/refentry.date.profile.enabled.xml b/doc/help/xslt/params/refentry.date.profile.enabled.xml new file mode 100644 index 00000000..11de6607 --- /dev/null +++ b/doc/help/xslt/params/refentry.date.profile.enabled.xml @@ -0,0 +1,46 @@ + + +refentry.date.profile.enabled +boolean + + +refentry.date.profile.enabled +Enable refentry "date" profiling? + + + + +0 + + +Description + +If the value of +refentry.date.profile.enabled is non-zero, then +during refentry metadata gathering, the info profile +specified by the customizable +refentry.date.profile parameter is used. + +If instead the value of +refentry.date.profile.enabled is zero (the +default), then "hard coded" logic within the DocBook XSL stylesheets +is used for gathering refentry "date" data. + +If you find that the default refentry +metadata-gathering behavior is causing incorrect "date" data to show +up in your output, then consider setting a non-zero value for +refentry.date.profile.enabled and adjusting the +value of refentry.date.profile to cause correct +data to be gathered. + +Note that the terms "source" and "date" have special meanings in +this context. For details, see the documentation for the +refentry.date.profile parameter. + + + diff --git a/doc/help/xslt/params/refentry.date.profile.xml b/doc/help/xslt/params/refentry.date.profile.xml new file mode 100644 index 00000000..1220ed03 --- /dev/null +++ b/doc/help/xslt/params/refentry.date.profile.xml @@ -0,0 +1,38 @@ + + +refentry.date.profile +string + + +refentry.date.profile +Specifies profile for refentry "date" data + + + + + + (($info[//date])[last()]/date)[1]| + (($info[//pubdate])[last()]/pubdate)[1] + + + + +Description + +The value of refentry.date.profile is a +string representing an XPath expression. It is evaluated at run-time +and used only if refentry.date.profile.enabled +is non-zero. Otherwise, the refentry metadata-gathering +logic "hard coded" into the stylesheets is used. + + The man(7) man page describes this content +as "the date of the last revision". In man pages, it is the content +that is usually displayed in the center footer. + + + diff --git a/doc/help/xslt/params/refentry.generate.name.xml b/doc/help/xslt/params/refentry.generate.name.xml new file mode 100644 index 00000000..f59e6d55 --- /dev/null +++ b/doc/help/xslt/params/refentry.generate.name.xml @@ -0,0 +1,33 @@ + + +refentry.generate.name +boolean + + +refentry.generate.name +Output NAME header before refnames? + + + + + + + + +Description + +If non-zero, a "NAME" section title is output before the list +of refnames. This parameter and +refentry.generate.title are mutually +exclusive. This means that if you change this parameter to zero, you +should set refentry.generate.title to non-zero unless +you want get quite strange output. + + + + diff --git a/doc/help/xslt/params/refentry.generate.title.xml b/doc/help/xslt/params/refentry.generate.title.xml new file mode 100644 index 00000000..8029b207 --- /dev/null +++ b/doc/help/xslt/params/refentry.generate.title.xml @@ -0,0 +1,33 @@ + + +refentry.generate.title +boolean + + +refentry.generate.title +Output title before refnames? + + + + + + + + +Description + +If non-zero, the reference page title or first name is +output before the list of refnames. This parameter and +refentry.generate.name are mutually exclusive. +This means that if you change this parameter to non-zero, you +should set refentry.generate.name to zero unless +you want get quite strange output. + + + + diff --git a/doc/help/xslt/params/refentry.manual.fallback.profile.xml b/doc/help/xslt/params/refentry.manual.fallback.profile.xml new file mode 100644 index 00000000..63627856 --- /dev/null +++ b/doc/help/xslt/params/refentry.manual.fallback.profile.xml @@ -0,0 +1,48 @@ + + +refentry.manual.fallback.profile +string + + +refentry.manual.fallback.profile +Specifies profile of "fallback" for refentry "manual" data + + + + + +refmeta/refmiscinfo[not(@class = 'date')][1]/node() + + + +Description + +The value of +refentry.manual.fallback.profile is a string +representing an XPath expression. It is evaluated at run-time and +used only if no "manual" data can be found by other means (that is, +either using the refentry metadata-gathering logic "hard +coded" in the stylesheets, or the value of +refentry.manual.profile, if it is +enabled). + + +Depending on which XSLT engine you run, either the EXSLT +dyn:evaluate extension function (for xsltproc or +Xalan) or saxon:evaluate extension function (for +Saxon) are used to dynamically evaluate the value of +refentry.manual.fallback.profile at +run-time. If you don't use xsltproc, Saxon, Xalan -- or some other +XSLT engine that supports dyn:evaluate -- you +must manually disable fallback processing by setting an empty value +for the refentry.manual.fallback.profile +parameter. + + + + diff --git a/doc/help/xslt/params/refentry.manual.profile.enabled.xml b/doc/help/xslt/params/refentry.manual.profile.enabled.xml new file mode 100644 index 00000000..a3b7b549 --- /dev/null +++ b/doc/help/xslt/params/refentry.manual.profile.enabled.xml @@ -0,0 +1,47 @@ + + +refentry.manual.profile.enabled +boolean + + +refentry.manual.profile.enabled +Enable refentry "manual" profiling? + + + + +0 + + +Description + +If the value of +refentry.manual.profile.enabled is +non-zero, then during refentry metadata gathering, the info +profile specified by the customizable +refentry.manual.profile parameter is +used. + +If instead the value of +refentry.manual.profile.enabled is zero (the +default), then "hard coded" logic within the DocBook XSL stylesheets +is used for gathering refentry "manual" data. + +If you find that the default refentry +metadata-gathering behavior is causing incorrect "manual" data to show +up in your output, then consider setting a non-zero value for +refentry.manual.profile.enabled and adjusting +the value of refentry.manual.profile to cause +correct data to be gathered. + +Note that the term "manual" has a special meanings in this +context. For details, see the documentation for the +refentry.manual.profile parameter. + + + diff --git a/doc/help/xslt/params/refentry.manual.profile.xml b/doc/help/xslt/params/refentry.manual.profile.xml new file mode 100644 index 00000000..214b1701 --- /dev/null +++ b/doc/help/xslt/params/refentry.manual.profile.xml @@ -0,0 +1,72 @@ + + +refentry.manual.profile +string + + +refentry.manual.profile +Specifies profile for refentry "manual" data + + + + + + (($info[//title])[last()]/title)[1]| + ../title/node() + + + + +Description + +The value of refentry.manual.profile is +a string representing an XPath expression. It is evaluated at +run-time and used only if +refentry.manual.profile.enabled is +non-zero. Otherwise, the refentry metadata-gathering logic +"hard coded" into the stylesheets is used. + +In man pages, this content is usually displayed in the middle of +the header of the page. The man(7) man page +describes this as "the title of the manual (e.g., Linux +Programmer's Manual)". Here are some examples from +existing man pages: + + + dpkg utilities + (dpkg-name) + + + User Contributed Perl Documentation + (GET) + + + GNU Development Tools + (ld) + + + Emperor Norton Utilities + (ddate) + + + Debian GNU/Linux manual + (faked) + + + GIMP Manual Pages + (gimp) + + + KDOC Documentation System + (qt2kdoc) + + + + + + diff --git a/doc/help/xslt/params/refentry.meta.get.quietly.xml b/doc/help/xslt/params/refentry.meta.get.quietly.xml new file mode 100644 index 00000000..0ed29f6c --- /dev/null +++ b/doc/help/xslt/params/refentry.meta.get.quietly.xml @@ -0,0 +1,37 @@ + + +refentry.meta.get.quietly +boolean + + +refentry.meta.get.quietly +Suppress notes and warnings when gathering refentry metadata? + + + + + + + + +Description + +If zero (the default), notes and warnings about “missing” markup +are generated during gathering of refentry metadata. If non-zero, the +metadata is gathered “quietly” -- that is, the notes and warnings are +suppressed. + + + If you are processing a large amount of refentry + content, you may be able to speed up processing significantly by + setting a non-zero value for + refentry.meta.get.quietly. + + + + diff --git a/doc/help/xslt/params/refentry.pagebreak.xml b/doc/help/xslt/params/refentry.pagebreak.xml new file mode 100644 index 00000000..42b84661 --- /dev/null +++ b/doc/help/xslt/params/refentry.pagebreak.xml @@ -0,0 +1,33 @@ + + +refentry.pagebreak +boolean + + +refentry.pagebreak +Start each refentry on a new page + + + + + + +Description + +If non-zero (the default), each refentry +element will start on a new page. If zero, a page +break will not be generated between refentry elements. +The exception is when the refentry elements are children of +a part element, in which case the page breaks are always +retained. That is because a part element does not generate +a page-sequence for its children, so each refentry must +start its own page-sequence. + + + + diff --git a/doc/help/xslt/params/refentry.separator.xml b/doc/help/xslt/params/refentry.separator.xml new file mode 100644 index 00000000..a7eeb84b --- /dev/null +++ b/doc/help/xslt/params/refentry.separator.xml @@ -0,0 +1,29 @@ + + +refentry.separator +boolean + + +refentry.separator +Generate a separator between consecutive RefEntry elements? + + + + + + + + +Description + +If true, a separator will be generated between consecutive +reference pages. + + + + diff --git a/doc/help/xslt/params/refentry.source.fallback.profile.xml b/doc/help/xslt/params/refentry.source.fallback.profile.xml new file mode 100644 index 00000000..1761378a --- /dev/null +++ b/doc/help/xslt/params/refentry.source.fallback.profile.xml @@ -0,0 +1,49 @@ + + +refentry.source.fallback.profile +string + + +refentry.source.fallback.profile +Specifies profile of "fallback" for refentry "source" data + + + + + +refmeta/refmiscinfo[not(@class = 'date')][1]/node() + + + +Description + +The value of +refentry.source.fallback.profile is a string +representing an XPath expression. It is evaluated at run-time and used +only if no "source" data can be found by other means (that is, either +using the refentry metadata-gathering logic "hard coded" in +the stylesheets, or the value of the +refentry.source.name.profile and +refentry.version.profile parameters, if those +are enabled). + + +Depending on which XSLT engine you run, either the EXSLT +dyn:evaluate extension function (for xsltproc or +Xalan) or saxon:evaluate extension function (for +Saxon) are used to dynamically evaluate the value of +refentry.source.fallback.profile at +run-time. If you don't use xsltproc, Saxon, Xalan -- or some other +XSLT engine that supports dyn:evaluate -- you +must manually disable fallback processing by setting an empty value +for the refentry.source.fallback.profile +parameter. + + + + diff --git a/doc/help/xslt/params/refentry.source.name.profile.enabled.xml b/doc/help/xslt/params/refentry.source.name.profile.enabled.xml new file mode 100644 index 00000000..f87ec0fe --- /dev/null +++ b/doc/help/xslt/params/refentry.source.name.profile.enabled.xml @@ -0,0 +1,48 @@ + + +refentry.source.name.profile.enabled +boolean + + +refentry.source.name.profile.enabled +Enable refentry "source name" profiling? + + + + +0 + + +Description + +If the value of +refentry.source.name.profile.enabled is +non-zero, then during refentry metadata gathering, the info +profile specified by the customizable +refentry.source.name.profile parameter is +used. + +If instead the value of +refentry.source.name.profile.enabled is zero (the +default), then "hard coded" logic within the DocBook XSL stylesheets +is used for gathering refentry "source name" data. + +If you find that the default refentry +metadata-gathering behavior is causing incorrect "source name" data to +show up in your output, then consider setting a non-zero value for +refentry.source.name.profile.enabled and +adjusting the value of +refentry.source.name.profile to cause correct +data to be gathered. + +Note that the terms "source" and "source name" have special +meanings in this context. For details, see the documentation for the +refentry.source.name.profile parameter. + + + diff --git a/doc/help/xslt/params/refentry.source.name.profile.xml b/doc/help/xslt/params/refentry.source.name.profile.xml new file mode 100644 index 00000000..c9a10122 --- /dev/null +++ b/doc/help/xslt/params/refentry.source.name.profile.xml @@ -0,0 +1,89 @@ + + +refentry.source.name.profile +string + + +refentry.source.name.profile +Specifies profile for refentry "source name" data + + + + + + (($info[//productname])[last()]/productname)[1]| + (($info[//corpname])[last()]/corpname)[1]| + (($info[//corpcredit])[last()]/corpcredit)[1]| + (($info[//corpauthor])[last()]/corpauthor)[1]| + (($info[//orgname])[last()]/orgname)[1]| + (($info[//publishername])[last()]/publishername)[1] + + + + +Description + +The value of refentry.source.name.profile +is a string representing an XPath expression. It is evaluated at +run-time and used only if +refentry.source.name.profile.enabled is +non-zero. Otherwise, the refentry metadata-gathering logic +"hard coded" into the stylesheets is used. + +A "source name" is one part of a (potentially) two-part +Name Version +"source" field. In man pages, it is usually displayed in the left +footer of the page. It typically indicates the software system or +product that the item documented in the man page belongs to. The +man(7) man page describes it as "the source of +the command", and provides the following examples: + + + For binaries, use something like: GNU, NET-2, SLS + Distribution, MCC Distribution. + + + For system calls, use the version of the kernel that you + are currently looking at: Linux 0.99.11. + + + For library calls, use the source of the function: GNU, BSD + 4.3, Linux DLL 4.4.1. + + + + +In practice, there are many pages that simply have a Version +number in the "source" field. So, it looks like what we have is a +two-part field, +Name Version, +where: + + + Name + + product name (e.g., BSD) or org. name (e.g., GNU) + + + + Version + + version number + + + +Each part is optional. If the Name is a +product name, then the Version is probably +the version of the product. Or there may be no +Name, in which case, if there is a +Version, it is probably the version +of the item itself, not the product it is part of. Or, if the +Name is an organization name, then there +probably will be no Version. + + diff --git a/doc/help/xslt/params/refentry.source.name.suppress.xml b/doc/help/xslt/params/refentry.source.name.suppress.xml new file mode 100644 index 00000000..b29127eb --- /dev/null +++ b/doc/help/xslt/params/refentry.source.name.suppress.xml @@ -0,0 +1,42 @@ + + +refentry.source.name.suppress +boolean + + +refentry.source.name.suppress +Suppress "name" part of refentry "source" contents? + + + + +0 + + +Description + +If the value of +refentry.source.name.suppress is non-zero, then +during refentry metadata gathering, no "source name" data +is added to the refentry "source" contents. Instead (unless +refentry.version.suppress is also non-zero), +only "version" data is added to the "source" contents. + +If you find that the refentry metadata gathering +mechanism is causing unwanted "source name" data to show up in your +output -- for example, in the footer (or possibly header) of a man +page -- then you might consider setting a non-zero value for +refentry.source.name.suppress. + +Note that the terms "source", "source name", and "version" have +special meanings in this context. For details, see the documentation +for the refentry.source.name.profile +parameter. + + + diff --git a/doc/help/xslt/params/refentry.title.properties.xml b/doc/help/xslt/params/refentry.title.properties.xml new file mode 100644 index 00000000..5bb1f256 --- /dev/null +++ b/doc/help/xslt/params/refentry.title.properties.xml @@ -0,0 +1,59 @@ + + +refentry.title.properties +attribute set + + +refentry.title.properties +Title properties for a refentry title + + + + + + + + + 18pt + bold + 1em + false + always + 0.8em + 1.0em + 1.2em + 0.5em + 0.4em + 0.6em + + + + + +Description + +Formatting properties applied to the title generated for the +refnamediv part of output for +refentry when the value of the +refentry.generate.title parameter is +non-zero. The font size is supplied by the appropriate section.levelX.title.properties +attribute-set, computed from the location of the +refentry in the section hierarchy. + + + This parameter has no effect on the the title generated for + the refnamediv part of output for + refentry when the value of the + refentry.generate.name parameter is + non-zero. By default, that title is formatted with the same + properties as the titles for all other first-level children of + refentry. + + + + diff --git a/doc/help/xslt/params/refentry.version.profile.enabled.xml b/doc/help/xslt/params/refentry.version.profile.enabled.xml new file mode 100644 index 00000000..3b95bbe5 --- /dev/null +++ b/doc/help/xslt/params/refentry.version.profile.enabled.xml @@ -0,0 +1,47 @@ + + +refentry.version.profile.enabled +boolean + + +refentry.version.profile.enabled +Enable refentry "version" profiling? + + + + +0 + + +Description + +If the value of +refentry.version.profile.enabled is +non-zero, then during refentry metadata gathering, the info +profile specified by the customizable +refentry.version.profile parameter is +used. + +If instead the value of +refentry.version.profile.enabled is zero (the +default), then "hard coded" logic within the DocBook XSL stylesheets +is used for gathering refentry "version" data. + +If you find that the default refentry +metadata-gathering behavior is causing incorrect "version" data to show +up in your output, then consider setting a non-zero value for +refentry.version.profile.enabled and adjusting +the value of refentry.version.profile to cause +correct data to be gathered. + +Note that the terms "source" and "version" have special +meanings in this context. For details, see the documentation for the +refentry.version.profile parameter. + + + diff --git a/doc/help/xslt/params/refentry.version.profile.xml b/doc/help/xslt/params/refentry.version.profile.xml new file mode 100644 index 00000000..ff858254 --- /dev/null +++ b/doc/help/xslt/params/refentry.version.profile.xml @@ -0,0 +1,41 @@ + + +refentry.version.profile +string + + +refentry.version.profile +Specifies profile for refentry "version" data + + + + + + (($info[//productnumber])[last()]/productnumber)[1]| + (($info[//edition])[last()]/edition)[1]| + (($info[//releaseinfo])[last()]/releaseinfo)[1] + + + + +Description + +The value of refentry.version.profile is +a string representing an XPath expression. It is evaluated at +run-time and used only if +refentry.version.profile.enabled is +non-zero. Otherwise, the refentry metadata-gathering logic +"hard coded" into the stylesheets is used. + +A "source.name" is one part of a (potentially) two-part +Name Version +"source" field. For more details, see the documentation for the +refentry.source.name.profile parameter. + + + diff --git a/doc/help/xslt/params/refentry.version.suppress.xml b/doc/help/xslt/params/refentry.version.suppress.xml new file mode 100644 index 00000000..b701ad8d --- /dev/null +++ b/doc/help/xslt/params/refentry.version.suppress.xml @@ -0,0 +1,43 @@ + + +refentry.version.suppress +boolean + + +refentry.version.suppress +Suppress "version" part of refentry "source" contents? + + + + +0 + + +Description + +If the value of refentry.version.suppress +is non-zero, then during refentry metadata gathering, no +"version" data is added to the refentry "source" +contents. Instead (unless +refentry.source.name.suppress is also +non-zero), only "source name" data is added to the "source" +contents. + +If you find that the refentry metadata gathering +mechanism is causing unwanted "version" data to show up in your output +-- for example, in the footer (or possibly header) of a man page -- +then you might consider setting a non-zero value for +refentry.version.suppress. + +Note that the terms "source", "source name", and "version" have +special meanings in this context. For details, see the documentation +for the refentry.source.name.profile +parameter. + + + diff --git a/doc/help/xslt/params/refentry.xref.manvolnum.xml b/doc/help/xslt/params/refentry.xref.manvolnum.xml new file mode 100644 index 00000000..56b93b7b --- /dev/null +++ b/doc/help/xslt/params/refentry.xref.manvolnum.xml @@ -0,0 +1,31 @@ + + +refentry.xref.manvolnum +boolean + + +refentry.xref.manvolnum +Output manvolnum as part of +refentry cross-reference? + + + + + + + + +Description + +if non-zero, the manvolnum is used when cross-referencing +refentrys, either with xref +or citerefentry. + + + + diff --git a/doc/help/xslt/params/reference.autolabel.xml b/doc/help/xslt/params/reference.autolabel.xml new file mode 100644 index 00000000..1a9dc5b3 --- /dev/null +++ b/doc/help/xslt/params/reference.autolabel.xml @@ -0,0 +1,67 @@ + + +reference.autolabel +list +0none +11,2,3... +AA,B,C... +aa,b,c... +ii,ii,iii... +II,II,III... + + +reference.autolabel +Specifies the labeling format for Reference titles + + + + I + + +Description +If non-zero, references will be numbered using the parameter + value as the number format if the value matches one of the + following: + + + + 1 or arabic + + Arabic numeration (1, 2, 3 ...). + + + + A or upperalpha + + Uppercase letter numeration (A, B, C ...). + + + + a or loweralpha + + Lowercase letter numeration (a, b, c ...). + + + + I or upperroman + + Uppercase roman numeration (I, II, III ...). + + + + i or lowerroman + + Lowercase roman letter numeration (i, ii, iii ...). + + + +Any non-zero value other than the above will generate +the default number format (upperroman). + + + diff --git a/doc/help/xslt/params/region.after.extent.xml b/doc/help/xslt/params/region.after.extent.xml new file mode 100644 index 00000000..b29abba7 --- /dev/null +++ b/doc/help/xslt/params/region.after.extent.xml @@ -0,0 +1,29 @@ + + +region.after.extent +length + + +region.after.extent +Specifies the height of the footer. + + + + +0.4in + + + +Description + +The region after extent is the height of the area where footers +are printed. + + + + diff --git a/doc/help/xslt/params/region.before.extent.xml b/doc/help/xslt/params/region.before.extent.xml new file mode 100644 index 00000000..c62cc408 --- /dev/null +++ b/doc/help/xslt/params/region.before.extent.xml @@ -0,0 +1,29 @@ + + +region.before.extent +length + + +region.before.extent +Specifies the height of the header + + + + +0.4in + + + +Description + +The region before extent is the height of the area where headers +are printed. + + + + diff --git a/doc/help/xslt/params/revhistory.table.cell.properties.xml b/doc/help/xslt/params/revhistory.table.cell.properties.xml new file mode 100644 index 00000000..49c40374 --- /dev/null +++ b/doc/help/xslt/params/revhistory.table.cell.properties.xml @@ -0,0 +1,28 @@ + + +revhistory.table.cell.properties +attribute set + + +revhistory.table.cell.properties +The properties of table cells used for formatting revhistory + + + + + + + + + +Description + +This property set defines appearance of individual cells in revhistory table. + + + diff --git a/doc/help/xslt/params/revhistory.table.properties.xml b/doc/help/xslt/params/revhistory.table.properties.xml new file mode 100644 index 00000000..43116d03 --- /dev/null +++ b/doc/help/xslt/params/revhistory.table.properties.xml @@ -0,0 +1,28 @@ + + +revhistory.table.properties +attribute set + + +revhistory.table.properties +The properties of table used for formatting revhistory + + + + + + + + + +Description + +This property set defines appearance of revhistory table. + + + diff --git a/doc/help/xslt/params/revhistory.title.properties.xml b/doc/help/xslt/params/revhistory.title.properties.xml new file mode 100644 index 00000000..f97d646b --- /dev/null +++ b/doc/help/xslt/params/revhistory.title.properties.xml @@ -0,0 +1,28 @@ + + +revhistory.title.properties +attribute set + + +revhistory.title.properties +The properties of revhistory title + + + + + + + + + +Description + +This property set defines appearance of revhistory title. + + + diff --git a/doc/help/xslt/params/root.filename.xml b/doc/help/xslt/params/root.filename.xml new file mode 100644 index 00000000..ae5ca5b4 --- /dev/null +++ b/doc/help/xslt/params/root.filename.xml @@ -0,0 +1,29 @@ + + +root.filename +uri + + +root.filename +Identifies the name of the root HTML file when chunking + + + + +index + + + +Description + +The root.filename is the base filename for +the chunk created for the root of each document processed. + + + + diff --git a/doc/help/xslt/params/root.properties.xml b/doc/help/xslt/params/root.properties.xml new file mode 100644 index 00000000..26c9951f --- /dev/null +++ b/doc/help/xslt/params/root.properties.xml @@ -0,0 +1,46 @@ + + +root.properties +attribute set + + +root.properties +The properties of the fo:root element + + + + + + + + + + + + + + + + + + character-by-character + disregard-shifts + + + + + + + +Description + +This property set is used on the fo:root element of +an FO file. It defines a set of default, global parameters. + + + diff --git a/doc/help/xslt/params/rootid.xml b/doc/help/xslt/params/rootid.xml new file mode 100644 index 00000000..a0715af3 --- /dev/null +++ b/doc/help/xslt/params/rootid.xml @@ -0,0 +1,33 @@ + + +rootid +string + + +rootid +Specify the root element to format + + + + + + + +Description + +If rootid is not empty, it must be the +value of an ID that occurs in the document being formatted. The entire +document will be loaded and parsed, but formatting will begin at the +element identified, rather than at the root. For example, this allows +you to process only chapter 4 of a book. +Because the entire document is available to the processor, automatic +numbering, cross references, and other dependencies are correctly +resolved. + + + diff --git a/doc/help/xslt/params/runinhead.default.title.end.punct.xml b/doc/help/xslt/params/runinhead.default.title.end.punct.xml new file mode 100644 index 00000000..d151e8b3 --- /dev/null +++ b/doc/help/xslt/params/runinhead.default.title.end.punct.xml @@ -0,0 +1,27 @@ + + +runinhead.default.title.end.punct +string + + +runinhead.default.title.end.punct +Default punctuation character on a run-in-head + + + +. + + + +Description + +If non-zero, For a formalpara, use the specified +string as the separator between the title and following text. The period is the default value. + + + diff --git a/doc/help/xslt/params/runinhead.title.end.punct.xml b/doc/help/xslt/params/runinhead.title.end.punct.xml new file mode 100644 index 00000000..025aeed4 --- /dev/null +++ b/doc/help/xslt/params/runinhead.title.end.punct.xml @@ -0,0 +1,32 @@ + + +runinhead.title.end.punct +string + + +runinhead.title.end.punct +Characters that count as punctuation on a run-in-head + + + + +.!?: + + + +Description + +Specify which characters are to be counted as punctuation. These +characters are checked for a match with the last character of the +title. If no match is found, the +runinhead.default.title.end.punct contents are +inserted. This is to avoid duplicated punctuation in the output. + + + + diff --git a/doc/help/xslt/params/running.foot.properties.xml b/doc/help/xslt/params/running.foot.properties.xml new file mode 100644 index 00000000..ee985924 --- /dev/null +++ b/doc/help/xslt/params/running.foot.properties.xml @@ -0,0 +1,34 @@ + + +running.foot.properties +attribute set + + +running.foot.properties +Specifies properties for running foot on each slide + + + + + + + + + 14pt + #9F9F9F + + + + +Description + +This parameter specifies properties that are applied to the +running foot area of each slide. + + + diff --git a/doc/help/xslt/params/sans.font.family.xml b/doc/help/xslt/params/sans.font.family.xml new file mode 100644 index 00000000..d569b128 --- /dev/null +++ b/doc/help/xslt/params/sans.font.family.xml @@ -0,0 +1,29 @@ + + +sans.font.family +string + + +sans.font.family +The default sans-serif font family + + + + +sans-serif + + + +Description + +The default sans-serif font family. At the present, this isn't +actually used by the stylesheets. + + + + diff --git a/doc/help/xslt/params/saxon.callouts.xml b/doc/help/xslt/params/saxon.callouts.xml new file mode 100644 index 00000000..e08fcdbb --- /dev/null +++ b/doc/help/xslt/params/saxon.callouts.xml @@ -0,0 +1,30 @@ + + +saxon.callouts +boolean + + +saxon.callouts +Enable the callout extension + + + + + + + + +Description + +The callouts extension processes areaset +elements in ProgramListingCO and other text-based +callout elements. + + + + diff --git a/doc/help/xslt/params/saxon.character.representation.xml b/doc/help/xslt/params/saxon.character.representation.xml new file mode 100644 index 00000000..bd8bcac8 --- /dev/null +++ b/doc/help/xslt/params/saxon.character.representation.xml @@ -0,0 +1,38 @@ + + +saxon.character.representation +string + + +saxon.character.representation +Saxon character representation used in generated HTML pages + + + + + + +Description + +This parameter has effect only when Saxon 6 is used (version 6.4.2 or later). +It sets the character representation in files generated by the chunking stylesheets. +If you want to suppress entity references for characters with direct representations in +chunker.output.encoding, set the parameter value to native. + + + For more information, see Saxon output character representation. + + +This parameter is documented here, but the declaration is actually +in the chunker.xsl stylesheet module. + + + + + diff --git a/doc/help/xslt/params/saxon.linenumbering.xml b/doc/help/xslt/params/saxon.linenumbering.xml new file mode 100644 index 00000000..451028bd --- /dev/null +++ b/doc/help/xslt/params/saxon.linenumbering.xml @@ -0,0 +1,32 @@ + + +saxon.linenumbering +boolean + + +saxon.linenumbering +Enable the line numbering extension + + + + + + + + +Description + +If non-zero, verbatim environments (elements that have the +format='linespecific' notation attribute: address, +literallayout, programlisting, +screen, synopsis) that specify line numbering +will have line numbers. + + + + diff --git a/doc/help/xslt/params/saxon.tablecolumns.xml b/doc/help/xslt/params/saxon.tablecolumns.xml new file mode 100644 index 00000000..e9d96743 --- /dev/null +++ b/doc/help/xslt/params/saxon.tablecolumns.xml @@ -0,0 +1,30 @@ + + +saxon.tablecolumns +boolean + + +saxon.tablecolumns +Enable the table columns extension function + + + + + + + + +Description + +The table columns extension function adjusts the widths of table +columns in the HTML result to more accurately reflect the specifications +in the CALS table. + + + + diff --git a/doc/help/xslt/params/script.dir.xml b/doc/help/xslt/params/script.dir.xml new file mode 100644 index 00000000..9cb92afa --- /dev/null +++ b/doc/help/xslt/params/script.dir.xml @@ -0,0 +1,33 @@ + + +script.dir +uri + + +script.dir +Script directory + + + + + + + + +Description + +Identifies the JavaScript source directory for the slides. +This parameter can be set in the source +document with the <?dbhtml?> pseudo-attribute +script-dir. + +If non-empty, this value is prepended to each of the JavaScript files. + + + + diff --git a/doc/help/xslt/params/section.autolabel.max.depth.xml b/doc/help/xslt/params/section.autolabel.max.depth.xml new file mode 100644 index 00000000..e588e00d --- /dev/null +++ b/doc/help/xslt/params/section.autolabel.max.depth.xml @@ -0,0 +1,32 @@ + + +section.autolabel.max.depth +integer + + +section.autolabel.max.depth +The deepest level of sections that are numbered. + + + + +8 + + + +Description + +When section numbering is turned on by the +section.autolabel parameter, then this +parameter controls the depth of section nesting that is +numbered. Sections nested to a level deeper than this value will not +be numbered. + + + + diff --git a/doc/help/xslt/params/section.autolabel.xml b/doc/help/xslt/params/section.autolabel.xml new file mode 100644 index 00000000..85eede6b --- /dev/null +++ b/doc/help/xslt/params/section.autolabel.xml @@ -0,0 +1,26 @@ + + +section.autolabel +boolean + + +section.autolabel +Are sections enumerated? + + + + + + +Description + +If true (non-zero), unlabeled sections will be enumerated. + + + + diff --git a/doc/help/xslt/params/section.container.element.xml b/doc/help/xslt/params/section.container.element.xml new file mode 100644 index 00000000..a6c40599 --- /dev/null +++ b/doc/help/xslt/params/section.container.element.xml @@ -0,0 +1,62 @@ + + +section.container.element +list +block +wrapper + + +section.container.element +Select XSL-FO element name to contain sections + + + + +block + + + +Description + +Selects the element name for outer container of +each section. The choices are block (default) +or wrapper. +The fo: namespace prefix is added +by the stylesheet to form the full element name. + + +This element receives the section id +attribute and the appropriate section level attribute-set. + + +Changing this parameter to wrapper +is only necessary when producing multi-column output +that contains page-wide spans. Using fo:wrapper +avoids the nesting of fo:block +elements that prevents spans from working (the standard says +a span must be on a block that is a direct child of +fo:flow). + + +If set to wrapper, the +section attribute-sets only support properties +that are inheritable. That's because there is no +block to apply them to. Properties such as +font-family are inheritable, but properties such as +border are not. + + +Only some XSL-FO processors need to use this parameter. +The Antenna House processor, for example, will handle +spans in nested blocks without changing the element name. +The RenderX XEP product and FOP follow the XSL-FO standard +and need to use wrapper. + + + + diff --git a/doc/help/xslt/params/section.label.includes.component.label.xml b/doc/help/xslt/params/section.label.includes.component.label.xml new file mode 100644 index 00000000..505d4721 --- /dev/null +++ b/doc/help/xslt/params/section.label.includes.component.label.xml @@ -0,0 +1,27 @@ + + +section.label.includes.component.label +boolean + + +section.label.includes.component.label +Do section labels include the component label? + + + + + + +Description + +If non-zero, section labels are prefixed with the label of the +component that contains them. + + + + diff --git a/doc/help/xslt/params/section.level1.properties.xml b/doc/help/xslt/params/section.level1.properties.xml new file mode 100644 index 00000000..4aa70b07 --- /dev/null +++ b/doc/help/xslt/params/section.level1.properties.xml @@ -0,0 +1,43 @@ + + +section.level1.properties +attribute set + + +section.level1.properties +Properties for level-1 sections + + + + + + + + + +Description + +The properties that apply to the containing +block of a level-1 section, and therefore apply to +the whole section. This includes sect1 +elements and section elements at level 1. + + +For example, you could start each level-1 section on +a new page by using: +<xsl:attribute-set name="section.level1.properties"> + <xsl:attribute name="break-before">page</xsl:attribute> +</xsl:attribute-set> + + +This attribute set inherits attributes from the +general section.properties attribute set. + + + + diff --git a/doc/help/xslt/params/section.level2.properties.xml b/doc/help/xslt/params/section.level2.properties.xml new file mode 100644 index 00000000..5dd76e93 --- /dev/null +++ b/doc/help/xslt/params/section.level2.properties.xml @@ -0,0 +1,43 @@ + + +section.level2.properties +attribute set + + +section.level2.properties +Properties for level-2 sections + + + + + + + + + +Description + +The properties that apply to the containing +block of a level-2 section, and therefore apply to +the whole section. This includes sect2 +elements and section elements at level 2. + + +For example, you could start each level-2 section on +a new page by using: +<xsl:attribute-set name="section.level2.properties"> + <xsl:attribute name="break-before">page</xsl:attribute> +</xsl:attribute-set> + + +This attribute set inherits attributes from the +general section.properties attribute set. + + + + diff --git a/doc/help/xslt/params/section.level3.properties.xml b/doc/help/xslt/params/section.level3.properties.xml new file mode 100644 index 00000000..0bcd6969 --- /dev/null +++ b/doc/help/xslt/params/section.level3.properties.xml @@ -0,0 +1,43 @@ + + +section.level3.properties +attribute set + + +section.level3.properties +Properties for level-3 sections + + + + + + + + + +Description + +The properties that apply to the containing +block of a level-3 section, and therefore apply to +the whole section. This includes sect3 +elements and section elements at level 3. + + +For example, you could start each level-3 section on +a new page by using: +<xsl:attribute-set name="section.level3.properties"> + <xsl:attribute name="break-before">page</xsl:attribute> +</xsl:attribute-set> + + +This attribute set inherits attributes from the +general section.properties attribute set. + + + + diff --git a/doc/help/xslt/params/section.level4.properties.xml b/doc/help/xslt/params/section.level4.properties.xml new file mode 100644 index 00000000..14088516 --- /dev/null +++ b/doc/help/xslt/params/section.level4.properties.xml @@ -0,0 +1,43 @@ + + +section.level4.properties +attribute set + + +section.level4.properties +Properties for level-4 sections + + + + + + + + + +Description + +The properties that apply to the containing +block of a level-4 section, and therefore apply to +the whole section. This includes sect4 +elements and section elements at level 4. + + +For example, you could start each level-4 section on +a new page by using: +<xsl:attribute-set name="section.level4.properties"> + <xsl:attribute name="break-before">page</xsl:attribute> +</xsl:attribute-set> + + +This attribute set inherits attributes from the +general section.properties attribute set. + + + + diff --git a/doc/help/xslt/params/section.level5.properties.xml b/doc/help/xslt/params/section.level5.properties.xml new file mode 100644 index 00000000..9093b94a --- /dev/null +++ b/doc/help/xslt/params/section.level5.properties.xml @@ -0,0 +1,43 @@ + + +section.level5.properties +attribute set + + +section.level5.properties +Properties for level-5 sections + + + + + + + + + +Description + +The properties that apply to the containing +block of a level-5 section, and therefore apply to +the whole section. This includes sect5 +elements and section elements at level 5. + + +For example, you could start each level-5 section on +a new page by using: +<xsl:attribute-set name="section.level5.properties"> + <xsl:attribute name="break-before">page</xsl:attribute> +</xsl:attribute-set> + + +This attribute set inherits attributes from the +general section.properties attribute set. + + + + diff --git a/doc/help/xslt/params/section.level6.properties.xml b/doc/help/xslt/params/section.level6.properties.xml new file mode 100644 index 00000000..dda79378 --- /dev/null +++ b/doc/help/xslt/params/section.level6.properties.xml @@ -0,0 +1,43 @@ + + +section.level6.properties +attribute set + + +section.level6.properties +Properties for level-6 sections + + + + + + + + + +Description + +The properties that apply to the containing +block of a level 6 or lower section, and therefore apply to +the whole section. This includes +section elements at level 6 and lower. + + +For example, you could start each level-6 section on +a new page by using: +<xsl:attribute-set name="section.level6.properties"> + <xsl:attribute name="break-before">page</xsl:attribute> +</xsl:attribute-set> + + +This attribute set inherits attributes from the +general section.properties attribute set. + + + + diff --git a/doc/help/xslt/params/section.properties.xml b/doc/help/xslt/params/section.properties.xml new file mode 100644 index 00000000..06acc314 --- /dev/null +++ b/doc/help/xslt/params/section.properties.xml @@ -0,0 +1,35 @@ + + +section.properties +attribute set + + +section.properties +Properties for all section levels + + + + + + + + + +Description + +The properties that apply to the containing +block of all section levels, and therefore apply to +the whole section. +This attribute set is inherited by the +more specific attribute sets such as +section.level1.properties. +The default is empty. + + + + diff --git a/doc/help/xslt/params/section.title.level1.properties.xml b/doc/help/xslt/params/section.title.level1.properties.xml new file mode 100644 index 00000000..91c63ed2 --- /dev/null +++ b/doc/help/xslt/params/section.title.level1.properties.xml @@ -0,0 +1,32 @@ + + +section.title.level1.properties +attribute set + + +section.title.level1.properties +Properties for level-1 section titles + + + + + + + + pt + + + + + +Description + +The properties of level-1 section titles. + + + diff --git a/doc/help/xslt/params/section.title.level2.properties.xml b/doc/help/xslt/params/section.title.level2.properties.xml new file mode 100644 index 00000000..a25648a7 --- /dev/null +++ b/doc/help/xslt/params/section.title.level2.properties.xml @@ -0,0 +1,33 @@ + + + +section.title.level2.properties +attribute set + + +section.title.level2.properties +Properties for level-2 section titles + + + + + + + + pt + + + + + +Description + +The properties of level-2 section titles. + + + diff --git a/doc/help/xslt/params/section.title.level3.properties.xml b/doc/help/xslt/params/section.title.level3.properties.xml new file mode 100644 index 00000000..a009a6e3 --- /dev/null +++ b/doc/help/xslt/params/section.title.level3.properties.xml @@ -0,0 +1,32 @@ + + +section.title.level3.properties +attribute set + + +section.title.level3.properties +Properties for level-3 section titles + + + + + + + + pt + + + + + +Description + +The properties of level-3 section titles. + + + diff --git a/doc/help/xslt/params/section.title.level4.properties.xml b/doc/help/xslt/params/section.title.level4.properties.xml new file mode 100644 index 00000000..00d43989 --- /dev/null +++ b/doc/help/xslt/params/section.title.level4.properties.xml @@ -0,0 +1,32 @@ + + +section.title.level4.properties +attribute set + + +section.title.level4.properties +Properties for level-4 section titles + + + + + + + + pt + + + + + +Description + +The properties of level-4 section titles. + + + diff --git a/doc/help/xslt/params/section.title.level5.properties.xml b/doc/help/xslt/params/section.title.level5.properties.xml new file mode 100644 index 00000000..c25b5efe --- /dev/null +++ b/doc/help/xslt/params/section.title.level5.properties.xml @@ -0,0 +1,32 @@ + + +section.title.level5.properties +attribute set + + +section.title.level5.properties +Properties for level-5 section titles + + + + + + + + pt + + + + + +Description + +The properties of level-5 section titles. + + + diff --git a/doc/help/xslt/params/section.title.level6.properties.xml b/doc/help/xslt/params/section.title.level6.properties.xml new file mode 100644 index 00000000..a2a0feb7 --- /dev/null +++ b/doc/help/xslt/params/section.title.level6.properties.xml @@ -0,0 +1,33 @@ + + +section.title.level6.properties +attribute set + + +section.title.level6.properties +Properties for level-6 section titles + + + + + + + + pt + + + + + +Description + +The properties of level-6 section titles. This property set is actually +used for all titles below level 5. + + + diff --git a/doc/help/xslt/params/section.title.properties.xml b/doc/help/xslt/params/section.title.properties.xml new file mode 100644 index 00000000..ab849afd --- /dev/null +++ b/doc/help/xslt/params/section.title.properties.xml @@ -0,0 +1,39 @@ + + +section.title.properties +attribute set + + +section.title.properties +Properties for section titles + + + + + + + + + bold + + always + 0.8em + 1.0em + 1.2em + start + + + + + +Description + +The properties common to all section titles. + + + diff --git a/doc/help/xslt/params/segmentedlist.as.table.xml b/doc/help/xslt/params/segmentedlist.as.table.xml new file mode 100644 index 00000000..fb2c2367 --- /dev/null +++ b/doc/help/xslt/params/segmentedlist.as.table.xml @@ -0,0 +1,28 @@ + + +segmentedlist.as.table +boolean + + +segmentedlist.as.table +Format segmented lists as tables? + + + + + + + + +Description + +If non-zero, segmentedlists will be formatted as +tables. + + + diff --git a/doc/help/xslt/params/sequential.links.xml b/doc/help/xslt/params/sequential.links.xml new file mode 100644 index 00000000..293827dd --- /dev/null +++ b/doc/help/xslt/params/sequential.links.xml @@ -0,0 +1,25 @@ + + +sequential.links +boolean + + +sequential.links +Make sequentional links? + + + + + + + + +Description +FIXME + + diff --git a/doc/help/xslt/params/shade.verbatim.style.xml b/doc/help/xslt/params/shade.verbatim.style.xml new file mode 100644 index 00000000..0907806a --- /dev/null +++ b/doc/help/xslt/params/shade.verbatim.style.xml @@ -0,0 +1,36 @@ + + +shade.verbatim.style +attribute set + + +shade.verbatim.style +Properties that specify the style of shaded verbatim listings + + + + + + 0 + #E0E0E0 + + + #E0E0E0 + + + + +Description + +Properties that specify the style of shaded verbatim listings. The +parameters specified (the border and background color) are added to +the styling of the xsl-fo output. A border might be specified as "thin +black solid" for example. See xsl-fo + + + diff --git a/doc/help/xslt/params/shade.verbatim.xml b/doc/help/xslt/params/shade.verbatim.xml new file mode 100644 index 00000000..82a72162 --- /dev/null +++ b/doc/help/xslt/params/shade.verbatim.xml @@ -0,0 +1,30 @@ + + +shade.verbatim +boolean + + +shade.verbatim +Should verbatim environments be shaded? + + + + + + +Description + +In the FO stylesheet, if this parameter is non-zero then the +shade.verbatim.style properties will be applied +to verbatim environments. + +In the HTML stylesheet, this parameter is now deprecated. Use +CSS instead. + + + diff --git a/doc/help/xslt/params/show.comments.xml b/doc/help/xslt/params/show.comments.xml new file mode 100644 index 00000000..ac7bc245 --- /dev/null +++ b/doc/help/xslt/params/show.comments.xml @@ -0,0 +1,32 @@ + + +show.comments +boolean + + +show.comments +Display remark elements? + + + + + + + + +Description + +If non-zero, comments will be displayed, otherwise they +are suppressed. Comments here refers to the remark element +(which was called comment prior to DocBook +4.0), not XML comments (<-- like this -->) which are +unavailable. + + + + diff --git a/doc/help/xslt/params/show.foil.number.xml b/doc/help/xslt/params/show.foil.number.xml new file mode 100644 index 00000000..627c6a7e --- /dev/null +++ b/doc/help/xslt/params/show.foil.number.xml @@ -0,0 +1,28 @@ + + +show.foil.number +boolean + + +show.foil.number +Show foil number on each foil? + + + + + + + + +Description + +If non-zero, on each slide there will be its number. Currently +not supported in all output formats. + + + diff --git a/doc/help/xslt/params/show.revisionflag.xml b/doc/help/xslt/params/show.revisionflag.xml new file mode 100644 index 00000000..c589b01a --- /dev/null +++ b/doc/help/xslt/params/show.revisionflag.xml @@ -0,0 +1,42 @@ + + +show.revisionflag +boolean + + +show.revisionflag +Enable decoration of elements that have a revisionflag + + + + + + + + +Description + + +If show.revisionflag is turned on, then the stylesheets +may produce additional markup designed to allow a CSS stylesheet to +highlight elements that have specific revisionflag settings. + +The markup inserted will be usually be either a <span> or +<div> with an appropriate class +attribute. (The value of the class attribute will be the same as the +value of the revisionflag attribute). In some contexts, for example +tables, where extra markup would be structurally illegal, the class +attribute will be added to the appropriate container element. + +In general, the stylesheets only test for revisionflag in contexts +where an importing stylesheet would have to redefine whole templates. +Most of the revisionflag processing is expected to be done by another +stylesheet, for example changebars.xsl. + + + diff --git a/doc/help/xslt/params/showtoc.image.xml b/doc/help/xslt/params/showtoc.image.xml new file mode 100644 index 00000000..7b1fca38 --- /dev/null +++ b/doc/help/xslt/params/showtoc.image.xml @@ -0,0 +1,29 @@ + + +showtoc.image +filename + + +showtoc.image +Show ToC image + + + + +showtoc.gif + + + +Description + +Specifies the filename of the show ToC image. This is used +when the ToC hide/show parameter is +enabled. + + + diff --git a/doc/help/xslt/params/side.float.properties.xml b/doc/help/xslt/params/side.float.properties.xml new file mode 100644 index 00000000..0a6d904c --- /dev/null +++ b/doc/help/xslt/params/side.float.properties.xml @@ -0,0 +1,50 @@ + + +side.float.properties +attribute set + + +side.float.properties +Attribute set for side float container properties + + + + + + 2in + 4pt + 4pt + 2pt + 2pt + 0pt + 0pt + start + + + + +Description + +Properties that are applied to the +fo:block-container inside of +a side float that is generated by the template named +floater. +That template generates a side float +when the side.float.type is set to one +of the values for a side float. + +If you do only left or +start side floats, you may want to set the +padding-start attribute to zero. +If you do only right or +end side floats, you may want to set the +padding-end attribute to zero. + + + + diff --git a/doc/help/xslt/params/sidebar.float.type.xml b/doc/help/xslt/params/sidebar.float.type.xml new file mode 100644 index 00000000..8c6a286a --- /dev/null +++ b/doc/help/xslt/params/sidebar.float.type.xml @@ -0,0 +1,90 @@ + + +sidebar.float.type +list +none +before +left +start +right +end +inside +outside + + +sidebar.float.type +Select type of float for sidebar elements + + + + +none + + + +Description + +Selects the type of float for sidebar elements. + + + +If sidebar.float.type is +none, then +no float is used. + + + +If sidebar.float.type is +before, then +the float appears at the top of the page. On some processors, +that may be the next page rather than the current page. + + + + +If sidebar.float.type is +left, +then a left side float is used. + + + + +If sidebar.float.type is +start, +then when the text direction is left-to-right a left side float is used. +When the text direction is right-to-left, a right side float is used. + + + + +If sidebar.float.type is +right, +then a right side float is used. + + + + +If sidebar.float.type is +end, +then when the text direction is left-to-right a right side float is used. +When the text direction is right-to-left, a left side float is used. + + + + +If your XSL-FO processor supports floats positioned on the +inside or +outside +of double-sided pages, then you have those two +options for side floats as well. + + + + + + diff --git a/doc/help/xslt/params/sidebar.float.width.xml b/doc/help/xslt/params/sidebar.float.width.xml new file mode 100644 index 00000000..cb989e4e --- /dev/null +++ b/doc/help/xslt/params/sidebar.float.width.xml @@ -0,0 +1,35 @@ + + +sidebar.float.width +length + + +sidebar.float.width +Set the default width for sidebars + + + + +1in + + + +Description + +Sets the default width for sidebars when used as a side float. +The width determines the degree to which the sidebar block intrudes into +the text area. + +If sidebar.float.type is +before or +none, then +this parameter is ignored. + + + + diff --git a/doc/help/xslt/params/sidebar.properties.xml b/doc/help/xslt/params/sidebar.properties.xml new file mode 100644 index 00000000..fc98ac0c --- /dev/null +++ b/doc/help/xslt/params/sidebar.properties.xml @@ -0,0 +1,42 @@ + + +sidebar.properties +attribute set + + +sidebar.properties +Attribute set for sidebar properties + + + + + + solid + 1pt + black + #DDDDDD + 12pt + 12pt + 6pt + 6pt + 0pt + 0pt + + + + + +Description + +The styling for sidebars. + + + diff --git a/doc/help/xslt/params/sidebar.title.properties.xml b/doc/help/xslt/params/sidebar.title.properties.xml new file mode 100644 index 00000000..f1b1d518 --- /dev/null +++ b/doc/help/xslt/params/sidebar.title.properties.xml @@ -0,0 +1,32 @@ + + +sidebar.title.properties +attribute set + + +sidebar.title.properties +Attribute set for sidebar titles + + + + + + bold + false + start + always + + + + +Description + +The styling for sidebars titles. + + + diff --git a/doc/help/xslt/params/simplesect.in.toc.xml b/doc/help/xslt/params/simplesect.in.toc.xml new file mode 100644 index 00000000..9bc3ab5d --- /dev/null +++ b/doc/help/xslt/params/simplesect.in.toc.xml @@ -0,0 +1,26 @@ + + +simplesect.in.toc +boolean + + +simplesect.in.toc +Should simplesect elements appear in the TOC? + + + + + + +Description + +If non-zero, simplesects will be included in the TOC. + + + + diff --git a/doc/help/xslt/params/slide.font.family.xml b/doc/help/xslt/params/slide.font.family.xml new file mode 100644 index 00000000..e1c75410 --- /dev/null +++ b/doc/help/xslt/params/slide.font.family.xml @@ -0,0 +1,31 @@ + + +slide.font.family +list +open +serif +sans-serif +monospace + + +slide.font.family +Specifies font family to use for slide bodies + + + + +Helvetica + + + +Description + +Specifies the font family to use for slides bodies. + + + diff --git a/doc/help/xslt/params/slide.title.font.family.xml b/doc/help/xslt/params/slide.title.font.family.xml new file mode 100644 index 00000000..a5a3a88a --- /dev/null +++ b/doc/help/xslt/params/slide.title.font.family.xml @@ -0,0 +1,31 @@ + + +slide.title.font.family +list +open +serif +sans-serif +monospace + + +slide.title.font.family +Specifies font family to use for slide titles + + + + +Helvetica + + + +Description + +Specifies the font family to use for slides titles. + + + diff --git a/doc/help/xslt/params/slides.js.xml b/doc/help/xslt/params/slides.js.xml new file mode 100644 index 00000000..90fffaeb --- /dev/null +++ b/doc/help/xslt/params/slides.js.xml @@ -0,0 +1,28 @@ + + +slides.js +filename + + +slides.js +Slides overlay file + + + + +slides.js + + + +Description + +Specifies the filename of the slides JavaScript file. It's unlikely +that you will ever need to change this parameter. + + + diff --git a/doc/help/xslt/params/slides.properties.xml b/doc/help/xslt/params/slides.properties.xml new file mode 100644 index 00000000..daca82c9 --- /dev/null +++ b/doc/help/xslt/params/slides.properties.xml @@ -0,0 +1,31 @@ + + +slides.properties +attribute set + + +slides.properties +Specifies properties for all slides + + + + + + + + + + + + +Description + +This parameter specifies properties that are applied to all slides. + + + diff --git a/doc/help/xslt/params/spacing.paras.xml b/doc/help/xslt/params/spacing.paras.xml new file mode 100644 index 00000000..2f2323a1 --- /dev/null +++ b/doc/help/xslt/params/spacing.paras.xml @@ -0,0 +1,30 @@ + + +spacing.paras +boolean + + +spacing.paras +Insert additional <p> elements for spacing? + + + + + + + + +Description + +When non-zero, additional, empty paragraphs are inserted in +several contexts (for example, around informal figures), to create a +more pleasing visual appearance in many browsers. + + + + diff --git a/doc/help/xslt/params/speakernote.properties.xml b/doc/help/xslt/params/speakernote.properties.xml new file mode 100644 index 00000000..089115a7 --- /dev/null +++ b/doc/help/xslt/params/speakernote.properties.xml @@ -0,0 +1,32 @@ + + +speakernote.properties +attribute set + + +speakernote.properties +Specifies properties for all speakernotes + + + + + + Times Roman + italic + 12pt + normal + + + + +Description + +This parameter specifies properties that are applied to all speakernotes. + + + diff --git a/doc/help/xslt/params/subscript.properties.xml b/doc/help/xslt/params/subscript.properties.xml new file mode 100644 index 00000000..d2c77111 --- /dev/null +++ b/doc/help/xslt/params/subscript.properties.xml @@ -0,0 +1,29 @@ + + +subscript.properties +attribute set + + +subscript.properties +Properties associated with subscripts + + + + + + 75% + + + + +Description + +Specifies styling properties for subscripts. + + + diff --git a/doc/help/xslt/params/superscript.properties.xml b/doc/help/xslt/params/superscript.properties.xml new file mode 100644 index 00000000..ecf6af15 --- /dev/null +++ b/doc/help/xslt/params/superscript.properties.xml @@ -0,0 +1,29 @@ + + +superscript.properties +attribute set + + +superscript.properties +Properties associated with superscripts + + + + + + 75% + + + + +Description + +Specifies styling properties for superscripts. + + + diff --git a/doc/help/xslt/params/suppress.footer.navigation.xml b/doc/help/xslt/params/suppress.footer.navigation.xml new file mode 100644 index 00000000..430ed977 --- /dev/null +++ b/doc/help/xslt/params/suppress.footer.navigation.xml @@ -0,0 +1,26 @@ + + +suppress.footer.navigation +boolean + + +suppress.footer.navigation +Disable footer navigation + + + +0 + + +Description + + +If non-zero, footer navigation will be suppressed. + + + diff --git a/doc/help/xslt/params/suppress.header.navigation.xml b/doc/help/xslt/params/suppress.header.navigation.xml new file mode 100644 index 00000000..8fff0810 --- /dev/null +++ b/doc/help/xslt/params/suppress.header.navigation.xml @@ -0,0 +1,27 @@ + + +suppress.header.navigation +boolean + + +suppress.header.navigation +Disable header navigation + + + + + + + + +Description + +If non-zero, header navigation will be suppressed. + + + diff --git a/doc/help/xslt/params/suppress.homepage.title.xml b/doc/help/xslt/params/suppress.homepage.title.xml new file mode 100644 index 00000000..38a33062 --- /dev/null +++ b/doc/help/xslt/params/suppress.homepage.title.xml @@ -0,0 +1,25 @@ + + +suppress.homepage.title +boolean + + +suppress.homepage.title +Suppress title on homepage? + + + + + + + + +Description +FIXME:If non-zero, the title on the homepage is suppressed? + + diff --git a/doc/help/xslt/params/suppress.navigation.xml b/doc/help/xslt/params/suppress.navigation.xml new file mode 100644 index 00000000..351fc4d4 --- /dev/null +++ b/doc/help/xslt/params/suppress.navigation.xml @@ -0,0 +1,28 @@ + + +suppress.navigation +boolean + + +suppress.navigation +Disable header and footer navigation + + + + + + + + +Description + + +If non-zero, header and footer navigation will be suppressed. + + + diff --git a/doc/help/xslt/params/symbol.font.family.xml b/doc/help/xslt/params/symbol.font.family.xml new file mode 100644 index 00000000..8acc791f --- /dev/null +++ b/doc/help/xslt/params/symbol.font.family.xml @@ -0,0 +1,45 @@ + + +symbol.font.family +list +open +serif +sans-serif +monospace + + +symbol.font.family +The font families to be searched for symbols outside + of the body font + + + + +Symbol,ZapfDingbats + + + +Description + +A typical body or title font does not contain all +the character glyphs that DocBook supports. This parameter +specifies additional fonts that should be searched for +special characters not in the normal font. +These symbol font names are automatically appended +to the body or title font family name when fonts +are specified in a +font-family +property in the FO output. + +The symbol font names should be entered as a +comma-separated list. The default value is +Symbol,ZapfDingbats. + + + + diff --git a/doc/help/xslt/params/table.borders.with.css.xml b/doc/help/xslt/params/table.borders.with.css.xml new file mode 100644 index 00000000..2640fb98 --- /dev/null +++ b/doc/help/xslt/params/table.borders.with.css.xml @@ -0,0 +1,28 @@ + + +table.borders.with.css +boolean + + +table.borders.with.css +Use CSS to specify table, row, and cell borders? + + + + + + + + +Description + +If non-zero, CSS will be used to draw table borders. + + + + diff --git a/doc/help/xslt/params/table.cell.border.color.xml b/doc/help/xslt/params/table.cell.border.color.xml new file mode 100644 index 00000000..326e1486 --- /dev/null +++ b/doc/help/xslt/params/table.cell.border.color.xml @@ -0,0 +1,39 @@ + + +table.cell.border.color +color + + +table.cell.border.color +Specifies the border color of table cells + + + + + +black + + + +Description + +Set the color of table cell borders. If non-zero, the value is used +for the border coloration. See CSS. A +color is either a keyword or a numerical RGB specification. +Keywords are aqua, black, blue, fuchsia, gray, green, lime, maroon, +navy, olive, orange, purple, red, silver, teal, white, and +yellow. + + + To control properties of cell borders in HTML output, you must also turn on the + table.borders.with.css parameter. + + + + diff --git a/doc/help/xslt/params/table.cell.border.style.xml b/doc/help/xslt/params/table.cell.border.style.xml new file mode 100644 index 00000000..221a29c3 --- /dev/null +++ b/doc/help/xslt/params/table.cell.border.style.xml @@ -0,0 +1,42 @@ + + +table.cell.border.style +list +none +solid +dotted +dashed +double +groove +ridge +inset +outset +solid + + +table.cell.border.style +Specifies the border style of table cells + + + + +solid + + + +Description + +Specifies the border style of table cells. + + + To control properties of cell borders in HTML output, you must also turn on the + table.borders.with.css parameter. + + + + diff --git a/doc/help/xslt/params/table.cell.border.thickness.xml b/doc/help/xslt/params/table.cell.border.thickness.xml new file mode 100644 index 00000000..093e38ed --- /dev/null +++ b/doc/help/xslt/params/table.cell.border.thickness.xml @@ -0,0 +1,35 @@ + + +table.cell.border.thickness +length + + +table.cell.border.thickness +Specifies the thickness of table cell borders + + + + +0.5pt + + + +Description + +If non-zero, specifies the thickness of borders on table +cells. The units are points. See +CSS + + + To control properties of cell borders in HTML output, you must also turn on the + table.borders.with.css parameter. + + + + diff --git a/doc/help/xslt/params/table.cell.padding.xml b/doc/help/xslt/params/table.cell.padding.xml new file mode 100644 index 00000000..25fd6535 --- /dev/null +++ b/doc/help/xslt/params/table.cell.padding.xml @@ -0,0 +1,32 @@ + + +table.cell.padding +attribute set + + +table.cell.padding +Specifies the padding of table cells + + + + + + 2pt + 2pt + 2pt + 2pt + + + + +Description + +Specifies the padding of table cells. + + + diff --git a/doc/help/xslt/params/table.entry.padding.xml b/doc/help/xslt/params/table.entry.padding.xml new file mode 100644 index 00000000..cfd6aa33 --- /dev/null +++ b/doc/help/xslt/params/table.entry.padding.xml @@ -0,0 +1,27 @@ + + +table.entry.padding +length + + +table.entry.padding + + + + + +2pt + + + +Description + +FIXME: + + + diff --git a/doc/help/xslt/params/table.footnote.number.format.xml b/doc/help/xslt/params/table.footnote.number.format.xml new file mode 100644 index 00000000..ebbd2ea3 --- /dev/null +++ b/doc/help/xslt/params/table.footnote.number.format.xml @@ -0,0 +1,33 @@ + + +table.footnote.number.format +list +11,2,3... +AA,B,C... +aa,b,c... +ii,ii,iii... +II,II,III... + + +table.footnote.number.format +Identifies the format used for footnote numbers in tables + + + + +a + + + +Description + +The table.footnote.number.format specifies the format +to use for footnote numeration (1, i, I, a, or A) in tables. + + + diff --git a/doc/help/xslt/params/table.footnote.number.symbols.xml b/doc/help/xslt/params/table.footnote.number.symbols.xml new file mode 100644 index 00000000..a8d8c23e --- /dev/null +++ b/doc/help/xslt/params/table.footnote.number.symbols.xml @@ -0,0 +1,39 @@ + + +table.footnote.number.symbols +string + + +table.footnote.number.symbols +Special characters to use a footnote markers in tables + + + + + + + + +Description + +If table.footnote.number.symbols is not the empty string, +table footnotes will use the characters it contains as footnote symbols. For example, +*&#x2020;&#x2021;&#x25CA;&#x2720; will identify +footnotes with *, †, ‡, +◊, and ✠. If there are more footnotes +than symbols, the stylesheets will fall back to numbered footnotes using +table.footnote.number.format. + +The use of symbols for footnotes depends on the ability of your +processor (or browser) to render the symbols you select. Not all systems are +capable of displaying the full range of Unicode characters. If the quoted characters +in the preceding paragraph are not displayed properly, that's a good indicator +that you may have trouble using those symbols for footnotes. + + + diff --git a/doc/help/xslt/params/table.footnote.properties.xml b/doc/help/xslt/params/table.footnote.properties.xml new file mode 100644 index 00000000..94bed80b --- /dev/null +++ b/doc/help/xslt/params/table.footnote.properties.xml @@ -0,0 +1,39 @@ + + +table.footnote.properties +attribute set + + +table.footnote.properties +Properties applied to each table footnote body + + + + + + + + + normal + normal + 2pt + + + + + +Description + +This attribute set is applied to the footnote-block +for each table footnote. +It can be used to set the +font-size, font-family, and other inheritable properties that will be +applied to all table footnotes. + + + diff --git a/doc/help/xslt/params/table.frame.border.color.xml b/doc/help/xslt/params/table.frame.border.color.xml new file mode 100644 index 00000000..070cb6a3 --- /dev/null +++ b/doc/help/xslt/params/table.frame.border.color.xml @@ -0,0 +1,28 @@ + + +table.frame.border.color +color + + +table.frame.border.color +Specifies the border color of table frames + + + + + +black + + + +Description + +Specifies the border color of table frames. + + + diff --git a/doc/help/xslt/params/table.frame.border.style.xml b/doc/help/xslt/params/table.frame.border.style.xml new file mode 100644 index 00000000..881840c5 --- /dev/null +++ b/doc/help/xslt/params/table.frame.border.style.xml @@ -0,0 +1,37 @@ + + +table.frame.border.style +list +none +solid +dotted +dashed +double +groove +ridge +inset +outset +solid + + +table.frame.border.style +Specifies the border style of table frames + + + + +solid + + + +Description + +Specifies the border style of table frames. + + + diff --git a/doc/help/xslt/params/table.frame.border.thickness.xml b/doc/help/xslt/params/table.frame.border.thickness.xml new file mode 100644 index 00000000..1eaa04ae --- /dev/null +++ b/doc/help/xslt/params/table.frame.border.thickness.xml @@ -0,0 +1,27 @@ + + +table.frame.border.thickness +length + + +table.frame.border.thickness +Specifies the thickness of the frame border + + + + +0.5pt + + + +Description + +Specifies the thickness of the border on the table's frame. + + + diff --git a/doc/help/xslt/params/table.properties.xml b/doc/help/xslt/params/table.properties.xml new file mode 100644 index 00000000..76340c8d --- /dev/null +++ b/doc/help/xslt/params/table.properties.xml @@ -0,0 +1,34 @@ + + +table.properties +attribute set + + +table.properties +Properties associated with the block surrounding a table + + + + + + auto + + + + +Description + +Block styling properties for tables. This parameter should really +have been called table.block.properties or something +like that, but we’re leaving it to avoid backwards-compatibility +problems. + +See also table.table.properties. + + + diff --git a/doc/help/xslt/params/table.spacer.image.xml b/doc/help/xslt/params/table.spacer.image.xml new file mode 100644 index 00000000..12e6d5a5 --- /dev/null +++ b/doc/help/xslt/params/table.spacer.image.xml @@ -0,0 +1,26 @@ + + +table.spacer.image +filename + + +table.spacer.image +Invisible pixel for tabular accessibility + + + + +graphics/spacer.gif + + + +Description +This is the 1x1 pixel, transparent pixel used for the table trick to increase the accessibility of the tabular +website presentation. + + diff --git a/doc/help/xslt/params/table.table.properties.xml b/doc/help/xslt/params/table.table.properties.xml new file mode 100644 index 00000000..4ee34223 --- /dev/null +++ b/doc/help/xslt/params/table.table.properties.xml @@ -0,0 +1,36 @@ + + +table.table.properties +attribute set + + +table.table.properties +Properties associated with a table + + + + + + retain + collapse + + + + +Description + +The styling for tables. This parameter should really +have been called table.properties, but that parameter +name was inadvertently established for the block-level properties +of the table as a whole. + + +See also table.properties. + + + diff --git a/doc/help/xslt/params/tablecolumns.extension.xml b/doc/help/xslt/params/tablecolumns.extension.xml new file mode 100644 index 00000000..2ec817a3 --- /dev/null +++ b/doc/help/xslt/params/tablecolumns.extension.xml @@ -0,0 +1,30 @@ + + +tablecolumns.extension +boolean + + +tablecolumns.extension +Enable the table columns extension function + + + + + + + + +Description + +The table columns extension function adjusts the widths of table +columns in the HTML result to more accurately reflect the specifications +in the CALS table. + + + + diff --git a/doc/help/xslt/params/target.database.document.xml b/doc/help/xslt/params/target.database.document.xml new file mode 100644 index 00000000..042f0173 --- /dev/null +++ b/doc/help/xslt/params/target.database.document.xml @@ -0,0 +1,37 @@ + + +target.database.document +uri + + +target.database.document +Name of master database file for resolving +olinks + + + + olinkdb.xml + + +Description + + +To resolve olinks between documents, the stylesheets use a master +database document that identifies the target datafiles for all the +documents within the scope of the olinks. This parameter value is the +URI of the master document to be read during processing to resolve +olinks. The default value is olinkdb.xml. + +The data structure of the file is defined in the +targetdatabase.dtd DTD. The database file +provides the high level elements to record the identifiers, locations, +and relationships of documents. The cross reference data for +individual documents is generally pulled into the database using +system entity references or XIncludes. See also +targets.filename. + diff --git a/doc/help/xslt/params/targets.filename.xml b/doc/help/xslt/params/targets.filename.xml new file mode 100644 index 00000000..de6e29c8 --- /dev/null +++ b/doc/help/xslt/params/targets.filename.xml @@ -0,0 +1,32 @@ + + +targets.filename +string + + +targets.filename +Name of cross reference targets data file + + +target.db + + +Description + + +In order to resolve olinks efficiently, the stylesheets can +generate an external data file containing information about +all potential cross reference endpoints in a document. +This parameter lets you change the name of the generated +file from the default name target.db. +The name must agree with that used in the target database +used to resolve olinks during processing. +See also target.database.document. + + + diff --git a/doc/help/xslt/params/template.xml b/doc/help/xslt/params/template.xml new file mode 100644 index 00000000..9d35f83f --- /dev/null +++ b/doc/help/xslt/params/template.xml @@ -0,0 +1,27 @@ + + +[[NAME]] + + + +[[NAME]] + + + + + + + + + +Description + +FIXME: + + + diff --git a/doc/help/xslt/params/tex.math.delims.xml b/doc/help/xslt/params/tex.math.delims.xml new file mode 100644 index 00000000..3a302f79 --- /dev/null +++ b/doc/help/xslt/params/tex.math.delims.xml @@ -0,0 +1,47 @@ + + +tex.math.delims +boolean + + +tex.math.delims +Should equations output for processing by TeX be +surrounded by math mode delimiters? + + + + + + + + +Description + +For compatibility with DSSSL based DBTeXMath from Allin Cottrell +you should set this parameter to 0. + + + This feature is useful for print/PDF output only if you + use the obsolete and now unsupported PassiveTeX XSL-FO + engine. + + + +Related Parameters + tex.math.in.alt, + passivetex.extensions + + +See Also + You can also use the dbtex delims processing + instruction to control whether delimiters are output. + + + + diff --git a/doc/help/xslt/params/tex.math.file.xml b/doc/help/xslt/params/tex.math.file.xml new file mode 100644 index 00000000..fbc6eaa6 --- /dev/null +++ b/doc/help/xslt/params/tex.math.file.xml @@ -0,0 +1,42 @@ + + +tex.math.file +string + + +tex.math.file +Name of temporary file for generating images from equations + + + + +tex-math-equations.tex + + + +Description + +Name of auxiliary file for TeX equations. This file can be +processed by dvi2bitmap to get bitmap versions of equations for HTML +output. + + +Related Parameters + tex.math.in.alt, + tex.math.delims, + + +More information + For how-to documentation on embedding TeX equations and + generating output from them, see + DBTeXMath. + + diff --git a/doc/help/xslt/params/tex.math.in.alt.xml b/doc/help/xslt/params/tex.math.in.alt.xml new file mode 100644 index 00000000..ed1abb97 --- /dev/null +++ b/doc/help/xslt/params/tex.math.in.alt.xml @@ -0,0 +1,76 @@ + + +tex.math.in.alt +list +plain +latex + + +tex.math.in.alt +TeX notation used for equations + + + + + + + + +Description + +If you want type math directly in TeX notation in equations, +this parameter specifies notation used. Currently are supported two +values -- plain and latex. Empty +value means that you are not using TeX math at all. + +Preferred way for including TeX alternative of math is inside of +textobject element. Eg.: + +<inlineequation> +<inlinemediaobject> +<imageobject> +<imagedata fileref="eq1.gif"/> +</imageobject> +<textobject><phrase>E=mc squared</phrase></textobject> +<textobject role="tex"><phrase>E=mc^2</phrase></textobject> +</inlinemediaobject> +</inlineequation> + +If you are using graphic element, you can +store TeX inside alt element: + +<inlineequation> +<alt role="tex">a^2+b^2=c^2</alt> +<graphic fileref="a2b2c2.gif"/> +</inlineequation> + +If you want use this feature, you should process your FO with +PassiveTeX, which only supports TeX math notation. When calling +stylsheet, don't forget to specify also +passivetex.extensions=1. + +If you want equations in HTML, just process generated file +tex-math-equations.tex by TeX or LaTeX. Then run +dvi2bitmap program on result DVI file. You will get images for +equations in your document. + + + This feature is useful for print/PDF output only if you + use the obsolete and now unsupported PassiveTeX XSL-FO + engine. + + + + +Related Parameters + tex.math.delims, + passivetex.extensions, + tex.math.file + + + diff --git a/doc/help/xslt/params/text.home.xml b/doc/help/xslt/params/text.home.xml new file mode 100644 index 00000000..0bc81dd7 --- /dev/null +++ b/doc/help/xslt/params/text.home.xml @@ -0,0 +1,27 @@ + + +text.home +string + + +text.home +Home + + + + +Home + + + +Description + +FIXME: + + + diff --git a/doc/help/xslt/params/text.next.xml b/doc/help/xslt/params/text.next.xml new file mode 100644 index 00000000..d89b8e8e --- /dev/null +++ b/doc/help/xslt/params/text.next.xml @@ -0,0 +1,27 @@ + + +text.next +string + + +text.next +FIXME: + + + + +Next + + + +Description + +FIXME: + + + diff --git a/doc/help/xslt/params/text.prev.xml b/doc/help/xslt/params/text.prev.xml new file mode 100644 index 00000000..62d28e3d --- /dev/null +++ b/doc/help/xslt/params/text.prev.xml @@ -0,0 +1,27 @@ + + +text.prev +string + + +text.prev +FIXME: + + + + +Prev + + + +Description + +FIXME: + + + diff --git a/doc/help/xslt/params/text.toc.xml b/doc/help/xslt/params/text.toc.xml new file mode 100644 index 00000000..083b8e31 --- /dev/null +++ b/doc/help/xslt/params/text.toc.xml @@ -0,0 +1,27 @@ + + +text.toc +string + + +text.toc +FIXME: + + + + +ToC + + + +Description + +FIXME: + + + diff --git a/doc/help/xslt/params/text.up.xml b/doc/help/xslt/params/text.up.xml new file mode 100644 index 00000000..f6dca22b --- /dev/null +++ b/doc/help/xslt/params/text.up.xml @@ -0,0 +1,27 @@ + + +text.up +string + + +text.up +FIXME: + + + + +Up + + + +Description + +FIXME: + + + diff --git a/doc/help/xslt/params/textbgcolor.xml b/doc/help/xslt/params/textbgcolor.xml new file mode 100644 index 00000000..b9aefe6e --- /dev/null +++ b/doc/help/xslt/params/textbgcolor.xml @@ -0,0 +1,26 @@ + + +textbgcolor +color + + +textbgcolor +The background color of the table body + + + + +white + + + +Description +The background color of the table body. +Only applies with the tabular presentation is being used. + + diff --git a/doc/help/xslt/params/textdata.default.encoding.xml b/doc/help/xslt/params/textdata.default.encoding.xml new file mode 100644 index 00000000..b6f30a8b --- /dev/null +++ b/doc/help/xslt/params/textdata.default.encoding.xml @@ -0,0 +1,32 @@ + + +textdata.default.encoding +string + + +textdata.default.encoding +Default encoding of external text files which are included +using textdata element + + + + + + + + +Description + +Specifies the encoding of any external text files included using +textdata element. This value is used only when you do +not specify encoding by the appropriate attribute +directly on textdata. An empty string is interpreted as the system +default encoding. + + + diff --git a/doc/help/xslt/params/textinsert.extension.xml b/doc/help/xslt/params/textinsert.extension.xml new file mode 100644 index 00000000..a6f1ea40 --- /dev/null +++ b/doc/help/xslt/params/textinsert.extension.xml @@ -0,0 +1,62 @@ + + + textinsert.extension + boolean + + + textinsert.extension + Enables the textinsert extension element + + + + + + + Description + The textinsert extension element inserts the contents of + a file into the result tree (as text). + + To use the textinsert extension element, you must use + either Saxon or Xalan as your XSLT processor (it doesn’t + work with xsltproc), along with either the DocBook Saxon + extensions or DocBook Xalan extensions (for more + information about those extensions, see DocBook Saxon Extensions and DocBook Xalan Extensions), and you must set both + the use.extensions and + textinsert.extension parameters to + 1. + As an alternative to using the textinsert element, + consider using an Xinclude element with the + parse="text" attribute and value + specified, as detailed in Using XInclude for text inclusions. + + + See Also + You can also use the dbhtml-include href processing + instruction to insert external files — both files containing + plain text and files with markup content (including HTML + content). + + More information + For how-to documentation on inserting contents of + external code files and other text files into output, see + External code files. + For guidelines on inserting contents of + HTML files into output, see Inserting external HTML code. + + diff --git a/doc/help/xslt/params/title.font.family.xml b/doc/help/xslt/params/title.font.family.xml new file mode 100644 index 00000000..369021f0 --- /dev/null +++ b/doc/help/xslt/params/title.font.family.xml @@ -0,0 +1,33 @@ + + +title.font.family +list +open +serif +sans-serif +monospace + + +title.font.family +The default font family for titles + + + + +sans-serif + + + +Description + +The title font family is used for titles (chapter, section, figure, +etc.) + + + + diff --git a/doc/help/xslt/params/title.margin.left.xml b/doc/help/xslt/params/title.margin.left.xml new file mode 100644 index 00000000..dc50dd13 --- /dev/null +++ b/doc/help/xslt/params/title.margin.left.xml @@ -0,0 +1,65 @@ + + +title.margin.left +length + + +title.margin.left +Adjust the left margin for titles + + + + + + + -4pc + 0pt + 0pt + + + + + +Description + +This parameter provides +the means of adjusting the left margin for titles +when the XSL-FO processor being used is +an old version of FOP (0.25 and earlier). +It is only useful when the fop.extensions +is nonzero. + +The left margin of the body region +is calculated to include this space, +and titles are outdented to the left outside +the body region by this amount, +effectively leaving titles at the intended left margin +and the body text indented. +Currently this method is only used for old FOP because +it cannot properly use the body.start.indent +parameter. + + +The default value when the fop.extensions +parameter is nonzero is -4pc, which means the +body text is indented 4 picas relative to +the titles. +The default value when the fop.extensions +parameter equals zero is 0pt, and +the body indent should instead be specified +using the body.start.indent +parameter. + + +If you set the value to zero, be sure to still include +a unit indicator such as 0pt, or +the FO processor will report errors. + + + + diff --git a/doc/help/xslt/params/titlefoil.html.xml b/doc/help/xslt/params/titlefoil.html.xml new file mode 100644 index 00000000..5fa2acd5 --- /dev/null +++ b/doc/help/xslt/params/titlefoil.html.xml @@ -0,0 +1,27 @@ + + +titlefoil.html +filename + + +titlefoil.html +Name of title foil HTML file + + + + + + + + +Description + +Sets the filename used for the slides titlepage. + + + diff --git a/doc/help/xslt/params/toc.bg.color.xml b/doc/help/xslt/params/toc.bg.color.xml new file mode 100644 index 00000000..1389c62b --- /dev/null +++ b/doc/help/xslt/params/toc.bg.color.xml @@ -0,0 +1,27 @@ + + +toc.bg.color +color + + +toc.bg.color +Background color for ToC frame + + + + +#FFFFFF + + + +Description + +Specifies the background color used in the ToC frame. + + + diff --git a/doc/help/xslt/params/toc.blank.graphic.xml b/doc/help/xslt/params/toc.blank.graphic.xml new file mode 100644 index 00000000..bb24888f --- /dev/null +++ b/doc/help/xslt/params/toc.blank.graphic.xml @@ -0,0 +1,28 @@ + + +toc.blank.graphic +boolean + + +toc.blank.graphic +Use graphic for "blanks" in TOC? + + + + + + + + +Description +If non-zero, "blanks" in the the TOC will be accomplished +with the graphic identified by toc.spacer.image. + +Only applies with the tabular presentation is being used. + + diff --git a/doc/help/xslt/params/toc.blank.image.xml b/doc/help/xslt/params/toc.blank.image.xml new file mode 100644 index 00000000..82caa2f3 --- /dev/null +++ b/doc/help/xslt/params/toc.blank.image.xml @@ -0,0 +1,27 @@ + + +toc.blank.image +filename + + +toc.blank.image +The image for "blanks" in the TOC + + + + +graphics/blank.gif + + + +Description +If toc.blank.graphic is non-zero, this image +will be used to for "blanks" in the TOC. +Only applies with the tabular presentation is being used. + + diff --git a/doc/help/xslt/params/toc.blank.text.xml b/doc/help/xslt/params/toc.blank.text.xml new file mode 100644 index 00000000..d39aec4f --- /dev/null +++ b/doc/help/xslt/params/toc.blank.text.xml @@ -0,0 +1,27 @@ + + +toc.blank.text +string + + +toc.blank.text +The text for "blanks" in the TOC + + + + +    + + + +Description +If toc.blank.graphic is zero, this text string +will be used for "blanks" in the TOC. +Only applies with the tabular presentation is being used. + + diff --git a/doc/help/xslt/params/toc.hide.show.xml b/doc/help/xslt/params/toc.hide.show.xml new file mode 100644 index 00000000..1570ec43 --- /dev/null +++ b/doc/help/xslt/params/toc.hide.show.xml @@ -0,0 +1,33 @@ + + +toc.hide.show +boolean + + +toc.hide.show +Enable hide/show button for ToC frame + + + + + + + + +Description + +If non-zero, JavaScript (and an additional icon, see +hidetoc.image and +showtoc.image) is added to each slide +to allow the ToC panel to be toggled on each panel. + +There is a bug in Mozilla 1.0 (at least as of CR3) that causes +the browser to reload the titlepage when this feature is used. + + + diff --git a/doc/help/xslt/params/toc.html.xml b/doc/help/xslt/params/toc.html.xml new file mode 100644 index 00000000..62c060c7 --- /dev/null +++ b/doc/help/xslt/params/toc.html.xml @@ -0,0 +1,27 @@ + + +toc.html +filename + + +toc.html +Name of ToC HTML file + + + + + + + + +Description + +Sets the filename used for the table of contents page. + + + diff --git a/doc/help/xslt/params/toc.image.xml b/doc/help/xslt/params/toc.image.xml new file mode 100644 index 00000000..147155cf --- /dev/null +++ b/doc/help/xslt/params/toc.image.xml @@ -0,0 +1,27 @@ + + +toc.image +filename + + +toc.image +ToC image + + + + +active/nav-toc.png + + + +Description + +Specifies the filename of the ToC navigation icon. + + + diff --git a/doc/help/xslt/params/toc.indent.width.xml b/doc/help/xslt/params/toc.indent.width.xml new file mode 100644 index 00000000..449e74cc --- /dev/null +++ b/doc/help/xslt/params/toc.indent.width.xml @@ -0,0 +1,34 @@ + + +toc.indent.width +float + + +toc.indent.width +Amount of indentation for TOC entries + + + + +24 + + + + +Description + +Specifies, in points, the distance by which each level of the +TOC is indented from its parent. + +This value is expressed in points, without +a unit (in other words, it is a bare number). Using a bare number allows the stylesheet +to perform calculations that would otherwise have to be performed by the FO processor +because not all processors support expressions. + + + diff --git a/doc/help/xslt/params/toc.line.properties.xml b/doc/help/xslt/params/toc.line.properties.xml new file mode 100644 index 00000000..0886fa45 --- /dev/null +++ b/doc/help/xslt/params/toc.line.properties.xml @@ -0,0 +1,44 @@ + + +toc.line.properties +attribute set + + +toc.line.properties +Properties for lines in ToCs and LoTs + + + + + + justify + start + + + + + + +Description + +Properties which are applied to every line in ToC (or LoT). You can +modify them in order to change appearance of all, or some lines. For +example, in order to make lines for chapters bold, specify the +following in your customization layer: + +<xsl:attribute-set name="toc.line.properties"> + <xsl:attribute name="font-weight"> + <xsl:choose> + <xsl:when test="self::chapter">bold</xsl:when> + <xsl:otherwise>normal</xsl:otherwise> + </xsl:choose> + </xsl:attribute> +</xsl:attribute-set> + + + diff --git a/doc/help/xslt/params/toc.list.type.xml b/doc/help/xslt/params/toc.list.type.xml new file mode 100644 index 00000000..31dc465d --- /dev/null +++ b/doc/help/xslt/params/toc.list.type.xml @@ -0,0 +1,30 @@ + + +toc.list.type +list +dl +ul +ol + + +toc.list.type +Type of HTML list element to use for Tables of Contents + + + +dl + + +Description + +When an automatically generated Table of Contents (or List of Titles) +is produced, this HTML element will be used to make the list. + + + + diff --git a/doc/help/xslt/params/toc.margin.properties.xml b/doc/help/xslt/params/toc.margin.properties.xml new file mode 100644 index 00000000..25963df5 --- /dev/null +++ b/doc/help/xslt/params/toc.margin.properties.xml @@ -0,0 +1,33 @@ + + +toc.margin.properties +attribute set + + +toc.margin.properties +Margin properties used on Tables of Contents + + + + + + 0.5em + 1em + 2em + 0.5em + 1em + 2em + + + + +Description +This attribute set is used on Tables of Contents. These attributes are set +on the wrapper that surrounds the ToC block, not on each individual lines. + + diff --git a/doc/help/xslt/params/toc.max.depth.xml b/doc/help/xslt/params/toc.max.depth.xml new file mode 100644 index 00000000..75902b38 --- /dev/null +++ b/doc/help/xslt/params/toc.max.depth.xml @@ -0,0 +1,25 @@ + + +toc.max.depth +integer + + +toc.max.depth +How many levels should be created for each TOC? + + + +8 + + +Description + +Specifies the maximal depth of TOC on all levels. + + + diff --git a/doc/help/xslt/params/toc.pointer.graphic.xml b/doc/help/xslt/params/toc.pointer.graphic.xml new file mode 100644 index 00000000..4b2cb74f --- /dev/null +++ b/doc/help/xslt/params/toc.pointer.graphic.xml @@ -0,0 +1,28 @@ + + +toc.pointer.graphic +boolean + + +toc.pointer.graphic +Use graphic for TOC pointer? + + + + + + + + +Description +If non-zero, the "pointer" in the TOC will be displayed +with the graphic identified by toc.pointer.image. + +Only applies with the tabular presentation is being used. + + diff --git a/doc/help/xslt/params/toc.pointer.image.xml b/doc/help/xslt/params/toc.pointer.image.xml new file mode 100644 index 00000000..bf069018 --- /dev/null +++ b/doc/help/xslt/params/toc.pointer.image.xml @@ -0,0 +1,27 @@ + + +toc.pointer.image +filename + + +toc.pointer.image +The image for the "pointer" in the TOC + + + + +graphics/arrow.gif + + + +Description +If toc.pointer.graphic is non-zero, this image +will be used for the "pointer" in the TOC. +Only applies with the tabular presentation is being used. + + diff --git a/doc/help/xslt/params/toc.pointer.text.xml b/doc/help/xslt/params/toc.pointer.text.xml new file mode 100644 index 00000000..b094765a --- /dev/null +++ b/doc/help/xslt/params/toc.pointer.text.xml @@ -0,0 +1,27 @@ + + +toc.pointer.text +string + + +toc.pointer.text +The text for the "pointer" in the TOC + + + + + >  + + + +Description +If toc.pointer.graphic is zero, this text string +will be used to display the "pointer" in the TOC. +Only applies with the tabular presentation is being used. + + diff --git a/doc/help/xslt/params/toc.row.height.xml b/doc/help/xslt/params/toc.row.height.xml new file mode 100644 index 00000000..89bac837 --- /dev/null +++ b/doc/help/xslt/params/toc.row.height.xml @@ -0,0 +1,33 @@ + + +toc.row.height +length + + +toc.row.height +Height of ToC rows in dynamic ToCs + + + + +22 + + + +Description + +This parameter specifies the height of each row in the table of +contents. This is only applicable if a dynamic ToC is used. You may want to +adjust this parameter for optimal appearance with the font and image +sizes selected by your CSS +stylesheet. + + + + diff --git a/doc/help/xslt/params/toc.section.depth.xml b/doc/help/xslt/params/toc.section.depth.xml new file mode 100644 index 00000000..db99f9c6 --- /dev/null +++ b/doc/help/xslt/params/toc.section.depth.xml @@ -0,0 +1,28 @@ + + +toc.section.depth +integer + + +toc.section.depth +How deep should recursive sections appear +in the TOC? + + + +2 + + +Description + +Specifies the depth to which recursive sections should appear in the +TOC. + + + + diff --git a/doc/help/xslt/params/toc.spacer.graphic.xml b/doc/help/xslt/params/toc.spacer.graphic.xml new file mode 100644 index 00000000..0a5729c2 --- /dev/null +++ b/doc/help/xslt/params/toc.spacer.graphic.xml @@ -0,0 +1,28 @@ + + +toc.spacer.graphic +boolean + + +toc.spacer.graphic +Use graphic for TOC spacer? + + + + + + + + +Description +If non-zero, the indentation in the TOC will be accomplished +with the graphic identified by toc.spacer.image. + +Only applies with the tabular presentation is being used. + + diff --git a/doc/help/xslt/params/toc.spacer.image.xml b/doc/help/xslt/params/toc.spacer.image.xml new file mode 100644 index 00000000..0d550167 --- /dev/null +++ b/doc/help/xslt/params/toc.spacer.image.xml @@ -0,0 +1,27 @@ + + +toc.spacer.image +filename + + +toc.spacer.image +The image for spacing the TOC + + + + +graphics/blank.gif + + + +Description +If toc.spacer.graphic is non-zero, this image +will be used to indent the TOC. +Only applies with the tabular presentation is being used. + + diff --git a/doc/help/xslt/params/toc.spacer.text.xml b/doc/help/xslt/params/toc.spacer.text.xml new file mode 100644 index 00000000..bfb605f5 --- /dev/null +++ b/doc/help/xslt/params/toc.spacer.text.xml @@ -0,0 +1,27 @@ + + +toc.spacer.text +string + + +toc.spacer.text +The text for spacing the TOC + + + + +    + + + +Description +If toc.spacer.graphic is zero, this text string +will be used to indent the TOC. +Only applies with the tabular presentation is being used. + + diff --git a/doc/help/xslt/params/toc.width.xml b/doc/help/xslt/params/toc.width.xml new file mode 100644 index 00000000..71a3c03b --- /dev/null +++ b/doc/help/xslt/params/toc.width.xml @@ -0,0 +1,28 @@ + + +toc.width +length + + +toc.width +Width of ToC frame + + + + +250 + + + + +Description + +Specifies the width of the ToC frame in pixels. + + + diff --git a/doc/help/xslt/params/ua.js.xml b/doc/help/xslt/params/ua.js.xml new file mode 100644 index 00000000..8242a716 --- /dev/null +++ b/doc/help/xslt/params/ua.js.xml @@ -0,0 +1,28 @@ + + +ua.js +filename + + +ua.js +UA JavaScript file + + + + +ua.js + + + +Description + +Specifies the filename of the UA JavaScript file. It's unlikely +that you will ever need to change this parameter. + + + diff --git a/doc/help/xslt/params/ulink.footnotes.xml b/doc/help/xslt/params/ulink.footnotes.xml new file mode 100644 index 00000000..f17c884a --- /dev/null +++ b/doc/help/xslt/params/ulink.footnotes.xml @@ -0,0 +1,34 @@ + + +ulink.footnotes +boolean + + +ulink.footnotes +Generate footnotes for ulinks? + + + + + + + + +Description + +If non-zero, and if ulink.show also is non-zero, +the URL of each ulink will appear as a footnote. + +DocBook 5 does not have an ulink element. When processing +DocBoook 5 documents, ulink.footnotes applies to all inline +elements that are marked up with xlink:href attributes +that point to external resources. + + + + diff --git a/doc/help/xslt/params/ulink.hyphenate.chars.xml b/doc/help/xslt/params/ulink.hyphenate.chars.xml new file mode 100644 index 00000000..7fdd771d --- /dev/null +++ b/doc/help/xslt/params/ulink.hyphenate.chars.xml @@ -0,0 +1,37 @@ + + +ulink.hyphenate.chars +string + + +ulink.hyphenate.chars +List of characters to allow ulink URLs to be automatically hyphenated on + + + + +/ + + + +Description + +If the ulink.hyphenate is not empty, then +hyphenation of ulinks is turned on, and any +character contained in this parameter is treated as an allowable +hyphenation point. + +The default value is /, but the parameter +could be customized +to contain other URL characters, as for example: + +<xsl:param name="ulink.hyphenate.chars">:/@&?.#</xsl:param> + + + + diff --git a/doc/help/xslt/params/ulink.hyphenate.xml b/doc/help/xslt/params/ulink.hyphenate.xml new file mode 100644 index 00000000..719e9374 --- /dev/null +++ b/doc/help/xslt/params/ulink.hyphenate.xml @@ -0,0 +1,35 @@ + + +ulink.hyphenate +string + + +ulink.hyphenate +Allow URLs to be automatically hyphenated + + + + + + + + +Description + +If not empty, the specified character (or more generally, content) is +added to URLs after every character included in the string +in the ulink.hyphenate.chars parameter (default +is /). If the character in this parameter is a +Unicode soft hyphen (0x00AD) or Unicode zero-width space (0x200B), some FO +processors will be able to reasonably hyphenate long URLs. + +As of 28 Jan 2002, discretionary hyphens are more widely and correctly +supported than zero-width spaces for this purpose. + + + diff --git a/doc/help/xslt/params/ulink.show.xml b/doc/help/xslt/params/ulink.show.xml new file mode 100644 index 00000000..6f90d580 --- /dev/null +++ b/doc/help/xslt/params/ulink.show.xml @@ -0,0 +1,37 @@ + + +ulink.show +boolean + + +ulink.show +Display URLs after ulinks? + + + + + + + + +Description + +If non-zero, the URL of each ulink will +appear after the text of the link. If the text of the link and the URL +are identical, the URL is suppressed. + +See also ulink.footnotes. + +DocBook 5 does not have an ulink element. When processing +DocBoook 5 documents, ulink.show applies to all inline +elements that are marked up with xlink:href attributes +that point to external resources. + + + + diff --git a/doc/help/xslt/params/ulink.target.xml b/doc/help/xslt/params/ulink.target.xml new file mode 100644 index 00000000..cf1d42bd --- /dev/null +++ b/doc/help/xslt/params/ulink.target.xml @@ -0,0 +1,29 @@ + + +ulink.target +string + + +ulink.target +The HTML anchor target for ULinks + + + + +_top + + + +Description + +If ulink.target is non-zero, its value will +be used for the target attribute +on anchors generated for ulinks. + + + diff --git a/doc/help/xslt/params/up.image.xml b/doc/help/xslt/params/up.image.xml new file mode 100644 index 00000000..1c3bfa21 --- /dev/null +++ b/doc/help/xslt/params/up.image.xml @@ -0,0 +1,27 @@ + + +up.image +filename + + +up.image +Up-arrow image + + + + +active/nav-up.png + + + +Description + +Specifies the filename of the upward-pointing navigation arrow. + + + diff --git a/doc/help/xslt/params/use.embed.for.svg.xml b/doc/help/xslt/params/use.embed.for.svg.xml new file mode 100644 index 00000000..f7c52cc5 --- /dev/null +++ b/doc/help/xslt/params/use.embed.for.svg.xml @@ -0,0 +1,33 @@ + + +use.embed.for.svg +boolean + + +use.embed.for.svg +Use HTML embed for SVG? + + + + + + + + +Description + +If non-zero, an embed element will be created for +SVG figures. An object is always created, +this parameter merely controls whether or not an additional embed +is generated inside the object. + +On the plus side, this may be more portable among browsers and plug-ins. +On the minus side, it isn't valid HTML. + + + diff --git a/doc/help/xslt/params/use.extensions.xml b/doc/help/xslt/params/use.extensions.xml new file mode 100644 index 00000000..4dce71bc --- /dev/null +++ b/doc/help/xslt/params/use.extensions.xml @@ -0,0 +1,31 @@ + + +use.extensions +boolean + + +use.extensions +Enable extensions + + + + + + + + +Description + +If non-zero, extensions may be used. Each extension is +further controlled by its own parameter. But if +use.extensions is zero, no extensions will +be used. + + + + diff --git a/doc/help/xslt/params/use.id.as.filename.xml b/doc/help/xslt/params/use.id.as.filename.xml new file mode 100644 index 00000000..e5133e9f --- /dev/null +++ b/doc/help/xslt/params/use.id.as.filename.xml @@ -0,0 +1,30 @@ + + +use.id.as.filename +boolean + + +use.id.as.filename +Use ID value of chunk elements as the filename? + + + + + + + + +Description + +If use.id.as.filename +is non-zero, the filename of chunk elements that have IDs will be +derived from the ID value. + + + + diff --git a/doc/help/xslt/params/use.id.function.xml b/doc/help/xslt/params/use.id.function.xml new file mode 100644 index 00000000..5f4e6f71 --- /dev/null +++ b/doc/help/xslt/params/use.id.function.xml @@ -0,0 +1,32 @@ + + +use.id.function +boolean + + +use.id.function +Use the XPath id() function to find link targets? + + + + + + + + +Description + +If 1, the stylesheets use the id() function +to find the targets of cross reference elements. This is more +efficient, but only works if your XSLT processor implements the +id() function, naturally. +THIS PARAMETER IS NOT SUPPORTED. IT IS ALWAYS ASSUMED TO BE 1. +SEE xref.xsl IF YOU NEED TO TURN IT OFF. + + + diff --git a/doc/help/xslt/params/use.local.olink.style.xml b/doc/help/xslt/params/use.local.olink.style.xml new file mode 100644 index 00000000..eb4f57aa --- /dev/null +++ b/doc/help/xslt/params/use.local.olink.style.xml @@ -0,0 +1,28 @@ + + +use.local.olink.style +boolean + + +use.local.olink.style +Process olinks using xref style of current +document + + + + +Description + +When cross reference data is collected for use by olinks, the data for each potential target includes one field containing a completely assembled cross reference string, as if it were an xref generated in that document. Other fields record the separate title, number, and element name of each target. When an olink is formed to a target from another document, the olink resolves to that preassembled string by default. If the use.local.olink.style parameter is set to non-zero, then instead the cross +reference string is formed again from the target title, number, and +element name, using the stylesheet processing the targeting document. +Then olinks will match the xref style in the targeting document +rather than in the target document. If both documents are processed +with the same stylesheet, then the results will be the same. + + diff --git a/doc/help/xslt/params/use.role.as.xrefstyle.xml b/doc/help/xslt/params/use.role.as.xrefstyle.xml new file mode 100644 index 00000000..56c4470a --- /dev/null +++ b/doc/help/xslt/params/use.role.as.xrefstyle.xml @@ -0,0 +1,93 @@ + + +use.role.as.xrefstyle +boolean + + +use.role.as.xrefstyle +Use role attribute for +xrefstyle on xref? + + + + + + + + +Description + +In DocBook documents that conform to a schema older than V4.3, this parameter allows +role to serve the purpose of specifying the cross reference style. + +If non-zero, the role attribute on +xref will be used to select the cross reference style. +In DocBook V4.3, the xrefstyle attribute was added for this purpose. +If the xrefstyle attribute is present, +role will be ignored, regardless of the setting +of this parameter. + + + +Example + +The following small stylesheet shows how to configure the +stylesheets to make use of the cross reference style: + +<?xml version="1.0"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version="1.0"> + +<xsl:import href="../xsl/html/docbook.xsl"/> + +<xsl:output method="html"/> + +<xsl:param name="local.l10n.xml" select="document('')"/> +<l:i18n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0"> + <l:l10n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" language="en"> + <l:context name="xref"> + <l:template name="chapter" style="title" text="Chapter %n, %t"/> + <l:template name="chapter" text="Chapter %n"/> + </l:context> + </l:l10n> +</l:i18n> + +</xsl:stylesheet> + +With this stylesheet, the cross references in the following document: + +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> +<book id="book"><title>Book</title> + +<preface> +<title>Preface</title> + +<para>Normal: <xref linkend="ch1"/>.</para> +<para>Title: <xref xrefstyle="title" linkend="ch1"/>.</para> + +</preface> + +<chapter id="ch1"> +<title>First Chapter</title> + +<para>Irrelevant.</para> + +</chapter> +</book> + +will appear as: + + +Normal: Chapter 1. +Title: Chapter 1, First Chapter. + + + + diff --git a/doc/help/xslt/params/use.role.for.mediaobject.xml b/doc/help/xslt/params/use.role.for.mediaobject.xml new file mode 100644 index 00000000..9241aced --- /dev/null +++ b/doc/help/xslt/params/use.role.for.mediaobject.xml @@ -0,0 +1,56 @@ + + +use.role.for.mediaobject +boolean + + +use.role.for.mediaobject +Use role attribute +value for selecting which of several objects within a mediaobject to use. + + + + + + + + + +Description + +If non-zero, the role attribute on +imageobjects or other objects within a mediaobject container will be used to select which object will be +used. + + +The order of selection when then parameter is non-zero is: + + + + If the stylesheet parameter preferred.mediaobject.role has a value, then the object whose role equals that value is selected. + + +Else if an object's role attribute has a value of +html for HTML processing or +fo for FO output, then the first +of such objects is selected. + + + +Else the first suitable object is selected. + + + +If the value of +use.role.for.mediaobject +is zero, then role attributes are not considered +and the first suitable object +with or without a role value is used. + + + diff --git a/doc/help/xslt/params/use.svg.xml b/doc/help/xslt/params/use.svg.xml new file mode 100644 index 00000000..8f13be0f --- /dev/null +++ b/doc/help/xslt/params/use.svg.xml @@ -0,0 +1,30 @@ + + +use.svg +boolean + + +use.svg +Allow SVG in the result tree? + + + + + + + + +Description + +If non-zero, SVG will be considered an acceptable image format. SVG +is passed through to the result tree, so correct rendering of the resulting +diagram depends on the formatter (FO processor or web browser) that is used +to process the output from the stylesheet. + + + diff --git a/doc/help/xslt/params/variablelist.as.blocks.xml b/doc/help/xslt/params/variablelist.as.blocks.xml new file mode 100644 index 00000000..71e1c98c --- /dev/null +++ b/doc/help/xslt/params/variablelist.as.blocks.xml @@ -0,0 +1,62 @@ + + +variablelist.as.blocks +boolean + + +variablelist.as.blocks +Format variablelists lists as blocks? + + + + + + + + +Description + +If non-zero, variablelists will be formatted as +blocks. + +If you have long terms, proper list markup in the FO case may produce +unattractive lists. By setting this parameter, you can force the stylesheets +to produce block markup instead of proper lists. + +You can override this setting with a processing instruction as the +child of variablelist: dbfo +list-presentation="blocks" or dbfo +list-presentation="list". + +When using list-presentation="list", +you can also control the amount of space used for the terms with +the dbfo term-width=".25in" processing instruction, +the termlength attribute on variablelist, +or allow the stylesheets to attempt to calculate the amount of space to leave based on the +number of letters in the longest term. + + + <variablelist> + <?dbfo list-presentation="list"?> + <?dbfo term-width="1.5in"?> + <?dbhtml list-presentation="table"?> + <?dbhtml term-width="1.5in"?> + <varlistentry> + <term>list</term> + <listitem> + <para> + Formatted as a list even if variablelist.as.blocks is set to 1. + </para> + </listitem> + </varlistentry> + </variablelist> + + + + + diff --git a/doc/help/xslt/params/variablelist.as.table.xml b/doc/help/xslt/params/variablelist.as.table.xml new file mode 100644 index 00000000..113d2f58 --- /dev/null +++ b/doc/help/xslt/params/variablelist.as.table.xml @@ -0,0 +1,54 @@ + + +variablelist.as.table +boolean + + +variablelist.as.table +Format variablelists as tables? + + + + + + + + +Description + +If non-zero, variablelists will be formatted as +tables. A processing instruction exists to specify a particular width for the +column containing the terms: +dbhtml term-width=".25in" + +You can override this setting with a processing instruction as the +child of variablelist: dbhtml +list-presentation="table" or dbhtml +list-presentation="list". + +This parameter only applies to the HTML transformations. In the +FO case, proper list markup is robust enough to handle the formatting. +But see also variablelist.as.blocks. + + <variablelist> + <?dbhtml list-presentation="table"?> + <?dbhtml term-width="1.5in"?> + <?dbfo list-presentation="list"?> + <?dbfo term-width="1in"?> + <varlistentry> + <term>list</term> + <listitem> + <para> + Formatted as a table even if variablelist.as.table is set to 0. + </para> + </listitem> + </varlistentry> + </variablelist> + + + diff --git a/doc/help/xslt/params/variablelist.max.termlength.xml b/doc/help/xslt/params/variablelist.max.termlength.xml new file mode 100644 index 00000000..ff56a878 --- /dev/null +++ b/doc/help/xslt/params/variablelist.max.termlength.xml @@ -0,0 +1,46 @@ + + +variablelist.max.termlength +number + + +variablelist.max.termlength +Specifies the longest term in variablelists + + + + +24 + + + +Description + +In variablelists, the listitem +is indented to leave room for the +term elements. That indent may be computed +if it is not specified with a termlength +attribute on the variablelist element. + + +The computation counts characters in the +term elements in the list +to find the longest term. However, some terms are very long +and would produce extreme indents. This parameter lets you +set a maximum character count. Any terms longer than the maximum +would line wrap. The default value is 24. + + +The character counts are converted to physical widths +by multiplying by 0.50em. There will be some variability +in how many actual characters fit in the space +since some characters are wider than others. + + + + diff --git a/doc/help/xslt/params/variablelist.term.break.after.xml b/doc/help/xslt/params/variablelist.term.break.after.xml new file mode 100644 index 00000000..8472f5ec --- /dev/null +++ b/doc/help/xslt/params/variablelist.term.break.after.xml @@ -0,0 +1,39 @@ + + +variablelist.term.break.after +boolean + + +variablelist.term.break.after +Generate line break after each term within a +multi-term varlistentry? + + + + +0 + + +Description + +Set a non-zero value for the +variablelist.term.break.after parameter to +generate a line break between terms in a +multi-term varlistentry. + + +If you set a non-zero value for +variablelist.term.break.after, you may also +want to set the value of the +variablelist.term.separator parameter to an +empty string (to suppress rendering of the default comma and space +after each term). + + + + diff --git a/doc/help/xslt/params/variablelist.term.properties.xml b/doc/help/xslt/params/variablelist.term.properties.xml new file mode 100644 index 00000000..4a4835de --- /dev/null +++ b/doc/help/xslt/params/variablelist.term.properties.xml @@ -0,0 +1,29 @@ + + +variablelist.term.properties +attribute set + + +variablelist.term.properties +To add properties to the term elements in a variablelist. + + + + + + + + +Description +These properties are added to the block containing a +term in a variablelist. +Use this attribute-set to set +font properties or alignment, for example. + + + diff --git a/doc/help/xslt/params/variablelist.term.separator.xml b/doc/help/xslt/params/variablelist.term.separator.xml new file mode 100644 index 00000000..f3df883b --- /dev/null +++ b/doc/help/xslt/params/variablelist.term.separator.xml @@ -0,0 +1,40 @@ + + +variablelist.term.separator +string + + +variablelist.term.separator +Text to separate terms within a multi-term +varlistentry + + + + +, + + +Description + +When a varlistentry contains multiple term +elements, the string specified in the value of the +variablelist.term.separator parameter is placed +after each term except the last. + + + To generate a line break between multiple terms in + a varlistentry, set a non-zero value for the + variablelist.term.break.after parameter. If + you do so, you may also want to set the value of the + variablelist.term.separator parameter to an + empty string (to suppress rendering of the default comma and space + after each term). + + + + diff --git a/doc/help/xslt/params/verbatim.properties.xml b/doc/help/xslt/params/verbatim.properties.xml new file mode 100644 index 00000000..28a368ae --- /dev/null +++ b/doc/help/xslt/params/verbatim.properties.xml @@ -0,0 +1,38 @@ + + +verbatim.properties +attribute set + + +verbatim.properties +Properties associated with verbatim text + + + + + + 0.8em + 1em + 1.2em + 0.8em + 1em + 1.2em + false + no-wrap + false + preserve + preserve + start + + + +Description +This attribute set is used on all verbatim environments. + + + diff --git a/doc/help/xslt/params/wordml.template.xml b/doc/help/xslt/params/wordml.template.xml new file mode 100644 index 00000000..4dae8a89 --- /dev/null +++ b/doc/help/xslt/params/wordml.template.xml @@ -0,0 +1,29 @@ + + +wordml.template +uri + + +wordml.template +Specify the template WordML document + + + + + + + + +Description + +The wordml.template parameter specifies a WordML document to use as a template for the generated document. The template document is used to define the (extensive) headers for the generated document, in particular the paragraph and character styles that are used to format the various elements. Any content in the template document is ignored. + +A template document is used in order to allow maintenance of the paragraph and character styles to be done using Word itself, rather than these XSL stylesheets. + + + diff --git a/doc/help/xslt/params/writing.mode.xml b/doc/help/xslt/params/writing.mode.xml new file mode 100644 index 00000000..c6959333 --- /dev/null +++ b/doc/help/xslt/params/writing.mode.xml @@ -0,0 +1,83 @@ + + +writing.mode +string + + +writing.mode +Direction of text flow based on locale + + + + + + + writing-mode + + + + + + + + + + +Description + +Sets direction of text flow and text alignment based on locale. +The value is normally taken from the gentext file for the +lang attribute of the document's root element, using the +key name 'writing-mode' to look it up in the gentext file. +But the param can also be +set on the command line to override that gentext value. + +Accepted values are: + + + lr-tb + + Left-to-right text flow in each line, lines stack top to bottom. + + + + rl-tb + + Right-to-left text flow in each line, lines stack top to bottom. + + + + tb-rl + + Top-to-bottom text flow in each vertical line, lines stack right to left. + Supported by only a few XSL-FO processors. Not supported in HTML output. + + + + lr + + Shorthand for lr-tb. + + + + rl + + Shorthand for rl-tb. + + + + tb + + Shorthand for tb-rl. + + + + + + + diff --git a/doc/help/xslt/params/xbCollapsibleLists.js.xml b/doc/help/xslt/params/xbCollapsibleLists.js.xml new file mode 100644 index 00000000..b30391f1 --- /dev/null +++ b/doc/help/xslt/params/xbCollapsibleLists.js.xml @@ -0,0 +1,28 @@ + + +xbCollapsibleLists.js +filename + + +xbCollapsibleLists.js +xbCollapsibleLists JavaScript file + + + + +xbCollapsibleLists.js + + + +Description + +Specifies the filename of the xbCollapsibleLists JavaScript file. It's unlikely +that you will ever need to change this parameter. + + + diff --git a/doc/help/xslt/params/xbDOM.js.xml b/doc/help/xslt/params/xbDOM.js.xml new file mode 100644 index 00000000..a699e9c9 --- /dev/null +++ b/doc/help/xslt/params/xbDOM.js.xml @@ -0,0 +1,28 @@ + + +xbDOM.js +filename + + +xbDOM.js +xbDOM JavaScript file + + + + +xbDOM.js + + + +Description + +Specifies the filename of the xbDOM JavaScript file. It's unlikely +that you will ever need to change this parameter. + + + diff --git a/doc/help/xslt/params/xbLibrary.js.xml b/doc/help/xslt/params/xbLibrary.js.xml new file mode 100644 index 00000000..fe2d8fee --- /dev/null +++ b/doc/help/xslt/params/xbLibrary.js.xml @@ -0,0 +1,28 @@ + + +xbLibrary.js +filename + + +xbLibrary.js +xbLibrary JavaScript file + + + + +xbLibrary.js + + + +Description + +Specifies the filename of the xbLibrary JavaScript file. It's unlikely +that you will ever need to change this parameter. + + + diff --git a/doc/help/xslt/params/xbStyle.js.xml b/doc/help/xslt/params/xbStyle.js.xml new file mode 100644 index 00000000..b587573e --- /dev/null +++ b/doc/help/xslt/params/xbStyle.js.xml @@ -0,0 +1,28 @@ + + +xbStyle.js +filename + + +xbStyle.js +xbStyle JavaScript file + + + + +xbStyle.js + + + +Description + +Specifies the filename of the xbStyle JavaScript file. It's unlikely +that you will ever need to change this parameter. + + + diff --git a/doc/help/xslt/params/xep.extensions.xml b/doc/help/xslt/params/xep.extensions.xml new file mode 100644 index 00000000..8ac25201 --- /dev/null +++ b/doc/help/xslt/params/xep.extensions.xml @@ -0,0 +1,31 @@ + + +xep.extensions +boolean + + +xep.extensions +Enable XEP extensions? + + + + + + +Description + +If non-zero, +XEP +extensions will be used. XEP extensions consists of PDF bookmarks, +document information and better index processing. + + +This parameter can also affect which graphics file formats +are supported + + diff --git a/doc/help/xslt/params/xep.index.item.properties.xml b/doc/help/xslt/params/xep.index.item.properties.xml new file mode 100644 index 00000000..b1db1290 --- /dev/null +++ b/doc/help/xslt/params/xep.index.item.properties.xml @@ -0,0 +1,36 @@ + + +xep.index.item.properties +attribute set + + +xep.index.item.properties +Properties associated with XEP index-items + + + + + + true + true + + + + +Description + +Properties associated with XEP index-items, which generate +page numbers in an index processed by XEP. For more info see +the XEP documentation section "Indexes" in +http://www.renderx.com/reference.html#Indexes. + +This attribute-set also adds by default any properties from the +index.page.number.properties +attribute-set. + + diff --git a/doc/help/xslt/params/xref.label-page.separator.xml b/doc/help/xslt/params/xref.label-page.separator.xml new file mode 100644 index 00000000..355fc4a4 --- /dev/null +++ b/doc/help/xslt/params/xref.label-page.separator.xml @@ -0,0 +1,38 @@ + + +xref.label-page.separator +string + + +xref.label-page.separator +Punctuation or space separating label from page number in xref + + + + + + +Description + + +This parameter allows you to control the punctuation of certain +types of generated cross reference text. +When cross reference text is generated for an +xref or +olink element +using an xrefstyle attribute +that makes use of the select: feature, +and the selected components include both label and page +but no title, +then the value of this parameter is inserted between +label and page number in the output. +If a title is included, then other separators are used. + + + + diff --git a/doc/help/xslt/params/xref.label-title.separator.xml b/doc/help/xslt/params/xref.label-title.separator.xml new file mode 100644 index 00000000..3d6e2227 --- /dev/null +++ b/doc/help/xslt/params/xref.label-title.separator.xml @@ -0,0 +1,36 @@ + + +xref.label-title.separator +string + + +xref.label-title.separator +Punctuation or space separating label from title in xref + + + +: + + +Description + + +This parameter allows you to control the punctuation of certain +types of generated cross reference text. +When cross reference text is generated for an +xref or +olink element +using an xrefstyle attribute +that makes use of the select: feature, +and the selected components include both label and title, +then the value of this parameter is inserted between +label and title in the output. + + + + diff --git a/doc/help/xslt/params/xref.properties.xml b/doc/help/xslt/params/xref.properties.xml new file mode 100644 index 00000000..6438f6c8 --- /dev/null +++ b/doc/help/xslt/params/xref.properties.xml @@ -0,0 +1,29 @@ + + +xref.properties +attribute set + + +xref.properties +Properties associated with cross-reference text + + + + + + + + + +Description + +This attribute set is used to set properties +on cross reference text. + + + diff --git a/doc/help/xslt/params/xref.title-page.separator.xml b/doc/help/xslt/params/xref.title-page.separator.xml new file mode 100644 index 00000000..32ef9f14 --- /dev/null +++ b/doc/help/xslt/params/xref.title-page.separator.xml @@ -0,0 +1,36 @@ + + +xref.title-page.separator +string + + +xref.title-page.separator +Punctuation or space separating title from page number in xref + + + + + + +Description + + +This parameter allows you to control the punctuation of certain +types of generated cross reference text. +When cross reference text is generated for an +xref or +olink element +using an xrefstyle attribute +that makes use of the select: feature, +and the selected components include both title and page number, +then the value of this parameter is inserted between +title and page number in the output. + + + + diff --git a/doc/help/xslt/params/xref.with.number.and.title.xml b/doc/help/xslt/params/xref.with.number.and.title.xml new file mode 100644 index 00000000..06fcc7e6 --- /dev/null +++ b/doc/help/xslt/params/xref.with.number.and.title.xml @@ -0,0 +1,30 @@ + + +xref.with.number.and.title +boolean + + +xref.with.number.and.title +Use number and title in cross references + + + + + + + + +Description + +A cross reference may include the number (for example, the number of +an example or figure) and the title which is a required child of some +targets. This parameter inserts both the relevant number as well as +the title into the link. + + + diff --git a/doc/help/xslt/profiling/profile-mode.xsl b/doc/help/xslt/profiling/profile-mode.xsl new file mode 100644 index 00000000..c02132a9 --- /dev/null +++ b/doc/help/xslt/profiling/profile-mode.xsl @@ -0,0 +1,239 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + diff --git a/doc/help/xslt/profiling/profile.xsl b/doc/help/xslt/profiling/profile.xsl new file mode 100644 index 00000000..b188fbb2 --- /dev/null +++ b/doc/help/xslt/profiling/profile.xsl @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + 0 + + + + + + + + + + diff --git a/doc/help/xslt/profiling/strip-attributes.xsl b/doc/help/xslt/profiling/strip-attributes.xsl new file mode 100644 index 00000000..d6f55fb5 --- /dev/null +++ b/doc/help/xslt/profiling/strip-attributes.xsl @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/profiling/xsl2profile.xsl b/doc/help/xslt/profiling/xsl2profile.xsl new file mode 100644 index 00000000..b6648aa4 --- /dev/null +++ b/doc/help/xslt/profiling/xsl2profile.xsl @@ -0,0 +1,159 @@ + + + + + + + + + + + + + This file was created automatically by xsl2profile + from the DocBook XSL stylesheets. + + + + + + + dummy + dummy + dummy + + exslt + + + exslt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Note: namesp. cut : stripped namespace before processing + + + + Note: namesp. cut : processing stripped document + + + + + + + + + + + + + + + + + + + + + + + + + + + $profiled-nodes + + + $profiled-nodes + + + + + + + + + + + + + + + + + + + key('id',$rootid) + $profiled-nodes//*[@id=$rootid] + + + + + + + + + + + + + + + + + $profiled-nodes/node() + + + + + + + + false() + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/roundtrip/blocks-spec.xml b/doc/help/xslt/roundtrip/blocks-spec.xml new file mode 100644 index 00000000..d8ab0057 --- /dev/null +++ b/doc/help/xslt/roundtrip/blocks-spec.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/doc/help/xslt/roundtrip/blocks2dbk.dtd b/doc/help/xslt/roundtrip/blocks2dbk.dtd new file mode 100644 index 00000000..4d1ea043 --- /dev/null +++ b/doc/help/xslt/roundtrip/blocks2dbk.dtd @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/roundtrip/blocks2dbk.xsl b/doc/help/xslt/roundtrip/blocks2dbk.xsl new file mode 100644 index 00000000..e14999f7 --- /dev/null +++ b/doc/help/xslt/roundtrip/blocks2dbk.xsl @@ -0,0 +1,1732 @@ + + +%ext; +]> + + + + + + + + + + + + + 0 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + style "" is not a valid list style + + + + + + + + + + list-wrong-level + list started at the wrong level + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + improper-blockquote-attribution + blockquote attribution must follow a blockquote title + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + formalpara-notitle + formalpara used without a title + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + bad-caption + caption does not follow table or figure + + + + + + + + + + + + + + unknown-style + unknown paragraph style "" encountered + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + imagedata-metadata missing value for attribute " + + " + + + + + + + + + + + + 1 + 0 + + + + + + + + + + + + + + imagedata-metadata unknown attribute " + + " + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + bold + + + + + + + + underline + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + unknown-style + unknown character span style "" encountered + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + bad-metadata + style "" must not be metadata for parent "" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + bad-author-orgname-combo + character span "" not allowed in an author paragraph combined with orgname + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + bad-titleabbrev + titleabbrev style "" mismatches parent "" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + bad-title + title style "" mismatches parent "" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + bad-subtitle + subtitle style "" mismatches parent "" + + + + + + + + + + bad-publisher-address + publisher-address must follow publisher + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + bad-author-inline + character span "" not allowed in an author paragraph + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + metadata-bad-inline + character span "" not allowed in author metadata + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ERROR "": + + + + + + + + + + + + + + + + WARNING "": + + + + + + + + + + + diff --git a/doc/help/xslt/roundtrip/dbk2ooo.xsl b/doc/help/xslt/roundtrip/dbk2ooo.xsl new file mode 100644 index 00000000..dc7303fc --- /dev/null +++ b/doc/help/xslt/roundtrip/dbk2ooo.xsl @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/roundtrip/dbk2pages.xsl b/doc/help/xslt/roundtrip/dbk2pages.xsl new file mode 100644 index 00000000..f4735550 --- /dev/null +++ b/doc/help/xslt/roundtrip/dbk2pages.xsl @@ -0,0 +1,441 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Please specify the template document with the "pages.template" parameter + + + Unable to open template document "" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + DocBookRoundtrip-1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + email + + + + + + + + + + + + + + + + + + + + + + + + + SFTTableAttachment- + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + attribute-name + + + + + + + + attribute-value + + + + + + + + + + + + + para + + + + + + + + unable to find paragraph style "" + + + + + + + + + unable to find character style "" + + + + + diff --git a/doc/help/xslt/roundtrip/dbk2wordml.xsl b/doc/help/xslt/roundtrip/dbk2wordml.xsl new file mode 100644 index 00000000..07bd08d3 --- /dev/null +++ b/doc/help/xslt/roundtrip/dbk2wordml.xsl @@ -0,0 +1,401 @@ + + + + + + + + + + + + + + + + + + + + + Please specify the template document with the "wordml.template" parameter + + + Unable to open template document "" + + + + progid="Word.Document" + + + + + + + + preserve + + + + + + + + Unknown + + + + + + + + + + + Unknown + + + 1 + + + + 2004-01-01T07:07:00Z + 2004-01-01T08:08:00Z + + 1 + 1 + 1 + + + DocBook + + 1 + 1 + 1 + 11.6113 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + = + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/roundtrip/dbk2wp.xsl b/doc/help/xslt/roundtrip/dbk2wp.xsl new file mode 100644 index 00000000..671c58f6 --- /dev/null +++ b/doc/help/xslt/roundtrip/dbk2wp.xsl @@ -0,0 +1,1375 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + section nested deeper than 5 levels + + sect5- + + + + sect + + - + + + + + - + + + + + - + + + + + + + + + + + + + + Metadata + + TODO: Handle all metadata elements, apart from titles. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + abstract + + + + + + + + + + + + + + + + + + + + + + + + + + + mailto: + + + + + + + + + Hyperlink + + + + + + + + + + + + + + + otheraddr + + + + + + otheraddr + + + + + + + + + otheraddr + + + + + + otheraddr + + + + + + + + + + Hyperlink + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + para + + + + + + + + + + + + + + + Normal + + + + + + + + + + + + + + Normal + + + + + + + + + + + + + + + + simpara + + + + + + + + + + 1 + 0 + + + + + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Text Object + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Caption + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [ + + ] + + encountered + + in + + + , but no template matches. + + + + + + + + + + + + + [ + + ] + + encountered + + in + + + , but no template matches. + + + + + + + + + + + + encountered + + in + + + , but no template matches. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + WARNING: + + + diff --git a/doc/help/xslt/roundtrip/normalise-common.xsl b/doc/help/xslt/roundtrip/normalise-common.xsl new file mode 100644 index 00000000..83a16b37 --- /dev/null +++ b/doc/help/xslt/roundtrip/normalise-common.xsl @@ -0,0 +1,39 @@ + + + + + + + + + + + + caption + + + + + + + + + + + + diff --git a/doc/help/xslt/roundtrip/normalise2sections.xsl b/doc/help/xslt/roundtrip/normalise2sections.xsl new file mode 100644 index 00000000..51bd9f56 --- /dev/null +++ b/doc/help/xslt/roundtrip/normalise2sections.xsl @@ -0,0 +1,1270 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/roundtrip/pages2normalise.xsl b/doc/help/xslt/roundtrip/pages2normalise.xsl new file mode 100644 index 00000000..35250a0d --- /dev/null +++ b/doc/help/xslt/roundtrip/pages2normalise.xsl @@ -0,0 +1,351 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + bold + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + cannot determine number of rows in table + cannot determine number of rows in table + + + cannot determine number of columns in table + cannot determine number of columns in table + + + + + + + all + + + topbot + + + sides + + + top + + + bottom + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + WARNING: insufficient table cells + WARNING: insufficient table cells (num-rows , row ) + + + WARNING: excess table cells + WARNING: excess table cells (num-rows , row ) + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + element "" not handled + + + + + + + + + + + + + superscript + subscript + + + + + + diff --git a/doc/help/xslt/roundtrip/param.xml b/doc/help/xslt/roundtrip/param.xml new file mode 100644 index 00000000..ae148001 --- /dev/null +++ b/doc/help/xslt/roundtrip/param.xml @@ -0,0 +1,105 @@ + + + + Roundtrip Parameter Reference + + $Id: param.xweb 7042 2007-07-17 04:28:48Z xmldoc $ + + + + Ball + Steve + + + + 2007 + 2006 + 2005 + 2004 + Steve Ball + + + This is reference documentation for all user-configurable + parameters in the DocBook “Roundtrip” Stylesheets (for + transforming DocBook to WordML, OpenDocument, and Apple Pages, + and for converting from those formats back to DocBook). + + + + Parameters + + +wordml.template +uri + + +wordml.template +Specify the template WordML document + + + + +<xsl:param name="wordml.template"></xsl:param> + + + +Description + +The wordml.template parameter specifies a WordML document to use as a template for the generated document. The template document is used to define the (extensive) headers for the generated document, in particular the paragraph and character styles that are used to format the various elements. Any content in the template document is ignored. + +A template document is used in order to allow maintenance of the paragraph and character styles to be done using Word itself, rather than these XSL stylesheets. + + + + + + +pages.template +uri + + +pages.template +Specify the template Pages document + + + + +<xsl:param name="pages.template"></xsl:param> + + + +Description + +The pages.template parameter specifies a Pages (the Apple word processing application) document to use as a template for the generated document. The template document is used to define the (extensive) headers for the generated document, in particular the paragraph and character styles that are used to format the various elements. Any content in the template document is ignored. + +A template document is used in order to allow maintenance of the paragraph and character styles to be done using Pages itself, rather than these XSL stylesheets. + + + + + + + The Stylesheet + The param.xsl stylesheet is just a + wrapper around all of these parameters. + +<xsl:stylesheet exclude-result-prefixes="src" version="1.0"> + +<!-- This file is generated from param.xweb --> + +<!-- ******************************************************************** + $Id: param.xweb 7042 2007-07-17 04:28:48Z xmldoc $ + ******************************************************************** + + This file is part of the XSL DocBook Stylesheet distribution. + See ../README or http://docbook.sf.net/release/xsl/current/ for + copyright and other information. + + ******************************************************************** --> + +<src:fragref linkend="wordml.template.frag"></src:fragref> +<src:fragref linkend="pages.template.frag"></src:fragref> +</xsl:stylesheet> + + + diff --git a/doc/help/xslt/roundtrip/param.xsl b/doc/help/xslt/roundtrip/param.xsl new file mode 100644 index 00000000..6cd1b033 --- /dev/null +++ b/doc/help/xslt/roundtrip/param.xsl @@ -0,0 +1,18 @@ + + + + + + + + + + diff --git a/doc/help/xslt/roundtrip/sections-spec.xml b/doc/help/xslt/roundtrip/sections-spec.xml new file mode 100644 index 00000000..6c86d52a --- /dev/null +++ b/doc/help/xslt/roundtrip/sections-spec.xml @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/roundtrip/sections2blocks.xsl b/doc/help/xslt/roundtrip/sections2blocks.xsl new file mode 100644 index 00000000..d0fe069a --- /dev/null +++ b/doc/help/xslt/roundtrip/sections2blocks.xsl @@ -0,0 +1,263 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/roundtrip/specifications.xml b/doc/help/xslt/roundtrip/specifications.xml new file mode 100644 index 00000000..85db866e --- /dev/null +++ b/doc/help/xslt/roundtrip/specifications.xml @@ -0,0 +1,1420 @@ + +
    + + Round-Tripping Specifications + + Bob + Stayton + + Sagehill Enterprises + + + + Steve + Ball + + Explain + + + + + 1.8 + 2008-05-22 + SRB + Updated for current implementation. + + + 1.7 + 2008-02-22 + SRB + Added edition. + + + 1.6 + 2007-10-19 + SRB + Added keyword. + + + 1.5 + 2007-01-05 + SRB + Reduce emphasis on WordML, add support for OpenOffice. + + + 1.4 + 2005-11-11 + SRB + Added bibliography. + + + 1.3 + 2005-10-31 + SRB + Added mediaobjectco, imageobjectco, programlistingco, areaspec, area, calloutlist. + + + 1.2 + 2005-10-13 + SRB + Version prior to using revhistory. + + + + + This document specifies how DocBook elements are mapped to paragraph and character styles in a word processor. The specifications are used to write conversions between DocBook XML and word processor XML formats, such as Microsoft's WordProcessingML (WordML), OpenOffice's OpenDocument and Apple's Pages. + +
    + Introduction + Microsoft Word 2003 introduced WordProcessingML (WordML), an XML vocabulary for Word documents. Since then, other popular word processors have become available that use XML as their data representation, namely Apple's Pages and OpenOffice. By converting Word (or OpenOffice or Pages) to XML, it becomes possible to convert a word processing document to DocBook and vice versa using XSL transformations. Such conversions then enable the following. + + + DocBook content creators write in their familiar wordprocessing application, rather than learning a new XML editing application. + + + DocBook XML documents can be styled for output using the typesetting features of the word processor. + + + Word processors have a simple, flat data model; documents consist of paragraphs (and tables) and paragraphs contain text and character spans. All word processors allow styles to be associated with paragraphs and spans. + This specification describes how DocBook elements map to a set of paragraph and character styles. It defines a specific set of style names for which a Word style template can be created. The style names are also used in XSLT template match patterns for conversion. Although originally targetted to MS Word, the system has subsequently been extended to use other word processors, notably Apple's Pages and Open Office. +
    +
    + Project goals + The goal of this project is to enable a word processor, such as, but not limited to, Microsoft Word, to be used with DocBook files. The specific goals include: + + + Enable authoring of basic DocBook documents in the word processor. + + + Enable importing of basic DocBook XML documents into the word processor. + + + To meet these goals, the project provides a toolkit that can be immediately put to use. The kit includes: + + + Templates for Microsoft Word, Apple Pages and Open Office with formatting styles attached to the style names. + + + XSLT stylesheets that convert a word processing document that is authored with the corresponding template into a DocBook XML file. + + + XSLT stylesheets that convert a DocBook document into a word processing document that can be opened in a word processor. + + +
    + Why basic DocBook? + This project will never be able to support all DocBook elements and structure. Take, for example, the address element. This element can be used both as a block element for metadata. It can also be used as a phrase level element in a block parent, such as the affiliation element. To make matters worse, it can itself contain phrase level markup, such as personname. No word processor allows character styles to be nested. + The project will initially focus on a basic set of commonly used DocBook elements in order to create a useful editing environment that utilises a word processor with DocBook. + One problem facing this conversion project is the sheer number of DocBook elements, over 400 in DocBook 5.0. To support DocBook structural models, several of the elements require more than one paragraph or character style. This would lead to very long and unwieldy list of styles in the word processor interface. That would make authoring less efficient and discourage users. + Accordingly, this project assumes that authors who need the full set of DocBook elements and structures will use an XML authoring tool that better supports them. This project is focused on authors who wish to write basic DocBook documents using a word processor. Because Microsoft Word is so widespread, it is hoped that this project will help a lot of new DocBook users get started with familiar tools. They can then graduate to more advanced tools as their needs develop. +
    +
    +
    + Project Non-Goals + The following goals are not in the scope of this project: + + + Support of versions of Word that do not feature reading/writing WordML (XML). That is, all versions prior to Word 11 (Office 2003). + + + Support of arbitrarily defined styles. This system may expect certain styles to be defined in a particular fashion (in particular, those defining the title of components and divisions). + + +
    +
    + Mapping elements to styles + Although WordML, OpenDocument and DocBook are all XML, there several challenges when trying to convert between them. + The basic problem in mapping paragraph/character styles to DocBook elements is that word processor documents support far less structure than DocBook. DocBook permits nesting of elements within other elements, providing multiple levels of context for each element. + Word's only structural feature is the outlining mode. In Word outlining, certain paragraph styles are assigned outline levels. When a user applies those styles, they effectively create logical structure in the Word document. Unfortunately, Word itself attempts to automatically determine which paragraphs are headings, rendering this method is unreliable. + Instead of relying on Word's built-in outlining mode, this system uses only the names of paragraph styles to determine document structure. Certain heuristics are applied to build the DocBook element structure from the (relatively flat) word processing structure. Titles and other features are used to mark the beginning of a structure and all paragraphs following that are included in that structure until the beginning of the next structure is found. That is, the beginning of one structure marks the end of the previous structure. + Problems may arise when a structure should end, but there is no word processor feature that marks the endpoint. To mark the end of a feature an empty paragraph is used. + Nesting of block elements is another commonly used feature of DocBook. It is not possible to use Word's outline mode for blocks if it is being used for components and sections. So in this specification, nesting of block elements is indicated by adding a number suffix to a style. So a paragraph with style orderedlist2 is considered to be contained within a preceding paragraph with style orderedlist1 or itemizedlist1. Where appropriate in the word processor, paragraph indent levels are used to visually indicate nesting of blocks. + Nesting of inline DocBook elements is particularly difficult to support because word processors do not nest character styles. That means a nested inline would require a separate character style to indicate the parent-child relationship. Given the large number of combinations possible, a prohibitively large number of character styles would have to be created. In this project, nesting of character styles is not supported. Nested inlines being imported from DocBook will be converted to a sequence of single-name character styles, where possible, or rejected. + In many cases, DocBook structure can be derived from the flat sequence of paragraphs based on sibling relationships. For example, when a paragraph styled as para is followed by a paragraph styled as itemizedlist1, the conversion to DocBook will output a para element and then start an itemizedlist element, with the second paragraph as its first listitem. All itemizedlist1 paragraphs that follow without interruption are inserted into the same itemizedlist element. + Some combinations of elements cannot be supported (at least not with the techniques as described in this document). An example is informalexample and its permitted content; there is no title to mark the beginning of the element and no marker for the end of the element, also there are too many parent-child combinations to reasonably define style names. + The design principles used in this project for selecting paragraph/character style names are as follows: + + + Where Word (or OpenOffice or Pages), by default, has a style or feature that corresponds directly to a DocBook element then that style or feature will be used (and documented in this document). For example, the Normal paragraph style maps to a DocBook para element, and a Word table (w:tbl) maps to a DocBook tableIn some cases Word may posess a feature, but it doesn't function in an acceptable manner. For example, lists. In these cases the feature is to be avoided, and a workaround provided.. + + + Paragraph and character style names will match DocBook element names as much as possible. This will enable authors to learn DocBook element names and help debug problems with conversion. + + + A style may indicate a parent-child relationship, but the paragraph for such an element may only occur after a paragraph that denotes the beginning of the parent structure. In this case the element name is used as the style name. For example, a personblurb paragraph may only occur after an author, editor or othercontrib paragraph. If a paragraph occurs without the appropriate preceding paragraph, then an error is signalled. + + + Some styles may also indicate a parent-child relationship, but either the parent structure is ambiguous or the paragraph starts the parent structure. For example, chapter-title indicates that the paragraph is a title element whose DocBook parent is a chapter element. + + + Some style names are simplified to make them easier to use in the word processor. For example, a paragraph in an orderedlist requires three elements in DocBook: orderedlist, listitem, and para. The paragraph style name in Word is shortened from orderedlist-listitem-para to just orderedlist1 (for a first level list). In the case of lists (see below), the list level is appended, which is why this example becomes orderedlist1. + + + Style names with a number suffix indicate a nesting level, as described above. + + + Style names with continue indicate that the paragraph is part of the preceding element. For example, a para paragraph is used for a single paragraph para element. This causes any preceding list to be closed. If a list item in the preceding list is to contain more than one paragraph, then the subsequent paragraphs in the word processor documentmust use the para-continue style. + + + Character styles map to elements that are children of the element for the paragraph, hence there is no need to encode parent-child relationships. For example, a surname character style in an author paragraph becomes a surname child element of the author element. + + + Empty paragraph and character styles are ignored. This can be useful to end structures. + + + The first paragraph style in the word processor document is used to define the root element of the DocBook document. For example, if the document starts with book-title, then the DocBook document will have book element as its root element. All the rest of the document content will be contained in that root element. + + + Sequential structures are coalesced into a single parent element. For example, a sequence of itemizedlist1 paragraphs becomes a single itemizedlist element with several listitem element children. + + DocBook to Paragraph/Character Styles + + + + + + + + DocBook element + + + Style(s) + + + Comments + + + + + + + + Components and sections + + + + + + book/info/title + + + book-title + + + + + + + + book/info/subtitle + + + book-subtitle + + + + + + + + book/info/titleabbrev + + + book-titleabbrev + + + + + + + + chapter/info/title + + + chapter-title + + + Assigned Word outline level 1. + + + + + chapter/info/subtitle + + + chapter-subtitle + + + + + + + + chapter/info/titleabbrev + + + chapter-titleabbrev + + + + + + + + appendix/info/title + + + appendix-title + + + Assigned Word outline level 1. + + + + + preface/info/title + + + preface-title + + + Assigned Word outline level 1. + + + + + article/info/title + + + article-title + + + Assigned Word outline level 1. + + + + + article/info/subtitle + + + article-subtitle + + + + + + + + article/info/titleabbrev + + + article-titleabbrev + + + + + + + + bibliography/info/title + + + bibliography-title + + + Assigned Word outline level 1. + + + + + bibliography/bibliodiv/info/title + + + bibliodiv-title + + + + + + + + biblioentry/title + + + biblioentry-title + + + Metadata elements after the biblioentry-title paragraph become part of the biblioentry. + + + + + glossary/info/title + + + glossary-title + + + Assigned Word outline level 1. + + + + + index/info/title + + + index-title + + + Assigned Word outline level 1. + + + + + part/info/title + + + part-title + + + + + + + + section + + + + + + Unnumbered section elements are translated into their equivalent numbered paragraph style. Sections 6 levels and deeper are reported as an error. + + + + + sect1/info/title + + + sect1-title + + + Assigned Word outline level 2. + + + + + sect1/info/subtitle + + + sect1-subtitle + + + + + + + + sect2/info/title + + + sect2-title + + + Assigned Word outline level 3. + + + + + sect2/info/subtitle + + + sect2-subtitle + + + + + + + + sect3/info/title + + + sect3-title + + + Assigned Word outline level 4. + + + + + sect3/info/subtitle + + + sect3-subtitle + + + + + + + + sect4/info/title + + + sect4-title + + + Assigned Word outline level 5. + + + + + sect4/info/subtitle + + + sect4-subtitle + + + + + + + + sect5/info/title + + + sect5-title + + + Assigned Word outline level 6. + + + + + sect5/info/subtitle + + + sect5-subtitle + + + + + + + + simplesect/info/title + + + simplesect-title + + + + + + + + simplesect/info/subtitle + + + simplesect-subtitle + + + + + + + + bridgehead + + + bridgehead + + + + + + + + + Metadata elements + + + + + + abstract/title + + + abstract-title + + . + + + + abstract/para + + + abstract + + + + + + + + affiliation + + + affiliation + + + + + + + + address + + + address + + + + + + + + author + + + author + + + + + + + + date + + + date + + + + + + + + edition + + + edition + + + + + + + + legalnotice + + + legalnotice + + + + + + + + pubdate + + + pubdate + + + + + + + + publisher/pubishername + + + publisher + + + + + + + + publisher/address + + + publisher-address + + + + + + + + revhistory/revision + + + revision + + + + + + + + + Block-level elements + + + + + + para + + + para, Normal + + + Any Word paragraph with style Normal will also be converted to a para element. + + + + + formalpara/title + + + formalpara-title + + + + + + + + formalpara/para + + + formalpara + + + + + + + + simpara + + + simpara + + + + + + + + note/title + + + note-title + + + + + + + + note/para + + + note + + + Consecutive paragraphs with style note after the first note are to be treated as part of the same note element. That is, consecutive notes are coalesced. The note may or may not have a title. + + + + + caution/title + + + caution-title + + + + + + + + caution/para + + + caution + + + Consecutive cautions are coalesced. + + + + + warning/title + + + warning-title + + + + + + + + warning/para + + + warning + + + Consecutive warnings are coalesced. + + + + + important/title + + + important-title + + + + + + + + important/para + + + important + + + Consecutive importants are coalesced. + + + + + tip/title + + + tip-title + + + + + + + + tip/para + + + tip + + + Consecutive tips are coalesced. + + + + + itemizedlist/listitem/para + + + + itemizedlist1 +itemizedlist2 +itemizedlist3 +itemizedlist4 + + + + A number suffix indicates a nesting level within other lists. + + + + + orderedlist/listitem/para + + + + orderedlist1 +orderedlist2 +orderedlist3 +orderedlist4 + + + + + + + + + listitem/para[position() != 1] + + + para-continue + + + This paragraph is included in the immediately preceding listitem. + + + + + example/title + + + example-title + + + All content following the title is included in the example element. The end of the example content is marked by a caption paragraph or an empty paragraph if there is no caption. + + + + + figure/title + + + figure-title + + + All content following the title is included in the figure element. Metadata must immediately follow the title. The end of the figure content is marked by a caption paragraph or an empty paragraph if there is no caption. + + + + + informalfigure/mediaobject/imageobject/imagedata/@fileref + + + informalfigure-imagedata, caption + + + The content of the imageobject-imagedata paragraph is taken as the URI for the image. Metadata may immediately follow the paragraph. + + + + + mediaobject/imageobject/imagedata/@fileref + + + imageobject-imagedata, caption + + + The content of the imageobject-imagedata paragraph is taken as the URI for the image. May be followed by a caption style paragraph. Metadata may immediately follow the paragraph, before the caption, if any. + + + + + table + + + Word table, caption + + + + + + + + table/title + + + table-title, caption + + + Metadata may immediately follow the paragraph. + + + + + informaltable + + + Word table + + + A table with no title imediately preceding it. + + + + + caption + + + caption + + + + + + + + literallayout + + + literallayout + + + Inside a literallayout paragraph in Word, lines should be separated by line break (Shift-Enter) rather than paragraph break (Enter). + + + + + programlisting + + + programlisting + + + Inside a programlisting paragraph in Word, lines should be separated by line break (Shift-Enter) rather than paragraph break (Enter). Tabs are not supported. + + + + + blockquote/title + + + blockquote-title + + + Must immediately precede a blockquote paragraph in Word. + + + + + blockquote/para + + + blockquote + + + + + + + + blockquote/attribution + + + blockquote-attribution + + + Must immediately follow a blockquote paragraph in Word. + + + + + bibliomisc + + + bibliomisc + + + + + + + + + Non-DocBook elements + + + + + + xi:include + + + xinclude + + + The content of the paragraph becomes the value of the href attribute. + + + + + + Inline elements + + + + + + emphasis + + + emphasis + + + + + + + + emphasis/@role="bold" + + + emphasis-bold + + + + + + + + emphasis/@role="underline" + + + emphasis-underline + + + + + + + + footnote + + + Word footnote + + + + + + + + link + + + link + + + In Word, hyperlink properties identify the DocBook linkend. + + + + + releaseinfo + + + releaseinfo + + + + + + + + surname + + + surname + + + Character style. Must occur in an appropriate parent paragraph, such as author or editor. + + + + + firstname + + + firstname + + + Character style. Must occur in an appropriate parent paragraph, such as author or editor. + + + + + orgname + + + orgname + + + + + + + + keyword + + + keywordset/keyword + + + Paragraph style. Consecutive keyword elements are merged into a single keywordset parent element. Words (phrases) within a paragraph separated by commas become individual keyword elements. + + + + + citetitle + + + citetitle + + + + + + + + city + + + city + + + + + + + + contrib + + + contrib + + + + + + + + country + + + country + + + + + + + + email + + + email + + + + + + + + fax + + + fax + + + + + + + + honorific + + + honorific + + + + + + + + jobtitle + + + jobtitle + + + + + + + + lineage + + + lineage + + + + + + + + orgdiv + + + orgdiv + + + + + + + + otheraddr + + + otheraddr + + + + + + + + othername + + + othername + + + + + + + + phone + + + phone + + + + + + + + pob + + + pob + + + + + + + + postcode + + + postcode + + + + + + + + shortaffil + + + shortaffil + + + + + + + + state + + + state + + + + + + + +
    + + Proposed Additions - not yet implemented + + + + + + + + DocBook element + + + Style(s) + + + Comments + + + + + + + variablelist/varlistentry/term + + + + variablelist1-term +variablelist2-term +variablelist3-term +variablelist4-term + + + + A variablelist in Word should be a sequence of alternating paragraphs styled as variablelistN-term and variablelistN. + + + + + variablelist/varlistentry/listitem/para + + + + variablelist1 +variablelist2 +variablelist3 +variablelist4 + + + + Consecutive paragraphs are coalesced. + + + + +
    +
    + Attributes + Attributes are a feature of DocBook XML that have no direct counterpart in Word. + XML attributes are encoded in Word comments (annotations). Some dummy text (just a space, using a character style that includes the hidden property) anchors the comment. Within the comment text, character types are used to indicate attribute names and values (these must be paired). This approach keeps the attributes separate to the main body and allows multiple attributes to be encoded. + A disadvantage to this approach is that a paragraph may be related to more than one element, but the attributes are associated with only one element (by default the parent). For example, a section may have an attribute as well as the title child element, but only a single paragraph (with paragraph style sect1-title) represents both elements. Any attribute defined in a comment would be associated with the sect1 element. + Pages does not have annotations, so the character styles attribute-name and attribute-value are used. +
    +
    +
    diff --git a/doc/help/xslt/roundtrip/template-pages.xml b/doc/help/xslt/roundtrip/template-pages.xml new file mode 100644 index 00000000..cc6fc037 --- /dev/null +++ b/doc/help/xslt/roundtrip/template-pages.xml @@ -0,0 +1,2 @@ + +Lorem ipsum dolor sit ametConsectetur adipiscing elitEset eiusmod tempor incidunt et labore et dolore magna aliquam. Ut enim ad minim veniam, quis nostrud exerc. Irure dolor in reprehend incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse molestaie cillum. Tia non ob ea soluad incommod quae egen ium improb fugiend. Officia deserunt mollit anim id est laborum Et harumd dereud facilis est er expedit distinct. Nam liber te conscient to factor tum poen legum odioque civiuda et tam. Neque pecun modut est neque nonor et imper ned libidig met, consectetur adipiscing elit, sed ut labore et dolore magna aliquam is nostrud exercitation ullam mmodo consequet.Duis aute in voluptate velit esseCillum dolore eu fugiat nulla pariatur. At vver eos et accusam dignissum qui blandit est praesent. Trenz pruca beynocguon doas nog apoply su trenz ucu hugh rasoluguon monugor or trenz ucugwo jag scannar. Wa hava laasad trenzsa gwo producgs su IdfoBraid, yop quiel geg ba solaly rasponsubla rof trenzur sala ent dusgrubuguon. Offoctivo immoriatoly, hawrgasi pwicos asi sirucor. Thas sirutciun applios tyu thuso itoms ghuso pwicos gosi sirucor in mixent gosi sirucor ic mixent ples cak ontisi sowios uf Zerm hawr rwivos. Unte af phen neige pheings atoot Prexs eis phat eit sakem eit vory gast te Plok peish ba useing phen roxas. Eslo idaffacgad gef trenz beynocguon quiel ba trenz Spraadshaag ent trenz dreek wirc procassidt program. Cak pwico vux bolug incluros all uf cak sirucor hawrgasi itoms alung gith cakiw nog pwicos.Plloaso mako nuto uf cakso dodtosKoop a cupy uf cak vux noaw yerw phuno. Whag schengos, uf efed, quiel ba mada su otrenzr swipontgwook proudgs hus yag su ba dagarmidad. Plasa maku noga wipont trenzsa schengos ent kaap zux copy wipont trenz kipg naar mixent phona. Cak pwico siructiun ruos nust apoply tyu cak UCU sisulutiun munityuw uw cak UCU-TGU jot scannow. Trens roxas eis ti Plokeing quert loppe eis yop prexs. Piy opher hawers, eit yaggles orn ti sumbloat alohe plok. Su havo loasor cakso tgu pwuructs tyu InfuBwain, ghu gill nug bo suloly sispunsiblo fuw cakiw salo anr ristwibutiun. Hei muk neme eis loppe. Treas em wankeing ont sime ploked peish rof phen sumbloat syug si phat phey gavet peish ta paat ein pheeir sumbloats. Aslu unaffoctor gef cak siructiun gill bo cak spiarshoot anet cak GurGanglo gur pwucossing pwutwam. Ghat dodtos, ig pany, gill bo maro tyu ucakw suftgasi pwuructs hod yot tyubo rotowminor. Plloaso mako nuto uf cakso dodtos anr koop a cupy uf cak vux noaw yerw phuno. Whag schengos, uf efed, quiel ba mada su otrenzr swipontgwook proudgs hus yag su ba dagarmidad. Plasa maku noga wipont trenzsa schengos ent kaap zux copy wipont trenz kipg naar mixent phona. Cak pwico siructiun ruos nust apoply tyu cak UCU sisulutiun munityuw uw cak UCU-TGU jot scannow. Trens roxas eis ti Plokeing quert loppe eis yop prexs. Piy opher hawers, eit yaggles orn ti sumbloat alohe plok. Su havo loasor cakso tgu pwuructs tyu.Document TemplateInsert content here. diff --git a/doc/help/xslt/roundtrip/template.dot b/doc/help/xslt/roundtrip/template.dot new file mode 100644 index 0000000000000000000000000000000000000000..b26ec5682c4a8c5ea9c427983a1759bcf5c49481 GIT binary patch literal 38912 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 + +This document left intentionally blankSteve BallSteve Ball15104702007-08-21T22:03:00Z2008-10-08T23:57:00Z1745Explain115111.0000Generic DocBook roundtrip template - 2008-10-09-01. \ No newline at end of file diff --git a/doc/help/xslt/roundtrip/wordml2normalise.xsl b/doc/help/xslt/roundtrip/wordml2normalise.xsl new file mode 100644 index 00000000..ad22b194 --- /dev/null +++ b/doc/help/xslt/roundtrip/wordml2normalise.xsl @@ -0,0 +1,445 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + bold-italic + + + bold + + + italic + + + underline + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image + + .jpg + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + 0 + 1 + 0 + + + + + 1 + 0 + 1 + 0 + + + + + 1 + 0 + 1 + 0 + + + + + 1 + 0 + 1 + 0 + + + + + + + all + + + topbot + + + sides + + + top + + + bottom + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + 1 + + + + + + + column- + + + + column- + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + 0 + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/slides/browser/CTOCWidget.js b/doc/help/xslt/slides/browser/CTOCWidget.js new file mode 100644 index 00000000..a411ea99 --- /dev/null +++ b/doc/help/xslt/slides/browser/CTOCWidget.js @@ -0,0 +1,169 @@ +/* + * CTOCWidget.js + * $Revision: 1.3 $ $Date: 2003/07/14 06:02:50 $ + */ + +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Netscape code. + * + * The Initial Developer of the Original Code is + * Netscape Corporation. + * Portions created by the Initial Developer are Copyright (C) 2003 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): Bob Clary + * + * ***** END LICENSE BLOCK ***** */ + +function CTOCWidget(domTOCModel, target) +{ + if (domTOCModel.documentElement.nodeName != 'toc') + { + throw 'CTOCWidget called on non toc Document: ' + domTOCModel.nodeName; + } + + this.model = domTOCModel; + this.target = target; + this.view = document.createElement('div'); + this.view.setAttribute('class', CTOCWidget._classprefix + '_view'); + + var modelItems = domTOCModel.documentElement.childNodes; + for (var i = 0; i < modelItems.length; i++) + { + var modelItem = modelItems.item(i); + if (modelItem.nodeType == Node.ELEMENT_NODE) + { + var viewItem = CTOCWidget.createItemView(modelItem, target); + this.view.appendChild(viewItem); + } + } +} + +CTOCWidget._handleImages = { open: '/toolbox/examples/2003/CTOCWidget/minus.gif', closed: '/toolbox/examples/2003/CTOCWidget/plus.gif', height: '12px', width: '16px'}; +CTOCWidget._classprefix = 'CTOCWidget'; + +CTOCWidget.createItemView = function (modelItem, target) +{ + if (modelItem.nodeType != Node.ELEMENT_NODE) + { + throw 'CTOCWidget.createItemView called on non-Element: ' + modelItem.nodeName; + } + + var i; + + var viewItem = document.createElement('div'); + viewItem.setAttribute('class', CTOCWidget._classprefix + '_item'); + + var viewItemHandle = document.createElement('div'); + viewItemHandle.setAttribute('class', CTOCWidget._classprefix + '_itemhandle'); + viewItemHandle.style.cursor = 'pointer'; + + var viewItemHandleImg = document.createElement('img'); + viewItemHandleImg.style.height = CTOCWidget._handleImages.height; + viewItemHandleImg.style.width = CTOCWidget._handleImages.width; + viewItemHandleImg.addEventListener('click', CTOCWidget.toggleHandle, false); + + var viewItemHandleLink; + if (!modelItem.getAttribute('url')) + { + viewItemHandleLink = document.createElement('span'); + } + else + { + viewItemHandleLink = document.createElement('a'); + viewItemHandleLink.setAttribute('href', modelItem.getAttribute('url')); + viewItemHandleLink.setAttribute('target', target); + } + viewItemHandleLink.appendChild(document.createTextNode(modelItem.getAttribute('title'))); + + viewItemHandle.appendChild(viewItemHandleImg); + viewItemHandle.appendChild(viewItemHandleLink); + viewItem.appendChild(viewItemHandle); + + if (modelItem.childNodes.length == 0) + { + viewItemHandleImg.setAttribute('src', CTOCWidget._handleImages.open); + } + else + { + viewItemHandleImg.setAttribute('src', CTOCWidget._handleImages.closed); + + var viewItemChildren = document.createElement('div'); + viewItemChildren.setAttribute('class', CTOCWidget._classprefix + '_itemchildren'); + viewItemChildren.style.display = 'none'; + viewItemChildren.style.position = 'relative'; + viewItemChildren.style.left = '1em'; + + for (i = 0; i < modelItem.childNodes.length; i++) + { + var modelItemChild = modelItem.childNodes.item(i); + if (modelItemChild.nodeType == Node.ELEMENT_NODE) + { + viewItemChildren.appendChild(CTOCWidget.createItemView(modelItemChild, target)); + } + } + + viewItem.appendChild(viewItemChildren); + } + + return viewItem; +}; + +// fires on img part of the handle +CTOCWidget.toggleHandle = function(e) +{ + switch (e.eventPhase) + { + case Event.CAPTURING_PHASE: + case Event.BUBBLING_PHASE: + return true; + + case Event.AT_TARGET: + + e.preventBubble(); + + var domHandle = e.target.parentNode; + var domChildren = domHandle.nextSibling; + + if (!domChildren) + { + return true; + } + + switch(domChildren.style.display) + { + case '': + case 'block': + domChildren.style.display = 'none'; + e.target.setAttribute('src', CTOCWidget._handleImages.closed); + break; + case 'none': + domChildren.style.display = 'block'; + e.target.setAttribute('src', CTOCWidget._handleImages.open); + break; + default: + return false; + } + + return true; + + default: + dump('Unknown Event Phase ' + e.eventPhase); + break; + } + + return true; +} + diff --git a/doc/help/xslt/slides/browser/overlay.js b/doc/help/xslt/slides/browser/overlay.js new file mode 100644 index 00000000..fc010fbe --- /dev/null +++ b/doc/help/xslt/slides/browser/overlay.js @@ -0,0 +1,142 @@ +// -*- Java -*- +// +// Overlay.js, adapted from Floating image II on dynamicdrive.com +/* Usage: + + + +...rest of head... + + +
    +...body of overlay... +
    +...rest of page... +*/ + +var overlayNS4 = document.layers ? 1 : 0; +var overlayIE = document.all ? 1 : 0; +var overlayNS6 = document.getElementById && !document.all ? 1 : 0; + +var overlayPadX = 15; +var overlayPadY = 15; +var overlayDelay = 60; + +var overlayCorner = 'ur'; // ul, ll, ur, lr, uc, lc, cl, cr + +function overlayRefresh() { + var overlayLx = 0; + var overlayLy = 0; + + var overlayX = 0; + var overlayY = 0; + var overlayW = 0; + var overlayH = 0; + var contentH = 0; + + var links = document.getElementsByTagName("body")[0]; + + if (overlayIE) { + overlayLx = document.body.clientWidth; + overlayLy = document.body.clientHeight; + + if (document.body.parentElement) { + // For IE6 + overlayLx = document.body.parentElement.clientWidth; + overlayLy = document.body.parentElement.clientHeight; + } + + overlayH = overlayDiv.offsetHeight; + overlayW = body.offsetWidth; // overlayDiv.offsetWidth; + contentH = body.offsetHeight; + } else if (overlayNS4) { + overlayLy = window.innerHeight; + overlayLx = window.innerWidth; + overlayH = document.overlayDiv.clip.height; + overlayW = body.clip.width; // document.overlayDiv.clip.width; + contentH = body.clip.height; + } else if (overlayNS6) { + var odiv = document.getElementById('overlayDiv'); + + overlayLy = window.innerHeight; + overlayLx = window.innerWidth; + overlayH = odiv.offsetHeight; + overlayW = odiv.offsetWidth; // body.offsetWidth; + contentH = odiv.offsetHeight; + } + + if (overlayCorner == 'ul') { + overlayX = overlayPadX; + overlayY = overlayPadY; + } else if (overlayCorner == 'cl') { + overlayX = overlayPadX; + overlayY = (overlayLy - overlayH) / 2; + } else if (overlayCorner == 'll') { + overlayX = overlayPadX; + overlayY = (overlayLy - overlayH) - overlayPadY; + } else if (overlayCorner == 'ur') { + overlayX = (overlayLx - overlayW) - overlayPadX; + overlayY = overlayPadY; + } else if (overlayCorner == 'cr') { + overlayX = (overlayLx - overlayW) - overlayPadX; + overlayY = (overlayLy - overlayH) / 2; + } else if (overlayCorner == 'lr') { + overlayX = (overlayLx - overlayW) - overlayPadX; + overlayY = (overlayLy - overlayH) - overlayPadY; + } else if (overlayCorner == 'uc') { + overlayX = (overlayLx - overlayW) / 2; + overlayY = overlayPadY; + } else { // overlayCorner == 'lc' + overlayX = (overlayLx - overlayW) / 2; + overlayY = (overlayLy - overlayH) - overlayPadY; + } + + if (overlayIE) { + overlayDiv.style.left=overlayX; + overlayDiv.style.top=overlayY+document.body.scrollTop; + + if (contentH > overlayLy) { + overlayDiv.style.visibility = "hidden"; + } + } else if (overlayNS4) { + document.overlayDiv.pageX=overlayX; + document.overlayDiv.pageY=overlayY+window.pageYOffset; + document.overlayDiv.visibility="visible"; + + if (contentH > overlayLy) { + document.overlayDiv.style.visibility = "hidden"; + } + } else if (overlayNS6) { + var div = document.getElementById("overlayDiv"); + var leftpx = overlayX; + var toppx = overlayY+window.pageYOffset; + var widthpx = overlayW; + + div.style.left = leftpx + "px"; + div.style.top = toppx + "px"; + div.style.width = widthpx + "px"; + + if (contentH > overlayLy) { + div.style.visibility = "hidden"; + } else { + div.style.visibility = "visible"; + } + } +} + +function onad() { + loopfunc(); +} + +function loopfunc() { + overlayRefresh(); + setTimeout('loopfunc()',overlayDelay); +} + +function overlaySetup(corner) { + overlayCorner = corner; + + if (overlayIE || overlayNS4 || overlayNS6) { + onad(); + } +} diff --git a/doc/help/xslt/slides/browser/slides-default.css b/doc/help/xslt/slides/browser/slides-default.css new file mode 100644 index 00000000..1022d6bc --- /dev/null +++ b/doc/help/xslt/slides/browser/slides-default.css @@ -0,0 +1,9 @@ +@import url('slides.css'); + +.toclink { font-size: 10pt; + font-weight: normal; + } + +.toclink a { color: blue; } +.toclink a:link { color: blue; } +.toclink a:visited { color: blue; } diff --git a/doc/help/xslt/slides/browser/slides-frames.css b/doc/help/xslt/slides/browser/slides-frames.css new file mode 100644 index 00000000..698b6a3e --- /dev/null +++ b/doc/help/xslt/slides/browser/slides-frames.css @@ -0,0 +1,73 @@ +@import url('slides.css'); + +.toc-body { margin-left: 2px; + margin-right: 2px; + } + +.foil-body { margin-left: 2px; + margin-right: 2px; + } + +h1.title { margin-top: 0px; + padding-top: 0px; + } + +.navhead { visibility: visible; + } + +.navfoot { visibility: visible; + } + +/* ====================================================================== */ + +.navfoot { border-top: 1px solid black; + margin-top: 10px; + padding-top: 4px; + } +/* ====================================================================== */ + +.toc { font-weight: bold; + font-size: 10pt; + } + +.toc a { text-decoration: none; } +.toc a:link { color: blue; } +.toc a:visited { color: blue; } + +.toc .toc-foilgroup a { color: red; } +.toc .toc-foilgroup a:link { color: red; } +.toc .toc-foilgroup a:visited { color: red; } + +.toc .toc-titlefoil a { color: black; } +.toc .toc-titlefoil a:link { color: black; } +.toc .toc-titlefoil a:visited { color: black; } + +.toc .toc-foil a { color: blue; } +.toc .toc-foil a:link { color: blue; } +.toc .toc-foil a:visited { color: blue; } + +.toc-slidesinfo { font-family: sans-serif; + font-weight: bold; + text-align: center; + } + +.toc-titlefoil { font-family: sans-serif; + font-weight: bold; + text-align: center; + } + +.toc-foilgroup { font-family: sans-serif; + margin-left: 0.25in; + text-indent: -0.25in; + font-weight: bold; + color: red; + } + +.toc-foil { font-family: sans-serif; + font-size: 10pt; + margin-left: 0.25in; + text-indent: -0.4in; + font-weight: bold; + color: blue; + } + diff --git a/doc/help/xslt/slides/browser/slides-plain.css b/doc/help/xslt/slides/browser/slides-plain.css new file mode 100644 index 00000000..c22f2891 --- /dev/null +++ b/doc/help/xslt/slides/browser/slides-plain.css @@ -0,0 +1 @@ +@import url('slides.css'); diff --git a/doc/help/xslt/slides/browser/slides-table.css b/doc/help/xslt/slides/browser/slides-table.css new file mode 100644 index 00000000..1c195c9e --- /dev/null +++ b/doc/help/xslt/slides/browser/slides-table.css @@ -0,0 +1,41 @@ +@import url('slides.css'); + +.toc-body { margin-left: 2px; + margin-right: 2px; + } + +.foil-body { margin-left: 2px; + margin-right: 2px; + } + +.foilgroup-body { margin-left: 2px; + margin-right: 2px; + } + +h1.title { + margin-top: 0px; + padding-top: 0px; + } + +/* ToC Stuff */ + +.ttoc { + font-size: 10pt; + color: white; + } + +.ttoc a { text-decoration: none; } +.ttoc a:link { color: white } +.ttoc a:visited { color: white } + +.ttoc-title { + font-size: 10pt; + } + +.ttoc-foilset { + font-size: 10pt; + } + +.ttoc-foil { + font-size: 10pt; + } diff --git a/doc/help/xslt/slides/browser/slides-w3c.css b/doc/help/xslt/slides/browser/slides-w3c.css new file mode 100644 index 00000000..c22f2891 --- /dev/null +++ b/doc/help/xslt/slides/browser/slides-w3c.css @@ -0,0 +1 @@ +@import url('slides.css'); diff --git a/doc/help/xslt/slides/browser/slides.css b/doc/help/xslt/slides/browser/slides.css new file mode 100644 index 00000000..1007478e --- /dev/null +++ b/doc/help/xslt/slides/browser/slides.css @@ -0,0 +1,119 @@ +/* General formatting */ + +body { font-family: sans-serif; + font-weight: bold; + } + +.copyright { color: #7F7F7F; + } + +/* Title page formatting */ + + +.slidesinfo { text-align: center; + font-size: 16pt; + } + +.slidesinfo h1.title { color: blue; + } +.slidesinfo h2.subtitle { color: blue; + } +.slidesinfo h1.author { color: green; + } + +.slidesinfo .copyright { color: black; + } + + +/* ToC page formatting */ + +.tocpage h1.title { color: blue; + text-align: center; + } + +.tocpage a { text-decoration: none; } +.tocpage a:link { color: blue; } +.tocpage a:visited { color: blue; } + +.toc-body { margin-left: 0.5in; + margin-right: 0.5in; + } + +/* Foil page formatting */ + +.foil { font-size: 16pt; + } +.foil h1.title { text-align: center; + color: blue; + padding-top: 0pt; + margin-top: 0pt; + } +.foil h2.subtitle { text-align: center; + color: blue; + padding-top: 0pt; + margin-top: 0pt; + } + +.foil pre { font-size: 16pt; + } + +.foil-body { margin-left: 0.5in; + margin-right: 0.5in; + } + +/* Foilgroup page formatting */ + +.foilgroup { font-size: 16pt; + } +.foilgroup h1.title { text-align: center; + color: red; + padding-top: 0pt; + margin-top: 0pt; + } +.foilgroup h2.subtitle { text-align: center; + color: blue; + padding-top: 0pt; + margin-top: 0pt; + } + +.foilgroup-body { margin-left: 0.5in; + margin-right: 0.5in; + } + +/* Navigation header formatting */ + +.navhead { border-bottom: 1px solid black; + margin-bottom: 10px; + padding-bottom: 4px; + } + +.navhead hr.top-nav-sep { display: none; } + +.navhead .slidestitle { font-weight: normal; + font-size: 10pt; + font-style: italic; + } + +/* Navigation footer formatting */ + +.navfoot { border-top: 1px solid black; + margin-top: 10px; + padding-top: 4px; + } + +.navfoot hr.bottom-nav-sep { display: none; } + +/* General navigation formatting */ + +.link-text { font-weight: bold; + font-size: 10pt; + } + + +.link-text a { text-decoration: none; } +.link-text a:link { color: blue; } +.link-text a:visited { color: blue; } + +.no-link-text { color: #7F7F7F; } + +/* EOF */ diff --git a/doc/help/xslt/slides/browser/slides.js b/doc/help/xslt/slides/browser/slides.js new file mode 100644 index 00000000..2e48a7ca --- /dev/null +++ b/doc/help/xslt/slides/browser/slides.js @@ -0,0 +1,120 @@ +// -*- Java -*- +// +// $Id: slides.js 4931 2005-06-21 15:45:53Z kosek $ +// +// Copyright (C) 2002 Norman Walsh +// +// You are free to use, modify and distribute this software without limitation. +// This software is provided "AS IS," without a warranty of any kind. +// +// This script assumes that the Netscape 'ua.js' module has also been loaded. + +function newPage(filename, overlay) { + divs = document.getElementsByTagName("div"); + + if (divs) { + var xdiv = divs[0]; + + if (xdiv) { + var xid = xdiv.getAttribute("id"); + + var mytoc = window.top.frames[0]; + if (mytoc.lastUnderlined) { + mytoc.lastUnderlined.style.textDecoration = "none"; + } + + var tdiv = xbGetElementById(xid, mytoc); + + if (tdiv) { + var ta = tdiv.getElementsByTagName("a").item(0); + ta.style.textDecoration = "underline"; + mytoc.lastUnderlined = ta; + } + } + } + + if (overlay != 0) { + overlaySetup('lc'); + } +} + + +function navigate (evt) { + var kc = -1; + + if (navigator.org == 'microsoft' || navigator.family == 'opera') { + kc = window.event.keyCode; + } else if (navigator.family == 'gecko') { + kc = evt.keyCode; + if(!kc) { + kc = evt.which; + } + } else { + kc = evt.which; + } + + var forward = (kc == 110) || (kc == 78) || (kc == 32) + || (kc == 10) || (kc == 13) || (kc == 34) + || (kc == 39); + /* n, N, SPACE, ENTER, RETURN, PAGE UP, RIGHT ARROW */ + var backward = (kc == 112) || (kc == 80) || (kc == 8) + || (kc == 33) || (kc == 37); + /* p, P, BACKSPACE, PAGE DOWN, LEFT ARROW */ + var up = (kc == 117) || (kc == 85) || (kc == 38); + /* u, U, UP ARROW */ + var home = (kc == 104) || (kc == 72) || (kc == 36); + /* h, H, HOME */ + var toc = (kc == 116) || (kc == 84); + /* t, T */ + /* previously included META (kc == 244) */ + + var links = document.getElementsByTagName("link"); + + var count = 0; + var target = ""; + + for (count = 0; count < links.length; count++) { + if (home && (links[count].getAttribute("rel") == 'top')) { + target = links[count].getAttribute("href"); + } + if (toc && (links[count].getAttribute("rel") == 'contents')) { + target = links[count].getAttribute("href"); + } + if (up && (links[count].getAttribute("rel") == 'up')) { + target = links[count].getAttribute("href"); + } + if (forward && (links[count].getAttribute("rel") == 'next')) { + target = links[count].getAttribute("href"); + } + if (backward && (links[count].getAttribute("rel") == 'previous')) { + target = links[count].getAttribute("href"); + } + } + + if (target != "") { + if (window.top.frames[1]) { + window.top.frames[1].location = target; + } else { + window.location = target; + } + } + + return false; +} + +function toggletoc (img, width, hidegraphic, showgraphic) { + var fsc = top.GetElementsByTagName('frameset'); + if (fsc) { + var fs = fsc[0]; + if (fs) { + if (fs.cols == "0,*") { + fs.cols = width + ",*"; + img.src = hidegraphic; + } else { + fs.cols = "0,*"; + img.src = showgraphic; + } + } + } +} + diff --git a/doc/help/xslt/slides/browser/ua.js b/doc/help/xslt/slides/browser/ua.js new file mode 100644 index 00000000..89876598 --- /dev/null +++ b/doc/help/xslt/slides/browser/ua.js @@ -0,0 +1,135 @@ +/* + * ua.js + * $Revision: 1.2 $ $Date: 2003/02/07 16:04:17 $ + */ + +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Netscape code. + * + * The Initial Developer of the Original Code is + * Netscape Corporation. + * Portions created by the Initial Developer are Copyright (C) 2001 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): Bob Clary + * + * ***** END LICENSE BLOCK ***** */ + +function xbDetectBrowser() +{ + var oldOnError = window.onerror; + var element = null; + + window.onerror = null; + + // work around bug in xpcdom Mozilla 0.9.1 + window.saveNavigator = window.navigator; + + navigator.OS = ''; + navigator.version = parseFloat(navigator.appVersion); + navigator.org = ''; + navigator.family = ''; + + var platform; + if (typeof(window.navigator.platform) != 'undefined') + { + platform = window.navigator.platform.toLowerCase(); + if (platform.indexOf('win') != -1) + navigator.OS = 'win'; + else if (platform.indexOf('mac') != -1) + navigator.OS = 'mac'; + else if (platform.indexOf('unix') != -1 || platform.indexOf('linux') != -1 || platform.indexOf('sun') != -1) + navigator.OS = 'nix'; + } + + var i = 0; + var ua = window.navigator.userAgent.toLowerCase(); + + if (ua.indexOf('opera') != -1) + { + i = ua.indexOf('opera'); + navigator.family = 'opera'; + navigator.org = 'opera'; + navigator.version = parseFloat('0' + ua.substr(i+6), 10); + } + else if ((i = ua.indexOf('msie')) != -1) + { + navigator.org = 'microsoft'; + navigator.version = parseFloat('0' + ua.substr(i+5), 10); + + if (navigator.version < 4) + navigator.family = 'ie3'; + else + navigator.family = 'ie4' + } + else if (ua.indexOf('gecko') != -1) + { + navigator.family = 'gecko'; + var rvStart = ua.indexOf('rv:'); + var rvEnd = ua.indexOf(')', rvStart); + var rv = ua.substring(rvStart+3, rvEnd); + var rvParts = rv.split('.'); + var rvValue = 0; + var exp = 1; + + for (var i = 0; i < rvParts.length; i++) + { + var val = parseInt(rvParts[i]); + rvValue += val / exp; + exp *= 100; + } + navigator.version = rvValue; + + if (ua.indexOf('netscape') != -1) + navigator.org = 'netscape'; + else if (ua.indexOf('compuserve') != -1) + navigator.org = 'compuserve'; + else + navigator.org = 'mozilla'; + } + else if ((ua.indexOf('mozilla') !=-1) && (ua.indexOf('spoofer')==-1) && (ua.indexOf('compatible') == -1) && (ua.indexOf('opera')==-1)&& (ua.indexOf('webtv')==-1) && (ua.indexOf('hotjava')==-1)) + { + var is_major = parseFloat(navigator.appVersion); + + if (is_major < 4) + navigator.version = is_major; + else + { + i = ua.lastIndexOf('/') + navigator.version = parseFloat('0' + ua.substr(i+1), 10); + } + navigator.org = 'netscape'; + navigator.family = 'nn' + parseInt(navigator.appVersion); + } + else if ((i = ua.indexOf('aol')) != -1 ) + { + // aol + navigator.family = 'aol'; + navigator.org = 'aol'; + navigator.version = parseFloat('0' + ua.substr(i+4), 10); + } + else if ((i = ua.indexOf('hotjava')) != -1 ) + { + // hotjava + navigator.family = 'hotjava'; + navigator.org = 'sun'; + navigator.version = parseFloat(navigator.appVersion); + } + + window.onerror = oldOnError; +} + +xbDetectBrowser(); + diff --git a/doc/help/xslt/slides/browser/xbCollapsibleLists.js b/doc/help/xslt/slides/browser/xbCollapsibleLists.js new file mode 100644 index 00000000..6a4f93c1 --- /dev/null +++ b/doc/help/xslt/slides/browser/xbCollapsibleLists.js @@ -0,0 +1,537 @@ +/* +xbCollapsibleLists.js 2001-02-26 + +Contributor(s): Michael Bostock, Netscape Communications, Copyright 1997 + Bob Clary, Netscape Communications, Copyright 2001 + Seth Dillingham, Macrobyte Resources, Copyright 2001 + Mark Filanowicz, Amdahl IT Services, Copyright 2002 + +Netscape grants you a royalty free license to use, modify or +distribute this software provided that this copyright notice +appears on all copies. This software is provided "AS IS," +without a warranty of any kind. + +See xbCollapsibleLists.js.changelog.html for details of changes. +*/ + + +var xbcl__id = 0; +var xbcl_item_id = 0; +var xbcl_mLists = new Array(); +var xbcl_parentElement = null; + +document.lists = xbcl_mLists; + +function List(visible, width, height, bgColor, collapsedImageURL, expandedImageURL) +{ + this.lists = new Array(); // sublists + this.items = new Array(); // layers + this.types = new Array(); // type + this.strs = new Array(); // content + this.visible = visible; + this.id = xbcl__id; + this.width = width || 350; + this.height = height || 22; + + this.collapsedImageURL = collapsedImageURL || 'false.gif'; + this.expandedImageURL = expandedImageURL || 'true.gif'; + + if (bgColor) + this.bgColor = bgColor; + + xbcl_mLists[xbcl__id++] = this; +} + +function xbcl_SetFont(i,j) +{ + this.fontIntro = i; + this.fontOutro = j; +} + +function xbcl_GetFont() +{ + return [this.fontIntro, this.fontOutro]; +} + +function xbcl_setIndent(indent) +{ + this.i = indent; + if (this.i < 0) + { + this.i = 0; + this.space = false; + } + else + this.space = true; +} + +function xbcl_getIndent(indent) +{ + return this.i; +} + +function xbcl_writeItemDOMHTML( obj, s, flList, listObj ) +{ + var styleObj; + var outerDiv, innerLeft, innerRight; + var str; + var leftEdge = 0; + + styleObj = new xbStyle(obj); + styleObj.setVisibility('hidden'); + outerDiv = document.createElement( "DIV" ); + outerDiv.id = "DIV_" + obj.id; + styleObj = new xbStyle( outerDiv ); + styleObj.setWidth( this.width ); + + if ( flList ) + { + innerLeft = document.createElement( "DIV" ); + innerLeft.style.position = "absolute"; + innerLeft.style.valign = "middle"; + leftEdge = 15; + + styleObj = new xbStyle( innerLeft ); + styleObj.setWidth( 15 ); + styleObj.setBackgroundColor( "transparent" ); + + if ( listObj.visible ) + str = ''; + else + str = ''; + + innerLeft.innerHTML = str; + outerDiv.appendChild( innerLeft ); + } + else if ( this.space ) + leftEdge = 15; + + innerRight = document.createElement( "DIV" ); + innerRight.noWrap = true; + innerRight.style.position = "absolute"; + + styleObj = new xbStyle( innerRight ); + styleObj.setLeft( leftEdge + ( this.l * this.i ) ); + styleObj.setWidth( this.width - 15 - this.l * this.i ); + styleObj.setBackgroundColor( "transparent" ); + + // start of change by Mark Filanowicz 02-22-2002 + if ( flList ) + { + s = this.fontIntro + '' + s + this.fontOutro; + } + else + { + s = this.fontIntro + s + this.fontOutro; + } + // end of change by Mark Filanowicz 02-22-2002 + + + innerRight.innerHTML = s; + outerDiv.appendChild( innerRight ); + + obj.appendChild( outerDiv ); + + return; +} + +function xbcl_writeItem( obj, s, flList, listObj ) +{ + var cellStyle = ''; + var str = ''; + var styleObj = new xbStyle( obj ); + + styleObj.setVisibility( 'hidden' ); + + if ( document.body && document.body.style ) + cellStyle = ' style="background-color: transparent;"'; + + str += ''; + + if ( flList ) + { + str += ''; + } + else if (this.space) + str += ''; + + if (this.l>0 && this.i>0) + str += ''; + + str += '
    '; + str += ''; + + if ( listObj.visible ) + str += ''; + else + str += ''; + + str += '  '; + + // start of change by Mark Filanowicz 02-22-2002 + if ( flList ) + { + str += this.fontIntro + '' + s + this.fontOutro; + } + else + { + str += this.fontIntro + s + this.fontOutro; + } + // end of change by Mark Filanowicz 02-22-2002 + + str += '
    '; + + styleObj.setInnerHTML( str ); + + return; +} + +function xbcl_writeList() +{ + var item; + var i; + var flList; + + for ( i = 0; i < this.types.length; i++ ) + { + item = this.items[ i ]; + flList = ( this.types[ i ] == 'list' ); + + this._writeItem( item, this.strs[ i ], flList, this.lists[ i ] ); + + if ( flList && this.lists[ i ].visible ) + this.lists[ i ]._writeList(); + } + + this.built = true; + this.needsRewrite = false; + self.status = ''; +} + +function xbcl_showList() +{ + var item; + var styleObj; + var i; + + for (i = 0; i < this.types.length; i++) + { + item = this.items[i]; + styleObj = new xbStyle(item); + styleObj.setClipLeft(0); + styleObj.setClipRight(this.width); + styleObj.setClipTop(0); + if (item.height) + { + styleObj.setClipBottom(item.height); + styleObj.setHeight(item.height); + } + else + { + styleObj.setClipBottom(this.height); + styleObj.setHeight(this.height); + } + + if ( this.visible ) + styleObj.setVisibility( 'visible' ); + + var bg = item.oBgColor || this.bgColor; + if ((bg == null) || (bg == 'null')) + bg = ''; + + styleObj.setBackgroundColor(bg); + + if (this.types[i] == 'list' && this.lists[i].visible) + this.lists[i]._showList(); + } + this.shown = true; + this.needsUpdate = false; +} + +function xbcl_setImage(list, item, file) +{ + var id = '_img' + list.id; + var img = null; + + // for DOMHTML or IE4 use cross browser getElementById from xbStyle + // can't use it for NN4 since it only works for layers in NN4 + if (document.layers) + img = item.document.images[0]; + else + img = xbGetElementById(id); + + if (img) + img.src = file; +} + +function xbcl_getHeight() +{ + var totalHeight = 0; + var i; + + if (!this.visible) + return 0; + + for (i = 0; i < this.types.length; i++) + { + if (this.items[i].height) + totalHeight += this.items[i].height; + else + totalHeight += this.height; + + if ((this.types[i] == 'list') && this.lists[i].visible) + { + totalHeight += this.lists[i].getHeight(); + } + } + + return totalHeight; +} + +function xbcl_updateList(pVis, x, y) +{ + var currTop = y; + var item; + var styleObj; + var i; + + for (i = 0; i < this.types.length; i++) + { + item = this.items[i]; + styleObj = new xbStyle(item); + + if (this.visible && pVis) + { + styleObj.moveTo(x, currTop); + if (item.height) // allow custom heights for each item + currTop += item.height; + else + currTop += this.height; + + styleObj.setVisibility('visible'); + } + else + { + styleObj.setVisibility('hidden'); + } + + if (this.types[i] == 'list') + { + if (this.lists[i].visible) + { + if (!this.lists[i].built || this.lists[i].needsRewrite) + this.lists[i]._writeList(); + + if (!this.lists[i].shown || this.lists[i].needsUpdate) + this.lists[i]._showList(); + + xbcl_setImage(this.lists[i], item, this.expandedImageURL ); + } + else + xbcl_setImage(this.lists[i], item, this.collapsedImageURL ); + + if (this.lists[i].built) + currTop = this.lists[i]._updateList(this.visible && pVis, x, currTop); + } + } + return currTop; +} + +function xbcl_updateParent( pid, l ) +{ + var i; + + if ( !l ) + l = 0; + + this.pid = pid; + this.l = l; + + for ( i = 0; i < this.types.length; i++ ) + { + if ( this.types[ i ] == 'list' ) + { + this.lists[ i ]._updateParent( pid, l + 1 ); + } + } +} + +function xbcl_expand(i) +{ + xbcl_mLists[i].visible = !xbcl_mLists[i].visible; + + if (xbcl_mLists[i].onexpand != null) + xbcl_mLists[i].onexpand(xbcl_mLists[i].id); + + xbcl_mLists[xbcl_mLists[i].pid].rebuild(); + + if (xbcl_mLists[i].postexpand != null) + xbcl_mLists[i].postexpand(xbcl_mLists[i].id); +} + +function xbcl_build(x, y) +{ + this._updateParent(this.id); + this._writeList(); + this._showList(); + this._updateList(true, x, y); + this.x = x; + this.y = y; +} + +function xbcl_rebuild() +{ + this._updateList(true, this.x, this.y); +} + +function xbcl_getNewItem() +{ + var newItem = null; + + newItem = xbGetElementById('lItem' + xbcl_item_id); + + if (!newItem) + { + if (document.all && !document.getElementById) + { + var parentElement = this.parentElement; + if (!parentElement) + parentElement = document.body; + + parentElement.insertAdjacentHTML('beforeEnd', '
    '); + newItem = xbGetElementById('lItem' + xbcl_item_id); + } + else if (document.layers) + { + if (this.parentElement) + newItem = new Layer(this.width, this.parentElement); + else + newItem = new Layer(this.width); + } + else if (document.createElement) + { + newItem = document.createElement('div'); + newItem.id= 'lItem' + xbcl_item_id; + newItem.style.position = 'absolute'; + + if (this.parentElement) + this.parentElement.appendChild(newItem); + else + document.body.appendChild(newItem); + } + } + + return newItem; +} + +function xbcl_addItem(str, bgColor, item) +{ + if (!item) + item = this._getNewItem(); + + if (!item) + return; + + if (bgColor) + item.oBgColor = bgColor; + + this.items[this.items.length] = item; + this.types[this.types.length] = 'item'; + this.strs[this.strs.length] = str; + ++xbcl_item_id; + + if ( this.built ) + { + this._writeItem( item, str, false ); + xbcl_mLists[this.pid].rebuild(); + if ( this.visible ) + this._showList(); + else + this.needsUpdate = true; + } + + return item; +} + +function xbcl_addList(list, str, bgColor, item) +{ + if (!item) + item = this._getNewItem(); + + if (!item) + return; + + if (bgColor) + item.oBgColor = bgColor; + + this.lists[this.items.length] = list; + this.items[this.items.length] = item; + this.types[this.types.length] = 'list'; + this.strs[this.strs.length] = str; + ++xbcl_item_id; + + list.parentList = this; + + list.pid = this.pid; + list.l = this.l + 1; + + if ( this.built ) + { + this._writeItem( item, str, true, list ); + xbcl_mLists[ this.pid ].rebuild(); + if ( this.visible ) + this._showList(); + else + this.needsUpdate = true; + } + + return item; +} + +List.prototype.setIndent = xbcl_setIndent; +List.prototype.getIndent = xbcl_getIndent; +List.prototype.addItem = xbcl_addItem; +List.prototype.addList = xbcl_addList; +List.prototype.build = xbcl_build; +List.prototype.rebuild = xbcl_rebuild; +List.prototype.setFont = xbcl_SetFont; +List.prototype.getFont = xbcl_GetFont; +List.prototype.getHeight = xbcl_getHeight; + +List.prototype._writeList = xbcl_writeList; +List.prototype._getNewItem = xbcl_getNewItem; + +if ( document.getElementById && document.createElement ) + List.prototype._writeItem = xbcl_writeItemDOMHTML; +else + List.prototype._writeItem = xbcl_writeItem; + +List.prototype._showList = xbcl_showList; +List.prototype._updateList = xbcl_updateList; +List.prototype._updateParent = xbcl_updateParent; + +List.prototype.onexpand = null; +List.prototype.postexpand = null; +List.prototype.lists = null; // sublists +List.prototype.items = null; // layers +List.prototype.types = null; // type +List.prototype.strs = null; // content +List.prototype.x = 0; +List.prototype.y = 0; +List.prototype.visible = false; +List.prototype.id = -1; +List.prototype.i = 18; +List.prototype.space = true; +List.prototype.pid = 0; +List.prototype.fontIntro = ''; +List.prototype.fontOutro = ''; +List.prototype.width = 350; +List.prototype.height = 22; +List.prototype.built = false; +List.prototype.shown = false; +List.prototype.needsUpdate = false; +List.prototype.needsRewrite = false; +List.prototype.l = 0; +List.prototype.bgColor = null; +List.prototype.parentList = null; +List.prototype.parentElement = null; diff --git a/doc/help/xslt/slides/browser/xbDOM.js b/doc/help/xslt/slides/browser/xbDOM.js new file mode 100644 index 00000000..39cc8bf0 --- /dev/null +++ b/doc/help/xslt/slides/browser/xbDOM.js @@ -0,0 +1,374 @@ +/* + * xbDOM.js + * $Revision: 1.2 $ $Date: 2003/02/07 16:04:18 $ + */ + +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Netscape code. + * + * The Initial Developer of the Original Code is + * Netscape Corporation. + * Portions created by the Initial Developer are Copyright (C) 2001 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): Bob Clary + * + * ***** END LICENSE BLOCK ***** */ + +function xbToInt(s) +{ + var i = parseInt(s, 10); + if (isNaN(i)) + i = 0; + + return i; +} + +function xbGetWindowWidth(windowRef) +{ + var width = 0; + + if (!windowRef) + { + windowRef = window; + } + + if (typeof(windowRef.innerWidth) == 'number') + { + width = windowRef.innerWidth; + } + else if (windowRef.document.body && typeof(windowRef.document.body.clientWidth) == 'number') + { + width = windowRef.document.body.clientWidth; + } + + return width; +} + +function xbGetWindowHeight(windowRef) +{ + var height = 0; + + if (!windowRef) + { + windowRef = window; + } + + if (typeof(windowRef.innerWidth) == 'number') + { + height = windowRef.innerHeight; + } + else if (windowRef.document.body && typeof(windowRef.document.body.clientWidth) == 'number') + { + height = windowRef.document.body.clientHeight; + } + return height; +} + +function xbGetElementsByNameAndType(name, type, windowRef) +{ + if (!windowRef) + windowRef = window; + + var elmlist = new Array(); + + xbFindElementsByNameAndType(windowRef.document, name, type, elmlist); + + return elmlist; +} + +function xbFindElementsByNameAndType(doc, name, type, elmlist) +{ + var i; + var subdoc; + + for (i = 0; i < doc[type].length; ++i) + { + if (doc[type][i].name && name == doc[type][i].name) + { + elmlist[elmlist.length] = doc[type][i]; + } + } + + if (doc.layers) + { + for (i = 0; i < doc.layers.length; ++i) + { + subdoc = doc.layers[i].document; + xbFindElementsByNameAndType(subdoc, name, type, elmlist); + } + } +} + +if (document.layers) +{ + nav4FindLayer = + function (doc, id) + { + var i; + var subdoc; + var obj; + + for (i = 0; i < doc.layers.length; ++i) + { + if (doc.layers[i].id && id == doc.layers[i].id) + return doc.layers[i]; + + subdoc = doc.layers[i].document; + obj = nav4FindLayer(subdoc, id); + if (obj != null) + return obj; + } + return null; + } + + nav4FindElementsByName = + function (doc, name, elmlist) + { + var i; + var j; + var subdoc; + + for (i = 0; i < doc.images.length; ++i) + { + if (doc.images[i].name && name == doc.images[i].name) + { + elmlist[elmlist.length] = doc.images[i]; + } + } + + for (i = 0; i < doc.forms.length; ++i) + { + for (j = 0; j < doc.forms[i].elements.length; j++) + { + if (doc.forms[i].elements[j].name && name == doc.forms[i].elements[j].name) + { + elmlist[elmlist.length] = doc.forms[i].elements[j]; + } + } + + if (doc.forms[i].name && name == doc.forms[i].name) + { + elmlist[elmlist.length] = doc.forms[i]; + } + } + + for (i = 0; i < doc.anchors.length; ++i) + { + if (doc.anchors[i].name && name == doc.anchors[i].name) + { + elmlist[elmlist.length] = doc.anchors[i]; + } + } + + for (i = 0; i < doc.links.length; ++i) + { + if (doc.links[i].name && name == doc.links[i].name) + { + elmlist[elmlist.length] = doc.links[i]; + } + } + + for (i = 0; i < doc.applets.length; ++i) + { + if (doc.applets[i].name && name == doc.applets[i].name) + { + elmlist[elmlist.length] = doc.applets[i]; + } + } + + for (i = 0; i < doc.embeds.length; ++i) + { + if (doc.embeds[i].name && name == doc.embeds[i].name) + { + elmlist[elmlist.length] = doc.embeds[i]; + } + } + + for (i = 0; i < doc.layers.length; ++i) + { + if (doc.layers[i].name && name == doc.layers[i].name) + { + elmlist[elmlist.length] = doc.layers[i]; + } + + subdoc = doc.layers[i].document; + nav4FindElementsByName(subdoc, name, elmlist); + } + } + + xbGetElementById = function (id, windowRef) + { + if (!windowRef) + windowRef = window; + + return nav4FindLayer(windowRef.document, id); + }; + + xbGetElementsByName = function (name, windowRef) + { + if (!windowRef) + windowRef = window; + + var elmlist = new Array(); + + nav4FindElementsByName(windowRef.document, name, elmlist); + + return elmlist; + }; + +} +else if (document.all) +{ + xbGetElementById = + function (id, windowRef) + { + if (!windowRef) + { + windowRef = window; + } + var elm = windowRef.document.all[id]; + if (!elm) + { + elm = null; + } + return elm; + }; + + xbGetElementsByName = function (name, windowRef) + { + if (!windowRef) + windowRef = window; + + var i; + var idnamelist = windowRef.document.all[name]; + var elmlist = new Array(); + + if (!idnamelist.length || idnamelist.name == name) + { + if (idnamelist) + elmlist[elmlist.length] = idnamelist; + } + else + { + for (i = 0; i < idnamelist.length; i++) + { + if (idnamelist[i].name == name) + elmlist[elmlist.length] = idnamelist[i]; + } + } + + return elmlist; + } + +} +else if (document.getElementById) +{ + xbGetElementById = + function (id, windowRef) + { + if (!windowRef) + { + windowRef = window; + } + return windowRef.document.getElementById(id); + }; + + xbGetElementsByName = + function (name, windowRef) + { + if (!windowRef) + { + windowRef = window; + } + return windowRef.document.getElementsByName(name); + }; +} +else +{ + xbGetElementById = + function (id, windowRef) + { + return null; + }; + + xbGetElementsByName = + function (name, windowRef) + { + return new Array(); + }; +} + +function xbGetPageScrollX(windowRef) +{ + if (!windowRef) + { + windowRef = window; + } + + if (typeof(windowRef.pageXOffset) == 'number') + { + return windowRef.pageXOffset; + } + + if (typeof(windowRef.document.body && windowRef.document.body.scrollLeft) == 'number') + { + return windowRef.document.body.scrollLeft; + } + + return 0; +} + +function xbGetPageScrollY(windowRef) +{ + if (!windowRef) + { + windowRef = window; + } + + if (typeof(windowRef.pageYOffset) == 'number') + { + return windowRef.pageYOffset; + } + + if (typeof(windowRef.document.body && windowRef.document.body.scrollTop) == 'number') + { + return windowRef.document.body.scrollTop; + } + + return 0; +} + +if (document.layers) +{ + xbSetInnerHTML = + function (element, str) + { + element.document.write(str); + element.document.close(); + }; +} +else +{ + xbSetInnerHTML = function (element, str) + { + if (typeof(element.innerHTML) != 'undefined') + { + element.innerHTML = str; + } + }; +} + +// eof: xbDOM.js diff --git a/doc/help/xslt/slides/browser/xbDebug.js b/doc/help/xslt/slides/browser/xbDebug.js new file mode 100644 index 00000000..48fd010c --- /dev/null +++ b/doc/help/xslt/slides/browser/xbDebug.js @@ -0,0 +1,311 @@ +/* + * xbDebug.js + * $Revision: 1.2 $ $Date: 2003/02/07 16:04:19 $ + */ + +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Netscape code. + * + * The Initial Developer of the Original Code is + * Netscape Corporation. + * Portions created by the Initial Developer are Copyright (C) 2001 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): Bob Clary + * + * ***** END LICENSE BLOCK ***** */ + +/* +ChangeLog: + +2002-02-25: bclary - modified xbDebugTraceOject to make sure + that original versions of wrapped functions were not + rewrapped. This had caused an infinite loop in IE. + +2002-02-07: bclary - modified xbDebug.prototype.close to not null + the debug window reference. This can cause problems with + Internet Explorer if the page is refreshed. These issues will + be addressed at a later date. +*/ + +function xbDebug() +{ + this.on = false; + this.stack = new Array(); + this.debugwindow = null; + this.execprofile = new Object(); +} + +xbDebug.prototype.push = function () +{ + this.stack[this.stack.length] = this.on; + this.on = true; +} + +xbDebug.prototype.pop = function () +{ + this.on = this.stack[this.stack.length - 1]; + --this.stack.length; +} + +xbDebug.prototype.open = function () +{ + if (this.debugwindow && !this.debugwindow.closed) + this.close(); + + this.debugwindow = window.open('about:blank', 'DEBUGWINDOW', 'height=400,width=600,resizable=yes,scrollbars=yes'); + this.debugwindow.moveTo(0,0); + window.focus(); + + this.debugwindow.document.write('xbDebug Window

    Javascript Debug Window

    '); +} + +xbDebug.prototype.close = function () +{ + if (!this.debugwindow) + return; + + if (!this.debugwindow.closed) + this.debugwindow.close(); + + // bc 2002-02-07, other windows may still hold a reference to this: this.debugwindow = null; +} + +xbDebug.prototype.dump = function (msg) +{ + if (!this.on) + return; + + if (!this.debugwindow || this.debugwindow.closed) + this.open(); + + this.debugwindow.document.write(msg + '
    '); + + return; +} + +var xbDEBUG = new xbDebug(); + +window.onunload = function () { xbDEBUG.close(); } + +function xbDebugGetFunctionName(funcref) +{ + + if (!funcref) + { + return ''; + } + + if (funcref.name) + return funcref.name; + + var name = funcref + ''; + name = name.substring(name.indexOf(' ') + 1, name.indexOf('(')); + funcref.name = name; + + if (!name) alert('name not defined'); + return name; +} + + +// emulate functionref.apply for IE mac and IE win < 5.5 +function xbDebugApplyFunction(funcname, funcref, thisref, argumentsref) +{ + var rv; + + if (!funcref) + { + alert('xbDebugApplyFunction: funcref is null'); + } + + if (typeof(funcref.apply) != 'undefined') + return funcref.apply(thisref, argumentsref); + + var applyexpr = 'thisref.xbDebug_orig_' + funcname + '('; + var i; + + for (i = 0; i < argumentsref.length; i++) + { + applyexpr += 'argumentsref[' + i + '],'; + } + + if (argumentsref.length > 0) + { + applyexpr = applyexpr.substring(0, applyexpr.length - 1); + } + + applyexpr += ')'; + + return eval(applyexpr); +} + +function xbDebugCreateFunctionWrapper(scopename, funcname, precall, postcall) +{ + var wrappedfunc; + var scopeobject = eval(scopename); + var funcref = scopeobject[funcname]; + + scopeobject['xbDebug_orig_' + funcname] = funcref; + + wrappedfunc = function () + { + var rv; + + precall(scopename, funcname, arguments); + rv = xbDebugApplyFunction(funcname, funcref, scopeobject, arguments); + postcall(scopename, funcname, arguments, rv); + return rv; + }; + + if (typeof(funcref.constructor) != 'undefined') + wrappedfunc.constructor = funcref.constuctor; + + if (typeof(funcref.prototype) != 'undefined') + wrappedfunc.prototype = funcref.prototype; + + scopeobject[funcname] = wrappedfunc; +} + +function xbDebugCreateMethodWrapper(contextname, classname, methodname, precall, postcall) +{ + var context = eval(contextname); + var methodref = context[classname].prototype[methodname]; + + context[classname].prototype['xbDebug_orig_' + methodname] = methodref; + + var wrappedmethod = function () + { + var rv; + // eval 'this' at method run time to pick up reference to the object's instance + var thisref = eval('this'); + // eval 'arguments' at method run time to pick up method's arguments + var argsref = arguments; + + precall(contextname + '.' + classname, methodname, argsref); + rv = xbDebugApplyFunction(methodname, methodref, thisref, argsref); + postcall(contextname + '.' + classname, methodname, argsref, rv); + return rv; + }; + + return wrappedmethod; +} + +function xbDebugPersistToString(obj) +{ + var s = ''; + + if (obj == null) + return 'null'; + + switch(typeof(obj)) + { + case 'number': + return obj; + case 'string': + return '"' + obj + '"'; + case 'undefined': + return 'undefined'; + case 'boolean': + return obj + ''; + } + + if (obj.constructor) + return '[' + xbDebugGetFunctionName(obj.constructor) + ']'; + + return null; +} + +function xbDebugTraceBefore(scopename, funcname, funcarguments) +{ + var i; + var s = ''; + var execprofile = xbDEBUG.execprofile[scopename + '.' + funcname]; + if (!execprofile) + execprofile = xbDEBUG.execprofile[scopename + '.' + funcname] = { started: 0, time: 0, count: 0 }; + + for (i = 0; i < funcarguments.length; i++) + { + s += xbDebugPersistToString(funcarguments[i]); + if (i < funcarguments.length - 1) + s += ', '; + } + + xbDEBUG.dump('enter ' + scopename + '.' + funcname + '(' + s + ')'); + execprofile.started = (new Date()).getTime(); +} + +function xbDebugTraceAfter(scopename, funcname, funcarguments, rv) +{ + var i; + var s = ''; + var execprofile = xbDEBUG.execprofile[scopename + '.' + funcname]; + if (!execprofile) + xbDEBUG.dump('xbDebugTraceAfter: execprofile not created for ' + scopename + '.' + funcname); + else if (execprofile.started == 0) + xbDEBUG.dump('xbDebugTraceAfter: execprofile.started == 0 for ' + scopename + '.' + funcname); + else + { + execprofile.time += (new Date()).getTime() - execprofile.started; + execprofile.count++; + execprofile.started = 0; + } + + for (i = 0; i < funcarguments.length; i++) + { + s += xbDebugPersistToString(funcarguments[i]); + if (i < funcarguments.length - 1) + s += ', '; + } + + xbDEBUG.dump('exit ' + scopename + '.' + funcname + '(' + s + ')==' + xbDebugPersistToString(rv)); +} + +function xbDebugTraceFunction(scopename, funcname) +{ + xbDebugCreateFunctionWrapper(scopename, funcname, xbDebugTraceBefore, xbDebugTraceAfter); +} + +function xbDebugTraceObject(contextname, classname) +{ + var classref = eval(contextname + '.' + classname); + var p; + var sp; + + if (!classref || !classref.prototype) + return; + + for (p in classref.prototype) + { + sp = p + ''; + if (typeof(classref.prototype[sp]) == 'function' && (sp).indexOf('xbDebug_orig') == -1) + { + classref.prototype[sp] = xbDebugCreateMethodWrapper(contextname, classname, sp, xbDebugTraceBefore, xbDebugTraceAfter); + } + } +} + +function xbDebugDumpProfile() +{ + var p; + var execprofile; + var avg; + + for (p in xbDEBUG.execprofile) + { + execprofile = xbDEBUG.execprofile[p]; + avg = Math.round ( 100 * execprofile.time/execprofile.count) /100; + xbDEBUG.dump('Execution profile ' + p + ' called ' + execprofile.count + ' times. Total time=' + execprofile.time + 'ms. Avg Time=' + avg + 'ms.'); + } +} diff --git a/doc/help/xslt/slides/browser/xbLibrary.js b/doc/help/xslt/slides/browser/xbLibrary.js new file mode 100644 index 00000000..9bbfd6b1 --- /dev/null +++ b/doc/help/xslt/slides/browser/xbLibrary.js @@ -0,0 +1,80 @@ +/* + * xbLibrary.js + * $Revision: 1.3 $ $Date: 2003/03/17 03:44:20 $ + */ + +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Bob Clary code. + * + * The Initial Developer of the Original Code is + * Bob Clary. + * Portions created by the Initial Developer are Copyright (C) 2000 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): Bob Clary + * + * ***** END LICENSE BLOCK ***** */ + +if (!document.getElementById || navigator.userAgent.indexOf('Opera') != -1) +{ + // assign error handler for downlevel browsers + // Note until Opera improves it's overall support + // for JavaScript and the DOM, it must be considered downlevel + + window.onerror = defaultOnError; + + function defaultOnError(msg, url, line) + { + // handle bug in NS6.1, N6.2 + // where an Event is passed to error handlers + if (typeof(msg) != 'string') + { + msg = 'unknown error'; + } + if (typeof(url) != 'string') + { + url = document.location; + } + + alert('An error has occurred at ' + url + ', line ' + line + ': ' + msg); + } +} + +function xbLibrary(path) +{ + if (path.charAt(path.length-1) == '/') + { + path = path.substr(0, path.length-1) + } + this.path = path; +} + +// dynamically loaded scripts +// +// it is an error to reference anything from the dynamically loaded file inside the +// same script block. This means that a file can not check its dependencies and +// load the files for it's own use. someone else must do this. + +xbLibrary.prototype.loadScript = +function (scriptName) +{ + document.write(' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + overlaySetup('ll'); + + + + + + init( + + ); + + overlaySetup('ll'); + + + + + + +
    + +
    +
    + +
    + + + + +
    + logo +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <xsl:value-of select="title"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + javascript:body.focus() + + + + + + + + + <body class="frameset"> + <xsl:call-template name="body.attributes"/> + <p> + <xsl:text>Your browser doesn't support frames.</xsl:text> + </p> + </body> + + + + + + + + + + + + + + + + + + Navigation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Body + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Navigation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + newPage(' + + ', + + ); + + + + + overlaySetup('lc'); + + + + + + + this.focus() + + + navigate(event) + + + +
    + +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <xsl:value-of select="title"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + foilgroup + + + + + + + javascript:body.focus() + + + + + + <body class="frameset"> + <xsl:call-template name="body.attributes"/> + <p> + <xsl:text>Your browser doesn't support frames.</xsl:text> + </p> + </body> + + + + + + + foilgroup + + + + + + + + + + + + + + + + Navigation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + foilgroup + + + + + + + + + + + Body + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + foilgroup + + + + + + + + + + + + + + + + Navigation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + newPage(' + + ', + + ); + + + + + overlaySetup('lc'); + + + + + + + + navigate(event) + + + +
    + + + + + + + + + +
    + + + + + + +
    + + +
    + + + position:absolute;visibility:visible; + + + + + + + + +
    +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <xsl:value-of select="title"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + javascript:body.focus() + + + + + + + + + <body class="frameset"> + <xsl:call-template name="body.attributes"/> + <p> + <xsl:text>Your browser doesn't support frames.</xsl:text> + </p> + </body> + + + + + + + + + + + + + + + + + + + + + Navigation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Body + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Navigation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + newPage(' + + ', + + ); + + + + + overlaySetup('lc'); + + + + + + + navigate(event) + + + +
    + + + + + + + + + +
    + +
    + + +
    + + + position:absolute;visibility:visible; + + + + + + + + +
    +
    +
    + + + +
    + + + + + + + +
    + + + + + + + foilgroup + + + + +
    + - + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    + - + + + + + + + + + + + + + + +
    +
    + + + + + + + + + myList.addItem(' + + <div id=" + + " class="toc-slidesinfo"> + + <a href=" + + " target="foil"> + + + + + + + + + + + + + ' + \' + + + <\/a><\/div> + '); + + + + + + + + subList = new List(false, width, height, " + +"); + subList.setIndent(12); + + + myList.addList(subList, ' + + <div id=" + + " class="toc-foilgroup"> + + <a href=" + + " target="foil"> + + + + + + + + + + + + + ' + \' + + + <\/a><\/div> + '); + + + + + + + + subList.addItem(' + + + myList.addItem(' + + + + <div id=" + + " class="toc-foil"> + + <img alt="-" src=" + + "><\/img> + + <a href=" + + " target="foil"> + + + + + + + + + + + + + ' + \' + + + <\/a><\/div> + '); + + + + + + + + + diff --git a/doc/help/xslt/slides/html/graphics.xsl b/doc/help/xslt/slides/html/graphics.xsl new file mode 100644 index 00000000..b682acdf --- /dev/null +++ b/doc/help/xslt/slides/html/graphics.xsl @@ -0,0 +1,151 @@ + + + + + + + + + + + + + + + + + + + / + + + + / + + + http://docbook.sourceforge.net/release/slides/graphics/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/slides/html/jscript.xsl b/doc/help/xslt/slides/html/jscript.xsl new file mode 100644 index 00000000..ae4ef9fd --- /dev/null +++ b/doc/help/xslt/slides/html/jscript.xsl @@ -0,0 +1,127 @@ + + + + + + + + + + + + + + + + + / + + + + / + + + http://docbook.sourceforge.net/release/slides/browser/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/slides/html/param.xml b/doc/help/xslt/slides/html/param.xml new file mode 100644 index 00000000..84cf1969 --- /dev/null +++ b/doc/help/xslt/slides/html/param.xml @@ -0,0 +1,1376 @@ + + + +Slides HTML Parameter Reference + +$Id: param.xweb 6633 2007-02-21 18:33:33Z xmldoc $ + + + + Walsh + Norman + + + + 2002 + Norman Walsh + + + This is reference documentation for all user-configurable + parameters in the DocBook XSL Slides HTML stylesheet (for + generating HTML slide presentations). Note that the Slides + stylesheet for HTML output is a customization layer of the + DocBook XSL HTML stylesheet. Therefore, in addition to the + slides-specific parameters listed in this section, you can + also use a number of HTML + stylesheet parameters to control Slides HTML + output. + + + +HTML: General Parameters + + +keyboard.nav +boolean + + +keyboard.nav +Enable keyboard navigation? + + + + +<xsl:param name="keyboard.nav" select="1"></xsl:param> + + + +Description + +If non-zero, JavaScript is added to the slides to enable keyboard +navigation. Pressing 'n', space, or return moves forward; pressing 'p' moves +backward. + + + + + + +css.stylesheet +uri + + +css.stylesheet +CSS stylesheet for slides + + + + +<xsl:param name="css.stylesheet">slides.css</xsl:param> + + + +Description + +Identifies the CSS stylesheet used by all the slides. This parameter +can be set in the source document with the <?dbhtml?> pseudo-attribute +css-stylesheet. + + + + + + +css.stylesheet.dir +uri + + +css.stylesheet.dir +Default directory for CSS stylesheets + + + + +<xsl:param name="css.stylesheet.dir"></xsl:param> + + + +Description + +Identifies the default directory for the CSS stylesheet +generated on all the slides. This parameter can be set in the source +document with the <?dbhtml?> pseudo-attribute +css-stylesheet-dir. + +If non-empty, this value is prepended to each of the stylesheets. + + + + + + + +titlefoil.html +filename + + +titlefoil.html +Name of title foil HTML file + + + + +<xsl:param name="titlefoil.html" select="concat('index', $html.ext)"></xsl:param> + + + +Description + +Sets the filename used for the slides titlepage. + + + + + + +toc.html +filename + + +toc.html +Name of ToC HTML file + + + + +<xsl:param name="toc.html" select="concat('toc', $html.ext)"></xsl:param> + + + +Description + +Sets the filename used for the table of contents page. + + + + + + +foilgroup.toc +boolean + + +foilgroup.toc +Put ToC on foilgroup pages? + + + + +<xsl:param name="foilgroup.toc" select="1"></xsl:param> + + + +Description + +If non-zero, a ToC will be placed on foilgroup pages (after any +other content). + + + + + + + +output.indent +list +no +yes + + +output.indent +Indent output? + + + + +<xsl:param name="output.indent">no</xsl:param> + + + +Description + +Specifies the setting of the indent +parameter on the HTML slides. For more information, see the discussion +of the xsl:output element in the XSLT specification. +Select from yes or no. + + + + + + +overlay +boolean + + +overlay +Overlay footer navigation? + + + + +<xsl:param name="overlay" select="0"></xsl:param> + + + +Description + +If non-zero, JavaScript is added to the slides to make the +bottom navigation appear at the bottom of each page. This option and +multiframe are mutually exclusive. + +If this parameter is zero, the bottom navigation simply appears +below the content of each slide. + + + + + + +show.foil.number +boolean + + +show.foil.number +Show foil number on each foil? + + + + +<xsl:param name="show.foil.number" select="0"></xsl:param> + + + +Description + +If non-zero, on each slide there will be its number. Currently +not supported in all output formats. + + + + + + +HTML: Frames Parameters + + +nav.separator +boolean + + +nav.separator +Output separator between navigation and body? + + + + +<xsl:param name="nav.separator" select="1"></xsl:param> + + + +Description + +If non-zero, a separator (<HR>) is +added between the navigation links and the content of each slide. + + + + + + +toc.row.height +length + + +toc.row.height +Height of ToC rows in dynamic ToCs + + + + +<xsl:param name="toc.row.height">22</xsl:param> + + + +Description + +This parameter specifies the height of each row in the table of +contents. This is only applicable if a dynamic ToC is used. You may want to +adjust this parameter for optimal appearance with the font and image +sizes selected by your CSS +stylesheet. + + + + + + + +toc.bg.color +color + + +toc.bg.color +Background color for ToC frame + + + + +<xsl:param name="toc.bg.color">#FFFFFF</xsl:param> + + + +Description + +Specifies the background color used in the ToC frame. + + + + + + +body.bg.color +color + + +body.bg.color +Background color for body frame + + + + +<xsl:param name="body.bg.color">#FFFFFF</xsl:param> + + + +Description + +Specifies the background color used in the body column of +tabular slides. + + + + + + +toc.width +length + + +toc.width +Width of ToC frame + + + + +<xsl:param name="toc.width">250</xsl:param> +<!-- Presumably in pixels? --> + + + +Description + +Specifies the width of the ToC frame in pixels. + + + + + + +toc.hide.show +boolean + + +toc.hide.show +Enable hide/show button for ToC frame + + + + +<xsl:param name="toc.hide.show" select="0"></xsl:param> + + + +Description + +If non-zero, JavaScript (and an additional icon, see +hidetoc.image and +showtoc.image) is added to each slide +to allow the ToC panel to be toggled on each panel. + +There is a bug in Mozilla 1.0 (at least as of CR3) that causes +the browser to reload the titlepage when this feature is used. + + + + + + +dynamic.toc +boolean + + +dynamic.toc +Dynamic ToCs? + + + + +<xsl:param name="dynamic.toc" select="0"></xsl:param> + + + +Description + +If non-zero, JavaScript is used to make the ToC panel dynamic. +In a dynamic ToC, each section in the ToC can be expanded and collapsed by +clicking on the appropriate image. + + + + + + +active.toc +boolean + + +active.toc +Active ToCs? + + + + +<xsl:param name="active.toc" select="0"></xsl:param> + + + +Description + +If non-zero, JavaScript is used to keep the ToC and the current slide +in sync. That is, each time the slide changes, the corresponding +ToC entry will be underlined. + + + + + + +overlay.logo +uri + + +overlay.logo +Logo to overlay on ToC frame + + + + +<xsl:param name="overlay.logo">http://docbook.sourceforge.net/release/buttons/slides-1.png</xsl:param> + + + +Description + +If this URI is non-empty, JavaScript is used to overlay the +specified image on the ToC frame. + + + + + + +multiframe +boolean + + +multiframe +Use multiple frames for slide bodies? + + + + +<xsl:param name="multiframe" select="0"></xsl:param> + + + +Description + +If non-zero, multiple frames are used for the body of each +slide. This is one way of forcing the slide navigation elements to +appear in constant locations. The other way is with overlays. The overlay and +multiframe parameters are mutually +exclusive. + + + + + + +multiframe.top.bgcolor +color + + +multiframe.top.bgcolor +Background color for top navigation frame + + + + +<xsl:param name="multiframe.top.bgcolor">white</xsl:param> + + + +Description + +Specifies the background color of the top navigation frame when +multiframe is enabled. + + + + + + +multiframe.bottom.bgcolor +color + + +multiframe.bottom.bgcolor +Background color for bottom navigation frame + + + + +<xsl:param name="multiframe.bottom.bgcolor">white</xsl:param> + + + +Description + +Specifies the background color of the bottom navigation frame when +multiframe is enabled. + + + + + + +multiframe.navigation.height +length + + +multiframe.navigation.height +Height of navigation frames + + + + +<xsl:param name="multiframe.navigation.height">40</xsl:param> + + + +Description + +Specifies the height of the navigation frames in pixels when +multiframe is enabled. + + + + + + +HTML: Graphics Parameters + + +graphics.dir +uri + + +graphics.dir +Graphics directory + + + + +<xsl:param name="graphics.dir"></xsl:param> + + + +Description + +Identifies the graphics directory for the navigation components +generated on all the slides. This parameter can be set in the source +document with the <?dbhtml?> pseudo-attribute +graphics-dir. + +If non-empty, this value is prepended to each of the graphic +image paths. + + + + + + +bullet.image +filename + + +bullet.image +Bullet image + + + + +<xsl:param name="bullet.image">toc/bullet.png</xsl:param> + + + +Description + +Specifies the filename of the bullet image used for foils in the +framed ToC. + + + + + + +next.image +filename + + +next.image +Right-arrow image + + + + +<xsl:param name="next.image">active/nav-next.png</xsl:param> + + + +Description + +Specifies the filename of the right-pointing navigation arrow. + + + + + + +prev.image +filename + + +prev.image +Left-arrow image + + + + +<xsl:param name="prev.image">active/nav-prev.png</xsl:param> + + + +Description + +Specifies the filename of the left-pointing navigation arrow. + + + + + + +up.image +filename + + +up.image +Up-arrow image + + + + +<xsl:param name="up.image">active/nav-up.png</xsl:param> + + + +Description + +Specifies the filename of the upward-pointing navigation arrow. + + + + + + +home.image +filename + + +home.image +Home image + + + + +<xsl:param name="home.image">active/nav-home.png</xsl:param> + + + +Description + +Specifies the filename of the home navigation icon. + + + + + + +toc.image +filename + + +toc.image +ToC image + + + + +<xsl:param name="toc.image">active/nav-toc.png</xsl:param> + + + +Description + +Specifies the filename of the ToC navigation icon. + + + + + + + +no.next.image +filename + + +no.next.image +Inactive right-arrow image + + + + +<xsl:param name="no.next.image">inactive/nav-next.png</xsl:param> + + + +Description + +Specifies the filename of the inactive right-pointing navigation arrow. + + + + + + +no.prev.image +filename + + +no.prev.image +Inactive left-arrow image + + + + +<xsl:param name="no.prev.image">inactive/nav-prev.png</xsl:param> + + + +Description + +Specifies the filename of the inactive left-pointing navigation arrow. + + + + + + +no.up.image +filename + + +no.up.image +Inactive up-arrow image + + + + +<xsl:param name="no.up.image">inactive/nav-up.png</xsl:param> + + + +Description + +Specifies the filename of the inactive upward-pointing navigation arrow. + + + + + + +no.home.image +filename + + +no.home.image +Inactive home image + + + + +<xsl:param name="no.home.image">inactive/nav-home.png</xsl:param> + + + +Description + +Specifies the filename of the inactive home navigation icon. + + + + + + +no.toc.image +filename + + +no.toc.image +Inactive ToC image + + + + +<xsl:param name="no.toc.image">inactive/nav-toc.png</xsl:param> + + + +Description + +Specifies the filename of the inactive ToC navigation icon. + + + + + + + +plus.image +filename + + +plus.image +Plus image + + + + +<xsl:param name="plus.image">toc/closed.png</xsl:param> + + + +Description + +Specifies the filename of the plus image; the image used in a +dynamic ToC to indicate that a section +can be expanded. + + + + + + +minus.image +filename + + +minus.image +Minus image + + + + +<xsl:param name="minus.image">toc/open.png</xsl:param> + + + +Description + +Specifies the filename of the minus image; the image used in a +dynamic ToC to indicate that a section +can be collapsed. + + + + + + +hidetoc.image +filename + + +hidetoc.image +Hide ToC image + + + + +<xsl:param name="hidetoc.image">hidetoc.gif</xsl:param> + + + +Description + +Specifies the filename of the hide ToC image. This is used +when the ToC hide/show parameter is +enabled. + + + + + + +showtoc.image +filename + + +showtoc.image +Show ToC image + + + + +<xsl:param name="showtoc.image">showtoc.gif</xsl:param> + + + +Description + +Specifies the filename of the show ToC image. This is used +when the ToC hide/show parameter is +enabled. + + + + + + +HTML: JavaScript Parameters + + +script.dir +uri + + +script.dir +Script directory + + + + +<xsl:param name="script.dir"></xsl:param> + + + +Description + +Identifies the JavaScript source directory for the slides. +This parameter can be set in the source +document with the <?dbhtml?> pseudo-attribute +script-dir. + +If non-empty, this value is prepended to each of the JavaScript files. + + + + + + + +ua.js +filename + + +ua.js +UA JavaScript file + + + + +<xsl:param name="ua.js">ua.js</xsl:param> + + + +Description + +Specifies the filename of the UA JavaScript file. It's unlikely +that you will ever need to change this parameter. + + + + + + +xbDOM.js +filename + + +xbDOM.js +xbDOM JavaScript file + + + + +<xsl:param name="xbDOM.js">xbDOM.js</xsl:param> + + + +Description + +Specifies the filename of the xbDOM JavaScript file. It's unlikely +that you will ever need to change this parameter. + + + + + + +xbStyle.js +filename + + +xbStyle.js +xbStyle JavaScript file + + + + +<xsl:param name="xbStyle.js">xbStyle.js</xsl:param> + + + +Description + +Specifies the filename of the xbStyle JavaScript file. It's unlikely +that you will ever need to change this parameter. + + + + + + +xbLibrary.js +filename + + +xbLibrary.js +xbLibrary JavaScript file + + + + +<xsl:param name="xbLibrary.js">xbLibrary.js</xsl:param> + + + +Description + +Specifies the filename of the xbLibrary JavaScript file. It's unlikely +that you will ever need to change this parameter. + + + + + + +xbCollapsibleLists.js +filename + + +xbCollapsibleLists.js +xbCollapsibleLists JavaScript file + + + + +<xsl:param name="xbCollapsibleLists.js">xbCollapsibleLists.js</xsl:param> + + + +Description + +Specifies the filename of the xbCollapsibleLists JavaScript file. It's unlikely +that you will ever need to change this parameter. + + + + + + +overlay.js +filename + + +overlay.js +Overlay JavaScript file + + + + +<xsl:param name="overlay.js">overlay.js</xsl:param> + + + +Description + +Specifies the filename of the overlay JavaScript file. It's unlikely +that you will ever need to change this parameter. + + + + + + +slides.js +filename + + +slides.js +Slides overlay file + + + + +<xsl:param name="slides.js">slides.js</xsl:param> + + + +Description + +Specifies the filename of the slides JavaScript file. It's unlikely +that you will ever need to change this parameter. + + + + + + +HTML: Localization Parameters + + +text.home +string + + +text.home +Home + + + + +<xsl:param name="text.home">Home</xsl:param> + + + +Description + +FIXME: + + + + + + +text.toc +string + + +text.toc +FIXME: + + + + +<xsl:param name="text.toc">ToC</xsl:param> + + + +Description + +FIXME: + + + + + + +text.prev +string + + +text.prev +FIXME: + + + + +<xsl:param name="text.prev">Prev</xsl:param> + + + +Description + +FIXME: + + + + + + +text.up +string + + +text.up +FIXME: + + + + +<xsl:param name="text.up">Up</xsl:param> + + + +Description + +FIXME: + + + + + + +text.next +string + + +text.next +FIXME: + + + + +<xsl:param name="text.next">Next</xsl:param> + + + +Description + +FIXME: + + + + + + + +The Stylesheet + +The param.xsl stylesheet is just a wrapper +around all these parameters. + + + +<!-- This file is generated from param.xweb --> + +<xsl:stylesheet exclude-result-prefixes="src" version="1.0"> + +<!-- ******************************************************************** + $Id: param.xweb 6633 2007-02-21 18:33:33Z xmldoc $ + ******************************************************************** + + This file is part of the DocBook Slides Stylesheet distribution. + See ../README or http://docbook.sf.net/release/xsl/current/ for + copyright and other information. + + ******************************************************************** --> + +<src:fragref linkend="active.toc.frag"></src:fragref> +<src:fragref linkend="body.bg.color.frag"></src:fragref> +<src:fragref linkend="bullet.image.frag"></src:fragref> +<src:fragref linkend="css.stylesheet.frag"></src:fragref> +<src:fragref linkend="css.stylesheet.dir.frag"></src:fragref> +<src:fragref linkend="dynamic.toc.frag"></src:fragref> +<src:fragref linkend="foilgroup.toc.frag"></src:fragref> +<src:fragref linkend="graphics.dir.frag"></src:fragref> +<src:fragref linkend="hidetoc.image.frag"></src:fragref> +<src:fragref linkend="home.image.frag"></src:fragref> +<src:fragref linkend="keyboard.nav.frag"></src:fragref> +<src:fragref linkend="minus.image.frag"></src:fragref> +<src:fragref linkend="multiframe.bottom.bgcolor.frag"></src:fragref> +<src:fragref linkend="multiframe.frag"></src:fragref> +<src:fragref linkend="multiframe.navigation.height.frag"></src:fragref> +<src:fragref linkend="multiframe.top.bgcolor.frag"></src:fragref> +<src:fragref linkend="nav.separator.frag"></src:fragref> +<src:fragref linkend="next.image.frag"></src:fragref> +<src:fragref linkend="no.home.image.frag"></src:fragref> +<src:fragref linkend="no.next.image.frag"></src:fragref> +<src:fragref linkend="no.prev.image.frag"></src:fragref> +<src:fragref linkend="no.toc.image.frag"></src:fragref> +<src:fragref linkend="no.up.image.frag"></src:fragref> +<src:fragref linkend="output.indent.frag"></src:fragref> +<src:fragref linkend="overlay.frag"></src:fragref> +<src:fragref linkend="overlay.js.frag"></src:fragref> +<src:fragref linkend="overlay.logo.frag"></src:fragref> +<src:fragref linkend="plus.image.frag"></src:fragref> +<src:fragref linkend="prev.image.frag"></src:fragref> +<src:fragref linkend="script.dir.frag"></src:fragref> +<src:fragref linkend="show.foil.number.frag"></src:fragref> +<src:fragref linkend="showtoc.image.frag"></src:fragref> +<src:fragref linkend="slides.js.frag"></src:fragref> +<src:fragref linkend="text.home.frag"></src:fragref> +<src:fragref linkend="text.next.frag"></src:fragref> +<src:fragref linkend="text.prev.frag"></src:fragref> +<src:fragref linkend="text.toc.frag"></src:fragref> +<src:fragref linkend="text.up.frag"></src:fragref> +<src:fragref linkend="titlefoil.html.frag"></src:fragref> +<src:fragref linkend="toc.bg.color.frag"></src:fragref> +<src:fragref linkend="toc.hide.show.frag"></src:fragref> +<src:fragref linkend="toc.html.frag"></src:fragref> +<src:fragref linkend="toc.image.frag"></src:fragref> +<src:fragref linkend="toc.row.height.frag"></src:fragref> +<src:fragref linkend="toc.width.frag"></src:fragref> +<src:fragref linkend="ua.js.frag"></src:fragref> +<src:fragref linkend="up.image.frag"></src:fragref> +<src:fragref linkend="xbCollapsibleLists.js.frag"></src:fragref> +<src:fragref linkend="xbDOM.js.frag"></src:fragref> +<src:fragref linkend="xbStyle.js.frag"></src:fragref> +<src:fragref linkend="xbLibrary.js.frag"></src:fragref> + +</xsl:stylesheet> + + + + diff --git a/doc/help/xslt/slides/html/param.xsl b/doc/help/xslt/slides/html/param.xsl new file mode 100644 index 00000000..7dad0bc3 --- /dev/null +++ b/doc/help/xslt/slides/html/param.xsl @@ -0,0 +1,68 @@ + + + + + + + +#FFFFFF +toc/bullet.png +slides.css + + + + +hidetoc.gif +active/nav-home.png + +toc/open.png +white + +40 +white + +active/nav-next.png +inactive/nav-home.png +inactive/nav-next.png +inactive/nav-prev.png +inactive/nav-toc.png +inactive/nav-up.png +no + +overlay.js +http://docbook.sourceforge.net/release/buttons/slides-1.png +toc/closed.png +active/nav-prev.png + + +showtoc.gif +slides.js +Home +Next +Prev +ToC +Up + +#FFFFFF + + +active/nav-toc.png +22 +250 + +ua.js +active/nav-up.png +xbCollapsibleLists.js +xbDOM.js +xbStyle.js +xbLibrary.js + + diff --git a/doc/help/xslt/slides/html/plain.xsl b/doc/help/xslt/slides/html/plain.xsl new file mode 100644 index 00000000..47224da3 --- /dev/null +++ b/doc/help/xslt/slides/html/plain.xsl @@ -0,0 +1,472 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/slides/html/slides-common.xsl b/doc/help/xslt/slides/html/slides-common.xsl new file mode 100644 index 00000000..98541640 --- /dev/null +++ b/doc/help/xslt/slides/html/slides-common.xsl @@ -0,0 +1,1541 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <xsl:value-of select="title"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + titlepage + + - + + + + + + + + overlaySetup('lc') + + + + + navigate(event) + + + +
    + + + + + +
    + +
    + +
    + + + + + +
    +
    + + +
    +
    +
    + + +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +
    + + + + + + +

    +
    + + +

    +
    + + +

    +
    + + + + + + + + + + + + + + + : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <xsl:value-of select="slidesinfo/title"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + overlaySetup('lc') + + + + + navigate(event) + + + +
    + + + + + + + +
    + +
    + +
    + + + + + + + +
    +
    + + +
    +
    +
    + + +

    + + + +

    + +

    + + + TableofContents + + +

    +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + . + + + + + + +
    + +
    +
    + +
    +
    +
    +
    + + +
    + + . + + + + + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <xsl:value-of select="title"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + overlaySetup('lc') + + + + + navigate(event) + + + +
    + + + + + + + +
    + + + + + + +
    + +
    + + + + + + + +
    +
    + + + + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + <xsl:value-of select="title"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + overlaySetup('lc') + + + + + navigate(event) + + + +
    + + + + + + + + + +
    + + + + + + +
    + +
    + + + + + + + +
    +
    + + + + +
    +
    + + +
    + + +

    +
    + + + + + + + + + + + +
    + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + position: absolute; visibility: visible; + + + + padding-top: 2in; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + foil + + + + + + foilgroup + + + + + + + + + + + + </span> + + + <span + + class="green" + class="blue" + class="orange" + class="red" + class="brown" + class="violet" + class="black" + class="bold" + + > + + + + + + + + +
    + +
    +
    +
    + + + + + + + + + copyright + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ( + + ) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + +

    +
    + + +
    + + +
    +
    + + + + + + + + + + + + + + + + 1 + 1 + 1 + 0 + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + / + + + + + + + + + + + foil + + + + + + + + + + + foilgroup + + + + + + chunk-filename-error- + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + / + + + +   + + + + +
    diff --git a/doc/help/xslt/slides/html/tables.xsl b/doc/help/xslt/slides/html/tables.xsl new file mode 100644 index 00000000..04625285 --- /dev/null +++ b/doc/help/xslt/slides/html/tables.xsl @@ -0,0 +1,336 @@ + + + + + + + + +#6A719C +220 + + + + + + + + + + + + +
    + + + + + +
    + +
    +
      + + + + + +
    + +
    + + +
    + +
    +
    +
    +
    + + + + + + + + +
    + + + + + +
    + +
    +
      + + + + + +
    + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + +  + + + + + + + + + + + + + + + + + +
    + + + +  + + + + + + +  + + + + + + + + + + + + + + + +
    +
    +
    +
    + +  + + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + + + + + +  + + + + + + + + + + + + + + +
    + + + +  + + + + + + + + + + + + + + + + + + + +  + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + + + + + + + + + + + + + + + +  + + + + + + + + + + + +
    +
    +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +   + + + + + + + + + + + + +
    diff --git a/doc/help/xslt/slides/html/vslides.xsl b/doc/help/xslt/slides/html/vslides.xsl new file mode 100644 index 00000000..f4900995 --- /dev/null +++ b/doc/help/xslt/slides/html/vslides.xsl @@ -0,0 +1,667 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <xsl:value-of select="slidesinfo/title"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + navigate(event) + + + + + + + + + + + + + + + + + + +
     
    + + + + + + + + + + + + + + + + + + +
    + +
    + +
    + +
    +
     
    + + +
    +
    + + +
    + + + + + + + + + <xsl:value-of select="title"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + navigate(event) + + + + + + + + + + + + + + + + + + +
     
    + + + + + + + + + + + + + + + + + + +
    + +
    +
     
    + + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + <xsl:value-of select="title"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + navigate(event) + + + + + + + + + + + + + + + + + + +
     
    + + + + + + + + + + + + + + + + + + + +
    + +
    +
     
    + + +
    +
    + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + <xsl:value-of select="title"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + navigate(event) + + + + + + + + + + + + + + + + + + +
     
    + + + + + + + + + + + + + + + + + + + +
    + +
    +
     
    + + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + First + + + + + + + + + + First + + + + + + + + +
    + + + + + + + Previous + + + + + + + + + + Previous + + + + + + + + +
    + + + + + + + Last + + + + + + + + + + Last + + + + + + + + +
    + + + + + + + Next + + + + + + + + + + Next + + + + + + + + + +
    +
    + + + + + ToC + + + + + + + + + + ToC + + + + + + + + +
    +
    + +
    diff --git a/doc/help/xslt/slides/html/w3c.xsl b/doc/help/xslt/slides/html/w3c.xsl new file mode 100644 index 00000000..5a5b4202 --- /dev/null +++ b/doc/help/xslt/slides/html/w3c.xsl @@ -0,0 +1,376 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {$logo.title} + + + + + + + + + + position: absolute; visibility: visible; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + + + + + + + + + + + + + + + + + +
    diff --git a/doc/help/xslt/slides/htmlhelp/htmlhelp.xsl b/doc/help/xslt/slides/htmlhelp/htmlhelp.xsl new file mode 100644 index 00000000..4a6b370d --- /dev/null +++ b/doc/help/xslt/slides/htmlhelp/htmlhelp.xsl @@ -0,0 +1,89 @@ + + '> +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • &lf; + &lf; + + + + + +
  • &lf; +
    + +
      &lf; + +
    &lf; +
    +
    + + + + + + + + + + + + + + + +
  • &lf; + &lf; + + + + + +
  • &lf; +
    +
    + +
    diff --git a/doc/help/xslt/slides/keynote/default.xsl b/doc/help/xslt/slides/keynote/default.xsl new file mode 100644 index 00000000..7ff90b11 --- /dev/null +++ b/doc/help/xslt/slides/keynote/default.xsl @@ -0,0 +1,600 @@ + + + + + + + + + Keynote Slides + + + Steve + Ball + + Zveno +
    + + zveno.com + +
    +
    +
    + + $Id: default.xsl 3991 2004-11-10 06:51:55Z balls $ + + + 2004 + 2003 + Steve Ball, Zveno Pty Ltd + + + + Zveno Pty Ltd makes this software and associated documentation available free of charge for any purpose. You may make copies of the software but you must include all of this notice on any copy. + Zveno Pty Ltd does not warrant that this software is error free or fit for any purpose. Zveno Pty Ltd disclaims any liability for all claims, expenses, losses, damages and costs any user may incur as a result of using, copying or modifying the software. + +
    +
    + + + + + + + + + + + + + + + + You must specify your slides document using the "slides" parameter + + + + + + + + + + + + + + + + + + + </drawables> + <transition-style type='inherited'/> + <thumbnails> + <thumbnail file='thumbs/st0.tiff' byte-size='6520' size='60 45'/> + </thumbnails> + <bullets> + <bullet marker-type='inherited' level='0'> + <content tab-stops='L 96' font-size='84' font-color='g1' font-name='GillSans' paragraph-alignment='center'> + <xsl:apply-templates select='slidesinfo/title/node()'/> + </content> + </bullet> + <xsl:choose> + <xsl:when test='slidesinfo/subtitle'> + <bullet marker-type='inherited' level='1'> + <content tab-stops='L 96' font-size='36' font-color='g1' font-name='GillSans' paragraph-alignment='center'> + <xsl:apply-templates select='slidesinfo/subtitle/node()' mode='slides'/> + </content> + </bullet> + </xsl:when> + <xsl:when test='slidesinfo/corpauthor'> + <bullet marker-type='inherited' level='1'> + <content tab-stops='L 96' font-size='36' font-color='g1' font-name='GillSans' paragraph-alignment='center'> + <xsl:apply-templates select='slidesinfo/corpauthor/node()' mode='slides'/> + </content> + </bullet> + </xsl:when> + <xsl:when test='slidesinfo/author'> + <bullet marker-type='inherited' level='1'> + <content tab-stops='L 96' font-size='36' font-color='g1' font-name='GillSans' paragraph-alignment='center'> + <xsl:apply-templates select='slidesinfo/author' mode='slides'/> + </content> + </bullet> + </xsl:when> + </xsl:choose> + </bullets> + <notes font-size='18' font-name='LucidaGrande'> + <xsl:apply-templates select='slidesinfo/*[not(self::title|self::subtitle|self::corpauthor|self::author)]' mode='slides'/> + </notes> + </slide> + + <xsl:if test='foilgroup'> + <xsl:call-template name='overview'/> + </xsl:if> + + <xsl:apply-templates select='foilgroup|foil' mode='slides'/> + </xsl:template> + + <xsl:template name='overview'> + <xsl:param name='current' select='/'/> + + <slide id='overview-{generate-id()}' master-slide-id="{$masters/apxl:master-slide[@name=$overview-master]/@id}"> + <drawables> + <body visibility='tracks-master' vertical-alignment='tracks-master'/> + <title visibility='tracks-master' vertical-alignment='tracks-master'/> + + <xsl:for-each select='ancestor-or-self::slides/foilgroup'> + <textbox id='textbox-{position()}' grow-horizontally='true' transformation='1 0 0 1 {100 + floor((position() - 1) div 10) * 400} {200 + floor((position() - 1) mod 10) * 50}' size='200 50'> + <content tab-stops='L 84' font-size='36' paragraph-alignment='left'> + <xsl:attribute name='font-color'> + <xsl:choose> + <xsl:when test='generate-id() = generate-id($current)'> + <xsl:text>1 0.5 0</xsl:text> + </xsl:when> + <xsl:otherwise>g1</xsl:otherwise> + </xsl:choose> + </xsl:attribute> + <xsl:apply-templates select='title' mode='slides'/> + </content> + </textbox> + </xsl:for-each> + + </drawables> + <transition-style type='inherited'/> + <thumbnails> + <thumbnail file='thumbs/st0.tiff' byte-size='6520' size='60 45'/> + </thumbnails> + <bullets> + <bullet marker-type='inherited' level='0'> + <content tab-stops='L 96' font-size='84' font-color='g1' font-name='GillSans' paragraph-alignment='center'>Overview</content> + </bullet> + </bullets> + </slide> + </xsl:template> + + <xsl:template match='author' mode='slides'> + <xsl:apply-templates select='firstname/node()' mode='slides'/> + <xsl:text> </xsl:text> + <xsl:apply-templates select='surname/node()' mode='slides'/> + </xsl:template> + <xsl:template match='copyright' mode='slides'> + <xsl:text>Copyright (c) </xsl:text> + <xsl:value-of select='year'/> + <xsl:text> </xsl:text> + <xsl:apply-templates select='holder' mode='slides'/> + <xsl:text>. </xsl:text> + </xsl:template> + + <xsl:template match='foilgroup' mode='slides'> + <xsl:variable name='number' select='count(preceding-sibling::foilgroup) + count(preceding::foil) + 1'/> + + <xsl:call-template name='overview'> + <xsl:with-param name='current' select='.'/> + </xsl:call-template> + + <slide id='foilgroup-{generate-id()}'> + <xsl:attribute name='master-slide-id'> + <xsl:choose> + <xsl:when test='*[not(self::foil|self::foilgroupinfo|self::speakernotes)]'> + <xsl:value-of select='$masters/apxl:master-slide[@name=$title-only-master]/@id'/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select='$masters/apxl:master-slide[@name=$foilgroup-master]/@id'/> + </xsl:otherwise> + </xsl:choose> + </xsl:attribute> + + <drawables> + <title visibility='tracks-master' vertical-alignment='tracks-master'/> + <body visibility='hidden' vertical-alignment='tracks-master'/> + <xsl:call-template name='drawables'/> + </drawables> + <transition-style type='inherited'/> + <thumbnails> + <thumbnail file='thumbs/st0.tiff' byte-size='6520' size='60 45'/> + </thumbnails> + <bullets> + <bullet marker-type='inherited' level='0'> + <content tab-stops='L 96' font-size='84' font-color='g1' font-name='GillSans' paragraph-alignment='center'> + <xsl:apply-templates select='title' mode='slides'/> + </content> + </bullet> + + <xsl:apply-templates select='itemizedlist/listitem' mode='slides'/> + </bullets> + <xsl:if test='speakernotes'> + <notes font-size='18' font-name='LucidaGrande'> + <xsl:apply-templates select='speakernotes/para[1]/node()' mode='slides'/> + <xsl:for-each select='speakernotes/para[position() != 1]'> + <xsl:text>; </xsl:text> + <xsl:apply-templates select='node()' mode='slides'/> + </xsl:for-each> + </notes> + </xsl:if> + </slide> + + <xsl:apply-templates select='foil' mode='slides'/> + + </xsl:template> + + <xsl:template match='foil' mode='slides'> + <xsl:variable name='number' select='count(preceding::foilgroup) + count(preceding::foil) + count(preceding-sibling::foil) + 1'/> + + <slide id='foil-{generate-id()}'> + <xsl:attribute name='master-slide-id'> + <xsl:choose> + <xsl:when test='imageobject'> + <xsl:value-of select='$masters/apxl:master-slide[@name=$title-only-master]/@id'/> + </xsl:when> + <xsl:when test='itemizedlist[.//imageobject]'> + <xsl:value-of select='$masters/apxl:master-slide[@name=$bullet-and-image-master]/@id'/> + </xsl:when> + <xsl:when test='itemizedlist'> + <xsl:value-of select='$masters/apxl:master-slide[@name=$bullet-master]/@id'/> + </xsl:when> + <xsl:when test='example|informalexample'> + <xsl:value-of select='$masters/apxl:master-slide[@name=$title-only-master]/@id'/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select='$masters/apxl:master-slide[@name=$bullet-master]/@id'/> + </xsl:otherwise> + </xsl:choose> + </xsl:attribute> + <drawables> + <body visibility='tracks-master' vertical-alignment='tracks-master'/> + <title visibility='tracks-master' vertical-alignment='tracks-master'/> + <xsl:call-template name='drawables'/> + </drawables> + <transition-style type='inherited'/> + <thumbnails> + <thumbnail file='thumbs/st0.tiff' byte-size='6520' size='60 45'/> + </thumbnails> + <bullets> + <bullet marker-type='inherited' level='0'> + <content tab-stops='L 96' font-size='64' font-color='g1' font-name='GillSans' paragraph-alignment='inherited'> + <!-- + <xsl:apply-templates select='../title' mode='slides'/> + <xsl:text>: </xsl:text> +--> + <xsl:apply-templates select='title' mode='slides'/> + </content> + </bullet> + <xsl:apply-templates select='itemizedlist/listitem' mode='slides'/> + </bullets> + <xsl:if test='speakernotes'> + <notes font-size='18' font-name='LucidaGrande'> + <xsl:apply-templates select='speakernotes/para[1]/node()' mode='slides'/> + <xsl:for-each select='speakernotes/para[position() != 1]'> + <xsl:text>; </xsl:text> + <xsl:apply-templates select='node()' mode='slides'/> + </xsl:for-each> + </notes> + </xsl:if> + </slide> + </xsl:template> + + <doc:template xmlns=''> + <title>drawables Template + + This template adds objects to the drawables section of a foil. These include images, as well as unadorned (non-bullet) text. + + A single image is placed centered on the foil. An image on a foil that contains other text is placed on the right-hand-side. + + + + + + + + + 1.0 + video/quicktime + + + + + + + + + + + + + + + + + + {800, 400} + + + + + + + + + + + + + + + + + + + + {0, 300} + + + + + {150, 300} + + + + + {0, 200} + + + + + {150, 200} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ]]> + + + + ]]> + + + + + + + + + + + + + + + + + + + + <![CDATA[ + + + + + + + + + + + + + + + GillSans-Italic + GillSans + + + + + + + + + + + + + " + “ + + + + + + ]]> + ]] > + + + + + + + + + + + + + + + + < + < + + + + + + + ]]> + ]] > + + + + + + + + + + + + + + + + + + + 20 + 0 + + + + + + + + + + + + + + + + + + + + + + + + AmericanTypewriter-CondensedBoldItalic + + + GillSans-BoldItalic + + + AmericanTypewriter-CondensedItalic + + + GillSans-Italic + + + AmericanTypewriter-CondensedBold + + + GillSans-Bold + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    diff --git a/doc/help/xslt/slides/keynote/xsltsl/cmp.xsl b/doc/help/xslt/slides/keynote/xsltsl/cmp.xsl new file mode 100644 index 00000000..6e2866d6 --- /dev/null +++ b/doc/help/xslt/slides/keynote/xsltsl/cmp.xsl @@ -0,0 +1,348 @@ + + + + + + + + $Id: cmp.xsl 6297 2006-09-14 01:32:27Z xmldoc $ + + + Hummel + Mark + + + 2003 + Mark Hummel + + + + XML Compare + + +
    + Introduction + + This module provides a template for comparing two xml documents. + +
    +
    + +
    + + + + Find differences + + + Compare two xml documents and display differences. Two xml documents are defined to be the same if: They have the matching elements and attributes, and that the data in the elements also match. The comparison is order sensitive. + + The element names from the documents at the current depth are compared, followed by their values, then any attribute names and values are compared. The process is applied then to the subtrees of the documents. + + Notes: If there are leaf nodes in one nodeset which don't exist in the other, the value of those 'extra' elements won't appear as a difference. + + + + + + + ns1 + ns2 + + The two nodesets which are to be compared. + + + + + + + Returns the difference between the documents. + + The format of the output is an xml document. A node is added to the result tree for every difference. The node contains the type of difference (e.g element name difference, attribute value difference, etc), the value in the first nodeset and the value in the second nodeset, and the parent node. The indentation level is the depth at which the difference was found relative to the first document. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + node[]: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Compare + + + Recursively compare two xml nodesets, stop when a difference is found and return false. Otherwise return true if the document is identical. + + The element names from the documents at the current depth are compared, followed by their values, then any attribute names and values are compared. The process is applied then to the subtrees of the documents. + + Notes: If there are leaf nodes in one nodeset which don't exist in the other, the value of those 'extra' elements won't appear as a difference. + + + + + + + ns1 + ns2 + + The two nodesets which are to be compared. + + + + + + + False when the nodesets are not identical, empty otherwise. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + diff --git a/doc/help/xslt/slides/keynote/xsltsl/date-time.xsl b/doc/help/xslt/slides/keynote/xsltsl/date-time.xsl new file mode 100644 index 00000000..671260d0 --- /dev/null +++ b/doc/help/xslt/slides/keynote/xsltsl/date-time.xsl @@ -0,0 +1,1524 @@ + + + + + + + $Id: date-time.xsl 3991 2004-11-10 06:51:55Z balls $ + + + Diamond + Jason + + + 2004 + Steve Ball + + + 2001 + Jason Diamond + + + + Date/Time Processing + + +
    + Introduction + + This module provides templates for formatting and parsing date/time strings. + + See http://www.tondering.dk/claus/calendar.html for more information on calendars and the calculations this library performs. + +
    +
    + +
    + + + Returns a string with a formatted date/time. + + + The formatted date/time is determined by the format parameter. The default format is %Y-%m-%dT%H:%M:%S%z, the W3C format. + + + + + + + xsd-date-time + + The date-time value in XML Schemas (WXS) format. + If this value is specified, it takes priority over other parameters. + + + + + year + + Year, in either 2 or 4+ digit format.. + If the year is given as a two digit value, it will be converted to a four digit value using the fixed window method. Values between 00 and 49 will be prepended by "20". Values between 50 and 99 will be prepended by "19". + + + + + month + + Month (1 - 12; January = 1) + + + + + day + + Day of month (1 - 31) + + + + + hour + + Hours since midnight (0 - 23) + + + + + minute + + Minutes after hour (0 - 59) + + + + + second + + Seconds after minute (0 - 59) + + + + + time-zone + + Time zone string (e.g., 'Z' or '-08:00') + + + + + format + + The format specification. + + + + %a + + Abbreviated weekday name + + + + + %A + + Full weekday name + + + + + %b + + Abbreviated month name + + + + + %B + + Full month name + + + + + %c + + Date and time representation appropriate for locale + + + + + %d + + Day of month as decimal number (01 - 31) + + + + + %e + + Day of month as decimal number (1 - 31) + + + + + %H + + Hour in 24-hour format (00 - 23) + + + + + %I + + Hour in 12-hour format (01 - 12) + + + + + %i + + Hour in 12-hour format (1 - 12) + + + + + %j + + Day of year as decimal number (001 - 366) + + + + + %m + + Month as decimal number (01 - 12) + + + + + %n + + Month as decimal number (1 - 12) + + + + + %M + + Minute as decimal number (00 - 59) + + + + + %P + + Current locale's A.M./P.M. indicator for 12-hour clock, uppercase + + + + + %Q + + Current locale's A.M./P.M. indicator for 12-hour clock, uppercase with periods + + + + + %p + + Current locale's A.M./P.M. indicator for 12-hour clock, lowercase + + + + + %q + + Current locale's A.M./P.M. indicator for 12-hour clock, lowercase with periods + + + + + %S + + Second as decimal number (00 - 59) + + + + + %U + + Week of year as decimal number, with Sunday as first day of week (00 - 53) + + + + + %w + + Weekday as decimal number (0 - 6; Sunday is 0) + + + + + %W + + Week of year as decimal number, with Monday as first day of week (00 - 53) + + + + + %x + + Date representation for current locale + + + + + %X + + Time representation for current locale + + + + + %y + + Year without century, as decimal number (00 - 99) + + + + + %Y + + Year with century, as decimal number + + + + + %z + + Time-zone name or abbreviation; no characters if time zone is unknown + + + + + %% + + Percent sign + + + + + + + + + + + + Returns a formatted date/time string. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [not implemented] + + + + + 0 + + + + + + + + + + 0 + + + + + + + 12 + 0 + + 0 + + + + + + + 12 + + + + + + + + + + [not implemented] + + + + + 0 + + + + + + + + + + 0 + + + + + + + am + pm + + + + + + am + p.m. + + + + + + AM + PM + + + + + + AM + P.M. + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [not implemented] + + + + + [not implemented] + + + + + + invalid year value + + + 00 + + + + + + + + + + + invalid year value + + + + + + + + + invalid year value + + + + + + + + + + + % + + + + + + + + + + + + + + + + + + + + + + + Calculates the day of the week. + + + Given any Gregorian date, this calculates the day of the week. + + + + + + year + + Year + + + + month + + Month (1 - 12; January = 1) + + + + day + + Day of month (1 - 31) + + + + + + + Returns the day of the week (0 - 6; Sunday = 0). + + + + + + + + + + + + + + + + + + + Calculates the number of days for a specified month. + + + Given any Gregorian month, this calculates the last day of the month. + + + + + + year + + Year + + + + month + + Month (1 - 12; January = 1) + + + + + + + Returns the number of days in given month as a decimal number. + + + + + + + + + + + 29 + 28 + + + + + 30 + 31 + + + + + 30 + 31 + + + + + + + Gets the day of the week's full name. + + + Converts a numeric day of the week value into a string representing the day's full name. + + + + + + day-of-the-week + + Day of the week (0 - 6; Sunday = 0) + + + + + + + Returns a string. + + + + + + + + + Sunday + Monday + Tuesday + Wednesday + Thursday + Friday + Saturday + error: + + + + + + Gets the day of the week's abbreviation. + + + Converts a numeric day of the week value into a string representing the day's abbreviation. + + + + + + day-of-the-week + + Day of the week (0 - 6; Sunday = 0) + + + + + + + Returns a string. + + + + + + + + + Sun + Mon + Tue + Wed + Thu + Fri + Sat + error: + + + + + + Gets the month's full name. + + + Converts a numeric month value into a string representing the month's full name. + + + + + + month + + Month (1 - 12; Januaray = 1) + + + + + + + Returns a string. + + + + + + + + + January + February + March + April + May + June + July + August + September + October + November + December + error: + + + + + + Gets the month's abbreviation. + + + Converts a numeric month value into a string representing the month's abbreviation. + + + + + + month + + Month (1 - 12; Januaray = 1) + + + + + + + Returns a string. + + + + + + + + + Jan + Feb + Mar + Apr + May + Jun + Jul + Aug + Sep + Oct + Nov + Dec + error: + + + + + + Calculates the Julian Day for a specified date. + + + Given any Gregorian date, this calculates the Julian Day. + + + + + + year + + Year + + + + month + + Month (1 - 12; January = 1) + + + + day + + Day of month (1 - 31) + + + + + + + Returns the Julian Day as a decimal number. + + + + + + + + + + + + + + + + + + + Returns a string with a formatted date for a specified Julian Day. + + + Given any Julian Day, this returns a string according to the format specification. + + + + + + julian-day + + A Julian Day + + + + format + + The format specification. See dt:format-date-time for more details. + + + + + + + A string. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Calculates the week number for a specified date. + + + Assumes Monday is the first day of the week. + + + + + + year + + Year + + + + month + + Month (1 - 12; January = 1) + + + + day + + Day of month (1 - 31) + + + + + + + Returns the week number as a decimal number. + + + + + + + + + + + + + + + + + + + + + + + + + + + Take a month by name and return a number which can be used as input to the templates. + + + Input + + + + + + month + + Month as described either by full name or abbreviation. + + + + + + + Return a month as a decimal number. (Jan = 1) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Return year component of XSD DateTime value. + + + Extract component of XML Schemas DateTime value. + + + + + + xsd-date-time + + A value in XSD DateTime format. + + + + + + + Returns year component. + + + + + + + + + + + + + + + + + + + + + + + + + Return month component of XSD DateTime value. + + + Extract component of XML Schemas DateTime value. + + + + + + xsd-date-time + + A value in XSD DateTime format. + + + + + + + Returns month component. + + + + + + + + + + + + + + + + + + + + + + + + + Return day component of XSD DateTime value. + + + Extract component of XML Schemas DateTime value. + + + + + + xsd-date-time + + A value in XSD DateTime format. + + + + + + + Returns day component. + + + + + + + + + + + + + + + + + + + + + + + + + Return hour component of XSD DateTime value. + + + Extract component of XML Schemas DateTime value. + + + + + + xsd-date-time + + A value in XSD DateTime format. + + + + + + + Returns hour component. + + + + + + + + + + + + + + + + + + + + + + + + + + Return minute component of XSD DateTime value. + + + Extract component of XML Schemas DateTime value. + + + + + + xsd-date-time + + A value in XSD DateTime format. + + + + + + + Returns minute component. + + + + + + + + + + + + + + + + + + + + + + + + + + Return second component of XSD DateTime value. + + + Extract component of XML Schemas DateTime value. + + + + + + xsd-date-time + + A value in XSD DateTime format. + + + + + + + Returns second component. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Return timezone component of XSD DateTime value. + + + Extract component of XML Schemas DateTime value. + + + + + + xsd-date-time + + A value in XSD DateTime format. + + + + + + + Returns timezone component. + + + + + + + + Z + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + Return two digit year as four digit year value. + + + Prepend century to two digit year value. + Century value is calculated according to suggested solutions in RFC2626 (section 5). + Fixed window solution: 20 is prepended to year if the year is less than 50, otherwise 19 is prepended to year. + Sliding window solution: The year is considered in the future if the year is less than the current 2 digit year plus 'n' years (where 'n' is a param), otherwise it is considered in the past. + + + + + + year + + A year value in 2 digit format. + + + + method + + RFC2626 suggested solution ('fixed' or 'sliding'). Default is 'fixed'. + + + + n + + No. of years. Used in sliding windows solution. + + + + + + + Returns four digit year value. + + + + + + + + + invalid year value + + + 20 + 19 + + + + not yet implemented + invalid method + + + +
    diff --git a/doc/help/xslt/slides/keynote/xsltsl/example.xsl b/doc/help/xslt/slides/keynote/xsltsl/example.xsl new file mode 100644 index 00000000..349bab9e --- /dev/null +++ b/doc/help/xslt/slides/keynote/xsltsl/example.xsl @@ -0,0 +1,90 @@ + + + + + + + + $Id: example.xsl 3991 2004-11-10 06:51:55Z balls $ + + + Ball + Steve + + + 2001 + Steve Ball + + + + Example Stylesheet + + +
    + Introduction + + This module provides a template for adding stylesheet modules to the XSLT Standard Library. + To add a new module to the library, follow these easy steps: + + + Copy this file and replace its contents with the new module templates and documentation. + + + Copy the corresponding test file in the test directory. Replace its contents with tests for the new module. + + + Add an include element in the stdlib.xsl stylesheet. + + + Add an entry in the test/test.xml file. + + + Add entries in the test/test.xsl stylesheet. + + + Add an entry in the doc/build.xml file. + + + + The example.xsl stylesheet provides a more extensive example. + +
    +
    + +
    + + + Template Example + + + Provides a template for writing templates. Replace this paragraph with a description of your template + + + + + + text + + The example string + + + + + + + Returns nothing. + + + + + + + +
    + diff --git a/doc/help/xslt/slides/keynote/xsltsl/markup.xsl b/doc/help/xslt/slides/keynote/xsltsl/markup.xsl new file mode 100644 index 00000000..cff2485b --- /dev/null +++ b/doc/help/xslt/slides/keynote/xsltsl/markup.xsl @@ -0,0 +1,789 @@ + + + + + + $Id: markup.xsl 3991 2004-11-10 06:51:55Z balls $ + + + Ball + Steve + + + 2003 + 2001 + Steve Ball + + + + XML Markup Templates + + +
    + Introduction + + This stylesheet module provides functions for generating literal XML markup. + +
    +
    + +
    + + + Create an XML Declaration + + + This template returns an XML Declaration. Although the XSLT standard provides control over the generation of the XML Declaration, this template may be useful in circumstances where the values must be computed at runtime. + + + + + + version + + Version number. + + + + standalone + + Standalone indication. Must be value "yes" or "no". + + + + encoding + + Character encoding. + + + + + + + Returns an XML Declaration as a string. + + + + + + + + + <?xml version=" + + " + + + + + standalone=" + + " + + + invalid value "" for standalone attribute + + + + + encoding=" + + " + + + ?> + + + + + Create a Document Type Declaration + + + This template returns a Document Type Declaration. Although the XSLT standard provides control over the generation of a Document Type Declaration, this template may be useful in circumstances where the values for the identifiers or the internal subset must be computed at runtime. + + + + + + docel + + The name of the document element. + + + + publicid + + The public identifier for the external DTD subset. + + + + systemid + + The system identifier for the external DTD subset. + + + + internaldtd + + The internal DTD subset. + + + + + + + Returns a Document Type Declaration as a string. + + + + + + + + + + + No document element specified + + + <!DOCTYPE + + + + + + + + + + [ + + ] + + + > + + + + + Create an Element Declaration + + + This template returns an element declaration.. + + + + + + type + + The element type. + + + + content-spec + + The content specification. + + + + + + + Returns an element declaration as a string. + + + + + + + + + element type must be specified + + + content specification must be specified + + + <!ELEMENT + + + + > + + + + Create an Attribute List Declaration + + + This template returns an attribute list declaration. + + + + + + type + + The element type. + + + + attr-defns + + Attribute definitions. + + + + + + + Returns an attribute list declaration as a string. + + + + + + + + + element type must be specified + + + <!ATTLIST + + + + > + + + + Create an Attribute Definition + + + This template returns an attribute definition. + + + + + + name + + The attribute name. + + + + type + + The attribute type. + + + + default + + The attribute default. + + + + + + + Returns an attribute definition as a string. + + + + + + + + + + attribute name must be specified + + + attribute type must be specified + + + attribute default must be specified + + + + + + + + + + + + Create an Entity Declaration + + + This template returns an entity declaration. + If the 'text' parameter is given a value, then an internal entity is created. If either the 'publicid' or 'systemid' parameters are given a value then an external entity is created. It is an error for the 'text' parameter to have value as well as the 'publicid', 'systemid' or 'notation' parameters. + + + + + + name + + The entity name. + + + + parameter + + Boolean value to determine whether a parameter entity is created. Default is 'false()'. + + + + text + + The replacement text. Must be a string. + + + + nodes + + The replacement text as a nodeset. The nodeset is formatted as XML using the as-xml template. If both text and nodes are specified then nodes takes precedence. + + + + publicid + + The public identifier for an external entity. + + + + systemid + + The system identifier for an external entity. + + + + notation + + The notation for an external entity. + + + + + + + Returns an entity declaration as a string. + + + + + + + + + + + + + + entity name must be specified + + + both replacement text and external identifier specified + + + <!ENTITY + + + + % + + + + + + + + + + + + + + + + + + + + + + + + + + + NDATA " + + " + + + > + + + + Quote an Attribute Value + + + This template returns a quoted value. + + + + + + value + + The value to quote. + + + + + + + Returns a quote value as a string. + + + + + + + + + + + + + + + + + < + + &lt; + + + + + + + + + + + + + + " + ' + + + + " + + + " + + &quot; + + + " + + + ' + + ' + + + " + + " + + + + + + Create an External Identifier + + + This template returns an external identifier. + + + + + + publicid + + The public identifier. + + + + systemid + + The system identifier. + + + + + + + Returns an external identifier as a string. + + + + + + + + + + + + + + PUBLIC " + + " + + " + + " + + + + + + + SYSTEM " + + " + + + + + + Create an Entity Reference + + + This template returns an entity reference. + + + + + + name + + The name of the entity. + + + + + + + Returns an entity reference as a string. + + + + + + + & + + ; + + + + + Create a Notation Declaration + + + This template returns a notation declaration. + + + + + + name + + The notation name. + + + + publicid + + The public identifier for the notation. + + + + systemid + + The system identifier for the notation. + + + + + + + Returns a notation declaration as a string. + + + + + + + + + + notation name must be specified + + + external identifier must be specified + + + <!NOTATION + + + + + + + + + > + + + + Create a CDATA Section + + + This template returns a CDATA Section. The XSLT specification provides a mechanism for instructing the XSL processor to output character data in a CDATA section for certain elements, but this template may be useful in those circumstances where not all instances of an element are to have their content placed in a CDATA section. + + + + + + text + + The content of the CDATA section. + + + + + + + Returns a CDATA section as a string. + + + + + + + + CDATA section contains "]]>" + + + <![CDATA[ + + ]]> + + + + Format Nodeset As XML Markup + + + This template returns XML markup. Each node in the given nodeset is converted to its equivalent XML markup. + + BUG: This version may not adequately handle XML Namespaces. + + + + + + nodes + + Nodeset to format as XML. + + + + + + + Returns XML markup. + + + + + + + + + + < + + + + + = + + + + + + + + > + + + + </ + + > + + + /> + + + + + + + + <!-- + + --> + + + <? + + + + ?> + + + + + + + + + + + + + +
    diff --git a/doc/help/xslt/slides/keynote/xsltsl/math.xsl b/doc/help/xslt/slides/keynote/xsltsl/math.xsl new file mode 100644 index 00000000..e3e14dde --- /dev/null +++ b/doc/help/xslt/slides/keynote/xsltsl/math.xsl @@ -0,0 +1,704 @@ + + + + + + + $Id: math.xsl 3991 2004-11-10 06:51:55Z balls $ + + + Ball + Steve + + + 2004 + 2002 + Steve Ball + + + + Math Module + + +
    + Introduction + + This module provides mathematical functions. +
    +
    + +
    + + + Power + + + Raises a number to a power. + + + + + + base + + The base number. Must be a number. + + + + power + + The power to raise the number to. Must be an integer. + + + + + + + Returns base multiplied by itself power times. If the base or power are not numbers or if the power is fractional then an empty string is returned. + + + + + + + + + + 1 + + + 1 + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Absolute Value + + + Absolute value of a number. + + + + + + number + + The number. Must be a number. + + + + + + + Returns the absolute value of the number. + + + + + + + + + + + + + + + + + + Conversion + + + Converts a hexidecimal value to a decimal value. + + + + + + value + + The hexidecimal number. Must be a number in hexidecimal format. + + + + + + + Returns the value as a decimal string. If the value is not a number then a NaN value is returned. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 10 + 11 + 12 + 13 + 14 + 15 + + + + + Conversion + + + Converts a decimal value to a hexidecimal value. + + + + + + value + + The decimal number. + + + + + + + Returns the value as a hexidecimal string (lowercase). If the value is not a number then a NaN value is returned. + + + + + + + + 0 + NaN + + + + + + + + + + a + b + c + d + e + f + + + + + + + + Ordinal number + + + Gives the ordinal number of a given counting number. For example, 1 becomes "1st". + + + + + + number + + An integer number. + + + + + + + Returns the number with an ordinal suffix. + + + + + + + + + + + + th + st + nd + rd + th + + + + + + + + Returns an ordinal number + + + This template returns the ordinal number for a given counting number as a word. For example "first" for 1. + Only handles numbers less than 10000000 (ten million). + + + + + + number + + The counting number. + + + + conjunctive + + Whether to add the word "and" to the result, for example "one hundred and first" rather than "one hundred first". Default is "yes". + + + + + + + Returns the ordinal number as a string. + + + + + + + + + + + zeroth + + + + + and + first + + + and + second + + + and + third + + + and + fourth + + + and + fifth + + + and + sixth + + + and + seventh + + + and + eighth + + + and + ninth + + + and + tenth + + + and + eleventh + + + and + twelveth + + + and + thirteenth + + + and + fourteenth + + + and + fifteenth + + + and + sixteenth + + + and + seventeenth + + + and + eighteenth + + + and + nineteenth + + + and + twentieth + + + and + thirtieth + + + and + fortieth + + + and + fiftieth + + + and + sixtieth + + + and + seventieth + + + and + eightieth + + + and + ninetieth + + + + + + + millionth + + + and + + + + thousandth + + + and + + + + hundredth + + + + + + and + + + + + + + + + + + + + + + + + + + + + + + + + + and + + + + + + + + + + + + + + + + + + + + + + + + + + + and + + + + + + + + + + + + + + + and + + + + + + + + + + + + + + + + + Returns a number as a word + + + This template returns the word for a given integer number, for example "one" for 1. + Only handles numbers less than 10000000 (ten million). + + + + + + number + + The counting number. + + + + conjunctive + + Adds the word "and" where appropriate, for example. + + + + + + + Returns the number as a string. + + + + + + + + + + zero + + + minus + + + + + + + + + + + + million + + + + + + million + + + + + + + + + thousand + + + + + + thousand + and + + + + + + + + + hundred + + + + + + hundred + and + + + + + + one + two + three + four + five + six + seven + eight + nine + ten + eleven + twelve + thirteen + fourteen + fifteen + sixteen + seventeen + eighteen + nineteen + twenty + thirty + forty + fifty + sixty + seventy + eighty + ninety + + + + + + + + + + + + +
    + diff --git a/doc/help/xslt/slides/keynote/xsltsl/node.xsl b/doc/help/xslt/slides/keynote/xsltsl/node.xsl new file mode 100644 index 00000000..bf4fd7f8 --- /dev/null +++ b/doc/help/xslt/slides/keynote/xsltsl/node.xsl @@ -0,0 +1,229 @@ + + + + + + + + $Id: node.xsl 3991 2004-11-10 06:51:55Z balls $ + + + Ball + Steve + + + 2001 + Steve Ball + + + + Node Templates + + +
    + Introduction + + This stylesheet module provides functions for reporting on or manipulating nodes and nodesets. + +
    +
    + +
    + + + Returns an XPath location path + + + This template returns an XPath location path that uniquely identifies the given node within the document. + + + + + + node + + The node to create an XPath for. If this parameter is given as a nodeset, then the first node in the nodeset is used. + + + + + + + Returns an XPath location path as a string. + + + + + + + + + + + + / + [] + + + + + + /comment() + [] + + + + /processing-instruction() + [] + + + + /text() + [] + + + + / + + + + /namespace:: + + + + /@ + + + + + + + /.. + + + + + + + + Return node type + + + Returns the type of a node as a string. + + + + + + node + + The node to get the type for. If this parameter is given as a nodeset, then the first node in the nodeset is used. + + + + + + + Returns node type as a string. Values returned are: + + + Element + + element + + + + Text Node + + text + + + + Comment + + comment + + + + Processing Instruction + + processing instruction + + + + + + + + + + + + + element + + + text + + + comment + + + processing instruction + + + root + + + namespace + + + attribute + + + + + + Copy Nodes + + + Makes a copy of the given nodes, including attributes and descendants. + + + + + + nodes + + The nodes to copy. + + + + + + + Returns the copied nodes as a result tree fragment. + + + + + + + + + + + + + + + + + + +
    + diff --git a/doc/help/xslt/slides/keynote/xsltsl/stdlib.xsl b/doc/help/xslt/slides/keynote/xsltsl/stdlib.xsl new file mode 100644 index 00000000..c014f13c --- /dev/null +++ b/doc/help/xslt/slides/keynote/xsltsl/stdlib.xsl @@ -0,0 +1,340 @@ + + +]> + + + + + + + + + + + + + + + + + + + + XSLT Standard Library + Version &version; + + + + Ball + Steve + + + 2004 + 2002 + Steve Ball + + + + + The XSLT Standard Library, xsltsl, provides the XSLT developer with a set of XSLT templates for commonly used functions. These are implemented purely in XSLT, that is they do not use any extensions. + xsltsl is a SourceForge project. + + + + + + SourceForge Logo + + + Goals of the xsltsl project include: + + + Provision of a high-quality library of XSLT templates, suitable for inclusion by vendors in XSLT processor software products. + + + Demonstration of best practice in XSLT stylesheet development and documentation. + + + Provide examples of various techniques used to develop XSLT stylesheets (ie. a working FAQ). + + + + + + Using The Library + + There are two ways of using the library: + + + Use a local copy of the library. + + + Download the distribution (see below). + + + Unpack the distribution, using either gunzip/tar or unzip. + + + In your stylesheet import or include either the main stylesheet, stdlib.xsl, or the stylesheet module you wish to use, such as string.xsl. This example assumes that the distribution has been extracted into the same directory as your own stylesheet: + + +]]> + + + + + + Import or include either the main stylesheet, or the stylesheet module you wish to use, directly from the library website; http://xsltsl.sourceforge.net/modules/. The modules directory always contains the latest stable release. For example: + + +]]> + + Older versions of the library are available in subdirectories. For example, to access version 1.1 of the library use: + + +]]> + + + + Next, add XML Namespace declarations for the modules you wish to use. For example, to use templates from the string module, your stylesheet should have the following declaration: + + + + +]]> + + Finally, use a template with the call-template element. Most templates require parameters, which are passed using the with-param element. For example: + + + + + a word + another word + + +]]> + + + + + Obtaining The Library + + The XSLT Standard Library is available for download as either: + + + Gzip'd tarball: http://prdownloads.sourceforge.net/xsltsl/xsltsl-&version;.tar.gz + + + Zip file: http://prdownloads.sourceforge.net/xsltsl/xsltsl-&version;.zip + + + + + + Getting Involved + + Contributions to the project are most welcome, and may be in the form of stylesheet modules, patches, bug reports or sample code. Any contributed code must use the LGPL license to be accepted into the library. + + See the SourceForge Project Page http://sourceforge.net/projects/xsltsl/ for information on the development of the project. Bug reports may be submitted here. + + See the project Web Page http://xsltsl.sourceforge.net/ for documentation. + + There are three mailing lists for the project: + + + xsltsl-users@lists.sourceforge.net + + Discussion of the use of xsltsl. + + + + xsltsl-devel@lists.sourceforge.net + + Discussion of the development of xsltsl. + + + + xsltsl-announce@lists.sourceforge.net + + Project announcements. + + + + + + + XML Namespaces + + Apart from the XSLT XML Namespace (http://www.w3.org/1999/XSL/Transform), xsltsl employs a number of XML Namespaces to allow inclusion of the library in developer stylesheets. In addition, documentation is defined in a separate namespace. + Each module is allocated a namespace URI by appending the module name to the URI for the project, http://xsltsl.org/. For example, the string module has the namespace URI http://xsltsl.org/string. + All documentation is written using an extension of DocBook designed for embedding DocBook into XSLT stylesheets. The namespace URI for DocBook embedded in stylesheets is http://xsltsl.org/xsl/documentation/1.0 + + + + Engineering Standards + + In order to maintain a high engineering standard, all modules and contributions to the xsltsl project must adhere to the following coding and documentation standards. Submissions which do not meet (or exceed) this standard will not be accepted. + + + All stylesheets must be indented, with each level indented by two spaces. NB. a simple stylesheet could be used to enforce/fix this. + + + Templates are named using a qualified name (QName). The namespace URI for the template's containing stylesheet is assigned as above. + + + Parameters for templates should use sensible names. Where possible (or if in doubt), follow these conventions: + + + A parameter containing a single node is named node. Where more than one parameter contains a single node, the suffix Node is appended to the parameter name, eg. referenceNode + + + A parameter which potentially contains multiple nodes is named nodes. Where more than one parameter potentially contains multiple nodes, the suffix Nodes is appended to the parameter name, eg. copyNodes + + + A parameter which contains a string value is named text. + + + + + All templates in each stylesheet must be documented. A template is documented as a DocBook RefEntry. + + + Every stylesheet must include a test suite. The test system is in the test subdirectory. See test/test.html for further details. + + + + An example stylesheet has been provided, which acts as a template for new stylesheet modules. + + + + + Related Work + + The EXSLT project is creating a library to standardise extension functions. The XSLT Standard Library is complementary to the EXSLT project. + + + + + Reference Documentation + + Reference documentation is available for each module. + +
    + String Processing + + + + string.xsl + + +
    + +
    + Nodes + + + + node.xsl + + +
    + +
    + Date/Time Processing + + + + date-time.xsl + + +
    + +
    + Mathematics + + + + math.xsl + + +
    + +
    + URI (Uniform Resource Identifier) Processing + + + + uri.xsl + + +
    + +
    + Comparing Nodesets + + + + cmp.xsl + + +
    + +
    + Generating XML Markup + + + + markup.xsl + + +
    + +
    + Presentation Media Support + + + + Scalable Vector Graphics: svg.xsl + + + +
    + +
    + Example + + + + + + example.xsl + + +
    +
    + +
    + +
    diff --git a/doc/help/xslt/slides/keynote/xsltsl/string.xsl b/doc/help/xslt/slides/keynote/xsltsl/string.xsl new file mode 100644 index 00000000..e7eef8bf --- /dev/null +++ b/doc/help/xslt/slides/keynote/xsltsl/string.xsl @@ -0,0 +1,1233 @@ + + + + + + + + $Id: string.xsl 3991 2004-11-10 06:51:55Z balls $ + + + Ball + Steve + + + 2002 + 2001 + Steve Ball + + + + String Processing + + +
    + Introduction + + This module provides templates for manipulating strings. + +
    +
    + +
    + + + + + + + + + + + + + Make string uppercase + + + Converts all lowercase letters to uppercase. + + + + + + text + + The string to be converted + + + + + + + Returns string with all uppercase letters. + + + + + + + + + + + + + + ß + + + S + S + + + + + + + + + Make string lowercase + + + Converts all uppercase letters to lowercase. + + + + + + text + + The string to be converted + + + + + + + Returns string with all lowercase letters. + + + + + + + + + + + Capitalise string + + + Converts first character of string to an uppercase letter. All remaining characters are converted to lowercase. + + + + + + text + + The string to be capitalised + + + + all + + Boolean controlling whether all words in the string are capitalised. + Default is true. + + + + + + + Returns string with first character uppcase and all remaining characters lowercase. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Convert a string to one camelcase word + + + Converts a string to one lowerCamelCase or UpperCamelCase + word, depending on the setting of the "upper" + parameter. UpperCamelCase is also called MixedCase while + lowerCamelCase is also called just camelCase. The template + removes any spaces, tabs and slashes, but doesn't deal with + other punctuation. It's purpose is to convert strings like + "hollow timber flush door" to a term suitable as identifier or + XML tag like "HollowTimberFlushDoor". + + + + + + + text + + The string to be capitalised + + + + upper + + Boolean controlling whether the string becomes an + UpperCamelCase word or a lowerCamelCase word. + Default is true. + + + + + + + Returns string with first character uppcase and all remaining characters lowercase. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + String extraction + + + Extracts the portion of string 'text' which occurs before any of the characters in string 'chars'. + + + + + + text + + The string from which to extract a substring. + + + + chars + + The string containing characters to find. + + + + + + + Returns string. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + String extraction + + + Extracts the portion of string 'text' which occurs after the last of the character in string 'chars'. + + + + + + text + + The string from which to extract a substring. + + + + chars + + The string containing characters to find. + + + + + + + Returns string. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + String extraction + + + Extracts the portion of string 'text' which occurs before the first character of the last occurance of string 'chars'. + + + + + + text + + The string from which to extract a substring. + + + + chars + + The string containing characters to find. + + + + + + + Returns string. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + String substitution + + + Substitute 'replace' for 'with' in string 'text'. + + + + + + text + + The string upon which to perform substitution. + + + + replace + + The string to substitute. + + + + with + + The string to be substituted. + + + + disable-output-escaping + + A value of yes indicates that the result should have output escaping disabled. Any other value allows normal escaping of text values. The default is to enable output escaping. + + + + + + + Returns string. + + + + + + + + no + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Count Substrings + + + Counts the number of times a substring occurs in a string. This can also counts the number of times a character occurs in a string, since a character is simply a string of length 1. + + + + Counting Lines + + + + +]]> + + + + + + text + + The source string. + + + + chars + + The substring to count. + + + + + + + Returns a non-negative integer value. + + + + + + + + + + 0 + + + + + + + + + + + + 0 + + + + + + String extraction + + Extracts the portion of a 'char' delimited 'text' string "array" at a given 'position'. + + + + + text + + The string from which to extract a substring. + + + + chars + + delimiters + + + + position + + position of the elements + + + + all + + If true all of the remaining string is returned, otherwise only the element at the given position is returned. Default: false(). + + + + + + Returns string. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + String extraction + + Extracts the portion of a 'char' delimited 'text' string "array" at a given 'position' + + + + + text + + The string from which to extract a substring. + + + + chars + + delimiters + + + + position + + position of the elements + + + + + + Returns string. + + + + + + + + + + + + + + + + + + + + + + + + + + + String insertion + + Insert 'chars' into "text' at any given "position' + + + + + text + + The string upon which to perform insertion + + + + position + + the position where insertion will be performed + + + + with + + The string to be inserted + + + + + + Returns string. + + + + + + + + + + + + + + + + + String reversal + + + Reverse the content of a given string + + + + + + text + + The string to be reversed + + + + + + + Returns string. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Format a string + + + Inserts newlines and spaces into a string to format it as a block of text. + + + + + + text + + String to be formatted. + + + + max + + Maximum line length. + + + + indent + + Number of spaces to insert at the beginning of each line. + + + + justify + + Justify left, right or both. Not currently implemented (fixed at "left"). + + + + + + + Formatted block of text. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Find first occurring character in a string + + + Finds which of the given characters occurs first in a string. + + + + + + text + + The source string. + + + + chars + + The characters to search for. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Match A String To A Pattern + + + Performs globbing-style pattern matching on a string. + + + + Match Pattern + + + + +]]> + + + + + + text + + The source string. + + + + pattern + + The pattern to match against. Certain characters have special meaning: + + + * + + Matches zero or more characters. + + + + ? + + Matches a single character. + + + + \ + + Character escape. The next character is taken as a literal character. + + + + + + + + + + Returns "1" if the string matches the pattern, "0" otherwise. + + + + + + + + + + + 1 + + + 1 + + + 0 + + + + + + + + + + + + + + + + + + + + + + 0 + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + + 1 + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + Create A Repeating Sequence of Characters + + + Repeats a string a given number of times. + + + + + + text + + The string to repeat. + + + + count + + The number of times to repeat the string. + + + + + + + + + + + + + + + + + + + + + + +
    + diff --git a/doc/help/xslt/slides/keynote/xsltsl/svg.xsl b/doc/help/xslt/slides/keynote/xsltsl/svg.xsl new file mode 100644 index 00000000..1254ab92 --- /dev/null +++ b/doc/help/xslt/slides/keynote/xsltsl/svg.xsl @@ -0,0 +1,177 @@ + + + + + + + + + $Id: svg.xsl 3991 2004-11-10 06:51:55Z balls $ + + + Ball + Steve + + + 2002 + Steve Ball + + + + SVG Stylesheet + + +
    + Introduction + + This module provides templates for creating SVG images. +
    +
    +
    + + + Aqua-style Button + + + Part of the mechanism to create an Aqua-style button. Include a call to this template in your SVG document's defs element. This template only needs to be included once. Use this in conjunction with svg:aqua-button. + + The default values for color1, color2 and color3 result in a grey button. + + + + + + prefix + + A prefix to append to the identifiers used, so that they don't clash with other identifiers. Default: "aqua-". + + + + color1 + + The base colour of the button. Default: "#d9d9d9". + + + + color2 + + A "background" colour for the button. Should be a darker colour than color1. Default: "#a9a9a9". + + + + color3 + + A highlight colour for the button. Should be a lighter colour than color1. Default: "#f9f9f9". + + + + + + + Returns SVG result-tree-fragment. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Aqua-style Button + + + Part of the mechanism to create an Aqua-style button. Include a call to this template in your SVG document where you want a button to appear. This template can be used many times in a single SVG document. Use this in conjunction with svg:aqua-button-defs. + + + + + + prefix + + A prefix to append to the identifiers used, so that they don't clash with other identifiers. Default: "aqua-". + + + + + + + Returns SVG result-tree-fragment. + + + + + + + + + + + + + + + + + +
    diff --git a/doc/help/xslt/slides/keynote/xsltsl/uri.xsl b/doc/help/xslt/slides/keynote/xsltsl/uri.xsl new file mode 100644 index 00000000..df1f738d --- /dev/null +++ b/doc/help/xslt/slides/keynote/xsltsl/uri.xsl @@ -0,0 +1,580 @@ + + + + + + + + $Id: uri.xsl 3991 2004-11-10 06:51:55Z balls $ + + + Diamond + Jason + + + 2001 + Jason Diamond + + + + URI (Uniform Resource Identifier) Processing + + +
    + Introduction + This module provides templates for processing URIs (Uniform Resource Identifers). +
    +
    + +
    + + + Determines if a URI is absolute or relative. + + + Absolute URIs start with a scheme (like "http:" or "mailto:"). + + + + + + uri + + An absolute or relative URI. + + + + + + + Returns 'true' if the URI is absolute or '' if it's not. + + + + + + + + + + + + + + Gets the scheme part of a URI. + + + The ':' is not part of the scheme. + + + + + + uri + + An absolute or relative URI. + + + + + + + Returns the scheme (without the ':') or '' if the URI is relative. + + + + + + + + + + + + Gets the authority part of a URI. + + + The authority usually specifies the host machine for a resource. It always follows '//' in a typical URI. + + + + + + uri + + An absolute or relative URI. + + + + + + + Returns the authority (without the '//') or '' if the URI has no authority. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets the path part of a URI. + + + The path usually comes after the '/' in a URI. + + + + + + uri + + An absolute or relative URI. + + + + + + + Returns the path (with any leading '/') or '' if the URI has no path. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets the query part of a URI. + + + The query comes after the '?' in a URI. + + + + + + uri + + An absolute or relative URI. + + + + + + + Returns the query (without the '?') or '' if the URI has no query. + + + + + + + + + + + + + + + + + + + Gets the fragment part of a URI. + + + The fragment comes after the '#' in a URI. + + + + + + uri + + An absolute or relative URI. + + + + + + + Returns the fragment (without the '#') or '' if the URI has no fragment. + + + + + + + + + + + + Resolves a URI reference against a base URI. + + + This template follows the guidelines specified by RFC 2396. + + + + + + reference + + A (potentially relative) URI reference. + + + + base + + The base URI. + + + + document + + The URI of the current document. This defaults to the value of the base URI if not specified. + + + + + + + The "combined" URI. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    diff --git a/doc/help/xslt/slides/svg/default.xsl b/doc/help/xslt/slides/svg/default.xsl new file mode 100644 index 00000000..86ea1338 --- /dev/null +++ b/doc/help/xslt/slides/svg/default.xsl @@ -0,0 +1,686 @@ + + + + + + + SVG Slides + + + Steve + Ball + + Zveno +
    + + zveno.com + +
    +
    +
    + + $Id: default.xsl 6567 2007-01-30 06:43:18Z xmldoc $ + + + 2002 + Steve Ball, Zveno Pty Ltd + + + + Zveno Pty Ltd makes this software and associated documentation available free of charge for any purpose. You may make copies of the software but you must include all of this notice on any copy. + Zveno Pty Ltd does not warrant that this software is error free or fit for any purpose. Zveno Pty Ltd disclaims any liability for all claims, expenses, losses, damages and costs any user may incur as a result of using, copying or modifying the software. + +
    +
    + + + + + + + + + slides.css + graphics + + white + + Arial + white + black + + + + + + + + preserve + 100% + + font-family: ; font-size: 18pt; fill: ; stroke: ; background-color: + + + + font-size: 24pt; font-weight: bold + + + font-size: 18pt + + + font-size: 18pt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + href=" + + " type="text/css" + + + + + + + + + + + + + + + + title + + + + + + + + + + + + + title.click + + + foil1-previous-button.click; + + + + + + + + + + + + + + toc + + + + + + + + + + title.click + + + + + + toc.click; toc-content.click + + + + + + + + + + + + + + 50 + + 75 + + + + + + title.click + + + + + + toc.click; toc-content.click + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + index-foilgroup- + + + + + + #ff8000 + #ff8000 + + + + + + + + + + + + + + + + + + + + + + + + + + + + toc + + + + + + + + + + + + index-foilgroup-1.click; toc.click; toc-content.click + + + index-foilgroup- + + .click; foil + + .click + + + + + + + + + + + + + + + 50 + + 75 + + + + + + + + index-foilgroup-1.click; toc.click; toc-content.click + + + index-foilgroup- + + .click; foil + + .click + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + TOC + + + + + + + + + + + + + Previous + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + title.click + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + font-weight: bold + + + font-style: italic + + + font-style: italic + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/slides/xhtml/css.xsl b/doc/help/xslt/slides/xhtml/css.xsl new file mode 100644 index 00000000..d0b47c6f --- /dev/null +++ b/doc/help/xslt/slides/xhtml/css.xsl @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + / + + + + / + + + http://docbook.sourceforge.net/release/slides/browser/ + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/slides/xhtml/default.xsl b/doc/help/xslt/slides/xhtml/default.xsl new file mode 100644 index 00000000..86f2cb39 --- /dev/null +++ b/doc/help/xslt/slides/xhtml/default.xsl @@ -0,0 +1,246 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Hide/Show TOC + + + + + toggletoc(this, + + ,' + + ',' + + '); + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/slides/xhtml/flat.xsl b/doc/help/xslt/slides/xhtml/flat.xsl new file mode 100644 index 00000000..e0c57e92 --- /dev/null +++ b/doc/help/xslt/slides/xhtml/flat.xsl @@ -0,0 +1,71 @@ + + + + + + + + + + + <xsl:value-of select="/slides/slidesinfo/title"/> + + + + + + + + + + + + +
    +
    + +
    +
    +
    + + + + + + + + + + +
    +
    + +
    + +
    +
    + + + + + + +
    +
    + +
    + +
    + + +
    + + +
    +

    + + +
    +
    + +
    diff --git a/doc/help/xslt/slides/xhtml/frames.xsl b/doc/help/xslt/slides/xhtml/frames.xsl new file mode 100644 index 00000000..aea4172e --- /dev/null +++ b/doc/help/xslt/slides/xhtml/frames.xsl @@ -0,0 +1,1982 @@ + + + + + + + + + + + + + + + + + + + + + -//W3C//DTD HTML 4.01 Frameset//EN + + + + + + + + + + -//W3C//DTD XHTML 1.0 Frameset//EN + + + -//W3C//DTD XHTML 1.0 Transitional//EN + + + + + + + + + + + + + + http://www.w3.org/TR/html4/loose.dtd + + + + + + + + + + http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd + + + http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd + + + + + + + + + + + + + + + + + + + + + + + + + Multiframe and overlay are mutually exclusive. + + + + + + + + + + + + + + + + + + + + + + + <xsl:value-of select="$title"/> + + + + + + <body class="frameset"> + <xsl:call-template name="body.attributes"/> + <a href="{concat('titleframe', $html.ext)}"> + <xsl:text>Your browser doesn't support frames.</xsl:text> + </a> + </body> + + + + + + + + + + + + + TOC - <xsl:value-of select="$title"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + overlaySetup('ll'); + + + + + + init( + + ); + + overlaySetup('ll'); + + + + + + +
    + +
    +
    + +
    + + + + +
    + logo +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <xsl:value-of select="title"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + javascript:body.focus() + + + + + + + + + <body class="frameset"> + <xsl:call-template name="body.attributes"/> + <p> + <xsl:text>Your browser doesn't support frames.</xsl:text> + </p> + </body> + + + + + + + + + + + + + + + + + + Navigation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Body + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Navigation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + newPage(' + + ', + + ); + + + + + overlaySetup('lc'); + + + + + + + this.focus() + + + navigate(event) + + + +
    + +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <xsl:value-of select="title"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + foilgroup + + + + + + + javascript:body.focus() + + + + + + <body class="frameset"> + <xsl:call-template name="body.attributes"/> + <p> + <xsl:text>Your browser doesn't support frames.</xsl:text> + </p> + </body> + + + + + + + foilgroup + + + + + + + + + + + + + + + + Navigation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + foilgroup + + + + + + + + + + + Body + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + foilgroup + + + + + + + + + + + + + + + + Navigation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + newPage(' + + ', + + ); + + + + + overlaySetup('lc'); + + + + + + + + navigate(event) + + + +
    + + + + + + + + + +
    + + + + + + +
    + + +
    + + + position:absolute;visibility:visible; + + + + + + + + +
    +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <xsl:value-of select="title"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + javascript:body.focus() + + + + + + + + + <body class="frameset"> + <xsl:call-template name="body.attributes"/> + <p> + <xsl:text>Your browser doesn't support frames.</xsl:text> + </p> + </body> + + + + + + + + + + + + + + + + + + + + + Navigation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Body + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Navigation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + newPage(' + + ', + + ); + + + + + overlaySetup('lc'); + + + + + + + navigate(event) + + + +
    + + + + + + + + + +
    + +
    + + +
    + + + position:absolute;visibility:visible; + + + + + + + + +
    +
    +
    + + + +
    + + + + + + + + + + + + + + + foilgroup + + + + +
    + - + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    + - + + + + + + + + + + + + + + +
    +
    + + + + + + + + + myList.addItem(' + + <div id=" + + " class="toc-slidesinfo"> + + <a href=" + + " target="foil"> + + + + + + + + + + + + + ' + \' + + + <\/a><\/div> + '); + + + + + + + + + subList = new List(false, width, height, " + +"); + + subList.setIndent(12); + + + + myList.addList(subList, ' + + <div id=" + + " class="toc-foilgroup"> + + <a href=" + + " target="foil"> + + + + + + + + + + + + + ' + \' + + + <\/a><\/div> + '); + + + + + + + + + subList.addItem(' + + + myList.addItem(' + + + + <div id=" + + " class="toc-foil"> + + <img alt="-" src=" + + "><\/img> + + <a href=" + + " target="foil"> + + + + + + + + + + + + + ' + \' + + + <\/a><\/div> + '); + + + + + + + + + + diff --git a/doc/help/xslt/slides/xhtml/graphics.xsl b/doc/help/xslt/slides/xhtml/graphics.xsl new file mode 100644 index 00000000..6317a4bc --- /dev/null +++ b/doc/help/xslt/slides/xhtml/graphics.xsl @@ -0,0 +1,152 @@ + + + + + + + + + + + + + + + + + + + + + / + + + + / + + + http://docbook.sourceforge.net/release/slides/graphics/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/slides/xhtml/jscript.xsl b/doc/help/xslt/slides/xhtml/jscript.xsl new file mode 100644 index 00000000..b3047ee2 --- /dev/null +++ b/doc/help/xslt/slides/xhtml/jscript.xsl @@ -0,0 +1,128 @@ + + + + + + + + + + + + + + + + + + + / + + + + / + + + http://docbook.sourceforge.net/release/slides/browser/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/slides/xhtml/param.xsl b/doc/help/xslt/slides/xhtml/param.xsl new file mode 100644 index 00000000..c3ec806c --- /dev/null +++ b/doc/help/xslt/slides/xhtml/param.xsl @@ -0,0 +1,70 @@ + + + + + + + + + +#FFFFFF +toc/bullet.png +slides.css + + + + +hidetoc.gif +active/nav-home.png + +toc/open.png +white + +40 +white + +active/nav-next.png +inactive/nav-home.png +inactive/nav-next.png +inactive/nav-prev.png +inactive/nav-toc.png +inactive/nav-up.png +no + +overlay.js +http://docbook.sourceforge.net/release/buttons/slides-1.png +toc/closed.png +active/nav-prev.png + + +showtoc.gif +slides.js +Home +Next +Prev +ToC +Up + +#FFFFFF + + +active/nav-toc.png +22 +250 + +ua.js +active/nav-up.png +xbCollapsibleLists.js +xbDOM.js +xbStyle.js +xbLibrary.js + + diff --git a/doc/help/xslt/slides/xhtml/plain.xsl b/doc/help/xslt/slides/xhtml/plain.xsl new file mode 100644 index 00000000..29d43fc0 --- /dev/null +++ b/doc/help/xslt/slides/xhtml/plain.xsl @@ -0,0 +1,470 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/slides/xhtml/slides-common.xsl b/doc/help/xslt/slides/xhtml/slides-common.xsl new file mode 100644 index 00000000..65d3b7a9 --- /dev/null +++ b/doc/help/xslt/slides/xhtml/slides-common.xsl @@ -0,0 +1,1534 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <xsl:value-of select="title"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + titlepage + + - + + + + + + + + overlaySetup('lc') + + + + + navigate(event) + + + +
    + + + + + +
    + +
    + +
    + + + + + +
    +
    + + +
    +
    +
    + + +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +
    + + + + + + +

    +
    + + +

    +
    + + +

    +
    + + + + + + + + + + + + + + + : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <xsl:value-of select="slidesinfo/title"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + overlaySetup('lc') + + + + + navigate(event) + + + +
    + + + + + + + +
    + +
    + +
    + + + + + + + +
    +
    + + +
    +
    +
    + + +

    + + + +

    + +

    + + + TableofContents + + +

    +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + . + + + + + + +
    + +
    +
    + +
    +
    +
    +
    + + +
    + + . + + + + + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <xsl:value-of select="title"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + overlaySetup('lc') + + + + + navigate(event) + + + +
    + + + + + + + +
    + + + + + + +
    + +
    + + + + + + + +
    +
    + + + + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + <xsl:value-of select="title"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + overlaySetup('lc') + + + + + navigate(event) + + + +
    + + + + + + + + + +
    + + + + + + +
    + +
    + + + + + + + +
    +
    + + + + +
    +
    + + +
    + + +

    +
    + + + + + + + + + + + +
    + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + position: absolute; visibility: visible; + + + + padding-top: 2in; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + foil + + + + + + foilgroup + + + + + + + + + + + + </span> + + + <span + + class="green" + class="blue" + class="orange" + class="red" + class="brown" + class="violet" + class="black" + class="bold" + + > + + + + + + + + +
    + +
    +
    +
    + + + + + + + + + copyright + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ( + + ) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + +

    +
    + + +
    + + +
    +
    + + + + + + + + + + + + + + + + 1 + 1 + 1 + 0 + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + / + + + + + + + + + + + foil + + + + + + + + + + + foilgroup + + + + + + chunk-filename-error- + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + / + + + +   + + + + +
    diff --git a/doc/help/xslt/slides/xhtml/tables.xsl b/doc/help/xslt/slides/xhtml/tables.xsl new file mode 100644 index 00000000..7d5ec6b0 --- /dev/null +++ b/doc/help/xslt/slides/xhtml/tables.xsl @@ -0,0 +1,334 @@ + + + + + + + + + + +#6A719C +220 + + + + + + + + + + + + +
    + + + + + +
    + +
    +
      + + + + + +
    + +
    + + +
    + +
    +
    +
    +
    + + + + + + + + +
    + + + + + +
    + +
    +
      + + + + + +
    + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + +  + + + + + + + + + + + + + + + + + +
    + + + +  + + + + + + +  + + + + + + + + + + + + + + + +
    +
    +
    +
    + +  + + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + + + + + +  + + + + + + + + + + + + + + +
    + + + +  + + + + + + + + + + + + + + + + + + + +  + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + + + + + + + + + + + + + + + +  + + + + + + + + + + + +
    +
    +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +   + + + + + + + + + + + + +
    diff --git a/doc/help/xslt/slides/xhtml/vslides.xsl b/doc/help/xslt/slides/xhtml/vslides.xsl new file mode 100644 index 00000000..26e99610 --- /dev/null +++ b/doc/help/xslt/slides/xhtml/vslides.xsl @@ -0,0 +1,652 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <xsl:value-of select="slidesinfo/title"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + navigate(event) + + + + + + + + + + + + + + + + + + +
     
    + + + + + + + + + + + + + + + + + + +
    + +
    + +
    + +
    +
     
    + + +
    +
    + + +
    + + + + + + + + + <xsl:value-of select="title"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + navigate(event) + + + + + + + + + + + + + + + + + + +
     
    + + + + + + + + + + + + + + + + + + +
    + +
    +
     
    + + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + <xsl:value-of select="title"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + navigate(event) + + + + + + + + + + + + + + + + + + +
     
    + + + + + + + + + + + + + + + + + + + +
    + +
    +
     
    + + +
    +
    + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + <xsl:value-of select="title"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + navigate(event) + + + + + + + + + + + + + + + + + + +
     
    + + + + + + + + + + + + + + + + + + + +
    + +
    +
     
    + + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + First + + + + + + + + + + First + + + + + + + + +
    + + + + + + + Previous + + + + + + + + + + Previous + + + + + + + + +
    + + + + + + + Last + + + + + + + + + + Last + + + + + + + + +
    + + + + + + + Next + + + + + + + + + + Next + + + + + + + + + +
    +
    + + + + + ToC + + + + + + + + + + ToC + + + + + + + + +
    +
    + +
    diff --git a/doc/help/xslt/slides/xhtml/w3c.xsl b/doc/help/xslt/slides/xhtml/w3c.xsl new file mode 100644 index 00000000..d361a335 --- /dev/null +++ b/doc/help/xslt/slides/xhtml/w3c.xsl @@ -0,0 +1,358 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {$logo.title} + + + + + + + + + + position: absolute; visibility: visible; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + + + + + + + + + + + + + + + + + +
    diff --git a/doc/help/xslt/template/titlepage.xml b/doc/help/xslt/template/titlepage.xml new file mode 100644 index 00000000..f1e1e3cd --- /dev/null +++ b/doc/help/xslt/template/titlepage.xml @@ -0,0 +1,478 @@ + + + + + + + Titlepage Template Stylesheet Reference + + $Id: titlepage.xsl 7058 2007-07-17 13:59:29Z xmldoc $ + + + + Introduction + +This is technical reference documentation for the + “titlepage” templates in the DocBook XSL Stylesheets. + + +This is not intended to be user documentation. It is + provided for developers writing customization layers for the + stylesheets. + + + + + +t:templates +Construct a stylesheet for the templates provided + + +<xsl:template match="t:templates"/> + +Description + +The t:templates element is the root of a +set of templates. This template creates an appropriate +xsl:stylesheet for the templates. + + + +If the t:templates element has a +base-stylesheet attribute, an +xsl:import statement is constructed for it. + + + + + +xsl:* +Copy xsl: elements straight through + + +<xsl:template match="xsl:*"/> + +Description + +This template simply copies the xsl: elements +straight through into the result tree. + + + + + +t:titlepage +Create the templates necessary to construct a title page + + +<xsl:template match="t:titlepage"/> + +Description + +The t:titlepage element creates a set of +templates for processing the titlepage for an element. The +root of this template set is the template named +wrapper.titlepage. That is the +template that should be called to generate the title page. + + + + +The t:titlepage element has three attributes: + + + +element + +The name of the source document element for which +these templates apply. In other words, to make a title page for the +article element, set the +element attribute to +article. This attribute is required. + + + +wrapper + +The entire title page can be wrapped with an element. +This attribute identifies that element. + + + +class + +If the class attribute +is set, a class attribute with this +value will be added to the wrapper element that surrounds the entire +title page. + + + + + + + + + +Any other attributes are copied through literally to the +wrapper element. + + + +The content of a t:titlepage is one or +more t:titlepage-content, +t:titlepage-separator, and +t:titlepage-before elements. + + + +Each of these elements may be provided for the recto +and verso sides of the title page. + + + + + + +@* (in copy.literal.atts mode) +Copy t:titlepage attributes + + +<xsl:template match="@*" mode="copy.literal.atts"/> + +Description + +This template copies all of the other attributes +from a t:titlepage element onto the specified +wrapper. + + + + + +t:titlepage-content +Create templates for the content of one side of a title page + + +<xsl:template match="t:titlepage-content"/> + +Description + +The title page content, that is, the elements from the source +document that are rendered on the title page, can be controlled independently +for the recto and verso sides of the title page. + + + +The t:titlepage-content element has two attributes: + + + +side + +Identifies the side of the page to which this title +page content applies. The +side attribute is required and +must be set to either +recto or +verso. In addition, you must specify +exactly one t:titlepage-content for each side +within each t:titlepage. + + + +order + +Indicates how the order of the elements presented on +the title page is determined. If the +order is +document, the elements are presented +in document order. Otherwise (if the +order is +stylesheet), the elements are presented +in the order that they appear in the template (and consequently in +the stylesheet). + + + + + + + + + +The content of a t:titlepage-content element is +a list of element names. These names should be unqualified. They identify +the elements in the source document that should appear on the title page. + + + + +Each element may have a single attribute: +predicate. The value of this +attribute is used as a predicate for the expression that matches +the element on which it occurs. + + + +In other words, to put only the first three authors on the +recto-side of a title +page, you could specify: + + + <t:titlepage-contents side="recto"> + <!-- other titlepage elements --> + <author predicate="[count(previous-sibling::author)<2]"/> + <!-- other titlepage elements --> + </t:titlepage-contents> + + + + + +Usually, the elements so named are empty. But it is possible to +make one level of selection within them. Suppose that you want to +process authorgroup elements on the title page, but +you want to select only proper authors, editors, or corporate authors, +not collaborators or other credited authors. + + + +In that case, you can put a t:or group inside +the authorgroup element: + + + <t:titlepage-contents side="recto"> + <!-- other titlepage elements --> + <authorgroup> + <t:or> + <author/> + <editor/> + <corpauthor/> + </t:or> + </authorgroup> + <!-- other titlepage elements --> + </t:titlepage-contents> + + + + + +This will have the effect of automatically generating a template +for processing authorgroups in the title page mode, +selecting only the specified children. If you need more complex processing, +you'll have to construct the templates by hand. + + + + + + +t:titlepage-separator +Create templates for the separator + + +<xsl:template match="t:titlepage-separator"/> + +Description + +The title page is separated from the content which follows it by +the markup specified in the t:titlepage-separator +element. + + + + + +t:titlepage-before +Create templates for what precedes a title page + + +<xsl:template match="t:titlepage-before"/> + +Description + +Each side of the title page is preceded by the markup specified +in the t:titlepage-before element for that +side. + + + + + +* (in copy mode) +Copy elements + + +<xsl:template match="*" mode="copy"/> + +Description + +This template simply copies the elements that it applies to +straight through into the result tree. + + + + + +@* (in copy mode) +Copy attributes + + +<xsl:template match="@*" mode="copy"/> + +Description + +This template simply copies the attributes that it applies to +straight through into the result tree. + + + + + +* (in document.order mode) +Create rules to process titlepage elements in document order + + +<xsl:template match="*" mode="document.order"/> + +Description + +This template is called to process all of the children of the +t:titlepage-content element. It creates the hairy +select expression necessary to process each of those elements in +the title page. + + + +Note that this template automatically handles the case where +some DocBook elements, like title and subtitle, can occur both inside +the *info elements where metadata is usually stored and outside. + + + + +It also automatically calculates the name for the *info container +and handles elements that have historically had containers with different +names. + + + + + + +* (in document.order mode) +Create rules to process titlepage elements in stylesheet order + + +<xsl:template match="*" mode="document.order"/> + +Description + +This template is called to process all of the children of the +t:titlepage-content element. It creates the set +of xsl:apply-templates elements necessary +process each of those elements in the title page. + + + +Note that this template automatically handles the case where +some DocBook elements, like title and subtitle, can occur both inside +the *info elements where metadata is usually stored and outside. + + + + +It also automatically calculates the name for the *info container +and handles elements that have historically had containers with different +names. + + + + + + +* (in titlepage.specialrules mode) +Create templates for special rules + + +<xsl:template match="*" mode="titlepage.specialrules"/> + +Description + +This template is called to process all of the descendants of the +t:titlepage-content element that require special +processing. At present, that's just t:or elements. + + + + + + +* (in titlepage.subrules mode) +Create template for individual special rules + + +<xsl:template match="*" mode="titlepage.subrules"/> + +Description + +This template is called to process the children of special +template elements. + + + + + + +t:or +Process the t:or special rule + + +<xsl:template match="t:or"/><xsl:template match="t:or" mode="titlepage.subrules"/> + +Description + +This template processes t:or. + + + + + +t:or (in titlepage.subrules mode) +Process the t:or special rule in +titlepage.subrules mode + + +<xsl:template match="t:or" mode="titlepage.subrules"/> + +Description + +The titlepage.subrules mode doesn't apply to t:or, so just +reprocess this node in the normal mode. + + + + + +element-or-list +Construct the "or-list" used in the select attribute for +special rules. + + +<xsl:template name="element-or-list"> +<xsl:param name="elements" select="*"/> +<xsl:param name="element.count" select="count($elements)"/> +<xsl:param name="count" select="1"/> +<xsl:param name="orlist"/> + ... +</xsl:template> + +Description + +Walk through each of the children of t:or, producing the +text of the select attribute. + + + + diff --git a/doc/help/xslt/template/titlepage.xsl b/doc/help/xslt/template/titlepage.xsl new file mode 100644 index 00000000..ce147e36 --- /dev/null +++ b/doc/help/xslt/template/titlepage.xsl @@ -0,0 +1,1280 @@ + + + + + + + + + + + + + + + + + + Titlepage Template Stylesheet Reference + + $Id: titlepage.xsl 7058 2007-07-17 13:59:29Z xmldoc $ + + + + Introduction + This is technical reference documentation for the + “titlepage” templates in the DocBook XSL Stylesheets. + This is not intended to be user documentation. It is + provided for developers writing customization layers for the + stylesheets. + + + + + + + + + + + +Construct a stylesheet for the templates provided + + +The t:templates element is the root of a +set of templates. This template creates an appropriate +xsl:stylesheet for the templates. + +If the t:templates element has a +base-stylesheet attribute, an +xsl:import statement is constructed for it. + + + + + + + + + + + 1.0 + exsl + + + + This stylesheet was created by + template/titlepage.xsl + + + + + + + + + + + + + + + + + + + + +Copy xsl: elements straight through + + +This template simply copies the xsl: elements +straight through into the result tree. + + + + + + + + + + +Create the templates necessary to construct a title page + + +The t:titlepage element creates a set of +templates for processing the titlepage for an element. The +root of this template set is the template named +wrapper.titlepage. That is the +template that should be called to generate the title page. + + +The t:titlepage element has three attributes: + + +element +The name of the source document element for which +these templates apply. In other words, to make a title page for the +article element, set the +element attribute to +article. This attribute is required. + + +wrapper +The entire title page can be wrapped with an element. +This attribute identifies that element. + + +class +If the class attribute +is set, a class attribute with this +value will be added to the wrapper element that surrounds the entire +title page. + + + + + +Any other attributes are copied through literally to the +wrapper element. + +The content of a t:titlepage is one or +more t:titlepage-content, +t:titlepage-separator, and +t:titlepage-before elements. + +Each of these elements may be provided for the recto +and verso sides of the title page. + + + + + + + + + + + + + + .titlepage + + + + + + + recto.content + + + + + .titlepage.before.recto + + + + + + + .titlepage.recto + + + + + + + recto.elements.count + + + + + function-available('exsl:node-set') + + count(exsl:node-set($recto.content)/*) + + + + + contains(system-property('xsl:vendor'), 'Apache Software Foundation') + + Xalan quirk + + count(exsl:node-set($recto.content)/*) + + + + + 1 + + + + + + + + (normalize-space($recto.content) != '') or ($recto.elements.count > 0) + + + + + $recto.content + + + + + + + verso.content + + + + + .titlepage.before.verso + + + + + + + .titlepage.verso + + + + + + + verso.elements.count + + + + + function-available('exsl:node-set') + + count(exsl:node-set($verso.content)/*) + + + + + contains(system-property('xsl:vendor'), 'Apache Software Foundation') + + Xalan quirk + + count(exsl:node-set($verso.content)/*) + + + + + 1 + + + + + + + + (normalize-space($verso.content) != '') or ($verso.elements.count > 0) + + + + + $verso.content + + + + + + + + + .titlepage.separator + + + + + + + + + + + + + + * + + + .titlepage.recto.mode + + + if an element isn't found in this mode, + + try the generic titlepage.mode + + + . + titlepage.mode + + + + + + + + * + + + .titlepage.verso.mode + + + if an element isn't found in this mode, + + try the generic titlepage.mode + + + . + titlepage.mode + + + + + + + + + + + + + + + + + + + .titlepage. + + .auto.mode + + + + + + .titlepage. + + .style + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . + + + .titlepage. + + .mode + + + + + + + + + + + + + + +Copy t:titlepage attributes + + +This template copies all of the other attributes +from a t:titlepage element onto the specified +wrapper. + + + + + + + + + + + + + + +Create templates for the content of one side of a title page + + +The title page content, that is, the elements from the source +document that are rendered on the title page, can be controlled independently +for the recto and verso sides of the title page. + +The t:titlepage-content element has two attributes: + + +side +Identifies the side of the page to which this title +page content applies. The +side attribute is required and +must be set to either +recto or +verso. In addition, you must specify +exactly one t:titlepage-content for each side +within each t:titlepage. + + +order +Indicates how the order of the elements presented on +the title page is determined. If the +order is +document, the elements are presented +in document order. Otherwise (if the +order is +stylesheet), the elements are presented +in the order that they appear in the template (and consequently in +the stylesheet). + + + + + +The content of a t:titlepage-content element is +a list of element names. These names should be unqualified. They identify +the elements in the source document that should appear on the title page. + + +Each element may have a single attribute: +predicate. The value of this +attribute is used as a predicate for the expression that matches +the element on which it occurs. + +In other words, to put only the first three authors on the +recto-side of a title +page, you could specify: + + + + + + +]]> + + +Usually, the elements so named are empty. But it is possible to +make one level of selection within them. Suppose that you want to +process authorgroup elements on the title page, but +you want to select only proper authors, editors, or corporate authors, +not collaborators or other credited authors. + +In that case, you can put a t:or group inside +the authorgroup element: + + + + + + + + + + + + +]]> + + +This will have the effect of automatically generating a template +for processing authorgroups in the title page mode, +selecting only the specified children. If you need more complex processing, +you'll have to construct the templates by hand. + + + + + + + + + + + + + Illegal value specified for @t:side + on t:titlepage-content: + + + + + + The @t:side attribute is required on + t:titlepage-content. + + + + + + + + .titlepage. + + .auto.mode + + + + + + + .titlepage. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Create templates for the separator + + +The title page is separated from the content which follows it by +the markup specified in the t:titlepage-separator +element. + + + + + + + + + .titlepage.separator + + + + + + + + + + +Create templates for what precedes a title page + + +Each side of the title page is preceded by the markup specified +in the t:titlepage-before element for that +side. + + + + + + + + + .titlepage.before. + + + + + + + + + + + +Copy elements + + +This template simply copies the elements that it applies to +straight through into the result tree. + + + + + + + + + + + + + +Copy attributes + + +This template simply copies the attributes that it applies to +straight through into the result tree. + + + + + + + + + + + + +Create rules to process titlepage elements in document order + + +This template is called to process all of the children of the +t:titlepage-content element. It creates the hairy +select expression necessary to process each of those elements in +the title page. + +Note that this template automatically handles the case where +some DocBook elements, like title and subtitle, can occur both inside +the *info elements where metadata is usually stored and outside. + + +It also automatically calculates the name for the *info container +and handles elements that have historically had containers with different +names. + + + + + + + + info + + + + + + artheader + + + blockinfo + + + + + + + + + + docinfo + + + + + + + + + + recto + + + + + + + .titlepage. + + .auto.mode + + + + | + + + + / + + + + + + + | + + / + + + + + + + + |info + / + + + + + + + | + + + + + + + + + + +Create rules to process titlepage elements in stylesheet order + + +This template is called to process all of the children of the +t:titlepage-content element. It creates the set +of xsl:apply-templates elements necessary +process each of those elements in the title page. + +Note that this template automatically handles the case where +some DocBook elements, like title and subtitle, can occur both inside +the *info elements where metadata is usually stored and outside. + + +It also automatically calculates the name for the *info container +and handles elements that have historically had containers with different +names. + + + + + + + + info + + + + + + artheader + + + blockinfo + + + + + + + + + + docinfo + + + + + + + + + recto + + + + + + .titlepage. + + .auto.mode + + + + + + + + + + + + .titlepage. + + .style + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Force can only be used with named-templates. + + + + + + + + + + + + + + + / + + + + + + + + + + / + + + + + + + + + + + + + + + / + + + + + + + + + + / + + + + + + + + + + + + + + + + / + + + + + + + + + + / + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + / + + + + + + + + + + + + + + + + + / + + + + + + + + + + + + + + + + + / + + + + + + + + + + + + + + + +Create templates for special rules + + +This template is called to process all of the descendants of the +t:titlepage-content element that require special +processing. At present, that's just t:or elements. + + + + + + + + + + + recto + + + + + + .titlepage. + + .auto.mode + + + + + + + + + + + + + + + + + + + + + + + + + + + +Create template for individual special rules + + +This template is called to process the children of special +template elements. + + + + + + + + + + + recto + + + + + + .titlepage. + + .auto.mode + + + + + + + + + + + + + + + +Process the t:or special rule + + +This template processes t:or. + + + + + + + + + + recto + + + + + + .titlepage. + + .auto.mode + + + + + + + + + + + + + + + + +Process the t:or special rule in +titlepage.subrules mode + + +The titlepage.subrules mode doesn't apply to t:or, so just +reprocess this node in the normal mode. + + + + + + + + + + +Construct the "or-list" used in the select attribute for +special rules. + + +Walk through each of the children of t:or, producing the +text of the select attribute. + + + + + + + + + + + + + + + + + + + + + | + + + + + + + + + + diff --git a/doc/help/xslt/tests/refentry.007.ns.xml b/doc/help/xslt/tests/refentry.007.ns.xml new file mode 100644 index 00000000..f66d6e0d --- /dev/null +++ b/doc/help/xslt/tests/refentry.007.ns.xml @@ -0,0 +1,325 @@ + +Unit Test: refentry.007 + +$Id: refentry.007.xml 7282 2007-08-23 09:27:01Z xmldoc $ +NormanWalsh
    ndw@nwalsh.com
    +
    +Reference + + + + + NormanWalshndw@nwalsh.com + Wrote the original version of this document. + + Michael(tm)SmithAdded a bunch of test cases.smith@sideshowbarker.net + + + 2003 + Norman Walsh + + + 2006 + Michael(tm) Smith + + + This file is a product of the DocBook Project. + + + Share and share alike. + + + +FirstName +SecondName +Purpose for FirstName + + + +ThirdName +Purpose for ThirdName + + + + + + + #include <varargs.h> +#include <mouteyh.h> +#include <qlmppzj.h> + + float rand + + + + + int max + + + + + int idiv + int n + int m + + + + Another. + + + + void qsort + void *dataptr[] + int left + int right + int (*comp) + void *, void * + + + + + + int foo_frob_something + foo_sometype1 foo_frob_parm1 + foo_sometype1 foo_frob_parm2 + foo_sometype1 foo_frob_parm3 + int (* parm4 ) + int a, int b, int c + + foo_sometype1 foo_frob_parm5 + + + + int foo_frob_something + foo_sometype1 foo_frob_parm1 + foo_sometype1 foo_frob_parm2 + foo_sometype1 foo_frob_parm3 + int (* parm4 ) + int a, int b, int c + + foo_sometype1 foo_frob_parm5 + + + + +Description + +This is a minimal RefEntry. + +The following is a Variablelist with a title. +My variablelist + + + varlistentry term 1 + some listitem text + + + varlistentry term 2 + some more listitem text + + + +Subsection + +This is a minimal RefEntry. + +The following is a Variablelist with a title and a nested variablelist + + + + glossentry term 1 + some glossdef text + + + glossentry term 2 + + + + nested variablelist term 1 + some variablelist text + + + nested variablelist term 2 + some more variablelist text + + + + + + + +Sub-subsection + +This is a minimal RefEntry. + + + + +More Description + +This is a not-so minimal RefEntry. + +This is a screen [break here] +that starts with a line of space. [break here] +And it ends with a line of space. + + +normal paragraph here + +This is a screen [break here] +that does not start with a line of space. [break here] +And does not end with a line of space. + +This is a normal paragraph that contains a screen. +This is a screen within a normal paragraph [break here] +that does not start with a line of space. [break here] +And does not end with a line of space but is followed +by a line of space. + + +This is another normal paragraph that contains a screen. +This is a screen within a normal paragraph [break here] +that does not start with a line of space. [break here] +And does not end with a line of space and is not followed +by a line of space. + +This is another normal paragraph that contains a screen. + +This is a screen within a normal paragraph [break here] +that starts with a line of space. [break here] +And ends with a line of space but is not followed by a line of space. + + +This is another normal paragraph that contains a screen. + +This is a screen within a normal paragraph [break here] +that starts with a line of space. [break here] +And ends with a line of space and is followed by a line of space. + + + +This is another normal paragraph that contains a screen. + + +This is a screen within a normal paragraph [break here] +that starts with a 2 lines of space. [break here] +And ends with 3 lines of space and is followed by a line of space. + + + + + +This paragraph contains an itemizedlist with a title. The title +is “Mrignkwolmcng”. +Mrignkwolmcng + + + itemizedlist listitem 1 + + + itemizedlist listitem 2 + + + +This is some useless text that follows the “Mrignkwolmcng” orderedlist +in the same para. + +The following is a Variablelist with a title and with a nested itemizedlist. +My variablelist + + + varlistentry term 1 + + nested itemizedlist + + + itemizedlist listitem 1 + + + itemizedlist listitem 2 + + + + + + varlistentry term 2 + some more listitem text + + + + +The following is a Variablelist with a title and with a +nested Varlistentry that contains multiple Terms +My nested-multi-term-per-varlistentry variablelist + + + Varlistentry term 1 + + + + varlistentry term 1.1 + varlistentry term 1.2 + varlistentry term 1.3 + All 'bout terms 1.1, 1.2, and 1.3 + + + + + + + varlistentry term 2 + some more listitem text + + + + +Subsection + +This is a minimal RefEntry. + + + +Even More Description + +This is an even less minimal RefEntry. + +This is a paragraph. It contains the following segmentedlist, +titled “Gibbererish”, with several segtitle elements. + + + Floober + Buugler + Sstangooo + Borobinda + + Bamalalaboonda Bamalalaboonda Bamalalaboonda Bamalalaboonda Bamalalaboonda Bamalalaboonda + Mondorotoluafu + Ganafutralinga + Patagularamakundra + + + Cadraracondar + Hentirotomaambu + BdomentriolaiaBdomentriolaiaBdomentriolaia + Candamalaturuanio + + +This is some text that follows the segementedlist within the same +paragraph. The next part of this same paragraph is an +important admonition. + + It is very important that you read this. That’s why it stands + out the way that it does. + + + +This is a para with a footnote + Stuff here This is a program listing +that's two lines long. + and stuff after the +footnote + + + + +
    diff --git a/doc/help/xslt/tests/refentry.007.xml b/doc/help/xslt/tests/refentry.007.xml new file mode 100644 index 00000000..45213763 --- /dev/null +++ b/doc/help/xslt/tests/refentry.007.xml @@ -0,0 +1,340 @@ + + + + +Unit Test: refentry.007 +$Id: refentry.007.xml 7282 2007-08-23 09:27:01Z xmldoc $ +NormanWalsh +
    ndw@nwalsh.com
    +
    +
    + +Reference + + + + + NormanWalsh + ndw@nwalsh.com + + Wrote the original version of this document. + + + + Added a bunch of test cases. + Michael(tm)Smith + smith@sideshowbarker.net + + + + 2003 + Norman Walsh + + + 2006 + Michael(tm) Smith + + + This file is a product of the DocBook Project. + + + Share and share alike. + + + +FirstName +SecondName +Purpose for FirstName + + + +ThirdName +Purpose for ThirdName + + + + + + + #include <varargs.h> +#include <mouteyh.h> +#include <qlmppzj.h> + + float rand + + + + + int max + + + + + int idiv + int n + int m + + + + Another. + + + + void qsort + void *dataptr[] + int left + int right + int (*comp) + void *, void * + + + + + + int foo_frob_something + foo_sometype1 foo_frob_parm1 + foo_sometype1 foo_frob_parm2 + foo_sometype1 foo_frob_parm3 + int (* parm4 ) + int a, int b, int c + + foo_sometype1 foo_frob_parm5 + + + + int foo_frob_something + foo_sometype1 foo_frob_parm1 + foo_sometype1 foo_frob_parm2 + foo_sometype1 foo_frob_parm3 + int (* parm4 ) + int a, int b, int c + + foo_sometype1 foo_frob_parm5 + + + + + +Description +This is a minimal RefEntry. + +The following is a Variablelist with a title. + + My variablelist + + varlistentry term 1 + some listitem text + + + varlistentry term 2 + some more listitem text + + + + +Subsection +This is a minimal RefEntry. + +The following is a Variablelist with a title and a nested variablelist + + My glosslist + + glossentry term 1 + some glossdef text + + + glossentry term 2 + + + + nested variablelist term 1 + some variablelist text + + + nested variablelist term 2 + some more variablelist text + + + + + + + + +Sub-subsection +This is a minimal RefEntry. + + + + + +More Description +This is a not-so minimal RefEntry. + +This is a screen [break here] +that starts with a line of space. [break here] +And it ends with a line of space. + + +normal paragraph here + +This is a screen [break here] +that does not start with a line of space. [break here] +And does not end with a line of space. + +This is a normal paragraph that contains a screen. +This is a screen within a normal paragraph [break here] +that does not start with a line of space. [break here] +And does not end with a line of space but is followed +by a line of space. + + +This is another normal paragraph that contains a screen. +This is a screen within a normal paragraph [break here] +that does not start with a line of space. [break here] +And does not end with a line of space and is not followed +by a line of space. + +This is another normal paragraph that contains a screen. + +This is a screen within a normal paragraph [break here] +that starts with a line of space. [break here] +And ends with a line of space but is not followed by a line of space. + + +This is another normal paragraph that contains a screen. + +This is a screen within a normal paragraph [break here] +that starts with a line of space. [break here] +And ends with a line of space and is followed by a line of space. + + + +This is another normal paragraph that contains a screen. + + +This is a screen within a normal paragraph [break here] +that starts with a 2 lines of space. [break here] +And ends with 3 lines of space and is followed by a line of space. + + + + + +This paragraph contains an itemizedlist with a title. The title +is “Mrignkwolmcng”. + + Mrignkwolmcng + + itemizedlist listitem 1 + + + itemizedlist listitem 2 + + + +This is some useless text that follows the “Mrignkwolmcng” orderedlist +in the same para. + +The following is a Variablelist with a title and with a nested itemizedlist. + + My variablelist + + varlistentry term 1 + + + nested itemizedlist + + itemizedlist listitem 1 + + + itemizedlist listitem 2 + + + + + + varlistentry term 2 + some more listitem text + + + + +The following is a Variablelist with a title and with a +nested Varlistentry that contains multiple Terms + + My nested-multi-term-per-varlistentry variablelist + + Varlistentry term 1 + + + + varlistentry term 1.1 + varlistentry term 1.2 + varlistentry term 1.3 + All 'bout terms 1.1, 1.2, and 1.3 + + + + + + + varlistentry term 2 + some more listitem text + + + + + +Subsection +This is a minimal RefEntry. + + + + +Even More Description +This is an even less minimal RefEntry. + +This is a paragraph. It contains the following segmentedlist, +titled “Gibbererish”, with several segtitle elements. + + Gibbererish + Floober + Buugler + Sstangooo + Borobinda + + Bamalalaboonda Bamalalaboonda Bamalalaboonda Bamalalaboonda Bamalalaboonda Bamalalaboonda + Mondorotoluafu + Ganafutralinga + Patagularamakundra + + + Cadraracondar + Hentirotomaambu + BdomentriolaiaBdomentriolaiaBdomentriolaia + Candamalaturuanio + + +This is some text that follows the segementedlist within the same +paragraph. The next part of this same paragraph is an +important admonition. + + It is very important that you read this. That’s why it stands + out the way that it does. + + + +This is a para with a footnote + Stuff here This is a program listing +that's two lines long. + and stuff after the +footnote + + + + +
    diff --git a/doc/help/xslt/tools/bin/docbook-xsl-update b/doc/help/xslt/tools/bin/docbook-xsl-update new file mode 100755 index 00000000..0d44f565 --- /dev/null +++ b/doc/help/xslt/tools/bin/docbook-xsl-update @@ -0,0 +1,53 @@ +#!/bin/bash +# vim: number + +# docbook-xsl-update - Update environment to latest docbook-xsl snapshot +# $Id: docbook-xsl-update 6565 2007-01-29 23:00:16Z xmldoc $ + +if [ -z $DOCBOOK_MIRROR ]; then + myhost=docbook.xml-doc.org:5873; +else + myhost=$DOCBOOK_MIRROR; +fi + +mydir=$(readlink -f $(dirname $0)) +mydocbook_xsl_base=$(readlink -f $(dirname $0)/../..) + +if [ ! -f $mydocbook_xsl_base/VERSION ]; then + cat <<- EOF +$(basename $0): error: not in snapshot directory. Stopping. + +The $(basename $0) script must be installed within its original +location in the tools/bin directory in the docbook-xsl distribution. +EOF + exit 1 +fi + +usage="Usage: + + $(basename $0) [-h HOST[:PORT]] + + -h HOST[:PORT] Specifies the rsync host and port number to use. + If not specified, uses the value of the + \$DOCBOOK_MIRROR environment variable. If that + environment variable is not specified, defaults + to a hard-coded value. + +" + +while getopts "h:" opt; do + case $opt in + h ) myhost=$OPTARG ;; + \? ) printf "$usage" + printf "$opts_admon" + exit 1 ;; + esac +done + +shift $(($OPTIND - 1)) + +if [ -z $myhost ]; then + myhost=$DOCBOOK_MIRROR +fi + +rsync -auv rsync://$myhost/xsl $mydocbook_xsl_base diff --git a/doc/help/xslt/tools/make/Makefile.DocBook b/doc/help/xslt/tools/make/Makefile.DocBook new file mode 100644 index 00000000..242066ec --- /dev/null +++ b/doc/help/xslt/tools/make/Makefile.DocBook @@ -0,0 +1,698 @@ +# $Source$ +# $Author: xmldoc $ +# $Date: 2008-03-03 01:20:29 -0800 (Mon, 03 Mar 2008) $ +# $Revision: 7787 $ +# vim: number +# +# ----------------------------------------------------------------- +# ** Makefile.DocBook -- generate output from DocBook sources ** +# ----------------------------------------------------------------- +# +# This file is part of the DocBook Project XSL Stylesheet +# distribution. +# +# See http://docbook.sourceforge.net/release/xsl/current/ +# for copyright and other information. + +# DOCBOOK_OUTPUT_FORMATS is the default set of targets (output +# formats) that get built when you type "make" without any targets +# explicitly specified. To generate a different set of output +# formats, change the value of DOCBOOK_OUTPUT_FORMATS here or set +# it in your environment; for example: +# +# set DOCBOOK_OUTPUT_FORMATS="html pdf"; export DOCBOOK_OUTPUT_FORMATS +# +# Of course by explicitly specifying particular targets when you +# invoke "make", you can always override generation of the default +# set of targets; for example: +# +# make html txt +# +# That would generate just HTML (unchunked) and plain-text output. +# +DOCBOOK_OUTPUT_FORMATS ?= xml man man-pdf chunk txt pdf + +# If you want XHTML output instead of HTML, set HTML_OR_XHTML to +# 'xhtml' or just specify 'xhtml" in DOCBOOK_OUTPUT_FORMATS. +ifeq ($(findstring xhtml,$(DOCBOOK_OUTPUT_FORMATS)),) +HTML_OR_XHTML ?= html +else +HTML_OR_XHTML ?= xhtml +endif + +# if your source is in asciidoc instead of DocBook, set +# ASCII_OR_DOCBOOK to "ascii" +ASCII_OR_DOCBOOK ?= docbook + +# ----------------------------------------------------------------- +# *** TOOLS and other DEPENDENCIES *** +# ----------------------------------------------------------------- +# we use rmdir(1) to remove dirs we create for chunked HTML output +RMDIR = rmdir +# "-p" causes empty parent dirs to be deleted as well +RMDIR_FLAGS = --ignore-fail-on-non-empty -p + +# possible values for PDF_MAKER are: +# dblatex|fop|xep|xmlroff|passivetex +PDF_MAKER = dblatex + +# possible values for TXT_MAKER are: +# links|lynx|w3m|w3mmee +TXT_MAKER = links +TXT_MAKER_FLAGS = -dump + +# xsl +XSLT = xsltproc +XSLT_FLAGS = --xinclude + +# http://dblatex.sourceforge.net/ +DBLATEX = dblatex +DBLATEX_FLAGS = -b pdftex + +FOP = fop +FOP_FLAGS = + +XEP = xep +XEP_FLAGS = + +# http://xmlroff.sourceforge.net/ +XMLROFF = xmlroff +XMLROFF_FLAGS = + +PDFTEX = pdftex +PDFTEX_FLAGS = + +# used by PassiveTeX +PDFXMLTEX = pdfxmltex + +# http://docbook2x.sourceforge.net/ +DB2X_XSLTPROC = db2x_xsltproc +DB2X_XSLTPROC_FLAGS = +DB2X_TEXIXML = db2x_texixml +DB2X_TEXIXML_FLAGS = + +# we call the man(1) command to generate "foo.N.pdf" and +# "foo.N.txt" output (see "man-pdf" & "man-txt" targets) +MAN = man +MAN_FLAGS = + +# The "ps2pdf" command is part of GhostSript (gs) distro. +# It is just a wrapper script around gs that does this: +# +# gs -dCompatibilityLevel=1.2 -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite \ +# "-sOutputFile=$outfile" -dCompatibilityLevel=1.2 -c .setpdfwrite -f "$infile" +# +# Where, for example: $outfile = foo.pdf and $infile = foo.1 +PS2PDF = ps2pdf +PS2PDF_FLAGS = + +# asciidoc is used to generate DocBook XML from asciidoc source +ASCIIDOC=asciidoc +ASCIIDOCFLAGS= + +# asciidoc source seems to have DOS line endings, so we use +# DOS2UNIX to be able to grep them correctly +DOS2UNIX=dos2unix +DOS2UNIXFLAGS= + +# The "col" command is needed for stripping backspaces and +# underscores from man(1) output to get pure plain-text +COL = col +COL_FLAGS = + +# The "expand" command is needed for expanding tabs from files +# generated from "man foo.1 | col -b" output +# output to get pure plain-text +EXPAND = expand +EXPAND_FLAGS = + +# value of DOCBOOK_XSL should either be the canonical +# (docbook.sourceforge.net) URL for the DocBook Project XSL +# stylesheets OR it can be a local system path +DOCBOOK_XSL = http://docbook.sourceforge.net/release/xsl/current + +# ----------------------------------------------------------------- +# names of some DIRECTORIES and FILES we need +# ----------------------------------------------------------------- +# We create a tmp directory once per make invocation; it's needed +# for holding a temporary copy of the custom DBLaTeX stylesheet +# (because dblatex currently can't read a stylesheet from stdin) +TMP ?= /tmp +TMPNUM := $(shell echo $$$$) +DOCBOOK_TMP := $(TMP)/docbook-make-$(TMPNUM) + +# MAN_MANIFEST_EXT is file extension added to individual manifest +# files +MAN_MANIFEST_EXT = manifest_man + +# HTML_MANIFEST_EXT is file extension added to HTML manifest files +HTML_MANIFEST_EXT = manifest_html + +# BASEDIR_SUFFIX is a what you need to set if you want a suffix +# added to the end of each "base.dir" we create while generating +# chunked HTML output +#BASEDIR_SUFFIX = -html +#BASEDIR_SUFFIX = _html +BASEDIR_SUFFIX = + +# ----------------------------------------------------------------- +# assorted OPTIONS +# ----------------------------------------------------------------- +# HTML_STYLESHEET -> $html.stylesheet stylesheet param +# http://docbook.sourceforge.net/snapshots/xsl/doc/html/html.stylesheet.html +HTML_STYLESHEET = style.css +# HTML_IMAGES -> $admon.graphics.path +# http://docbook.sourceforge.net/snapshots/xsl/doc/html/admon.graphics.path.html +HTML_IMAGES = images/ +# HTML_IMAGES_EXT -> $admon.graphics.extension +# http://docbook.sourceforge.net/snapshots/xsl/doc/html/admon.graphics.extension.html +HTML_IMAGES_EXT = .png + +# use these to set params on the command-line +# format is, e.g., HTML_PARAMS="--stringparam variablelist.as.table 1..." +FO_PARAMS = +HTML_PARAMS = +MAN_PARAMS = + +# DBX_PARAMS is for dblatex(1); format uses "-p": +# DBX_PARAMS="-p doc.publisher.show 1 -p term.breakline 1... +DBX_PARAMS= + +# What file extension do you use for DocBook source files? +DOCBOOK_FILE_EXTENSION = .xml + +# ----------------------------------------------------------------- +# make(1) functions for building file lists +# ----------------------------------------------------------------- +# +# the values of the following are used for determing what needs +# to be built and/or cleaned up + +ifeq ($(ASCII_OR_DOCBOOK),docbook) +SOURCE_FILES_DBK = $(wildcard *$(DOCBOOK_FILE_EXTENSION)) +else +SOURCE_FILES_DBK = $(foreach base,$(basename $(wildcard *.txt)),$(base)$(DOCBOOK_FILE_EXTENSION)) +endif + +FILES_FO = $(foreach base,$(basename $(SOURCE_FILES_DBK)),$(base).fo) +FILES_TXT = $(foreach base,$(basename $(SOURCE_FILES_DBK)),$(base).out.txt) +FILES_PDF = $(foreach base,$(basename $(SOURCE_FILES_DBK)),$(base).pdf) +FILES_LOG = $(foreach base,$(basename $(SOURCE_FILES_DBK)),$(base).log) +FILES_OUT = $(foreach base,$(basename $(SOURCE_FILES_DBK)),$(base).out) +FILES_AUX = $(foreach base,$(basename $(SOURCE_FILES_DBK)),$(base).aux) +FILES_HTML = $(foreach base,$(basename $(SOURCE_FILES_DBK)),$(base).html) +FILES_INFO = $(foreach base,$(basename $(SOURCE_FILES_DBK)),$(base).info) +DIRS_CHUNK = $(foreach base,$(basename $(SOURCE_FILES_DBK)),$(base)$(BASEDIR_SUFFIX)) +LISTS_HTML = $(foreach base,$(basename $(SOURCE_FILES_DBK)),$(base).$(HTML_MANIFEST_EXT)) +LISTS_MAN = $(foreach base,$(basename $(SOURCE_FILES_DBK)),$(base).$(MAN_MANIFEST_EXT)) +FILES_CHNK = $(shell for manifest in $(LISTS_HTML); do if [ -f "$$manifest" ]; then cat $$manifest; fi done) +FILES_MAN = $(shell for manifest in $(LISTS_MAN); do if [ -f "$$manifest" ]; then cat $$manifest; fi done) +FILES_MANP = $(foreach base,$(FILES_MAN),$(base).man.pdf) +FILES_MANT = $(foreach base,$(FILES_MAN),$(base).out.txt) +DIRS_MAN = $(shell for file in $(FILES_MAN); do dirname $$file; done | uniq) + +# ----------------------------------------------------------------- +# ** stylesheet for testing whether a file has a refentry +# ----------------------------------------------------------------- +REFENTRY_CHECK := \ + \ + \ + \ + true \ + \ + \ + + +# ----------------------------------------------------------------- +# ** Stylesheet Customization Layers ** +# ----------------------------------------------------------------- +# +# for DBLaTeX +DBX_CUSTOM := \ + 0 \ + 1 \ + 0 \ + 1 \ + 1 \ + left \ + 1 \ + \ + docbook \ + all \ + "" \ + WIDELABEL \ + 0 \ + [htbp] \ + 0 \ + 1 \ + \ + twoside \ + , \ + 1 \ + Synopsis \ + \ + ansi \ + 1 \ + 0 \ + java \ + 0 \ + + +# for FO output +FO_CUSTOM := \ + \ + 1 \ + A4 \ + \ + false \ + 1 \ + left \ + 1 \ + 0 \ + 1 \ + 1 \ + 1 \ + 1 \ + 1 \ + 1 \ + \ + blue \ + \ + \ + \#E0E0E0 \ + 4pt \ + 4pt \ + 4pt \ + 4pt \ + \ + \ + \ + \ + pt \ + \ + \ + \ + \ + \ + pt \ + \ + \ + \ + \ + \ + pt \ + \ + \ + \ + \ + \ + pt \ + \ + \ + \ + \ + \ + pt \ + \ + \ + \ + wrap \ + \ \ + \ + \ + pt \ + \ + \ + + +# for single-file (X)HTML outpout +HTML_CUSTOM := \ + \ + local.l10n.xml \ + \ + 1 \ + 0 \ + \ + 0 \ + $(HTML_STYLESHEET) \ + 0 \ + 1 \ + + +# for chunked (X)HTML output +CHNK_CUSTOM := \ + \ + 0 \ + 1 \ + 0 \ + $(HTML_STYLESHEET) \ + 1 \ + $(HTML_IMAGES) \ + $(HTML_IMAGES_EXT) \ + \ + 1 \ + 1 \ + yes \ + 1 \ + + +# for man-page output +MAN_CUSTOM := \ + \ + \ + \ + man/ \ + \ + + +# ----------------------------------------------------------------- +# ** TARGETS START HERE ** +# ----------------------------------------------------------------- +# prevents make from deleting, e.g. foo.1, after making foo.1.pdf +# and foo.1.txt from it. +.PRECIOUS: %.1 %.2 %.3 %.4 %.5 %.6 %.7 %.8 %.9 + +docbook: $(DOCBOOK_OUTPUT_FORMATS) + +xml: $(SOURCE_FILES_DBK) + +man: $(LISTS_MAN) + +# we can generate PDFs from man pages +man-pdf: man + $(MAKE) $(FILES_MANP) + +# we can generate plain text from man pages +man-txt: man + $(MAKE) $(FILES_MANT) + +html: $(FILES_HTML) + +chunk: $(LISTS_HTML) + +txt: $(FILES_TXT) + +pdf: $(FILES_PDF) + +info: $(FILES_INFO) + +# use the "debug" target to echo variables, etc., to +# test/troubleshoot changes you make to this makefile +debug: + echo $(wildcard *$(DOCBOOK_FILE_EXTENSION)) + echo $(ASCII_OR_DOCBOOK) + echo $(SOURCE_FILES_DBK) + +# ----------------------------------------------------------------- +# pattern rule to make DocBook refentry from asciidoc source +# ----------------------------------------------------------------- +%.1$(DOCBOOK_FILE_EXTENSION): %.1.txt + $(ASCIIDOC) $(ASCIIDOCFLAGS) -d manpage -b docbook $< + +%.2$(DOCBOOK_FILE_EXTENSION): %.2.txt + $(ASCIIDOC) $(ASCIIDOCFLAGS) -d manpage -b docbook $< + +%.3$(DOCBOOK_FILE_EXTENSION): %.3.txt + $(ASCIIDOC) $(ASCIIDOCFLAGS) -d manpage -b docbook $< + +%.4$(DOCBOOK_FILE_EXTENSION): %.4.txt + $(ASCIIDOC) $(ASCIIDOCFLAGS) -d manpage -b docbook $< + +%.5$(DOCBOOK_FILE_EXTENSION): %.5.txt + $(ASCIIDOC) $(ASCIIDOCFLAGS) -d manpage -b docbook $< + +%.6$(DOCBOOK_FILE_EXTENSION): %.6.txt + $(ASCIIDOC) $(ASCIIDOCFLAGS) -d manpage -b docbook $< + +%.7$(DOCBOOK_FILE_EXTENSION): %.7.txt + $(ASCIIDOC) $(ASCIIDOCFLAGS) -d manpage -b docbook $< + +%.8$(DOCBOOK_FILE_EXTENSION): %.8.txt + $(ASCIIDOC) $(ASCIIDOCFLAGS) -d manpage -b docbook $< + +%.9$(DOCBOOK_FILE_EXTENSION): %.9.txt + $(ASCIIDOC) $(ASCIIDOCFLAGS) -d manpage -b docbook $< + +# ----------------------------------------------------------------- +# pattern rule to make DocBook article from asciidoc source +# ----------------------------------------------------------------- +%$(DOCBOOK_FILE_EXTENSION): %.txt + export LINECOUNT1=$$(cat $< | $(DOS2UNIX) $(DOS2UNIXFLAGS) | egrep "^=+$$" | wc -l); \ + export LINECOUNT2=$$(cat $< | $(DOS2UNIX) $(DOS2UNIXFLAGS) | egrep "^= $$" | wc -l); \ + if [[ $$LINECOUNT1 > 1 || $$LINECOUNT2 > 1 ]]; then \ + $(ASCIIDOC) $(ASCIIDOCFLAGS) -d book -b docbook $<; \ + else \ + $(ASCIIDOC) $(ASCIIDOCFLAGS) -b docbook $<; \ + fi + +# ----------------------------------------------------------------- +# pattern rule for making (X)HTML and plain-text output +# ----------------------------------------------------------------- +%.html: %$(DOCBOOK_FILE_EXTENSION) + @echo '$(HTML_CUSTOM)' | $(XSLT) $(XSLT_FLAGS) $(HTML_PARAMS) - $< > $@ + +%.out.txt: %.html + $(TXT_MAKER) $(TXT_MAKER_FLAGS) ./$< \ + | sed "s/^\(\s\+[0-9]\+\. \)file:\/\/.\+$$/\\1(local)/g" \ + | egrep -v '^ file:///.+$$' \ + > $@ +# if DOCBOOK_OUTPUT_FORMATS does not contain "html", then we need +# to remove the "intermediate" HTML files we used for generating +# plain-text output +ifeq ($(findstring html,$(DOCBOOK_OUTPUT_FORMATS)),) + $(RM) $< +endif + +# ----------------------------------------------------------------- +# pattern rule for making chunked (X)HTML pages +# ----------------------------------------------------------------- +%.$(HTML_MANIFEST_EXT): %$(DOCBOOK_FILE_EXTENSION) + @echo '$(CHNK_CUSTOM)' | $(XSLT) $(XSLT_FLAGS) $(HTML_PARAMS) \ + --stringparam manifest $@ \ + --stringparam base.dir $(basename $@)$(BASEDIR_SUFFIX)/ \ + - $< + +# ----------------------------------------------------------------- +# pattern rules for making FO and PDF stuff +# ----------------------------------------------------------------- +%.fo: %$(DOCBOOK_FILE_EXTENSION) + @echo '$(FO_CUSTOM)' \ + | $(XSLT) $(XSLT_FLAGS) $(FO_PARAMS) - $< > $@ + +ifeq ($(PDF_MAKER),dblatex) +%.pdf: %$(DOCBOOK_FILE_EXTENSION) + mkdir -p $(DOCBOOK_TMP) + echo '$(DBX_CUSTOM)' > $(DOCBOOK_TMP)/dblatex.xsl + -$(DBLATEX) $(DBLATEX_FLAGS)\ + -p $(DOCBOOK_TMP)/dblatex.xsl \ + -o $@ \ + $< + $(RM) -r $(DOCBOOK_TMP) +endif + +%.pdf: %.fo +ifeq ($(PDF_MAKER),) + $(error No PDF_MAKER specified. Cannot make pdf) +else +ifeq ($(PDF_MAKER),xep) + $(XEP) $(XEP_FLAGS) $< $@ +else +ifeq ($(PDF_MAKER),fop) + $(FOP) $(FOP_FLAGS) $< $@ +else +ifeq ($(PDF_MAKER),xmlroff) + $(XMLROFF) $(XMLROFF_FLAGS) $< -o $@ +else +ifeq ($(PDF_MAKER),passivetex) + $(PDFTEX) $(PDFTEX_FLAGS) &$(PDFXMLTEX) $< + @if [ `egrep Rerun $(basename $@).log | wc -l` -gt 0 ]; then \ + $(PDFTEX) $(PDFTEX_FLAGS) &$(PDFXMLTEX) $< ; \ + fi + @if [ `egrep Rerun $(basename $@).log | wc -l` -gt 0 ]; then \ + $(PDFTEX) $(PDFTEX_FLAGS) &$(PDFXMLTEX) $< ; \ + fi + $(RM) $(basename $@).log + $(RM) $(basename $@).aux + $(RM) $(basename $@).out +else + $(error I do not know how to make a PDF using "$(PDF_MAKER)") +endif +endif +endif +endif +endif + +# ----------------------------------------------------------------- +# pattern rules for making TeXinfo stuff +# ----------------------------------------------------------------- +%.txml: %$(DOCBOOK_FILE_EXTENSION) + $(DB2X_XSLTPROC) $(DB2X_XSLTPROC_FLAGS) -s texi -o $@ $< + +%.texi: %.txml + $(DB2X_TEXIXML) $(DB2X_TEXIXML_FLAGS) $< + +# the following is actually a built-in rule, but it's redefined +# here just for the sake of clarity +%.info: %.texi + $(MAKEINFO) $(MAKEINFO_FLAGS) $< -o $@ + +# ----------------------------------------------------------------- +# pattern rule for making man pages +# ----------------------------------------------------------------- +%.$(MAN_MANIFEST_EXT): %$(DOCBOOK_FILE_EXTENSION) + @if [ "$(strip $(shell echo '$(REFENTRY_CHECK)' | $(XSLT) $(XSLT_FLAGS) - $<))" != "true" ]; then \ + touch $@; \ + else \ + echo '$(MAN_CUSTOM)' \ + | $(XSLT) $(XSLT_FLAGS) $(MAN_PARAMS) \ + --stringparam man.output.manifest.filename $@ \ + - $<; \ + fi + +# ----------------------------------------------------------------- +# pattern rule for enabling direct "make foo.1" to work +# ----------------------------------------------------------------- + +%.1 %.2 %.3 %.4 %.5 %.6 %.7: %.xml + $(MAKE) $(basename $<).$(MAN_MANIFEST_EXT) + +# ----------------------------------------------------------------- +# pattern rules for making Postscript/PDF output from man pages +# ----------------------------------------------------------------- +%.1.man.ps: %.1 + $(MAN) -l $(MAN_FLAGS) -Tps $< > $@ + +%.2.man.ps: %.2 + $(MAN) -l $(MAN_FLAGS) -Tps $< > $@ + +%.3.man.ps: %.3 + $(MAN) -l $(MAN_FLAGS) -Tps $< > $@ + +%.4.man.ps: %.4 + $(MAN) -l $(MAN_FLAGS) -Tps $< > $@ + +%.5.man.ps: %.5 + $(MAN) -l $(MAN_FLAGS) -Tps $< > $@ + +%.6.man.ps: %.6 + $(MAN) -l $(MAN_FLAGS) -Tps $< > $@ + +%.7.man.ps: %.7 + $(MAN) -l $(MAN_FLAGS) -Tps $< > $@ + +%.8.man.ps: %.8 + $(MAN) -l $(MAN_FLAGS) -Tps $< > $@ + +%.9.man.ps: %.9 + $(MAN) -l $(MAN_FLAGS) -Tps $< > $@ + +# ----------------------------------------------------------------- +# pattern rule for converting Postscript to PDF +# ----------------------------------------------------------------- +%.pdf: %.ps + $(PS2PDF) $(PS2PDF_FLAGS) $< + +# ----------------------------------------------------------------- +# pattern rules for making plain-text output from man pages +# ----------------------------------------------------------------- +%.1.out.txt: %.1 + $(MAN) -l $(MAN_FLAGS) -Tascii $< | $(COL) -b $(COL_FLAGS) | $(EXPAND) $(EXPAND_FLAGS) > $@ + +%.2.out.txt: %.2 + $(MAN) -l $(MAN_FLAGS) -Tascii $< | $(COL) -b $(COL_FLAGS) | $(EXPAND) $(EXPAND_FLAGS) > $@ + +%.3.out.txt: %.3 + $(MAN) -l $(MAN_FLAGS) -Tascii $< | $(COL) -b $(COL_FLAGS) | $(EXPAND) $(EXPAND_FLAGS) > $@ + +%.4.out.txt: %.4 + $(MAN) -l $(MAN_FLAGS) -Tascii $< | $(COL) -b $(COL_FLAGS) | $(EXPAND) $(EXPAND_FLAGS) > $@ + +%.5.out.txt: %.5 + $(MAN) -l $(MAN_FLAGS) -Tascii $< | $(COL) -b $(COL_FLAGS) | $(EXPAND) $(EXPAND_FLAGS) > $@ + +%.6.out.txt: %.6 + $(MAN) -l $(MAN_FLAGS) -Tascii $< | $(COL) -b $(COL_FLAGS) | $(EXPAND) $(EXPAND_FLAGS) > $@ + +%.7.out.txt: %.7 + $(MAN) -l $(MAN_FLAGS) -Tascii $< | $(COL) -b $(COL_FLAGS) | $(EXPAND) $(EXPAND_FLAGS) > $@ + +%.8.out.txt: %.8 + $(MAN) -l $(MAN_FLAGS) -Tascii $< | $(COL) -b $(COL_FLAGS) | $(EXPAND) $(EXPAND_FLAGS) > $@ + +%.9.out.txt: %.9 + $(MAN) -l $(MAN_FLAGS) -Tascii $< | $(COL) -b $(COL_FLAGS) | $(EXPAND) $(EXPAND_FLAGS) > $@ + +# ----------------------------------------------------------------- +# target(s) for cleaning up the mess +# ----------------------------------------------------------------- +clean: +ifneq ($(FILES_TXT),) + $(RM) $(FILES_TXT) +endif +ifneq ($(FILES_PDF),) + $(RM) $(FILES_PDF) +endif +ifneq ($(FILES_FO),) + $(RM) $(FILES_FO) +endif +ifneq ($(FILES_LOG),) + $(RM) $(FILES_LOG) +endif +ifneq ($(FILES_OUT),) + $(RM) $(FILES_OUT) +endif +ifneq ($(FILES_AUX),) + $(RM) $(FILES_AUX) +endif +ifneq ($(FILES_HTML),) + $(RM) $(FILES_HTML) +endif +ifneq ($(FILES_CHNK),) + $(RM) $(FILES_CHNK) +endif +ifneq ($(FILES_MAN),) + $(RM) $(FILES_MAN) +endif +ifneq ($(FILES_MANT),) + $(RM) $(FILES_MANT) +endif +ifneq ($(FILES_MANP),) + $(RM) $(FILES_MANP) +endif +ifneq ($(FILES_INFO),) + $(RM) $(FILES_INFO) +endif +ifneq ($(DIRS_CHUNK),) + for dir in $(DIRS_CHUNK); do \ + if [ -d "$$dir" ]; then \ + $(RMDIR) $(RMDIR_FLAGS) $$dir; \ + fi \ + done +endif +ifneq ($(DIRS_MAN),) +ifneq ($(DIRS_MAN),.) + for dir in $(DIRS_MAN); do \ + if [ -d "$$dir" ]; then \ + $(RMDIR) $(RMDIR_FLAGS) $$dir; \ + fi \ + done +endif +endif +ifneq ($(LISTS_MAN),) + $(RM) $(LISTS_MAN) +endif +ifneq ($(LISTS_HTML),) + $(RM) $(LISTS_HTML) +endif +ifneq ($(ASCII_OR_DOCBOOK),docbook) + $(RM) -i $(SOURCE_FILES_DBK) +endif diff --git a/doc/help/xslt/tools/make/Makefile.combine b/doc/help/xslt/tools/make/Makefile.combine new file mode 100644 index 00000000..28a5e184 --- /dev/null +++ b/doc/help/xslt/tools/make/Makefile.combine @@ -0,0 +1,182 @@ +# $Source$ +# $Author: xmldoc $ +# $Date: 2007-03-04 22:28:18 -0800 (Sun, 04 Mar 2007) $ +# $Revision: 6666 $ +# vim: number +# +# ----------------------------------------------------------------- +# ** Makefile.combine -- combine source files ** +# ----------------------------------------------------------------- +# +# This file is part of the DocBook Project XSL Stylesheet +# distribution. +# +# See http://docbook.sourceforge.net/release/xsl/current/ +# for copyright and other information. +# +# This makefile creates "wrapper" files that combine sets of +# individual DocBook source files. The purpose of combining the +# files is to speed up processing time. By default it puts 20 +# files into each wrapper. Use CHUNKSIZE to configure the number +# of files per wrapper. +# +# Currently, this makefile has only a "man" target and is mainly +# intended to speed up processing of large numbers of individual +# refentry instances. + +# What file extension do you use for DocBook source files? +DOCBOOK_FILE_EXTENSION = .xml +SOURCE_FILES_DBK = $(wildcard *$(DOCBOOK_FILE_EXTENSION)) + +MAKEFILE_DOCBOOK = Makefile.DocBook + +XSLTPROC=xsltproc +XSLTPROC_FLAGS= + +SED=sed +SED_FLAGS=-i + +CHUNKSIZE ?= 20 + +WRAPPER_ELEMENT = reference +WRAPPER_TITLE=Combined contents + +COMBINE_XSL = \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + <$(WRAPPER_ELEMENT)> \ + $(WRAPPER_TITLE) \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + + +all: man + +man: build/man + +build/Makefile: + if [ ! -d build ]; then mkdir build; fi + cp $(MAKEFILE_DOCBOOK) $@ + +combine.xsl: Makefile + @echo '$(COMBINE_XSL)' > $@ + $(SED) $(SED_FLAGS) "s/\^\^/'/g" $@ + +build/1.xml: combine.xsl + $(XSLTPROC) $(XSLTPROC_FLAGS) \ + --stringparam files "$(SOURCE_FILES_DBK)" \ + --stringparam chunk.size $(CHUNKSIZE) \ + $< $< + +build/man: build/Makefile build/1.xml + time $(MAKE) -C build man \ + MAN_PARAMS="--stringparam man.output.quietly 1 \ + --stringparam refentry.meta.get.quietly 1 \ + --stringparam man.charmap.enabled 0" + +debug: + +clean: + $(RM) -r build diff --git a/doc/help/xslt/tools/make/Makefile.docParam b/doc/help/xslt/tools/make/Makefile.docParam new file mode 100644 index 00000000..36d12caf --- /dev/null +++ b/doc/help/xslt/tools/make/Makefile.docParam @@ -0,0 +1,59 @@ +# $Source$ +# $Author: xmldoc $ +# $Date: 2007-03-23 14:57:22 -0700 (Fri, 23 Mar 2007) $ +# $Revision: 6759 $ +# vim: number +# +# ------------------------------------------------------------------ +# ** Makefile.paramDoc - create param.xsl files w/ embedded doc ** +# ------------------------------------------------------------------ + +PARAMFILES = $(wildcard ../../*/param.xsl) +PARAMFILESDOCD = $(foreach base,$(basename $(PARAMFILES)),$(base).docd.xsl) + +XSLT=xsltproc +XSLTFLAGS= + +COPYDOC := \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + &\#x0a; \ + \ + \ + \ + &\#x0a; \ + \ + \ + + +all: $(PARAMFILESDOCD) + +%.docd.xsl: %.xsl + @echo '$(COPYDOC)' | $(XSLT) $(XSLTFLAGS) - $< > $@ + +debug: + @echo $(PARAMFILESDOCD) + +clean: + $(RM) $(PARAMFILESDOCD) diff --git a/doc/help/xslt/webhelp/LICENSE b/doc/help/xslt/webhelp/LICENSE new file mode 100755 index 00000000..63c2931f --- /dev/null +++ b/doc/help/xslt/webhelp/LICENSE @@ -0,0 +1 @@ +See doc/content/index.html. \ No newline at end of file diff --git a/doc/help/xslt/webhelp/build.properties b/doc/help/xslt/webhelp/build.properties new file mode 100755 index 00000000..7f45d069 --- /dev/null +++ b/doc/help/xslt/webhelp/build.properties @@ -0,0 +1,43 @@ + +# The path (relative to the build.xml file) to your input document. +# To use your own input document, create a build.xml file of your own +# and import this build.xml. +input-xml=docsrc/readme.xml + +# The directory in which to put the output files. +# This directory is created if it does not exist. +output-dir=docs + +# If you are using a customization layer that imports webhelp.xsl, use +# this property to point to it. +stylesheet-path=${ant.file.dir}/xsl/webhelp.xsl + +# If your document has image directories that need to be copied +# to the output directory, you can list patterns here. +# See the Ant documentation for fileset for documentation +# on patterns. +#input-images-dirs=images/**,figures/**,graphics/** + +# By default, the ant script assumes your images are stored +# in the same directory as the input-xml. If you store your +# image directories in another directory, specify it here. +# and uncomment this line. +#input-images-basedir=/path/to/image/location + +# Modify this so that it points to your copy of the Saxon 6.5 jar. +xslt-processor-classpath=/usr/share/java/saxon-6.5.5.jar + +# For non-ns version only, this validates the document +# against a dtd. +validate-against-dtd=true + +# Set this to false if you don't need a search tab. +webhelp.include.search.tab=true + +# indexer-language is used to tell the search indexer which language +# the docbook is written. This will be used to identify the correct +# stemmer, and punctuations that differs from language to language. +# see the documentation for details. en=English, fr=French, de=German, +# zh=Chinese, ja=Japanese etc. +webhelp.indexer.language=en + diff --git a/doc/help/xslt/webhelp/build.xml b/doc/help/xslt/webhelp/build.xml new file mode 100755 index 00000000..c9358b1f --- /dev/null +++ b/doc/help/xslt/webhelp/build.xml @@ -0,0 +1,112 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Indexing html files in ${output-dir}/content + + + + + + + + + + + + + + + + + + +Usage: +webhelp: Generates the document in webhelp format and indexes the content. +clean: Deletes webhelp output directory. +index: Indexes the content. + + + + diff --git a/doc/help/xslt/webhelp/docs/common/css/positioning.css b/doc/help/xslt/webhelp/docs/common/css/positioning.css new file mode 100644 index 00000000..3d30bc28 --- /dev/null +++ b/doc/help/xslt/webhelp/docs/common/css/positioning.css @@ -0,0 +1,109 @@ +body { font: 12px Verdana, Geneva, sans-serif; } +p, ul, ol, li { font: 10pt Verdana, Geneva, sans-serif; } +h1 { font: bold 15pt Arial, Helvetica, geneva; } +h2 { font: bold 14pt Arial, Helvetica, geneva; } + +#header { + background: white url(../images/header-bg.gif) repeat-x; + position: fixed; + width: 100%; + height: 95px; + top: 0; + right: 0; + bottom: auto; + left: 0; + border-bottom: 2px solid #cccccc; + z-index: 2000; +} + +#leftnavigation { +/* background-color:#91e7b3;*/ + overflow: auto; + position: fixed; + height: auto; + top: 90px; + bottom: 0; + left: 0; + width: 280px; + z-index: 1500; + border-right:2px solid #CCCCCC; +} + +#content { + position: relative; + top: 90px; /* left: 240px;*/ + right: auto; /* bottom: 20px; */ + margin: 0px 0px 0px 280px; + width: auto; + height: inherit; + padding-left: 5px; + padding-right: 30px; + color: #000000; + /*border-left: 2px solid #cccccc; overflow :scroll;*/ + z-index: 1000; + + max-width: 70em; + min-width:800px; +} + +#navheader { + position: fixed; + top: 65px; + right:4px; +} + +#content h1, #content h2 { color: #cc0000; } +.navfooter { bottom: 2%; } +.highlight { background-color: #c5d3c3; } +.highlightButton{ font-size: 0; } + +/* Show Hide TOC tree */ +.pointLeft { + background: url("../images/showHideTreeIcons.png") 0 0 no-repeat; + height: 28px; + width: 15px; + display: block; + font-size: 0; + cursor: pointer; +} +.pointRight { + background: url("../images/showHideTreeIcons.png") -15px 0 no-repeat; + height: 28px; + display: block; + font-size: 0; + cursor: pointer; +} + +/* Search results Styling */ +.searchExpression { + color: #0050A0; + background-color: #EBEFF8; + font-size: 12pt; +} +.searchresult li a { + text-decoration: none; + color: #0050A0; +} +.searchresult li { + color: #0050A0; +} +.shortdesclink { + color: gray; + font-size: 9pt; +} +.searchText { + border: #BFCEE9 solid 1pt; + width: 11em +} +.searchButton { + margin-left: 3px; + background: #EBEFF8; + color: #0050A0; + border: #BFCEE9 solid 1pt; + font-weight: bold; + font-size: 10pt +} + +.title, div.toc>p{ + font-weight: bold; + } \ No newline at end of file diff --git a/doc/help/xslt/webhelp/docs/common/images/header-bg.gif b/doc/help/xslt/webhelp/docs/common/images/header-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..f9efa280225828f2ccfc6c051ffcb6d668967dc6 GIT binary patch literal 619 zcmZ?wbhEHb6k$kVxXQrr_wV2D-@pI*_51thH{ZT}d;j6X&tJdZzI*rO%a`B3e}Dh+ z?_@ZZ0GpFe+j^Y-nB4GQky?|**%@Z-z7FI5Wv|Nm#8B~bjy0ybU;M1uU}!1n(@e}RXNnDU7wMLU;R z%)gK^#d&Si`s=-Ar{9+8KG;xUvu?)u7bR8)^LF3QpHSns{yO`QJ$3uP|M=g~*eKi5 z+ScAK)z#h8+v_%A0^{TRT6o;hpwoH;@B=L;=bykzOp=_^*StzNTs-8zPin>KIR z!n=LP&Rx4C_U_w%;6TUW!;;62pE!AP;+eDOoR}_Nx_srzvg_C9-nzwp_ul;n4_F^R zdHU=b_sdtW-@J)?|DNO1=PzHsvi$h@>-TT2fBzYn*+QHrBy4SF*Vl+Su_4h}O+fM5 zEQ^VaN4q7A(|C?eT)d!P!MRJtZPSEJlhx%{#GKre>g{fjXgAw)^RlyPe8tanPJHH> z*)iY#A?Mwur5P7%=6t{_Ev$x8UUy{IJ*D< literal 0 HcmV?d00001 diff --git a/doc/help/xslt/webhelp/docs/common/images/highlight-blue.gif b/doc/help/xslt/webhelp/docs/common/images/highlight-blue.gif new file mode 100644 index 0000000000000000000000000000000000000000..4fdabde69252ba43e8b658c74a72775caaf304f4 GIT binary patch literal 471 zcmZ?wbhEHb)L_tNI3mh0b>*rn_bz?>^5NvQ+|z#z(?15yRD zlY#Yrf@+_NCr7*Rnu7}!QgzNx-55}@F4$S|f`i~ggBz0NjqwI*2{Q9{vnE;=IjrB+ zDCD7$u;0?zfI%<#i1GTJdsHRM1Uh5*=AKsEeQ?SYjaMqdjg0|KjY4kRs^-=Wtu3wX zZqXd>y-od16RmlavwB*EXSDg-v-nSI_Fpi|n$>jqfB1PxT?^`t?fQfg*PWROT z?4=7Bj-NPj$bb8e1?SIiu}ay0;o4&VD^suExnz0EZN;6_?hnqjm6bhlW2}3)ao5bl z&nzEpx@W<5 literal 0 HcmV?d00001 diff --git a/doc/help/xslt/webhelp/docs/common/images/highlight-yellow.gif b/doc/help/xslt/webhelp/docs/common/images/highlight-yellow.gif new file mode 100644 index 0000000000000000000000000000000000000000..3e847e7e01623b08e9a7e7d823fcb97104e76194 GIT binary patch literal 331 zcmV-R0kr-{Nk%w1VJrYF0HOc@`{bSf|Nr^cZTH48_|8oJ^wtd=`2yXqN@dAW)FA{*9 z0^lo>f-$0TSwVV~Os3NTjY>HMo^?sUEofV-pivzGA!zUjgNA5FQ#EN!ZcP>Pwa!Lg z*&TUsLwr0%X>V dfG2i6;P)aBqN^Dbjd|Rq0Yr!k5L_hy06YHIk5T{t literal 0 HcmV?d00001 diff --git a/doc/help/xslt/webhelp/docs/common/images/loading.gif b/doc/help/xslt/webhelp/docs/common/images/loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..6a56815b224f865a176ee02259209bbe734a7c66 GIT binary patch literal 729 zcmZ?wbhEHb6krfw*v!vRRaN!<`}eM{u04D9OrAXX?AfzTO-;|9J-c`B-kLRQjvhVw z?%liDvuAJFvSsn&#sB~RSNzZI=Nc01>=@u`q-Vg)$iTp$_>+Z`gMptx2gn8*D!{ui!K?FQ=} zH?Xd{pt$&AAhW_8|9KxoF0L)FVBuPK^2Fx|Eyj5b!A2T$_)fYrI-Fn;YEaSX(VW82 zk<8BB^ zyg~ZU!^v%pW2>hJf)$GceOB@lW%IqbM+#%`yV*4 zSpoDBFs3Ycm>47vZsmyO|lq3pQPK+9JJ1v_kOAB<7PPOi?B$_+<{i4+h5@D_X*USQo*^ zaDpSuK*RrF;UPy+wgi?0O$Mhka~zylKP%{ViMg8^3Tnt4Ind5xl01vC$yt$sYs%r1 o3nDTyF1RxtpYS1rRbWl(0YARY!rMM@@~&Y>OFO^ag@M5u0Ak7h$N&HU literal 0 HcmV?d00001 diff --git a/doc/help/xslt/webhelp/docs/common/images/logo.png b/doc/help/xslt/webhelp/docs/common/images/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..b111258c0ca80f948528d9fe96d1288b257c5a1d GIT binary patch literal 35061 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 IM6N<$g5CR900000 literal 0 HcmV?d00001 diff --git a/doc/help/xslt/webhelp/docs/common/jquery/jquery-1.4.2.min.js b/doc/help/xslt/webhelp/docs/common/jquery/jquery-1.4.2.min.js new file mode 100644 index 00000000..7c243080 --- /dev/null +++ b/doc/help/xslt/webhelp/docs/common/jquery/jquery-1.4.2.min.js @@ -0,0 +1,154 @@ +/*! + * jQuery JavaScript Library v1.4.2 + * http://jquery.com/ + * + * Copyright 2010, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2010, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Sat Feb 13 22:33:48 2010 -0500 + */ +(function(A,w){function ma(){if(!c.isReady){try{s.documentElement.doScroll("left")}catch(a){setTimeout(ma,1);return}c.ready()}}function Qa(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}function X(a,b,d,f,e,j){var i=a.length;if(typeof b==="object"){for(var o in b)X(a,o,b[o],f,e,d);return a}if(d!==w){f=!j&&f&&c.isFunction(d);for(o=0;o)[^>]*$|^#([\w-]+)$/,Ua=/^.[^:#\[\.,]*$/,Va=/\S/, +Wa=/^(\s|\u00A0)+|(\s|\u00A0)+$/g,Xa=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,P=navigator.userAgent,xa=false,Q=[],L,$=Object.prototype.toString,aa=Object.prototype.hasOwnProperty,ba=Array.prototype.push,R=Array.prototype.slice,ya=Array.prototype.indexOf;c.fn=c.prototype={init:function(a,b){var d,f;if(!a)return this;if(a.nodeType){this.context=this[0]=a;this.length=1;return this}if(a==="body"&&!b){this.context=s;this[0]=s.body;this.selector="body";this.length=1;return this}if(typeof a==="string")if((d=Ta.exec(a))&& +(d[1]||!b))if(d[1]){f=b?b.ownerDocument||b:s;if(a=Xa.exec(a))if(c.isPlainObject(b)){a=[s.createElement(a[1])];c.fn.attr.call(a,b,true)}else a=[f.createElement(a[1])];else{a=sa([d[1]],[f]);a=(a.cacheable?a.fragment.cloneNode(true):a.fragment).childNodes}return c.merge(this,a)}else{if(b=s.getElementById(d[2])){if(b.id!==d[2])return T.find(a);this.length=1;this[0]=b}this.context=s;this.selector=a;return this}else if(!b&&/^\w+$/.test(a)){this.selector=a;this.context=s;a=s.getElementsByTagName(a);return c.merge(this, +a)}else return!b||b.jquery?(b||T).find(a):c(b).find(a);else if(c.isFunction(a))return T.ready(a);if(a.selector!==w){this.selector=a.selector;this.context=a.context}return c.makeArray(a,this)},selector:"",jquery:"1.4.2",length:0,size:function(){return this.length},toArray:function(){return R.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this.slice(a)[0]:this[a]},pushStack:function(a,b,d){var f=c();c.isArray(a)?ba.apply(f,a):c.merge(f,a);f.prevObject=this;f.context=this.context;if(b=== +"find")f.selector=this.selector+(this.selector?" ":"")+d;else if(b)f.selector=this.selector+"."+b+"("+d+")";return f},each:function(a,b){return c.each(this,a,b)},ready:function(a){c.bindReady();if(c.isReady)a.call(s,c);else Q&&Q.push(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(R.apply(this,arguments),"slice",R.call(arguments).join(","))},map:function(a){return this.pushStack(c.map(this, +function(b,d){return a.call(b,d,b)}))},end:function(){return this.prevObject||c(null)},push:ba,sort:[].sort,splice:[].splice};c.fn.init.prototype=c.fn;c.extend=c.fn.extend=function(){var a=arguments[0]||{},b=1,d=arguments.length,f=false,e,j,i,o;if(typeof a==="boolean"){f=a;a=arguments[1]||{};b=2}if(typeof a!=="object"&&!c.isFunction(a))a={};if(d===b){a=this;--b}for(;b
    a"; +var e=d.getElementsByTagName("*"),j=d.getElementsByTagName("a")[0];if(!(!e||!e.length||!j)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(j.getAttribute("style")),hrefNormalized:j.getAttribute("href")==="/a",opacity:/^0.55$/.test(j.style.opacity),cssFloat:!!j.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:s.createElement("select").appendChild(s.createElement("option")).selected, +parentNode:d.removeChild(d.appendChild(s.createElement("div"))).parentNode===null,deleteExpando:true,checkClone:false,scriptEval:false,noCloneEvent:true,boxModel:null};b.type="text/javascript";try{b.appendChild(s.createTextNode("window."+f+"=1;"))}catch(i){}a.insertBefore(b,a.firstChild);if(A[f]){c.support.scriptEval=true;delete A[f]}try{delete b.test}catch(o){c.support.deleteExpando=false}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function k(){c.support.noCloneEvent= +false;d.detachEvent("onclick",k)});d.cloneNode(true).fireEvent("onclick")}d=s.createElement("div");d.innerHTML="";a=s.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var k=s.createElement("div");k.style.width=k.style.paddingLeft="1px";s.body.appendChild(k);c.boxModel=c.support.boxModel=k.offsetWidth===2;s.body.removeChild(k).style.display="none"});a=function(k){var n= +s.createElement("div");k="on"+k;var r=k in n;if(!r){n.setAttribute(k,"return;");r=typeof n[k]==="function"}return r};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=e=j=null}})();c.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};var G="jQuery"+J(),Ya=0,za={};c.extend({cache:{},expando:G,noData:{embed:true,object:true, +applet:true},data:function(a,b,d){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var f=a[G],e=c.cache;if(!f&&typeof b==="string"&&d===w)return null;f||(f=++Ya);if(typeof b==="object"){a[G]=f;e[f]=c.extend(true,{},b)}else if(!e[f]){a[G]=f;e[f]={}}a=e[f];if(d!==w)a[b]=d;return typeof b==="string"?a[b]:a}},removeData:function(a,b){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var d=a[G],f=c.cache,e=f[d];if(b){if(e){delete e[b];c.isEmptyObject(e)&&c.removeData(a)}}else{if(c.support.deleteExpando)delete a[c.expando]; +else a.removeAttribute&&a.removeAttribute(c.expando);delete f[d]}}}});c.fn.extend({data:function(a,b){if(typeof a==="undefined"&&this.length)return c.data(this[0]);else if(typeof a==="object")return this.each(function(){c.data(this,a)});var d=a.split(".");d[1]=d[1]?"."+d[1]:"";if(b===w){var f=this.triggerHandler("getData"+d[1]+"!",[d[0]]);if(f===w&&this.length)f=c.data(this[0],a);return f===w&&d[1]?this.data(d[0]):f}else return this.trigger("setData"+d[1]+"!",[d[0],b]).each(function(){c.data(this, +a,b)})},removeData:function(a){return this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a,b,d){if(a){b=(b||"fx")+"queue";var f=c.data(a,b);if(!d)return f||[];if(!f||c.isArray(d))f=c.data(a,b,c.makeArray(d));else f.push(d);return f}},dequeue:function(a,b){b=b||"fx";var d=c.queue(a,b),f=d.shift();if(f==="inprogress")f=d.shift();if(f){b==="fx"&&d.unshift("inprogress");f.call(a,function(){c.dequeue(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a;a="fx"}if(b=== +w)return c.queue(this[0],a);return this.each(function(){var d=c.queue(this,a,b);a==="fx"&&d[0]!=="inprogress"&&c.dequeue(this,a)})},dequeue:function(a){return this.each(function(){c.dequeue(this,a)})},delay:function(a,b){a=c.fx?c.fx.speeds[a]||a:a;b=b||"fx";return this.queue(b,function(){var d=this;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var Aa=/[\n\t]/g,ca=/\s+/,Za=/\r/g,$a=/href|src|style/,ab=/(button|input)/i,bb=/(button|input|object|select|textarea)/i, +cb=/^(a|area)$/i,Ba=/radio|checkbox/;c.fn.extend({attr:function(a,b){return X(this,a,b,true,c.attr)},removeAttr:function(a){return this.each(function(){c.attr(this,a,"");this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(c.isFunction(a))return this.each(function(n){var r=c(this);r.addClass(a.call(this,n,r.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(ca),d=0,f=this.length;d-1)return true;return false},val:function(a){if(a===w){var b=this[0];if(b){if(c.nodeName(b,"option"))return(b.attributes.value||{}).specified?b.value:b.text;if(c.nodeName(b,"select")){var d=b.selectedIndex,f=[],e=b.options;b=b.type==="select-one";if(d<0)return null;var j=b?d:0;for(d=b?d+1:e.length;j=0;else if(c.nodeName(this,"select")){var u=c.makeArray(r);c("option",this).each(function(){this.selected= +c.inArray(c(this).val(),u)>=0});if(!u.length)this.selectedIndex=-1}else this.value=r}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(a,b,d,f){if(!a||a.nodeType===3||a.nodeType===8)return w;if(f&&b in c.attrFn)return c(a)[b](d);f=a.nodeType!==1||!c.isXMLDoc(a);var e=d!==w;b=f&&c.props[b]||b;if(a.nodeType===1){var j=$a.test(b);if(b in a&&f&&!j){if(e){b==="type"&&ab.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed"); +a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&&b.specified?b.value:bb.test(a.nodeName)||cb.test(a.nodeName)&&a.href?0:w;return a[b]}if(!c.support.style&&f&&b==="style"){if(e)a.style.cssText=""+d;return a.style.cssText}e&&a.setAttribute(b,""+d);a=!c.support.hrefNormalized&&f&&j?a.getAttribute(b,2):a.getAttribute(b);return a===null?w:a}return c.style(a,b,d)}});var O=/\.(.*)$/,db=function(a){return a.replace(/[^\w\s\.\|`]/g, +function(b){return"\\"+b})};c.event={add:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){if(a.setInterval&&a!==A&&!a.frameElement)a=A;var e,j;if(d.handler){e=d;d=e.handler}if(!d.guid)d.guid=c.guid++;if(j=c.data(a)){var i=j.events=j.events||{},o=j.handle;if(!o)j.handle=o=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(o.elem,arguments):w};o.elem=a;b=b.split(" ");for(var k,n=0,r;k=b[n++];){j=e?c.extend({},e):{handler:d,data:f};if(k.indexOf(".")>-1){r=k.split("."); +k=r.shift();j.namespace=r.slice(0).sort().join(".")}else{r=[];j.namespace=""}j.type=k;j.guid=d.guid;var u=i[k],z=c.event.special[k]||{};if(!u){u=i[k]=[];if(!z.setup||z.setup.call(a,f,r,o)===false)if(a.addEventListener)a.addEventListener(k,o,false);else a.attachEvent&&a.attachEvent("on"+k,o)}if(z.add){z.add.call(a,j);if(!j.handler.guid)j.handler.guid=d.guid}u.push(j);c.event.global[k]=true}a=null}}},global:{},remove:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){var e,j=0,i,o,k,n,r,u,z=c.data(a), +C=z&&z.events;if(z&&C){if(b&&b.type){d=b.handler;b=b.type}if(!b||typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(e in C)c.event.remove(a,e+b)}else{for(b=b.split(" ");e=b[j++];){n=e;i=e.indexOf(".")<0;o=[];if(!i){o=e.split(".");e=o.shift();k=new RegExp("(^|\\.)"+c.map(o.slice(0).sort(),db).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(r=C[e])if(d){n=c.event.special[e]||{};for(B=f||0;B=0){a.type= +e=e.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();c.event.global[e]&&c.each(c.cache,function(){this.events&&this.events[e]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType===8)return w;a.result=w;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(f=c.data(d,"handle"))&&f.apply(d,b);f=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+e]&&d["on"+e].apply(d,b)===false)a.result=false}catch(j){}if(!a.isPropagationStopped()&& +f)c.event.trigger(a,b,f,true);else if(!a.isDefaultPrevented()){f=a.target;var i,o=c.nodeName(f,"a")&&e==="click",k=c.event.special[e]||{};if((!k._default||k._default.call(d,a)===false)&&!o&&!(f&&f.nodeName&&c.noData[f.nodeName.toLowerCase()])){try{if(f[e]){if(i=f["on"+e])f["on"+e]=null;c.event.triggered=true;f[e]()}}catch(n){}if(i)f["on"+e]=i;c.event.triggered=false}}},handle:function(a){var b,d,f,e;a=arguments[0]=c.event.fix(a||A.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive; +if(!b){d=a.type.split(".");a.type=d.shift();f=new RegExp("(^|\\.)"+d.slice(0).sort().join("\\.(?:.*\\.)?")+"(\\.|$)")}e=c.data(this,"events");d=e[a.type];if(e&&d){d=d.slice(0);e=0;for(var j=d.length;e-1?c.map(a.options,function(f){return f.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d},fa=function(a,b){var d=a.target,f,e;if(!(!da.test(d.nodeName)||d.readOnly)){f=c.data(d,"_change_data");e=Fa(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data", +e);if(!(f===w||e===f))if(f!=null||e){a.type="change";return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:fa,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return fa.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return fa.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a, +"_change_data",Fa(a))}},setup:function(){if(this.type==="file")return false;for(var a in ea)c.event.add(this,a+".specialChange",ea[a]);return da.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return da.test(this.nodeName)}};ea=c.event.special.change.filters}s.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(f){f=c.event.fix(f);f.type=b;return c.event.handle.call(this,f)}c.event.special[b]={setup:function(){this.addEventListener(a, +d,true)},teardown:function(){this.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,f,e){if(typeof d==="object"){for(var j in d)this[b](j,f,d[j],e);return this}if(c.isFunction(f)){e=f;f=w}var i=b==="one"?c.proxy(e,function(k){c(this).unbind(k,i);return e.apply(this,arguments)}):e;if(d==="unload"&&b!=="one")this.one(d,f,e);else{j=0;for(var o=this.length;j0){y=t;break}}t=t[g]}m[q]=y}}}var f=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g, +e=0,j=Object.prototype.toString,i=false,o=true;[0,0].sort(function(){o=false;return 0});var k=function(g,h,l,m){l=l||[];var q=h=h||s;if(h.nodeType!==1&&h.nodeType!==9)return[];if(!g||typeof g!=="string")return l;for(var p=[],v,t,y,S,H=true,M=x(h),I=g;(f.exec(""),v=f.exec(I))!==null;){I=v[3];p.push(v[1]);if(v[2]){S=v[3];break}}if(p.length>1&&r.exec(g))if(p.length===2&&n.relative[p[0]])t=ga(p[0]+p[1],h);else for(t=n.relative[p[0]]?[h]:k(p.shift(),h);p.length;){g=p.shift();if(n.relative[g])g+=p.shift(); +t=ga(g,t)}else{if(!m&&p.length>1&&h.nodeType===9&&!M&&n.match.ID.test(p[0])&&!n.match.ID.test(p[p.length-1])){v=k.find(p.shift(),h,M);h=v.expr?k.filter(v.expr,v.set)[0]:v.set[0]}if(h){v=m?{expr:p.pop(),set:z(m)}:k.find(p.pop(),p.length===1&&(p[0]==="~"||p[0]==="+")&&h.parentNode?h.parentNode:h,M);t=v.expr?k.filter(v.expr,v.set):v.set;if(p.length>0)y=z(t);else H=false;for(;p.length;){var D=p.pop();v=D;if(n.relative[D])v=p.pop();else D="";if(v==null)v=h;n.relative[D](y,v,M)}}else y=[]}y||(y=t);y||k.error(D|| +g);if(j.call(y)==="[object Array]")if(H)if(h&&h.nodeType===1)for(g=0;y[g]!=null;g++){if(y[g]&&(y[g]===true||y[g].nodeType===1&&E(h,y[g])))l.push(t[g])}else for(g=0;y[g]!=null;g++)y[g]&&y[g].nodeType===1&&l.push(t[g]);else l.push.apply(l,y);else z(y,l);if(S){k(S,q,l,m);k.uniqueSort(l)}return l};k.uniqueSort=function(g){if(B){i=o;g.sort(B);if(i)for(var h=1;h":function(g,h){var l=typeof h==="string";if(l&&!/\W/.test(h)){h=h.toLowerCase();for(var m=0,q=g.length;m=0))l||m.push(v);else if(l)h[p]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()}, +CHILD:function(g){if(g[1]==="nth"){var h=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=h[1]+(h[2]||1)-0;g[3]=h[3]-0}g[0]=e++;return g},ATTR:function(g,h,l,m,q,p){h=g[1].replace(/\\/g,"");if(!p&&n.attrMap[h])g[1]=n.attrMap[h];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,h,l,m,q){if(g[1]==="not")if((f.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=k(g[3],null,null,h);else{g=k.filter(g[3],h,l,true^q);l||m.push.apply(m, +g);return false}else if(n.match.POS.test(g[0])||n.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled===true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,h,l){return!!k(l[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)}, +text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"===g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}}, +setFilters:{first:function(g,h){return h===0},last:function(g,h,l,m){return h===m.length-1},even:function(g,h){return h%2===0},odd:function(g,h){return h%2===1},lt:function(g,h,l){return hl[3]-0},nth:function(g,h,l){return l[3]-0===h},eq:function(g,h,l){return l[3]-0===h}},filter:{PSEUDO:function(g,h,l,m){var q=h[1],p=n.filters[q];if(p)return p(g,l,h,m);else if(q==="contains")return(g.textContent||g.innerText||a([g])||"").indexOf(h[3])>=0;else if(q==="not"){h= +h[3];l=0;for(m=h.length;l=0}},ID:function(g,h){return g.nodeType===1&&g.getAttribute("id")===h},TAG:function(g,h){return h==="*"&&g.nodeType===1||g.nodeName.toLowerCase()===h},CLASS:function(g,h){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(h)>-1},ATTR:function(g,h){var l=h[1];g=n.attrHandle[l]?n.attrHandle[l](g):g[l]!=null?g[l]:g.getAttribute(l);l=g+"";var m=h[2];h=h[4];return g==null?m==="!=":m=== +"="?l===h:m==="*="?l.indexOf(h)>=0:m==="~="?(" "+l+" ").indexOf(h)>=0:!h?l&&g!==false:m==="!="?l!==h:m==="^="?l.indexOf(h)===0:m==="$="?l.substr(l.length-h.length)===h:m==="|="?l===h||l.substr(0,h.length+1)===h+"-":false},POS:function(g,h,l,m){var q=n.setFilters[h[2]];if(q)return q(g,l,h,m)}}},r=n.match.POS;for(var u in n.match){n.match[u]=new RegExp(n.match[u].source+/(?![^\[]*\])(?![^\(]*\))/.source);n.leftMatch[u]=new RegExp(/(^(?:.|\r|\n)*?)/.source+n.match[u].source.replace(/\\(\d+)/g,function(g, +h){return"\\"+(h-0+1)}))}var z=function(g,h){g=Array.prototype.slice.call(g,0);if(h){h.push.apply(h,g);return h}return g};try{Array.prototype.slice.call(s.documentElement.childNodes,0)}catch(C){z=function(g,h){h=h||[];if(j.call(g)==="[object Array]")Array.prototype.push.apply(h,g);else if(typeof g.length==="number")for(var l=0,m=g.length;l";var l=s.documentElement;l.insertBefore(g,l.firstChild);if(s.getElementById(h)){n.find.ID=function(m,q,p){if(typeof q.getElementById!=="undefined"&&!p)return(q=q.getElementById(m[1]))?q.id===m[1]||typeof q.getAttributeNode!=="undefined"&& +q.getAttributeNode("id").nodeValue===m[1]?[q]:w:[]};n.filter.ID=function(m,q){var p=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&p&&p.nodeValue===q}}l.removeChild(g);l=g=null})();(function(){var g=s.createElement("div");g.appendChild(s.createComment(""));if(g.getElementsByTagName("*").length>0)n.find.TAG=function(h,l){l=l.getElementsByTagName(h[1]);if(h[1]==="*"){h=[];for(var m=0;l[m];m++)l[m].nodeType===1&&h.push(l[m]);l=h}return l};g.innerHTML=""; +if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")n.attrHandle.href=function(h){return h.getAttribute("href",2)};g=null})();s.querySelectorAll&&function(){var g=k,h=s.createElement("div");h.innerHTML="

    ";if(!(h.querySelectorAll&&h.querySelectorAll(".TEST").length===0)){k=function(m,q,p,v){q=q||s;if(!v&&q.nodeType===9&&!x(q))try{return z(q.querySelectorAll(m),p)}catch(t){}return g(m,q,p,v)};for(var l in g)k[l]=g[l];h=null}}(); +(function(){var g=s.createElement("div");g.innerHTML="
    ";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){n.order.splice(1,0,"CLASS");n.find.CLASS=function(h,l,m){if(typeof l.getElementsByClassName!=="undefined"&&!m)return l.getElementsByClassName(h[1])};g=null}}})();var E=s.compareDocumentPosition?function(g,h){return!!(g.compareDocumentPosition(h)&16)}: +function(g,h){return g!==h&&(g.contains?g.contains(h):true)},x=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false},ga=function(g,h){var l=[],m="",q;for(h=h.nodeType?[h]:h;q=n.match.PSEUDO.exec(g);){m+=q[0];g=g.replace(n.match.PSEUDO,"")}g=n.relative[g]?g+"*":g;q=0;for(var p=h.length;q=0===d})};c.fn.extend({find:function(a){for(var b=this.pushStack("","find",a),d=0,f=0,e=this.length;f0)for(var j=d;j0},closest:function(a,b){if(c.isArray(a)){var d=[],f=this[0],e,j= +{},i;if(f&&a.length){e=0;for(var o=a.length;e-1:c(f).is(e)){d.push({selector:i,elem:f});delete j[i]}}f=f.parentNode}}return d}var k=c.expr.match.POS.test(a)?c(a,b||this.context):null;return this.map(function(n,r){for(;r&&r.ownerDocument&&r!==b;){if(k?k.index(r)>-1:c(r).is(a))return r;r=r.parentNode}return null})},index:function(a){if(!a||typeof a=== +"string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){a=typeof a==="string"?c(a,b||this.context):c.makeArray(a);b=c.merge(this.get(),a);return this.pushStack(qa(a[0])||qa(b[0])?b:c.unique(b))},andSelf:function(){return this.add(this.prevObject)}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode", +d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a,2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")? +a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a,b){c.fn[a]=function(d,f){var e=c.map(this,b,d);eb.test(a)||(f=d);if(f&&typeof f==="string")e=c.filter(f,e);e=this.length>1?c.unique(e):e;if((this.length>1||gb.test(f))&&fb.test(a))e=e.reverse();return this.pushStack(e,a,R.call(arguments).join(","))}});c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return c.find.matches(a,b)},dir:function(a,b,d){var f=[];for(a=a[b];a&&a.nodeType!==9&&(d===w||a.nodeType!==1||!c(a).is(d));){a.nodeType=== +1&&f.push(a);a=a[b]}return f},nth:function(a,b,d){b=b||1;for(var f=0;a;a=a[d])if(a.nodeType===1&&++f===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&d.push(a);return d}});var Ja=/ jQuery\d+="(?:\d+|null)"/g,V=/^\s+/,Ka=/(<([\w:]+)[^>]*?)\/>/g,hb=/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,La=/<([\w:]+)/,ib=/"},F={option:[1,""],legend:[1,"
    ","
    "],thead:[1,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],col:[2,"","
    "],area:[1,"",""],_default:[0,"",""]};F.optgroup=F.option;F.tbody=F.tfoot=F.colgroup=F.caption=F.thead;F.th=F.td;if(!c.support.htmlSerialize)F._default=[1,"div
    ","
    "];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d= +c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==w)return this.empty().append((this[0]&&this[0].ownerDocument||s).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this}, +wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})}, +prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b, +this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var d=0,f;(f=this[d])!=null;d++)if(!a||c.filter(a,[f]).length){if(!b&&f.nodeType===1){c.cleanData(f.getElementsByTagName("*"));c.cleanData([f])}f.parentNode&&f.parentNode.removeChild(f)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild); +return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,f=this.ownerDocument;if(!d){d=f.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(Ja,"").replace(/=([^="'>\s]+\/)>/g,'="$1">').replace(V,"")],f)[0]}else return this.cloneNode(true)});if(a===true){ra(this,b);ra(this.find("*"),b.find("*"))}return b},html:function(a){if(a===w)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Ja, +""):null;else if(typeof a==="string"&&!ta.test(a)&&(c.support.leadingWhitespace||!V.test(a))&&!F[(La.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Ka,Ma);try{for(var b=0,d=this.length;b0||e.cacheable||this.length>1?k.cloneNode(true):k)}o.length&&c.each(o,Qa)}return this}});c.fragments={};c.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var f=[];d=c(d);var e=this.length===1&&this[0].parentNode;if(e&&e.nodeType===11&&e.childNodes.length===1&&d.length===1){d[b](this[0]); +return this}else{e=0;for(var j=d.length;e0?this.clone(true):this).get();c.fn[b].apply(c(d[e]),i);f=f.concat(i)}return this.pushStack(f,a,d.selector)}}});c.extend({clean:function(a,b,d,f){b=b||s;if(typeof b.createElement==="undefined")b=b.ownerDocument||b[0]&&b[0].ownerDocument||s;for(var e=[],j=0,i;(i=a[j])!=null;j++){if(typeof i==="number")i+="";if(i){if(typeof i==="string"&&!jb.test(i))i=b.createTextNode(i);else if(typeof i==="string"){i=i.replace(Ka,Ma);var o=(La.exec(i)||["", +""])[1].toLowerCase(),k=F[o]||F._default,n=k[0],r=b.createElement("div");for(r.innerHTML=k[1]+i+k[2];n--;)r=r.lastChild;if(!c.support.tbody){n=ib.test(i);o=o==="table"&&!n?r.firstChild&&r.firstChild.childNodes:k[1]===""&&!n?r.childNodes:[];for(k=o.length-1;k>=0;--k)c.nodeName(o[k],"tbody")&&!o[k].childNodes.length&&o[k].parentNode.removeChild(o[k])}!c.support.leadingWhitespace&&V.test(i)&&r.insertBefore(b.createTextNode(V.exec(i)[0]),r.firstChild);i=r.childNodes}if(i.nodeType)e.push(i);else e= +c.merge(e,i)}}if(d)for(j=0;e[j];j++)if(f&&c.nodeName(e[j],"script")&&(!e[j].type||e[j].type.toLowerCase()==="text/javascript"))f.push(e[j].parentNode?e[j].parentNode.removeChild(e[j]):e[j]);else{e[j].nodeType===1&&e.splice.apply(e,[j+1,0].concat(c.makeArray(e[j].getElementsByTagName("script"))));d.appendChild(e[j])}return e},cleanData:function(a){for(var b,d,f=c.cache,e=c.event.special,j=c.support.deleteExpando,i=0,o;(o=a[i])!=null;i++)if(d=o[c.expando]){b=f[d];if(b.events)for(var k in b.events)e[k]? +c.event.remove(o,k):Ca(o,k,b.handle);if(j)delete o[c.expando];else o.removeAttribute&&o.removeAttribute(c.expando);delete f[d]}}});var kb=/z-?index|font-?weight|opacity|zoom|line-?height/i,Na=/alpha\([^)]*\)/,Oa=/opacity=([^)]*)/,ha=/float/i,ia=/-([a-z])/ig,lb=/([A-Z])/g,mb=/^-?\d+(?:px)?$/i,nb=/^-?\d/,ob={position:"absolute",visibility:"hidden",display:"block"},pb=["Left","Right"],qb=["Top","Bottom"],rb=s.defaultView&&s.defaultView.getComputedStyle,Pa=c.support.cssFloat?"cssFloat":"styleFloat",ja= +function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){return X(this,a,b,true,function(d,f,e){if(e===w)return c.curCSS(d,f);if(typeof e==="number"&&!kb.test(f))e+="px";c.style(d,f,e)})};c.extend({style:function(a,b,d){if(!a||a.nodeType===3||a.nodeType===8)return w;if((b==="width"||b==="height")&&parseFloat(d)<0)d=w;var f=a.style||a,e=d!==w;if(!c.support.opacity&&b==="opacity"){if(e){f.zoom=1;b=parseInt(d,10)+""==="NaN"?"":"alpha(opacity="+d*100+")";a=f.filter||c.curCSS(a,"filter")||"";f.filter= +Na.test(a)?a.replace(Na,b):b}return f.filter&&f.filter.indexOf("opacity=")>=0?parseFloat(Oa.exec(f.filter)[1])/100+"":""}if(ha.test(b))b=Pa;b=b.replace(ia,ja);if(e)f[b]=d;return f[b]},css:function(a,b,d,f){if(b==="width"||b==="height"){var e,j=b==="width"?pb:qb;function i(){e=b==="width"?a.offsetWidth:a.offsetHeight;f!=="border"&&c.each(j,function(){f||(e-=parseFloat(c.curCSS(a,"padding"+this,true))||0);if(f==="margin")e+=parseFloat(c.curCSS(a,"margin"+this,true))||0;else e-=parseFloat(c.curCSS(a, +"border"+this+"Width",true))||0})}a.offsetWidth!==0?i():c.swap(a,ob,i);return Math.max(0,Math.round(e))}return c.curCSS(a,b,d)},curCSS:function(a,b,d){var f,e=a.style;if(!c.support.opacity&&b==="opacity"&&a.currentStyle){f=Oa.test(a.currentStyle.filter||"")?parseFloat(RegExp.$1)/100+"":"";return f===""?"1":f}if(ha.test(b))b=Pa;if(!d&&e&&e[b])f=e[b];else if(rb){if(ha.test(b))b="float";b=b.replace(lb,"-$1").toLowerCase();e=a.ownerDocument.defaultView;if(!e)return null;if(a=e.getComputedStyle(a,null))f= +a.getPropertyValue(b);if(b==="opacity"&&f==="")f="1"}else if(a.currentStyle){d=b.replace(ia,ja);f=a.currentStyle[b]||a.currentStyle[d];if(!mb.test(f)&&nb.test(f)){b=e.left;var j=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;e.left=d==="fontSize"?"1em":f||0;f=e.pixelLeft+"px";e.left=b;a.runtimeStyle.left=j}}return f},swap:function(a,b,d){var f={};for(var e in b){f[e]=a.style[e];a.style[e]=b[e]}d.call(a);for(e in b)a.style[e]=f[e]}});if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b= +a.offsetWidth,d=a.offsetHeight,f=a.nodeName.toLowerCase()==="tr";return b===0&&d===0&&!f?true:b>0&&d>0&&!f?false:c.curCSS(a,"display")==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var sb=J(),tb=//gi,ub=/select|textarea/i,vb=/color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i,N=/=\?(&|$)/,ka=/\?/,wb=/(\?|&)_=.*?(&|$)/,xb=/^(\w+:)?\/\/([^\/?#]+)/,yb=/%20/g,zb=c.fn.load;c.fn.extend({load:function(a,b,d){if(typeof a!== +"string")return zb.call(this,a);else if(!this.length)return this;var f=a.indexOf(" ");if(f>=0){var e=a.slice(f,a.length);a=a.slice(0,f)}f="GET";if(b)if(c.isFunction(b)){d=b;b=null}else if(typeof b==="object"){b=c.param(b,c.ajaxSettings.traditional);f="POST"}var j=this;c.ajax({url:a,type:f,dataType:"html",data:b,complete:function(i,o){if(o==="success"||o==="notmodified")j.html(e?c("
    ").append(i.responseText.replace(tb,"")).find(e):i.responseText);d&&j.each(d,[i.responseText,o,i])}});return this}, +serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||ub.test(this.nodeName)||vb.test(this.type))}).map(function(a,b){a=c(this).val();return a==null?null:c.isArray(a)?c.map(a,function(d){return{name:b.name,value:d}}):{name:b.name,value:a}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "), +function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:f})},getScript:function(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:f})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href, +global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:A.XMLHttpRequest&&(A.location.protocol!=="file:"||!A.ActiveXObject)?function(){return new A.XMLHttpRequest}:function(){try{return new A.ActiveXObject("Microsoft.XMLHTTP")}catch(a){}},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},etag:{},ajax:function(a){function b(){e.success&& +e.success.call(k,o,i,x);e.global&&f("ajaxSuccess",[x,e])}function d(){e.complete&&e.complete.call(k,x,i);e.global&&f("ajaxComplete",[x,e]);e.global&&!--c.active&&c.event.trigger("ajaxStop")}function f(q,p){(e.context?c(e.context):c.event).trigger(q,p)}var e=c.extend(true,{},c.ajaxSettings,a),j,i,o,k=a&&a.context||e,n=e.type.toUpperCase();if(e.data&&e.processData&&typeof e.data!=="string")e.data=c.param(e.data,e.traditional);if(e.dataType==="jsonp"){if(n==="GET")N.test(e.url)||(e.url+=(ka.test(e.url)? +"&":"?")+(e.jsonp||"callback")+"=?");else if(!e.data||!N.test(e.data))e.data=(e.data?e.data+"&":"")+(e.jsonp||"callback")+"=?";e.dataType="json"}if(e.dataType==="json"&&(e.data&&N.test(e.data)||N.test(e.url))){j=e.jsonpCallback||"jsonp"+sb++;if(e.data)e.data=(e.data+"").replace(N,"="+j+"$1");e.url=e.url.replace(N,"="+j+"$1");e.dataType="script";A[j]=A[j]||function(q){o=q;b();d();A[j]=w;try{delete A[j]}catch(p){}z&&z.removeChild(C)}}if(e.dataType==="script"&&e.cache===null)e.cache=false;if(e.cache=== +false&&n==="GET"){var r=J(),u=e.url.replace(wb,"$1_="+r+"$2");e.url=u+(u===e.url?(ka.test(e.url)?"&":"?")+"_="+r:"")}if(e.data&&n==="GET")e.url+=(ka.test(e.url)?"&":"?")+e.data;e.global&&!c.active++&&c.event.trigger("ajaxStart");r=(r=xb.exec(e.url))&&(r[1]&&r[1]!==location.protocol||r[2]!==location.host);if(e.dataType==="script"&&n==="GET"&&r){var z=s.getElementsByTagName("head")[0]||s.documentElement,C=s.createElement("script");C.src=e.url;if(e.scriptCharset)C.charset=e.scriptCharset;if(!j){var B= +false;C.onload=C.onreadystatechange=function(){if(!B&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){B=true;b();d();C.onload=C.onreadystatechange=null;z&&C.parentNode&&z.removeChild(C)}}}z.insertBefore(C,z.firstChild);return w}var E=false,x=e.xhr();if(x){e.username?x.open(n,e.url,e.async,e.username,e.password):x.open(n,e.url,e.async);try{if(e.data||a&&a.contentType)x.setRequestHeader("Content-Type",e.contentType);if(e.ifModified){c.lastModified[e.url]&&x.setRequestHeader("If-Modified-Since", +c.lastModified[e.url]);c.etag[e.url]&&x.setRequestHeader("If-None-Match",c.etag[e.url])}r||x.setRequestHeader("X-Requested-With","XMLHttpRequest");x.setRequestHeader("Accept",e.dataType&&e.accepts[e.dataType]?e.accepts[e.dataType]+", */*":e.accepts._default)}catch(ga){}if(e.beforeSend&&e.beforeSend.call(k,x,e)===false){e.global&&!--c.active&&c.event.trigger("ajaxStop");x.abort();return false}e.global&&f("ajaxSend",[x,e]);var g=x.onreadystatechange=function(q){if(!x||x.readyState===0||q==="abort"){E|| +d();E=true;if(x)x.onreadystatechange=c.noop}else if(!E&&x&&(x.readyState===4||q==="timeout")){E=true;x.onreadystatechange=c.noop;i=q==="timeout"?"timeout":!c.httpSuccess(x)?"error":e.ifModified&&c.httpNotModified(x,e.url)?"notmodified":"success";var p;if(i==="success")try{o=c.httpData(x,e.dataType,e)}catch(v){i="parsererror";p=v}if(i==="success"||i==="notmodified")j||b();else c.handleError(e,x,i,p);d();q==="timeout"&&x.abort();if(e.async)x=null}};try{var h=x.abort;x.abort=function(){x&&h.call(x); +g("abort")}}catch(l){}e.async&&e.timeout>0&&setTimeout(function(){x&&!E&&g("timeout")},e.timeout);try{x.send(n==="POST"||n==="PUT"||n==="DELETE"?e.data:null)}catch(m){c.handleError(e,x,null,m);d()}e.async||g();return x}},handleError:function(a,b,d,f){if(a.error)a.error.call(a.context||a,b,d,f);if(a.global)(a.context?c(a.context):c.event).trigger("ajaxError",[b,a,f])},active:0,httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status=== +1223||a.status===0}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"),f=a.getResponseHeader("Etag");if(d)c.lastModified[b]=d;if(f)c.etag[b]=f;return a.status===304||a.status===0},httpData:function(a,b,d){var f=a.getResponseHeader("content-type")||"",e=b==="xml"||!b&&f.indexOf("xml")>=0;a=e?a.responseXML:a.responseText;e&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b=== +"json"||!b&&f.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&f.indexOf("javascript")>=0)c.globalEval(a);return a},param:function(a,b){function d(i,o){if(c.isArray(o))c.each(o,function(k,n){b||/\[\]$/.test(i)?f(i,n):d(i+"["+(typeof n==="object"||c.isArray(n)?k:"")+"]",n)});else!b&&o!=null&&typeof o==="object"?c.each(o,function(k,n){d(i+"["+k+"]",n)}):f(i,o)}function f(i,o){o=c.isFunction(o)?o():o;e[e.length]=encodeURIComponent(i)+"="+encodeURIComponent(o)}var e=[];if(b===w)b=c.ajaxSettings.traditional; +if(c.isArray(a)||a.jquery)c.each(a,function(){f(this.name,this.value)});else for(var j in a)d(j,a[j]);return e.join("&").replace(yb,"+")}});var la={},Ab=/toggle|show|hide/,Bb=/^([+-]=)?([\d+-.]+)(.*)$/,W,va=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b){if(a||a===0)return this.animate(K("show",3),a,b);else{a=0;for(b=this.length;a").appendTo("body");f=e.css("display");if(f==="none")f="block";e.remove();la[d]=f}c.data(this[a],"olddisplay",f)}}a=0;for(b=this.length;a=0;f--)if(d[f].elem===this){b&&d[f](true);d.splice(f,1)}});b||this.dequeue();return this}});c.each({slideDown:K("show",1),slideUp:K("hide",1),slideToggle:K("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(a,b){c.fn[a]=function(d,f){return this.animate(b,d,f)}});c.extend({speed:function(a,b,d){var f=a&&typeof a==="object"?a:{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};f.duration=c.fx.off?0:typeof f.duration=== +"number"?f.duration:c.fx.speeds[f.duration]||c.fx.speeds._default;f.old=f.complete;f.complete=function(){f.queue!==false&&c(this).dequeue();c.isFunction(f.old)&&f.old.call(this)};return f},easing:{linear:function(a,b,d,f){return d+f*a},swing:function(a,b,d,f){return(-Math.cos(a*Math.PI)/2+0.5)*f+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]|| +c.fx.step._default)(this);if((this.prop==="height"||this.prop==="width")&&this.elem.style)this.elem.style.display="block"},cur:function(a){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];return(a=parseFloat(c.css(this.elem,this.prop,a)))&&a>-10000?a:parseFloat(c.curCSS(this.elem,this.prop))||0},custom:function(a,b,d){function f(j){return e.step(j)}this.startTime=J();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start; +this.pos=this.state=0;var e=this;f.elem=this.elem;if(f()&&c.timers.push(f)&&!W)W=setInterval(c.fx.tick,13)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(a){var b=J(),d=true;if(a||b>=this.options.duration+this.startTime){this.now= +this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var f in this.options.curAnim)if(this.options.curAnim[f]!==true)d=false;if(d){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;a=c.data(this.elem,"olddisplay");this.elem.style.display=a?a:this.options.display;if(c.css(this.elem,"display")==="none")this.elem.style.display="block"}this.options.hide&&c(this.elem).hide();if(this.options.hide||this.options.show)for(var e in this.options.curAnim)c.style(this.elem, +e,this.options.orig[e]);this.options.complete.call(this.elem)}return false}else{e=b-this.startTime;this.state=e/this.options.duration;a=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||a](this.state,e,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a=c.timers,b=0;b
    "; +a.insertBefore(b,a.firstChild);d=b.firstChild;f=d.firstChild;e=d.nextSibling.firstChild.firstChild;this.doesNotAddBorder=f.offsetTop!==5;this.doesAddBorderForTableAndCells=e.offsetTop===5;f.style.position="fixed";f.style.top="20px";this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15;f.style.position=f.style.top="";d.style.overflow="hidden";d.style.position="relative";this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5;this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==j;a.removeChild(b); +c.offset.initialize=c.noop},bodyOffset:function(a){var b=a.offsetTop,d=a.offsetLeft;c.offset.initialize();if(c.offset.doesNotIncludeMarginInBodyOffset){b+=parseFloat(c.curCSS(a,"marginTop",true))||0;d+=parseFloat(c.curCSS(a,"marginLeft",true))||0}return{top:b,left:d}},setOffset:function(a,b,d){if(/static/.test(c.curCSS(a,"position")))a.style.position="relative";var f=c(a),e=f.offset(),j=parseInt(c.curCSS(a,"top",true),10)||0,i=parseInt(c.curCSS(a,"left",true),10)||0;if(c.isFunction(b))b=b.call(a, +d,e);d={top:b.top-e.top+j,left:b.left-e.left+i};"using"in b?b.using.call(a,d):f.css(d)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),f=/^body|html$/i.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.curCSS(a,"marginTop",true))||0;d.left-=parseFloat(c.curCSS(a,"marginLeft",true))||0;f.top+=parseFloat(c.curCSS(b[0],"borderTopWidth",true))||0;f.left+=parseFloat(c.curCSS(b[0],"borderLeftWidth",true))||0;return{top:d.top- +f.top,left:d.left-f.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||s.body;a&&!/^body|html$/i.test(a.nodeName)&&c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(f){var e=this[0],j;if(!e)return null;if(f!==w)return this.each(function(){if(j=wa(this))j.scrollTo(!a?f:c(j).scrollLeft(),a?f:c(j).scrollTop());else this[d]=f});else return(j=wa(e))?"pageXOffset"in j?j[a?"pageYOffset": +"pageXOffset"]:c.support.boxModel&&j.document.documentElement[d]||j.document.body[d]:e[d]}});c.each(["Height","Width"],function(a,b){var d=b.toLowerCase();c.fn["inner"+b]=function(){return this[0]?c.css(this[0],d,false,"padding"):null};c.fn["outer"+b]=function(f){return this[0]?c.css(this[0],d,false,f?"margin":"border"):null};c.fn[d]=function(f){var e=this[0];if(!e)return f==null?null:this;if(c.isFunction(f))return this.each(function(j){var i=c(this);i[d](f.call(this,j,i[d]()))});return"scrollTo"in +e&&e.document?e.document.compatMode==="CSS1Compat"&&e.document.documentElement["client"+b]||e.document.body["client"+b]:e.nodeType===9?Math.max(e.documentElement["client"+b],e.body["scroll"+b],e.documentElement["scroll"+b],e.body["offset"+b],e.documentElement["offset"+b]):f===w?c.css(e,d):this.css(d,typeof f==="string"?f:f+"px")}});A.jQuery=A.$=c})(window); diff --git a/doc/help/xslt/webhelp/docs/common/jquery/jquery-ui-1.8.2.custom.min.js b/doc/help/xslt/webhelp/docs/common/jquery/jquery-ui-1.8.2.custom.min.js new file mode 100644 index 00000000..fec53e8e --- /dev/null +++ b/doc/help/xslt/webhelp/docs/common/jquery/jquery-ui-1.8.2.custom.min.js @@ -0,0 +1,321 @@ +/*! + * jQuery UI 1.8.2 + * + * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI + */ +(function(c){c.ui=c.ui||{};if(!c.ui.version){c.extend(c.ui,{version:"1.8.2",plugin:{add:function(a,b,d){a=c.ui[a].prototype;for(var e in d){a.plugins[e]=a.plugins[e]||[];a.plugins[e].push([b,d[e]])}},call:function(a,b,d){if((b=a.plugins[b])&&a.element[0].parentNode)for(var e=0;e0)return true;a[b]=1;d=a[b]>0;a[b]=0;return d},isOverAxis:function(a,b,d){return a>b&&a=0)&&c(a).is(":focusable")}})}})(jQuery); +;/*! + * jQuery UI Widget 1.8.2 + * + * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Widget + */ +(function(b){var j=b.fn.remove;b.fn.remove=function(a,c){return this.each(function(){if(!c)if(!a||b.filter(a,[this]).length)b("*",this).add(this).each(function(){b(this).triggerHandler("remove")});return j.call(b(this),a,c)})};b.widget=function(a,c,d){var e=a.split(".")[0],f;a=a.split(".")[1];f=e+"-"+a;if(!d){d=c;c=b.Widget}b.expr[":"][f]=function(h){return!!b.data(h,a)};b[e]=b[e]||{};b[e][a]=function(h,g){arguments.length&&this._createWidget(h,g)};c=new c;c.options=b.extend({},c.options);b[e][a].prototype= +b.extend(true,c,{namespace:e,widgetName:a,widgetEventPrefix:b[e][a].prototype.widgetEventPrefix||a,widgetBaseClass:f},d);b.widget.bridge(a,b[e][a])};b.widget.bridge=function(a,c){b.fn[a]=function(d){var e=typeof d==="string",f=Array.prototype.slice.call(arguments,1),h=this;d=!e&&f.length?b.extend.apply(null,[true,d].concat(f)):d;if(e&&d.substring(0,1)==="_")return h;e?this.each(function(){var g=b.data(this,a),i=g&&b.isFunction(g[d])?g[d].apply(g,f):g;if(i!==g&&i!==undefined){h=i;return false}}):this.each(function(){var g= +b.data(this,a);if(g){d&&g.option(d);g._init()}else b.data(this,a,new c(d,this))});return h}};b.Widget=function(a,c){arguments.length&&this._createWidget(a,c)};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(a,c){this.element=b(c).data(this.widgetName,this);this.options=b.extend(true,{},this.options,b.metadata&&b.metadata.get(c)[this.widgetName],a);var d=this;this.element.bind("remove."+this.widgetName,function(){d.destroy()});this._create(); +this._init()},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(a,c){var d=a,e=this;if(arguments.length===0)return b.extend({},e.options);if(typeof a==="string"){if(c===undefined)return this.options[a];d={};d[a]=c}b.each(d,function(f, +h){e._setOption(f,h)});return e},_setOption:function(a,c){this.options[a]=c;if(a==="disabled")this.widget()[c?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",c);return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(a,c,d){var e=this.options[a];c=b.Event(c);c.type=(a===this.widgetEventPrefix?a:this.widgetEventPrefix+a).toLowerCase();d=d||{};if(c.originalEvent){a= +b.event.props.length;for(var f;a;){f=b.event.props[--a];c[f]=c.originalEvent[f]}}this.element.trigger(c,d);return!(b.isFunction(e)&&e.call(this.element[0],c,d)===false||c.isDefaultPrevented())}}})(jQuery); +;/*! + * jQuery UI Mouse 1.8.2 + * + * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Mouse + * + * Depends: + * jquery.ui.widget.js + */ +(function(c){c.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var a=this;this.element.bind("mousedown."+this.widgetName,function(b){return a._mouseDown(b)}).bind("click."+this.widgetName,function(b){if(a._preventClickEvent){a._preventClickEvent=false;b.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(a){a.originalEvent=a.originalEvent||{};if(!a.originalEvent.mouseHandled){this._mouseStarted&& +this._mouseUp(a);this._mouseDownEvent=a;var b=this,e=a.which==1,f=typeof this.options.cancel=="string"?c(a.target).parents().add(a.target).filter(this.options.cancel).length:false;if(!e||f||!this._mouseCapture(a))return true;this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet)this._mouseDelayTimer=setTimeout(function(){b.mouseDelayMet=true},this.options.delay);if(this._mouseDistanceMet(a)&&this._mouseDelayMet(a)){this._mouseStarted=this._mouseStart(a)!==false;if(!this._mouseStarted){a.preventDefault(); +return true}}this._mouseMoveDelegate=function(d){return b._mouseMove(d)};this._mouseUpDelegate=function(d){return b._mouseUp(d)};c(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);c.browser.safari||a.preventDefault();return a.originalEvent.mouseHandled=true}},_mouseMove:function(a){if(c.browser.msie&&!a.button)return this._mouseUp(a);if(this._mouseStarted){this._mouseDrag(a);return a.preventDefault()}if(this._mouseDistanceMet(a)&& +this._mouseDelayMet(a))(this._mouseStarted=this._mouseStart(this._mouseDownEvent,a)!==false)?this._mouseDrag(a):this._mouseUp(a);return!this._mouseStarted},_mouseUp:function(a){c(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;this._preventClickEvent=a.target==this._mouseDownEvent.target;this._mouseStop(a)}return false},_mouseDistanceMet:function(a){return Math.max(Math.abs(this._mouseDownEvent.pageX- +a.pageX),Math.abs(this._mouseDownEvent.pageY-a.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return true}})})(jQuery); +;/* + * jQuery UI Position 1.8.2 + * + * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Position + */ +(function(c){c.ui=c.ui||{};var m=/left|center|right/,n=/top|center|bottom/,p=c.fn.position,q=c.fn.offset;c.fn.position=function(a){if(!a||!a.of)return p.apply(this,arguments);a=c.extend({},a);var b=c(a.of),d=(a.collision||"flip").split(" "),e=a.offset?a.offset.split(" "):[0,0],g,h,i;if(a.of.nodeType===9){g=b.width();h=b.height();i={top:0,left:0}}else if(a.of.scrollTo&&a.of.document){g=b.width();h=b.height();i={top:b.scrollTop(),left:b.scrollLeft()}}else if(a.of.preventDefault){a.at="left top";g=h= +0;i={top:a.of.pageY,left:a.of.pageX}}else{g=b.outerWidth();h=b.outerHeight();i=b.offset()}c.each(["my","at"],function(){var f=(a[this]||"").split(" ");if(f.length===1)f=m.test(f[0])?f.concat(["center"]):n.test(f[0])?["center"].concat(f):["center","center"];f[0]=m.test(f[0])?f[0]:"center";f[1]=n.test(f[1])?f[1]:"center";a[this]=f});if(d.length===1)d[1]=d[0];e[0]=parseInt(e[0],10)||0;if(e.length===1)e[1]=e[0];e[1]=parseInt(e[1],10)||0;if(a.at[0]==="right")i.left+=g;else if(a.at[0]==="center")i.left+= +g/2;if(a.at[1]==="bottom")i.top+=h;else if(a.at[1]==="center")i.top+=h/2;i.left+=e[0];i.top+=e[1];return this.each(function(){var f=c(this),k=f.outerWidth(),l=f.outerHeight(),j=c.extend({},i);if(a.my[0]==="right")j.left-=k;else if(a.my[0]==="center")j.left-=k/2;if(a.my[1]==="bottom")j.top-=l;else if(a.my[1]==="center")j.top-=l/2;j.left=parseInt(j.left);j.top=parseInt(j.top);c.each(["left","top"],function(o,r){c.ui.position[d[o]]&&c.ui.position[d[o]][r](j,{targetWidth:g,targetHeight:h,elemWidth:k, +elemHeight:l,offset:e,my:a.my,at:a.at})});c.fn.bgiframe&&f.bgiframe();f.offset(c.extend(j,{using:a.using}))})};c.ui.position={fit:{left:function(a,b){var d=c(window);b=a.left+b.elemWidth-d.width()-d.scrollLeft();a.left=b>0?a.left-b:Math.max(0,a.left)},top:function(a,b){var d=c(window);b=a.top+b.elemHeight-d.height()-d.scrollTop();a.top=b>0?a.top-b:Math.max(0,a.top)}},flip:{left:function(a,b){if(b.at[0]!=="center"){var d=c(window);d=a.left+b.elemWidth-d.width()-d.scrollLeft();var e=b.my[0]==="left"? +-b.elemWidth:b.my[0]==="right"?b.elemWidth:0,g=-2*b.offset[0];a.left+=a.left<0?e+b.targetWidth+g:d>0?e-b.targetWidth+g:0}},top:function(a,b){if(b.at[1]!=="center"){var d=c(window);d=a.top+b.elemHeight-d.height()-d.scrollTop();var e=b.my[1]==="top"?-b.elemHeight:b.my[1]==="bottom"?b.elemHeight:0,g=b.at[1]==="top"?b.targetHeight:-b.targetHeight,h=-2*b.offset[1];a.top+=a.top<0?e+b.targetHeight+h:d>0?e+g+h:0}}}};if(!c.offset.setOffset){c.offset.setOffset=function(a,b){if(/static/.test(c.curCSS(a,"position")))a.style.position= +"relative";var d=c(a),e=d.offset(),g=parseInt(c.curCSS(a,"top",true),10)||0,h=parseInt(c.curCSS(a,"left",true),10)||0;e={top:b.top-e.top+g,left:b.left-e.left+h};"using"in b?b.using.call(a,e):d.css(e)};c.fn.offset=function(a){var b=this[0];if(!b||!b.ownerDocument)return null;if(a)return this.each(function(){c.offset.setOffset(this,a)});return q.call(this)}}})(jQuery); +;/* + * jQuery UI Resizable 1.8.2 + * + * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Resizables + * + * Depends: + * jquery.ui.core.js + * jquery.ui.mouse.js + * jquery.ui.widget.js + */ +(function(d){d.widget("ui.resizable",d.ui.mouse,{widgetEventPrefix:"resize",options:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,containment:false,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1E3},_create:function(){var b=this,a=this.options;this.element.addClass("ui-resizable");d.extend(this,{_aspectRatio:!!a.aspectRatio,aspectRatio:a.aspectRatio,originalElement:this.element, +_proportionallyResizeElements:[],_helper:a.helper||a.ghost||a.animate?a.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){/relative/.test(this.element.css("position"))&&d.browser.opera&&this.element.css({position:"relative",top:"auto",left:"auto"});this.element.wrap(d('
    ').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(), +top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle= +this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=a.handles||(!d(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne", +nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all")this.handles="n,e,s,w,se,sw,ne,nw";var c=this.handles.split(",");this.handles={};for(var e=0;e
    ');/sw|se|ne|nw/.test(g)&&f.css({zIndex:++a.zIndex});"se"==g&&f.addClass("ui-icon ui-icon-gripsmall-diagonal-se");this.handles[g]=".ui-resizable-"+g;this.element.append(f)}}this._renderAxis=function(h){h=h||this.element;for(var i in this.handles){if(this.handles[i].constructor== +String)this.handles[i]=d(this.handles[i],this.element).show();if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var j=d(this.handles[i],this.element),l=0;l=/sw|ne|nw|se|n|s/.test(i)?j.outerHeight():j.outerWidth();j=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join("");h.css(j,l);this._proportionallyResize()}d(this.handles[i])}};this._renderAxis(this.element);this._handles=d(".ui-resizable-handle",this.element).disableSelection(); +this._handles.mouseover(function(){if(!b.resizing){if(this.className)var h=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);b.axis=h&&h[1]?h[1]:"se"}});if(a.autoHide){this._handles.hide();d(this.element).addClass("ui-resizable-autohide").hover(function(){d(this).removeClass("ui-resizable-autohide");b._handles.show()},function(){if(!b.resizing){d(this).addClass("ui-resizable-autohide");b._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var b=function(c){d(c).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()}; +if(this.elementIsWrapper){b(this.element);var a=this.element;a.after(this.originalElement.css({position:a.css("position"),width:a.outerWidth(),height:a.outerHeight(),top:a.css("top"),left:a.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);b(this.originalElement);return this},_mouseCapture:function(b){var a=false;for(var c in this.handles)if(d(this.handles[c])[0]==b.target)a=true;return!this.options.disabled&&a},_mouseStart:function(b){var a=this.options,c=this.element.position(), +e=this.element;this.resizing=true;this.documentScroll={top:d(document).scrollTop(),left:d(document).scrollLeft()};if(e.is(".ui-draggable")||/absolute/.test(e.css("position")))e.css({position:"absolute",top:c.top,left:c.left});d.browser.opera&&/relative/.test(e.css("position"))&&e.css({position:"relative",top:"auto",left:"auto"});this._renderProxy();c=m(this.helper.css("left"));var g=m(this.helper.css("top"));if(a.containment){c+=d(a.containment).scrollLeft()||0;g+=d(a.containment).scrollTop()||0}this.offset= +this.helper.offset();this.position={left:c,top:g};this.size=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalSize=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalPosition={left:c,top:g};this.sizeDiff={width:e.outerWidth()-e.width(),height:e.outerHeight()-e.height()};this.originalMousePosition={left:b.pageX,top:b.pageY};this.aspectRatio=typeof a.aspectRatio=="number"?a.aspectRatio: +this.originalSize.width/this.originalSize.height||1;a=d(".ui-resizable-"+this.axis).css("cursor");d("body").css("cursor",a=="auto"?this.axis+"-resize":a);e.addClass("ui-resizable-resizing");this._propagate("start",b);return true},_mouseDrag:function(b){var a=this.helper,c=this.originalMousePosition,e=this._change[this.axis];if(!e)return false;c=e.apply(this,[b,b.pageX-c.left||0,b.pageY-c.top||0]);if(this._aspectRatio||b.shiftKey)c=this._updateRatio(c,b);c=this._respectSize(c,b);this._propagate("resize", +b);a.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize();this._updateCache(c);this._trigger("resize",b,this.ui());return false},_mouseStop:function(b){this.resizing=false;var a=this.options,c=this;if(this._helper){var e=this._proportionallyResizeElements,g=e.length&&/textarea/i.test(e[0].nodeName);e=g&&d.ui.hasScroll(e[0],"left")?0:c.sizeDiff.height; +g={width:c.size.width-(g?0:c.sizeDiff.width),height:c.size.height-e};e=parseInt(c.element.css("left"),10)+(c.position.left-c.originalPosition.left)||null;var f=parseInt(c.element.css("top"),10)+(c.position.top-c.originalPosition.top)||null;a.animate||this.element.css(d.extend(g,{top:f,left:e}));c.helper.height(c.size.height);c.helper.width(c.size.width);this._helper&&!a.animate&&this._proportionallyResize()}d("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop", +b);this._helper&&this.helper.remove();return false},_updateCache:function(b){this.offset=this.helper.offset();if(k(b.left))this.position.left=b.left;if(k(b.top))this.position.top=b.top;if(k(b.height))this.size.height=b.height;if(k(b.width))this.size.width=b.width},_updateRatio:function(b){var a=this.position,c=this.size,e=this.axis;if(b.height)b.width=c.height*this.aspectRatio;else if(b.width)b.height=c.width/this.aspectRatio;if(e=="sw"){b.left=a.left+(c.width-b.width);b.top=null}if(e=="nw"){b.top= +a.top+(c.height-b.height);b.left=a.left+(c.width-b.width)}return b},_respectSize:function(b){var a=this.options,c=this.axis,e=k(b.width)&&a.maxWidth&&a.maxWidthb.width,h=k(b.height)&&a.minHeight&&a.minHeight>b.height;if(f)b.width=a.minWidth;if(h)b.height=a.minHeight;if(e)b.width=a.maxWidth;if(g)b.height=a.maxHeight;var i=this.originalPosition.left+this.originalSize.width,j=this.position.top+this.size.height, +l=/sw|nw|w/.test(c);c=/nw|ne|n/.test(c);if(f&&l)b.left=i-a.minWidth;if(e&&l)b.left=i-a.maxWidth;if(h&&c)b.top=j-a.minHeight;if(g&&c)b.top=j-a.maxHeight;if((a=!b.width&&!b.height)&&!b.left&&b.top)b.top=null;else if(a&&!b.top&&b.left)b.left=null;return b},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var b=this.helper||this.element,a=0;a');var a=d.browser.msie&&d.browser.version<7,c=a?1:0;a=a?2:-1;this.helper.addClass(this._helper).css({width:this.element.outerWidth()+a,height:this.element.outerHeight()+a,position:"absolute",left:this.elementOffset.left-c+"px",top:this.elementOffset.top-c+"px",zIndex:++b.zIndex});this.helper.appendTo("body").disableSelection()}else this.helper=this.element},_change:{e:function(b,a){return{width:this.originalSize.width+ +a}},w:function(b,a){return{left:this.originalPosition.left+a,width:this.originalSize.width-a}},n:function(b,a,c){return{top:this.originalPosition.top+c,height:this.originalSize.height-c}},s:function(b,a,c){return{height:this.originalSize.height+c}},se:function(b,a,c){return d.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[b,a,c]))},sw:function(b,a,c){return d.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[b,a,c]))},ne:function(b,a,c){return d.extend(this._change.n.apply(this, +arguments),this._change.e.apply(this,[b,a,c]))},nw:function(b,a,c){return d.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[b,a,c]))}},_propagate:function(b,a){d.ui.plugin.call(this,b,[a,this.ui()]);b!="resize"&&this._trigger(b,a,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});d.extend(d.ui.resizable, +{version:"1.8.2"});d.ui.plugin.add("resizable","alsoResize",{start:function(){var b=d(this).data("resizable").options,a=function(c){d(c).each(function(){d(this).data("resizable-alsoresize",{width:parseInt(d(this).width(),10),height:parseInt(d(this).height(),10),left:parseInt(d(this).css("left"),10),top:parseInt(d(this).css("top"),10)})})};if(typeof b.alsoResize=="object"&&!b.alsoResize.parentNode)if(b.alsoResize.length){b.alsoResize=b.alsoResize[0];a(b.alsoResize)}else d.each(b.alsoResize,function(c){a(c)}); +else a(b.alsoResize)},resize:function(){var b=d(this).data("resizable"),a=b.options,c=b.originalSize,e=b.originalPosition,g={height:b.size.height-c.height||0,width:b.size.width-c.width||0,top:b.position.top-e.top||0,left:b.position.left-e.left||0},f=function(h,i){d(h).each(function(){var j=d(this),l=d(this).data("resizable-alsoresize"),p={};d.each((i&&i.length?i:["width","height","top","left"])||["width","height","top","left"],function(n,o){if((n=(l[o]||0)+(g[o]||0))&&n>=0)p[o]=n||null});if(/relative/.test(j.css("position"))&& +d.browser.opera){b._revertToRelativePosition=true;j.css({position:"absolute",top:"auto",left:"auto"})}j.css(p)})};typeof a.alsoResize=="object"&&!a.alsoResize.nodeType?d.each(a.alsoResize,function(h,i){f(h,i)}):f(a.alsoResize)},stop:function(){var b=d(this).data("resizable");if(b._revertToRelativePosition&&d.browser.opera){b._revertToRelativePosition=false;el.css({position:"relative"})}d(this).removeData("resizable-alsoresize-start")}});d.ui.plugin.add("resizable","animate",{stop:function(b){var a= +d(this).data("resizable"),c=a.options,e=a._proportionallyResizeElements,g=e.length&&/textarea/i.test(e[0].nodeName),f=g&&d.ui.hasScroll(e[0],"left")?0:a.sizeDiff.height;g={width:a.size.width-(g?0:a.sizeDiff.width),height:a.size.height-f};f=parseInt(a.element.css("left"),10)+(a.position.left-a.originalPosition.left)||null;var h=parseInt(a.element.css("top"),10)+(a.position.top-a.originalPosition.top)||null;a.element.animate(d.extend(g,h&&f?{top:h,left:f}:{}),{duration:c.animateDuration,easing:c.animateEasing, +step:function(){var i={width:parseInt(a.element.css("width"),10),height:parseInt(a.element.css("height"),10),top:parseInt(a.element.css("top"),10),left:parseInt(a.element.css("left"),10)};e&&e.length&&d(e[0]).css({width:i.width,height:i.height});a._updateCache(i);a._propagate("resize",b)}})}});d.ui.plugin.add("resizable","containment",{start:function(){var b=d(this).data("resizable"),a=b.element,c=b.options.containment;if(a=c instanceof d?c.get(0):/parent/.test(c)?a.parent().get(0):c){b.containerElement= +d(a);if(/document/.test(c)||c==document){b.containerOffset={left:0,top:0};b.containerPosition={left:0,top:0};b.parentData={element:d(document),left:0,top:0,width:d(document).width(),height:d(document).height()||document.body.parentNode.scrollHeight}}else{var e=d(a),g=[];d(["Top","Right","Left","Bottom"]).each(function(i,j){g[i]=m(e.css("padding"+j))});b.containerOffset=e.offset();b.containerPosition=e.position();b.containerSize={height:e.innerHeight()-g[3],width:e.innerWidth()-g[1]};c=b.containerOffset; +var f=b.containerSize.height,h=b.containerSize.width;h=d.ui.hasScroll(a,"left")?a.scrollWidth:h;f=d.ui.hasScroll(a)?a.scrollHeight:f;b.parentData={element:a,left:c.left,top:c.top,width:h,height:f}}}},resize:function(b){var a=d(this).data("resizable"),c=a.options,e=a.containerOffset,g=a.position;b=a._aspectRatio||b.shiftKey;var f={top:0,left:0},h=a.containerElement;if(h[0]!=document&&/static/.test(h.css("position")))f=e;if(g.left<(a._helper?e.left:0)){a.size.width+=a._helper?a.position.left-e.left: +a.position.left-f.left;if(b)a.size.height=a.size.width/c.aspectRatio;a.position.left=c.helper?e.left:0}if(g.top<(a._helper?e.top:0)){a.size.height+=a._helper?a.position.top-e.top:a.position.top;if(b)a.size.width=a.size.height*c.aspectRatio;a.position.top=a._helper?e.top:0}a.offset.left=a.parentData.left+a.position.left;a.offset.top=a.parentData.top+a.position.top;c=Math.abs((a._helper?a.offset.left-f.left:a.offset.left-f.left)+a.sizeDiff.width);e=Math.abs((a._helper?a.offset.top-f.top:a.offset.top- +e.top)+a.sizeDiff.height);g=a.containerElement.get(0)==a.element.parent().get(0);f=/relative|absolute/.test(a.containerElement.css("position"));if(g&&f)c-=a.parentData.left;if(c+a.size.width>=a.parentData.width){a.size.width=a.parentData.width-c;if(b)a.size.height=a.size.width/a.aspectRatio}if(e+a.size.height>=a.parentData.height){a.size.height=a.parentData.height-e;if(b)a.size.width=a.size.height*a.aspectRatio}},stop:function(){var b=d(this).data("resizable"),a=b.options,c=b.containerOffset,e=b.containerPosition, +g=b.containerElement,f=d(b.helper),h=f.offset(),i=f.outerWidth()-b.sizeDiff.width;f=f.outerHeight()-b.sizeDiff.height;b._helper&&!a.animate&&/relative/.test(g.css("position"))&&d(this).css({left:h.left-e.left-c.left,width:i,height:f});b._helper&&!a.animate&&/static/.test(g.css("position"))&&d(this).css({left:h.left-e.left-c.left,width:i,height:f})}});d.ui.plugin.add("resizable","ghost",{start:function(){var b=d(this).data("resizable"),a=b.options,c=b.size;b.ghost=b.originalElement.clone();b.ghost.css({opacity:0.25, +display:"block",position:"relative",height:c.height,width:c.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof a.ghost=="string"?a.ghost:"");b.ghost.appendTo(b.helper)},resize:function(){var b=d(this).data("resizable");b.ghost&&b.ghost.css({position:"relative",height:b.size.height,width:b.size.width})},stop:function(){var b=d(this).data("resizable");b.ghost&&b.helper&&b.helper.get(0).removeChild(b.ghost.get(0))}});d.ui.plugin.add("resizable","grid",{resize:function(){var b= +d(this).data("resizable"),a=b.options,c=b.size,e=b.originalSize,g=b.originalPosition,f=b.axis;a.grid=typeof a.grid=="number"?[a.grid,a.grid]:a.grid;var h=Math.round((c.width-e.width)/(a.grid[0]||1))*(a.grid[0]||1);a=Math.round((c.height-e.height)/(a.grid[1]||1))*(a.grid[1]||1);if(/^(se|s|e)$/.test(f)){b.size.width=e.width+h;b.size.height=e.height+a}else if(/^(ne)$/.test(f)){b.size.width=e.width+h;b.size.height=e.height+a;b.position.top=g.top-a}else{if(/^(sw)$/.test(f)){b.size.width=e.width+h;b.size.height= +e.height+a}else{b.size.width=e.width+h;b.size.height=e.height+a;b.position.top=g.top-a}b.position.left=g.left-h}}});var m=function(b){return parseInt(b,10)||0},k=function(b){return!isNaN(parseInt(b,10))}})(jQuery); +; +/* + * jQuery UI Selectable 1.8.2 + * + * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Selectables + * + * Depends: + * jquery.ui.core.js + * jquery.ui.mouse.js + * jquery.ui.widget.js + */ +(function(e){e.widget("ui.selectable",e.ui.mouse,{options:{appendTo:"body",autoRefresh:true,distance:0,filter:"*",tolerance:"touch"},_create:function(){var c=this;this.element.addClass("ui-selectable");this.dragged=false;var f;this.refresh=function(){f=e(c.options.filter,c.element[0]);f.each(function(){var d=e(this),b=d.offset();e.data(this,"selectable-item",{element:this,$element:d,left:b.left,top:b.top,right:b.left+d.outerWidth(),bottom:b.top+d.outerHeight(),startselected:false,selected:d.hasClass("ui-selected"), +selecting:d.hasClass("ui-selecting"),unselecting:d.hasClass("ui-unselecting")})})};this.refresh();this.selectees=f.addClass("ui-selectee");this._mouseInit();this.helper=e("
    ")},destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item");this.element.removeClass("ui-selectable ui-selectable-disabled").removeData("selectable").unbind(".selectable");this._mouseDestroy();return this},_mouseStart:function(c){var f=this;this.opos=[c.pageX, +c.pageY];if(!this.options.disabled){var d=this.options;this.selectees=e(d.filter,this.element[0]);this._trigger("start",c);e(d.appendTo).append(this.helper);this.helper.css({"z-index":100,position:"absolute",left:c.clientX,top:c.clientY,width:0,height:0});d.autoRefresh&&this.refresh();this.selectees.filter(".ui-selected").each(function(){var b=e.data(this,"selectable-item");b.startselected=true;if(!c.metaKey){b.$element.removeClass("ui-selected");b.selected=false;b.$element.addClass("ui-unselecting"); +b.unselecting=true;f._trigger("unselecting",c,{unselecting:b.element})}});e(c.target).parents().andSelf().each(function(){var b=e.data(this,"selectable-item");if(b){var g=!c.metaKey||!b.$element.hasClass("ui-selected");b.$element.removeClass(g?"ui-unselecting":"ui-selected").addClass(g?"ui-selecting":"ui-unselecting");b.unselecting=!g;b.selecting=g;(b.selected=g)?f._trigger("selecting",c,{selecting:b.element}):f._trigger("unselecting",c,{unselecting:b.element});return false}})}},_mouseDrag:function(c){var f= +this;this.dragged=true;if(!this.options.disabled){var d=this.options,b=this.opos[0],g=this.opos[1],h=c.pageX,i=c.pageY;if(b>h){var j=h;h=b;b=j}if(g>i){j=i;i=g;g=j}this.helper.css({left:b,top:g,width:h-b,height:i-g});this.selectees.each(function(){var a=e.data(this,"selectable-item");if(!(!a||a.element==f.element[0])){var k=false;if(d.tolerance=="touch")k=!(a.left>h||a.righti||a.bottomb&&a.rightg&&a.bottom")},destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item");this.element.removeClass("ui-selectable ui-selectable-disabled").removeData("selectable").unbind(".selectable");this._mouseDestroy();return this},_mouseStart:function(c){var f=this;this.opos=[c.pageX, +c.pageY];if(!this.options.disabled){var d=this.options;this.selectees=e(d.filter,this.element[0]);this._trigger("start",c);e(d.appendTo).append(this.helper);this.helper.css({"z-index":100,position:"absolute",left:c.clientX,top:c.clientY,width:0,height:0});d.autoRefresh&&this.refresh();this.selectees.filter(".ui-selected").each(function(){var b=e.data(this,"selectable-item");b.startselected=true;if(!c.metaKey){b.$element.removeClass("ui-selected");b.selected=false;b.$element.addClass("ui-unselecting"); +b.unselecting=true;f._trigger("unselecting",c,{unselecting:b.element})}});e(c.target).parents().andSelf().each(function(){var b=e.data(this,"selectable-item");if(b){var g=!c.metaKey||!b.$element.hasClass("ui-selected");b.$element.removeClass(g?"ui-unselecting":"ui-selected").addClass(g?"ui-selecting":"ui-unselecting");b.unselecting=!g;b.selecting=g;(b.selected=g)?f._trigger("selecting",c,{selecting:b.element}):f._trigger("unselecting",c,{unselecting:b.element});return false}})}},_mouseDrag:function(c){var f= +this;this.dragged=true;if(!this.options.disabled){var d=this.options,b=this.opos[0],g=this.opos[1],h=c.pageX,i=c.pageY;if(b>h){var j=h;h=b;b=j}if(g>i){j=i;i=g;g=j}this.helper.css({left:b,top:g,width:h-b,height:i-g});this.selectees.each(function(){var a=e.data(this,"selectable-item");if(!(!a||a.element==f.element[0])){var k=false;if(d.tolerance=="touch")k=!(a.left>h||a.righti||a.bottomb&&a.rightg&&a.bottom").addClass("ui-autocomplete").appendTo("body",c).mousedown(function(){setTimeout(function(){clearTimeout(a.closing)},13)}).menu({focus:function(d,b){b=b.item.data("item.autocomplete"); +false!==a._trigger("focus",null,{item:b})&&/^key/.test(d.originalEvent.type)&&a.element.val(b.value)},selected:function(d,b){b=b.item.data("item.autocomplete");false!==a._trigger("select",d,{item:b})&&a.element.val(b.value);a.close(d);d=a.previous;if(a.element[0]!==c.activeElement){a.element.focus();a.previous=d}a.selectedItem=b},blur:function(){a.menu.element.is(":visible")&&a.element.val(a.term)}}).zIndex(this.element.zIndex()+1).css({top:0,left:0}).hide().data("menu");e.fn.bgiframe&&this.menu.element.bgiframe()}, +destroy:function(){this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete").removeAttr("role").removeAttr("aria-autocomplete").removeAttr("aria-haspopup");this.menu.element.remove();e.Widget.prototype.destroy.call(this)},_setOption:function(a){e.Widget.prototype._setOption.apply(this,arguments);a==="source"&&this._initSource()},_initSource:function(){var a,c;if(e.isArray(this.options.source)){a=this.options.source;this.source=function(d,b){b(e.ui.autocomplete.filter(a,d.term))}}else if(typeof this.options.source=== +"string"){c=this.options.source;this.source=function(d,b){e.getJSON(c,d,b)}}else this.source=this.options.source},search:function(a,c){a=a!=null?a:this.element.val();if(a.length").data("item.autocomplete", +c).append(""+c.label+"").appendTo(a)},_move:function(a,c){if(this.menu.element.is(":visible"))if(this.menu.first()&&/^previous/.test(a)||this.menu.last()&&/^next/.test(a)){this.element.val(this.term);this.menu.deactivate()}else this.menu[a](c);else this.search(null,c)},widget:function(){return this.menu.element}});e.extend(e.ui.autocomplete,{escapeRegex:function(a){return a.replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi,"\\$1")},filter:function(a,c){var d=new RegExp(e.ui.autocomplete.escapeRegex(c), +"i");return e.grep(a,function(b){return d.test(b.label||b.value||b)})}})})(jQuery); +(function(e){e.widget("ui.menu",{_create:function(){var a=this;this.element.addClass("ui-menu ui-widget ui-widget-content ui-corner-all").attr({role:"listbox","aria-activedescendant":"ui-active-menuitem"}).click(function(c){if(e(c.target).closest(".ui-menu-item a").length){c.preventDefault();a.select(c)}});this.refresh()},refresh:function(){var a=this;this.element.children("li:not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","menuitem").children("a").addClass("ui-corner-all").attr("tabindex", +-1).mouseenter(function(c){a.activate(c,e(this).parent())}).mouseleave(function(){a.deactivate()})},activate:function(a,c){this.deactivate();if(this.hasScroll()){var d=c.offset().top-this.element.offset().top,b=this.element.attr("scrollTop"),f=this.element.height();if(d<0)this.element.attr("scrollTop",b+d);else d>f&&this.element.attr("scrollTop",b+d-f+c.height())}this.active=c.eq(0).children("a").addClass("ui-state-hover").attr("id","ui-active-menuitem").end();this._trigger("focus",a,{item:c})},deactivate:function(){if(this.active){this.active.children("a").removeClass("ui-state-hover").removeAttr("id"); +this._trigger("blur");this.active=null}},next:function(a){this.move("next",".ui-menu-item:first",a)},previous:function(a){this.move("prev",".ui-menu-item:last",a)},first:function(){return this.active&&!this.active.prev().length},last:function(){return this.active&&!this.active.next().length},move:function(a,c,d){if(this.active){a=this.active[a+"All"](".ui-menu-item").eq(0);a.length?this.activate(d,a):this.activate(d,this.element.children(c))}else this.activate(d,this.element.children(c))},nextPage:function(a){if(this.hasScroll())if(!this.active|| +this.last())this.activate(a,this.element.children(":first"));else{var c=this.active.offset().top,d=this.element.height(),b=this.element.children("li").filter(function(){var f=e(this).offset().top-c-d+e(this).height();return f<10&&f>-10});b.length||(b=this.element.children(":last"));this.activate(a,b)}else this.activate(a,this.element.children(!this.active||this.last()?":first":":last"))},previousPage:function(a){if(this.hasScroll())if(!this.active||this.first())this.activate(a,this.element.children(":last")); +else{var c=this.active.offset().top,d=this.element.height();result=this.element.children("li").filter(function(){var b=e(this).offset().top-c+d-e(this).height();return b<10&&b>-10});result.length||(result=this.element.children(":first"));this.activate(a,result)}else this.activate(a,this.element.children(!this.active||this.first()?":last":":first"))},hasScroll:function(){return this.element.height()").addClass("ui-button-text").html(this.options.label).appendTo(b.empty()).text(),d=this.options.icons,e=d.primary&&d.secondary;if(d.primary||d.secondary){b.addClass("ui-button-text-icon"+(e?"s":""));d.primary&&b.prepend("");d.secondary&&b.append("");if(!this.options.text){b.addClass(e?"ui-button-icons-only":"ui-button-icon-only").removeClass("ui-button-text-icons ui-button-text-icon"); +this.hasTitle||b.attr("title",c)}}else b.addClass("ui-button-text-only")}}});a.widget("ui.buttonset",{_create:function(){this.element.addClass("ui-buttonset");this._init()},_init:function(){this.refresh()},_setOption:function(b,c){b==="disabled"&&this.buttons.button("option",b,c);a.Widget.prototype._setOption.apply(this,arguments)},refresh:function(){this.buttons=this.element.find(":button, :submit, :reset, :checkbox, :radio, a, :data(button)").filter(":ui-button").button("refresh").end().not(":ui-button").button().end().map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass("ui-corner-left").end().filter(":last").addClass("ui-corner-right").end().end()}, +destroy:function(){this.element.removeClass("ui-buttonset");this.buttons.map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy");a.Widget.prototype.destroy.call(this)}})})(jQuery); +;/* + * jQuery UI Dialog 1.8.2 + * + * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Dialog + * + * Depends: + * jquery.ui.core.js + * jquery.ui.widget.js + * jquery.ui.button.js + * jquery.ui.draggable.js + * jquery.ui.mouse.js + * jquery.ui.position.js + * jquery.ui.resizable.js + */ +(function(c){c.widget("ui.dialog",{options:{autoOpen:true,buttons:{},closeOnEscape:true,closeText:"close",dialogClass:"",draggable:true,hide:null,height:"auto",maxHeight:false,maxWidth:false,minHeight:150,minWidth:150,modal:false,position:"center",resizable:true,show:null,stack:true,title:"",width:300,zIndex:1E3},_create:function(){this.originalTitle=this.element.attr("title");var a=this,b=a.options,d=b.title||a.originalTitle||" ",e=c.ui.dialog.getTitleId(a.element),g=(a.uiDialog=c("
    ")).appendTo(document.body).hide().addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+ +b.dialogClass).css({zIndex:b.zIndex}).attr("tabIndex",-1).css("outline",0).keydown(function(i){if(b.closeOnEscape&&i.keyCode&&i.keyCode===c.ui.keyCode.ESCAPE){a.close(i);i.preventDefault()}}).attr({role:"dialog","aria-labelledby":e}).mousedown(function(i){a.moveToTop(false,i)});a.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(g);var f=(a.uiDialogTitlebar=c("
    ")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(g), +h=c('').addClass("ui-dialog-titlebar-close ui-corner-all").attr("role","button").hover(function(){h.addClass("ui-state-hover")},function(){h.removeClass("ui-state-hover")}).focus(function(){h.addClass("ui-state-focus")}).blur(function(){h.removeClass("ui-state-focus")}).click(function(i){a.close(i);return false}).appendTo(f);(a.uiDialogTitlebarCloseText=c("")).addClass("ui-icon ui-icon-closethick").text(b.closeText).appendTo(h);c("").addClass("ui-dialog-title").attr("id", +e).html(d).prependTo(f);if(c.isFunction(b.beforeclose)&&!c.isFunction(b.beforeClose))b.beforeClose=b.beforeclose;f.find("*").add(f).disableSelection();b.draggable&&c.fn.draggable&&a._makeDraggable();b.resizable&&c.fn.resizable&&a._makeResizable();a._createButtons(b.buttons);a._isOpen=false;c.fn.bgiframe&&g.bgiframe()},_init:function(){this.options.autoOpen&&this.open()},destroy:function(){var a=this;a.overlay&&a.overlay.destroy();a.uiDialog.hide();a.element.unbind(".dialog").removeData("dialog").removeClass("ui-dialog-content ui-widget-content").hide().appendTo("body"); +a.uiDialog.remove();a.originalTitle&&a.element.attr("title",a.originalTitle);return a},widget:function(){return this.uiDialog},close:function(a){var b=this,d;if(false!==b._trigger("beforeClose",a)){b.overlay&&b.overlay.destroy();b.uiDialog.unbind("keypress.ui-dialog");b._isOpen=false;if(b.options.hide)b.uiDialog.hide(b.options.hide,function(){b._trigger("close",a)});else{b.uiDialog.hide();b._trigger("close",a)}c.ui.dialog.overlay.resize();if(b.options.modal){d=0;c(".ui-dialog").each(function(){if(this!== +b.uiDialog[0])d=Math.max(d,c(this).css("z-index"))});c.ui.dialog.maxZ=d}return b}},isOpen:function(){return this._isOpen},moveToTop:function(a,b){var d=this,e=d.options;if(e.modal&&!a||!e.stack&&!e.modal)return d._trigger("focus",b);if(e.zIndex>c.ui.dialog.maxZ)c.ui.dialog.maxZ=e.zIndex;if(d.overlay){c.ui.dialog.maxZ+=1;d.overlay.$el.css("z-index",c.ui.dialog.overlay.maxZ=c.ui.dialog.maxZ)}a={scrollTop:d.element.attr("scrollTop"),scrollLeft:d.element.attr("scrollLeft")};c.ui.dialog.maxZ+=1;d.uiDialog.css("z-index", +c.ui.dialog.maxZ);d.element.attr(a);d._trigger("focus",b);return d},open:function(){if(!this._isOpen){var a=this,b=a.options,d=a.uiDialog;a.overlay=b.modal?new c.ui.dialog.overlay(a):null;d.next().length&&d.appendTo("body");a._size();a._position(b.position);d.show(b.show);a.moveToTop(true);b.modal&&d.bind("keypress.ui-dialog",function(e){if(e.keyCode===c.ui.keyCode.TAB){var g=c(":tabbable",this),f=g.filter(":first");g=g.filter(":last");if(e.target===g[0]&&!e.shiftKey){f.focus(1);return false}else if(e.target=== +f[0]&&e.shiftKey){g.focus(1);return false}}});c([]).add(d.find(".ui-dialog-content :tabbable:first")).add(d.find(".ui-dialog-buttonpane :tabbable:first")).add(d).filter(":first").focus();a._trigger("open");a._isOpen=true;return a}},_createButtons:function(a){var b=this,d=false,e=c("
    ").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix");b.uiDialog.find(".ui-dialog-buttonpane").remove();typeof a==="object"&&a!==null&&c.each(a,function(){return!(d=true)});if(d){c.each(a, +function(g,f){g=c('').text(g).click(function(){f.apply(b.element[0],arguments)}).appendTo(e);c.fn.button&&g.button()});e.appendTo(b.uiDialog)}},_makeDraggable:function(){function a(f){return{position:f.position,offset:f.offset}}var b=this,d=b.options,e=c(document),g;b.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(f,h){g=d.height==="auto"?"auto":c(this).height();c(this).height(c(this).height()).addClass("ui-dialog-dragging"); +b._trigger("dragStart",f,a(h))},drag:function(f,h){b._trigger("drag",f,a(h))},stop:function(f,h){d.position=[h.position.left-e.scrollLeft(),h.position.top-e.scrollTop()];c(this).removeClass("ui-dialog-dragging").height(g);b._trigger("dragStop",f,a(h));c.ui.dialog.overlay.resize()}})},_makeResizable:function(a){function b(f){return{originalPosition:f.originalPosition,originalSize:f.originalSize,position:f.position,size:f.size}}a=a===undefined?this.options.resizable:a;var d=this,e=d.options,g=d.uiDialog.css("position"); +a=typeof a==="string"?a:"n,e,s,w,se,sw,ne,nw";d.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:d.element,maxWidth:e.maxWidth,maxHeight:e.maxHeight,minWidth:e.minWidth,minHeight:d._minHeight(),handles:a,start:function(f,h){c(this).addClass("ui-dialog-resizing");d._trigger("resizeStart",f,b(h))},resize:function(f,h){d._trigger("resize",f,b(h))},stop:function(f,h){c(this).removeClass("ui-dialog-resizing");e.height=c(this).height();e.width=c(this).width();d._trigger("resizeStop", +f,b(h));c.ui.dialog.overlay.resize()}}).css("position",g).find(".ui-resizable-se").addClass("ui-icon ui-icon-grip-diagonal-se")},_minHeight:function(){var a=this.options;return a.height==="auto"?a.minHeight:Math.min(a.minHeight,a.height)},_position:function(a){var b=[],d=[0,0];a=a||c.ui.dialog.prototype.options.position;if(typeof a==="string"||typeof a==="object"&&"0"in a){b=a.split?a.split(" "):[a[0],a[1]];if(b.length===1)b[1]=b[0];c.each(["left","top"],function(e,g){if(+b[e]===b[e]){d[e]=b[e];b[e]= +g}})}else if(typeof a==="object"){if("left"in a){b[0]="left";d[0]=a.left}else if("right"in a){b[0]="right";d[0]=-a.right}if("top"in a){b[1]="top";d[1]=a.top}else if("bottom"in a){b[1]="bottom";d[1]=-a.bottom}}(a=this.uiDialog.is(":visible"))||this.uiDialog.show();this.uiDialog.css({top:0,left:0}).position({my:b.join(" "),at:b.join(" "),offset:d.join(" "),of:window,collision:"fit",using:function(e){var g=c(this).css(e).offset().top;g<0&&c(this).css("top",e.top-g)}});a||this.uiDialog.hide()},_setOption:function(a, +b){var d=this,e=d.uiDialog,g=e.is(":data(resizable)"),f=false;switch(a){case "beforeclose":a="beforeClose";break;case "buttons":d._createButtons(b);break;case "closeText":d.uiDialogTitlebarCloseText.text(""+b);break;case "dialogClass":e.removeClass(d.options.dialogClass).addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+b);break;case "disabled":b?e.addClass("ui-dialog-disabled"):e.removeClass("ui-dialog-disabled");break;case "draggable":b?d._makeDraggable():e.draggable("destroy");break; +case "height":f=true;break;case "maxHeight":g&&e.resizable("option","maxHeight",b);f=true;break;case "maxWidth":g&&e.resizable("option","maxWidth",b);f=true;break;case "minHeight":g&&e.resizable("option","minHeight",b);f=true;break;case "minWidth":g&&e.resizable("option","minWidth",b);f=true;break;case "position":d._position(b);break;case "resizable":g&&!b&&e.resizable("destroy");g&&typeof b==="string"&&e.resizable("option","handles",b);!g&&b!==false&&d._makeResizable(b);break;case "title":c(".ui-dialog-title", +d.uiDialogTitlebar).html(""+(b||" "));break;case "width":f=true;break}c.Widget.prototype._setOption.apply(d,arguments);f&&d._size()},_size:function(){var a=this.options,b;this.element.css({width:"auto",minHeight:0,height:0});b=this.uiDialog.css({height:"auto",width:a.width}).height();this.element.css(a.height==="auto"?{minHeight:Math.max(a.minHeight-b,0),height:"auto"}:{minHeight:0,height:Math.max(a.height-b,0)}).show();this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option","minHeight", +this._minHeight())}});c.extend(c.ui.dialog,{version:"1.8.2",uuid:0,maxZ:0,getTitleId:function(a){a=a.attr("id");if(!a){this.uuid+=1;a=this.uuid}return"ui-dialog-title-"+a},overlay:function(a){this.$el=c.ui.dialog.overlay.create(a)}});c.extend(c.ui.dialog.overlay,{instances:[],oldInstances:[],maxZ:0,events:c.map("focus,mousedown,mouseup,keydown,keypress,click".split(","),function(a){return a+".dialog-overlay"}).join(" "),create:function(a){if(this.instances.length===0){setTimeout(function(){c.ui.dialog.overlay.instances.length&& +c(document).bind(c.ui.dialog.overlay.events,function(d){return c(d.target).zIndex()>=c.ui.dialog.overlay.maxZ})},1);c(document).bind("keydown.dialog-overlay",function(d){if(a.options.closeOnEscape&&d.keyCode&&d.keyCode===c.ui.keyCode.ESCAPE){a.close(d);d.preventDefault()}});c(window).bind("resize.dialog-overlay",c.ui.dialog.overlay.resize)}var b=(this.oldInstances.pop()||c("
    ").addClass("ui-widget-overlay")).appendTo(document.body).css({width:this.width(),height:this.height()});c.fn.bgiframe&& +b.bgiframe();this.instances.push(b);return b},destroy:function(a){this.oldInstances.push(this.instances.splice(c.inArray(a,this.instances),1)[0]);this.instances.length===0&&c([document,window]).unbind(".dialog-overlay");a.remove();var b=0;c.each(this.instances,function(){b=Math.max(b,this.css("z-index"))});this.maxZ=b},height:function(){var a,b;if(c.browser.msie&&c.browser.version<7){a=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight);b=Math.max(document.documentElement.offsetHeight, +document.body.offsetHeight);return a",remove:null,select:null,show:null,spinner:"Loading…",tabTemplate:'
  • #{label}
  • '},_create:function(){this._tabify(true)},_setOption:function(c,e){if(c=="selected")this.options.collapsible&& +e==this.options.selected||this.select(e);else{this.options[c]=e;this._tabify()}},_tabId:function(c){return c.title&&c.title.replace(/\s/g,"_").replace(/[^A-Za-z0-9\-_:\.]/g,"")||this.options.idPrefix+s()},_sanitizeSelector:function(c){return c.replace(/:/g,"\\:")},_cookie:function(){var c=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+v());return d.cookie.apply(null,[c].concat(d.makeArray(arguments)))},_ui:function(c,e){return{tab:c,panel:e,index:this.anchors.index(c)}},_cleanup:function(){this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function(){var c= +d(this);c.html(c.data("label.tabs")).removeData("label.tabs")})},_tabify:function(c){function e(g,f){g.css({display:""});!d.support.opacity&&f.opacity&&g[0].style.removeAttribute("filter")}this.list=this.element.find("ol,ul").eq(0);this.lis=d("li:has(a[href])",this.list);this.anchors=this.lis.map(function(){return d("a",this)[0]});this.panels=d([]);var a=this,b=this.options,h=/^#.+/;this.anchors.each(function(g,f){var j=d(f).attr("href"),l=j.split("#")[0],p;if(l&&(l===location.toString().split("#")[0]|| +(p=d("base")[0])&&l===p.href)){j=f.hash;f.href=j}if(h.test(j))a.panels=a.panels.add(a._sanitizeSelector(j));else if(j!="#"){d.data(f,"href.tabs",j);d.data(f,"load.tabs",j.replace(/#.*$/,""));j=a._tabId(f);f.href="#"+j;f=d("#"+j);if(!f.length){f=d(b.panelTemplate).attr("id",j).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(a.panels[g-1]||a.list);f.data("destroy.tabs",true)}a.panels=a.panels.add(f)}else b.disabled.push(g)});if(c){this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all"); +this.list.addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.lis.addClass("ui-state-default ui-corner-top");this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom");if(b.selected===undefined){location.hash&&this.anchors.each(function(g,f){if(f.hash==location.hash){b.selected=g;return false}});if(typeof b.selected!="number"&&b.cookie)b.selected=parseInt(a._cookie(),10);if(typeof b.selected!="number"&&this.lis.filter(".ui-tabs-selected").length)b.selected= +this.lis.index(this.lis.filter(".ui-tabs-selected"));b.selected=b.selected||(this.lis.length?0:-1)}else if(b.selected===null)b.selected=-1;b.selected=b.selected>=0&&this.anchors[b.selected]||b.selected<0?b.selected:0;b.disabled=d.unique(b.disabled.concat(d.map(this.lis.filter(".ui-state-disabled"),function(g){return a.lis.index(g)}))).sort();d.inArray(b.selected,b.disabled)!=-1&&b.disabled.splice(d.inArray(b.selected,b.disabled),1);this.panels.addClass("ui-tabs-hide");this.lis.removeClass("ui-tabs-selected ui-state-active"); +if(b.selected>=0&&this.anchors.length){this.panels.eq(b.selected).removeClass("ui-tabs-hide");this.lis.eq(b.selected).addClass("ui-tabs-selected ui-state-active");a.element.queue("tabs",function(){a._trigger("show",null,a._ui(a.anchors[b.selected],a.panels[b.selected]))});this.load(b.selected)}d(window).bind("unload",function(){a.lis.add(a.anchors).unbind(".tabs");a.lis=a.anchors=a.panels=null})}else b.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"));this.element[b.collapsible?"addClass": +"removeClass"]("ui-tabs-collapsible");b.cookie&&this._cookie(b.selected,b.cookie);c=0;for(var i;i=this.lis[c];c++)d(i)[d.inArray(c,b.disabled)!=-1&&!d(i).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled");b.cache===false&&this.anchors.removeData("cache.tabs");this.lis.add(this.anchors).unbind(".tabs");if(b.event!="mouseover"){var k=function(g,f){f.is(":not(.ui-state-disabled)")&&f.addClass("ui-state-"+g)},n=function(g,f){f.removeClass("ui-state-"+g)};this.lis.bind("mouseover.tabs", +function(){k("hover",d(this))});this.lis.bind("mouseout.tabs",function(){n("hover",d(this))});this.anchors.bind("focus.tabs",function(){k("focus",d(this).closest("li"))});this.anchors.bind("blur.tabs",function(){n("focus",d(this).closest("li"))})}var m,o;if(b.fx)if(d.isArray(b.fx)){m=b.fx[0];o=b.fx[1]}else m=o=b.fx;var q=o?function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.hide().removeClass("ui-tabs-hide").animate(o,o.duration||"normal",function(){e(f,o);a._trigger("show", +null,a._ui(g,f[0]))})}:function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.removeClass("ui-tabs-hide");a._trigger("show",null,a._ui(g,f[0]))},r=m?function(g,f){f.animate(m,m.duration||"normal",function(){a.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");e(f,m);a.element.dequeue("tabs")})}:function(g,f){a.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");a.element.dequeue("tabs")};this.anchors.bind(b.event+".tabs", +function(){var g=this,f=d(this).closest("li"),j=a.panels.filter(":not(.ui-tabs-hide)"),l=d(a._sanitizeSelector(this.hash));if(f.hasClass("ui-tabs-selected")&&!b.collapsible||f.hasClass("ui-state-disabled")||f.hasClass("ui-state-processing")||a._trigger("select",null,a._ui(this,l[0]))===false){this.blur();return false}b.selected=a.anchors.index(this);a.abort();if(b.collapsible)if(f.hasClass("ui-tabs-selected")){b.selected=-1;b.cookie&&a._cookie(b.selected,b.cookie);a.element.queue("tabs",function(){r(g, +j)}).dequeue("tabs");this.blur();return false}else if(!j.length){b.cookie&&a._cookie(b.selected,b.cookie);a.element.queue("tabs",function(){q(g,l)});a.load(a.anchors.index(this));this.blur();return false}b.cookie&&a._cookie(b.selected,b.cookie);if(l.length){j.length&&a.element.queue("tabs",function(){r(g,j)});a.element.queue("tabs",function(){q(g,l)});a.load(a.anchors.index(this))}else throw"jQuery UI Tabs: Mismatching fragment identifier.";d.browser.msie&&this.blur()});this.anchors.bind("click.tabs", +function(){return false})},destroy:function(){var c=this.options;this.abort();this.element.unbind(".tabs").removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible").removeData("tabs");this.list.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.anchors.each(function(){var e=d.data(this,"href.tabs");if(e)this.href=e;var a=d(this).unbind(".tabs");d.each(["href","load","cache"],function(b,h){a.removeData(h+".tabs")})});this.lis.unbind(".tabs").add(this.panels).each(function(){d.data(this, +"destroy.tabs")?d(this).remove():d(this).removeClass("ui-state-default ui-corner-top ui-tabs-selected ui-state-active ui-state-hover ui-state-focus ui-state-disabled ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide")});c.cookie&&this._cookie(null,c.cookie);return this},add:function(c,e,a){if(a===undefined)a=this.anchors.length;var b=this,h=this.options;e=d(h.tabTemplate.replace(/#\{href\}/g,c).replace(/#\{label\}/g,e));c=!c.indexOf("#")?c.replace("#",""):this._tabId(d("a",e)[0]);e.addClass("ui-state-default ui-corner-top").data("destroy.tabs", +true);var i=d("#"+c);i.length||(i=d(h.panelTemplate).attr("id",c).data("destroy.tabs",true));i.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide");if(a>=this.lis.length){e.appendTo(this.list);i.appendTo(this.list[0].parentNode)}else{e.insertBefore(this.lis[a]);i.insertBefore(this.panels[a])}h.disabled=d.map(h.disabled,function(k){return k>=a?++k:k});this._tabify();if(this.anchors.length==1){h.selected=0;e.addClass("ui-tabs-selected ui-state-active");i.removeClass("ui-tabs-hide"); +this.element.queue("tabs",function(){b._trigger("show",null,b._ui(b.anchors[0],b.panels[0]))});this.load(0)}this._trigger("add",null,this._ui(this.anchors[a],this.panels[a]));return this},remove:function(c){var e=this.options,a=this.lis.eq(c).remove(),b=this.panels.eq(c).remove();if(a.hasClass("ui-tabs-selected")&&this.anchors.length>1)this.select(c+(c+1=c?--h:h});this._tabify();this._trigger("remove", +null,this._ui(a.find("a")[0],b[0]));return this},enable:function(c){var e=this.options;if(d.inArray(c,e.disabled)!=-1){this.lis.eq(c).removeClass("ui-state-disabled");e.disabled=d.grep(e.disabled,function(a){return a!=c});this._trigger("enable",null,this._ui(this.anchors[c],this.panels[c]));return this}},disable:function(c){var e=this.options;if(c!=e.selected){this.lis.eq(c).addClass("ui-state-disabled");e.disabled.push(c);e.disabled.sort();this._trigger("disable",null,this._ui(this.anchors[c],this.panels[c]))}return this}, +select:function(c){if(typeof c=="string")c=this.anchors.index(this.anchors.filter("[href$="+c+"]"));else if(c===null)c=-1;if(c==-1&&this.options.collapsible)c=this.options.selected;this.anchors.eq(c).trigger(this.options.event+".tabs");return this},load:function(c){var e=this,a=this.options,b=this.anchors.eq(c)[0],h=d.data(b,"load.tabs");this.abort();if(!h||this.element.queue("tabs").length!==0&&d.data(b,"cache.tabs"))this.element.dequeue("tabs");else{this.lis.eq(c).addClass("ui-state-processing"); +if(a.spinner){var i=d("span",b);i.data("label.tabs",i.html()).html(a.spinner)}this.xhr=d.ajax(d.extend({},a.ajaxOptions,{url:h,success:function(k,n){d(e._sanitizeSelector(b.hash)).html(k);e._cleanup();a.cache&&d.data(b,"cache.tabs",true);e._trigger("load",null,e._ui(e.anchors[c],e.panels[c]));try{a.ajaxOptions.success(k,n)}catch(m){}},error:function(k,n){e._cleanup();e._trigger("load",null,e._ui(e.anchors[c],e.panels[c]));try{a.ajaxOptions.error(k,n,c,b)}catch(m){}}}));e.element.dequeue("tabs");return this}}, +abort:function(){this.element.queue([]);this.panels.stop(false,true);this.element.queue("tabs",this.element.queue("tabs").splice(-2,2));if(this.xhr){this.xhr.abort();delete this.xhr}this._cleanup();return this},url:function(c,e){this.anchors.eq(c).removeData("cache.tabs").data("load.tabs",e);return this},length:function(){return this.anchors.length}});d.extend(d.ui.tabs,{version:"1.8.2"});d.extend(d.ui.tabs.prototype,{rotation:null,rotate:function(c,e){var a=this,b=this.options,h=a._rotate||(a._rotate= +function(i){clearTimeout(a.rotation);a.rotation=setTimeout(function(){var k=b.selected;a.select(++k").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0});c.wrap(b);b=c.parent();if(c.css("position")=="static"){b.css({position:"relative"});c.css({position:"relative"})}else{f.extend(a,{position:c.css("position"),zIndex:c.css("z-index")});f.each(["top","left","bottom","right"],function(d,e){a[e]=c.css(e);if(isNaN(parseInt(a[e],10)))a[e]="auto"}); +c.css({position:"relative",top:0,left:0})}return b.css(a).show()},removeWrapper:function(c){if(c.parent().is(".ui-effects-wrapper"))return c.parent().replaceWith(c);return c},setTransition:function(c,a,b,d){d=d||{};f.each(a,function(e,g){unit=c.cssUnit(g);if(unit[0]>0)d[g]=unit[0]*b+unit[1]});return d}});f.fn.extend({effect:function(c){var a=j.apply(this,arguments);a={options:a[1],duration:a[2],callback:a[3]};var b=f.effects[c];return b&&!f.fx.off?b.call(this,a):this},_show:f.fn.show,show:function(c){if(!c|| +typeof c=="number"||f.fx.speeds[c])return this._show.apply(this,arguments);else{var a=j.apply(this,arguments);a[1].mode="show";return this.effect.apply(this,a)}},_hide:f.fn.hide,hide:function(c){if(!c||typeof c=="number"||f.fx.speeds[c])return this._hide.apply(this,arguments);else{var a=j.apply(this,arguments);a[1].mode="hide";return this.effect.apply(this,a)}},__toggle:f.fn.toggle,toggle:function(c){if(!c||typeof c=="number"||f.fx.speeds[c]||typeof c=="boolean"||f.isFunction(c))return this.__toggle.apply(this, +arguments);else{var a=j.apply(this,arguments);a[1].mode="toggle";return this.effect.apply(this,a)}},cssUnit:function(c){var a=this.css(c),b=[];f.each(["em","px","%","pt"],function(d,e){if(a.indexOf(e)>0)b=[parseFloat(a),e]});return b}});f.easing.jswing=f.easing.swing;f.extend(f.easing,{def:"easeOutQuad",swing:function(c,a,b,d,e){return f.easing[f.easing.def](c,a,b,d,e)},easeInQuad:function(c,a,b,d,e){return d*(a/=e)*a+b},easeOutQuad:function(c,a,b,d,e){return-d*(a/=e)*(a-2)+b},easeInOutQuad:function(c, +a,b,d,e){if((a/=e/2)<1)return d/2*a*a+b;return-d/2*(--a*(a-2)-1)+b},easeInCubic:function(c,a,b,d,e){return d*(a/=e)*a*a+b},easeOutCubic:function(c,a,b,d,e){return d*((a=a/e-1)*a*a+1)+b},easeInOutCubic:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a+b;return d/2*((a-=2)*a*a+2)+b},easeInQuart:function(c,a,b,d,e){return d*(a/=e)*a*a*a+b},easeOutQuart:function(c,a,b,d,e){return-d*((a=a/e-1)*a*a*a-1)+b},easeInOutQuart:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a*a+b;return-d/2*((a-=2)*a*a*a-2)+ +b},easeInQuint:function(c,a,b,d,e){return d*(a/=e)*a*a*a*a+b},easeOutQuint:function(c,a,b,d,e){return d*((a=a/e-1)*a*a*a*a+1)+b},easeInOutQuint:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a*a*a+b;return d/2*((a-=2)*a*a*a*a+2)+b},easeInSine:function(c,a,b,d,e){return-d*Math.cos(a/e*(Math.PI/2))+d+b},easeOutSine:function(c,a,b,d,e){return d*Math.sin(a/e*(Math.PI/2))+b},easeInOutSine:function(c,a,b,d,e){return-d/2*(Math.cos(Math.PI*a/e)-1)+b},easeInExpo:function(c,a,b,d,e){return a==0?b:d*Math.pow(2, +10*(a/e-1))+b},easeOutExpo:function(c,a,b,d,e){return a==e?b+d:d*(-Math.pow(2,-10*a/e)+1)+b},easeInOutExpo:function(c,a,b,d,e){if(a==0)return b;if(a==e)return b+d;if((a/=e/2)<1)return d/2*Math.pow(2,10*(a-1))+b;return d/2*(-Math.pow(2,-10*--a)+2)+b},easeInCirc:function(c,a,b,d,e){return-d*(Math.sqrt(1-(a/=e)*a)-1)+b},easeOutCirc:function(c,a,b,d,e){return d*Math.sqrt(1-(a=a/e-1)*a)+b},easeInOutCirc:function(c,a,b,d,e){if((a/=e/2)<1)return-d/2*(Math.sqrt(1-a*a)-1)+b;return d/2*(Math.sqrt(1-(a-=2)* +a)+1)+b},easeInElastic:function(c,a,b,d,e){c=1.70158;var g=0,h=d;if(a==0)return b;if((a/=e)==1)return b+d;g||(g=e*0.3);if(hO2OoUN%=0JX(r5?`adVN+ z3ZcjShtEC=<`y6XE+_eO^erZ3d-M{pDqy}DECVq25;pACB^>YBH z$E0&qu+(2*TfxCKvtSsM)-l0QW?!9?)ZPU0EBL%BX_c%g(X8RF&34*!)oZ4XRcVHz zBNsNkrnU@NXw#{3oo2bD=9*fZ3NF1;l!A5M0mnq2n1l7^fMeP`!W$bFVB+L)tQHnK zEXE<2tAp8M4>6z?rzl&Q9_MfHxh>ih= z$g;9=WKY7Gcj;;IBvRi{;JU9XEczB&?I**-v}RRRV9JKSlBGqT?n|hQV01IK)59a| t>_S@PWkKlK01oMw@pjEVpN literal 0 HcmV?d00001 diff --git a/doc/help/xslt/webhelp/docs/common/jquery/treeview/images/folder-closed.gif b/doc/help/xslt/webhelp/docs/common/jquery/treeview/images/folder-closed.gif new file mode 100644 index 0000000000000000000000000000000000000000..be6b59c2bafc37724de6a8904caf8ddb52185f07 GIT binary patch literal 631 zcmV--0*L)bNk%w1VGsZi0OoZ7Zc+gM@owbb(D(J~{kRkV=)C^@`FC9q$-khblVJYv z)5ozv$hAcOfX1|Jz_gHwZxsLR$M*H` z)5VgcjVaB&g#X~Bn}|^6)K>kvApXNk{?U8w>frwL-;#Ym&AMUr=V$)PW&YTa>#Gp{ z$5^hOaMH=J$FMm5$62+73I57t#-KOer4h}bD~WS3yQMU?q;vkxak`{N&AEBc#G?Jc zKK|H{jB+E}qY%KYW|e?Jt%4WhuRrYIzx}uttbPdi>1gcRT)?bi*~ygsy)VYKbl=sl z!LDb`w?4L^YVzd5|KO(4ze~WaWw4)Z<=wvhxEIZ>RsZvV+R0MBjTPX{P^5)3t(IEZ zo(`LK71O>%%$yd@ws6O^WdH2Q^sy2D_NBk8J;AJDcUuPR<<6~{Vg0!m{?dHMvTC`j zfZ5BO|NGMa|Nj6000000000000000000000000000000000000A^8LW004CWEC2ui z01yBW06+)SfOUcbFM}==AarS4f^`T0To+{@4nGeh6)G`B2p9kiNn<+@0|r=5Yepst zIgKY#WJd%9EJPL?t^m4h5ez8-Aqy8z25mic2N?k#R&i4b8U+nh4l7`S2^}ajGc6+$ z6C!V6UyXu5K{9S7=8Z222f8;D0KLCn3s7|l^;H1@N?@2FHGqSVIadS#=nw*efr3kz ztU4o2N*xdYmhp(zfYOQwaCBG@bU+OXEtfKR^UfI%4+*Z?OY3oS7i+9AMEg8&*N RE^xJLBxeY_p@ISd06U6)DM0`L literal 0 HcmV?d00001 diff --git a/doc/help/xslt/webhelp/docs/common/jquery/treeview/images/folder-closed2.gif b/doc/help/xslt/webhelp/docs/common/jquery/treeview/images/folder-closed2.gif new file mode 100644 index 0000000000000000000000000000000000000000..541107888e6739a7b367ad3d208e1efa933f877d GIT binary patch literal 105 zcmZ?wbhEHb6ky4lrdiO0bk3ZcRLy6E?4f Hg~1vCyv-@{ literal 0 HcmV?d00001 diff --git a/doc/help/xslt/webhelp/docs/common/jquery/treeview/images/folder.gif b/doc/help/xslt/webhelp/docs/common/jquery/treeview/images/folder.gif new file mode 100644 index 0000000000000000000000000000000000000000..be6b59c2bafc37724de6a8904caf8ddb52185f07 GIT binary patch literal 631 zcmV--0*L)bNk%w1VGsZi0OoZ7Zc+gM@owbb(D(J~{kRkV=)C^@`FC9q$-khblVJYv z)5ozv$hAcOfX1|Jz_gHwZxsLR$M*H` z)5VgcjVaB&g#X~Bn}|^6)K>kvApXNk{?U8w>frwL-;#Ym&AMUr=V$)PW&YTa>#Gp{ z$5^hOaMH=J$FMm5$62+73I57t#-KOer4h}bD~WS3yQMU?q;vkxak`{N&AEBc#G?Jc zKK|H{jB+E}qY%KYW|e?Jt%4WhuRrYIzx}uttbPdi>1gcRT)?bi*~ygsy)VYKbl=sl z!LDb`w?4L^YVzd5|KO(4ze~WaWw4)Z<=wvhxEIZ>RsZvV+R0MBjTPX{P^5)3t(IEZ zo(`LK71O>%%$yd@ws6O^WdH2Q^sy2D_NBk8J;AJDcUuPR<<6~{Vg0!m{?dHMvTC`j zfZ5BO|NGMa|Nj6000000000000000000000000000000000000A^8LW004CWEC2ui z01yBW06+)SfOUcbFM}==AarS4f^`T0To+{@4nGeh6)G`B2p9kiNn<+@0|r=5Yepst zIgKY#WJd%9EJPL?t^m4h5ez8-Aqy8z25mic2N?k#R&i4b8U+nh4l7`S2^}ajGc6+$ z6C!V6UyXu5K{9S7=8Z222f8;D0KLCn3s7|l^;H1@N?@2FHGqSVIadS#=nw*efr3kz ztU4o2N*xdYmhp(zfYOQwaCBG@bU+OXEtfKR^UfI%4+*Z?OY3oS7i+9AMEg8&*N RE^xJLBxeY_p@ISd06U6)DM0`L literal 0 HcmV?d00001 diff --git a/doc/help/xslt/webhelp/docs/common/jquery/treeview/images/folder2.gif b/doc/help/xslt/webhelp/docs/common/jquery/treeview/images/folder2.gif new file mode 100644 index 0000000000000000000000000000000000000000..2b31631ca2bfec3a8afb1bfdd4f8ed4c5bcc3a18 GIT binary patch literal 106 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 literal 0 HcmV?d00001 diff --git a/doc/help/xslt/webhelp/docs/common/jquery/treeview/images/treeview-gray-line.gif b/doc/help/xslt/webhelp/docs/common/jquery/treeview/images/treeview-gray-line.gif new file mode 100644 index 0000000000000000000000000000000000000000..37600447dc002bbc0dd16e1391b711360aae2e34 GIT binary patch literal 1877 zcmeH``8OK|0LL@bF~qSc#n50?JXNI+k>{#)#go3O{g`&sTA06+?`JRv{%1VB*=kSggPTmbZ?E2@Hm10RaqGJr~M_swEK9(fuU z9bXMur@nY#Xn3Qp;v6X2AT> zA>EM+>y@m1^a49s_E1X&+bZH^!_a=e{N6Su)s&U>sDnd!~=b?JFEB#FT8 zioZMFaK52~t&52oqdWW~2MJ1ue%%?en#qCfU7u!nC|sSJi5E`}X3h8)ly{+5*|mp+ zYqNE`8MkZN-)k};oze-j%*tB&sNuZif|=0wM%!=l0sXF(V)Zg+3_ zjbW;EBEX2ytHG=$Dx2Ha{HE%5V3a1hHnd2R32m%R*9#gFWf^4tEW&~!6yIiV)*e*l zireg~b4-8KL1b9Tn<4TQc-aUN7>=bBxE!0Aep)ES$dA>bZ zlac_>GSf$}Amq|xpG2f_X<$)PU0E=BExZ&}FuYP8&bwD%fgJCOsK5%!A}jIpO{>+( zGV75wBp|A>JOyOlNY1dq-7SE-P1iq3bVQx6%Yk<{*5}84F?-+_`Yq}S#U}_=SCzX? zX`+&GsCqhDsvFh7AWWM#ck=(Rps}W(-f3)-hf$w$i>58wymeug)RAsnbE^=j9L-?f zpi-Z);Tuuyqj4L}9YcZxTIWO&p4K%*X3?0-?f4ef8jtm%XgkyEBd6Ds8uOK?%`{)>0D(Cr`A4IcZoG`&U18YKqjoYtzQo|Dt=**7zk597IbK9sJXFyhNi zwtW@gRcSW?gGKMW@kxrlG#OY-do~qJ*-V&3Js8`Y3GYwom_@$iB+g=ml}U5>1u1QR zAzAiA(jrL>&74Uwwqm}`xJ1AT;O_GsONn5#!*ULyhq;oEIkp%2g#mF(6lf@Jxhn4i zV~t87;8y4{2KZG5ao+KL=SUTJlQq*4|E@_PjJ3`!o(GG)^}?JsMpy*)mQYPCf1;Sk`8-A8at@Xm#Gb>oe(v%3b{156)aykj?nu&|IbZfh z!lZx$?iVd}BHwuNSkmco3iwy5Drr$xV-lid6PqT(u95$N>8c#Jm2RMN_SB1WJe9Oq z(x$uU@TQLQX@QVr>U~Sa;vEmbZ_QL7odp^*-BsqVXSqmf)oqYES3tl*66F0YO=#d1 rlgk$~puxAlhuJ^ZHqgioD1o1DVtQEUit~KllU0$5nh)jV0N{TCC3Zqn literal 0 HcmV?d00001 diff --git a/doc/help/xslt/webhelp/docs/common/jquery/treeview/images/treeview-gray.gif b/doc/help/xslt/webhelp/docs/common/jquery/treeview/images/treeview-gray.gif new file mode 100644 index 0000000000000000000000000000000000000000..cfb8a2f0961b880d9ecc9e59f831d0c0bf9d06db GIT binary patch literal 1230 zcmZ?wbhEHbOkikb_|5F}1vNN-#bFE}n2rob1X65+pkEe*DZwLSXy)sc-G6LrLE|#j%ny@ltx#{|>*k3`b zudj+f+$8$@s#fHh^zF++cYjOsT#=i)PgZ*SBbQFk<=6g7TzYe_x%fYqoR5WW_>5Nf zsIRkcJbHA@c(c>D3XzqU)=k#8J9nngIK5|{y|vw$2$RE?mT4~XtDRLEe|<_~c?_?$ zLGJZ!!S{W4%zp58Z=>w%X})`Qe0&`0sXRUALwVLJuj#KvHA1S2+ow&BYJYdfr2O^1 zna!)!@5=7^`T51=)#j2iwbhrWRX*39_q(R{^Y??#w#k`8!n#b?Ah=gT4^b_6Je!p-pqnUi6)T{Kw4)JLb3tD)cb}Z;R&ALM=NKo^J zQum3S7LQAK7iB!^v-vhdvhxz-&N&k%mqtvOXdV2 literal 0 HcmV?d00001 diff --git a/doc/help/xslt/webhelp/docs/common/jquery/treeview/images/treeview-red-line.gif b/doc/help/xslt/webhelp/docs/common/jquery/treeview/images/treeview-red-line.gif new file mode 100644 index 0000000000000000000000000000000000000000..df9e749a8f1f58862588efc64988003efad01d51 GIT binary patch literal 1877 zcmeH``BxGK0LPh{$5cGF%CuRcF0W^1+Eb91Y0har@ns%QJPI-bCps}CP-u#GY96he zH{=x}8cR_?6wMSBHp}~@d8B5Ec_ztT`#0A2hwu02&*#0br`JzT&Np-c8>+j2FWJW9 z|J$$i)xiJGfXTkfHvoVFVDp9i%O?Qp3V=f6d5==7Sk4KMl>Ucik`YxtvJ<)$%#TPKR% zdeBegW3Nr-TZ$_DvX!7#=EQu`)|{{_NO4?Hnuz--`I}N3UjF&+?uwLk+=>GJd{B_Tc2OKbjN9H> z96NPSF%oo|+^NT@plDh-RsN>!ws$&N>eV+-RSK`GN-+xQlcpP|{VXMbZmGY?Sg+bE z&yqDeRb-m~Xn;($Rkc9os0lNWR0x7V&viYtFw425?`)O{#Xnxi^Z-rV%z`xuPf1K3U`ignx^9LiY{9RF`M1 z((4&CBBq9gRTxIqvdNQH4XvU-teM=&r#I{BRpE@Mf`UowW*aYDTj; zR~d}wJj7bmv%$EvhL%3@95+YnP@jZFjkyaK?LZqem&Cp}E@#J}7%>obDszfKXbSed{!N zqe%A5h1G9<<|OWgt(pyPNUi%mt_OllWQ$!DHV#9VzJogSLla83`aMi%;zcml$vXr7 zf<%YcL08HgN8s@2tufz(==0;jh0Ny@q4f1T-P5MdE9;FzHSA-Pm3Wn^KX5K-#%-h+YndE*c}A#} z97|nymmXX*xOhw~p_=<#*Rp;q1c;i_)TkyvQ;xgVtY5mTyh_&|ZEzU`%%?)%UDt;N sUpBjNE)^Df<9oQ%i{r+6SwTgJWAz*lYeQMK?>m|{T3!EviV6VoFXq=mv;Y7A literal 0 HcmV?d00001 diff --git a/doc/help/xslt/webhelp/docs/common/jquery/treeview/images/treeview-red.gif b/doc/help/xslt/webhelp/docs/common/jquery/treeview/images/treeview-red.gif new file mode 100644 index 0000000000000000000000000000000000000000..3bbb3a157f1568d59d6db02b55a3b3fe9a1ff7a7 GIT binary patch literal 1230 zcmZ?wbhEHbOkikb_|5q9rFMYXq;dkzBCUd%AXV z7f->2WoKqf=UU0E5MF-1&C2oHA5RfQ-wyu&du5`wWCYCfT`X0jHDP7Qa?|x$vA=>= zUtbk}xJmT)RjtT1>D!lu?*5kMxgs}ppRDxuM=qV7%dh>Fxb)^;bMb#JIUft%@ENV{ zQD0}@c=YI)@n)xQ6(TDyt(&ZGckWD~aeB`@duzKh5hjN(Ez?}&S39dT{`!=}@)%xg zgWT)eg75q8nEl}G-bUHi(|q^r`1m-~Q+ayKhw`jdUejNTYJ^l3w@;fM)&A~|N%`x2 zGn-ed-<93-^Ye?#tIZ{4YO60#t9-6I?{`h@=kEuf$II8+R(@HSYaUSgyf$2+OgK}0 zZsRjUi+L5dHILtK5edt9=qI|b{eIzIMl<7PRm>?O4!tnstX#kf7!b zrS20uEgqNfF3Nb+XY*}_WalNuopUBkE{&Kl(L5+ZuF(6`HI*Fyu5b4nE$kweHiYk+ hA)Dse=Ki!azG~*").attr("id", this.id || "").html("" + this.text + "").appendTo(parent); + if (this.classes) { + current.children("span").addClass(this.classes); + } + if (this.expanded) { + current.addClass("open"); + } + if (this.hasChildren || this.children && this.children.length) { + var branch = $("
      ").appendTo(current); + if (this.hasChildren) { + current.addClass("hasChildren"); + createNode.call({ + text:"placeholder", + id:"placeholder", + children:[] + }, branch); + } + if (this.children && this.children.length) { + $.each(this.children, createNode, [branch]) + } + } + } + $.each(response, createNode, [child]); + $(container).treeview({add: child}); + }); +} + +var proxied = $.fn.treeview; +$.fn.treeview = function(settings) { + if (!settings.url) { + return proxied.apply(this, arguments); + } + var container = this; + load(settings, "source", this, container); + var userToggle = settings.toggle; + return proxied.call(this, $.extend({}, settings, { + collapsed: true, + toggle: function() { + var $this = $(this); + if ($this.hasClass("hasChildren")) { + var childList = $this.removeClass("hasChildren").find("ul"); + childList.empty(); + load(settings, this.id, childList, container); + } + if (userToggle) { + userToggle.apply(this, arguments); + } + } + })); +}; + +})(jQuery); \ No newline at end of file diff --git a/doc/help/xslt/webhelp/docs/common/jquery/treeview/jquery.treeview.css b/doc/help/xslt/webhelp/docs/common/jquery/treeview/jquery.treeview.css new file mode 100644 index 00000000..dbf425b2 --- /dev/null +++ b/doc/help/xslt/webhelp/docs/common/jquery/treeview/jquery.treeview.css @@ -0,0 +1,85 @@ +.treeview, .treeview ul { + padding: 0; + margin: 0; + list-style: none; +} + +.treeview ul { + background-color: white; + margin-top: 4px; +} + +.treeview .hitarea { + background: url(images/treeview-default.gif) -64px -25px no-repeat; + height: 16px; + width: 16px; + margin-left: -16px; + float: left; + cursor: pointer; +} +/* fix for IE6 */ +* html .hitarea { + display: inline; + float:none; +} + +.treeview li { + margin: 0; + padding: 3px 0 3px 16px; +} + +.treeview a.selected { + background-color: #eee; +} + +#treecontrol { margin: 1em 0; display: none; } + +.treeview .hover { color: red; cursor: pointer; } + +.treeview li { background: url(images/treeview-default-line.gif) 0 0 no-repeat; } +.treeview li.collapsable, .treeview li.expandable { background-position: 0 -176px; } + +.treeview .expandable-hitarea { background-position: -80px -3px; } + +.treeview li.last { background-position: 0 -1766px } +.treeview li.lastCollapsable, .treeview li.lastExpandable { background-image: url(images/treeview-default.gif); } +.treeview li.lastCollapsable { background-position: 0 -111px } +.treeview li.lastExpandable { background-position: -32px -67px } + +.treeview div.lastCollapsable-hitarea, .treeview div.lastExpandable-hitarea { background-position: 0; } + +.treeview-red li { background-image: url(images/treeview-red-line.gif); } +.treeview-red .hitarea, .treeview-red li.lastCollapsable, .treeview-red li.lastExpandable { background-image: url(images/treeview-red.gif); } + +.treeview-black li { background-image: url(images/treeview-black-line.gif); } +.treeview-black .hitarea, .treeview-black li.lastCollapsable, .treeview-black li.lastExpandable { background-image: url(images/treeview-black.gif); } + +.treeview-gray li { background-image: url(images/treeview-gray-line.gif); } +.treeview-gray .hitarea, .treeview-gray li.lastCollapsable, .treeview-gray li.lastExpandable { background-image: url(images/treeview-gray.gif); } + +.treeview-famfamfam li { background-image: url(images/treeview-famfamfam-line.gif); } +.treeview-famfamfam .hitarea, .treeview-famfamfam li.lastCollapsable, .treeview-famfamfam li.lastExpandable { background-image: url(images/treeview-famfamfam.gif); } + + +.filetree li { padding: 3px 0 2px 16px; } +.filetree span.folder, .filetree span.file { padding: 1px 0 1px 16px; display: block; } +.filetree span.folder { background: url(images/folder.gif) 0 0 no-repeat; } +.filetree li.expandable span.folder { background: url(images/folder-closed.gif) 0 0 no-repeat; } +.filetree span.file { background: url(images/file.gif) 0 0 no-repeat; } + +html, body {height:100%; margin: 0; padding: 0; } + +/* +html>body { + font-size: 16px; + font-size: 68.75%; +} Reset Base Font Size */ + /* +body { + font-family: Verdana, helvetica, arial, sans-serif; + font-size: 68.75%; + background: #fff; + color: #333; +} */ + +a img { border: none; } \ No newline at end of file diff --git a/doc/help/xslt/webhelp/docs/common/jquery/treeview/jquery.treeview.js b/doc/help/xslt/webhelp/docs/common/jquery/treeview/jquery.treeview.js new file mode 100644 index 00000000..248e725b --- /dev/null +++ b/doc/help/xslt/webhelp/docs/common/jquery/treeview/jquery.treeview.js @@ -0,0 +1,255 @@ +/* + * Treeview 1.4 - jQuery plugin to hide and show branches of a tree + * + * http://bassistance.de/jquery-plugins/jquery-plugin-treeview/ + * http://docs.jquery.com/Plugins/Treeview + * + * Copyright (c) 2007 Jörn Zaefferer + * + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html + * + * Revision: $Id: jquery.treeview.js 4684 2008-02-07 19:08:06Z joern.zaefferer $ + * + */ + +;(function($) { + + $.extend($.fn, { + swapClass: function(c1, c2) { + var c1Elements = this.filter('.' + c1); + this.filter('.' + c2).removeClass(c2).addClass(c1); + c1Elements.removeClass(c1).addClass(c2); + return this; + }, + replaceClass: function(c1, c2) { + return this.filter('.' + c1).removeClass(c1).addClass(c2).end(); + }, + hoverClass: function(className) { + className = className || "hover"; + return this.hover(function() { + $(this).addClass(className); + }, function() { + $(this).removeClass(className); + }); + }, + heightToggle: function(animated, callback) { + animated ? + this.animate({ height: "toggle" }, animated, callback) : + this.each(function(){ + jQuery(this)[ jQuery(this).is(":hidden") ? "show" : "hide" ](); + if(callback) + callback.apply(this, arguments); + }); + }, + heightHide: function(animated, callback) { + if (animated) { + this.animate({ height: "hide" }, animated, callback); + } else { + this.hide(); + if (callback) + this.each(callback); + } + }, + prepareBranches: function(settings) { + if (!settings.prerendered) { + // mark last tree items + this.filter(":last-child:not(ul)").addClass(CLASSES.last); + // collapse whole tree, or only those marked as closed, anyway except those marked as open + this.filter((settings.collapsed ? "" : "." + CLASSES.closed) + ":not(." + CLASSES.open + ")").find(">ul").hide(); + } + // return all items with sublists + return this.filter(":has(>ul)"); + }, + applyClasses: function(settings, toggler) { + this.filter(":has(>ul):not(:has(>a))").find(">span").click(function(event) { + toggler.apply($(this).next()); + }).add( $("a", this) ).hoverClass(); + + if (!settings.prerendered) { + // handle closed ones first + this.filter(":has(>ul:hidden)") + .addClass(CLASSES.expandable) + .replaceClass(CLASSES.last, CLASSES.lastExpandable); + + // handle open ones + this.not(":has(>ul:hidden)") + .addClass(CLASSES.collapsable) + .replaceClass(CLASSES.last, CLASSES.lastCollapsable); + + // create hitarea + this.prepend("
      ").find("div." + CLASSES.hitarea).each(function() { + var classes = ""; + $.each($(this).parent().attr("class").split(" "), function() { + classes += this + "-hitarea "; + }); + $(this).addClass( classes ); + }); + } + + // apply event to hitarea + this.find("div." + CLASSES.hitarea).click( toggler ); + }, + treeview: function(settings) { + + if(typeof(window.treeCookieId) !== 'undefined' || window.treeCookieId === ""){ + treeCookieId = "treeview"; + } + + settings = $.extend({ + cookieId: treeCookieId + }, settings); + + if (settings.add) { + return this.trigger("add", [settings.add]); + } + + if ( settings.toggle ) { + var callback = settings.toggle; + settings.toggle = function() { + return callback.apply($(this).parent()[0], arguments); + }; + } + + // factory for treecontroller + function treeController(tree, control) { + // factory for click handlers + function handler(filter) { + return function() { + // reuse toggle event handler, applying the elements to toggle + // start searching for all hitareas + toggler.apply( $("div." + CLASSES.hitarea, tree).filter(function() { + // for plain toggle, no filter is provided, otherwise we need to check the parent element + return filter ? $(this).parent("." + filter).length : true; + }) ); + return false; + }; + } + // click on first element to collapse tree + $("a:eq(0)", control).click( handler(CLASSES.collapsable) ); + // click on second to expand tree + $("a:eq(1)", control).click( handler(CLASSES.expandable) ); + // click on third to toggle tree + $("a:eq(2)", control).click( handler() ); + } + + // handle toggle event + function toggler() { + $(this) + .parent() + // swap classes for hitarea + .find(">.hitarea") + .swapClass( CLASSES.collapsableHitarea, CLASSES.expandableHitarea ) + .swapClass( CLASSES.lastCollapsableHitarea, CLASSES.lastExpandableHitarea ) + .end() + // swap classes for parent li + .swapClass( CLASSES.collapsable, CLASSES.expandable ) + .swapClass( CLASSES.lastCollapsable, CLASSES.lastExpandable ) + // find child lists + .find( ">ul" ) + // toggle them + .heightToggle( settings.animated, settings.toggle ); + if ( settings.unique ) { + $(this).parent() + .siblings() + // swap classes for hitarea + .find(">.hitarea") + .replaceClass( CLASSES.collapsableHitarea, CLASSES.expandableHitarea ) + .replaceClass( CLASSES.lastCollapsableHitarea, CLASSES.lastExpandableHitarea ) + .end() + .replaceClass( CLASSES.collapsable, CLASSES.expandable ) + .replaceClass( CLASSES.lastCollapsable, CLASSES.lastExpandable ) + .find( ">ul" ) + .heightHide( settings.animated, settings.toggle ); + } + } + //Cookie Persistence + function serialize() { + function binary(arg) { + return arg ? 1 : 0; + } + var data = []; + branches.each(function(i, e) { + data[i] = $(e).is(":has(>ul:visible)") ? 1 : 0; + }); + $.cookie(settings.cookieId, data.join("") ); + } + + function deserialize() { + var stored = $.cookie(settings.cookieId); + if ( stored ) { + var data = stored.split(""); + branches.each(function(i, e) { + $(e).find(">ul")[ parseInt(data[i]) ? "show" : "hide" ](); + }); + } + } + + // add treeview class to activate styles + this.addClass("treeview"); + + // prepare branches and find all tree items with child lists + var branches = this.find("li").prepareBranches(settings); + + switch(settings.persist) { + case "cookie": + var toggleCallback = settings.toggle; + settings.toggle = function() { + serialize(); + if (toggleCallback) { + toggleCallback.apply(this, arguments); + } + }; + deserialize(); + break; + case "location": + var current = this.find("a").filter(function() { return this.href.toLowerCase() == location.href.toLowerCase(); }); + if ( current.length ) { + current.addClass("selected").parents("ul, li").add( current.next() ).show(); + } + break; + } + + branches.applyClasses(settings, toggler); + + // if control option is set, create the treecontroller and show it + if ( settings.control ) { + treeController(this, settings.control); + $(settings.control).show(); + } + + return this.bind("add", function(event, branches) { + $(branches).prev() + .removeClass(CLASSES.last) + .removeClass(CLASSES.lastCollapsable) + .removeClass(CLASSES.lastExpandable) + .find(">.hitarea") + .removeClass(CLASSES.lastCollapsableHitarea) + .removeClass(CLASSES.lastExpandableHitarea); + $(branches).find("li").andSelf().prepareBranches(settings).applyClasses(settings, toggler); + }); + } + }); + + // classes used by the plugin + // need to be styled via external stylesheet, see first example + var CLASSES = $.fn.treeview.classes = { + open: "open", + closed: "closed", + expandable: "expandable", + expandableHitarea: "expandable-hitarea", + lastExpandableHitarea: "lastExpandable-hitarea", + collapsable: "collapsable", + collapsableHitarea: "collapsable-hitarea", + lastCollapsableHitarea: "lastCollapsable-hitarea", + lastCollapsable: "lastCollapsable", + lastExpandable: "lastExpandable", + last: "last", + hitarea: "hitarea" + }; + + // provide backwards compability + $.fn.Treeview = $.fn.treeview; + +})(jQuery); \ No newline at end of file diff --git a/doc/help/xslt/webhelp/docs/common/jquery/treeview/jquery.treeview.min.js b/doc/help/xslt/webhelp/docs/common/jquery/treeview/jquery.treeview.min.js new file mode 100644 index 00000000..e693321d --- /dev/null +++ b/doc/help/xslt/webhelp/docs/common/jquery/treeview/jquery.treeview.min.js @@ -0,0 +1,16 @@ +/* + * Treeview 1.4 - jQuery plugin to hide and show branches of a tree + * + * http://bassistance.de/jquery-plugins/jquery-plugin-treeview/ + * http://docs.jquery.com/Plugins/Treeview + * + * Copyright (c) 2007 Jörn Zaefferer + * + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html + * + * Revision: $Id: jquery.treeview.js 4684 2008-02-07 19:08:06Z joern.zaefferer $ + * kasunbg: changed the cookieid name + * + */;(function($){$.extend($.fn,{swapClass:function(c1,c2){var c1Elements=this.filter('.'+c1);this.filter('.'+c2).removeClass(c2).addClass(c1);c1Elements.removeClass(c1).addClass(c2);return this;},replaceClass:function(c1,c2){return this.filter('.'+c1).removeClass(c1).addClass(c2).end();},hoverClass:function(className){className=className||"hover";return this.hover(function(){$(this).addClass(className);},function(){$(this).removeClass(className);});},heightToggle:function(animated,callback){animated?this.animate({height:"toggle"},animated,callback):this.each(function(){jQuery(this)[jQuery(this).is(":hidden")?"show":"hide"]();if(callback)callback.apply(this,arguments);});},heightHide:function(animated,callback){if(animated){this.animate({height:"hide"},animated,callback);}else{this.hide();if(callback)this.each(callback);}},prepareBranches:function(settings){if(!settings.prerendered){this.filter(":last-child:not(ul)").addClass(CLASSES.last);this.filter((settings.collapsed?"":"."+CLASSES.closed)+":not(."+CLASSES.open+")").find(">ul").hide();}return this.filter(":has(>ul)");},applyClasses:function(settings,toggler){this.filter(":has(>ul):not(:has(>a))").find(">span").click(function(event){toggler.apply($(this).next());}).add($("a",this)).hoverClass();if(!settings.prerendered){this.filter(":has(>ul:hidden)").addClass(CLASSES.expandable).replaceClass(CLASSES.last,CLASSES.lastExpandable);this.not(":has(>ul:hidden)").addClass(CLASSES.collapsable).replaceClass(CLASSES.last,CLASSES.lastCollapsable);this.prepend("
      ").find("div."+CLASSES.hitarea).each(function(){var classes="";$.each($(this).parent().attr("class").split(" "),function(){classes+=this+"-hitarea ";});$(this).addClass(classes);});}this.find("div."+CLASSES.hitarea).click(toggler);},treeview:function(settings){if(typeof(window.treeCookieId) === 'undefined' || window.treeCookieId === ""){treeCookieId = "treeview";} settings=$.extend({cookieId: treeCookieId},settings);if(settings.add){return this.trigger("add",[settings.add]);}if(settings.toggle){var callback=settings.toggle;settings.toggle=function(){return callback.apply($(this).parent()[0],arguments);};}function treeController(tree,control){function handler(filter){return function(){toggler.apply($("div."+CLASSES.hitarea,tree).filter(function(){return filter?$(this).parent("."+filter).length:true;}));return false;};}$("a:eq(0)",control).click(handler(CLASSES.collapsable));$("a:eq(1)",control).click(handler(CLASSES.expandable));$("a:eq(2)",control).click(handler());}function toggler(){$(this).parent().find(">.hitarea").swapClass(CLASSES.collapsableHitarea,CLASSES.expandableHitarea).swapClass(CLASSES.lastCollapsableHitarea,CLASSES.lastExpandableHitarea).end().swapClass(CLASSES.collapsable,CLASSES.expandable).swapClass(CLASSES.lastCollapsable,CLASSES.lastExpandable).find(">ul").heightToggle(settings.animated,settings.toggle);if(settings.unique){$(this).parent().siblings().find(">.hitarea").replaceClass(CLASSES.collapsableHitarea,CLASSES.expandableHitarea).replaceClass(CLASSES.lastCollapsableHitarea,CLASSES.lastExpandableHitarea).end().replaceClass(CLASSES.collapsable,CLASSES.expandable).replaceClass(CLASSES.lastCollapsable,CLASSES.lastExpandable).find(">ul").heightHide(settings.animated,settings.toggle);}}function serialize(){function binary(arg){return arg?1:0;}var data=[];branches.each(function(i,e){data[i]=$(e).is(":has(>ul:visible)")?1:0;});$.cookie(settings.cookieId,data.join(""));}function deserialize(){var stored=$.cookie(settings.cookieId);if(stored){var data=stored.split("");branches.each(function(i,e){$(e).find(">ul")[parseInt(data[i])?"show":"hide"]();});}}this.addClass("treeview");var branches=this.find("li").prepareBranches(settings);switch(settings.persist){case"cookie":var toggleCallback=settings.toggle;settings.toggle=function(){serialize();if(toggleCallback){toggleCallback.apply(this,arguments);}};deserialize();break;case"location":var current=this.find("a").filter(function(){return this.href.toLowerCase()==location.href.toLowerCase();});if(current.length){current.addClass("selected").parents("ul, li").add(current.next()).show();}break;}branches.applyClasses(settings,toggler);if(settings.control){treeController(this,settings.control);$(settings.control).show();}return this.bind("add",function(event,branches){$(branches).prev().removeClass(CLASSES.last).removeClass(CLASSES.lastCollapsable).removeClass(CLASSES.lastExpandable).find(">.hitarea").removeClass(CLASSES.lastCollapsableHitarea).removeClass(CLASSES.lastExpandableHitarea);$(branches).find("li").andSelf().prepareBranches(settings).applyClasses(settings,toggler);});}});var CLASSES=$.fn.treeview.classes={open:"open",closed:"closed",expandable:"expandable",expandableHitarea:"expandable-hitarea",lastExpandableHitarea:"lastExpandable-hitarea",collapsable:"collapsable",collapsableHitarea:"collapsable-hitarea",lastCollapsableHitarea:"lastCollapsable-hitarea",lastCollapsable:"lastCollapsable",lastExpandable:"lastExpandable",last:"last",hitarea:"hitarea"};$.fn.Treeview=$.fn.treeview;})(jQuery); \ No newline at end of file diff --git a/doc/help/xslt/webhelp/docs/common/jquery/treeview/jquery.treeview.pack.js b/doc/help/xslt/webhelp/docs/common/jquery/treeview/jquery.treeview.pack.js new file mode 100644 index 00000000..eddac491 --- /dev/null +++ b/doc/help/xslt/webhelp/docs/common/jquery/treeview/jquery.treeview.pack.js @@ -0,0 +1,16 @@ +/* + * Treeview 1.4 - jQuery plugin to hide and show branches of a tree + * + * http://bassistance.de/jquery-plugins/jquery-plugin-treeview/ + * http://docs.jquery.com/Plugins/Treeview + * + * Copyright (c) 2007 Jörn Zaefferer + * + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html + * + * Revision: $Id: jquery.treeview.js 4684 2008-02-07 19:08:06Z joern.zaefferer $ + * + */ +eval(function(p,a,c,k,e,r){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}(';(4($){$.1l($.F,{E:4(b,c){l a=3.n(\'.\'+b);3.n(\'.\'+c).o(c).m(b);a.o(b).m(c);8 3},s:4(a,b){8 3.n(\'.\'+a).o(a).m(b).P()},1n:4(a){a=a||"1j";8 3.1j(4(){$(3).m(a)},4(){$(3).o(a)})},1h:4(b,a){b?3.1g({1e:"p"},b,a):3.x(4(){T(3)[T(3).1a(":U")?"H":"D"]();7(a)a.A(3,O)})},12:4(b,a){7(b){3.1g({1e:"D"},b,a)}1L{3.D();7(a)3.x(a)}},11:4(a){7(!a.1k){3.n(":r-1H:G(9)").m(k.r);3.n((a.1F?"":"."+k.X)+":G(."+k.W+")").6(">9").D()}8 3.n(":y(>9)")},S:4(b,c){3.n(":y(>9):G(:y(>a))").6(">1z").C(4(a){c.A($(3).19())}).w($("a",3)).1n();7(!b.1k){3.n(":y(>9:U)").m(k.q).s(k.r,k.t);3.G(":y(>9:U)").m(k.u).s(k.r,k.v);3.1r("").6("J."+k.5).x(4(){l a="";$.x($(3).B().1o("14").13(" "),4(){a+=3+"-5 "});$(3).m(a)})}3.6("J."+k.5).C(c)},z:4(g){g=$.1l({N:"z"},g);7(g.w){8 3.1K("w",[g.w])}7(g.p){l d=g.p;g.p=4(){8 d.A($(3).B()[0],O)}}4 1m(b,c){4 L(a){8 4(){K.A($("J."+k.5,b).n(4(){8 a?$(3).B("."+a).1i:1I}));8 1G}}$("a:10(0)",c).C(L(k.u));$("a:10(1)",c).C(L(k.q));$("a:10(2)",c).C(L())}4 K(){$(3).B().6(">.5").E(k.Z,k.Y).E(k.I,k.M).P().E(k.u,k.q).E(k.v,k.t).6(">9").1h(g.1f,g.p);7(g.1E){$(3).B().1D().6(">.5").s(k.Z,k.Y).s(k.I,k.M).P().s(k.u,k.q).s(k.v,k.t).6(">9").12(g.1f,g.p)}}4 1d(){4 1C(a){8 a?1:0}l b=[];j.x(4(i,e){b[i]=$(e).1a(":y(>9:1B)")?1:0});$.V(g.N,b.1A(""))}4 1c(){l b=$.V(g.N);7(b){l a=b.13("");j.x(4(i,e){$(e).6(">9")[1y(a[i])?"H":"D"]()})}}3.m("z");l j=3.6("Q").11(g);1x(g.1w){18"V":l h=g.p;g.p=4(){1d();7(h){h.A(3,O)}};1c();17;18"1b":l f=3.6("a").n(4(){8 3.16.15()==1b.16.15()});7(f.1i){f.m("1v").1u("9, Q").w(f.19()).H()}17}j.S(g,K);7(g.R){1m(3,g.R);$(g.R).H()}8 3.1t("w",4(a,b){$(b).1s().o(k.r).o(k.v).o(k.t).6(">.5").o(k.I).o(k.M);$(b).6("Q").1q().11(g).S(g,K)})}});l k=$.F.z.1J={W:"W",X:"X",q:"q",Y:"q-5",M:"t-5",u:"u",Z:"u-5",I:"v-5",v:"v",t:"t",r:"r",5:"5"};$.F.1p=$.F.z})(T);',62,110,'|||this|function|hitarea|find|if|return|ul||||||||||||var|addClass|filter|removeClass|toggle|expandable|last|replaceClass|lastExpandable|collapsable|lastCollapsable|add|each|has|treeview|apply|parent|click|hide|swapClass|fn|not|show|lastCollapsableHitarea|div|toggler|handler|lastExpandableHitarea|cookieId|arguments|end|li|control|applyClasses|jQuery|hidden|cookie|open|closed|expandableHitarea|collapsableHitarea|eq|prepareBranches|heightHide|split|class|toLowerCase|href|break|case|next|is|location|deserialize|serialize|height|animated|animate|heightToggle|length|hover|prerendered|extend|treeController|hoverClass|attr|Treeview|andSelf|prepend|prev|bind|parents|selected|persist|switch|parseInt|span|join|visible|binary|siblings|unique|collapsed|false|child|true|classes|trigger|else'.split('|'),0,{})) \ No newline at end of file diff --git a/doc/help/xslt/webhelp/docs/common/main.js b/doc/help/xslt/webhelp/docs/common/main.js new file mode 100644 index 00000000..dee73036 --- /dev/null +++ b/doc/help/xslt/webhelp/docs/common/main.js @@ -0,0 +1,161 @@ +/** + * Miscellaneous js functions for WebHelp + * Kasun Gajasinghe, http://kasunbg.blogspot.com + * David Cramer, http://www.thingbag.net + * + */ + +$(document).ready(function() { + // $("#showHideHighlight").button(); //add jquery button styling to 'Go' button + //Generate tabs in nav-pane with JQuery + $(function() { + $("#tabs").tabs({ + cookie: { + // store cookie for 2 days. + expires: 2 + } + }); + }); + + //Generate the tree + $("#ulTreeDiv").attr("style",""); + $("#tree").treeview({ + collapsed: true, + animated: "medium", + control: "#sidetreecontrol", + persist: "cookie" + }); + + //after toc fully styled, display it. Until loading, a 'loading' image will be displayed + $("#tocLoading").attr("style","display:none;"); +// $("#ulTreeDiv").attr("style","display:block;"); + + //.searchButton is the css class applied to 'Go' button + $(function() { + $("button", ".searchButton").button(); + + $("button", ".searchButton").click(function() { return false; }); + }); + + //'ui-tabs-1' is the cookie name which is used for the persistence of the tabs.(Content/Search tab) + if ($.cookie('ui-tabs-1') === '1') { //search tab is visible + if ($.cookie('textToSearch') != undefined && $.cookie('textToSearch').length > 0) { + document.getElementById('textToSearch').value = $.cookie('textToSearch'); + Verifie('diaSearch_Form'); + searchHighlight($.cookie('textToSearch')); + $("#showHideHighlight").css("display","block"); + } + } + + syncToc(); //Synchronize the toc tree with the content pane, when loading the page. + //$("#doSearch").button(); //add jquery button styling to 'Go' button +}); + +/** + * Synchronize with the tableOfContents + */ +function syncToc(){ + var a = document.getElementById("webhelp-currentid"); + if (a != undefined) { + var b = a.getElementsByTagName("a")[0]; + + if (b != undefined) { + //Setting the background for selected node. + var style = a.getAttribute("style"); + if (style != null && !style.match(/background-color: Background;/)) { + a.setAttribute("style", "background-color: #6495ed; " + style); + b.setAttribute("style", "color: white;"); + } else if (style != null) { + a.setAttribute("style", "background-color: #6495ed; " + style); + b.setAttribute("style", "color: white;"); + } else { + a.setAttribute("style", "background-color: #6495ed; "); + b.setAttribute("style", "color: white;"); + } + } + + //shows the node related to current content. + //goes a recursive call from current node to ancestor nodes, displaying all of them. + while (a.parentNode && a.parentNode.nodeName) { + var parentNode = a.parentNode; + var nodeName = parentNode.nodeName; + + if (nodeName.toLowerCase() == "ul") { + parentNode.setAttribute("style", "display: block;"); + } else if (nodeName.toLocaleLowerCase() == "li") { + parentNode.setAttribute("class", "collapsable"); + parentNode.firstChild.setAttribute("class", "hitarea collapsable-hitarea "); + } + a = parentNode; + } + } +} + +/** + * Code for Show/Hide TOC + * + */ +function showHideToc() { + var showHideButton = $("#showHideButton"); + var leftNavigation = $("#leftnavigation"); + var content = $("#content"); + + if (showHideButton != undefined && showHideButton.hasClass("pointLeft")) { + //Hide TOC + showHideButton.removeClass('pointLeft').addClass('pointRight'); + content.css("margin", "0 0 0 0"); + leftNavigation.css("display","none"); + showHideButton.attr("title", "Show the TOC tree"); + } else { + //Show the TOC + showHideButton.removeClass('pointRight').addClass('pointLeft'); + content.css("margin", "0 0 0 280px"); + leftNavigation.css("display","block"); + showHideButton.attr("title", "Hide the TOC Tree"); + } +} + +/** + * Code for searh highlighting + */ +var highlightOn = true; +function searchHighlight(searchText) { + highlightOn = true; + if (searchText != undefined) { + var wList; + var sList = new Array(); //stem list + //Highlight the search terms + searchText = searchText.toLowerCase().replace(/<\//g, "_st_").replace(/\$_/g, "_di_").replace(/\.|%2C|%3B|%21|%3A|@|\/|\*/g, " ").replace(/(%20)+/g, " ").replace(/_st_/g, " + + + +Chapter 1. Introduction

      Chapter 1. Introduction

      Abstract

      Overview of the package.

      A common requirement for technical publications groups is to produce a Web-based help + format that includes a table of contents pane, a search feature, and an index similar to what + you get from the Microsoft HTML Help (.chm) format or Eclipse help. If the content is help for + a Web application that is not exposed to the Internet or requires that the user be logged in, + then it is impossible to use services like Google to add search. +

      Features

      • Full text search.

        • Stemming support for English, French, and German. Stemming support can be added + for other languages by implementing a stemmer.

        • Support for Chinese, Japanese, and Korean using code from the Lucene search + engine.

        • Search highlighting shows where the searched for term appears in the results. + Use the H button to toggle the highlighting off and on. +

        • Search results can include brief descriptions of the target.

      • Table of contents pane with collapsible toc tree.

      • Auto-synchronization of content pane and TOC.

      • TOC and search pane implemented without the use of a frameset.

      • An Ant build.xml file to generate output. You can use this + build file by importing it into your own or use it as a model for integrating this + output format into your own build system.

      +

      Possible future enhancements

      • Move webhelp-specific parameters and gentext strings into base DocBook stylesheets. +

      • Use tabindex attributes to control the tab + order in the output. The Contents and Search tabs should be first and second, then the + search box and button, then the table of contents items, and so on.

      • Add "Expand all" and "Collapse all" buttons to the table of contents.

      • Add other search options:

        • Add an option to use Lucene for server-side searches with table of contents + state persisted on the server.

        • Add a simple form that uses a Google site:my.domain.com based search.

      • Sort search results based on relevance

      • Support wild card characters in the search query.

      • Parameterize width of the TOC pane OR make the TOC pane resizeable by the + user.

      • Automate search results summary text:

        • Automatically use the first non-heading content as the summary in the search + results.

        • Automatically limit the size of the search description to something 140 + characters.

      • Support boolean operators in search.

      • Parameterize list of files to exclude from indexing. Currently it's hard coded that + we don't index index.html and ix01.html (the + legal notice and index topics). It should be smarter and automatically not index the + index file even if it's not named ix01.html.

      • Improve performance by moving the table of contents div out of each page and into a + separate JavaScript file which then adds it to the page.

      • Add to the indexer the ability to specify a list of files or file patterns not to + index. Currently it does not index index.html or + ix01.html, which is generally appropriate, but it should be up to + the user to decide.

      • Add an index tab populated by a separate JavaScript file. Include a param/property + that allows the content creator to disable the index.

      • Add functionality to the build.xml file so that when a property + is set, the build generates a pdf version of the document and includes a link to it from + the header.

      • Add breadcrumbs so the user will know what topics he's been to.

      • Consider using more advanced Lucene indexers for Chinese and Japanese than the + CJKAnalyzer

      diff --git a/doc/help/xslt/webhelp/docs/content/ch02.html b/doc/help/xslt/webhelp/docs/content/ch02.html new file mode 100644 index 00000000..d7f7def8 --- /dev/null +++ b/doc/help/xslt/webhelp/docs/content/ch02.html @@ -0,0 +1,32 @@ + + + + +Chapter 2. Using the package

      Chapter 2. Using the package

      The following sections describe how to install and + use the package on Windows.

      diff --git a/doc/help/xslt/webhelp/docs/content/ch02s01.html b/doc/help/xslt/webhelp/docs/content/ch02s01.html new file mode 100644 index 00000000..0b7c9307 --- /dev/null +++ b/doc/help/xslt/webhelp/docs/content/ch02s01.html @@ -0,0 +1,117 @@ + + + + +Generating webhelp output

      Generating webhelp output

      Abstract

      Installation instructions

      Procedure 2.1. To install the package on Windows

      Note

      The examples in this procedure assume a Windows installation, + but the process is the same in other environments, + mutatis mutandis.

      1. If necessary, install Java 1.6 or + higher.

        1. Confirm that Java is installed and in your + PATH by typing the following at a command prompt: +

          java -version

          Note

          To build the indexer, you must have the JDK.

      2. If necessary, install Apache Ant 1.6.5 + or higher.

        1. Unzip the Ant binary distribution to a convenient location + on your system. For example: c:\Program + Files.

        2. Set the environment variable ANT_HOME to + the top-level Ant directory. For example: c:\Program + Files\apache-ant-1.7.1.

          Tip

          See How To Manage + Environment Variables in Windows XP for information + on setting environment variables.

        3. Add the Ant bin directory to your + PATH. For example: c:\Program + Files\apache-ant-1.7.1\bin

        4. Confirm that Ant is installed by typing the following at a + command prompt:

          ant -version

          Note

          If you see a message about the file + tools.jar being missing, you can safely + ignore it.

      3. Download Saxon + 6.5.x and unzip the distribution to a convenient location on your file system. + You will use the path to saxon.jar in Step 4 below.

        Note

        The build.xml has only been tested with Saxon 6.5, though + it could be adapted to work with other XSLT processors. However, when you generate + output, the Saxon jar must not be in your + CLASSPATH.

      4. In a text editor, edit the + build.properties file in the webhelp directory + and make the changes indicated by the comments:

        # The path (relative to the build.xml file) to your input document.
        +# To use your own input document, create a build.xml file of your own
        +# and import this build.xml.
        +input-xml=docsrc/readme.xml
        +
        +# The directory in which to put the output files. 
        +# This directory is created if it does not exist.
        +output-dir=docs
        +
        +# If you are using a customization layer that imports webhelp.xsl, use
        +# this property to point to it. 
        +stylesheet-path=${ant.file.dir}/xsl/webhelp.xsl
        +
        +# If your document has image directories that need to be copied
        +# to the output directory, you can list patterns here. 
        +# See the Ant documentation for fileset for documentation
        +# on patterns.
        +#input-images-dirs=images/**,figures/**,graphics/**
        +
        +# By default, the ant script assumes your images are stored
        +# in the same directory as the input-xml. If you store your
        +# image directories in another directory, specify it here.
        +# and uncomment this line.
        +#input-images-basedir=/path/to/image/location
        +
        +# Modify this so that it points to your copy of the Saxon 6.5 jar.
        +xslt-processor-classpath=/usr/share/java/saxon-6.5.5.jar
        +
        +# For non-ns version only, this validates the document 
        +# against a dtd.
        +validate-against-dtd=true
        +
        +# Set this to false if you don't need a search tab.
        +webhelp.include.search.tab=true
        +
        +# indexer-language is used to tell the search indexer which language
        +# the docbook is written.  This will be used to identify the correct
        +# stemmer, and punctuations that differs from language to language.
        +# see the documentation for details. en=English, fr=French, de=German,
        +# zh=Chinese, ja=Japanese etc.  
        +webhelp.indexer.language=en
      5. Test the package by running the command ant webhelp + -Doutput-dir=test-ouput at the command line in the webhelp directory. It should + generate a copy of this documentation in the doc + directory. Type start test-output\index.html to open the output in a + browser. Once you have confirmed that the process worked, you can delete the test-output directory.

        Important

        The Saxon 6.5 jar should not be in your + CLASSPATH when you generate the webhelp output. If you have any + problems, try running ant with an empty CLASSPATH.

      6. To process your own document, simply refer to this package + from another build.xml in arbitrary location on + your system:

        1. Create a new build.xml file that + defines the name of your source file, the desired output + directory, and imports the build.xml from + this package. For example:

          <project>
          +  <property name="input-xml" value="path-to/yourfile.xml"/>
          +  <property name="input-images-dirs" value="images/** figures/** graphics/**"/>
          +  <property name="output-dir" value="path-to/desired-output-dir"/>
          +  <import file="path-to/docbook-webhelp/build.xml"/>
          +</project>
        2. From the directory containing your newly created + build.xml file, type ant + webhelp to build your document.

          Important

          The Saxon 6.5 jar should not be in your + CLASSPATH when you generate the webhelp output. If you have any + problems, try running ant with an empty CLASSPATH.

      diff --git a/doc/help/xslt/webhelp/docs/content/ch02s02.html b/doc/help/xslt/webhelp/docs/content/ch02s02.html new file mode 100644 index 00000000..091e67c7 --- /dev/null +++ b/doc/help/xslt/webhelp/docs/content/ch02s02.html @@ -0,0 +1,102 @@ + + + + +Using and customizing the output

      Using and customizing the output

      To deep link to a topic inside the help set, simply link directly + to the page. This help system uses no frameset, so nothing further is + necessary.

      Tip

      See Chunking into + multiple HTML files in Bob Stayton's DocBook XSL: The + Complete Guide for information on controlling output file + names and which files are chunked in DocBook.

      When you perform a search, the results can include brief + summaries. These are populated in one of two ways:

      • By adding role="summary" to a + para or phrase in the + chapter or section.

      • By adding an abstract to the + chapterinfo or sectioninfo + element.

      To customize the look and feel of the help, study the following + css files:

      • docs/common/css/positioning.css: This + handles the Positioning of DIVs in appropriate positions. For + example, it causes the leftnavigation div to appear + on the left, the header on top, and so on. Use this if you need to + change the relative positions or need to change the width/height + etc.

      • docs/common/jquery/theme-redmond/jquery-ui-1.8.2.custom.css: + This is the theming part which adds colors and stuff. This is a + default theme comes with jqueryui unchanged. You + can get any theme based your interest from this. (Themes are on + right navigation bar.) Then replace the css theme folder + (theme-redmond) with it, and change the xsl to point to the new + css.

      • docs/common/jquery/treeview/jquery.treeview.css: + This styles the toc Tree. Generally, you don't have to edit this + file.

      Recommended Apache configurations

      If you are serving a long document from an Apache web server, we + recommend you make the following additions or changes to your + httpd.conf or .htaccess + file. TODO: Explain what each thing + does.

      AddDefaultCharSet UTF-8 # 1
      +  
      +      # 480 weeks
      +      <FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$"> # 2
      +      Header set Cache-Control "max-age=290304000, public"
      +      </FilesMatch>
      +      
      +      # 2 DAYS
      +      <FilesMatch "\.(xml|txt)$">
      +      Header set Cache-Control "max-age=172800, public, must-revalidate"
      +      </FilesMatch>
      +      
      +      # 2 HOURS
      +      <FilesMatch "\.(html|htm)$">
      +      Header set Cache-Control "max-age=7200, must-revalidate"
      +      </FilesMatch>
      +      
      +      # compress text, html, javascript, css, xml:
      +      AddOutputFilterByType DEFLATE text/plain # 3
      +      AddOutputFilterByType DEFLATE text/html
      +      AddOutputFilterByType DEFLATE text/xml
      +      AddOutputFilterByType DEFLATE text/css
      +      AddOutputFilterByType DEFLATE application/xml
      +      AddOutputFilterByType DEFLATE application/xhtml+xml
      +      AddOutputFilterByType DEFLATE application/rss+xml
      +      AddOutputFilterByType DEFLATE application/javascript
      +      AddOutputFilterByType DEFLATE application/x-javascript
      +      
      +      # Or, compress certain file types by extension:
      +      <Files *.html> 
      +      SetOutputFilter DEFLATE
      +      </Files>
      +      

      1

      See Odd + characters in HTML output in Bob Stayton's book + DocBook XSL: The Complete Guide for more + information about this setting.

      2

      These lines and those that follow cause the browser to + cache various resources such as bitmaps and JavaScript files. + Note that caching JavaScript files could cause your users to + have stale search indexes if you update your document since the + search index is stored in JavaScript files.

      3

      These lines cause the the server to compress html, css, + and JavaScript files and the brower to uncompress them to + improve download performance.

      diff --git a/doc/help/xslt/webhelp/docs/content/ch02s03.html b/doc/help/xslt/webhelp/docs/content/ch02s03.html new file mode 100644 index 00000000..4e0efdeb --- /dev/null +++ b/doc/help/xslt/webhelp/docs/content/ch02s03.html @@ -0,0 +1,36 @@ + + + + +Building the indexer

      Building the indexer

      To build the indexer, you must have installed the + JDK version 1.5 or higher and set the ANT_HOME + environment variable. Run ant build-indexer to recompile + nw-cms.jar

      diff --git a/doc/help/xslt/webhelp/docs/content/ch02s04.html b/doc/help/xslt/webhelp/docs/content/ch02s04.html new file mode 100644 index 00000000..d3ba7e83 --- /dev/null +++ b/doc/help/xslt/webhelp/docs/content/ch02s04.html @@ -0,0 +1,42 @@ + + + + +Adding support for other (non-CJKV) languages

      Adding support for other (non-CJKV) languages

      To support stemming for a language, the search mechanism requires + a stemmer implemented in both Java and JavaScript. The Java version is + used by the indexer and the JavaScript verison is used to stem the + user's input on the search form. Currently the search mechanism supports + stemming for English and German. In addition, Java stemmers are included + for the following languages. Therefore, to support these languages, you + only need to implement the stemmer in JavaScript and add it to the + template. If you do undertake this task, please consider contributing + the JavaScript version back to this project and to Martin + Porter's project.

      • Danish

      • Dutch

      • Finnish

      • Hungarian

      • Italian

      • Norwegian

      • Portuguese

      • Romanian

      • Russian

      • Spanish

      • Swedish

      • Turkish

      diff --git a/doc/help/xslt/webhelp/docs/content/ch03.html b/doc/help/xslt/webhelp/docs/content/ch03.html new file mode 100644 index 00000000..0e608fdc --- /dev/null +++ b/doc/help/xslt/webhelp/docs/content/ch03.html @@ -0,0 +1,37 @@ + + + + +Chapter 3. Developer Docs

      Chapter 3. Developer Docs

      This chapter provides an overview of how webhelp is implemented.

      The table of contents and search panes are implemented as divs and + rendered as if they were the left pane in a frameset. As a result, the + page must save the state of the table of contents and the search in + cookies when you navigate away from a page. When you load a new page, the + page reads these cookies and restores the state of the table of contents + tree and search. The result is that the help system behaves exactly as if + it were a frameset.

      diff --git a/doc/help/xslt/webhelp/docs/content/ch03s01.html b/doc/help/xslt/webhelp/docs/content/ch03s01.html new file mode 100644 index 00000000..f41f8019 --- /dev/null +++ b/doc/help/xslt/webhelp/docs/content/ch03s01.html @@ -0,0 +1,62 @@ + + + + +Design

      Design

      An overview of webhelp page structure.

      DocBook WebHelp page structure is fully built on css-based design + abandoning frameset structure. Overall page structure can be divided in to three main sections +

      • Header: Header is a separate Div which include company logo, + navigation button(prev, next etc.), page title and heading of parent topic.

      • Content: This includes the content of the documentation. The processing of this part is + done by + DocBook XSL Chunking customization. Few further css-styling applied from + positioning.css. +

      • Left Navigation: This includes the table of contents and search tab. This + is customized using jquery-ui styling.

        • Tabbed Navigation: The navigation pane is organized in to two tabs. + Contents tab, and Search tab. Tabbed output is achieved using + JQuery Tabs plugin. +

        • Table of Contents (TOC) tree: When building the chunked html from the + docbook file, Table of Contents is generated as an Unordered List (a list + made from <ul> <li> tags). When page loads in the browser, + we apply styling to it to achieve the nice look that you see. Styling for TOC + tree is done by a JQuery UI plugin called + + TreeView. We can generate the tree easily by following javascript code: + +

          +//Generate the tree
          +$("#tree").treeview({
          +collapsed: true,
          +animated: "medium",
          +control: "#sidetreecontrol",
          +persist: "cookie"
          +});
          +

          +

        • Search Tab: This includes the search feature.

      +

      diff --git a/doc/help/xslt/webhelp/docs/content/ch03s02.html b/doc/help/xslt/webhelp/docs/content/ch03s02.html new file mode 100644 index 00000000..c4ba8729 --- /dev/null +++ b/doc/help/xslt/webhelp/docs/content/ch03s02.html @@ -0,0 +1,124 @@ + + + + +Search

      Search

      Overview design of Search mechanism.

      + The searching is a fully client-side implementation of querying texts for + content searching, and no server is involved. That means when a user enters a query, + it is processed by JavaScript inside the browser, and displays the matching results by + comparing the query with a generated 'index', which too reside in the client-side web browser. + + Mainly the search mechanism has two parts. +

      • Indexing: First we need to traverse the content in the docs/content folder and index + the words in it. This is done by nw-cms.jar. You can invoke it by + ant index command from the root of webhelp of directory. You can recompile it + again and build the jar file by ant build-indexer. Indexer has some extensive + support for such as stemming of words. Indexer has extensive support for English, German, + French languages. By extensive support, what I meant is that those texts are stemmed + first, to get the root word and then indexes them. For CJK (Chinese, Japanese, Korean) + languages, it uses bi-gram tokenizing to break up the words. (CJK languages does not have + spaces between words.) +

        + When we run ant index, it generates five output files: +

        • htmlFileList.js - This contains an array named fl which stores details + all the files indexed by the indexer. +

        • htmlFileInfoList.js - This includes some meta data about the indexed files in an array + named fil. It includes details about file name, file (html) title, a summary + of the content.Format would look like, + fil["4"]= "ch03.html@@@Developer Docs@@@This chapter provides an overview of how webhelp is implemented."; +

        • index-*.js (Three index files) - These three files actually stores the index of the content. + Index is added to an array named w.

        + +

      • + Querying: Query processing happens totally in client side. Following JavaScript files handles them. +

        • nwSearchFnt.js - This handles the user query and returns the search results. It does query + word tokenizing, drop unnecessary punctuations and common words, do stemming if docbook language + supports it, etc.

        • {$indexer-language-code}_stemmer.js - This includes the stemming library. + nwSearchFnt.js file calls stemmer method in this file for stemming. + ex: var stem = stemmer(foobar); +

        +

      +

      New Stemmers

      Adding new Stemmers is very simple.

      Currently, only English, French, and German stemmers are integrated in to WebHelp. But the code is + extensible such that you can add new stemmers easily by few steps.

      What you need: +

      • You'll need two versions of the stemmer; One written in JavaScript, and another in Java. But fortunately, + Snowball contains Java stemmers for number of popular languages, and are already included with the package. + You can see the full list in Adding support for other (non-CJKV) languages. + If your language is listed there, + Then you have to find javascript version of the stemmer. Generally, new stemmers are getting added in to + Snowball Stemmers in other languages location. + If javascript stemmer for your language is available, then download it. Else, you can write a new stemmer in + JavaScript using SnowBall algorithm fairly easily. Algorithms are at + Snowball. +

      • Then, name the JS stemmer exactly like this: {$language-code}_stemmer.js. For example, + for Italian(it), name it as, it_stemmer.js. Then, copy it to the + docbook-webhelp/template/content/search/stemmers/ folder. (I assumed + docbook-webhelp is the root folder for webhelp.) +

        Note

        Make sure you changed the webhelp.indexer.language property in build.properties + to your language. +

        + +

      • Now two easy changes needed for the indexer.

        • Open docbook-webhelp/indexer/src/com/nexwave/nquindexer/IndexerTask.java in + a text editor and add your language code to the supportedLanguages String Array.

          Example 3.1. Add new language to supportedLanguages array

          + change the Array from, +

          +private String[] supportedLanguages= {"en", "de", "fr", "cn", "ja", "ko"}; 
          +    //currently extended support available for
          +    // English, German, French and CJK (Chinese, Japanese, Korean) languages only.
          +

          + To,

          +private String[] supportedLanguages= {"en", "de", "fr", "cn", "ja", "ko", "it"}; 
          +  //currently extended support available for
          +  // English, German, French, CJK (Chinese, Japanese, Korean), and Italian languages only.
          +                    

        • + Now, open docbook-webhelp/indexer/src/com/nexwave/nquindexer/SaxHTMLIndex.java and + add the following line to the code where it initializes the Stemmer (Search for + SnowballStemmer stemmer;). Then add code to initialize the stemmer Object in your language. + It's self understandable. See the example. The class names are at: + docbook-webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/. +

          Example 3.2. initialize correct stemmer based on the webhelp.indexer.language specified

          +      SnowballStemmer stemmer;
          +      if(indexerLanguage.equalsIgnoreCase("en")){
          +           stemmer = new EnglishStemmer();
          +      } else if (indexerLanguage.equalsIgnoreCase("de")){
          +          stemmer= new GermanStemmer();
          +      } else if (indexerLanguage.equalsIgnoreCase("fr")){
          +          stemmer= new FrenchStemmer();
          +      }
          +else if (indexerLanguage.equalsIgnoreCase("it")){ //If language code is "it" (Italian)
          +          stemmer= new italianStemmer();  //Initialize the stemmer to italianStemmer object.
          +      }       
          +      else {
          +          stemmer = null;
          +      }
          +

      +

      That's all. Now run ant build-indexer to compile and build the java code. + Then, run ant webhelp to generate the output from your docbook file. + For any questions, contact us or email to the docbook mailing list + . +

      diff --git a/doc/help/xslt/webhelp/docs/content/index.html b/doc/help/xslt/webhelp/docs/content/index.html new file mode 100644 index 00000000..54ae6425 --- /dev/null +++ b/doc/help/xslt/webhelp/docs/content/index.html @@ -0,0 +1,71 @@ + + + + +README: Web-based Help from DocBook XML

      README: Web-based Help from DocBook XML

      Kasun Gajasinghe

      Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the “Software”), to deal in the Software without + restriction, including without limitation the rights to use, copy, + modify, merge, publish, distribute, sublicense, and/or sell copies of + the Software, and to permit persons to whom the Software is furnished to + do so, subject to the following conditions:

      • The above copyright notice and this permission notice shall + be included in all copies or substantial portions of the + Software.

      • Except as contained in this notice, the names of individuals + credited with contribution to this software shall not be used in + advertising or otherwise to promote the sale, use or other + dealings in this Software without prior written authorization from + the individuals in question.

      • Any stylesheet derived from this Software that is publicly + distributed will be identified with a different name and the + version strings in any derived Software will be changed so that no + possibility of confusion between the derived package and this + Software will exist.

      Warranty: THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL DAVID CRAMER, KASUN GAJASINGHE, OR ANY OTHER CONTRIBUTOR BE LIABLE FOR + ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF + CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

      This package is maintained by Kasun Gajasinghe, and David Cramer, .

      This package also includes the following software written and + copyrighted by others:

      • Files in template/common/jquery are + copyrighted by JQuery + under the MIT License. The file + jquery.cookie.js Copyright (c) 2006 Klaus + Hartl under the MIT license.

      • Some files in the template/content/search and indexer directories were originally + part of N. Quaine's htmlsearch DITA plugin. The htmlsearch DITA + plugin is available from the files + page of the DITA-users yahoogroup. The htmlsearch plugin + was released under a BSD-style license. See + indexer/license.txt for details.

      • Stemmers from the Snowball + project released under a BSD license.

      • Code from the Apache + Lucene search engine provides support for tokenizing + Chinese, Japanese, and Korean content released under the Apache + 2.0 license.

      + Webhelp for DocBook was developed as a Google Summer of Code project. +

      August 2010


      diff --git a/doc/help/xslt/webhelp/docs/content/search/htmlFileInfoList.js b/doc/help/xslt/webhelp/docs/content/search/htmlFileInfoList.js new file mode 100644 index 00000000..4517cb8c --- /dev/null +++ b/doc/help/xslt/webhelp/docs/content/search/htmlFileInfoList.js @@ -0,0 +1,10 @@ +fil = new Array(); +fil["0"]= "ch01.html@@@Chapter 1. Introduction@@@Overview of the package."; +fil["1"]= "ch02.html@@@Chapter 2. Using the package@@@The following sections describe how to install and use the package on Windows."; +fil["2"]= "ch02s01.html@@@Generating webhelp output@@@Installation instructions"; +fil["3"]= "ch02s02.html@@@Using and customizing the output@@@null"; +fil["4"]= "ch02s03.html@@@Building the indexer@@@To build the indexer, you must have installed the JDK version 1.5 or higher and set the ANT_HOME environment variable. Run ant build-indexer to recompile nw-cms.jar"; +fil["5"]= "ch02s04.html@@@Adding support for other (non-CJKV) languages@@@null"; +fil["6"]= "ch03.html@@@Chapter 3. Developer Docs@@@This chapter provides an overview of how webhelp is implemented."; +fil["7"]= "ch03s01.html@@@Design@@@An overview of webhelp page structure."; +fil["8"]= "ch03s02.html@@@Search@@@Adding new Stemmers is very simple."; diff --git a/doc/help/xslt/webhelp/docs/content/search/htmlFileList.js b/doc/help/xslt/webhelp/docs/content/search/htmlFileList.js new file mode 100644 index 00000000..c09eccf4 --- /dev/null +++ b/doc/help/xslt/webhelp/docs/content/search/htmlFileList.js @@ -0,0 +1,11 @@ +//List of files which are indexed. +fl = new Array(); +fl["0"]= "ch01.html"; +fl["1"]= "ch02.html"; +fl["2"]= "ch02s01.html"; +fl["3"]= "ch02s02.html"; +fl["4"]= "ch02s03.html"; +fl["5"]= "ch02s04.html"; +fl["6"]= "ch03.html"; +fl["7"]= "ch03s01.html"; +fl["8"]= "ch03s02.html"; diff --git a/doc/help/xslt/webhelp/docs/content/search/index-1.js b/doc/help/xslt/webhelp/docs/content/search/index-1.js new file mode 100644 index 00000000..8af5f1e1 --- /dev/null +++ b/doc/help/xslt/webhelp/docs/content/search/index-1.js @@ -0,0 +1,224 @@ +var indexerLanguage="en"; +//Auto generated index for searching. +w["-"]="8"; +w["-doutput-dir"]="2"; +w["-version"]="2"; +w["1"]="0,2,4,8"; +w["140"]="0"; +w["172800"]="3"; +w["2"]="1,2,3,8"; +w["290304000"]="3"; +w["3"]="6,8"; +w["4"]="2,8"; +w["480"]="3"; +w["5"]="2,4"; +w["6"]="2"; +w["7"]="2"; +w["7200"]="3"; +w["8"]="3"; +w["_stemmer"]="8"; +w["abandon"]="7"; +w["abil"]="0"; +w["abstract"]="0,2,3"; +w["achiev"]="7"; +w["actual"]="8"; +w["ad"]="0,1,3,5,8"; +w["adapt"]="2"; +w["add"]="0,2,3,5,8"; +w["adddefaultcharset"]="3"; +w["addit"]="3,5"; +w["addoutputfilterbytyp"]="3"; +w["advanc"]="0"; +w["again"]="8"; +w["against"]="2"; +w["algorithm"]="8"; +w["all"]="0,8"; +w["allow"]="0"; +w["alreadi"]="8"; +w["and"]="0,1,2,3,4,5,6,7,8"; +w["ani"]="2,3,8"; +w["anim"]="7"; +w["anoth"]="2,8"; +w["ant"]="0,2,4,8"; +w["ant_hom"]="2,4"; +w["apach"]="1,2,3"; +w["apache-ant-1"]="2"; +w["appear"]="0,3"; +w["appli"]="7"; +w["applic"]="0,3"; +w["appropri"]="0,3"; +w["arbitrari"]="2"; +w["array"]="8"; +w["assum"]="2,8"; +w["attribut"]="0"; +w["auto-synchron"]="0"; +w["autom"]="0"; +w["automat"]="0"; +w["avail"]="8"; +w["away"]="6"; +w["back"]="5"; +w["bar"]="3"; +w["base"]="0,3,8"; +w["be"]="2"; +w["been"]="0,2"; +w["behav"]="6"; +w["below"]="2"; +w["between"]="8"; +w["bi-gram"]="8"; +w["bin"]="2"; +w["binari"]="2"; +w["bitmap"]="3"; +w["bob"]="3"; +w["book"]="3"; +w["boolean"]="0"; +w["both"]="5"; +w["box"]="0"; +w["breadcrumb"]="0"; +w["break"]="8"; +w["brief"]="0,3"; +w["brower"]="3"; +w["browser"]="2,3,7,8"; +w["build"]="0,1,2,4,7,8"; +w["build-index"]="4,8"; +w["built"]="7"; +w["but"]="0,2,8"; +w["button"]="0,7"; +w["c"]="2"; +w["cach"]="3"; +w["cache-control"]="3"; +w["call"]="7,8"; +w["can"]="0,2,3,7,8"; +w["card"]="0"; +w["caus"]="3"; +w["certain"]="3"; +w["ch03"]="8"; +w["chang"]="2,3,8"; +w["chapter"]="0,1,3,6,8"; +w["chapterinfo"]="3"; +w["charact"]="0,3"; +w["chines"]="0,2,8"; +w["chm"]="0"; +w["chunk"]="3,7"; +w["cjk"]="8"; +w["cjkanalyz"]="0"; +w["class"]="8"; +w["classpath"]="2"; +w["client"]="8"; +w["client-sid"]="8"; +w["cn"]="8"; +w["code"]="0,7,8"; +w["collaps"]="0,7"; +w["color"]="3"; +w["come"]="3"; +w["command"]="2,8"; +w["comment"]="2"; +w["common"]="0,3,8"; +w["compani"]="7"; +w["compar"]="8"; +w["compil"]="8"; +w["complet"]="3"; +w["compress"]="3"; +w["conf"]="3"; +w["configur"]="1,3"; +w["confirm"]="2"; +w["consid"]="0,5"; +w["contact"]="8"; +w["contain"]="2,8"; +w["content"]="0,1,6,7,8"; +w["contribut"]="5"; +w["control"]="0,3,7"; +w["conveni"]="2"; +w["cooki"]="6,7"; +w["copi"]="2,8"; +w["correct"]="2,8"; +w["could"]="2,3"; +w["creat"]="2"; +w["creator"]="0"; +w["css"]="3,7"; +w["css-base"]="7"; +w["css-style"]="7"; +w["current"]="0,5,8"; +w["custom"]="1,2,3,7"; +w["danish"]="5"; +w["data"]="8"; +w["day"]="3"; +w["decid"]="0"; +w["deep"]="3"; +w["default"]="2,3"; +w["defin"]="2"; +w["deflat"]="3"; +w["delet"]="2"; +w["describ"]="1"; +w["descript"]="0"; +w["design"]="6,7,8"; +w["desir"]="2"; +w["desired-output-dir"]="2"; +w["detail"]="2,8"; +w["develop"]="6"; +w["differ"]="2"; +w["dir"]="2"; +w["direct"]="3"; +w["directori"]="2,8"; +w["disabl"]="0"; +w["display"]="8"; +w["distribut"]="2"; +w["div"]="0,3,6,7"; +w["divid"]="7"; +w["do"]="5,8"; +w["doc"]="2,3,6,8"; +w["docbook"]="0,2,3,7,8"; +w["docbook-apps@list"]="8"; +w["docbook-webhelp"]="2,8"; +w["docs@@@"]="8"; +w["docsrc"]="2"; +w["document"]="0,2,3,7"; +w["doe"]="0,2,3,8"; +w["domain"]="0"; +w["don"]="0,2,3"; +w["done"]="7,8"; +w["download"]="2,3,8"; +w["drop"]="8"; +w["dtd"]="2"; +w["dutch"]="5"; +w["each"]="0,3"; +w["easi"]="8"; +w["easili"]="7,8"; +w["eclips"]="0"; +w["edit"]="2,3"; +w["editor"]="2,8"; +w["element"]="3"; +w["els"]="8"; +w["email"]="8"; +w["empti"]="2"; +w["engin"]="0"; +w["english"]="0,2,5,8"; +w["englishstemm"]="8"; +w["enhanc"]="0"; +w["enter"]="8"; +w["environ"]="2,4"; +w["equalsignorecas"]="8"; +w["etc"]="2,3,7,8"; +w["even"]="0"; +w["ex"]="8"; +w["exact"]="6,8"; +w["exampl"]="2,3,8"; +w["exclud"]="0"; +w["exist"]="2"; +w["expand"]="0"; +w["explain"]="3"; +w["expos"]="0"; +w["ext"]="8"; +w["extend"]="8"; +w["extens"]="3,8"; +w["fair"]="8"; +w["fals"]="2"; +w["featur"]="0,7"; +w["feel"]="3"; +w["few"]="7,8"; +w["figur"]="2"; +w["fil"]="8"; +w["file"]="0,2,3,7,8"; +w["fileset"]="2"; +w["filesmatch"]="3"; +w["find"]="8"; + diff --git a/doc/help/xslt/webhelp/docs/content/search/index-2.js b/doc/help/xslt/webhelp/docs/content/search/index-2.js new file mode 100644 index 00000000..ebab2194 --- /dev/null +++ b/doc/help/xslt/webhelp/docs/content/search/index-2.js @@ -0,0 +1,223 @@ +//Auto generated index for searching. +w["finnish"]="5"; +w["first"]="0,8"; +w["five"]="8"; +w["fl"]="8"; +w["flv"]="3"; +w["folder"]="3,8"; +w["follow"]="1,2,3,5,7,8"; +w["foobar"]="8"; +w["form"]="0,5"; +w["format"]="0,8"; +w["fortun"]="8"; +w["fr"]="2,8"; +w["frameset"]="0,3,6,7"; +w["french"]="0,2,8"; +w["frenchstemm"]="8"; +w["full"]="0,8"; +w["fulli"]="7,8"; +w["function"]="0"; +w["further"]="3,7"; +w["futur"]="0"; +w["general"]="0,3,8"; +w["generat"]="0,1,2,7,8"; +w["gentext"]="0"; +w["german"]="0,2,5,8"; +w["germanstemm"]="8"; +w["get"]="0,3,8"; +w["gif"]="3"; +w["googl"]="0"; +w["graphic"]="2"; +w["group"]="0"; +w["guid"]="3"; +w["h"]="0"; +w["handl"]="3,8"; +w["happen"]="8"; +w["hard"]="0"; +w["has"]="2,8"; +w["have"]="2,3,4,8"; +w["he"]="0"; +w["head"]="7"; +w["header"]="0,3,7"; +w["height"]="3"; +w["help"]="0,3,6"; +w["here"]="2"; +w["higher"]="2,4"; +w["highlight"]="0"; +w["hour"]="3"; +w["howev"]="2"; +w["htaccess"]="3"; +w["htm"]="3"; +w["html"]="0,2,3,7,8"; +w["html@@@develop"]="8"; +w["htmlfileinfolist"]="8"; +w["htmlfilelist"]="8"; +w["httpd"]="3"; +w["hungarian"]="5"; +w["ico"]="3"; +w["identifi"]="2"; +w["if"]="0,2,3,5,6,8"; +w["ignor"]="2"; +w["imag"]="2"; +w["implement"]="0,5,6,8"; +w["import"]="0,2"; +w["imposs"]="0"; +w["improv"]="0,3"; +w["includ"]="0,2,3,5,7,8"; +w["index"]="0,1,2,3,4,5,8"; +w["index-"]="8"; +w["indexer-languag"]="2"; +w["indexer-language-cod"]="8"; +w["indexerlanguag"]="8"; +w["indexertask"]="8"; +w["indic"]="2"; +w["inform"]="2,3"; +w["initi"]="8"; +w["input"]="2,5"; +w["input-images-basedir"]="2"; +w["input-images-dir"]="2"; +w["input-xml"]="2"; +w["insid"]="3,8"; +w["instal"]="1,2,4"; +w["instruct"]="2"; +w["integr"]="0,8"; +w["interest"]="3"; +w["internet"]="0"; +w["into"]="0,3"; +w["introduct"]="0"; +w["invok"]="8"; +w["involv"]="8"; +w["it_stemm"]="8"; +w["italian"]="5,8"; +w["italianstemm"]="8"; +w["item"]="0"; +w["ix01"]="0"; +w["ja"]="2,8"; +w["japanes"]="0,2,8"; +w["jar"]="2,4,8"; +w["java"]="2,5,8"; +w["javascript"]="0,3,5,7,8"; +w["jdk"]="2,4"; +w["jpeg"]="3"; +w["jpg"]="3"; +w["jqueri"]="3,7"; +w["jquery-ui"]="7"; +w["jquery-ui-1"]="3"; +w["jqueryui"]="3"; +w["js"]="3,8"; +w["know"]="0"; +w["ko"]="8"; +w["korean"]="0,8"; +w["languag"]="0,1,2,5,8"; +w["language-cod"]="8"; +w["layer"]="2"; +w["left"]="3,6,7"; +w["leftnavig"]="3"; +w["legal"]="0"; +w["li"]="7"; +w["librari"]="8"; +w["like"]="0,8"; +w["limit"]="0"; +w["line"]="2,3,8"; +w["link"]="0,3"; +w["list"]="0,2,7,8"; +w["ll"]="8"; +w["load"]="6,7"; +w["locat"]="2,8"; +w["log"]="0"; +w["logo"]="7"; +w["long"]="3"; +w["look"]="3,7,8"; +w["lucen"]="0"; +w["made"]="7"; +w["mail"]="8"; +w["main"]="7,8"; +w["make"]="0,2,3,8"; +w["manag"]="2"; +w["martin"]="5"; +w["match"]="8"; +w["max-ag"]="3"; +w["mean"]="8"; +w["meant"]="8"; +w["mechan"]="5,8"; +w["medium"]="7"; +w["messag"]="2"; +w["meta"]="8"; +w["method"]="8"; +w["microsoft"]="0"; +w["miss"]="2"; +w["model"]="0"; +w["modifi"]="2"; +w["more"]="0,3"; +w["move"]="0"; +w["multipl"]="3"; +w["must"]="2,4,6"; +w["must-revalid"]="3"; +w["mutandi"]="2"; +w["mutati"]="2"; +w["my"]="0"; +w["name"]="0,2,3,8"; +w["navig"]="3,6,7"; +w["necessari"]="2,3"; +w["need"]="2,3,5,8"; +w["new"]="2,3,6,8"; +w["newli"]="2"; +w["next"]="7"; +w["nexwav"]="8"; +w["nice"]="7"; +w["no"]="3,8"; +w["non-cjkv"]="1,5,8"; +w["non-head"]="0"; +w["non-n"]="2"; +w["norwegian"]="5"; +w["not"]="0,2,8"; +w["note"]="2,3,8"; +w["noth"]="3"; +w["notic"]="0"; +w["now"]="8"; +w["nquindex"]="8"; +w["null"]="8"; +w["number"]="8"; +w["nw-cms"]="4,8"; +w["nwsearchfnt"]="8"; +w["oasis-open"]="8"; +w["object"]="8"; +w["odd"]="3"; +w["off"]="0"; +w["onc"]="2"; +w["one"]="3,8"; +w["onli"]="2,5,8"; +w["open"]="2,8"; +w["oper"]="0"; +w["option"]="0"; +w["order"]="0"; +w["org"]="8"; +w["organ"]="7"; +w["other"]="0,1,2,5,8"; +w["out"]="0"; +w["output"]="0,1,2,3,7,8"; +w["output-dir"]="2"; +w["overal"]="7"; +w["overview"]="0,6,7,8"; +w["own"]="0,2"; +w["packag"]="0,1,2,8"; +w["page"]="0,3,6,7"; +w["pane"]="0,6,7"; +w["para"]="3"; +w["param"]="0"; +w["paramet"]="0"; +w["parameter"]="0"; +w["parent"]="7"; +w["part"]="3,7,8"; +w["path"]="2"; +w["path-"]="2"; +w["pattern"]="0,2"; +w["pdf"]="0,3"; +w["perform"]="0,3"; +w["persist"]="0,7"; +w["phrase"]="3"; +w["plain"]="3"; +w["pleas"]="5"; +w["plugin"]="7"; +w["png"]="3"; + diff --git a/doc/help/xslt/webhelp/docs/content/search/index-3.js b/doc/help/xslt/webhelp/docs/content/search/index-3.js new file mode 100644 index 00000000..b71ffe67 --- /dev/null +++ b/doc/help/xslt/webhelp/docs/content/search/index-3.js @@ -0,0 +1,221 @@ +//Auto generated index for searching. +w["point"]="2,3"; +w["popul"]="0,3"; +w["popular"]="8"; +w["porter"]="5"; +w["portugues"]="5"; +w["posit"]="3,7"; +w["possibl"]="0"; +w["prev"]="7"; +w["privat"]="8"; +w["problem"]="2"; +w["procedur"]="2"; +w["process"]="2,7,8"; +w["processor"]="2"; +w["produc"]="0"; +w["program"]="2"; +w["project"]="2,5"; +w["prompt"]="2"; +w["properti"]="0,2,8"; +w["provid"]="6,8"; +w["public"]="0,3"; +w["punctuat"]="2,8"; +w["put"]="2"; +w["queri"]="0,8"; +w["question"]="8"; +w["read"]="6"; +w["readm"]="2"; +w["recommend"]="1,3"; +w["recompil"]="4,8"; +w["refer"]="2"; +w["relat"]="2,3"; +w["relev"]="0"; +w["render"]="6"; +w["replac"]="3"; +w["requir"]="0,5"; +w["resid"]="8"; +w["resiz"]="0"; +w["resourc"]="3"; +w["restor"]="6"; +w["result"]="0,3,6,8"; +w["return"]="8"; +w["right"]="3"; +w["role"]="3"; +w["romanian"]="5"; +w["root"]="8"; +w["rss"]="3"; +w["run"]="2,4,8"; +w["russian"]="5"; +w["s"]="0,3,5,8"; +w["safe"]="2"; +w["same"]="2"; +w["save"]="6"; +w["saxhtmlindex"]="8"; +w["saxon"]="2"; +w["saxon-6"]="2"; +w["script"]="2"; +w["search"]="0,2,3,5,6,7,8"; +w["second"]="0"; +w["section"]="1,3,7"; +w["sectioninfo"]="3"; +w["see"]="2,3,7,8"; +w["self"]="8"; +w["separ"]="0,7"; +w["serv"]="3"; +w["server"]="0,3,8"; +w["server-sid"]="0"; +w["servic"]="0"; +w["set"]="0,2,3,4"; +w["setoutputfilt"]="3"; +w["share"]="2"; +w["should"]="0,2"; +w["show"]="0"; +w["side"]="8"; +w["sidetreecontrol"]="7"; +w["similar"]="0"; +w["simpl"]="0,8"; +w["simpli"]="2,3"; +w["sinc"]="3"; +w["site"]="0"; +w["size"]="0"; +w["smarter"]="0"; +w["snowbal"]="8"; +w["snowballstemm"]="8"; +w["so"]="0,2,3"; +w["some"]="8"; +w["someth"]="0"; +w["sort"]="0"; +w["sourc"]="2"; +w["space"]="8"; +w["spanish"]="5"; +w["specifi"]="0,2,8"; +w["src"]="8"; +w["stale"]="3"; +w["start"]="2"; +w["state"]="0,6"; +w["stayton"]="3"; +w["stem"]="0,5,8"; +w["stemmer"]="0,2,5,6,8"; +w["step"]="2,8"; +w["store"]="2,3,8"; +w["string"]="0,8"; +w["structur"]="7"; +w["studi"]="3"; +w["stuff"]="3"; +w["style"]="3,7"; +w["stylesheet"]="0"; +w["stylesheet-path"]="2"; +w["such"]="3,8"; +w["summari"]="0,3,8"; +w["support"]="0,1,5,8"; +w["supportedlanguag"]="8"; +w["sure"]="8"; +w["swedish"]="5"; +w["swf"]="3"; +w["system"]="0,2,3,6"; +w["t"]="0,2,3"; +w["tab"]="0,2,7"; +w["tabindex"]="0"; +w["tabl"]="0,6,7"; +w["tag"]="7"; +w["target"]="0"; +w["task"]="5"; +w["technic"]="0"; +w["tell"]="2"; +w["templat"]="5,8"; +w["term"]="0"; +w["test"]="2"; +w["test-ouput"]="2"; +w["test-output"]="2"; +w["text"]="0,2,3,8"; +w["than"]="0"; +w["them"]="3,8"; +w["theme"]="3"; +w["theme-redmond"]="3"; +w["then"]="0,3,8"; +w["there"]="8"; +w["therefor"]="5"; +w["these"]="3,5,6,8"; +w["they"]="6"; +w["thing"]="3"; +w["those"]="3,8"; +w["though"]="2"; +w["three"]="7,8"; +w["tip"]="2,3"; +w["titl"]="7,8"; +w["toc"]="0,3,7"; +w["todo"]="3"; +w["toggl"]="0"; +w["token"]="8"; +w["too"]="8"; +w["tool"]="2"; +w["top"]="3"; +w["top-level"]="2"; +w["topic"]="0,3,7"; +w["total"]="8"; +w["travers"]="8"; +w["tree"]="0,3,6,7"; +w["treeview"]="3,7"; +w["tri"]="2"; +w["true"]="2,7"; +w["turkish"]="5"; +w["two"]="3,7,8"; +w["txt"]="3"; +w["type"]="2,3"; +w["ui"]="7"; +w["ul"]="7"; +w["unchang"]="3"; +w["uncom"]="2"; +w["uncompress"]="3"; +w["understand"]="8"; +w["undertak"]="5"; +w["unnecessari"]="8"; +w["unord"]="7"; +w["unzip"]="2"; +w["up"]="0,2,3,4,5,7,8"; +w["updat"]="3"; +w["us"]="8"; +w["use"]="0,1,2,3,5,7,8"; +w["user"]="0,3,5,8"; +w["usr"]="2"; +w["utf-8"]="3"; +w["valid"]="2"; +w["validate-against-dtd"]="2"; +w["valu"]="2"; +w["var"]="8"; +w["variabl"]="2,4"; +w["various"]="3"; +w["veri"]="8"; +w["verison"]="5"; +w["version"]="0,2,4,5,8"; +w["w"]="8"; +w["way"]="3"; +w["we"]="0,3,7,8"; +w["web"]="0,3,8"; +w["web-bas"]="0"; +w["webhelp"]="1,2,6,7,8"; +w["webhelp-specif"]="0"; +w["week"]="3"; +w["were"]="6"; +w["which"]="0,2,3,7,8"; +w["width"]="0,3"; +w["wild"]="0"; +w["window"]="1,2"; +w["without"]="0"; +w["word"]="8"; +w["work"]="2"; +w["would"]="8"; +w["write"]="8"; +w["written"]="2,8"; +w["x"]="2"; +w["x-javascript"]="3"; +w["xhtml"]="3"; +w["xml"]="0,2,3"; +w["xp"]="2"; +w["xsl"]="2,3,7"; +w["xslt"]="2"; +w["xslt-processor-classpath"]="2"; +w["you"]="0,2,3,4,5,6,7,8"; +w["your"]="0,2,3,8"; +w["yourfil"]="2"; + diff --git a/doc/help/xslt/webhelp/docs/content/search/nwSearchFnt.js b/doc/help/xslt/webhelp/docs/content/search/nwSearchFnt.js new file mode 100644 index 00000000..0111559c --- /dev/null +++ b/doc/help/xslt/webhelp/docs/content/search/nwSearchFnt.js @@ -0,0 +1,513 @@ +/*---------------------------------------------------------------------------- + * JavaScript for webhelp search + *---------------------------------------------------------------------------- + This file is part of the webhelpsearch plugin for DocBook WebHelp + Copyright (c) 2007-2008 NexWave Solutions All Rights Reserved. + www.nexwave.biz Nadege Quaine + http://kasunbg.blogspot.com/ Kasun Gajasinghe + */ + +//string initialization +var htmlfileList = "htmlFileList.js"; +var htmlfileinfoList = "htmlFileInfoList.js"; +var useCJKTokenizing = false; + +/* Cette fonction verifie la validite de la recherche entrre par l utilisateur */ +function Verifie(ditaSearch_Form) { + + // Check browser compatibitily + if (navigator.userAgent.indexOf("Konquerer") > -1) { + + alert(txt_browser_not_supported); + return; + } + + + var expressionInput = document.ditaSearch_Form.textToSearch.value; + //Set a cookie to store the searched keywords + $.cookie('textToSearch', expressionInput); + + + if (expressionInput.length < 1) { + + // expression is invalid + alert(txt_enter_at_least_1_char); + // reactive la fenetre de search (utile car cadres) + document.ditaSearch_Form.textToSearch.focus(); + } + else { + + // Effectuer la recherche + Effectuer_recherche(expressionInput); + + // reactive la fenetre de search (utile car cadres) + document.ditaSearch_Form.textToSearch.focus(); + } +} + +var stemQueryMap = new Array(); // A hashtable which maps stems to query words + +/* This function parses the search expression, loads the indices and displays the results*/ +function Effectuer_recherche(expressionInput) { + + /* Display a waiting message */ + //DisplayWaitingMessage(); + + /*data initialisation*/ + var searchFor = ""; // expression en lowercase et sans les caracte res speciaux + //w = new Object(); // hashtable, key=word, value = list of the index of the html files + scriptLetterTab = new Scriptfirstchar(); // Array containing the first letter of each word to look for + var wordsList = new Array(); // Array with the words to look for + var finalWordsList = new Array(); // Array with the words to look for after removing spaces + var linkTab = new Array(); + var fileAndWordList = new Array(); + var txt_wordsnotfound = ""; + + + /*nqu: expressionInput, la recherche est lower cased, plus remplacement des char speciaux*/ + searchFor = expressionInput.toLowerCase().replace(/<\//g, "_st_").replace(/\$_/g, "_di_").replace(/\.|%2C|%3B|%21|%3A|@|\/|\*/g, " ").replace(/(%20)+/g, " ").replace(/_st_/g, "= 0; i--) { + if (fileAndWordList[i] != undefined) { + linkTab.push("

      " + txt_results_for + " " + "" + fileAndWordList[i][0].motslisteDisplay + "" + "

      "); + + linkTab.push("
        "); + for (t in fileAndWordList[i]) { + //DEBUG: alert(": "+ fileAndWordList[i][t].filenb+" " +fileAndWordList[i][t].motsliste); + //linkTab.push("
      • "+fl[fileAndWordList[i][t].filenb]+"
      • "); + var tempInfo = fil[fileAndWordList[i][t].filenb]; + var pos1 = tempInfo.indexOf("@@@"); + var pos2 = tempInfo.lastIndexOf("@@@"); + var tempPath = tempInfo.substring(0, pos1); + var tempTitle = tempInfo.substring(pos1 + 3, pos2); + var tempShortdesc = tempInfo.substring(pos2 + 3, tempInfo.length); + + //file:///home/kasun/docbook/WEBHELP/webhelp-draft-output-format-idea/src/main/resources/web/webhelp/installation.html + var linkString = "
      • " + tempTitle + ""; + // var linkString = "
      • " + tempTitle + ""; + if ((tempShortdesc != "null")) { + linkString += "\n
        " + tempShortdesc + "
        "; + } + linkString += "
      • "; + linkTab.push(linkString); + } + linkTab.push("
      "); + } + } + } + + var results = ""; + if (linkTab.length > 0) { + /*writeln ("

      " + txt_results_for + " " + "" + cleanwordsList + "" + "
      "+"

      ");*/ + results = "

      "; + //write("

        "); + for (t in linkTab) { + results += linkTab[t].toString(); + } + results += "

        "; + } else { + results = "

        " + "Your search returned no results for " + "" + txt_wordsnotfound + "" + "

        "; + } + //alert(results); + document.getElementById('searchResults').innerHTML = results; +} + +function tokenize(wordsList){ + var stemmedWordsList = new Array(); // Array with the words to look for after removing spaces + var cleanwordsList = new Array(); // Array with the words to look for + for(var j in wordsList){ + var word = wordsList[j]; + if(typeof stemmer != "undefined" ){ + stemQueryMap[stemmer(word)] = word; + } else { + stemQueryMap[word] = word; + } + } + //stemmedWordsList is the stemmed list of words separated by spaces. + for (var t in wordsList) { + wordsList[t] = wordsList[t].replace(/(%22)|^-/g, ""); + if (wordsList[t] != "%20") { + scriptLetterTab.add(wordsList[t].charAt(0)); + cleanwordsList.push(wordsList[t]); + } + } + + if(typeof stemmer != "undefined" ){ + //Do the stemming using Porter's stemming algorithm + for (var i = 0; i < cleanwordsList.length; i++) { + var stemWord = stemmer(cleanwordsList[i]); + stemmedWordsList.push(stemWord); + } + } else { + stemmedWordsList = cleanwordsList; + } + return stemmedWordsList; +} + +//Invoker of CJKTokenizer class methods. +function cjkTokenize(wordsList){ + var allTokens= new Array(); + var notCJKTokens= new Array(); + var j=0; + for(j=0;j"; + return this.input.substring(this.offset,this.offset+2); + } + + function getAllTokens(){ + while(this.incrementToken()){ + var tmp = this.tokenize(); + this.tokens.push(tmp); + } + return this.unique(this.tokens); +// document.getElementById("content").innerHTML += tokens+" "; +// document.getElementById("content").innerHTML += "
        dada"+sortedTokens+" "; +// console.log(tokens.length+"dsdsds"); + /*for(i=0;i t2.length) { + return 1; + } else { + return -1; + } + //return t1.length - t2.length); +} \ No newline at end of file diff --git a/doc/help/xslt/webhelp/docs/content/search/stemmers/en_stemmer.js b/doc/help/xslt/webhelp/docs/content/search/stemmers/en_stemmer.js new file mode 100644 index 00000000..f58012f2 --- /dev/null +++ b/doc/help/xslt/webhelp/docs/content/search/stemmers/en_stemmer.js @@ -0,0 +1,187 @@ +// Porter stemmer in Javascript. Few comments, but it's easy to follow against the rules in the original +// paper, in +// +// Porter, 1980, An algorithm for suffix stripping, Program, Vol. 14, +// no. 3, pp 130-137, +// +// see also http://www.tartarus.org/~martin/PorterStemmer + +// Release 1 be 'andargor', Jul 2004 +// Release 2 (substantially revised) by Christopher McKenzie, Aug 2009 + + +var stemmer = (function(){ + var step2list = { + "ational" : "ate", + "tional" : "tion", + "enci" : "ence", + "anci" : "ance", + "izer" : "ize", + "bli" : "ble", + "alli" : "al", + "entli" : "ent", + "eli" : "e", + "ousli" : "ous", + "ization" : "ize", + "ation" : "ate", + "ator" : "ate", + "alism" : "al", + "iveness" : "ive", + "fulness" : "ful", + "ousness" : "ous", + "aliti" : "al", + "iviti" : "ive", + "biliti" : "ble", + "logi" : "log" + }, + + step3list = { + "icate" : "ic", + "ative" : "", + "alize" : "al", + "iciti" : "ic", + "ical" : "ic", + "ful" : "", + "ness" : "" + }, + + c = "[^aeiou]", // consonant + v = "[aeiouy]", // vowel + C = c + "[^aeiouy]*", // consonant sequence + V = v + "[aeiou]*", // vowel sequence + + mgr0 = "^(" + C + ")?" + V + C, // [C]VC... is m>0 + meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$", // [C]VC[V] is m=1 + mgr1 = "^(" + C + ")?" + V + C + V + C, // [C]VCVC... is m>1 + s_v = "^(" + C + ")?" + v; // vowel in stem + + return function (w) { + var stem, + suffix, + firstch, + re, + re2, + re3, + re4, + origword = w; + + if (w.length < 3) { return w; } + + firstch = w.substr(0,1); + if (firstch == "y") { + w = firstch.toUpperCase() + w.substr(1); + } + + // Step 1a + re = /^(.+?)(ss|i)es$/; + re2 = /^(.+?)([^s])s$/; + + if (re.test(w)) { w = w.replace(re,"$1$2"); } + else if (re2.test(w)) { w = w.replace(re2,"$1$2"); } + + // Step 1b + re = /^(.+?)eed$/; + re2 = /^(.+?)(ed|ing)$/; + if (re.test(w)) { + var fp = re.exec(w); + re = new RegExp(mgr0); + if (re.test(fp[1])) { + re = /.$/; + w = w.replace(re,""); + } + } else if (re2.test(w)) { + var fp = re2.exec(w); + stem = fp[1]; + re2 = new RegExp(s_v); + if (re2.test(stem)) { + w = stem; + re2 = /(at|bl|iz)$/; + re3 = new RegExp("([^aeiouylsz])\\1$"); + re4 = new RegExp("^" + C + v + "[^aeiouwxy]$"); + if (re2.test(w)) { w = w + "e"; } + else if (re3.test(w)) { re = /.$/; w = w.replace(re,""); } + else if (re4.test(w)) { w = w + "e"; } + } + } + + // Step 1c + re = /^(.+?)y$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(s_v); + if (re.test(stem)) { w = stem + "i"; } + } + + // Step 2 + re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + suffix = fp[2]; + re = new RegExp(mgr0); + if (re.test(stem)) { + w = stem + step2list[suffix]; + } + } + + // Step 3 + re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + suffix = fp[2]; + re = new RegExp(mgr0); + if (re.test(stem)) { + w = stem + step3list[suffix]; + } + } + + // Step 4 + re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/; + re2 = /^(.+?)(s|t)(ion)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(mgr1); + if (re.test(stem)) { + w = stem; + } + } else if (re2.test(w)) { + var fp = re2.exec(w); + stem = fp[1] + fp[2]; + re2 = new RegExp(mgr1); + if (re2.test(stem)) { + w = stem; + } + } + + // Step 5 + re = /^(.+?)e$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(mgr1); + re2 = new RegExp(meq1); + re3 = new RegExp("^" + C + v + "[^aeiouwxy]$"); + if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) { + w = stem; + } + } + + re = /ll$/; + re2 = new RegExp(mgr1); + if (re.test(w) && re2.test(w)) { + re = /.$/; + w = w.replace(re,""); + } + + // and turn initial Y back to y + + if (firstch == "y") { + w = firstch.toLowerCase() + w.substr(1); + } + + return w; + } +})(); \ No newline at end of file diff --git a/doc/help/xslt/webhelp/docs/favicon.ico b/doc/help/xslt/webhelp/docs/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..76ece8f1aa4eb8ff5bae504412a214a1e7c67cbe GIT binary patch literal 5686 zcmeI0c}&&W6~|AR*t8h;C5kaRX!NO=j7u38Fj@_@dFePR%)``WK&^JF=tHOCk}|HP zlhi&pTqgcRz@I$N~E8N^zO~Pw;a^(H|lo|{Z2pXH!s%dfd}c>`i1a} zv}w~u+O=z^&ucH8I(3rHojXg{u3e>Dw{8*;5FkBz^pKuCdrDwnp!Dg}NBZ{dEB*TQ z6Nkeg0|pF`prAoAc<^8uHf*StVKRL9a2YvrgqD#qdh{p>4GoboW5&q%@jsOb6UNKL zi9gdaQ6^2AB$FpkmZ?*xNO*X-L`Fu+^y$Bp88fEKtXVU)%#sg3oF&oGQ8IgWw9KDB zPs@B+u;4ecaNzt(}+4YG0LAI0POlNOI`@@$gLn>WkWty^W=wr#RKF;TW}-yu78?2ylPeI~ni@0LA# z_Gn3xq&<5jDQSVbpHow1pOJmCZ{L2| zzkk0RI`n5Pha@d6P14fSB|SY&OS)uaWJqRaretMhNls3#g(&}#*G_t^X5&tb?cVgzI{vX-n}dL z?%k7bzx}s7cC;HDBDMsph1qdetv!((`o7b?{;YGKUdEz%jHZ6 zv#c$>;zP!+HFMWmmmYU{0=tATce>bbS#cp9huibSU}xwMrz7~gd6bnH)iEG2$gFd@ zJYy}(9nkA-M`D7<6YF#(>hm}CcMNiS65O6GA54gHMoozRU`S|`t|U=W6Bf^PyW`>( zeLUB_WbTqha~J)u9;eRs)-qNL_1FBx*pl^~qD_9e6q)zZbzybPEX?t%8DrUQ4=n@2+%jQeC=qF~Z#6-(P8( z8EMt3Rm1lV9Xgn2M%LTwSfl%vy7Bj$sjwu+5)t0_|^tKi_DDD!LDm;9u0$<-Bj83<2 z{nO;fh!O7^n~8(X74#qu#0<{kbJpWG+yB_D?;uL||3=v8fuD&b_Mtl?XJHfE!aj7t zFT6v*$M(K``SF#veRv1|N=c9=38e92+=rps~@$$0vM4h#9$K zV>5yYXQ)Ho`1o1hp_=e-#fs$$&VTYrywZ0!6MOQA*n^3!c1_@!c1W;jpi-y>abld`|wsL0|uqAHKRXC$EU7?Pv7BessvrZt61|tGN+O z&b)f{N&`M~@{t_zwVyNK1^$KG`Zs{dV`4~N!a??5yH@|&_LFxCvE>%RaKhWN1tyApEK|ee!F}3U#2dR zd-w!yk|#MiU%qrdXMkzyPr-lt&$@MM4ELz7-nzE*Tw8ltQJ2UA@Tm#Z2>j7p{JhTr zpZp}&S4!fq}EYe$PMg6A8HUafc_3w>BH~8Kgq12FTYML06*u; zye9ZI2W|c^k{9Sj{^MV`2ItU&e5AipH^D|t&;Dzc2r=hn#9|FL{OiV8S_c*tTt}sfFBI;6HkzJ9U&= zNPaP1tG{OKV&psc{O+*tKlqvc0k>M>Keo|t!Nf%1@CAb2oJntiTksWu>-Gp| zz&}~~b))+q^^+K*haG=!Kj^=Qn7bdorWbR^CMNg{{@HQIJ}`(Q@g-b#_ci}7F>~;LEW*zo0GUu5+Ji~wXu%D6o_uZcXzPI5&U0{b) literal 0 HcmV?d00001 diff --git a/doc/help/xslt/webhelp/docs/index.html b/doc/help/xslt/webhelp/docs/index.html new file mode 100644 index 00000000..a0271445 --- /dev/null +++ b/doc/help/xslt/webhelp/docs/index.html @@ -0,0 +1,13 @@ + + + + + + + + README: Web-based Help from DocBook XML  + + + + If not automatically redirected, click here: content/ch01.html + diff --git a/doc/help/xslt/webhelp/docsrc/readme.xml b/doc/help/xslt/webhelp/docsrc/readme.xml new file mode 100755 index 00000000..4d191906 --- /dev/null +++ b/doc/help/xslt/webhelp/docsrc/readme.xml @@ -0,0 +1,928 @@ + + + + README: Web-based Help from DocBook XML + + + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the Software), to deal in the Software without + restriction, including without limitation the rights to use, copy, + modify, merge, publish, distribute, sublicense, and/or sell copies of + the Software, and to permit persons to whom the Software is furnished to + do so, subject to the following conditions: + + The above copyright notice and this permission notice shall + be included in all copies or substantial portions of the + Software. + + + + Except as contained in this notice, the names of individuals + credited with contribution to this software shall not be used in + advertising or otherwise to promote the sale, use or other + dealings in this Software without prior written authorization from + the individuals in question. + + + + Any stylesheet derived from this Software that is publicly + distributed will be identified with a different name and the + version strings in any derived Software will be changed so that no + possibility of confusion between the derived package and this + Software will exist. + + + + + Warranty: + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL DAVID CRAMER, KASUN GAJASINGHE, OR ANY OTHER CONTRIBUTOR BE LIABLE FOR + ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF + CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + This package is maintained by Kasun Gajasinghe, kasunbg AT + gmail DOT com and David Cramer, david AT thingbag DOT + net. + + This package also includes the following software written and + copyrighted by others: + + Files in template/common/jquery are + copyrighted by JQuery + under the MIT License. The file + jquery.cookie.js Copyright (c) 2006 Klaus + Hartl under the MIT license. + + + jquery + + + + + Some files in the template/content/search and indexer directories were originally + part of N. Quaine's htmlsearch DITA plugin. The htmlsearch DITA + plugin is available from the files + page of the DITA-users yahoogroup. The htmlsearch plugin + was released under a BSD-style license. See + indexer/license.txt for details. + htmlsearch + + DITA + + htmlsearch plugin + + + + + Stemmers from the Snowball + project released under a BSD license. + + + + Code from the Apache + Lucene search engine provides support for tokenizing + Chinese, Japanese, and Korean content released under the Apache + 2.0 license. + + + Webhelp for DocBook was developed as a Google Summer of Code project. + + + + + 2008-2010 + + Kasun Gajasinghe + + David Cramer + + + + David + + Cramer + + dcramer AT motive DOT com + + david AT thingbag DOT net + + + + Kasun + + Gajasinghe + + kasunbg AT gmail DOT com + + + August 2010 + + + + + + + + Overview of the package. + + + + Introduction + + A common requirement for technical publications groups is to produce a Web-based help + format that includes a table of contents pane, a search feature, and an index similar to what + you get from the Microsoft HTML Help (.chm) format or Eclipse help. If the content is help for + a Web application that is not exposed to the Internet or requires that the user be logged in, + then it is impossible to use services like Google to add search. + features + + + Features + + Full text search. + search + features + + + + Stemming support for English, French, and German. Stemming support can be added + for other languages by implementing a stemmer. + search + stemming + + + + Support for Chinese, Japanese, and Korean using code from the Lucene search + engine. + + + Search highlighting shows where the searched for term appears in the results. + Use the H button to toggle the highlighting off and on. + + search + highlighting + + + + Search results can include brief descriptions of the target. + search + descriptions + + + + + + Table of contents pane with collapsible toc tree. + + + Auto-synchronization of content pane and TOC. + + + TOC and search pane implemented without the use of a frameset. + + + An Ant build.xml file to generate output. You can use this + build file by importing it into your own or use it as a model for integrating this + output format into your own build system. + + + + Possible future enhancements + + Move webhelp-specific parameters and gentext strings into base DocBook stylesheets. + + + + Use tabindex attributes to control the tab + order in the output. The Contents and Search tabs should be first and second, then the + search box and button, then the table of contents items, and so on. + + + Add "Expand all" and "Collapse all" buttons to the table of contents. + + + Add other search options: + + + Add an option to use Lucene for server-side searches with table of contents + state persisted on the server. + + + Add a simple form that uses a Google site:my.domain.com based search. + + + + + Sort search results based on relevance + + + Support wild card characters in the search query. + + + Parameterize width of the TOC pane OR make the TOC pane resizeable by the + user. + + + Automate search results summary text: + + + Automatically use the first non-heading content as the summary in the search + results. + + + Automatically limit the size of the search description to something 140 + characters. + + + + + Support boolean operators in search. + + + Parameterize list of files to exclude from indexing. Currently it's hard coded that + we don't index index.html and ix01.html (the + legal notice and index topics). It should be smarter and automatically not index the + index file even if it's not named ix01.html. + + + Improve performance by moving the table of contents div out of each page and into a + separate JavaScript file which then adds it to the page. + + + Add to the indexer the ability to specify a list of files or file patterns not to + index. Currently it does not index index.html or + ix01.html, which is generally appropriate, but it should be up to + the user to decide. + + + Add an index tab populated by a separate JavaScript file. Include a param/property + that allows the content creator to disable the index. + + + Add functionality to the build.xml file so that when a property + is set, the build generates a pdf version of the document and includes a link to it from + the header. + + + Add breadcrumbs so the user will know what topics he's been to. + + + Consider using more advanced Lucene indexers for Chinese and Japanese than the + CJKAnalyzer + + + + + + Using the package + + The following sections describe how to install and + use the package on Windows. + +
        + + + Installation instructions + + + + Generating webhelp output + + + To install the package on Windows + + + The examples in this procedure assume a Windows installation, + but the process is the same in other environments, + mutatis mutandis. + + + + If necessary, install Java 1.6 or + higher. + + + + Confirm that Java is installed and in your + PATH by typing the following at a command prompt: + java -version + + To build the indexer, you must have the JDK. + + + + + + + If necessary, install Apache Ant 1.6.5 + or higher. + + + + Unzip the Ant binary distribution to a convenient location + on your system. For example: c:\Program + Files. + + + + Set the environment variable ANT_HOME to + the top-level Ant directory. For example: c:\Program + Files\apache-ant-1.7.1. + See How To Manage + Environment Variables in Windows XP for information + on setting environment variables. + + + + + Add the Ant bin directory to your + PATH. For example: c:\Program + Files\apache-ant-1.7.1\bin + + + + Confirm that Ant is installed by typing the following at a + command prompt: ant -version + + + If you see a message about the file + tools.jar being missing, you can safely + ignore it. + + + + + + + Download Saxon + 6.5.x and unzip the distribution to a convenient location on your file system. + You will use the path to saxon.jar in below. + The build.xml has only been tested with Saxon 6.5, though + it could be adapted to work with other XSLT processors. However, when you generate + output, the Saxon jar must not be in your + CLASSPATH. + + + + + In a text editor, edit the + build.properties file in the webhelp directory + and make the changes indicated by the comments:# The path (relative to the build.xml file) to your input document. +# To use your own input document, create a build.xml file of your own +# and import this build.xml. +input-xml=docsrc/readme.xml + +# The directory in which to put the output files. +# This directory is created if it does not exist. +output-dir=docs + +# If you are using a customization layer that imports webhelp.xsl, use +# this property to point to it. +stylesheet-path=${ant.file.dir}/xsl/webhelp.xsl + +# If your document has image directories that need to be copied +# to the output directory, you can list patterns here. +# See the Ant documentation for fileset for documentation +# on patterns. +#input-images-dirs=images/**,figures/**,graphics/** + +# By default, the ant script assumes your images are stored +# in the same directory as the input-xml. If you store your +# image directories in another directory, specify it here. +# and uncomment this line. +#input-images-basedir=/path/to/image/location + +# Modify this so that it points to your copy of the Saxon 6.5 jar. +xslt-processor-classpath=/usr/share/java/saxon-6.5.5.jar + +# For non-ns version only, this validates the document +# against a dtd. +validate-against-dtd=true + +# Set this to false if you don't need a search tab. +webhelp.include.search.tab=true + +# indexer-language is used to tell the search indexer which language +# the docbook is written. This will be used to identify the correct +# stemmer, and punctuations that differs from language to language. +# see the documentation for details. en=English, fr=French, de=German, +# zh=Chinese, ja=Japanese etc. +webhelp.indexer.language=en + + + + Test the package by running the command ant webhelp + -Doutput-dir=test-ouput at the command line in the webhelp directory. It should + generate a copy of this documentation in the doc + directory. Type start test-output\index.html to open the output in a + browser. Once you have confirmed that the process worked, you can delete the test-output directory. + The Saxon 6.5 jar should not be in your + CLASSPATH when you generate the webhelp output. If you have any + problems, try running ant with an empty CLASSPATH. + + + + + To process your own document, simply refer to this package + from another build.xml in arbitrary location on + your system: + + + + Create a new build.xml file that + defines the name of your source file, the desired output + directory, and imports the build.xml from + this package. For example: <project> + <property name="input-xml" value="path-to/yourfile.xml"/> + <property name="input-images-dirs" value="images/** figures/** graphics/**"/> + <property name="output-dir" value="path-to/desired-output-dir"/> + <import file="path-to/docbook-webhelp/build.xml"/> +</project> + + + + From the directory containing your newly created + build.xml file, type ant + webhelp to build your document. + + The Saxon 6.5 jar should not be in your + CLASSPATH when you generate the webhelp output. If you have any + problems, try running ant with an empty CLASSPATH. + + + + + +
        + +
        + Using and customizing the output + + To deep link to a topic inside the help set, simply link directly + to the page. This help system uses no frameset, so nothing further is + necessary. + See Chunking into + multiple HTML files in Bob Stayton's DocBook XSL: The + Complete Guide for information on controlling output file + names and which files are chunked in DocBook. + + + When you perform a search, the results can include brief + summaries. These are populated in one of two ways: + + By adding role="summary" to a + para or phrase in the + chapter or section. + + + + By adding an abstract to the + chapterinfo or sectioninfo + element. + + + + To customize the look and feel of the help, study the following + css files: + + docs/common/css/positioning.css: This + handles the Positioning of DIVs in appropriate positions. For + example, it causes the leftnavigation div to appear + on the left, the header on top, and so on. Use this if you need to + change the relative positions or need to change the width/height + etc. + + + + docs/common/jquery/theme-redmond/jquery-ui-1.8.2.custom.css: + This is the theming part which adds colors and stuff. This is a + default theme comes with jqueryui unchanged. You + can get any theme based your interest from this. (Themes are on + right navigation bar.) Then replace the css theme folder + (theme-redmond) with it, and change the xsl to point to the new + css. + + + + docs/common/jquery/treeview/jquery.treeview.css: + This styles the toc Tree. Generally, you don't have to edit this + file. + + + +
        + Recommended Apache configurations + + If you are serving a long document from an Apache web server, we + recommend you make the following additions or changes to your + httpd.conf or .htaccess + file. TODO: Explain what each thing + does.AddDefaultCharSet UTF-8 # + + # 480 weeks + <FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$"> # + Header set Cache-Control "max-age=290304000, public" + </FilesMatch> + + # 2 DAYS + <FilesMatch "\.(xml|txt)$"> + Header set Cache-Control "max-age=172800, public, must-revalidate" + </FilesMatch> + + # 2 HOURS + <FilesMatch "\.(html|htm)$"> + Header set Cache-Control "max-age=7200, must-revalidate" + </FilesMatch> + + # compress text, html, javascript, css, xml: + AddOutputFilterByType DEFLATE text/plain # + AddOutputFilterByType DEFLATE text/html + AddOutputFilterByType DEFLATE text/xml + AddOutputFilterByType DEFLATE text/css + AddOutputFilterByType DEFLATE application/xml + AddOutputFilterByType DEFLATE application/xhtml+xml + AddOutputFilterByType DEFLATE application/rss+xml + AddOutputFilterByType DEFLATE application/javascript + AddOutputFilterByType DEFLATE application/x-javascript + + # Or, compress certain file types by extension: + <Files *.html> + SetOutputFilter DEFLATE + </Files> + + + See Odd + characters in HTML output in Bob Stayton's book + DocBook XSL: The Complete Guide for more + information about this setting. + + + + These lines and those that follow cause the browser to + cache various resources such as bitmaps and JavaScript files. + Note that caching JavaScript files could cause your users to + have stale search indexes if you update your document since the + search index is stored in JavaScript files. + + + + These lines cause the the server to compress html, css, + and JavaScript files and the brower to uncompress them to + improve download performance. + + +
        +
        + +
        + Building the indexer + + To build the indexer, you must have installed the + JDK version 1.5 or higher and set the ANT_HOME + environment variable. Run ant build-indexer to recompile + nw-cms.jar + + + ANT_HOME + + + + indexer + + building + +
        + +
        + Adding support for other (non-CJKV) languages + + To support stemming for a language, the search mechanism requires + a stemmer implemented in both Java and JavaScript. The Java version is + used by the indexer and the JavaScript verison is used to stem the + user's input on the search form. Currently the search mechanism supports + stemming for English and German. In addition, Java stemmers are included + for the following languages. Therefore, to support these languages, you + only need to implement the stemmer in JavaScript and add it to the + template. If you do undertake this task, please consider contributing + the JavaScript version back to this project and to Martin + Porter's project. + + Danish + + + + Dutch + + + + Finnish + + + + Hungarian + + + + Italian + + + + Norwegian + + + + Portuguese + + + + Romanian + + + + Russian + + + + Spanish + + + + Swedish + + + + Turkish + + +
        +
        + + + Developer Docs + + This chapter provides an overview of how webhelp is implemented. + + The table of contents and search panes are implemented as divs and + rendered as if they were the left pane in a frameset. As a result, the + page must save the state of the table of contents and the search in + cookies when you navigate away from a page. When you load a new page, the + page reads these cookies and restores the state of the table of contents + tree and search. The result is that the help system behaves exactly as if + it were a frameset. + +
        + Design + An overview of webhelp page structure. + DocBook WebHelp page structure is fully built on css-based design + abandoning frameset structure. Overall page structure can be divided in to three main sections + + + Header: Header is a separate Div which include company logo, + navigation button(prev, next etc.), page title and heading of parent topic. + + + + Content: This includes the content of the documentation. The processing of this part is + done by + DocBook XSL Chunking customization. Few further css-styling applied from + positioning.css. + + + + + Left Navigation: This includes the table of contents and search tab. This + is customized using jquery-ui styling. + + + Tabbed Navigation: The navigation pane is organized in to two tabs. + Contents tab, and Search tab. Tabbed output is achieved using + JQuery Tabs plugin. + + + + + Table of Contents (TOC) tree: When building the chunked html from the + docbook file, Table of Contents is generated as an Unordered List (a list + made from <ul> <li> tags). When page loads in the browser, + we apply styling to it to achieve the nice look that you see. Styling for TOC + tree is done by a JQuery UI plugin called + + TreeView. We can generate the tree easily by following javascript code: + + +//Generate the tree +$("#tree").treeview({ +collapsed: true, +animated: "medium", +control: "#sidetreecontrol", +persist: "cookie" +}); + + + + + + Search Tab: This includes the search feature. + + + + + + +
        + +
        + Search + Overview design of Search mechanism. + + The searching is a fully client-side implementation of querying texts for + content searching, and no server is involved. That means when a user enters a query, + it is processed by JavaScript inside the browser, and displays the matching results by + comparing the query with a generated 'index', which too reside in the client-side web browser. + + Mainly the search mechanism has two parts. + + + Indexing: First we need to traverse the content in the docs/content folder and index + the words in it. This is done by nw-cms.jar. You can invoke it by + ant index command from the root of webhelp of directory. You can recompile it + again and build the jar file by ant build-indexer. Indexer has some extensive + support for such as stemming of words. Indexer has extensive support for English, German, + French languages. By extensive support, what I meant is that those texts are stemmed + first, to get the root word and then indexes them. For CJK (Chinese, Japanese, Korean) + languages, it uses bi-gram tokenizing to break up the words. (CJK languages does not have + spaces between words.) + + + When we run ant index, it generates five output files: + + + htmlFileList.js - This contains an array named fl which stores details + all the files indexed by the indexer. + + + + htmlFileInfoList.js - This includes some meta data about the indexed files in an array + named fil. It includes details about file name, file (html) title, a summary + of the content.Format would look like, + fil["4"]= "ch03.html@@@Developer Docs@@@This chapter provides an overview of how webhelp is implemented."; + + + + + index-*.js (Three index files) - These three files actually stores the index of the content. + Index is added to an array named w. + + + + + + + + + Querying: Query processing happens totally in client side. Following JavaScript files handles them. + + + nwSearchFnt.js - This handles the user query and returns the search results. It does query + word tokenizing, drop unnecessary punctuations and common words, do stemming if docbook language + supports it, etc. + + + {$indexer-language-code}_stemmer.js - This includes the stemming library. + nwSearchFnt.js file calls stemmer method in this file for stemming. + ex: var stem = stemmer(foobar); + + + + + + + + +
        + New Stemmers + Adding new Stemmers is very simple. + Currently, only English, French, and German stemmers are integrated in to WebHelp. But the code is + extensible such that you can add new stemmers easily by few steps. + What you need: + + + You'll need two versions of the stemmer; One written in JavaScript, and another in Java. But fortunately, + Snowball contains Java stemmers for number of popular languages, and are already included with the package. + You can see the full list in Adding support for other (non-CJKV) languages. + If your language is listed there, + Then you have to find javascript version of the stemmer. Generally, new stemmers are getting added in to + Snowball Stemmers in other languages location. + If javascript stemmer for your language is available, then download it. Else, you can write a new stemmer in + JavaScript using SnowBall algorithm fairly easily. Algorithms are at + Snowball. + + + + Then, name the JS stemmer exactly like this: {$language-code}_stemmer.js. For example, + for Italian(it), name it as, it_stemmer.js. Then, copy it to the + docbook-webhelp/template/content/search/stemmers/ folder. (I assumed + docbook-webhelp is the root folder for webhelp.) + + Make sure you changed the webhelp.indexer.language property in build.properties + to your language. + + + + + + + + Now two easy changes needed for the indexer. + + + Open docbook-webhelp/indexer/src/com/nexwave/nquindexer/IndexerTask.java in + a text editor and add your language code to the supportedLanguages String Array. + + Add new language to supportedLanguages array + + change the Array from, + +private String[] supportedLanguages= {"en", "de", "fr", "cn", "ja", "ko"}; + //currently extended support available for + // English, German, French and CJK (Chinese, Japanese, Korean) languages only. + + To, + +private String[] supportedLanguages= {"en", "de", "fr", "cn", "ja", "ko", "it"}; + //currently extended support available for + // English, German, French, CJK (Chinese, Japanese, Korean), and Italian languages only. + + + + + + + Now, open docbook-webhelp/indexer/src/com/nexwave/nquindexer/SaxHTMLIndex.java and + add the following line to the code where it initializes the Stemmer (Search for + SnowballStemmer stemmer;). Then add code to initialize the stemmer Object in your language. + It's self understandable. See the example. The class names are at: + docbook-webhelp/indexer/src/com/nexwave/stemmer/snowball/ext/. + + + initialize correct stemmer based on the <code>webhelp.indexer.language</code> specified + + SnowballStemmer stemmer; + if(indexerLanguage.equalsIgnoreCase("en")){ + stemmer = new EnglishStemmer(); + } else if (indexerLanguage.equalsIgnoreCase("de")){ + stemmer= new GermanStemmer(); + } else if (indexerLanguage.equalsIgnoreCase("fr")){ + stemmer= new FrenchStemmer(); + } +else if (indexerLanguage.equalsIgnoreCase("it")){ //If language code is "it" (Italian) + stemmer= new italianStemmer(); //Initialize the stemmer to italianStemmer object. + } + else { + stemmer = null; + } + + + + + + + + That's all. Now run ant build-indexer to compile and build the java code. + Then, run ant webhelp to generate the output from your docbook file. + For any questions, contact us or email to the docbook mailing list + docbook-apps@lists.oasis-open.org. + +
        +
        +
        +
        diff --git a/doc/help/xslt/webhelp/template/common/css/positioning.css b/doc/help/xslt/webhelp/template/common/css/positioning.css new file mode 100755 index 00000000..3d30bc28 --- /dev/null +++ b/doc/help/xslt/webhelp/template/common/css/positioning.css @@ -0,0 +1,109 @@ +body { font: 12px Verdana, Geneva, sans-serif; } +p, ul, ol, li { font: 10pt Verdana, Geneva, sans-serif; } +h1 { font: bold 15pt Arial, Helvetica, geneva; } +h2 { font: bold 14pt Arial, Helvetica, geneva; } + +#header { + background: white url(../images/header-bg.gif) repeat-x; + position: fixed; + width: 100%; + height: 95px; + top: 0; + right: 0; + bottom: auto; + left: 0; + border-bottom: 2px solid #cccccc; + z-index: 2000; +} + +#leftnavigation { +/* background-color:#91e7b3;*/ + overflow: auto; + position: fixed; + height: auto; + top: 90px; + bottom: 0; + left: 0; + width: 280px; + z-index: 1500; + border-right:2px solid #CCCCCC; +} + +#content { + position: relative; + top: 90px; /* left: 240px;*/ + right: auto; /* bottom: 20px; */ + margin: 0px 0px 0px 280px; + width: auto; + height: inherit; + padding-left: 5px; + padding-right: 30px; + color: #000000; + /*border-left: 2px solid #cccccc; overflow :scroll;*/ + z-index: 1000; + + max-width: 70em; + min-width:800px; +} + +#navheader { + position: fixed; + top: 65px; + right:4px; +} + +#content h1, #content h2 { color: #cc0000; } +.navfooter { bottom: 2%; } +.highlight { background-color: #c5d3c3; } +.highlightButton{ font-size: 0; } + +/* Show Hide TOC tree */ +.pointLeft { + background: url("../images/showHideTreeIcons.png") 0 0 no-repeat; + height: 28px; + width: 15px; + display: block; + font-size: 0; + cursor: pointer; +} +.pointRight { + background: url("../images/showHideTreeIcons.png") -15px 0 no-repeat; + height: 28px; + display: block; + font-size: 0; + cursor: pointer; +} + +/* Search results Styling */ +.searchExpression { + color: #0050A0; + background-color: #EBEFF8; + font-size: 12pt; +} +.searchresult li a { + text-decoration: none; + color: #0050A0; +} +.searchresult li { + color: #0050A0; +} +.shortdesclink { + color: gray; + font-size: 9pt; +} +.searchText { + border: #BFCEE9 solid 1pt; + width: 11em +} +.searchButton { + margin-left: 3px; + background: #EBEFF8; + color: #0050A0; + border: #BFCEE9 solid 1pt; + font-weight: bold; + font-size: 10pt +} + +.title, div.toc>p{ + font-weight: bold; + } \ No newline at end of file diff --git a/doc/help/xslt/webhelp/template/common/images/header-bg.gif b/doc/help/xslt/webhelp/template/common/images/header-bg.gif new file mode 100755 index 0000000000000000000000000000000000000000..f9efa280225828f2ccfc6c051ffcb6d668967dc6 GIT binary patch literal 619 zcmZ?wbhEHb6k$kVxXQrr_wV2D-@pI*_51thH{ZT}d;j6X&tJdZzI*rO%a`B3e}Dh+ z?_@ZZ0GpFe+j^Y-nB4GQky?|**%@Z-z7FI5Wv|Nm#8B~bjy0ybU;M1uU}!1n(@e}RXNnDU7wMLU;R z%)gK^#d&Si`s=-Ar{9+8KG;xUvu?)u7bR8)^LF3QpHSns{yO`QJ$3uP|M=g~*eKi5 z+ScAK)z#h8+v_%A0^{TRT6o;hpwoH;@B=L;=bykzOp=_^*StzNTs-8zPin>KIR z!n=LP&Rx4C_U_w%;6TUW!;;62pE!AP;+eDOoR}_Nx_srzvg_C9-nzwp_ul;n4_F^R zdHU=b_sdtW-@J)?|DNO1=PzHsvi$h@>-TT2fBzYn*+QHrBy4SF*Vl+Su_4h}O+fM5 zEQ^VaN4q7A(|C?eT)d!P!MRJtZPSEJlhx%{#GKre>g{fjXgAw)^RlyPe8tanPJHH> z*)iY#A?Mwur5P7%=6t{_Ev$x8UUy{IJ*D< literal 0 HcmV?d00001 diff --git a/doc/help/xslt/webhelp/template/common/images/highlight-blue.gif b/doc/help/xslt/webhelp/template/common/images/highlight-blue.gif new file mode 100644 index 0000000000000000000000000000000000000000..4fdabde69252ba43e8b658c74a72775caaf304f4 GIT binary patch literal 471 zcmZ?wbhEHb)L_tNI3mh0b>*rn_bz?>^5NvQ+|z#z(?15yRD zlY#Yrf@+_NCr7*Rnu7}!QgzNx-55}@F4$S|f`i~ggBz0NjqwI*2{Q9{vnE;=IjrB+ zDCD7$u;0?zfI%<#i1GTJdsHRM1Uh5*=AKsEeQ?SYjaMqdjg0|KjY4kRs^-=Wtu3wX zZqXd>y-od16RmlavwB*EXSDg-v-nSI_Fpi|n$>jqfB1PxT?^`t?fQfg*PWROT z?4=7Bj-NPj$bb8e1?SIiu}ay0;o4&VD^suExnz0EZN;6_?hnqjm6bhlW2}3)ao5bl z&nzEpx@W<5 literal 0 HcmV?d00001 diff --git a/doc/help/xslt/webhelp/template/common/images/highlight-yellow.gif b/doc/help/xslt/webhelp/template/common/images/highlight-yellow.gif new file mode 100644 index 0000000000000000000000000000000000000000..3e847e7e01623b08e9a7e7d823fcb97104e76194 GIT binary patch literal 331 zcmV-R0kr-{Nk%w1VJrYF0HOc@`{bSf|Nr^cZTH48_|8oJ^wtd=`2yXqN@dAW)FA{*9 z0^lo>f-$0TSwVV~Os3NTjY>HMo^?sUEofV-pivzGA!zUjgNA5FQ#EN!ZcP>Pwa!Lg z*&TUsLwr0%X>V dfG2i6;P)aBqN^Dbjd|Rq0Yr!k5L_hy06YHIk5T{t literal 0 HcmV?d00001 diff --git a/doc/help/xslt/webhelp/template/common/images/loading.gif b/doc/help/xslt/webhelp/template/common/images/loading.gif new file mode 100755 index 0000000000000000000000000000000000000000..6a56815b224f865a176ee02259209bbe734a7c66 GIT binary patch literal 729 zcmZ?wbhEHb6krfw*v!vRRaN!<`}eM{u04D9OrAXX?AfzTO-;|9J-c`B-kLRQjvhVw z?%liDvuAJFvSsn&#sB~RSNzZI=Nc01>=@u`q-Vg)$iTp$_>+Z`gMptx2gn8*D!{ui!K?FQ=} zH?Xd{pt$&AAhW_8|9KxoF0L)FVBuPK^2Fx|Eyj5b!A2T$_)fYrI-Fn;YEaSX(VW82 zk<8BB^ zyg~ZU!^v%pW2>hJf)$GceOB@lW%IqbM+#%`yV*4 zSpoDBFs3Ycm>47vZsmyO|lq3pQPK+9JJ1v_kOAB<7PPOi?B$_+<{i4+h5@D_X*USQo*^ zaDpSuK*RrF;UPy+wgi?0O$Mhka~zylKP%{ViMg8^3Tnt4Ind5xl01vC$yt$sYs%r1 o3nDTyF1RxtpYS1rRbWl(0YARY!rMM@@~&Y>OFO^ag@M5u0Ak7h$N&HU literal 0 HcmV?d00001 diff --git a/doc/help/xslt/webhelp/template/common/images/logo.png b/doc/help/xslt/webhelp/template/common/images/logo.png new file mode 100755 index 0000000000000000000000000000000000000000..b111258c0ca80f948528d9fe96d1288b257c5a1d GIT binary patch literal 35061 zcmXt92RN5)yjCbPTSm5!y|PDSZ<3Y0_lWHAWh6U$6Os_JH`!#9tn8h=H|OV^>wMSM zr%U?xzR&wS_wQbBh>DUlCK?GE0s;c2tc-*jeC>u`|Dim9|0}(s%Y-jT7GjEG2neN7 z=vPL_2ndu2vJztI?rB@;ZfWXcGq-bY|CA<^w;S2aj5dDw<7I}d69 z!+s|-<#RfBsIYC*)Z_x7Xu!n3=OYpMo`VBfKw?^D;4_Fve+mKmO#x64qDK z(L7&%k%D43@z>(^5yBPzU|AQXgX^))>8U@s=Mqz4}f*`IPq zZTk1cL~Im`^M$S+qLqE!#f6_j27iAzLbv1c&-b&MiOu_gGn=;eRZv2|ZTdDJ`F+js zdc=v#iB{!T*K$5^xhuLH?ahL~C`Rl#GqRaM%Ig%alz{xga5|4v`*{D~9HKq~vj5Jk z;EoTKjcEcoGK&Ati?K~lk*npLX$kE(gx_dmpYzE57PFF;1MeMZozCiP-WD79R0saX z`b_v+)os?d>lWh|dH8<_WqlW?e+0&D_1tED3NpqSRnHy-o3%+tv7_B*Fik$4^=w`} z)O&No`AI5AMY(3T>C%3%k0kK^JtX(bF@l3mz3Jj7GI-e|rZYaL=~$2Y2ObccikTnQ z4ca<1-`+Ih#*n>WvivaTJsNQumBNlDd(vEOv!tQnySIb;6O;14n+vAIrW7t8Tz^VR z6tu`4!M@&-=8GihlLSNtZNpK(7*5if5bQWilS#7RKc_%F|?sE z3?XVxzDAmAriUogi&ShSDG|ryW8?cv<#P-qb8hbH_b`R2QAVuC-qswgvdD>L zp<~EwD{2}v&(fcp%EnyXN@Tihd`EVWw4oV2meZ37{F8RLNHa(%6T^V{dC)5HYgF=4 zfmjh219C1;Tb%d8o06tUu07p2+Wg#n)hEdb@7zAB*&qZGy<860o37G)^krW*M%_Sf zCE~f1E;&*7hraIL1{A_^6n&ETPd9!R&x}wyk2Kzh6=^8T5Zx%fmJMRKNL9vtDmztg z7Hs>6h%levp9-?Sv5LztyLV&pBALsWBMr`@goPXuekU(PF_b9|RHW-A1#n13wWmpN zj5CNWN&DB^x4HzUrUM2gW#f2?_0~r6D{Aj~V&o5pxbggXjzrqUbp8cPqxgvAdEGFg z+0(A4`s1TxH0NH^b1x_wE9FL>jV(PK`O-74KFR7}p(N3us)p0Y>ExFzHC z4!Y${o1IL>4rhLTH6@o?GaRZh-enAOVvA`?c~_lbC9Z5qytf_o4mFM6va0l-Bt1d= zplv6{K0IM#c&;P5Yzx#4Ica&pDaGifulm}K92UF5pyU*}zidZ61BpZBj+Ub=2?;N`{^JoON=-J zp}faWqH+WlwDBiIGgT34QcUgZ@*?KcFzX ze@tp=jE#eY{C2(?ufSPtIwWS@fh*{K5Odlml}F1o^Cvaf_-NeL$34dhPet|0!Wk~G zkqFQ__D`3F@pYSJj1iB{TZEcm;MgW}Iuo{QExs{o7ZDpB;16_Qx#f zH6-@@G%+wR#6&!38D4xMKpg#NgN6uKG;Arfvh;pOweb13v6PY?aTHdh`@dejX3%oW zbu17_PfHXpy7_fU?}xAA6O_P~r<$=>h+$Cd_jy}gZY&>F426(18}r;cozG|<^*-a+ zcxAuSMLeV3o?FMW3j+iffwug&d!SqwnAHUc3#|jaU;vIY9h+}D*jQ&!viSo%d z2^TT<(ih3hCG941;uC4%G+!;(FV#1nzLY=nC7O_I-hFe+>sYrgqB;Cb( zYFMkcJ#)1bq?xhxPEh2&iUN_K(QH_+!Nq0xq4_#uYrerA`VA8$3Zk?P$5|?~ynFjk zer)Vn-_7mn#|BOAPL#q2sPccWPv-^;OPVg?y_+9m=J8Ra@p#YWp3U7ue0XT!xVoR- zsb^}6L=fMBau)R|hV~$eKGVi)FFLry*;Ci7;Js}mMNs5v=IF+k`ufWXwQF?WmS#MB zG-SuLhj>WHyfe;Tf8(@AMYT)4I|?Wh*Ahjp{SEf!9uPOro}AIDGT?{z^ccNW?Jtc-I{@x{EnnotWH%PSPL+<#48JARJSAM8dBsuK*zaPX+S z$v7C}Lp2S2js-QRl>fRV8v7Vr;R|Na$}=cYOmF1Hj@U2SjLq<6j5S<*UN_A>t)<>&WpQ4YIz$x8M4OnCoN(~WVX{jper zRe{YOd7q%SM6MKRw&ps4U4m;EMt~o`LYm0O?2nBlQ6j+sCS8$6)zelsb{#8ksbq0i z2ng0)1ZY)hMMTJBdn6PTFi=rZ1A~KOGcs?CwWy{i@} zI#_hAjVrFPD*qbs$t;AcG|atG-&9*FhrhD(M8f-GBQGv7(RnT1EyGp77j1&f*JM33 z6s@43fG;gk+D-HEwGzEZX4LGg{vsakxBTMHrTtGyNiv#lymg+0)Khc{&8-HQTP3;46PuTaZ<=0NoTSg3`#m&s!0_L{2Is;0l~vKd z-ZT7bN|=K2s4W{m|BV$sV`E#(3MRkkbb)`+ZPp{WqN0LJyerwiZDIcBd&Ic7I2AoT z#i%hkStkyiBEkr%0NV5Ij3WUu@~GfH34|AEN(0Fv=~%N~Sd}^v!(*3R4;=$sRc=o6Z>_1Td>-l-leY}j*QLdKi`w6 zJUdNP7PuW>i{fiR*{gW$P(AIjT{&KJ{O3)`$B%qwDX<{+jmH|Zez!h5wQCupN^Kh- zI*g5a{}gRaG^Oj+yW$X#MNF?yd$pqoOid4OxJ=mcP*c+kTXIWCOPf^cs1}Y*czSJY z?5tY)iU_1fuCH5G=&&3gAA>yjA{#rj;evvOyiJIn`}Aphd%MbO?VdAKyiaDyR-<2| zQ&W5QjM@g0DBIT#ODzU7{ww||%5!mXvHtJh;xDF>t4_DV!a^%cOG*)ujD@z~OxLL@ zyXnrG>&x2Pn@i=F_FdD;7VM70l3~S+zN`6b653_okQVZy3t+wXjz*QsZ70i0gqRo^ z7h~jEv%Y`F5X1f$7IrCXc|qk^KVv)BlpfEdx%jqry;LV8H1cb4RYG5%!pZJ*@aP6D zD{JJ*i7Q;o$I#I1>gvRnfQL(td_ShQ6;gR34i4VN#Kip2DVo@JHP!AkBBP%Co+!~0gKqPuI9deuTt+@DWWo0}p zJ}xdUd}<(4r2kwXJmrJK!`goZg?FOI9iE30lU}{sZl`&9sr&xo=%-YSvcS1UB%~n! zdh#22^^^5s#ZA$Py;?@Y-iRkZxJ6zKS#mcV4hV*m2_}TGH4%wn@11*p*DCcF+^Inf zZWDupHYjq*oT%qInM|`RZFqjLa`)p}c0AOrZB{lmZ3~X<=381H^c?Tm6&3M4d6b=< z!|%P0J^EGgCH}Rmh-YI)V7mk}Av%q8ME18IpDK=AbW&1@1$~8NLqaUMN#NGa%*<-^ zSmCZdnGpx6$%>2Lf6z!?q#V0cla;k-95c5}5RTJCXZ zZp%aZ*ub0PO_i-!&M>>>5G9>*hJu9!JzLWmb-8(eHawPqhgc)Of4Ao*>i=>c6z=Md zrkQN^6D?^t_~llz9+Db}K~j{0&Q?zpr1o6y^($?Q&8>Apnrs?%1Op4pD-)*<0?oal zmsn1R{k%Ejo5`GJXnq%?nOe1PpJp?}z@CSbD`jrJN-W5ErP5v27xPs9+xPEZN=l+W z?m5!RQa^i!n%En(eyFOg9U@iqwWug!Z_n|oQo5Xr0>*uIrxDuL)>fI1QS<@=DcI?e z@OQ$cXi6Gy1o-*+YlO*L`^>$wWlUb-MdRSaB_xdep6H&ZdT9xVNPsbPb=BP1*jS}- z47Mq)YWw#7kAE|6`QN{r{_c+M>+XLlB61@=?)Ac9baeEksVS{LrHY0|XB(DiUo?%h zBj1yT^VQV9Z+lrPs;VB$rSdz|Ddoj(mNaL;?h2@$^$g>k^Nzjy+7^tpwC@f_f9r2; z?B#BA=Hj9;onnfFlF}o#<||J45vIz@O7DXn`t@Va27NZVSk(W%ePb{-F{wQok*{4z zcyqQUdfOw<)+k|R^-QNI;qPBvsR)u|A8QY^mNOlNx~He-?sBhgPMgGcHew-W)t-0Wu^WYH>NO~KNMTLbeeGkEtRZwXEHa==o z&E?uhG^i=7jjn=i z<>feg6#H>oGRx;qDF)}fJE6UIM`t`$Rabv>7!~})jEsVU zKF!Zz3X@|A3k$;{si~=T|N3?RDtr5Np@!4(m?j=BuDGHiW(;kXI%9ru@oIJ$tMTTa zBBBT>m}MNP{oLH#jw|t+#yqJWTcuqeqoU}UnZqk>#yK5kg*wBD@zN;axFjji>9RhS z%f-!AleM#Bd93eFRj64)_w;Gd@87?7wR`cdog$f>U(3ZSqq^H_OdIvEM5de;9!h1@ zcsl&8iAH?*2;s9jqsLy$!*iY2m*WI1D6K!gKZNJrm&_G>yg5EPKHgQo+tfRfD<6QH zJScjb)}P878ykBl%;a%F)ypZ3j;7V@D-2L$`BMDHq-|dkKVG9!uv`%xi*Pz%i@3PB zO1`>;lq5_Fc~c1_6RD`xSY;6-fFrFUjoGX5W+YhSj~enYNYnN7zT|yXGcZtgH>I_X z_>kQyj**qs-rfO=`SYac%^d+FdLFv9(57AI@{BA!9fMc^KUXb;5=BB%a(H-B)<=&l zo`3+BWWKD+yhhaY%z=t?nGTfgVXoQT|iLq4ipf~ z%ah-2{-Hv-pCc7vyf%>jO`TEg)higNTQl{EKYsj}_exJsr=_Roa^EvVC@U|&*W{E| ztXH1^$aepx$MZ5VbpH{q@Q8 z`Sje)gEJ45#NOjdXD7EK?@t*opT1_XDP&(|`sI9IY6-p;%mzgsRmWubjV zpEb8y;Wmb6OiON>`XMcbp9>4ae*9p6J0O5wJsmM?Xn3&P^D$e-OcJ?jRzD>*C5g`p zR}vYyy|e3;p0=!;8!urPvb>iddG(t;ccHSuHJazo2_mH00E~!4y!psW6650Vaq)1m zk?z4$VCa>QkQ%WmrwXISd;4~x>K#+SLrif8_9639M_SR$D2)<2A)&N{1VSNlES}T| zkHgh06~^K0F8XiL4%-=-{5+FS3GJ$ZdkVuQw9*Kxn(D|#q}@5x|qugP$>_6aJYA4>%VDwQZgPUmrG5}88Z+W8C$iRl0t&;>({R{(`}u_#YF&O406uEi6kP? zlI-yu)%+jFCor?}i%PnNr{$fTI6MRHWe!T8>@8d^tt5J!rn~ujzj*tWb7f@(4tjCj zBHHZjJmOnAg|o@2eU}$mDvnDLyctKS451a3mC;E_?o+?^J%ogAx|asW-aT(b{#>`k z8#Y(7ee!0ILe#2Zq3dHQV3M7koqOZ#?saj$`DM#WhAa>kZxIUEzj5*L!_(99a4-Pp zk2n8BCq#=mo6wXxIl(sHauu}N*!b?gglRsQ+%})}GWu!A`cK9c7l92o0quHM7P;J* zj~`J|Qd5E2XB8D;{@2;rX?X70NS-$uqLy#^>vujJyy*0FMQa_B{r&xlH_SvYUs~DO z+&u%!cLF@#7tb&;F-qEp6wU*d+z02K5xTw|1mUEj8K;^>)I!w$DgUgGJcaM5QeJ&( z{cdgWVm5U_VFB>QmK-biB>j>^Ab>6cWFP{>u-DzlBmn0+Iy#d2&8McPqs@pL z^`mHI;o*K&NESCUdwRG2W@f7D0KrlZ;OF`>MKdu;d4Bj@x{`bEi2;t4YB8huztGSi z>`h=XhUdGI2|CbNwx)l7ObmSAGo2&CV;|%Ar{cL{b@HtkkiuH}h z8KPS;LS~FTYgk^?w=z8i8ih}(sNS#iCO-5Cr4U#sC@gFi9#;OZ`x}G!%a_r#AvHC8 zt!-_nn3$4}KP`R~p#XXH;ll#~0f9Zw#xyP;0sHFIgAuh1-&JCApCeUZLf?5vyGTfq z_-zP5elXYW2*7st2*w(n8I!E<5SNujg+E1D-`y3>-+n+B)3)%rEZhHAC>ju|XZiW2 zrl#1CBe}S6Gv>zF0L?il3;enqt^h7@>3_z zLxj~X_$9a6m)ut4w8Xc2b(rjSbKWPsD^yliM#O6m2ppXjBMwYjApH?gt)suXu-dR| zbUk~X+Rjx)2z#B(A9^~~>$XcsJD)7~SXS!j`uHe_T-pk;K2~OZ(8Cyy|gk(#A##m%rpQv`AKt@Ie%?WTsB=<<3kz-D z7i>~ec?So!>KRv3{ixuopSxg$nBJVPId312mpgYoLPJNNthd0*lA-|?Pe1%Dlp6Su z$<^6DkWO}(doVp|Mm?fZ&VhTuAZLW69JcxA$at6tGw6|c7C=L zl?)mLmIVH(1=o6~`We_#@E-~~`b&ICPcN@Kc&@5SfK>tfc*eqF))h(Cm&PBPolOl} z6F$+!#RaL~695Dx_}y_QB@GkL`kbGST0MPD);XHr*~q^4n6uA{SNJw+Ei<|KOuW(2 zfA;$FqlYrGcEZa0qcY}l`xyaykSwu8!}l;qdBW*4y<^~mei|~K$d=dKEc%TZNfe9E@5cK9Cb56Nbq5iNoV9hq?bYlbDS2luouWUYPR7RF zU?KIgHXe~qPc1mY21T4tEC@OaXyQ*FphPShv%WUA4GU7uk-Bp^U|+zrD$)qkDFR0J zq;M>B()KGz*QzQWPA;xz%*?c)9)^ZgKvz5ncn?Mid^f+S=qWX|Kd4wad3jkGnV$=e z*koji0A-Vtlfa2#%lc1me}&0c(=Cv$q(B#|qN5{cZce9Dbn?a1=XGB8-v4(2UiaCc zT92CfO~@g*I!yh;T3FjVA>{uF0S?W99P{Y4}r~Gu^jlFJpz)OSy`yHM( zcx$i^L@w58KxV=kZVg)7A1s%dxx9Oa^O!)Y>H@6lHW!NnW3FGV8ui0uiaM3Kn`^AY{^ z>(}3&lc>E?!$x`!Oc8vR)gSDxI}`8Kita>NQc_Zh-9xYo`R8M^)ySe2ziAYLuY`7E z&P@^!Y6y;#gand#IdMP>c10u#DykSZ5;qAZ4$QC|^>n3R@vIj)!;~oZhlht@CuL`6 zvlC&!Z-9rwZ@_%b8MgEnlz?$Z67e8iNgA9RGzd(@Ifm%OU0jZ2U9jd0Lt90Cp3$;a zR9Bo;*-vO>-QSbbPpll&a72@wvl5e(M0We@^bnLcvtHdD9zIyP$z~XtogG-q^cy%> z>8;%?u1{h&y1&#JAxKl_!i1fq^z?)p0oFo`nGj)Q zWCXCX;|U?5?h06QT^Yh&-2(%wT0X*Nxw)oML@nXYgP4Dqn3*xO6DChP9{(O2LuN6B z^!FJvgJFVPM@9atWS)174;nLIQ>rr(IIs0DvH9I_CF=R|n{-B+T~Ad$5%Ep}*Akq3 zmZG9S%gXl7c1l@Xw&o)cZ^YeYTWb-ap)#_vR1$?NFjHw6IS=NhJTK^568|jvOuM=# zT5$MW*ksIIB?^C0Vf|^=wqsg&29ZrxvY9bzYu#2(VJp04Ry*8Sq{t7_mfL%*2Ey ziw^JW3tu4T_=JSGpm7;Om)BM}%%-^ieAnxJt*L)rbk*(0sT5ara(cW!)QDx5Z&~bt z@WScXY+R_(Xz2qc?~HGo)&d6E=IPE%FCv!EUJ-5(EH%03I@QVUoS)SC8QtB%xILW@ zfE!sINRuBB%O>2(iqg{P z$jC>bp`kEx=>!~+%BQ!%g#@1(BKmt`KWC?VuYkZD?$lqS{XDrFg_gFqrnfiO4M&S% zTYsCJ#JSh8=4p21g73b6{-k`;FPsjn{&IjY z0T84{w-`czajM&HoD(v>|AqR^@8uKaUc7^%r%z%BL{h=+K(f_f(o0VV|3U&{ z6{>py!!jVO#`XP#EtHd6dvDJkLeK>M-(P#)-69=HKnmy8{x+j(JPL}a@fB(wffR64 z@vJ#CF>h}nsaRAm2ew=HeMwqb4Mh+X?nhX5fNbRcrmIsJxqi--f$6f&+}&K4gt%PPQ0wR%{TS{28rZXGYW7eYyMtM%?;+z{9^^P8%0FyXgIN9`bi@Y<;j2F|`4 zKE#0l`qD@hrx*NhpNEgwZOXA{%ZJpvW<_KodY*B8Yvh$;}OdaSK+r*U46kDUUO)C`F}I+Yr@D24;rO`EY7Z zT<`Wa=ri_I1t6-i!p0IR0$hfLx$2DPU{+1kd+|mnDynO|=HO-uV~-8_@`d(h?Rc`H%<}5$$jppl=4j7Cz{Aq%ZQobPO(M%b9~oCqqYhjC5Paedp5W1Kd;RHP6kA94 z{cs!{p@XYeOBwE-lLQ6A)29>Ck4VhPd`{LO;qFQ1GiL$gzWMfg_s+oI7|r9d`NRAG zlO#|nug$*tm4U&aMW)YP?h^uD?37K3@HRI>&0l*oG&BZgM)5e>&dhg&(F+Sim=Elm zw|PF8n+*@o4&1r-Acu0w3PM3Qo@~!4JHNsMBvs(sWRCNHVQtMQkj~2BgDZ&x{*zqp zUAh437_uu+kr1!K-~rxTQCY$%{h@;aCwuJ-3CB!Yt%O2FhB7dw~_;Gyhc_7nv8 zJu%9sED(cm_PKR^Tq`BXlU)4Y%9HzNU1ni^eJQ*HCxmH<9I)<`nJ&QDn{QL(VP z){e8)^UvJ-Qw#+%2Ol3fA~ye>TZ3a+h=bHJ_)S_G1Wu@0KCLiK07MaIXLr_SK3ZU_ zIs<-SP>|C?iLa!VCBuW9=#dy)G<3A9P`UbaSY)s~x=2VNbE9Kq3|)@H2jK5oFEzP~ zGM!Ai4!Ya00EmXi#)2BF69KYDMn+Yi#RJ+1*;gCP;XRhNkw?z~D|mf4r@gb2bJeT1 z=*B|qQHtI(m0#WVvT=X6BM5sJ3yZbB4`&cd8Ubf(zTS2K0~lQG`F(eA9OLEgL~){l zFF%vU_d7)>TIUbP$F-hcN9CslDUTz={KKMQOBn?PT56%R-*NaL5hi{ZA%Z(D<-qoj0V88~cQ>V5Cx*Vqxfw{BmXgQJp9{)jU{zphfWUAU z%J@9eyY2e$`O3WJXOK>);JiC)5p{Dus!xZo5f~YG#P0W3k72Zds+`$<$l4oD&KsGO zL<9(wUr->PGYk)uLWtAM)I1v1mz^$aWXjE&x@+=4Pk9VhzmR-KL1h)E< zn&z#^3@nTez`ymUTVSAF8+qyG9eB>rWz`#p8<)Z^ljHGO390kn0i+&MsQ{`H-< z1K<00S@3P(ou~((O6-;V))P3o(GE+s0Z&b=O&lbkyE~s!9-fUd77RI=m_Ufd+1R2$ zlo)X)TUuKiFLy@=Cif$NdR5WTmW2ogLIv=ykOg@m_W)(V<9EXk>7Mb_(Z-Qrx^G+i zqA^I6whvf&*$rtQE<9l@g4^}&xAiA8xzNy|4}p}S)KUTWs(U3pJosVOtb{dsfvvB~ zPWQ(TFLG;UxBjAR?lz|&|HgpvKbe=yKQ`@~7Kqb#@}kKxEw`SNU`pleS4f~RvoM)# z#5}#@Pb4J2V8ez$665xV+1SMRTS0N>hKq5j)|GT|S=l^-GepwUb@4|>E)aVH_fU(8 z-FI*7j%k07_;4NK^#swYdnM!Y9@@mi92{SAa~B|v-kRMWf7#yk3X(#GP#_rda#$D> zr7#BkztSW2dHMN?5{3o+uHeqltqRxXvUotBAXY+un&y0FdhPk)5rvY?f7&JAzI`q! zfu@0?voqK8%1W>oR{K)B0$T#^2v&Ak%%cB&iA=Vd^5?v~cyJF;Ik^7QouBWb#e8&p z3??&CMXsEZ;>uxvYLD<*nqRLWNgf`(J$m+FugR&%k(1M_m2HFqQC+{yUfvnc(fEMi zN1SOJHte9&-C@?>srZeJ4KaMl-`4Ng!+ZOA=M==nTTch7>+4g4&>zRd#^Q0C$}1}7 z<}{|;rSjkq6G%ej;B;@WIRefp*huORU85#y_?r3D^V{t!??^O=u7M_zY!hP@#`r*K z36FrX1?R(%iuvm5!RGm)2RJCD_LJi3F5Ga_U|YPW1VFNMuxWcj zDD~hOw% zkmC?d);2aCU>&;eHlCiX=R^?+dmgzBXeOAEdo7}V7Z&E`eI6a1+%p+V zAIoovolwOCNc{{m$>L3s1}OAes9VT_0QJP!nQP93h50;Yz2PhXUh|i{Jd^6_Qk^33 zc0Q};clY<3UDIc>Q_(+sX~{sGpU+JWvx4enl8BE$H|HhRlb<7hKD60)P0kHI_By4O z#U+WLvn0<C+2Mb2>P`a8QAQL6QtP31pzZ! z6#t9Kb3jJo6mJ;ZIRZ`HmQs^0J|O2wTo#W49$>cO^HpnVYLPg0!~Pjk=`#;ln_Qub2o9u{)`OIDoL6>rSRUn_vfemuub{7 z5C7COkS2w}e#w$?Jn)>9@k_Of;ObR1-}HX3b>8@)#g~$)tfz>%M5nNK`EFvny`!Do z;}^bhP7WaF$Lw{t11qbn+}h-d3T`^36bUddpxp#s0Z<>f0>H!UrmTB8!yjK2KINqL zUv8K1wB<2ItP)qf7hR#2-@bW#;X$tr=mTVB|J)m9KSaVWPd?(@8CacP>Ha*t&j(@5 zo$X;=nLWAz1{2kD7R;~?aT%G9bN6fWf@4P1it7&K3T$kiF)$0!7%ATBQK6t^oMl?9 zCAYO6ggwH4ULYa6*rzYGnMeX#XKx{x;w_k58JztFHwTY-?EiK{?ZF)y66d3tH%I9Q z6o8S`+S=VaD4nbFDI-JatsI&W4vs>G z5ZEOD^_%BFy+SPDp-K7VkBVv&^!C)ykZ_DuE^a1tZHTWvex6$qFB!$bBMr+bi2|v~ zOenvngIc6PT7kvH$|{vNn#D`>Ng{gEdCjtb$5RrjT*L;P+_pNw!f31-FuF|7#UHxQgQZn zKfd~^fSMAJB>r+3nbv#k`ExLo0Byvay?|8ruE5|%zMha&g&l{BLm&xx-K#vMT(CSM z2b5O((&aTZ9|H#fpXaU}B4J94azCOglEZS(5Mr{kZ3jPjRasOM>8Q?k{-!&kcm`9H zNZ6+Lf^>qcw>y=|`Rei zztusN4#KM@1V;>{T;_ex+B(vdz$hlXx)_%!QviYlaq8AoW2z4*QZT*z#l>_y1%e+v zp@ax8Fc9exIo}HnR~|XB&vP4JfIbDx%(yq`!%^J$_m7&6?t@801biC6uM^*szzE`{ z>c0`8;wVXw<`)=pO9zQV3nyQl5yoA2cOTf`oFHw$h}a9ER>i@=AQ4Kcs}q1@8y%OX z@cK0YnSpmph4TQF0MA__2sOC%Xqs>$4u4p$?40ZY%QrWF&q9AmB#0s8ioZaX(JLXdqVWJ}F$+OCFXSH)0k`L5q6@QwE@9~z(3G&Fb31MuHW z2EZ_OaaGe*4;Mo~!_=Apt0K(CLN!Qc$(< zvY?mBiH22uz{>M)V*>yjX}ej7TzM$l9RZ@zqmz?6!!Ki|p5J?q(y#7Re@ak*&vlFF zPX;+O9EE3QVA8_uxu$wKJ@w=Cgf@ZYO(%4GnxfBlc6L_T{Lazwnk?{t`Xv%5<&ARqZfSXE zcTeKckIW8>sTxs%@}Xj3i6|RUJHVnissE{=iT9WyN*Vv$_||tyM@I&&J!$OQn8L4~ ztekQ#cYOS(A?)SJ;O&4_2s&3L#-+fqSspX zZ5kj>QaLzL<9CUD^ZB*|9KVX{>cc{Gw&mD&n>AZyyTAR7W?U4TX5-kWY?t(f*SLIjBVZ^3LcC` zjj+*$7kK1K&CkcLr;0eXE!}e(TMIn*YfLx`sgAV3Z9a2Z_HIE3r73w17iP1SX{xlnO3Sck|}EaZF_wHPHzT%cqHX zY>Beoo2d7pa&-RNgyuxP(Pfn#(4n7$4j3|%|IMq)7miVf8V}uvyotkNM|aksG8A;i zr<8=wH%ywi6py80NdSZH;15(B@T=^~Tx3|Ck6X5;pU3UHu2@>KZylD-kRV=)<5e$- z`9y{gnpDHkXGDjj)bc$|O4sLj>^rVmCcR8u8bqmxcTH_$UdVPDguZwi;tHFfP~}(7i3KsNw`Z29YZ?mxx7O znbYspm)@$Ut=oU+CDL-g35v2JNYO%w$9H$7W7~i7GmYPw&-2KV{kN%`o7<4R^;Ct` zO&HUy{1rCDBwY6i>x=B{fD%B+2>x;)a&|c1<>htg?Sjhznr0U_3w) z``p-gZ9^~T<0A~Vaa!6Fb@0$(ElC98^rovX-;o6c!4L;hwWO(ka{B7Eb_mEeE^LEd z>vAA!`>%NV2hoDWTkNpr$ewMU*|u4v-bx>vCAM*eyswdg`1~~0{3`J!HqwVj^`~}pyZA3#rAULKIYTjq z@6XUr$g3^OwTQSpx#3LT<+U^Qu32N&0k|b#l9heH%&DtO8Hjw;++uFc_zn{jJk;NL zAK8vG{bR>X@4;IxSRyxjHIwD$xAK*5&wm9(MvC? z6_fyA6s-2Ac0mdZRa{Zo^IKL3VyK>RL{n*N6CHV8=&^zTiGTf?`}y->GL%*oz1KnD zpTHP_A_I~b-?KWjGY?!yUmP49_IRNw!z^2K-+T|)UBVxY5iYKcf9r4@hi7KCn=y{& z#elX2fKc8%j!8?Bfi4FrkFDXKzT`RFr`MtnTNuL7h+iA63^z~S+D}jX{yT9x66&XW zO|vtE+6skh2rmB=y$Ob97B6oiw1xTByJm)lezpdoUz7XZYuIZ=*Y)1-Xn-=oEn%sL zA0tLmXgl)#MypDlM{8^4&;d!gPY!DC34+*9$g)O8{0G-wCV*F(y}q?2fgSj{q$ea6 z@yf@@%3o9EH4hIV$a*`)e%VuB=#V&R6SoCFGTTYx*Rrd+ z4MkmSKAgOjO)zb~ESg#SRK4@}!d|)hSo$$UGeCtpvTUvT^5LpPB=6@ zP1-QJ(B5 z>+@pZ@1S5|(Q_JB6F^)BZOfrsvL;5`XKYM|yVR_YzYeMV`}dFNxhFSN=31}|z&(r3 zk-jq~q2+*fUz7WBe8R}=r0f=NAj5U@qjUUBGi~vskeK^FS1bQ~`TE5)NkPR5z~Q%p_t0UVcd?A;jv1rQKZvxR}q2L0yS~B@K9vGvJ|*U2Lr`5 zIAEZd^+wcdjf~PlyZCzUXx5_Yv}uxiMDXbg@&B;zGmI#|IC~+vZzwHHf%cHefBPfy zy?X@MXDB1GGLyERlcruJ<$~p-Ue`BC$%)Kjp|U^U7B{2R3tkQkTs90k&z-)WovMm} zw?IBzTzD=|&Zo*Sf9SE5DjehF6k>Ki_k_+wK>+|YIPj1vf_()osK55rKiFsU2bh_d z+N{f|5_^bw>f@V zR@sYmQ?q!+d-x(ELM>mbK-lDjnAFex7Hc=YTiG|}21@*RQC)X!GH7)RL!g|IL4LPV z%p=Pcxttt4SdLY`YZ4tZf}+`S zU3&VKwf$Yee}soE z)!CcftG&AcdRE!A{?jS?`s4F|>Wm%luP>89`2xF{bYA`8eCfKH<|NfgkgkBC&5gV8 zy?kJC(C>=Id2K-QvP6NGKeCTBO47=~!HX$DuKnH@x1!4gg0p%Jx0DsP8iJUQ9WjYX#ThsN4GTgtGmuc@>Py0@` zla7=*J%KHTFPI5m>Ami_@wu!4ps*5l4VR|yiMxgJo!`{pT7Wn$uJc;s9HSBw?O^lX zLGN6`YJxOly2wlh=B_-IEM08F$&^i=Uau2lvGnM~`0|gLS3q#9~<(kFI$rc$# zCtH)>bxQpu57%O4=x&c6qfn#C%b)E#_-dElVPNnkUek0z zUB&@kk=b!mWR;`E1-4RLzf?~7ooW6)JTmg_+-Xx+eC7rIU1P4G>;RGC z<(J8r;9UAO=ZF7fYTeZ$kN{YkNqp_%;F_1U~+;VVg6@bd# zGcza2m_fDm@IWf_F4`Yf#qbn9T%df6J={UyU31)kVW)I`5$MjSWg&WN!Ae+(AQzvc5h*H^Xtk6lY}fhj2| z-yAGI!)qJP0|N4AweCWZYFU)&a#YbWu+X%)A?zYNA6P^UP&CFiTms8jOfv^h9ab!3 z2y>kxl@E>un-2Oi5`5m|qScCfoct#fInj8X zZr$TVt>zC)S7!`@jCW}tJE|*4kCreDb-y!8bH~mgX71kBR8#Zc$0w6iB81A|-SgR+DVKJS`FHFIO~<#jPa>pf6ngPO0za|F z=cM(TaxU)IP?iW^Ld-Iy+0;5>*2@`dQ=0}{L1HrS?+XT6=FpZFG4uWuNq9-Z%WYRG zSIz0?g5m$^R_K%E15MrY0p%-(A~>yE1yGj4AS;ry;&5^$~H>Ln9D zsT;hXe`nJr6(CH0yP39KzY~#{Za4NV9|%CWEci`c{=>AK%uA+@U@@>+s>ece54{j%f2E}fy)b2X zDqJo5Q*AEYVdnL74=sO8qo$3ts6*E3lADvQ-mIihU%cggnS4yA1C4L)?Z19e1L=)$ ztcZ?_Ljv>JqqO)D(EJ`Tva+rs#iLLI&a_*1<|%O`Jb&G$r>6&h(dm^R9AoZ*2>Tjb z0_vpR;q4>X_2?NGBHB$xW5bplNdT$Sj;*e)F1H?MHazvei8Js0_||w)oVlF+akDWl z@Na%kZ^Lz5yxh`CW+T#d+o8=+!8}rCm)!7JNK~fJ`Sj^lqFQ(0*6DEsCy9?mxwiX|Dz0_?~A&N-zT= zT!t2*Dr^xXlr#J#-hw4j@vb`}eaY3G|F*lewW2oluoYpQ{=fj>&{6H8M`P-6w$1SK z4-N#Ke&d4C32=HxFiK|cxeJo7nio=s;ZVsIYZ9QN#`ms44GcIa8MdljpRq}~ph@3f zd~l#1KYmb(f{=+G+jQn{D%*)^y*Wz}5glwen7d-`FWmL6sjPIoxjF%~W20&JWB}X) z5|>LjRI@0aVExKb^<;TD3(Ia=0~zD}{A6>6i& zmvj?OVsGTbtCqK10;2Zd&zJuDOEmZm{ZuiXCMiPlq7QLmapJ1HeEn29QM!GHs8HSN zuS_2iQ3^Q)FJ7+;d>P-0t`8p$S1TmU9}(L64g=1TBdF`ZU#DEB4~r0J24Uxi-U9S7 zcM4XWzKWlpIM`gfyA@!hP$^K~`_==o1uH8p7jZJQqswy(#l{1J=f9a>F+;JX{K%nq zjJPhoeuYqxP9@BxS&lKIt8prupuGhalIx3b50_QlfZei?1_nqSlHNL1dOmC zFnfZ3A3kSXXF^0k^{hgknpAFu3@zSF$I`d{7wo}fX52L3+Hyui$jdyP$fM-8n>V^# zCcdc`RN?A4mpdB^(XtgfY#DcYqx$;oxH+-y<-d%@%aOaC40D-^`hI6?-}Gv*%e4EF znl8;@3@>LdhL3Yki9(}Lzph3&wSuhvbsc(X3n%F%GVH6CF`%YM~D ze0}&=r0L&Tk<91ltnN)tW#ljjwpSjQHmKtyt_8=($4MVl>&Jqg8JH!gzpzWXy1LG} zj6N^8BwN6|mV7tx*FLtg+Ju+nzZqLl)xk0y6cn_&v4NSLT6J^;n;M|S@b{OmU-4-t z0Fs002&|&O^T6)`7Ft$T7IpM*Ss51`KJeT3^e6(i08*t}qX!c-t<622JE5(wp%3z; zroyz+m(GV7Hrll)D$xyb% zYkYNa0`@G}3fE3R$tAb2Y-eMWbJT@LyTo}r0yRRWWo(QPti0fQp;Kc58V zGTr-OQpmopqocq}X5O3T037Xrk&%z;r>+klKB{SGwDD;fJvTRBlRGE%v6W8{+p=&| zPf;6KPE=|vE8XdGv+Qe-X2w&Jw`7bicnGI(*WB*(W-m9E z(=yR!L$A#zGqDuX0F7XW0TR|?#f!0T`TY5F7dIDbgyLIoQC7W1z-2cMwv;$jbu~Lq zr$~ewGQnf0w#f^KWC~X6wI2|B3Uv6d_4SZm5>`-a}uY3>p!W76nxqQ&P_br~VBICma7 zCbUjR9{y>Bv0~Bj{2HAW5e{ga&+p5)(Fl1uDQ-Q&jmQJI%V#!|2M0@gYVmg_xqDpSVg`&^m<(r^U)=>1JyBqC{hAYOIIg zh6aYIFam6t5QG|M1O=y%uXofnaiEBce99Dhjxp4wS_8fZg4|)s!#)I zddI-PgemdI<%klTi~-R@Whe@Lb36l|c(+@RID%GoJrU>`%|9ovFK#}T%+}w~Z{ESV zKCO6hvlbU8akiS}C*r=J-ZJXT23z7hAcm`5c+iw!CPEsWL8ann<#kyo3BIpEiHmPT z&r`v02KDCO$q_hU!WVbt=#z3(i&VSTU^*Y8CjeOBaPr$yF`M4dLn7Lm*|*Q1tE%ZL zGN*Z(z-?nr;1Uw*Zh00pb=iXXfASONL=5PDqLh}##LqMcpwudY+o4l3K( zMv4Z*7f^QK@|7Pr(dpFF($t`G>aYS^+#xFmPb1X9Q-lkrfEloqmbX3DRiKU&gs*#Gi{ZdXh%cxElSTb}=B9-L9VpP>cjroG zagoGeJ$P_`o*%Bca0XGWMRC(L-wTN&LYs+_wMRxb!e}{MJS^v0LZNx1bO}1mgpyXw zUt*t`e#tG!yvb52ID^T%(^CA96p9i|4zRf>(?3SY|2nz2i_rrj_@AJ0x&w_z`IXU$HQ3$~G<`1=Ei|wNzh)m^!`BZhpG;h-_%{h%P}PaGLy|6>BK`-!&Gk z5peGSJ8znk)0Zih1_}n&WQnZdZv@`lDTF^XW){wKY0Q(FLam$?0b26 zc~CM&L5-rM6y=D;o7N8yiOMV&?XIIZIXO9@uyNh9gruY}HjcQ3Ov8pa^!{RHiN~HOHeR;*lM-CKMiS}g8_xrs4NgFUr%q(f7+~! zH#)Je8O%KLVXdg8plsqjbVayaN8arv{5pCV`u+R&;ImF}@%9L9q)QtbQbHMpDgi(j z5*)XbxF9t;A4w7~7e?O8>}(nU6QO%Vu{Ub}hI@st`AuIzIK$$m(O14=o(yWhD}{ z+kNYQCqhOF&NXG6TylM|RJL*r3lYqoAi!hf;OJa)Qq|IuFbCla%ra5Vnxz)kb9FbU?Y^nrjR!kygO^8j zj~*9((er_8lHT3f?q%$P-M##{DLO95gv8`m? z0z_!Q!F>Y%?RkeRY`hqC5fj8| z{jyqGNs@sY%!%NX!$(I22xauzP+D3VP_}g3aSDtO)X!@ZYv$ZVP{!klqR#W6bvpS;`ZeJEs>!uKgw--4GOu z>BlrYAHx5VmBXLWLQ?@_C}Qb#WK>iHNsP~yde&$7&Ky2Vn6O=dBYAp$M9TH~gMMw_eohVEamQjkVDpzxBTyN)EfsIY34+3PR@5AH`{SSUd473Z8jpXwB5OL2MhZF zA}cEngeSGN$(A<<#2?x9LS>8Bhnj<6mjY8ls0On+fWpWT2jGuX<M7ovbchvaFsM&dtF}^NC0UY1B)o^Mo-|p1Iq-}$fPW}aD1x`9N4y1PohAOqIq+e{81S*F(bHsqL~f}KN~ zRTid8WcmufaOCKwOz|+MAm`6Mor-v~4J?=@fR=%El?k-k+i4CkGC}jgdVrH4Pe(#Y zNfhc18lt6^D0W&BbReQOcekZ;#%X&8v;&)|0sMn%3Dr142E}1wEW4`eVOT3orI)kD zrG9I37T*|A6of0RD`N`R6Re$@Lkk9z?h6~V)!5|swudcd+}SS~Nk~W}=@URw6TD=} zNz!J^zv5O8pff3zaSlSu&@Y8T#O*(eezF0BhExy<#H~8}OC%rKe!jUri(?k}J9WXZ zc_neNFL1NBN=12oHt2tx6UAZFwCchN_P&M>_o#g0A+o{oc-qo=LdQ~7UH!3-B%BDO zU=XTd8su2SMfa!4)8kndM^rn^hKjNX0BG%V^=J|I_v*qo`<(phk3a)*!oCFq=FV@` zb1!cu7Phsn<{*v92{kp{p5I;QXgPSWq6hpj^YQRVhTAv<0Slr;@S{X!+R?+d`B2?n zPOO0E-bS~V-@T%`rV1)T3Uo;(rtV~sT(!Pbu{1}RYff+lky2d|N06AZ)oEPSuVlSPOR^O zCl^OfgBW-Fcl-|*3zdM2tp0iYO zx-8s|;uW?t zPScBqCrO*7@f^pf|XYYM{P2V~{sKyVH7?t7I2Xha|;hsg-w6hcBm zkd27!geN@awB{uPPwES5Txzly{J2i&&&YtTqOXE8GtA^Uzjgw@LxfmdCr|N0e2*Dy zs(>V`;MNq5TLVM`n;=Rd-sSf4J+KC4O^x7-;@pw|E^QPT&9R>=|EX z`Y9xul9J2P7Wo5);8psJ{eQa3sr?p69P#h>ZT9^9e6X4Uesyqg05&2jOg$JGFnCEy zJA>ruKEp*hdc+T$*XbeEjXZNk$EKrkm+al>=va&o@kw#FnEKfGq`HQ-{L|Mo@K8R6K$V3B@%|15 za%{|j#Af3?)F>*Li$U}*r>BQ!9v3Y%gC#lIm!kY5hh%VA57eKFN4ta=A;G^l=bkSt zF5;NU$JgcPsnD%E3PN}oJnSyQ8UN{pNYTLacIE5)rJ_Gdl3EfvuDT)@A+2{ zF|yQiR**1{$YEY}!_FCoTejb+l5JRJ{jjv@m<;eE>+NlYC-{AOwec}YhN)aOvrSnb z6siCLi*7mL)&2SmKxP2Ng7Bd(a5@_2XQU-gYHDb33ULK27)#O-sT-<31v@Hz4kG)T zpskBpFm!onNiUfRH73WvTcPvAg=xt#nb^o902mp#6q3Zy$e|5o$9#t!Hy{f7FFINf zWWI3alp(U4o8Mqce{@YNEiEmm$T6K+guHavC{ar}y2hCBBV?vr;aesinOK(Z0w z?1zEqcJ|#joFt&zU;A2AlKL_GS~VxPHW{Q~%GpJl$k4^murSpwGtrYdXS(uML0H%3 z7tgQ(a#;AYZ_{d?G|cNv4}*h?yQ`|Y9#X2BtpPwKr1VJ_k8{IC)nI-covM_2w{eRoWU|GN&W7Bu@$j^ccH8Px`#uV`}KP&?7slf?p<6- z-LrL9QVL!BwLdgBrwnmQS(mE}Oy}>Mt8fBWSmHf+2ZnvauHNDY-BQD)83=K2tk4un zF-q+hYXag2RvxjXZP?;qf`kd^f!{$w)*f_|k4S87RRm&S<+)aQ)F zDBE+Ay(2UXLR>qnxR>1OlGBr+8E^@4HUIqij?)I9BEVT*(|=YgL^@)w?%YwH+6gq$ zVkMHMMZ_!SS*3FY^+ZO#ng4HY`<8&hWsaqRd$+Q%g7_ zzo8)m!VguowUbjWi61T{r{~reDV^#AVhKdc7f-Z%_YmD{|6JS;>jwQkA`?I%vnTyP z%8)rhO-=KgTExTrm(0uW->V>q)-bq-nMg_UN8eC-uHxB$-^|~923(}_ScXc0qdh2! zkg2FEz#zWfUv6i(x{$y!Q)AlZs6&Nd58;geY0fo^9-fR5B9VW9OCfEIOH{OPvhn;C z%;!6HcF5h=YZd+G?Fuqf(v45Rv`lyZ!Y9S&5P=6P(8wRrCqz;E6M7DB_kP}nEgTf% zSlC#=NbX}lD07+S{y~XzSn+4E@y{=a0gMO9P;^3$RP%6-9I1a2`5BC}fR}h>#5Q=J zsH}*xL72n~17AK($YbW zW^n4Dfi^EaIk^P}J7qHwUm#Aabo+7q_U^Ro3&yy*^78Yh6OtaBhLy|Ht~=ix<^Axx z=pvX+b-$LG8J!;$8WVfZT*Q=^{&n7TFjH*KZPpGTE|?CH$)8A-H?+;sOOMXZ&gnAK zdq97YAmg+q^_?F8AFs{&QQet_3RfwKJrB~g8oZA={g+c`Rdg$Od)Wk!TJp=F+in}f7HDo$zn8CLorW{v$$f~7C^A2-U)KRt}rKx zO?SS#rgJ$^0(d=Mq~$!YHIB@gNN=)uU@(u28>T?W2e(`2efyFAut*c;)?_E)l&?RC*#27n#7s=4QarNeCk4P4Q<1-G0iCGb_Y11xDB8%#;!q7qT)u%AmKqlk=J2;1U$G{BNGcMg7~));XY|G zFzV{7s{>s7u|w<^&oDIC0RHhd52q>fLu*HeE0V5U_7psop~gcvHNb zUP)6RhRmwQkND+O2csA~K}%PKW7dl056A&m6kNE6ayww}4R;DEfke~dVBJR6AShwG zAsco0P1UYvmiQGHY}~!ES!ZVUMZBAp;nMZ)k7EjQxaudb&l?u&Hy#n&Yo9QL zoUi`w0_q0xtwUz*>ti5d_vVhBFSIU}lG;E?>Yu>C`NBJM*cK^@gp}#l z*P7q7o0p$Op@+1d`ie^}aav}0(nGkf>-Ltbss( z5EBE;IuJJ9W)Kt`Ayv5g@#fIqYWMfANgT1@aqD)t6dybQHZU?W3jJ4O_sFY3+?2|! z4EKK6@Ft|ye0;A=2NISPT`S{TzSW83=%|dW?DXU@pJO|9c>NnW$v=RC?J*uoGj+4% zyUQPs`7>gv`1F+f+i^j{1n^B-`_xJZhdQ;01Crtl9KZAy# z4It+@(MwKfS#_6@EQ0PwAbR>L{$KD#+b0Iqi9n5iZvHGOicdxgeuW=FoFt@8_d$%X zx0L_&RXk6XeXmNTgd$Y=0iA|am>dAQaG!T27IFK#x|b~-9TNkMYV~;5VZ%A=g1lzV zr(&-yozD{c5$xuWkjulz_e_x7LXd?C`}C^CMT{~E4=aR(oa9%h#5LCo(d*j1%8!b9 zNEfVIJ)Y&}cHL`zdz2lwI@lCJXZ=!JJAB$C8{)SnCNx*MNyX#B{$^5wNN7AUaf+2_ z%f_bQ8Kul;RS3U;2pNk$drK=1l8WJQ&Ek$7CoZUlQJ^-j7!;MJ#>I6bzx7u0zeIVu zV8$(=?I3Lh%-}6}-M0MdFJJzIT?W_;U=#>P>T;YJN!l_VYESRDWv3CLqjGnSdZZ5w zs07^q;eBEcNGfcumzS5(Z`~*M7vRUWj9$QRn>R4H{1L1lj^PvAeX2;HP)8Yo( zgH0J(Czg*&gdL9r=3O!_2^leP$OV6nYZ<}xcQHiFkkqRKbGcj`<&`$K)I^CvuXNM- zLr^?an|7XF?$lt~4Z)|SBOmZN&B@7qDj(|ra|%w$?#(+)GLgh~H$eUhL6#sd&01rpX)R1g4dw`pR&!3T&H zD1Bj}8?wCr8K{LWH!awO)3hP3oR2RNfu>#Dm&_G3JgnN$*%|V=2_^(+1X!tqqT8(4 zRKmgY_64P-94k%7Kkoqcj8r;5*`92A@nP=Yu^l7sYNNx##oW4guSO6`jz2I0=A#ttSbXj2Fivn6-4;}OmoLR zIXm;&>S57oG`S1Q3#S=C+N9IPQctOSFZoDfP-0AXGsQq+cP|7oNs`D#ypUWAER)b= zAyE|o_=1KSSXqG?_decfHRhyFQbe#2#%Hwus4~a&?>cAL$n1mh3~KI>k&~KPoj!YI zqG=fkfTJHiCW7(_OpPu2bcu??kd5N+-z2&Hf)2l>li6PO66M@Nu?36Zok5Qzh&8UR>4^waPT6Me@ei07UthipgS6>fYN zeaVGAa7W%KDk=)jO-BswGLWEia&xy(W%=MI&BkO5Bn;Nu8==Ryl1!;BUuaZCbJwN!6IQGHse-%$~7BWB)p#@gjVMtx0zeEqH52;T4)OYio~ zaARaW&(@M4sbjd)?SXY-Bq&hB^sC=KmbjT7)OH_!Mz{Pnp!(`x)=ji-PIh%Z8ld8` zIj`G$62~;PFw3k<8xJCll?~MOdQVRUEuum|YX(9j7)U_*$@oF>@5RE2pvNBdMFn;Q zepxawIWWzGCIK`Q7QB2*F2YQuUnGl$fe?@t#7F+tzEr-bK-=Joag!9;R!5cRT)d*u z?Y6Q>N6o?>zvJV>zGxPm9ZBO1Cp@6<-<)>l|03k2G;m4Ni4j^OmcHgB^eQp2Yt0Gz z7A>wu0*vJ_mjE=@2`2+?8AP4Iunz18G{vPOQ5{PClD}X=MyA}j)qzt7$sfIgr54l= zcnGffFWAa z*ZX<4+jqm)|>)4JI%#;TNB z_H07lCnG_}<0R-gNIwc#Y#iwVVP3c5<>u#?bv^F*QdHV0E*`7T-uW@9GnLPVk%=u2 zI5nsTA6a$(Wlji#1ArWaN06lK!L9J(1&&>3ECd)sQQSZ*-iVvZJYD~tz+(#10RZN( z(1IjMQ&LlfpDM8f9xdQ64sb4LU!W)lAKS5irU50lkPwq{o3lZ&{)9Jn=k|tkX-0iX z`s*4omM1Fo2^z1oa>lI$UG}KKVnB~jMrL^a;2EGsD1V-?67)W@_WJ%E{5l0qrEx&Y z_#F;OSDL$?IhdYf@1Hp=>WoN?owSq~c;B%49##p|^rfo$FZGODl9_XJ6_~If5Aut1 zK5-RLoZHv$@B`(dTBy;N!E+Bb&wcIas_hAQD~JgsHv?9Q+&E`vdu!)aAZWJ3m@Uy{ z=Pt41{xf1#eYF-P2n>MKbWo#hZEdSE69NgrBPb{jj$VkwSuVG|Jh}|Qyni z5(fSPg5|k!Hv1$4=W0gojt^W?!X@#=;SI8ZD4`&YiLf zzYZ*8Ich~Zb=D7$Bklv0UC7A6kSQOZl@#{RSNHd(3mHNi3k(nx6m8|_(ExkgFG0xW zsCtZS{D}-~{#7Z=Nj#H~fU!ZHs3-)OFkI+1Q!dy({}UW02LCUt zorPqrc~-L!AVA!AYg?ZHIZ(##U8S>6iUP^`(?b*pR)sb4F(Jl25Z`4>BTAdQy9GbW z-@h;ChVqSPZbO%+*zUQJAqSpzkpKGaQZuMp9MgPc;apGS@rr-RU3o~{bh&9T>32S3 zlxiEAupnL1aI6a@*~r&QZV!Cn2+N=!#Oyjvlx@q(tZ9lNt(%0g-cC@F~=w=ATa<34ETkF0`}y#L2;t6X8#_P1iN%~Cczw2Q;#`&U={8%_jYxmgQONd5p;|rNFD?| z`dJ7uU@0EH;t=(Zth#2LoS+*9s*jA!1eyYp#ekNM!y5?x3kSV8>xVNKh5uGr@Zba@ z*J%yr@vzJwm_*sZgi8?JEzS;1#8(!Ul>cUhpr+{CyIVx2XAKG!X^l>ewKX<)pY@Ku zFs;^hR8fXU=4FuvojMb!4NYa$36#KSW#W?#9)B7?HsTOYettAsJo~sX$Un3gNNJ5s zWKm^I)Oe+VuJE0HrM`0o^udtV0Ek>$f&%CWfO8jE^a!e{wtqqv1Ij5>Qz6OUi#65N)LQr^4Z@@f+tysTHxKdlE>xKlzm!{eQI;n0toQdScd0Xh zEjny=rFnawv)0?4-b14>m(^xen2#@{b34y-Lxp2Zb_}p*F$1XUxgi zrwMv|C$J5?=1RNGE!{3pXNqcH29PAT|B1V_@Z;2;Hd^`k9vSYucB{;bwNii2gn`qO z8cXNe8+b>QqIx6PoWWS@Ix_k8E2sa0=-<<2Vp1~7_4hH4Jl6;PWoZ*ZRH4o3FFq)K zh;?h&G5H>q$Gg;-nZ8?Gh@YD-<+f)|tQI`pKs*3+T=tC!>e3LP)z8}7p=n}6kSFQk z2G7uB7-NRTTI560ET)Q--*4~!*&opX+3jC3Z{Q<8fdKQ}V%+HF>aT!1Ktf>%B!SD) zjQjp_p^GqEZMU>VOEKgIk&xh$tAg+dmoimPrpnb7vV+R)wl#^&w>fqALtk52g+owo z7AQ=lzyk=1w$(Vn3U&seh_|dnIaO7BhhryRP#;>3h=_@E1}v&YG6vqvJnUi}OBd$q zv;tcMp;~P;J%LEI0}=%Px@8TI0n$KQfAR+jb6%cjhh494WY9lnC0prU6m?te?z|pj zI{#NyBknQj-soocRv}xJjwr!(SgLJNPBZ2h<>gDlLI-%V6w0{P-5 z059wPS%dJ9!;N2P6!$UY00q#UD#Z|?S@DT27ub0oA39W}YKy7}Cw}%fez#x71&XI7 z<9J}msqvzaBF1i8Rc{}*f^lmg`50Uxow}Yiz=finj@1Rl7l3I{%VA%O0fKsJND>Bq z>k5#tCDTyL=8OsOe;(c5ubt0*uMip*8qR>16aadkYsYlax_!> zHZ;ImfB#3Jd*qMUxNL6@Ktr?X!MX(~34%>T-!@e!;fYRSzB2s^aHoZw?KQf^P{A%i1V*lPOZ~UIZg1?Qi|cZ~bx|v3T{BkuYr^Ln&}&GQqx99F<^gz`7J;s1 zIs6%H>EXu!@1Mcn^T6Jn`lxe6)djgk(| zlJY>v10yI7V18VVK)r`U4yZ~p0BS9Wa85IxG-Xomoc0!|S)hLaGW01!W)N6eEl4|i zt>WbDjon36IXC2y0-nz8_D_?}e?2#lk{!qaVopj>r04p5Bx70@?QO~%xw!p=5bJXv z(KaY4K|`XLC&iqI52_@CZn%|z3D<@Dc;d?LC^5!W$)%Wx|n>O8S0fU8w>l zn%9i`LsNpcgJNtiX}R3Kp}$rldY@Ot`fsA=Sn;FgNMq%o_n^?#%7Q^LWf2j*bVo!} ziip;T*on`g*y2fsvrFUdrAkGhpy$GltSF@%ple=Kb*)RcOtJPo$br@ieeo(D`*tqg zB98(tDo`zeMQ4Ky2VSOSSSs*<1jHnJN1c>+OtI2OTwZbzV!-RpsL8QgP0D`tOp*M- z4!dN32lnVTg8T4-I26jbd!U>O#`QT4edKs{U=9cNb8Rh&dQZ<7D51b$3%@-87o~?} zPBG95qZN?X{G_ZZT{aoj4{JSLEzj-lYZht%=>`AQE_FP5yWDUBNHwyR1955!fkQfS zYLY5Ftjz3OMbv`Mm`d--BTsR!w!49 zwW<&-MFX3P@zhH5jGlc!ea@YdNR04qI$)8@ypF6deKu5VXa2hl?vk$lUTKJUrS}nE zU0p{BrY6A%;0cZBR)DZtct=xfDc$ZfT09LctsICu1Oe1%MydC7=z;GbZd&KD%vKvS zy!=Fl_I6Nnyh?vpF4zqKCxrY3Y7Pz#u_{mxLqJP#zeP}egMlG-^)x3eA?b7aj^>dM zfgzlpzF*NEh*v7mKn$sstrj({JiNj3bSN1rNrwM{G$l+iPmxLlxre-4JCVpPGGEB7M?(c7R@+a9V-JLraElDfwX8F-bX&Dcf zsaDQw*Cg!cwPszbdVKi|Z#YCiez>Aheev%Z=}Lsmdx6FaJ@&Tuh@tL$0{^O=-NrK$ z(Ny2xb+VJc;}T9$hH~D?=E$nNHuP%!;NkguaZBHs17+qZ6^`zXjf)o{6Q)VQ53Ao0iE-;iyRry}9y zOANMZIXd-D%x)TQ8bY)1yHcz^p{*!X{OVz>``=D150$!~mIp~Wy(2KEame>@OI62{ zTfc7rQCV*ug(yr^_nr!+kuXtGCzB3tP`paF{`H6En~PW>^ZMq~I`dD~@N8I!MIH25 z{Rq*1>xfQm{Bp>#f|2dW@+?!=5oLtryJF**iTHoo5+A(c-ij;LFm<>#c{J4L)$dFT zzBul~RL_5yes@_W<#XPCP`MJqi@ynrfk`~-N0!$QD~V5n0!D39@``+{JEzmyT+gcO z$ORP=5eNoib!F>qr)rMJDQnkp+?z&3j@VLNpZf($Rk$~@UJi_^-)#|+6f9TB@M^4W z)aHMixbf~&Wz?;_;ti6rZ+9~BU%Y+7=+Kw^_1ok3!^7--@uvF~0ud$z%1fPu=J#^& zGJka|-TLI^hL#r-9QeAhVKZG&e0k;Wvoq$Wd=h;U;@lrkKQ#`s;3m#k)Yxp0VQ!G$ z5xX-nXpk1| z>a<;OPDD)^lbx4+Uu;7nay#0q+qz=l_R?~AD6NOhpdLj*Y}S^MuBM@Nb((_3?toC| z*i^8~a)y!8l|chR$g>cOhPV7EXtyElHb%hh@7C|8AyXDcrioV3H_zjCZ25yGGg)`Iyl^wk=UTWJl-J8#sXKoe zqiSIHcPOC2!87b0T5F!Ul8bJTp_q-WIe9@`Rtt;7^=A9R;ruebR^6~|zq0HT#d$v^C@@gZ&&a5fNO2zp~2Ld5r>hu=N}KoPJ|5`YX*)PMRIcFj^A6$)_wPd9p04w z>X!GkJgU4|2PyJ`fi><8o@YDr4!rWT2AY~>8n_zFf*EyZVcXcxpP6vskmN;k_4t^I z`<)cKPi|-HIZRINUMn^CE&FM8 z2An41#N;m0ymaoKLYcEBvBMzj2HhLdj8EfiY^;kzUio~ihln7d_l)HQP5Y})DvalB zgR|E|^Ctakj{3q{qq`SdNz6fS?Yom%Z2wR`Gxj&RK zbVzF^zA082ni2P3*~mmk3sn1#l{jVWkfpJteNc|UT#r37Q$J}d&bgL`&y?Us?U zH)S>|jy@}zu4(3CBJ@oKTPpo^d+!rna8S|f6 zd{CY6Sk~~5T{xh=WtHt_XIPPKKO!Kc9N0NcX3c57Y(2fY^YOCbVY7Aj2RQ#KzAmo~7Jb6k!2OryIxfmRC4#H+>al7M zy{~w+{aK70uZ$haC-#~opVGRrH}Z-K&zYh+O>DO_aDL>{GZWmJik^rJy1;hhVV?cc zM#rvz@4xQQ$YW2RKkGV_@`r5pO2YeZJ9Qp@fyOHFK;79%Q^m@+t<8c=Kh2!sW$k%~ zF8|BbGl>_}p8NyL@H$94yOVkE#hd}Dg2*6AdJL}PE z^eP=TLnXOw`LklS>1N@=fJ&5A>OhWQxcTpZ;k=Rf<+#W{uMBR>e2>ee&ROqHv>K&P zNhoE%HY1`4>TpE={bIwV22!oY#1Ba z;X&HOf{y`rrX)8)W@SHg2*=37-Z`DYo3S7Q!IG0v#aCqm36LLe-^#;kTJYvQ-3pkT zaNZNVOF>0WT5>aYWJAfp$}-G_c$$kPw;;&dxVsl%hi?@g7%H0i`c3QkER`#f@GIgl z4ijOrXEvsoq!B8Ab*rsI+TWYXxMQJnoj;pA(E;`Fsk;gs@&q0r)T>}B7K_9m*TGrgt4-?=%KjisBc|vX1|v# z1(;S%8ff+Y{HV-ey0G%iBZuX-)R zob{yM#yOU+e)x80in&~xwjZ|7Ndrm0(4PLCC@<}<6yas`LFSH-W=zDsP$ddrEV zlBIbMroXZ8;c#Uy(`G9glZ|=Zwry~IcC?LI5^eYt$p2VM!M+nJ@jWm6_oKG_T1w1B z`jh>c1tWfR;VQNim&TaSi{{Ka_jLON&k^>mNPx#24YJ`L;(K){{a7>y{D4^000SaNLh0L01ejw01ejxLMWSf00007bV*G`2igY> z6BZ`#&b%i800LG?L_t(Y$L-b2ZW2)($MNr6N{|8D3Y1Hs4@EXeks5%$)hVFkKicx7iruNhXt=oZtVGoO9+s+TNG1A|i+gzW?(r z;&VCo>%25YWQu^ooPi>ZYKsMQ;c$770xZ9<{Y za&RV{W_@jq+J2p0|9r0P^L-zuT0<$HaIF053r`_&Cm&Q{H+i}n| zol>cYVHoql>ual|Qz?#HE!v&VQa5(ux>Ov8(8>zsVgXIlX2aP`n!#Ym;n8uR&t)_k zQLER9MlBNY8?)il(=L`3A(==7fXLs^cFj7>-y*CeEhVB^3=@cQL(EGFNSj+i#gA^xvn=?v5V2@-~JyT1jz=0 z-v`KkSQhRWhVf$AEbx3$xCy)l?!;ozMYp;QyaDb$+P#1H11-^gON17#t^fc407*qo IM6N<$g5CR900000 literal 0 HcmV?d00001 diff --git a/doc/help/xslt/webhelp/template/common/jquery/jquery-1.4.2.min.js b/doc/help/xslt/webhelp/template/common/jquery/jquery-1.4.2.min.js new file mode 100755 index 00000000..7c243080 --- /dev/null +++ b/doc/help/xslt/webhelp/template/common/jquery/jquery-1.4.2.min.js @@ -0,0 +1,154 @@ +/*! + * jQuery JavaScript Library v1.4.2 + * http://jquery.com/ + * + * Copyright 2010, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2010, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Sat Feb 13 22:33:48 2010 -0500 + */ +(function(A,w){function ma(){if(!c.isReady){try{s.documentElement.doScroll("left")}catch(a){setTimeout(ma,1);return}c.ready()}}function Qa(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}function X(a,b,d,f,e,j){var i=a.length;if(typeof b==="object"){for(var o in b)X(a,o,b[o],f,e,d);return a}if(d!==w){f=!j&&f&&c.isFunction(d);for(o=0;o)[^>]*$|^#([\w-]+)$/,Ua=/^.[^:#\[\.,]*$/,Va=/\S/, +Wa=/^(\s|\u00A0)+|(\s|\u00A0)+$/g,Xa=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,P=navigator.userAgent,xa=false,Q=[],L,$=Object.prototype.toString,aa=Object.prototype.hasOwnProperty,ba=Array.prototype.push,R=Array.prototype.slice,ya=Array.prototype.indexOf;c.fn=c.prototype={init:function(a,b){var d,f;if(!a)return this;if(a.nodeType){this.context=this[0]=a;this.length=1;return this}if(a==="body"&&!b){this.context=s;this[0]=s.body;this.selector="body";this.length=1;return this}if(typeof a==="string")if((d=Ta.exec(a))&& +(d[1]||!b))if(d[1]){f=b?b.ownerDocument||b:s;if(a=Xa.exec(a))if(c.isPlainObject(b)){a=[s.createElement(a[1])];c.fn.attr.call(a,b,true)}else a=[f.createElement(a[1])];else{a=sa([d[1]],[f]);a=(a.cacheable?a.fragment.cloneNode(true):a.fragment).childNodes}return c.merge(this,a)}else{if(b=s.getElementById(d[2])){if(b.id!==d[2])return T.find(a);this.length=1;this[0]=b}this.context=s;this.selector=a;return this}else if(!b&&/^\w+$/.test(a)){this.selector=a;this.context=s;a=s.getElementsByTagName(a);return c.merge(this, +a)}else return!b||b.jquery?(b||T).find(a):c(b).find(a);else if(c.isFunction(a))return T.ready(a);if(a.selector!==w){this.selector=a.selector;this.context=a.context}return c.makeArray(a,this)},selector:"",jquery:"1.4.2",length:0,size:function(){return this.length},toArray:function(){return R.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this.slice(a)[0]:this[a]},pushStack:function(a,b,d){var f=c();c.isArray(a)?ba.apply(f,a):c.merge(f,a);f.prevObject=this;f.context=this.context;if(b=== +"find")f.selector=this.selector+(this.selector?" ":"")+d;else if(b)f.selector=this.selector+"."+b+"("+d+")";return f},each:function(a,b){return c.each(this,a,b)},ready:function(a){c.bindReady();if(c.isReady)a.call(s,c);else Q&&Q.push(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(R.apply(this,arguments),"slice",R.call(arguments).join(","))},map:function(a){return this.pushStack(c.map(this, +function(b,d){return a.call(b,d,b)}))},end:function(){return this.prevObject||c(null)},push:ba,sort:[].sort,splice:[].splice};c.fn.init.prototype=c.fn;c.extend=c.fn.extend=function(){var a=arguments[0]||{},b=1,d=arguments.length,f=false,e,j,i,o;if(typeof a==="boolean"){f=a;a=arguments[1]||{};b=2}if(typeof a!=="object"&&!c.isFunction(a))a={};if(d===b){a=this;--b}for(;b
        a"; +var e=d.getElementsByTagName("*"),j=d.getElementsByTagName("a")[0];if(!(!e||!e.length||!j)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(j.getAttribute("style")),hrefNormalized:j.getAttribute("href")==="/a",opacity:/^0.55$/.test(j.style.opacity),cssFloat:!!j.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:s.createElement("select").appendChild(s.createElement("option")).selected, +parentNode:d.removeChild(d.appendChild(s.createElement("div"))).parentNode===null,deleteExpando:true,checkClone:false,scriptEval:false,noCloneEvent:true,boxModel:null};b.type="text/javascript";try{b.appendChild(s.createTextNode("window."+f+"=1;"))}catch(i){}a.insertBefore(b,a.firstChild);if(A[f]){c.support.scriptEval=true;delete A[f]}try{delete b.test}catch(o){c.support.deleteExpando=false}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function k(){c.support.noCloneEvent= +false;d.detachEvent("onclick",k)});d.cloneNode(true).fireEvent("onclick")}d=s.createElement("div");d.innerHTML="";a=s.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var k=s.createElement("div");k.style.width=k.style.paddingLeft="1px";s.body.appendChild(k);c.boxModel=c.support.boxModel=k.offsetWidth===2;s.body.removeChild(k).style.display="none"});a=function(k){var n= +s.createElement("div");k="on"+k;var r=k in n;if(!r){n.setAttribute(k,"return;");r=typeof n[k]==="function"}return r};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=e=j=null}})();c.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};var G="jQuery"+J(),Ya=0,za={};c.extend({cache:{},expando:G,noData:{embed:true,object:true, +applet:true},data:function(a,b,d){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var f=a[G],e=c.cache;if(!f&&typeof b==="string"&&d===w)return null;f||(f=++Ya);if(typeof b==="object"){a[G]=f;e[f]=c.extend(true,{},b)}else if(!e[f]){a[G]=f;e[f]={}}a=e[f];if(d!==w)a[b]=d;return typeof b==="string"?a[b]:a}},removeData:function(a,b){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var d=a[G],f=c.cache,e=f[d];if(b){if(e){delete e[b];c.isEmptyObject(e)&&c.removeData(a)}}else{if(c.support.deleteExpando)delete a[c.expando]; +else a.removeAttribute&&a.removeAttribute(c.expando);delete f[d]}}}});c.fn.extend({data:function(a,b){if(typeof a==="undefined"&&this.length)return c.data(this[0]);else if(typeof a==="object")return this.each(function(){c.data(this,a)});var d=a.split(".");d[1]=d[1]?"."+d[1]:"";if(b===w){var f=this.triggerHandler("getData"+d[1]+"!",[d[0]]);if(f===w&&this.length)f=c.data(this[0],a);return f===w&&d[1]?this.data(d[0]):f}else return this.trigger("setData"+d[1]+"!",[d[0],b]).each(function(){c.data(this, +a,b)})},removeData:function(a){return this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a,b,d){if(a){b=(b||"fx")+"queue";var f=c.data(a,b);if(!d)return f||[];if(!f||c.isArray(d))f=c.data(a,b,c.makeArray(d));else f.push(d);return f}},dequeue:function(a,b){b=b||"fx";var d=c.queue(a,b),f=d.shift();if(f==="inprogress")f=d.shift();if(f){b==="fx"&&d.unshift("inprogress");f.call(a,function(){c.dequeue(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a;a="fx"}if(b=== +w)return c.queue(this[0],a);return this.each(function(){var d=c.queue(this,a,b);a==="fx"&&d[0]!=="inprogress"&&c.dequeue(this,a)})},dequeue:function(a){return this.each(function(){c.dequeue(this,a)})},delay:function(a,b){a=c.fx?c.fx.speeds[a]||a:a;b=b||"fx";return this.queue(b,function(){var d=this;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var Aa=/[\n\t]/g,ca=/\s+/,Za=/\r/g,$a=/href|src|style/,ab=/(button|input)/i,bb=/(button|input|object|select|textarea)/i, +cb=/^(a|area)$/i,Ba=/radio|checkbox/;c.fn.extend({attr:function(a,b){return X(this,a,b,true,c.attr)},removeAttr:function(a){return this.each(function(){c.attr(this,a,"");this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(c.isFunction(a))return this.each(function(n){var r=c(this);r.addClass(a.call(this,n,r.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(ca),d=0,f=this.length;d-1)return true;return false},val:function(a){if(a===w){var b=this[0];if(b){if(c.nodeName(b,"option"))return(b.attributes.value||{}).specified?b.value:b.text;if(c.nodeName(b,"select")){var d=b.selectedIndex,f=[],e=b.options;b=b.type==="select-one";if(d<0)return null;var j=b?d:0;for(d=b?d+1:e.length;j=0;else if(c.nodeName(this,"select")){var u=c.makeArray(r);c("option",this).each(function(){this.selected= +c.inArray(c(this).val(),u)>=0});if(!u.length)this.selectedIndex=-1}else this.value=r}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(a,b,d,f){if(!a||a.nodeType===3||a.nodeType===8)return w;if(f&&b in c.attrFn)return c(a)[b](d);f=a.nodeType!==1||!c.isXMLDoc(a);var e=d!==w;b=f&&c.props[b]||b;if(a.nodeType===1){var j=$a.test(b);if(b in a&&f&&!j){if(e){b==="type"&&ab.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed"); +a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&&b.specified?b.value:bb.test(a.nodeName)||cb.test(a.nodeName)&&a.href?0:w;return a[b]}if(!c.support.style&&f&&b==="style"){if(e)a.style.cssText=""+d;return a.style.cssText}e&&a.setAttribute(b,""+d);a=!c.support.hrefNormalized&&f&&j?a.getAttribute(b,2):a.getAttribute(b);return a===null?w:a}return c.style(a,b,d)}});var O=/\.(.*)$/,db=function(a){return a.replace(/[^\w\s\.\|`]/g, +function(b){return"\\"+b})};c.event={add:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){if(a.setInterval&&a!==A&&!a.frameElement)a=A;var e,j;if(d.handler){e=d;d=e.handler}if(!d.guid)d.guid=c.guid++;if(j=c.data(a)){var i=j.events=j.events||{},o=j.handle;if(!o)j.handle=o=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(o.elem,arguments):w};o.elem=a;b=b.split(" ");for(var k,n=0,r;k=b[n++];){j=e?c.extend({},e):{handler:d,data:f};if(k.indexOf(".")>-1){r=k.split("."); +k=r.shift();j.namespace=r.slice(0).sort().join(".")}else{r=[];j.namespace=""}j.type=k;j.guid=d.guid;var u=i[k],z=c.event.special[k]||{};if(!u){u=i[k]=[];if(!z.setup||z.setup.call(a,f,r,o)===false)if(a.addEventListener)a.addEventListener(k,o,false);else a.attachEvent&&a.attachEvent("on"+k,o)}if(z.add){z.add.call(a,j);if(!j.handler.guid)j.handler.guid=d.guid}u.push(j);c.event.global[k]=true}a=null}}},global:{},remove:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){var e,j=0,i,o,k,n,r,u,z=c.data(a), +C=z&&z.events;if(z&&C){if(b&&b.type){d=b.handler;b=b.type}if(!b||typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(e in C)c.event.remove(a,e+b)}else{for(b=b.split(" ");e=b[j++];){n=e;i=e.indexOf(".")<0;o=[];if(!i){o=e.split(".");e=o.shift();k=new RegExp("(^|\\.)"+c.map(o.slice(0).sort(),db).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(r=C[e])if(d){n=c.event.special[e]||{};for(B=f||0;B=0){a.type= +e=e.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();c.event.global[e]&&c.each(c.cache,function(){this.events&&this.events[e]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType===8)return w;a.result=w;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(f=c.data(d,"handle"))&&f.apply(d,b);f=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+e]&&d["on"+e].apply(d,b)===false)a.result=false}catch(j){}if(!a.isPropagationStopped()&& +f)c.event.trigger(a,b,f,true);else if(!a.isDefaultPrevented()){f=a.target;var i,o=c.nodeName(f,"a")&&e==="click",k=c.event.special[e]||{};if((!k._default||k._default.call(d,a)===false)&&!o&&!(f&&f.nodeName&&c.noData[f.nodeName.toLowerCase()])){try{if(f[e]){if(i=f["on"+e])f["on"+e]=null;c.event.triggered=true;f[e]()}}catch(n){}if(i)f["on"+e]=i;c.event.triggered=false}}},handle:function(a){var b,d,f,e;a=arguments[0]=c.event.fix(a||A.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive; +if(!b){d=a.type.split(".");a.type=d.shift();f=new RegExp("(^|\\.)"+d.slice(0).sort().join("\\.(?:.*\\.)?")+"(\\.|$)")}e=c.data(this,"events");d=e[a.type];if(e&&d){d=d.slice(0);e=0;for(var j=d.length;e-1?c.map(a.options,function(f){return f.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d},fa=function(a,b){var d=a.target,f,e;if(!(!da.test(d.nodeName)||d.readOnly)){f=c.data(d,"_change_data");e=Fa(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data", +e);if(!(f===w||e===f))if(f!=null||e){a.type="change";return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:fa,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return fa.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return fa.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a, +"_change_data",Fa(a))}},setup:function(){if(this.type==="file")return false;for(var a in ea)c.event.add(this,a+".specialChange",ea[a]);return da.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return da.test(this.nodeName)}};ea=c.event.special.change.filters}s.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(f){f=c.event.fix(f);f.type=b;return c.event.handle.call(this,f)}c.event.special[b]={setup:function(){this.addEventListener(a, +d,true)},teardown:function(){this.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,f,e){if(typeof d==="object"){for(var j in d)this[b](j,f,d[j],e);return this}if(c.isFunction(f)){e=f;f=w}var i=b==="one"?c.proxy(e,function(k){c(this).unbind(k,i);return e.apply(this,arguments)}):e;if(d==="unload"&&b!=="one")this.one(d,f,e);else{j=0;for(var o=this.length;j0){y=t;break}}t=t[g]}m[q]=y}}}var f=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g, +e=0,j=Object.prototype.toString,i=false,o=true;[0,0].sort(function(){o=false;return 0});var k=function(g,h,l,m){l=l||[];var q=h=h||s;if(h.nodeType!==1&&h.nodeType!==9)return[];if(!g||typeof g!=="string")return l;for(var p=[],v,t,y,S,H=true,M=x(h),I=g;(f.exec(""),v=f.exec(I))!==null;){I=v[3];p.push(v[1]);if(v[2]){S=v[3];break}}if(p.length>1&&r.exec(g))if(p.length===2&&n.relative[p[0]])t=ga(p[0]+p[1],h);else for(t=n.relative[p[0]]?[h]:k(p.shift(),h);p.length;){g=p.shift();if(n.relative[g])g+=p.shift(); +t=ga(g,t)}else{if(!m&&p.length>1&&h.nodeType===9&&!M&&n.match.ID.test(p[0])&&!n.match.ID.test(p[p.length-1])){v=k.find(p.shift(),h,M);h=v.expr?k.filter(v.expr,v.set)[0]:v.set[0]}if(h){v=m?{expr:p.pop(),set:z(m)}:k.find(p.pop(),p.length===1&&(p[0]==="~"||p[0]==="+")&&h.parentNode?h.parentNode:h,M);t=v.expr?k.filter(v.expr,v.set):v.set;if(p.length>0)y=z(t);else H=false;for(;p.length;){var D=p.pop();v=D;if(n.relative[D])v=p.pop();else D="";if(v==null)v=h;n.relative[D](y,v,M)}}else y=[]}y||(y=t);y||k.error(D|| +g);if(j.call(y)==="[object Array]")if(H)if(h&&h.nodeType===1)for(g=0;y[g]!=null;g++){if(y[g]&&(y[g]===true||y[g].nodeType===1&&E(h,y[g])))l.push(t[g])}else for(g=0;y[g]!=null;g++)y[g]&&y[g].nodeType===1&&l.push(t[g]);else l.push.apply(l,y);else z(y,l);if(S){k(S,q,l,m);k.uniqueSort(l)}return l};k.uniqueSort=function(g){if(B){i=o;g.sort(B);if(i)for(var h=1;h":function(g,h){var l=typeof h==="string";if(l&&!/\W/.test(h)){h=h.toLowerCase();for(var m=0,q=g.length;m=0))l||m.push(v);else if(l)h[p]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()}, +CHILD:function(g){if(g[1]==="nth"){var h=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=h[1]+(h[2]||1)-0;g[3]=h[3]-0}g[0]=e++;return g},ATTR:function(g,h,l,m,q,p){h=g[1].replace(/\\/g,"");if(!p&&n.attrMap[h])g[1]=n.attrMap[h];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,h,l,m,q){if(g[1]==="not")if((f.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=k(g[3],null,null,h);else{g=k.filter(g[3],h,l,true^q);l||m.push.apply(m, +g);return false}else if(n.match.POS.test(g[0])||n.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled===true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,h,l){return!!k(l[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)}, +text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"===g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}}, +setFilters:{first:function(g,h){return h===0},last:function(g,h,l,m){return h===m.length-1},even:function(g,h){return h%2===0},odd:function(g,h){return h%2===1},lt:function(g,h,l){return hl[3]-0},nth:function(g,h,l){return l[3]-0===h},eq:function(g,h,l){return l[3]-0===h}},filter:{PSEUDO:function(g,h,l,m){var q=h[1],p=n.filters[q];if(p)return p(g,l,h,m);else if(q==="contains")return(g.textContent||g.innerText||a([g])||"").indexOf(h[3])>=0;else if(q==="not"){h= +h[3];l=0;for(m=h.length;l=0}},ID:function(g,h){return g.nodeType===1&&g.getAttribute("id")===h},TAG:function(g,h){return h==="*"&&g.nodeType===1||g.nodeName.toLowerCase()===h},CLASS:function(g,h){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(h)>-1},ATTR:function(g,h){var l=h[1];g=n.attrHandle[l]?n.attrHandle[l](g):g[l]!=null?g[l]:g.getAttribute(l);l=g+"";var m=h[2];h=h[4];return g==null?m==="!=":m=== +"="?l===h:m==="*="?l.indexOf(h)>=0:m==="~="?(" "+l+" ").indexOf(h)>=0:!h?l&&g!==false:m==="!="?l!==h:m==="^="?l.indexOf(h)===0:m==="$="?l.substr(l.length-h.length)===h:m==="|="?l===h||l.substr(0,h.length+1)===h+"-":false},POS:function(g,h,l,m){var q=n.setFilters[h[2]];if(q)return q(g,l,h,m)}}},r=n.match.POS;for(var u in n.match){n.match[u]=new RegExp(n.match[u].source+/(?![^\[]*\])(?![^\(]*\))/.source);n.leftMatch[u]=new RegExp(/(^(?:.|\r|\n)*?)/.source+n.match[u].source.replace(/\\(\d+)/g,function(g, +h){return"\\"+(h-0+1)}))}var z=function(g,h){g=Array.prototype.slice.call(g,0);if(h){h.push.apply(h,g);return h}return g};try{Array.prototype.slice.call(s.documentElement.childNodes,0)}catch(C){z=function(g,h){h=h||[];if(j.call(g)==="[object Array]")Array.prototype.push.apply(h,g);else if(typeof g.length==="number")for(var l=0,m=g.length;l";var l=s.documentElement;l.insertBefore(g,l.firstChild);if(s.getElementById(h)){n.find.ID=function(m,q,p){if(typeof q.getElementById!=="undefined"&&!p)return(q=q.getElementById(m[1]))?q.id===m[1]||typeof q.getAttributeNode!=="undefined"&& +q.getAttributeNode("id").nodeValue===m[1]?[q]:w:[]};n.filter.ID=function(m,q){var p=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&p&&p.nodeValue===q}}l.removeChild(g);l=g=null})();(function(){var g=s.createElement("div");g.appendChild(s.createComment(""));if(g.getElementsByTagName("*").length>0)n.find.TAG=function(h,l){l=l.getElementsByTagName(h[1]);if(h[1]==="*"){h=[];for(var m=0;l[m];m++)l[m].nodeType===1&&h.push(l[m]);l=h}return l};g.innerHTML=""; +if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")n.attrHandle.href=function(h){return h.getAttribute("href",2)};g=null})();s.querySelectorAll&&function(){var g=k,h=s.createElement("div");h.innerHTML="

        ";if(!(h.querySelectorAll&&h.querySelectorAll(".TEST").length===0)){k=function(m,q,p,v){q=q||s;if(!v&&q.nodeType===9&&!x(q))try{return z(q.querySelectorAll(m),p)}catch(t){}return g(m,q,p,v)};for(var l in g)k[l]=g[l];h=null}}(); +(function(){var g=s.createElement("div");g.innerHTML="
        ";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){n.order.splice(1,0,"CLASS");n.find.CLASS=function(h,l,m){if(typeof l.getElementsByClassName!=="undefined"&&!m)return l.getElementsByClassName(h[1])};g=null}}})();var E=s.compareDocumentPosition?function(g,h){return!!(g.compareDocumentPosition(h)&16)}: +function(g,h){return g!==h&&(g.contains?g.contains(h):true)},x=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false},ga=function(g,h){var l=[],m="",q;for(h=h.nodeType?[h]:h;q=n.match.PSEUDO.exec(g);){m+=q[0];g=g.replace(n.match.PSEUDO,"")}g=n.relative[g]?g+"*":g;q=0;for(var p=h.length;q=0===d})};c.fn.extend({find:function(a){for(var b=this.pushStack("","find",a),d=0,f=0,e=this.length;f0)for(var j=d;j0},closest:function(a,b){if(c.isArray(a)){var d=[],f=this[0],e,j= +{},i;if(f&&a.length){e=0;for(var o=a.length;e-1:c(f).is(e)){d.push({selector:i,elem:f});delete j[i]}}f=f.parentNode}}return d}var k=c.expr.match.POS.test(a)?c(a,b||this.context):null;return this.map(function(n,r){for(;r&&r.ownerDocument&&r!==b;){if(k?k.index(r)>-1:c(r).is(a))return r;r=r.parentNode}return null})},index:function(a){if(!a||typeof a=== +"string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){a=typeof a==="string"?c(a,b||this.context):c.makeArray(a);b=c.merge(this.get(),a);return this.pushStack(qa(a[0])||qa(b[0])?b:c.unique(b))},andSelf:function(){return this.add(this.prevObject)}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode", +d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a,2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")? +a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a,b){c.fn[a]=function(d,f){var e=c.map(this,b,d);eb.test(a)||(f=d);if(f&&typeof f==="string")e=c.filter(f,e);e=this.length>1?c.unique(e):e;if((this.length>1||gb.test(f))&&fb.test(a))e=e.reverse();return this.pushStack(e,a,R.call(arguments).join(","))}});c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return c.find.matches(a,b)},dir:function(a,b,d){var f=[];for(a=a[b];a&&a.nodeType!==9&&(d===w||a.nodeType!==1||!c(a).is(d));){a.nodeType=== +1&&f.push(a);a=a[b]}return f},nth:function(a,b,d){b=b||1;for(var f=0;a;a=a[d])if(a.nodeType===1&&++f===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&d.push(a);return d}});var Ja=/ jQuery\d+="(?:\d+|null)"/g,V=/^\s+/,Ka=/(<([\w:]+)[^>]*?)\/>/g,hb=/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,La=/<([\w:]+)/,ib=/"},F={option:[1,""],legend:[1,"
        ","
        "],thead:[1,"","
        "],tr:[2,"","
        "],td:[3,"","
        "],col:[2,"","
        "],area:[1,"",""],_default:[0,"",""]};F.optgroup=F.option;F.tbody=F.tfoot=F.colgroup=F.caption=F.thead;F.th=F.td;if(!c.support.htmlSerialize)F._default=[1,"div
        ","
        "];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d= +c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==w)return this.empty().append((this[0]&&this[0].ownerDocument||s).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this}, +wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})}, +prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b, +this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var d=0,f;(f=this[d])!=null;d++)if(!a||c.filter(a,[f]).length){if(!b&&f.nodeType===1){c.cleanData(f.getElementsByTagName("*"));c.cleanData([f])}f.parentNode&&f.parentNode.removeChild(f)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild); +return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,f=this.ownerDocument;if(!d){d=f.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(Ja,"").replace(/=([^="'>\s]+\/)>/g,'="$1">').replace(V,"")],f)[0]}else return this.cloneNode(true)});if(a===true){ra(this,b);ra(this.find("*"),b.find("*"))}return b},html:function(a){if(a===w)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Ja, +""):null;else if(typeof a==="string"&&!ta.test(a)&&(c.support.leadingWhitespace||!V.test(a))&&!F[(La.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Ka,Ma);try{for(var b=0,d=this.length;b0||e.cacheable||this.length>1?k.cloneNode(true):k)}o.length&&c.each(o,Qa)}return this}});c.fragments={};c.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var f=[];d=c(d);var e=this.length===1&&this[0].parentNode;if(e&&e.nodeType===11&&e.childNodes.length===1&&d.length===1){d[b](this[0]); +return this}else{e=0;for(var j=d.length;e0?this.clone(true):this).get();c.fn[b].apply(c(d[e]),i);f=f.concat(i)}return this.pushStack(f,a,d.selector)}}});c.extend({clean:function(a,b,d,f){b=b||s;if(typeof b.createElement==="undefined")b=b.ownerDocument||b[0]&&b[0].ownerDocument||s;for(var e=[],j=0,i;(i=a[j])!=null;j++){if(typeof i==="number")i+="";if(i){if(typeof i==="string"&&!jb.test(i))i=b.createTextNode(i);else if(typeof i==="string"){i=i.replace(Ka,Ma);var o=(La.exec(i)||["", +""])[1].toLowerCase(),k=F[o]||F._default,n=k[0],r=b.createElement("div");for(r.innerHTML=k[1]+i+k[2];n--;)r=r.lastChild;if(!c.support.tbody){n=ib.test(i);o=o==="table"&&!n?r.firstChild&&r.firstChild.childNodes:k[1]===""&&!n?r.childNodes:[];for(k=o.length-1;k>=0;--k)c.nodeName(o[k],"tbody")&&!o[k].childNodes.length&&o[k].parentNode.removeChild(o[k])}!c.support.leadingWhitespace&&V.test(i)&&r.insertBefore(b.createTextNode(V.exec(i)[0]),r.firstChild);i=r.childNodes}if(i.nodeType)e.push(i);else e= +c.merge(e,i)}}if(d)for(j=0;e[j];j++)if(f&&c.nodeName(e[j],"script")&&(!e[j].type||e[j].type.toLowerCase()==="text/javascript"))f.push(e[j].parentNode?e[j].parentNode.removeChild(e[j]):e[j]);else{e[j].nodeType===1&&e.splice.apply(e,[j+1,0].concat(c.makeArray(e[j].getElementsByTagName("script"))));d.appendChild(e[j])}return e},cleanData:function(a){for(var b,d,f=c.cache,e=c.event.special,j=c.support.deleteExpando,i=0,o;(o=a[i])!=null;i++)if(d=o[c.expando]){b=f[d];if(b.events)for(var k in b.events)e[k]? +c.event.remove(o,k):Ca(o,k,b.handle);if(j)delete o[c.expando];else o.removeAttribute&&o.removeAttribute(c.expando);delete f[d]}}});var kb=/z-?index|font-?weight|opacity|zoom|line-?height/i,Na=/alpha\([^)]*\)/,Oa=/opacity=([^)]*)/,ha=/float/i,ia=/-([a-z])/ig,lb=/([A-Z])/g,mb=/^-?\d+(?:px)?$/i,nb=/^-?\d/,ob={position:"absolute",visibility:"hidden",display:"block"},pb=["Left","Right"],qb=["Top","Bottom"],rb=s.defaultView&&s.defaultView.getComputedStyle,Pa=c.support.cssFloat?"cssFloat":"styleFloat",ja= +function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){return X(this,a,b,true,function(d,f,e){if(e===w)return c.curCSS(d,f);if(typeof e==="number"&&!kb.test(f))e+="px";c.style(d,f,e)})};c.extend({style:function(a,b,d){if(!a||a.nodeType===3||a.nodeType===8)return w;if((b==="width"||b==="height")&&parseFloat(d)<0)d=w;var f=a.style||a,e=d!==w;if(!c.support.opacity&&b==="opacity"){if(e){f.zoom=1;b=parseInt(d,10)+""==="NaN"?"":"alpha(opacity="+d*100+")";a=f.filter||c.curCSS(a,"filter")||"";f.filter= +Na.test(a)?a.replace(Na,b):b}return f.filter&&f.filter.indexOf("opacity=")>=0?parseFloat(Oa.exec(f.filter)[1])/100+"":""}if(ha.test(b))b=Pa;b=b.replace(ia,ja);if(e)f[b]=d;return f[b]},css:function(a,b,d,f){if(b==="width"||b==="height"){var e,j=b==="width"?pb:qb;function i(){e=b==="width"?a.offsetWidth:a.offsetHeight;f!=="border"&&c.each(j,function(){f||(e-=parseFloat(c.curCSS(a,"padding"+this,true))||0);if(f==="margin")e+=parseFloat(c.curCSS(a,"margin"+this,true))||0;else e-=parseFloat(c.curCSS(a, +"border"+this+"Width",true))||0})}a.offsetWidth!==0?i():c.swap(a,ob,i);return Math.max(0,Math.round(e))}return c.curCSS(a,b,d)},curCSS:function(a,b,d){var f,e=a.style;if(!c.support.opacity&&b==="opacity"&&a.currentStyle){f=Oa.test(a.currentStyle.filter||"")?parseFloat(RegExp.$1)/100+"":"";return f===""?"1":f}if(ha.test(b))b=Pa;if(!d&&e&&e[b])f=e[b];else if(rb){if(ha.test(b))b="float";b=b.replace(lb,"-$1").toLowerCase();e=a.ownerDocument.defaultView;if(!e)return null;if(a=e.getComputedStyle(a,null))f= +a.getPropertyValue(b);if(b==="opacity"&&f==="")f="1"}else if(a.currentStyle){d=b.replace(ia,ja);f=a.currentStyle[b]||a.currentStyle[d];if(!mb.test(f)&&nb.test(f)){b=e.left;var j=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;e.left=d==="fontSize"?"1em":f||0;f=e.pixelLeft+"px";e.left=b;a.runtimeStyle.left=j}}return f},swap:function(a,b,d){var f={};for(var e in b){f[e]=a.style[e];a.style[e]=b[e]}d.call(a);for(e in b)a.style[e]=f[e]}});if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b= +a.offsetWidth,d=a.offsetHeight,f=a.nodeName.toLowerCase()==="tr";return b===0&&d===0&&!f?true:b>0&&d>0&&!f?false:c.curCSS(a,"display")==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var sb=J(),tb=//gi,ub=/select|textarea/i,vb=/color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i,N=/=\?(&|$)/,ka=/\?/,wb=/(\?|&)_=.*?(&|$)/,xb=/^(\w+:)?\/\/([^\/?#]+)/,yb=/%20/g,zb=c.fn.load;c.fn.extend({load:function(a,b,d){if(typeof a!== +"string")return zb.call(this,a);else if(!this.length)return this;var f=a.indexOf(" ");if(f>=0){var e=a.slice(f,a.length);a=a.slice(0,f)}f="GET";if(b)if(c.isFunction(b)){d=b;b=null}else if(typeof b==="object"){b=c.param(b,c.ajaxSettings.traditional);f="POST"}var j=this;c.ajax({url:a,type:f,dataType:"html",data:b,complete:function(i,o){if(o==="success"||o==="notmodified")j.html(e?c("
        ").append(i.responseText.replace(tb,"")).find(e):i.responseText);d&&j.each(d,[i.responseText,o,i])}});return this}, +serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||ub.test(this.nodeName)||vb.test(this.type))}).map(function(a,b){a=c(this).val();return a==null?null:c.isArray(a)?c.map(a,function(d){return{name:b.name,value:d}}):{name:b.name,value:a}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "), +function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:f})},getScript:function(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:f})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href, +global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:A.XMLHttpRequest&&(A.location.protocol!=="file:"||!A.ActiveXObject)?function(){return new A.XMLHttpRequest}:function(){try{return new A.ActiveXObject("Microsoft.XMLHTTP")}catch(a){}},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},etag:{},ajax:function(a){function b(){e.success&& +e.success.call(k,o,i,x);e.global&&f("ajaxSuccess",[x,e])}function d(){e.complete&&e.complete.call(k,x,i);e.global&&f("ajaxComplete",[x,e]);e.global&&!--c.active&&c.event.trigger("ajaxStop")}function f(q,p){(e.context?c(e.context):c.event).trigger(q,p)}var e=c.extend(true,{},c.ajaxSettings,a),j,i,o,k=a&&a.context||e,n=e.type.toUpperCase();if(e.data&&e.processData&&typeof e.data!=="string")e.data=c.param(e.data,e.traditional);if(e.dataType==="jsonp"){if(n==="GET")N.test(e.url)||(e.url+=(ka.test(e.url)? +"&":"?")+(e.jsonp||"callback")+"=?");else if(!e.data||!N.test(e.data))e.data=(e.data?e.data+"&":"")+(e.jsonp||"callback")+"=?";e.dataType="json"}if(e.dataType==="json"&&(e.data&&N.test(e.data)||N.test(e.url))){j=e.jsonpCallback||"jsonp"+sb++;if(e.data)e.data=(e.data+"").replace(N,"="+j+"$1");e.url=e.url.replace(N,"="+j+"$1");e.dataType="script";A[j]=A[j]||function(q){o=q;b();d();A[j]=w;try{delete A[j]}catch(p){}z&&z.removeChild(C)}}if(e.dataType==="script"&&e.cache===null)e.cache=false;if(e.cache=== +false&&n==="GET"){var r=J(),u=e.url.replace(wb,"$1_="+r+"$2");e.url=u+(u===e.url?(ka.test(e.url)?"&":"?")+"_="+r:"")}if(e.data&&n==="GET")e.url+=(ka.test(e.url)?"&":"?")+e.data;e.global&&!c.active++&&c.event.trigger("ajaxStart");r=(r=xb.exec(e.url))&&(r[1]&&r[1]!==location.protocol||r[2]!==location.host);if(e.dataType==="script"&&n==="GET"&&r){var z=s.getElementsByTagName("head")[0]||s.documentElement,C=s.createElement("script");C.src=e.url;if(e.scriptCharset)C.charset=e.scriptCharset;if(!j){var B= +false;C.onload=C.onreadystatechange=function(){if(!B&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){B=true;b();d();C.onload=C.onreadystatechange=null;z&&C.parentNode&&z.removeChild(C)}}}z.insertBefore(C,z.firstChild);return w}var E=false,x=e.xhr();if(x){e.username?x.open(n,e.url,e.async,e.username,e.password):x.open(n,e.url,e.async);try{if(e.data||a&&a.contentType)x.setRequestHeader("Content-Type",e.contentType);if(e.ifModified){c.lastModified[e.url]&&x.setRequestHeader("If-Modified-Since", +c.lastModified[e.url]);c.etag[e.url]&&x.setRequestHeader("If-None-Match",c.etag[e.url])}r||x.setRequestHeader("X-Requested-With","XMLHttpRequest");x.setRequestHeader("Accept",e.dataType&&e.accepts[e.dataType]?e.accepts[e.dataType]+", */*":e.accepts._default)}catch(ga){}if(e.beforeSend&&e.beforeSend.call(k,x,e)===false){e.global&&!--c.active&&c.event.trigger("ajaxStop");x.abort();return false}e.global&&f("ajaxSend",[x,e]);var g=x.onreadystatechange=function(q){if(!x||x.readyState===0||q==="abort"){E|| +d();E=true;if(x)x.onreadystatechange=c.noop}else if(!E&&x&&(x.readyState===4||q==="timeout")){E=true;x.onreadystatechange=c.noop;i=q==="timeout"?"timeout":!c.httpSuccess(x)?"error":e.ifModified&&c.httpNotModified(x,e.url)?"notmodified":"success";var p;if(i==="success")try{o=c.httpData(x,e.dataType,e)}catch(v){i="parsererror";p=v}if(i==="success"||i==="notmodified")j||b();else c.handleError(e,x,i,p);d();q==="timeout"&&x.abort();if(e.async)x=null}};try{var h=x.abort;x.abort=function(){x&&h.call(x); +g("abort")}}catch(l){}e.async&&e.timeout>0&&setTimeout(function(){x&&!E&&g("timeout")},e.timeout);try{x.send(n==="POST"||n==="PUT"||n==="DELETE"?e.data:null)}catch(m){c.handleError(e,x,null,m);d()}e.async||g();return x}},handleError:function(a,b,d,f){if(a.error)a.error.call(a.context||a,b,d,f);if(a.global)(a.context?c(a.context):c.event).trigger("ajaxError",[b,a,f])},active:0,httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status=== +1223||a.status===0}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"),f=a.getResponseHeader("Etag");if(d)c.lastModified[b]=d;if(f)c.etag[b]=f;return a.status===304||a.status===0},httpData:function(a,b,d){var f=a.getResponseHeader("content-type")||"",e=b==="xml"||!b&&f.indexOf("xml")>=0;a=e?a.responseXML:a.responseText;e&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b=== +"json"||!b&&f.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&f.indexOf("javascript")>=0)c.globalEval(a);return a},param:function(a,b){function d(i,o){if(c.isArray(o))c.each(o,function(k,n){b||/\[\]$/.test(i)?f(i,n):d(i+"["+(typeof n==="object"||c.isArray(n)?k:"")+"]",n)});else!b&&o!=null&&typeof o==="object"?c.each(o,function(k,n){d(i+"["+k+"]",n)}):f(i,o)}function f(i,o){o=c.isFunction(o)?o():o;e[e.length]=encodeURIComponent(i)+"="+encodeURIComponent(o)}var e=[];if(b===w)b=c.ajaxSettings.traditional; +if(c.isArray(a)||a.jquery)c.each(a,function(){f(this.name,this.value)});else for(var j in a)d(j,a[j]);return e.join("&").replace(yb,"+")}});var la={},Ab=/toggle|show|hide/,Bb=/^([+-]=)?([\d+-.]+)(.*)$/,W,va=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b){if(a||a===0)return this.animate(K("show",3),a,b);else{a=0;for(b=this.length;a").appendTo("body");f=e.css("display");if(f==="none")f="block";e.remove();la[d]=f}c.data(this[a],"olddisplay",f)}}a=0;for(b=this.length;a=0;f--)if(d[f].elem===this){b&&d[f](true);d.splice(f,1)}});b||this.dequeue();return this}});c.each({slideDown:K("show",1),slideUp:K("hide",1),slideToggle:K("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(a,b){c.fn[a]=function(d,f){return this.animate(b,d,f)}});c.extend({speed:function(a,b,d){var f=a&&typeof a==="object"?a:{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};f.duration=c.fx.off?0:typeof f.duration=== +"number"?f.duration:c.fx.speeds[f.duration]||c.fx.speeds._default;f.old=f.complete;f.complete=function(){f.queue!==false&&c(this).dequeue();c.isFunction(f.old)&&f.old.call(this)};return f},easing:{linear:function(a,b,d,f){return d+f*a},swing:function(a,b,d,f){return(-Math.cos(a*Math.PI)/2+0.5)*f+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]|| +c.fx.step._default)(this);if((this.prop==="height"||this.prop==="width")&&this.elem.style)this.elem.style.display="block"},cur:function(a){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];return(a=parseFloat(c.css(this.elem,this.prop,a)))&&a>-10000?a:parseFloat(c.curCSS(this.elem,this.prop))||0},custom:function(a,b,d){function f(j){return e.step(j)}this.startTime=J();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start; +this.pos=this.state=0;var e=this;f.elem=this.elem;if(f()&&c.timers.push(f)&&!W)W=setInterval(c.fx.tick,13)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(a){var b=J(),d=true;if(a||b>=this.options.duration+this.startTime){this.now= +this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var f in this.options.curAnim)if(this.options.curAnim[f]!==true)d=false;if(d){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;a=c.data(this.elem,"olddisplay");this.elem.style.display=a?a:this.options.display;if(c.css(this.elem,"display")==="none")this.elem.style.display="block"}this.options.hide&&c(this.elem).hide();if(this.options.hide||this.options.show)for(var e in this.options.curAnim)c.style(this.elem, +e,this.options.orig[e]);this.options.complete.call(this.elem)}return false}else{e=b-this.startTime;this.state=e/this.options.duration;a=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||a](this.state,e,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a=c.timers,b=0;b
        "; +a.insertBefore(b,a.firstChild);d=b.firstChild;f=d.firstChild;e=d.nextSibling.firstChild.firstChild;this.doesNotAddBorder=f.offsetTop!==5;this.doesAddBorderForTableAndCells=e.offsetTop===5;f.style.position="fixed";f.style.top="20px";this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15;f.style.position=f.style.top="";d.style.overflow="hidden";d.style.position="relative";this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5;this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==j;a.removeChild(b); +c.offset.initialize=c.noop},bodyOffset:function(a){var b=a.offsetTop,d=a.offsetLeft;c.offset.initialize();if(c.offset.doesNotIncludeMarginInBodyOffset){b+=parseFloat(c.curCSS(a,"marginTop",true))||0;d+=parseFloat(c.curCSS(a,"marginLeft",true))||0}return{top:b,left:d}},setOffset:function(a,b,d){if(/static/.test(c.curCSS(a,"position")))a.style.position="relative";var f=c(a),e=f.offset(),j=parseInt(c.curCSS(a,"top",true),10)||0,i=parseInt(c.curCSS(a,"left",true),10)||0;if(c.isFunction(b))b=b.call(a, +d,e);d={top:b.top-e.top+j,left:b.left-e.left+i};"using"in b?b.using.call(a,d):f.css(d)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),f=/^body|html$/i.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.curCSS(a,"marginTop",true))||0;d.left-=parseFloat(c.curCSS(a,"marginLeft",true))||0;f.top+=parseFloat(c.curCSS(b[0],"borderTopWidth",true))||0;f.left+=parseFloat(c.curCSS(b[0],"borderLeftWidth",true))||0;return{top:d.top- +f.top,left:d.left-f.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||s.body;a&&!/^body|html$/i.test(a.nodeName)&&c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(f){var e=this[0],j;if(!e)return null;if(f!==w)return this.each(function(){if(j=wa(this))j.scrollTo(!a?f:c(j).scrollLeft(),a?f:c(j).scrollTop());else this[d]=f});else return(j=wa(e))?"pageXOffset"in j?j[a?"pageYOffset": +"pageXOffset"]:c.support.boxModel&&j.document.documentElement[d]||j.document.body[d]:e[d]}});c.each(["Height","Width"],function(a,b){var d=b.toLowerCase();c.fn["inner"+b]=function(){return this[0]?c.css(this[0],d,false,"padding"):null};c.fn["outer"+b]=function(f){return this[0]?c.css(this[0],d,false,f?"margin":"border"):null};c.fn[d]=function(f){var e=this[0];if(!e)return f==null?null:this;if(c.isFunction(f))return this.each(function(j){var i=c(this);i[d](f.call(this,j,i[d]()))});return"scrollTo"in +e&&e.document?e.document.compatMode==="CSS1Compat"&&e.document.documentElement["client"+b]||e.document.body["client"+b]:e.nodeType===9?Math.max(e.documentElement["client"+b],e.body["scroll"+b],e.documentElement["scroll"+b],e.body["offset"+b],e.documentElement["offset"+b]):f===w?c.css(e,d):this.css(d,typeof f==="string"?f:f+"px")}});A.jQuery=A.$=c})(window); diff --git a/doc/help/xslt/webhelp/template/common/jquery/jquery-ui-1.8.2.custom.min.js b/doc/help/xslt/webhelp/template/common/jquery/jquery-ui-1.8.2.custom.min.js new file mode 100755 index 00000000..fec53e8e --- /dev/null +++ b/doc/help/xslt/webhelp/template/common/jquery/jquery-ui-1.8.2.custom.min.js @@ -0,0 +1,321 @@ +/*! + * jQuery UI 1.8.2 + * + * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI + */ +(function(c){c.ui=c.ui||{};if(!c.ui.version){c.extend(c.ui,{version:"1.8.2",plugin:{add:function(a,b,d){a=c.ui[a].prototype;for(var e in d){a.plugins[e]=a.plugins[e]||[];a.plugins[e].push([b,d[e]])}},call:function(a,b,d){if((b=a.plugins[b])&&a.element[0].parentNode)for(var e=0;e0)return true;a[b]=1;d=a[b]>0;a[b]=0;return d},isOverAxis:function(a,b,d){return a>b&&a=0)&&c(a).is(":focusable")}})}})(jQuery); +;/*! + * jQuery UI Widget 1.8.2 + * + * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Widget + */ +(function(b){var j=b.fn.remove;b.fn.remove=function(a,c){return this.each(function(){if(!c)if(!a||b.filter(a,[this]).length)b("*",this).add(this).each(function(){b(this).triggerHandler("remove")});return j.call(b(this),a,c)})};b.widget=function(a,c,d){var e=a.split(".")[0],f;a=a.split(".")[1];f=e+"-"+a;if(!d){d=c;c=b.Widget}b.expr[":"][f]=function(h){return!!b.data(h,a)};b[e]=b[e]||{};b[e][a]=function(h,g){arguments.length&&this._createWidget(h,g)};c=new c;c.options=b.extend({},c.options);b[e][a].prototype= +b.extend(true,c,{namespace:e,widgetName:a,widgetEventPrefix:b[e][a].prototype.widgetEventPrefix||a,widgetBaseClass:f},d);b.widget.bridge(a,b[e][a])};b.widget.bridge=function(a,c){b.fn[a]=function(d){var e=typeof d==="string",f=Array.prototype.slice.call(arguments,1),h=this;d=!e&&f.length?b.extend.apply(null,[true,d].concat(f)):d;if(e&&d.substring(0,1)==="_")return h;e?this.each(function(){var g=b.data(this,a),i=g&&b.isFunction(g[d])?g[d].apply(g,f):g;if(i!==g&&i!==undefined){h=i;return false}}):this.each(function(){var g= +b.data(this,a);if(g){d&&g.option(d);g._init()}else b.data(this,a,new c(d,this))});return h}};b.Widget=function(a,c){arguments.length&&this._createWidget(a,c)};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(a,c){this.element=b(c).data(this.widgetName,this);this.options=b.extend(true,{},this.options,b.metadata&&b.metadata.get(c)[this.widgetName],a);var d=this;this.element.bind("remove."+this.widgetName,function(){d.destroy()});this._create(); +this._init()},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(a,c){var d=a,e=this;if(arguments.length===0)return b.extend({},e.options);if(typeof a==="string"){if(c===undefined)return this.options[a];d={};d[a]=c}b.each(d,function(f, +h){e._setOption(f,h)});return e},_setOption:function(a,c){this.options[a]=c;if(a==="disabled")this.widget()[c?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",c);return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(a,c,d){var e=this.options[a];c=b.Event(c);c.type=(a===this.widgetEventPrefix?a:this.widgetEventPrefix+a).toLowerCase();d=d||{};if(c.originalEvent){a= +b.event.props.length;for(var f;a;){f=b.event.props[--a];c[f]=c.originalEvent[f]}}this.element.trigger(c,d);return!(b.isFunction(e)&&e.call(this.element[0],c,d)===false||c.isDefaultPrevented())}}})(jQuery); +;/*! + * jQuery UI Mouse 1.8.2 + * + * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Mouse + * + * Depends: + * jquery.ui.widget.js + */ +(function(c){c.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var a=this;this.element.bind("mousedown."+this.widgetName,function(b){return a._mouseDown(b)}).bind("click."+this.widgetName,function(b){if(a._preventClickEvent){a._preventClickEvent=false;b.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(a){a.originalEvent=a.originalEvent||{};if(!a.originalEvent.mouseHandled){this._mouseStarted&& +this._mouseUp(a);this._mouseDownEvent=a;var b=this,e=a.which==1,f=typeof this.options.cancel=="string"?c(a.target).parents().add(a.target).filter(this.options.cancel).length:false;if(!e||f||!this._mouseCapture(a))return true;this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet)this._mouseDelayTimer=setTimeout(function(){b.mouseDelayMet=true},this.options.delay);if(this._mouseDistanceMet(a)&&this._mouseDelayMet(a)){this._mouseStarted=this._mouseStart(a)!==false;if(!this._mouseStarted){a.preventDefault(); +return true}}this._mouseMoveDelegate=function(d){return b._mouseMove(d)};this._mouseUpDelegate=function(d){return b._mouseUp(d)};c(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);c.browser.safari||a.preventDefault();return a.originalEvent.mouseHandled=true}},_mouseMove:function(a){if(c.browser.msie&&!a.button)return this._mouseUp(a);if(this._mouseStarted){this._mouseDrag(a);return a.preventDefault()}if(this._mouseDistanceMet(a)&& +this._mouseDelayMet(a))(this._mouseStarted=this._mouseStart(this._mouseDownEvent,a)!==false)?this._mouseDrag(a):this._mouseUp(a);return!this._mouseStarted},_mouseUp:function(a){c(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;this._preventClickEvent=a.target==this._mouseDownEvent.target;this._mouseStop(a)}return false},_mouseDistanceMet:function(a){return Math.max(Math.abs(this._mouseDownEvent.pageX- +a.pageX),Math.abs(this._mouseDownEvent.pageY-a.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return true}})})(jQuery); +;/* + * jQuery UI Position 1.8.2 + * + * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Position + */ +(function(c){c.ui=c.ui||{};var m=/left|center|right/,n=/top|center|bottom/,p=c.fn.position,q=c.fn.offset;c.fn.position=function(a){if(!a||!a.of)return p.apply(this,arguments);a=c.extend({},a);var b=c(a.of),d=(a.collision||"flip").split(" "),e=a.offset?a.offset.split(" "):[0,0],g,h,i;if(a.of.nodeType===9){g=b.width();h=b.height();i={top:0,left:0}}else if(a.of.scrollTo&&a.of.document){g=b.width();h=b.height();i={top:b.scrollTop(),left:b.scrollLeft()}}else if(a.of.preventDefault){a.at="left top";g=h= +0;i={top:a.of.pageY,left:a.of.pageX}}else{g=b.outerWidth();h=b.outerHeight();i=b.offset()}c.each(["my","at"],function(){var f=(a[this]||"").split(" ");if(f.length===1)f=m.test(f[0])?f.concat(["center"]):n.test(f[0])?["center"].concat(f):["center","center"];f[0]=m.test(f[0])?f[0]:"center";f[1]=n.test(f[1])?f[1]:"center";a[this]=f});if(d.length===1)d[1]=d[0];e[0]=parseInt(e[0],10)||0;if(e.length===1)e[1]=e[0];e[1]=parseInt(e[1],10)||0;if(a.at[0]==="right")i.left+=g;else if(a.at[0]==="center")i.left+= +g/2;if(a.at[1]==="bottom")i.top+=h;else if(a.at[1]==="center")i.top+=h/2;i.left+=e[0];i.top+=e[1];return this.each(function(){var f=c(this),k=f.outerWidth(),l=f.outerHeight(),j=c.extend({},i);if(a.my[0]==="right")j.left-=k;else if(a.my[0]==="center")j.left-=k/2;if(a.my[1]==="bottom")j.top-=l;else if(a.my[1]==="center")j.top-=l/2;j.left=parseInt(j.left);j.top=parseInt(j.top);c.each(["left","top"],function(o,r){c.ui.position[d[o]]&&c.ui.position[d[o]][r](j,{targetWidth:g,targetHeight:h,elemWidth:k, +elemHeight:l,offset:e,my:a.my,at:a.at})});c.fn.bgiframe&&f.bgiframe();f.offset(c.extend(j,{using:a.using}))})};c.ui.position={fit:{left:function(a,b){var d=c(window);b=a.left+b.elemWidth-d.width()-d.scrollLeft();a.left=b>0?a.left-b:Math.max(0,a.left)},top:function(a,b){var d=c(window);b=a.top+b.elemHeight-d.height()-d.scrollTop();a.top=b>0?a.top-b:Math.max(0,a.top)}},flip:{left:function(a,b){if(b.at[0]!=="center"){var d=c(window);d=a.left+b.elemWidth-d.width()-d.scrollLeft();var e=b.my[0]==="left"? +-b.elemWidth:b.my[0]==="right"?b.elemWidth:0,g=-2*b.offset[0];a.left+=a.left<0?e+b.targetWidth+g:d>0?e-b.targetWidth+g:0}},top:function(a,b){if(b.at[1]!=="center"){var d=c(window);d=a.top+b.elemHeight-d.height()-d.scrollTop();var e=b.my[1]==="top"?-b.elemHeight:b.my[1]==="bottom"?b.elemHeight:0,g=b.at[1]==="top"?b.targetHeight:-b.targetHeight,h=-2*b.offset[1];a.top+=a.top<0?e+b.targetHeight+h:d>0?e+g+h:0}}}};if(!c.offset.setOffset){c.offset.setOffset=function(a,b){if(/static/.test(c.curCSS(a,"position")))a.style.position= +"relative";var d=c(a),e=d.offset(),g=parseInt(c.curCSS(a,"top",true),10)||0,h=parseInt(c.curCSS(a,"left",true),10)||0;e={top:b.top-e.top+g,left:b.left-e.left+h};"using"in b?b.using.call(a,e):d.css(e)};c.fn.offset=function(a){var b=this[0];if(!b||!b.ownerDocument)return null;if(a)return this.each(function(){c.offset.setOffset(this,a)});return q.call(this)}}})(jQuery); +;/* + * jQuery UI Resizable 1.8.2 + * + * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Resizables + * + * Depends: + * jquery.ui.core.js + * jquery.ui.mouse.js + * jquery.ui.widget.js + */ +(function(d){d.widget("ui.resizable",d.ui.mouse,{widgetEventPrefix:"resize",options:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,containment:false,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1E3},_create:function(){var b=this,a=this.options;this.element.addClass("ui-resizable");d.extend(this,{_aspectRatio:!!a.aspectRatio,aspectRatio:a.aspectRatio,originalElement:this.element, +_proportionallyResizeElements:[],_helper:a.helper||a.ghost||a.animate?a.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){/relative/.test(this.element.css("position"))&&d.browser.opera&&this.element.css({position:"relative",top:"auto",left:"auto"});this.element.wrap(d('
        ').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(), +top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle= +this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=a.handles||(!d(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne", +nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all")this.handles="n,e,s,w,se,sw,ne,nw";var c=this.handles.split(",");this.handles={};for(var e=0;e
      ');/sw|se|ne|nw/.test(g)&&f.css({zIndex:++a.zIndex});"se"==g&&f.addClass("ui-icon ui-icon-gripsmall-diagonal-se");this.handles[g]=".ui-resizable-"+g;this.element.append(f)}}this._renderAxis=function(h){h=h||this.element;for(var i in this.handles){if(this.handles[i].constructor== +String)this.handles[i]=d(this.handles[i],this.element).show();if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var j=d(this.handles[i],this.element),l=0;l=/sw|ne|nw|se|n|s/.test(i)?j.outerHeight():j.outerWidth();j=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join("");h.css(j,l);this._proportionallyResize()}d(this.handles[i])}};this._renderAxis(this.element);this._handles=d(".ui-resizable-handle",this.element).disableSelection(); +this._handles.mouseover(function(){if(!b.resizing){if(this.className)var h=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);b.axis=h&&h[1]?h[1]:"se"}});if(a.autoHide){this._handles.hide();d(this.element).addClass("ui-resizable-autohide").hover(function(){d(this).removeClass("ui-resizable-autohide");b._handles.show()},function(){if(!b.resizing){d(this).addClass("ui-resizable-autohide");b._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var b=function(c){d(c).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()}; +if(this.elementIsWrapper){b(this.element);var a=this.element;a.after(this.originalElement.css({position:a.css("position"),width:a.outerWidth(),height:a.outerHeight(),top:a.css("top"),left:a.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);b(this.originalElement);return this},_mouseCapture:function(b){var a=false;for(var c in this.handles)if(d(this.handles[c])[0]==b.target)a=true;return!this.options.disabled&&a},_mouseStart:function(b){var a=this.options,c=this.element.position(), +e=this.element;this.resizing=true;this.documentScroll={top:d(document).scrollTop(),left:d(document).scrollLeft()};if(e.is(".ui-draggable")||/absolute/.test(e.css("position")))e.css({position:"absolute",top:c.top,left:c.left});d.browser.opera&&/relative/.test(e.css("position"))&&e.css({position:"relative",top:"auto",left:"auto"});this._renderProxy();c=m(this.helper.css("left"));var g=m(this.helper.css("top"));if(a.containment){c+=d(a.containment).scrollLeft()||0;g+=d(a.containment).scrollTop()||0}this.offset= +this.helper.offset();this.position={left:c,top:g};this.size=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalSize=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalPosition={left:c,top:g};this.sizeDiff={width:e.outerWidth()-e.width(),height:e.outerHeight()-e.height()};this.originalMousePosition={left:b.pageX,top:b.pageY};this.aspectRatio=typeof a.aspectRatio=="number"?a.aspectRatio: +this.originalSize.width/this.originalSize.height||1;a=d(".ui-resizable-"+this.axis).css("cursor");d("body").css("cursor",a=="auto"?this.axis+"-resize":a);e.addClass("ui-resizable-resizing");this._propagate("start",b);return true},_mouseDrag:function(b){var a=this.helper,c=this.originalMousePosition,e=this._change[this.axis];if(!e)return false;c=e.apply(this,[b,b.pageX-c.left||0,b.pageY-c.top||0]);if(this._aspectRatio||b.shiftKey)c=this._updateRatio(c,b);c=this._respectSize(c,b);this._propagate("resize", +b);a.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize();this._updateCache(c);this._trigger("resize",b,this.ui());return false},_mouseStop:function(b){this.resizing=false;var a=this.options,c=this;if(this._helper){var e=this._proportionallyResizeElements,g=e.length&&/textarea/i.test(e[0].nodeName);e=g&&d.ui.hasScroll(e[0],"left")?0:c.sizeDiff.height; +g={width:c.size.width-(g?0:c.sizeDiff.width),height:c.size.height-e};e=parseInt(c.element.css("left"),10)+(c.position.left-c.originalPosition.left)||null;var f=parseInt(c.element.css("top"),10)+(c.position.top-c.originalPosition.top)||null;a.animate||this.element.css(d.extend(g,{top:f,left:e}));c.helper.height(c.size.height);c.helper.width(c.size.width);this._helper&&!a.animate&&this._proportionallyResize()}d("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop", +b);this._helper&&this.helper.remove();return false},_updateCache:function(b){this.offset=this.helper.offset();if(k(b.left))this.position.left=b.left;if(k(b.top))this.position.top=b.top;if(k(b.height))this.size.height=b.height;if(k(b.width))this.size.width=b.width},_updateRatio:function(b){var a=this.position,c=this.size,e=this.axis;if(b.height)b.width=c.height*this.aspectRatio;else if(b.width)b.height=c.width/this.aspectRatio;if(e=="sw"){b.left=a.left+(c.width-b.width);b.top=null}if(e=="nw"){b.top= +a.top+(c.height-b.height);b.left=a.left+(c.width-b.width)}return b},_respectSize:function(b){var a=this.options,c=this.axis,e=k(b.width)&&a.maxWidth&&a.maxWidthb.width,h=k(b.height)&&a.minHeight&&a.minHeight>b.height;if(f)b.width=a.minWidth;if(h)b.height=a.minHeight;if(e)b.width=a.maxWidth;if(g)b.height=a.maxHeight;var i=this.originalPosition.left+this.originalSize.width,j=this.position.top+this.size.height, +l=/sw|nw|w/.test(c);c=/nw|ne|n/.test(c);if(f&&l)b.left=i-a.minWidth;if(e&&l)b.left=i-a.maxWidth;if(h&&c)b.top=j-a.minHeight;if(g&&c)b.top=j-a.maxHeight;if((a=!b.width&&!b.height)&&!b.left&&b.top)b.top=null;else if(a&&!b.top&&b.left)b.left=null;return b},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var b=this.helper||this.element,a=0;a
      ');var a=d.browser.msie&&d.browser.version<7,c=a?1:0;a=a?2:-1;this.helper.addClass(this._helper).css({width:this.element.outerWidth()+a,height:this.element.outerHeight()+a,position:"absolute",left:this.elementOffset.left-c+"px",top:this.elementOffset.top-c+"px",zIndex:++b.zIndex});this.helper.appendTo("body").disableSelection()}else this.helper=this.element},_change:{e:function(b,a){return{width:this.originalSize.width+ +a}},w:function(b,a){return{left:this.originalPosition.left+a,width:this.originalSize.width-a}},n:function(b,a,c){return{top:this.originalPosition.top+c,height:this.originalSize.height-c}},s:function(b,a,c){return{height:this.originalSize.height+c}},se:function(b,a,c){return d.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[b,a,c]))},sw:function(b,a,c){return d.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[b,a,c]))},ne:function(b,a,c){return d.extend(this._change.n.apply(this, +arguments),this._change.e.apply(this,[b,a,c]))},nw:function(b,a,c){return d.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[b,a,c]))}},_propagate:function(b,a){d.ui.plugin.call(this,b,[a,this.ui()]);b!="resize"&&this._trigger(b,a,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});d.extend(d.ui.resizable, +{version:"1.8.2"});d.ui.plugin.add("resizable","alsoResize",{start:function(){var b=d(this).data("resizable").options,a=function(c){d(c).each(function(){d(this).data("resizable-alsoresize",{width:parseInt(d(this).width(),10),height:parseInt(d(this).height(),10),left:parseInt(d(this).css("left"),10),top:parseInt(d(this).css("top"),10)})})};if(typeof b.alsoResize=="object"&&!b.alsoResize.parentNode)if(b.alsoResize.length){b.alsoResize=b.alsoResize[0];a(b.alsoResize)}else d.each(b.alsoResize,function(c){a(c)}); +else a(b.alsoResize)},resize:function(){var b=d(this).data("resizable"),a=b.options,c=b.originalSize,e=b.originalPosition,g={height:b.size.height-c.height||0,width:b.size.width-c.width||0,top:b.position.top-e.top||0,left:b.position.left-e.left||0},f=function(h,i){d(h).each(function(){var j=d(this),l=d(this).data("resizable-alsoresize"),p={};d.each((i&&i.length?i:["width","height","top","left"])||["width","height","top","left"],function(n,o){if((n=(l[o]||0)+(g[o]||0))&&n>=0)p[o]=n||null});if(/relative/.test(j.css("position"))&& +d.browser.opera){b._revertToRelativePosition=true;j.css({position:"absolute",top:"auto",left:"auto"})}j.css(p)})};typeof a.alsoResize=="object"&&!a.alsoResize.nodeType?d.each(a.alsoResize,function(h,i){f(h,i)}):f(a.alsoResize)},stop:function(){var b=d(this).data("resizable");if(b._revertToRelativePosition&&d.browser.opera){b._revertToRelativePosition=false;el.css({position:"relative"})}d(this).removeData("resizable-alsoresize-start")}});d.ui.plugin.add("resizable","animate",{stop:function(b){var a= +d(this).data("resizable"),c=a.options,e=a._proportionallyResizeElements,g=e.length&&/textarea/i.test(e[0].nodeName),f=g&&d.ui.hasScroll(e[0],"left")?0:a.sizeDiff.height;g={width:a.size.width-(g?0:a.sizeDiff.width),height:a.size.height-f};f=parseInt(a.element.css("left"),10)+(a.position.left-a.originalPosition.left)||null;var h=parseInt(a.element.css("top"),10)+(a.position.top-a.originalPosition.top)||null;a.element.animate(d.extend(g,h&&f?{top:h,left:f}:{}),{duration:c.animateDuration,easing:c.animateEasing, +step:function(){var i={width:parseInt(a.element.css("width"),10),height:parseInt(a.element.css("height"),10),top:parseInt(a.element.css("top"),10),left:parseInt(a.element.css("left"),10)};e&&e.length&&d(e[0]).css({width:i.width,height:i.height});a._updateCache(i);a._propagate("resize",b)}})}});d.ui.plugin.add("resizable","containment",{start:function(){var b=d(this).data("resizable"),a=b.element,c=b.options.containment;if(a=c instanceof d?c.get(0):/parent/.test(c)?a.parent().get(0):c){b.containerElement= +d(a);if(/document/.test(c)||c==document){b.containerOffset={left:0,top:0};b.containerPosition={left:0,top:0};b.parentData={element:d(document),left:0,top:0,width:d(document).width(),height:d(document).height()||document.body.parentNode.scrollHeight}}else{var e=d(a),g=[];d(["Top","Right","Left","Bottom"]).each(function(i,j){g[i]=m(e.css("padding"+j))});b.containerOffset=e.offset();b.containerPosition=e.position();b.containerSize={height:e.innerHeight()-g[3],width:e.innerWidth()-g[1]};c=b.containerOffset; +var f=b.containerSize.height,h=b.containerSize.width;h=d.ui.hasScroll(a,"left")?a.scrollWidth:h;f=d.ui.hasScroll(a)?a.scrollHeight:f;b.parentData={element:a,left:c.left,top:c.top,width:h,height:f}}}},resize:function(b){var a=d(this).data("resizable"),c=a.options,e=a.containerOffset,g=a.position;b=a._aspectRatio||b.shiftKey;var f={top:0,left:0},h=a.containerElement;if(h[0]!=document&&/static/.test(h.css("position")))f=e;if(g.left<(a._helper?e.left:0)){a.size.width+=a._helper?a.position.left-e.left: +a.position.left-f.left;if(b)a.size.height=a.size.width/c.aspectRatio;a.position.left=c.helper?e.left:0}if(g.top<(a._helper?e.top:0)){a.size.height+=a._helper?a.position.top-e.top:a.position.top;if(b)a.size.width=a.size.height*c.aspectRatio;a.position.top=a._helper?e.top:0}a.offset.left=a.parentData.left+a.position.left;a.offset.top=a.parentData.top+a.position.top;c=Math.abs((a._helper?a.offset.left-f.left:a.offset.left-f.left)+a.sizeDiff.width);e=Math.abs((a._helper?a.offset.top-f.top:a.offset.top- +e.top)+a.sizeDiff.height);g=a.containerElement.get(0)==a.element.parent().get(0);f=/relative|absolute/.test(a.containerElement.css("position"));if(g&&f)c-=a.parentData.left;if(c+a.size.width>=a.parentData.width){a.size.width=a.parentData.width-c;if(b)a.size.height=a.size.width/a.aspectRatio}if(e+a.size.height>=a.parentData.height){a.size.height=a.parentData.height-e;if(b)a.size.width=a.size.height*a.aspectRatio}},stop:function(){var b=d(this).data("resizable"),a=b.options,c=b.containerOffset,e=b.containerPosition, +g=b.containerElement,f=d(b.helper),h=f.offset(),i=f.outerWidth()-b.sizeDiff.width;f=f.outerHeight()-b.sizeDiff.height;b._helper&&!a.animate&&/relative/.test(g.css("position"))&&d(this).css({left:h.left-e.left-c.left,width:i,height:f});b._helper&&!a.animate&&/static/.test(g.css("position"))&&d(this).css({left:h.left-e.left-c.left,width:i,height:f})}});d.ui.plugin.add("resizable","ghost",{start:function(){var b=d(this).data("resizable"),a=b.options,c=b.size;b.ghost=b.originalElement.clone();b.ghost.css({opacity:0.25, +display:"block",position:"relative",height:c.height,width:c.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof a.ghost=="string"?a.ghost:"");b.ghost.appendTo(b.helper)},resize:function(){var b=d(this).data("resizable");b.ghost&&b.ghost.css({position:"relative",height:b.size.height,width:b.size.width})},stop:function(){var b=d(this).data("resizable");b.ghost&&b.helper&&b.helper.get(0).removeChild(b.ghost.get(0))}});d.ui.plugin.add("resizable","grid",{resize:function(){var b= +d(this).data("resizable"),a=b.options,c=b.size,e=b.originalSize,g=b.originalPosition,f=b.axis;a.grid=typeof a.grid=="number"?[a.grid,a.grid]:a.grid;var h=Math.round((c.width-e.width)/(a.grid[0]||1))*(a.grid[0]||1);a=Math.round((c.height-e.height)/(a.grid[1]||1))*(a.grid[1]||1);if(/^(se|s|e)$/.test(f)){b.size.width=e.width+h;b.size.height=e.height+a}else if(/^(ne)$/.test(f)){b.size.width=e.width+h;b.size.height=e.height+a;b.position.top=g.top-a}else{if(/^(sw)$/.test(f)){b.size.width=e.width+h;b.size.height= +e.height+a}else{b.size.width=e.width+h;b.size.height=e.height+a;b.position.top=g.top-a}b.position.left=g.left-h}}});var m=function(b){return parseInt(b,10)||0},k=function(b){return!isNaN(parseInt(b,10))}})(jQuery); +; +/* + * jQuery UI Selectable 1.8.2 + * + * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Selectables + * + * Depends: + * jquery.ui.core.js + * jquery.ui.mouse.js + * jquery.ui.widget.js + */ +(function(e){e.widget("ui.selectable",e.ui.mouse,{options:{appendTo:"body",autoRefresh:true,distance:0,filter:"*",tolerance:"touch"},_create:function(){var c=this;this.element.addClass("ui-selectable");this.dragged=false;var f;this.refresh=function(){f=e(c.options.filter,c.element[0]);f.each(function(){var d=e(this),b=d.offset();e.data(this,"selectable-item",{element:this,$element:d,left:b.left,top:b.top,right:b.left+d.outerWidth(),bottom:b.top+d.outerHeight(),startselected:false,selected:d.hasClass("ui-selected"), +selecting:d.hasClass("ui-selecting"),unselecting:d.hasClass("ui-unselecting")})})};this.refresh();this.selectees=f.addClass("ui-selectee");this._mouseInit();this.helper=e("
      ")},destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item");this.element.removeClass("ui-selectable ui-selectable-disabled").removeData("selectable").unbind(".selectable");this._mouseDestroy();return this},_mouseStart:function(c){var f=this;this.opos=[c.pageX, +c.pageY];if(!this.options.disabled){var d=this.options;this.selectees=e(d.filter,this.element[0]);this._trigger("start",c);e(d.appendTo).append(this.helper);this.helper.css({"z-index":100,position:"absolute",left:c.clientX,top:c.clientY,width:0,height:0});d.autoRefresh&&this.refresh();this.selectees.filter(".ui-selected").each(function(){var b=e.data(this,"selectable-item");b.startselected=true;if(!c.metaKey){b.$element.removeClass("ui-selected");b.selected=false;b.$element.addClass("ui-unselecting"); +b.unselecting=true;f._trigger("unselecting",c,{unselecting:b.element})}});e(c.target).parents().andSelf().each(function(){var b=e.data(this,"selectable-item");if(b){var g=!c.metaKey||!b.$element.hasClass("ui-selected");b.$element.removeClass(g?"ui-unselecting":"ui-selected").addClass(g?"ui-selecting":"ui-unselecting");b.unselecting=!g;b.selecting=g;(b.selected=g)?f._trigger("selecting",c,{selecting:b.element}):f._trigger("unselecting",c,{unselecting:b.element});return false}})}},_mouseDrag:function(c){var f= +this;this.dragged=true;if(!this.options.disabled){var d=this.options,b=this.opos[0],g=this.opos[1],h=c.pageX,i=c.pageY;if(b>h){var j=h;h=b;b=j}if(g>i){j=i;i=g;g=j}this.helper.css({left:b,top:g,width:h-b,height:i-g});this.selectees.each(function(){var a=e.data(this,"selectable-item");if(!(!a||a.element==f.element[0])){var k=false;if(d.tolerance=="touch")k=!(a.left>h||a.righti||a.bottomb&&a.rightg&&a.bottom")},destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item");this.element.removeClass("ui-selectable ui-selectable-disabled").removeData("selectable").unbind(".selectable");this._mouseDestroy();return this},_mouseStart:function(c){var f=this;this.opos=[c.pageX, +c.pageY];if(!this.options.disabled){var d=this.options;this.selectees=e(d.filter,this.element[0]);this._trigger("start",c);e(d.appendTo).append(this.helper);this.helper.css({"z-index":100,position:"absolute",left:c.clientX,top:c.clientY,width:0,height:0});d.autoRefresh&&this.refresh();this.selectees.filter(".ui-selected").each(function(){var b=e.data(this,"selectable-item");b.startselected=true;if(!c.metaKey){b.$element.removeClass("ui-selected");b.selected=false;b.$element.addClass("ui-unselecting"); +b.unselecting=true;f._trigger("unselecting",c,{unselecting:b.element})}});e(c.target).parents().andSelf().each(function(){var b=e.data(this,"selectable-item");if(b){var g=!c.metaKey||!b.$element.hasClass("ui-selected");b.$element.removeClass(g?"ui-unselecting":"ui-selected").addClass(g?"ui-selecting":"ui-unselecting");b.unselecting=!g;b.selecting=g;(b.selected=g)?f._trigger("selecting",c,{selecting:b.element}):f._trigger("unselecting",c,{unselecting:b.element});return false}})}},_mouseDrag:function(c){var f= +this;this.dragged=true;if(!this.options.disabled){var d=this.options,b=this.opos[0],g=this.opos[1],h=c.pageX,i=c.pageY;if(b>h){var j=h;h=b;b=j}if(g>i){j=i;i=g;g=j}this.helper.css({left:b,top:g,width:h-b,height:i-g});this.selectees.each(function(){var a=e.data(this,"selectable-item");if(!(!a||a.element==f.element[0])){var k=false;if(d.tolerance=="touch")k=!(a.left>h||a.righti||a.bottomb&&a.rightg&&a.bottom
    ").addClass("ui-autocomplete").appendTo("body",c).mousedown(function(){setTimeout(function(){clearTimeout(a.closing)},13)}).menu({focus:function(d,b){b=b.item.data("item.autocomplete"); +false!==a._trigger("focus",null,{item:b})&&/^key/.test(d.originalEvent.type)&&a.element.val(b.value)},selected:function(d,b){b=b.item.data("item.autocomplete");false!==a._trigger("select",d,{item:b})&&a.element.val(b.value);a.close(d);d=a.previous;if(a.element[0]!==c.activeElement){a.element.focus();a.previous=d}a.selectedItem=b},blur:function(){a.menu.element.is(":visible")&&a.element.val(a.term)}}).zIndex(this.element.zIndex()+1).css({top:0,left:0}).hide().data("menu");e.fn.bgiframe&&this.menu.element.bgiframe()}, +destroy:function(){this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete").removeAttr("role").removeAttr("aria-autocomplete").removeAttr("aria-haspopup");this.menu.element.remove();e.Widget.prototype.destroy.call(this)},_setOption:function(a){e.Widget.prototype._setOption.apply(this,arguments);a==="source"&&this._initSource()},_initSource:function(){var a,c;if(e.isArray(this.options.source)){a=this.options.source;this.source=function(d,b){b(e.ui.autocomplete.filter(a,d.term))}}else if(typeof this.options.source=== +"string"){c=this.options.source;this.source=function(d,b){e.getJSON(c,d,b)}}else this.source=this.options.source},search:function(a,c){a=a!=null?a:this.element.val();if(a.length").data("item.autocomplete", +c).append(""+c.label+"").appendTo(a)},_move:function(a,c){if(this.menu.element.is(":visible"))if(this.menu.first()&&/^previous/.test(a)||this.menu.last()&&/^next/.test(a)){this.element.val(this.term);this.menu.deactivate()}else this.menu[a](c);else this.search(null,c)},widget:function(){return this.menu.element}});e.extend(e.ui.autocomplete,{escapeRegex:function(a){return a.replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi,"\\$1")},filter:function(a,c){var d=new RegExp(e.ui.autocomplete.escapeRegex(c), +"i");return e.grep(a,function(b){return d.test(b.label||b.value||b)})}})})(jQuery); +(function(e){e.widget("ui.menu",{_create:function(){var a=this;this.element.addClass("ui-menu ui-widget ui-widget-content ui-corner-all").attr({role:"listbox","aria-activedescendant":"ui-active-menuitem"}).click(function(c){if(e(c.target).closest(".ui-menu-item a").length){c.preventDefault();a.select(c)}});this.refresh()},refresh:function(){var a=this;this.element.children("li:not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","menuitem").children("a").addClass("ui-corner-all").attr("tabindex", +-1).mouseenter(function(c){a.activate(c,e(this).parent())}).mouseleave(function(){a.deactivate()})},activate:function(a,c){this.deactivate();if(this.hasScroll()){var d=c.offset().top-this.element.offset().top,b=this.element.attr("scrollTop"),f=this.element.height();if(d<0)this.element.attr("scrollTop",b+d);else d>f&&this.element.attr("scrollTop",b+d-f+c.height())}this.active=c.eq(0).children("a").addClass("ui-state-hover").attr("id","ui-active-menuitem").end();this._trigger("focus",a,{item:c})},deactivate:function(){if(this.active){this.active.children("a").removeClass("ui-state-hover").removeAttr("id"); +this._trigger("blur");this.active=null}},next:function(a){this.move("next",".ui-menu-item:first",a)},previous:function(a){this.move("prev",".ui-menu-item:last",a)},first:function(){return this.active&&!this.active.prev().length},last:function(){return this.active&&!this.active.next().length},move:function(a,c,d){if(this.active){a=this.active[a+"All"](".ui-menu-item").eq(0);a.length?this.activate(d,a):this.activate(d,this.element.children(c))}else this.activate(d,this.element.children(c))},nextPage:function(a){if(this.hasScroll())if(!this.active|| +this.last())this.activate(a,this.element.children(":first"));else{var c=this.active.offset().top,d=this.element.height(),b=this.element.children("li").filter(function(){var f=e(this).offset().top-c-d+e(this).height();return f<10&&f>-10});b.length||(b=this.element.children(":last"));this.activate(a,b)}else this.activate(a,this.element.children(!this.active||this.last()?":first":":last"))},previousPage:function(a){if(this.hasScroll())if(!this.active||this.first())this.activate(a,this.element.children(":last")); +else{var c=this.active.offset().top,d=this.element.height();result=this.element.children("li").filter(function(){var b=e(this).offset().top-c+d-e(this).height();return b<10&&b>-10});result.length||(result=this.element.children(":first"));this.activate(a,result)}else this.activate(a,this.element.children(!this.active||this.first()?":last":":first"))},hasScroll:function(){return this.element.height()").addClass("ui-button-text").html(this.options.label).appendTo(b.empty()).text(),d=this.options.icons,e=d.primary&&d.secondary;if(d.primary||d.secondary){b.addClass("ui-button-text-icon"+(e?"s":""));d.primary&&b.prepend("");d.secondary&&b.append("");if(!this.options.text){b.addClass(e?"ui-button-icons-only":"ui-button-icon-only").removeClass("ui-button-text-icons ui-button-text-icon"); +this.hasTitle||b.attr("title",c)}}else b.addClass("ui-button-text-only")}}});a.widget("ui.buttonset",{_create:function(){this.element.addClass("ui-buttonset");this._init()},_init:function(){this.refresh()},_setOption:function(b,c){b==="disabled"&&this.buttons.button("option",b,c);a.Widget.prototype._setOption.apply(this,arguments)},refresh:function(){this.buttons=this.element.find(":button, :submit, :reset, :checkbox, :radio, a, :data(button)").filter(":ui-button").button("refresh").end().not(":ui-button").button().end().map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass("ui-corner-left").end().filter(":last").addClass("ui-corner-right").end().end()}, +destroy:function(){this.element.removeClass("ui-buttonset");this.buttons.map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy");a.Widget.prototype.destroy.call(this)}})})(jQuery); +;/* + * jQuery UI Dialog 1.8.2 + * + * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Dialog + * + * Depends: + * jquery.ui.core.js + * jquery.ui.widget.js + * jquery.ui.button.js + * jquery.ui.draggable.js + * jquery.ui.mouse.js + * jquery.ui.position.js + * jquery.ui.resizable.js + */ +(function(c){c.widget("ui.dialog",{options:{autoOpen:true,buttons:{},closeOnEscape:true,closeText:"close",dialogClass:"",draggable:true,hide:null,height:"auto",maxHeight:false,maxWidth:false,minHeight:150,minWidth:150,modal:false,position:"center",resizable:true,show:null,stack:true,title:"",width:300,zIndex:1E3},_create:function(){this.originalTitle=this.element.attr("title");var a=this,b=a.options,d=b.title||a.originalTitle||" ",e=c.ui.dialog.getTitleId(a.element),g=(a.uiDialog=c("
    ")).appendTo(document.body).hide().addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+ +b.dialogClass).css({zIndex:b.zIndex}).attr("tabIndex",-1).css("outline",0).keydown(function(i){if(b.closeOnEscape&&i.keyCode&&i.keyCode===c.ui.keyCode.ESCAPE){a.close(i);i.preventDefault()}}).attr({role:"dialog","aria-labelledby":e}).mousedown(function(i){a.moveToTop(false,i)});a.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(g);var f=(a.uiDialogTitlebar=c("
    ")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(g), +h=c('').addClass("ui-dialog-titlebar-close ui-corner-all").attr("role","button").hover(function(){h.addClass("ui-state-hover")},function(){h.removeClass("ui-state-hover")}).focus(function(){h.addClass("ui-state-focus")}).blur(function(){h.removeClass("ui-state-focus")}).click(function(i){a.close(i);return false}).appendTo(f);(a.uiDialogTitlebarCloseText=c("")).addClass("ui-icon ui-icon-closethick").text(b.closeText).appendTo(h);c("").addClass("ui-dialog-title").attr("id", +e).html(d).prependTo(f);if(c.isFunction(b.beforeclose)&&!c.isFunction(b.beforeClose))b.beforeClose=b.beforeclose;f.find("*").add(f).disableSelection();b.draggable&&c.fn.draggable&&a._makeDraggable();b.resizable&&c.fn.resizable&&a._makeResizable();a._createButtons(b.buttons);a._isOpen=false;c.fn.bgiframe&&g.bgiframe()},_init:function(){this.options.autoOpen&&this.open()},destroy:function(){var a=this;a.overlay&&a.overlay.destroy();a.uiDialog.hide();a.element.unbind(".dialog").removeData("dialog").removeClass("ui-dialog-content ui-widget-content").hide().appendTo("body"); +a.uiDialog.remove();a.originalTitle&&a.element.attr("title",a.originalTitle);return a},widget:function(){return this.uiDialog},close:function(a){var b=this,d;if(false!==b._trigger("beforeClose",a)){b.overlay&&b.overlay.destroy();b.uiDialog.unbind("keypress.ui-dialog");b._isOpen=false;if(b.options.hide)b.uiDialog.hide(b.options.hide,function(){b._trigger("close",a)});else{b.uiDialog.hide();b._trigger("close",a)}c.ui.dialog.overlay.resize();if(b.options.modal){d=0;c(".ui-dialog").each(function(){if(this!== +b.uiDialog[0])d=Math.max(d,c(this).css("z-index"))});c.ui.dialog.maxZ=d}return b}},isOpen:function(){return this._isOpen},moveToTop:function(a,b){var d=this,e=d.options;if(e.modal&&!a||!e.stack&&!e.modal)return d._trigger("focus",b);if(e.zIndex>c.ui.dialog.maxZ)c.ui.dialog.maxZ=e.zIndex;if(d.overlay){c.ui.dialog.maxZ+=1;d.overlay.$el.css("z-index",c.ui.dialog.overlay.maxZ=c.ui.dialog.maxZ)}a={scrollTop:d.element.attr("scrollTop"),scrollLeft:d.element.attr("scrollLeft")};c.ui.dialog.maxZ+=1;d.uiDialog.css("z-index", +c.ui.dialog.maxZ);d.element.attr(a);d._trigger("focus",b);return d},open:function(){if(!this._isOpen){var a=this,b=a.options,d=a.uiDialog;a.overlay=b.modal?new c.ui.dialog.overlay(a):null;d.next().length&&d.appendTo("body");a._size();a._position(b.position);d.show(b.show);a.moveToTop(true);b.modal&&d.bind("keypress.ui-dialog",function(e){if(e.keyCode===c.ui.keyCode.TAB){var g=c(":tabbable",this),f=g.filter(":first");g=g.filter(":last");if(e.target===g[0]&&!e.shiftKey){f.focus(1);return false}else if(e.target=== +f[0]&&e.shiftKey){g.focus(1);return false}}});c([]).add(d.find(".ui-dialog-content :tabbable:first")).add(d.find(".ui-dialog-buttonpane :tabbable:first")).add(d).filter(":first").focus();a._trigger("open");a._isOpen=true;return a}},_createButtons:function(a){var b=this,d=false,e=c("
    ").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix");b.uiDialog.find(".ui-dialog-buttonpane").remove();typeof a==="object"&&a!==null&&c.each(a,function(){return!(d=true)});if(d){c.each(a, +function(g,f){g=c('').text(g).click(function(){f.apply(b.element[0],arguments)}).appendTo(e);c.fn.button&&g.button()});e.appendTo(b.uiDialog)}},_makeDraggable:function(){function a(f){return{position:f.position,offset:f.offset}}var b=this,d=b.options,e=c(document),g;b.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(f,h){g=d.height==="auto"?"auto":c(this).height();c(this).height(c(this).height()).addClass("ui-dialog-dragging"); +b._trigger("dragStart",f,a(h))},drag:function(f,h){b._trigger("drag",f,a(h))},stop:function(f,h){d.position=[h.position.left-e.scrollLeft(),h.position.top-e.scrollTop()];c(this).removeClass("ui-dialog-dragging").height(g);b._trigger("dragStop",f,a(h));c.ui.dialog.overlay.resize()}})},_makeResizable:function(a){function b(f){return{originalPosition:f.originalPosition,originalSize:f.originalSize,position:f.position,size:f.size}}a=a===undefined?this.options.resizable:a;var d=this,e=d.options,g=d.uiDialog.css("position"); +a=typeof a==="string"?a:"n,e,s,w,se,sw,ne,nw";d.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:d.element,maxWidth:e.maxWidth,maxHeight:e.maxHeight,minWidth:e.minWidth,minHeight:d._minHeight(),handles:a,start:function(f,h){c(this).addClass("ui-dialog-resizing");d._trigger("resizeStart",f,b(h))},resize:function(f,h){d._trigger("resize",f,b(h))},stop:function(f,h){c(this).removeClass("ui-dialog-resizing");e.height=c(this).height();e.width=c(this).width();d._trigger("resizeStop", +f,b(h));c.ui.dialog.overlay.resize()}}).css("position",g).find(".ui-resizable-se").addClass("ui-icon ui-icon-grip-diagonal-se")},_minHeight:function(){var a=this.options;return a.height==="auto"?a.minHeight:Math.min(a.minHeight,a.height)},_position:function(a){var b=[],d=[0,0];a=a||c.ui.dialog.prototype.options.position;if(typeof a==="string"||typeof a==="object"&&"0"in a){b=a.split?a.split(" "):[a[0],a[1]];if(b.length===1)b[1]=b[0];c.each(["left","top"],function(e,g){if(+b[e]===b[e]){d[e]=b[e];b[e]= +g}})}else if(typeof a==="object"){if("left"in a){b[0]="left";d[0]=a.left}else if("right"in a){b[0]="right";d[0]=-a.right}if("top"in a){b[1]="top";d[1]=a.top}else if("bottom"in a){b[1]="bottom";d[1]=-a.bottom}}(a=this.uiDialog.is(":visible"))||this.uiDialog.show();this.uiDialog.css({top:0,left:0}).position({my:b.join(" "),at:b.join(" "),offset:d.join(" "),of:window,collision:"fit",using:function(e){var g=c(this).css(e).offset().top;g<0&&c(this).css("top",e.top-g)}});a||this.uiDialog.hide()},_setOption:function(a, +b){var d=this,e=d.uiDialog,g=e.is(":data(resizable)"),f=false;switch(a){case "beforeclose":a="beforeClose";break;case "buttons":d._createButtons(b);break;case "closeText":d.uiDialogTitlebarCloseText.text(""+b);break;case "dialogClass":e.removeClass(d.options.dialogClass).addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+b);break;case "disabled":b?e.addClass("ui-dialog-disabled"):e.removeClass("ui-dialog-disabled");break;case "draggable":b?d._makeDraggable():e.draggable("destroy");break; +case "height":f=true;break;case "maxHeight":g&&e.resizable("option","maxHeight",b);f=true;break;case "maxWidth":g&&e.resizable("option","maxWidth",b);f=true;break;case "minHeight":g&&e.resizable("option","minHeight",b);f=true;break;case "minWidth":g&&e.resizable("option","minWidth",b);f=true;break;case "position":d._position(b);break;case "resizable":g&&!b&&e.resizable("destroy");g&&typeof b==="string"&&e.resizable("option","handles",b);!g&&b!==false&&d._makeResizable(b);break;case "title":c(".ui-dialog-title", +d.uiDialogTitlebar).html(""+(b||" "));break;case "width":f=true;break}c.Widget.prototype._setOption.apply(d,arguments);f&&d._size()},_size:function(){var a=this.options,b;this.element.css({width:"auto",minHeight:0,height:0});b=this.uiDialog.css({height:"auto",width:a.width}).height();this.element.css(a.height==="auto"?{minHeight:Math.max(a.minHeight-b,0),height:"auto"}:{minHeight:0,height:Math.max(a.height-b,0)}).show();this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option","minHeight", +this._minHeight())}});c.extend(c.ui.dialog,{version:"1.8.2",uuid:0,maxZ:0,getTitleId:function(a){a=a.attr("id");if(!a){this.uuid+=1;a=this.uuid}return"ui-dialog-title-"+a},overlay:function(a){this.$el=c.ui.dialog.overlay.create(a)}});c.extend(c.ui.dialog.overlay,{instances:[],oldInstances:[],maxZ:0,events:c.map("focus,mousedown,mouseup,keydown,keypress,click".split(","),function(a){return a+".dialog-overlay"}).join(" "),create:function(a){if(this.instances.length===0){setTimeout(function(){c.ui.dialog.overlay.instances.length&& +c(document).bind(c.ui.dialog.overlay.events,function(d){return c(d.target).zIndex()>=c.ui.dialog.overlay.maxZ})},1);c(document).bind("keydown.dialog-overlay",function(d){if(a.options.closeOnEscape&&d.keyCode&&d.keyCode===c.ui.keyCode.ESCAPE){a.close(d);d.preventDefault()}});c(window).bind("resize.dialog-overlay",c.ui.dialog.overlay.resize)}var b=(this.oldInstances.pop()||c("
    ").addClass("ui-widget-overlay")).appendTo(document.body).css({width:this.width(),height:this.height()});c.fn.bgiframe&& +b.bgiframe();this.instances.push(b);return b},destroy:function(a){this.oldInstances.push(this.instances.splice(c.inArray(a,this.instances),1)[0]);this.instances.length===0&&c([document,window]).unbind(".dialog-overlay");a.remove();var b=0;c.each(this.instances,function(){b=Math.max(b,this.css("z-index"))});this.maxZ=b},height:function(){var a,b;if(c.browser.msie&&c.browser.version<7){a=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight);b=Math.max(document.documentElement.offsetHeight, +document.body.offsetHeight);return a",remove:null,select:null,show:null,spinner:"Loading…",tabTemplate:'
  • #{label}
  • '},_create:function(){this._tabify(true)},_setOption:function(c,e){if(c=="selected")this.options.collapsible&& +e==this.options.selected||this.select(e);else{this.options[c]=e;this._tabify()}},_tabId:function(c){return c.title&&c.title.replace(/\s/g,"_").replace(/[^A-Za-z0-9\-_:\.]/g,"")||this.options.idPrefix+s()},_sanitizeSelector:function(c){return c.replace(/:/g,"\\:")},_cookie:function(){var c=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+v());return d.cookie.apply(null,[c].concat(d.makeArray(arguments)))},_ui:function(c,e){return{tab:c,panel:e,index:this.anchors.index(c)}},_cleanup:function(){this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function(){var c= +d(this);c.html(c.data("label.tabs")).removeData("label.tabs")})},_tabify:function(c){function e(g,f){g.css({display:""});!d.support.opacity&&f.opacity&&g[0].style.removeAttribute("filter")}this.list=this.element.find("ol,ul").eq(0);this.lis=d("li:has(a[href])",this.list);this.anchors=this.lis.map(function(){return d("a",this)[0]});this.panels=d([]);var a=this,b=this.options,h=/^#.+/;this.anchors.each(function(g,f){var j=d(f).attr("href"),l=j.split("#")[0],p;if(l&&(l===location.toString().split("#")[0]|| +(p=d("base")[0])&&l===p.href)){j=f.hash;f.href=j}if(h.test(j))a.panels=a.panels.add(a._sanitizeSelector(j));else if(j!="#"){d.data(f,"href.tabs",j);d.data(f,"load.tabs",j.replace(/#.*$/,""));j=a._tabId(f);f.href="#"+j;f=d("#"+j);if(!f.length){f=d(b.panelTemplate).attr("id",j).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(a.panels[g-1]||a.list);f.data("destroy.tabs",true)}a.panels=a.panels.add(f)}else b.disabled.push(g)});if(c){this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all"); +this.list.addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.lis.addClass("ui-state-default ui-corner-top");this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom");if(b.selected===undefined){location.hash&&this.anchors.each(function(g,f){if(f.hash==location.hash){b.selected=g;return false}});if(typeof b.selected!="number"&&b.cookie)b.selected=parseInt(a._cookie(),10);if(typeof b.selected!="number"&&this.lis.filter(".ui-tabs-selected").length)b.selected= +this.lis.index(this.lis.filter(".ui-tabs-selected"));b.selected=b.selected||(this.lis.length?0:-1)}else if(b.selected===null)b.selected=-1;b.selected=b.selected>=0&&this.anchors[b.selected]||b.selected<0?b.selected:0;b.disabled=d.unique(b.disabled.concat(d.map(this.lis.filter(".ui-state-disabled"),function(g){return a.lis.index(g)}))).sort();d.inArray(b.selected,b.disabled)!=-1&&b.disabled.splice(d.inArray(b.selected,b.disabled),1);this.panels.addClass("ui-tabs-hide");this.lis.removeClass("ui-tabs-selected ui-state-active"); +if(b.selected>=0&&this.anchors.length){this.panels.eq(b.selected).removeClass("ui-tabs-hide");this.lis.eq(b.selected).addClass("ui-tabs-selected ui-state-active");a.element.queue("tabs",function(){a._trigger("show",null,a._ui(a.anchors[b.selected],a.panels[b.selected]))});this.load(b.selected)}d(window).bind("unload",function(){a.lis.add(a.anchors).unbind(".tabs");a.lis=a.anchors=a.panels=null})}else b.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"));this.element[b.collapsible?"addClass": +"removeClass"]("ui-tabs-collapsible");b.cookie&&this._cookie(b.selected,b.cookie);c=0;for(var i;i=this.lis[c];c++)d(i)[d.inArray(c,b.disabled)!=-1&&!d(i).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled");b.cache===false&&this.anchors.removeData("cache.tabs");this.lis.add(this.anchors).unbind(".tabs");if(b.event!="mouseover"){var k=function(g,f){f.is(":not(.ui-state-disabled)")&&f.addClass("ui-state-"+g)},n=function(g,f){f.removeClass("ui-state-"+g)};this.lis.bind("mouseover.tabs", +function(){k("hover",d(this))});this.lis.bind("mouseout.tabs",function(){n("hover",d(this))});this.anchors.bind("focus.tabs",function(){k("focus",d(this).closest("li"))});this.anchors.bind("blur.tabs",function(){n("focus",d(this).closest("li"))})}var m,o;if(b.fx)if(d.isArray(b.fx)){m=b.fx[0];o=b.fx[1]}else m=o=b.fx;var q=o?function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.hide().removeClass("ui-tabs-hide").animate(o,o.duration||"normal",function(){e(f,o);a._trigger("show", +null,a._ui(g,f[0]))})}:function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.removeClass("ui-tabs-hide");a._trigger("show",null,a._ui(g,f[0]))},r=m?function(g,f){f.animate(m,m.duration||"normal",function(){a.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");e(f,m);a.element.dequeue("tabs")})}:function(g,f){a.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");a.element.dequeue("tabs")};this.anchors.bind(b.event+".tabs", +function(){var g=this,f=d(this).closest("li"),j=a.panels.filter(":not(.ui-tabs-hide)"),l=d(a._sanitizeSelector(this.hash));if(f.hasClass("ui-tabs-selected")&&!b.collapsible||f.hasClass("ui-state-disabled")||f.hasClass("ui-state-processing")||a._trigger("select",null,a._ui(this,l[0]))===false){this.blur();return false}b.selected=a.anchors.index(this);a.abort();if(b.collapsible)if(f.hasClass("ui-tabs-selected")){b.selected=-1;b.cookie&&a._cookie(b.selected,b.cookie);a.element.queue("tabs",function(){r(g, +j)}).dequeue("tabs");this.blur();return false}else if(!j.length){b.cookie&&a._cookie(b.selected,b.cookie);a.element.queue("tabs",function(){q(g,l)});a.load(a.anchors.index(this));this.blur();return false}b.cookie&&a._cookie(b.selected,b.cookie);if(l.length){j.length&&a.element.queue("tabs",function(){r(g,j)});a.element.queue("tabs",function(){q(g,l)});a.load(a.anchors.index(this))}else throw"jQuery UI Tabs: Mismatching fragment identifier.";d.browser.msie&&this.blur()});this.anchors.bind("click.tabs", +function(){return false})},destroy:function(){var c=this.options;this.abort();this.element.unbind(".tabs").removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible").removeData("tabs");this.list.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.anchors.each(function(){var e=d.data(this,"href.tabs");if(e)this.href=e;var a=d(this).unbind(".tabs");d.each(["href","load","cache"],function(b,h){a.removeData(h+".tabs")})});this.lis.unbind(".tabs").add(this.panels).each(function(){d.data(this, +"destroy.tabs")?d(this).remove():d(this).removeClass("ui-state-default ui-corner-top ui-tabs-selected ui-state-active ui-state-hover ui-state-focus ui-state-disabled ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide")});c.cookie&&this._cookie(null,c.cookie);return this},add:function(c,e,a){if(a===undefined)a=this.anchors.length;var b=this,h=this.options;e=d(h.tabTemplate.replace(/#\{href\}/g,c).replace(/#\{label\}/g,e));c=!c.indexOf("#")?c.replace("#",""):this._tabId(d("a",e)[0]);e.addClass("ui-state-default ui-corner-top").data("destroy.tabs", +true);var i=d("#"+c);i.length||(i=d(h.panelTemplate).attr("id",c).data("destroy.tabs",true));i.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide");if(a>=this.lis.length){e.appendTo(this.list);i.appendTo(this.list[0].parentNode)}else{e.insertBefore(this.lis[a]);i.insertBefore(this.panels[a])}h.disabled=d.map(h.disabled,function(k){return k>=a?++k:k});this._tabify();if(this.anchors.length==1){h.selected=0;e.addClass("ui-tabs-selected ui-state-active");i.removeClass("ui-tabs-hide"); +this.element.queue("tabs",function(){b._trigger("show",null,b._ui(b.anchors[0],b.panels[0]))});this.load(0)}this._trigger("add",null,this._ui(this.anchors[a],this.panels[a]));return this},remove:function(c){var e=this.options,a=this.lis.eq(c).remove(),b=this.panels.eq(c).remove();if(a.hasClass("ui-tabs-selected")&&this.anchors.length>1)this.select(c+(c+1=c?--h:h});this._tabify();this._trigger("remove", +null,this._ui(a.find("a")[0],b[0]));return this},enable:function(c){var e=this.options;if(d.inArray(c,e.disabled)!=-1){this.lis.eq(c).removeClass("ui-state-disabled");e.disabled=d.grep(e.disabled,function(a){return a!=c});this._trigger("enable",null,this._ui(this.anchors[c],this.panels[c]));return this}},disable:function(c){var e=this.options;if(c!=e.selected){this.lis.eq(c).addClass("ui-state-disabled");e.disabled.push(c);e.disabled.sort();this._trigger("disable",null,this._ui(this.anchors[c],this.panels[c]))}return this}, +select:function(c){if(typeof c=="string")c=this.anchors.index(this.anchors.filter("[href$="+c+"]"));else if(c===null)c=-1;if(c==-1&&this.options.collapsible)c=this.options.selected;this.anchors.eq(c).trigger(this.options.event+".tabs");return this},load:function(c){var e=this,a=this.options,b=this.anchors.eq(c)[0],h=d.data(b,"load.tabs");this.abort();if(!h||this.element.queue("tabs").length!==0&&d.data(b,"cache.tabs"))this.element.dequeue("tabs");else{this.lis.eq(c).addClass("ui-state-processing"); +if(a.spinner){var i=d("span",b);i.data("label.tabs",i.html()).html(a.spinner)}this.xhr=d.ajax(d.extend({},a.ajaxOptions,{url:h,success:function(k,n){d(e._sanitizeSelector(b.hash)).html(k);e._cleanup();a.cache&&d.data(b,"cache.tabs",true);e._trigger("load",null,e._ui(e.anchors[c],e.panels[c]));try{a.ajaxOptions.success(k,n)}catch(m){}},error:function(k,n){e._cleanup();e._trigger("load",null,e._ui(e.anchors[c],e.panels[c]));try{a.ajaxOptions.error(k,n,c,b)}catch(m){}}}));e.element.dequeue("tabs");return this}}, +abort:function(){this.element.queue([]);this.panels.stop(false,true);this.element.queue("tabs",this.element.queue("tabs").splice(-2,2));if(this.xhr){this.xhr.abort();delete this.xhr}this._cleanup();return this},url:function(c,e){this.anchors.eq(c).removeData("cache.tabs").data("load.tabs",e);return this},length:function(){return this.anchors.length}});d.extend(d.ui.tabs,{version:"1.8.2"});d.extend(d.ui.tabs.prototype,{rotation:null,rotate:function(c,e){var a=this,b=this.options,h=a._rotate||(a._rotate= +function(i){clearTimeout(a.rotation);a.rotation=setTimeout(function(){var k=b.selected;a.select(++k").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0});c.wrap(b);b=c.parent();if(c.css("position")=="static"){b.css({position:"relative"});c.css({position:"relative"})}else{f.extend(a,{position:c.css("position"),zIndex:c.css("z-index")});f.each(["top","left","bottom","right"],function(d,e){a[e]=c.css(e);if(isNaN(parseInt(a[e],10)))a[e]="auto"}); +c.css({position:"relative",top:0,left:0})}return b.css(a).show()},removeWrapper:function(c){if(c.parent().is(".ui-effects-wrapper"))return c.parent().replaceWith(c);return c},setTransition:function(c,a,b,d){d=d||{};f.each(a,function(e,g){unit=c.cssUnit(g);if(unit[0]>0)d[g]=unit[0]*b+unit[1]});return d}});f.fn.extend({effect:function(c){var a=j.apply(this,arguments);a={options:a[1],duration:a[2],callback:a[3]};var b=f.effects[c];return b&&!f.fx.off?b.call(this,a):this},_show:f.fn.show,show:function(c){if(!c|| +typeof c=="number"||f.fx.speeds[c])return this._show.apply(this,arguments);else{var a=j.apply(this,arguments);a[1].mode="show";return this.effect.apply(this,a)}},_hide:f.fn.hide,hide:function(c){if(!c||typeof c=="number"||f.fx.speeds[c])return this._hide.apply(this,arguments);else{var a=j.apply(this,arguments);a[1].mode="hide";return this.effect.apply(this,a)}},__toggle:f.fn.toggle,toggle:function(c){if(!c||typeof c=="number"||f.fx.speeds[c]||typeof c=="boolean"||f.isFunction(c))return this.__toggle.apply(this, +arguments);else{var a=j.apply(this,arguments);a[1].mode="toggle";return this.effect.apply(this,a)}},cssUnit:function(c){var a=this.css(c),b=[];f.each(["em","px","%","pt"],function(d,e){if(a.indexOf(e)>0)b=[parseFloat(a),e]});return b}});f.easing.jswing=f.easing.swing;f.extend(f.easing,{def:"easeOutQuad",swing:function(c,a,b,d,e){return f.easing[f.easing.def](c,a,b,d,e)},easeInQuad:function(c,a,b,d,e){return d*(a/=e)*a+b},easeOutQuad:function(c,a,b,d,e){return-d*(a/=e)*(a-2)+b},easeInOutQuad:function(c, +a,b,d,e){if((a/=e/2)<1)return d/2*a*a+b;return-d/2*(--a*(a-2)-1)+b},easeInCubic:function(c,a,b,d,e){return d*(a/=e)*a*a+b},easeOutCubic:function(c,a,b,d,e){return d*((a=a/e-1)*a*a+1)+b},easeInOutCubic:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a+b;return d/2*((a-=2)*a*a+2)+b},easeInQuart:function(c,a,b,d,e){return d*(a/=e)*a*a*a+b},easeOutQuart:function(c,a,b,d,e){return-d*((a=a/e-1)*a*a*a-1)+b},easeInOutQuart:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a*a+b;return-d/2*((a-=2)*a*a*a-2)+ +b},easeInQuint:function(c,a,b,d,e){return d*(a/=e)*a*a*a*a+b},easeOutQuint:function(c,a,b,d,e){return d*((a=a/e-1)*a*a*a*a+1)+b},easeInOutQuint:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a*a*a+b;return d/2*((a-=2)*a*a*a*a+2)+b},easeInSine:function(c,a,b,d,e){return-d*Math.cos(a/e*(Math.PI/2))+d+b},easeOutSine:function(c,a,b,d,e){return d*Math.sin(a/e*(Math.PI/2))+b},easeInOutSine:function(c,a,b,d,e){return-d/2*(Math.cos(Math.PI*a/e)-1)+b},easeInExpo:function(c,a,b,d,e){return a==0?b:d*Math.pow(2, +10*(a/e-1))+b},easeOutExpo:function(c,a,b,d,e){return a==e?b+d:d*(-Math.pow(2,-10*a/e)+1)+b},easeInOutExpo:function(c,a,b,d,e){if(a==0)return b;if(a==e)return b+d;if((a/=e/2)<1)return d/2*Math.pow(2,10*(a-1))+b;return d/2*(-Math.pow(2,-10*--a)+2)+b},easeInCirc:function(c,a,b,d,e){return-d*(Math.sqrt(1-(a/=e)*a)-1)+b},easeOutCirc:function(c,a,b,d,e){return d*Math.sqrt(1-(a=a/e-1)*a)+b},easeInOutCirc:function(c,a,b,d,e){if((a/=e/2)<1)return-d/2*(Math.sqrt(1-a*a)-1)+b;return d/2*(Math.sqrt(1-(a-=2)* +a)+1)+b},easeInElastic:function(c,a,b,d,e){c=1.70158;var g=0,h=d;if(a==0)return b;if((a/=e)==1)return b+d;g||(g=e*0.3);if(hO2OoUN%=0JX(r5?`adVN+ z3ZcjShtEC=<`y6XE+_eO^erZ3d-M{pDqy}DECVq25;pACB^>YBH z$E0&qu+(2*TfxCKvtSsM)-l0QW?!9?)ZPU0EBL%BX_c%g(X8RF&34*!)oZ4XRcVHz zBNsNkrnU@NXw#{3oo2bD=9*fZ3NF1;l!A5M0mnq2n1l7^fMeP`!W$bFVB+L)tQHnK zEXE<2tAp8M4>6z?rzl&Q9_MfHxh>ih= z$g;9=WKY7Gcj;;IBvRi{;JU9XEczB&?I**-v}RRRV9JKSlBGqT?n|hQV01IK)59a| t>_S@PWkKlK01oMw@pjEVpN literal 0 HcmV?d00001 diff --git a/doc/help/xslt/webhelp/template/common/jquery/treeview/images/folder-closed.gif b/doc/help/xslt/webhelp/template/common/jquery/treeview/images/folder-closed.gif new file mode 100755 index 0000000000000000000000000000000000000000..be6b59c2bafc37724de6a8904caf8ddb52185f07 GIT binary patch literal 631 zcmV--0*L)bNk%w1VGsZi0OoZ7Zc+gM@owbb(D(J~{kRkV=)C^@`FC9q$-khblVJYv z)5ozv$hAcOfX1|Jz_gHwZxsLR$M*H` z)5VgcjVaB&g#X~Bn}|^6)K>kvApXNk{?U8w>frwL-;#Ym&AMUr=V$)PW&YTa>#Gp{ z$5^hOaMH=J$FMm5$62+73I57t#-KOer4h}bD~WS3yQMU?q;vkxak`{N&AEBc#G?Jc zKK|H{jB+E}qY%KYW|e?Jt%4WhuRrYIzx}uttbPdi>1gcRT)?bi*~ygsy)VYKbl=sl z!LDb`w?4L^YVzd5|KO(4ze~WaWw4)Z<=wvhxEIZ>RsZvV+R0MBjTPX{P^5)3t(IEZ zo(`LK71O>%%$yd@ws6O^WdH2Q^sy2D_NBk8J;AJDcUuPR<<6~{Vg0!m{?dHMvTC`j zfZ5BO|NGMa|Nj6000000000000000000000000000000000000A^8LW004CWEC2ui z01yBW06+)SfOUcbFM}==AarS4f^`T0To+{@4nGeh6)G`B2p9kiNn<+@0|r=5Yepst zIgKY#WJd%9EJPL?t^m4h5ez8-Aqy8z25mic2N?k#R&i4b8U+nh4l7`S2^}ajGc6+$ z6C!V6UyXu5K{9S7=8Z222f8;D0KLCn3s7|l^;H1@N?@2FHGqSVIadS#=nw*efr3kz ztU4o2N*xdYmhp(zfYOQwaCBG@bU+OXEtfKR^UfI%4+*Z?OY3oS7i+9AMEg8&*N RE^xJLBxeY_p@ISd06U6)DM0`L literal 0 HcmV?d00001 diff --git a/doc/help/xslt/webhelp/template/common/jquery/treeview/images/folder-closed2.gif b/doc/help/xslt/webhelp/template/common/jquery/treeview/images/folder-closed2.gif new file mode 100755 index 0000000000000000000000000000000000000000..541107888e6739a7b367ad3d208e1efa933f877d GIT binary patch literal 105 zcmZ?wbhEHb6ky4lrdiO0bk3ZcRLy6E?4f Hg~1vCyv-@{ literal 0 HcmV?d00001 diff --git a/doc/help/xslt/webhelp/template/common/jquery/treeview/images/folder.gif b/doc/help/xslt/webhelp/template/common/jquery/treeview/images/folder.gif new file mode 100755 index 0000000000000000000000000000000000000000..be6b59c2bafc37724de6a8904caf8ddb52185f07 GIT binary patch literal 631 zcmV--0*L)bNk%w1VGsZi0OoZ7Zc+gM@owbb(D(J~{kRkV=)C^@`FC9q$-khblVJYv z)5ozv$hAcOfX1|Jz_gHwZxsLR$M*H` z)5VgcjVaB&g#X~Bn}|^6)K>kvApXNk{?U8w>frwL-;#Ym&AMUr=V$)PW&YTa>#Gp{ z$5^hOaMH=J$FMm5$62+73I57t#-KOer4h}bD~WS3yQMU?q;vkxak`{N&AEBc#G?Jc zKK|H{jB+E}qY%KYW|e?Jt%4WhuRrYIzx}uttbPdi>1gcRT)?bi*~ygsy)VYKbl=sl z!LDb`w?4L^YVzd5|KO(4ze~WaWw4)Z<=wvhxEIZ>RsZvV+R0MBjTPX{P^5)3t(IEZ zo(`LK71O>%%$yd@ws6O^WdH2Q^sy2D_NBk8J;AJDcUuPR<<6~{Vg0!m{?dHMvTC`j zfZ5BO|NGMa|Nj6000000000000000000000000000000000000A^8LW004CWEC2ui z01yBW06+)SfOUcbFM}==AarS4f^`T0To+{@4nGeh6)G`B2p9kiNn<+@0|r=5Yepst zIgKY#WJd%9EJPL?t^m4h5ez8-Aqy8z25mic2N?k#R&i4b8U+nh4l7`S2^}ajGc6+$ z6C!V6UyXu5K{9S7=8Z222f8;D0KLCn3s7|l^;H1@N?@2FHGqSVIadS#=nw*efr3kz ztU4o2N*xdYmhp(zfYOQwaCBG@bU+OXEtfKR^UfI%4+*Z?OY3oS7i+9AMEg8&*N RE^xJLBxeY_p@ISd06U6)DM0`L literal 0 HcmV?d00001 diff --git a/doc/help/xslt/webhelp/template/common/jquery/treeview/images/folder2.gif b/doc/help/xslt/webhelp/template/common/jquery/treeview/images/folder2.gif new file mode 100755 index 0000000000000000000000000000000000000000..2b31631ca2bfec3a8afb1bfdd4f8ed4c5bcc3a18 GIT binary patch literal 106 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 literal 0 HcmV?d00001 diff --git a/doc/help/xslt/webhelp/template/common/jquery/treeview/images/treeview-gray-line.gif b/doc/help/xslt/webhelp/template/common/jquery/treeview/images/treeview-gray-line.gif new file mode 100755 index 0000000000000000000000000000000000000000..37600447dc002bbc0dd16e1391b711360aae2e34 GIT binary patch literal 1877 zcmeH``8OK|0LL@bF~qSc#n50?JXNI+k>{#)#go3O{g`&sTA06+?`JRv{%1VB*=kSggPTmbZ?E2@Hm10RaqGJr~M_swEK9(fuU z9bXMur@nY#Xn3Qp;v6X2AT> zA>EM+>y@m1^a49s_E1X&+bZH^!_a=e{N6Su)s&U>sDnd!~=b?JFEB#FT8 zioZMFaK52~t&52oqdWW~2MJ1ue%%?en#qCfU7u!nC|sSJi5E`}X3h8)ly{+5*|mp+ zYqNE`8MkZN-)k};oze-j%*tB&sNuZif|=0wM%!=l0sXF(V)Zg+3_ zjbW;EBEX2ytHG=$Dx2Ha{HE%5V3a1hHnd2R32m%R*9#gFWf^4tEW&~!6yIiV)*e*l zireg~b4-8KL1b9Tn<4TQc-aUN7>=bBxE!0Aep)ES$dA>bZ zlac_>GSf$}Amq|xpG2f_X<$)PU0E=BExZ&}FuYP8&bwD%fgJCOsK5%!A}jIpO{>+( zGV75wBp|A>JOyOlNY1dq-7SE-P1iq3bVQx6%Yk<{*5}84F?-+_`Yq}S#U}_=SCzX? zX`+&GsCqhDsvFh7AWWM#ck=(Rps}W(-f3)-hf$w$i>58wymeug)RAsnbE^=j9L-?f zpi-Z);Tuuyqj4L}9YcZxTIWO&p4K%*X3?0-?f4ef8jtm%XgkyEBd6Ds8uOK?%`{)>0D(Cr`A4IcZoG`&U18YKqjoYtzQo|Dt=**7zk597IbK9sJXFyhNi zwtW@gRcSW?gGKMW@kxrlG#OY-do~qJ*-V&3Js8`Y3GYwom_@$iB+g=ml}U5>1u1QR zAzAiA(jrL>&74Uwwqm}`xJ1AT;O_GsONn5#!*ULyhq;oEIkp%2g#mF(6lf@Jxhn4i zV~t87;8y4{2KZG5ao+KL=SUTJlQq*4|E@_PjJ3`!o(GG)^}?JsMpy*)mQYPCf1;Sk`8-A8at@Xm#Gb>oe(v%3b{156)aykj?nu&|IbZfh z!lZx$?iVd}BHwuNSkmco3iwy5Drr$xV-lid6PqT(u95$N>8c#Jm2RMN_SB1WJe9Oq z(x$uU@TQLQX@QVr>U~Sa;vEmbZ_QL7odp^*-BsqVXSqmf)oqYES3tl*66F0YO=#d1 rlgk$~puxAlhuJ^ZHqgioD1o1DVtQEUit~KllU0$5nh)jV0N{TCC3Zqn literal 0 HcmV?d00001 diff --git a/doc/help/xslt/webhelp/template/common/jquery/treeview/images/treeview-gray.gif b/doc/help/xslt/webhelp/template/common/jquery/treeview/images/treeview-gray.gif new file mode 100755 index 0000000000000000000000000000000000000000..cfb8a2f0961b880d9ecc9e59f831d0c0bf9d06db GIT binary patch literal 1230 zcmZ?wbhEHbOkikb_|5F}1vNN-#bFE}n2rob1X65+pkEe*DZwLSXy)sc-G6LrLE|#j%ny@ltx#{|>*k3`b zudj+f+$8$@s#fHh^zF++cYjOsT#=i)PgZ*SBbQFk<=6g7TzYe_x%fYqoR5WW_>5Nf zsIRkcJbHA@c(c>D3XzqU)=k#8J9nngIK5|{y|vw$2$RE?mT4~XtDRLEe|<_~c?_?$ zLGJZ!!S{W4%zp58Z=>w%X})`Qe0&`0sXRUALwVLJuj#KvHA1S2+ow&BYJYdfr2O^1 zna!)!@5=7^`T51=)#j2iwbhrWRX*39_q(R{^Y??#w#k`8!n#b?Ah=gT4^b_6Je!p-pqnUi6)T{Kw4)JLb3tD)cb}Z;R&ALM=NKo^J zQum3S7LQAK7iB!^v-vhdvhxz-&N&k%mqtvOXdV2 literal 0 HcmV?d00001 diff --git a/doc/help/xslt/webhelp/template/common/jquery/treeview/images/treeview-red-line.gif b/doc/help/xslt/webhelp/template/common/jquery/treeview/images/treeview-red-line.gif new file mode 100755 index 0000000000000000000000000000000000000000..df9e749a8f1f58862588efc64988003efad01d51 GIT binary patch literal 1877 zcmeH``BxGK0LPh{$5cGF%CuRcF0W^1+Eb91Y0har@ns%QJPI-bCps}CP-u#GY96he zH{=x}8cR_?6wMSBHp}~@d8B5Ec_ztT`#0A2hwu02&*#0br`JzT&Np-c8>+j2FWJW9 z|J$$i)xiJGfXTkfHvoVFVDp9i%O?Qp3V=f6d5==7Sk4KMl>Ucik`YxtvJ<)$%#TPKR% zdeBegW3Nr-TZ$_DvX!7#=EQu`)|{{_NO4?Hnuz--`I}N3UjF&+?uwLk+=>GJd{B_Tc2OKbjN9H> z96NPSF%oo|+^NT@plDh-RsN>!ws$&N>eV+-RSK`GN-+xQlcpP|{VXMbZmGY?Sg+bE z&yqDeRb-m~Xn;($Rkc9os0lNWR0x7V&viYtFw425?`)O{#Xnxi^Z-rV%z`xuPf1K3U`ignx^9LiY{9RF`M1 z((4&CBBq9gRTxIqvdNQH4XvU-teM=&r#I{BRpE@Mf`UowW*aYDTj; zR~d}wJj7bmv%$EvhL%3@95+YnP@jZFjkyaK?LZqem&Cp}E@#J}7%>obDszfKXbSed{!N zqe%A5h1G9<<|OWgt(pyPNUi%mt_OllWQ$!DHV#9VzJogSLla83`aMi%;zcml$vXr7 zf<%YcL08HgN8s@2tufz(==0;jh0Ny@q4f1T-P5MdE9;FzHSA-Pm3Wn^KX5K-#%-h+YndE*c}A#} z97|nymmXX*xOhw~p_=<#*Rp;q1c;i_)TkyvQ;xgVtY5mTyh_&|ZEzU`%%?)%UDt;N sUpBjNE)^Df<9oQ%i{r+6SwTgJWAz*lYeQMK?>m|{T3!EviV6VoFXq=mv;Y7A literal 0 HcmV?d00001 diff --git a/doc/help/xslt/webhelp/template/common/jquery/treeview/images/treeview-red.gif b/doc/help/xslt/webhelp/template/common/jquery/treeview/images/treeview-red.gif new file mode 100755 index 0000000000000000000000000000000000000000..3bbb3a157f1568d59d6db02b55a3b3fe9a1ff7a7 GIT binary patch literal 1230 zcmZ?wbhEHbOkikb_|5q9rFMYXq;dkzBCUd%AXV z7f->2WoKqf=UU0E5MF-1&C2oHA5RfQ-wyu&du5`wWCYCfT`X0jHDP7Qa?|x$vA=>= zUtbk}xJmT)RjtT1>D!lu?*5kMxgs}ppRDxuM=qV7%dh>Fxb)^;bMb#JIUft%@ENV{ zQD0}@c=YI)@n)xQ6(TDyt(&ZGckWD~aeB`@duzKh5hjN(Ez?}&S39dT{`!=}@)%xg zgWT)eg75q8nEl}G-bUHi(|q^r`1m-~Q+ayKhw`jdUejNTYJ^l3w@;fM)&A~|N%`x2 zGn-ed-<93-^Ye?#tIZ{4YO60#t9-6I?{`h@=kEuf$II8+R(@HSYaUSgyf$2+OgK}0 zZsRjUi+L5dHILtK5edt9=qI|b{eIzIMl<7PRm>?O4!tnstX#kf7!b zrS20uEgqNfF3Nb+XY*}_WalNuopUBkE{&Kl(L5+ZuF(6`HI*Fyu5b4nE$kweHiYk+ hA)Dse=Ki!azG~*").attr("id", this.id || "").html("" + this.text + "").appendTo(parent); + if (this.classes) { + current.children("span").addClass(this.classes); + } + if (this.expanded) { + current.addClass("open"); + } + if (this.hasChildren || this.children && this.children.length) { + var branch = $("
      ").appendTo(current); + if (this.hasChildren) { + current.addClass("hasChildren"); + createNode.call({ + text:"placeholder", + id:"placeholder", + children:[] + }, branch); + } + if (this.children && this.children.length) { + $.each(this.children, createNode, [branch]) + } + } + } + $.each(response, createNode, [child]); + $(container).treeview({add: child}); + }); +} + +var proxied = $.fn.treeview; +$.fn.treeview = function(settings) { + if (!settings.url) { + return proxied.apply(this, arguments); + } + var container = this; + load(settings, "source", this, container); + var userToggle = settings.toggle; + return proxied.call(this, $.extend({}, settings, { + collapsed: true, + toggle: function() { + var $this = $(this); + if ($this.hasClass("hasChildren")) { + var childList = $this.removeClass("hasChildren").find("ul"); + childList.empty(); + load(settings, this.id, childList, container); + } + if (userToggle) { + userToggle.apply(this, arguments); + } + } + })); +}; + +})(jQuery); \ No newline at end of file diff --git a/doc/help/xslt/webhelp/template/common/jquery/treeview/jquery.treeview.css b/doc/help/xslt/webhelp/template/common/jquery/treeview/jquery.treeview.css new file mode 100755 index 00000000..dbf425b2 --- /dev/null +++ b/doc/help/xslt/webhelp/template/common/jquery/treeview/jquery.treeview.css @@ -0,0 +1,85 @@ +.treeview, .treeview ul { + padding: 0; + margin: 0; + list-style: none; +} + +.treeview ul { + background-color: white; + margin-top: 4px; +} + +.treeview .hitarea { + background: url(images/treeview-default.gif) -64px -25px no-repeat; + height: 16px; + width: 16px; + margin-left: -16px; + float: left; + cursor: pointer; +} +/* fix for IE6 */ +* html .hitarea { + display: inline; + float:none; +} + +.treeview li { + margin: 0; + padding: 3px 0 3px 16px; +} + +.treeview a.selected { + background-color: #eee; +} + +#treecontrol { margin: 1em 0; display: none; } + +.treeview .hover { color: red; cursor: pointer; } + +.treeview li { background: url(images/treeview-default-line.gif) 0 0 no-repeat; } +.treeview li.collapsable, .treeview li.expandable { background-position: 0 -176px; } + +.treeview .expandable-hitarea { background-position: -80px -3px; } + +.treeview li.last { background-position: 0 -1766px } +.treeview li.lastCollapsable, .treeview li.lastExpandable { background-image: url(images/treeview-default.gif); } +.treeview li.lastCollapsable { background-position: 0 -111px } +.treeview li.lastExpandable { background-position: -32px -67px } + +.treeview div.lastCollapsable-hitarea, .treeview div.lastExpandable-hitarea { background-position: 0; } + +.treeview-red li { background-image: url(images/treeview-red-line.gif); } +.treeview-red .hitarea, .treeview-red li.lastCollapsable, .treeview-red li.lastExpandable { background-image: url(images/treeview-red.gif); } + +.treeview-black li { background-image: url(images/treeview-black-line.gif); } +.treeview-black .hitarea, .treeview-black li.lastCollapsable, .treeview-black li.lastExpandable { background-image: url(images/treeview-black.gif); } + +.treeview-gray li { background-image: url(images/treeview-gray-line.gif); } +.treeview-gray .hitarea, .treeview-gray li.lastCollapsable, .treeview-gray li.lastExpandable { background-image: url(images/treeview-gray.gif); } + +.treeview-famfamfam li { background-image: url(images/treeview-famfamfam-line.gif); } +.treeview-famfamfam .hitarea, .treeview-famfamfam li.lastCollapsable, .treeview-famfamfam li.lastExpandable { background-image: url(images/treeview-famfamfam.gif); } + + +.filetree li { padding: 3px 0 2px 16px; } +.filetree span.folder, .filetree span.file { padding: 1px 0 1px 16px; display: block; } +.filetree span.folder { background: url(images/folder.gif) 0 0 no-repeat; } +.filetree li.expandable span.folder { background: url(images/folder-closed.gif) 0 0 no-repeat; } +.filetree span.file { background: url(images/file.gif) 0 0 no-repeat; } + +html, body {height:100%; margin: 0; padding: 0; } + +/* +html>body { + font-size: 16px; + font-size: 68.75%; +} Reset Base Font Size */ + /* +body { + font-family: Verdana, helvetica, arial, sans-serif; + font-size: 68.75%; + background: #fff; + color: #333; +} */ + +a img { border: none; } \ No newline at end of file diff --git a/doc/help/xslt/webhelp/template/common/jquery/treeview/jquery.treeview.js b/doc/help/xslt/webhelp/template/common/jquery/treeview/jquery.treeview.js new file mode 100755 index 00000000..248e725b --- /dev/null +++ b/doc/help/xslt/webhelp/template/common/jquery/treeview/jquery.treeview.js @@ -0,0 +1,255 @@ +/* + * Treeview 1.4 - jQuery plugin to hide and show branches of a tree + * + * http://bassistance.de/jquery-plugins/jquery-plugin-treeview/ + * http://docs.jquery.com/Plugins/Treeview + * + * Copyright (c) 2007 Jörn Zaefferer + * + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html + * + * Revision: $Id: jquery.treeview.js 4684 2008-02-07 19:08:06Z joern.zaefferer $ + * + */ + +;(function($) { + + $.extend($.fn, { + swapClass: function(c1, c2) { + var c1Elements = this.filter('.' + c1); + this.filter('.' + c2).removeClass(c2).addClass(c1); + c1Elements.removeClass(c1).addClass(c2); + return this; + }, + replaceClass: function(c1, c2) { + return this.filter('.' + c1).removeClass(c1).addClass(c2).end(); + }, + hoverClass: function(className) { + className = className || "hover"; + return this.hover(function() { + $(this).addClass(className); + }, function() { + $(this).removeClass(className); + }); + }, + heightToggle: function(animated, callback) { + animated ? + this.animate({ height: "toggle" }, animated, callback) : + this.each(function(){ + jQuery(this)[ jQuery(this).is(":hidden") ? "show" : "hide" ](); + if(callback) + callback.apply(this, arguments); + }); + }, + heightHide: function(animated, callback) { + if (animated) { + this.animate({ height: "hide" }, animated, callback); + } else { + this.hide(); + if (callback) + this.each(callback); + } + }, + prepareBranches: function(settings) { + if (!settings.prerendered) { + // mark last tree items + this.filter(":last-child:not(ul)").addClass(CLASSES.last); + // collapse whole tree, or only those marked as closed, anyway except those marked as open + this.filter((settings.collapsed ? "" : "." + CLASSES.closed) + ":not(." + CLASSES.open + ")").find(">ul").hide(); + } + // return all items with sublists + return this.filter(":has(>ul)"); + }, + applyClasses: function(settings, toggler) { + this.filter(":has(>ul):not(:has(>a))").find(">span").click(function(event) { + toggler.apply($(this).next()); + }).add( $("a", this) ).hoverClass(); + + if (!settings.prerendered) { + // handle closed ones first + this.filter(":has(>ul:hidden)") + .addClass(CLASSES.expandable) + .replaceClass(CLASSES.last, CLASSES.lastExpandable); + + // handle open ones + this.not(":has(>ul:hidden)") + .addClass(CLASSES.collapsable) + .replaceClass(CLASSES.last, CLASSES.lastCollapsable); + + // create hitarea + this.prepend("
      ").find("div." + CLASSES.hitarea).each(function() { + var classes = ""; + $.each($(this).parent().attr("class").split(" "), function() { + classes += this + "-hitarea "; + }); + $(this).addClass( classes ); + }); + } + + // apply event to hitarea + this.find("div." + CLASSES.hitarea).click( toggler ); + }, + treeview: function(settings) { + + if(typeof(window.treeCookieId) !== 'undefined' || window.treeCookieId === ""){ + treeCookieId = "treeview"; + } + + settings = $.extend({ + cookieId: treeCookieId + }, settings); + + if (settings.add) { + return this.trigger("add", [settings.add]); + } + + if ( settings.toggle ) { + var callback = settings.toggle; + settings.toggle = function() { + return callback.apply($(this).parent()[0], arguments); + }; + } + + // factory for treecontroller + function treeController(tree, control) { + // factory for click handlers + function handler(filter) { + return function() { + // reuse toggle event handler, applying the elements to toggle + // start searching for all hitareas + toggler.apply( $("div." + CLASSES.hitarea, tree).filter(function() { + // for plain toggle, no filter is provided, otherwise we need to check the parent element + return filter ? $(this).parent("." + filter).length : true; + }) ); + return false; + }; + } + // click on first element to collapse tree + $("a:eq(0)", control).click( handler(CLASSES.collapsable) ); + // click on second to expand tree + $("a:eq(1)", control).click( handler(CLASSES.expandable) ); + // click on third to toggle tree + $("a:eq(2)", control).click( handler() ); + } + + // handle toggle event + function toggler() { + $(this) + .parent() + // swap classes for hitarea + .find(">.hitarea") + .swapClass( CLASSES.collapsableHitarea, CLASSES.expandableHitarea ) + .swapClass( CLASSES.lastCollapsableHitarea, CLASSES.lastExpandableHitarea ) + .end() + // swap classes for parent li + .swapClass( CLASSES.collapsable, CLASSES.expandable ) + .swapClass( CLASSES.lastCollapsable, CLASSES.lastExpandable ) + // find child lists + .find( ">ul" ) + // toggle them + .heightToggle( settings.animated, settings.toggle ); + if ( settings.unique ) { + $(this).parent() + .siblings() + // swap classes for hitarea + .find(">.hitarea") + .replaceClass( CLASSES.collapsableHitarea, CLASSES.expandableHitarea ) + .replaceClass( CLASSES.lastCollapsableHitarea, CLASSES.lastExpandableHitarea ) + .end() + .replaceClass( CLASSES.collapsable, CLASSES.expandable ) + .replaceClass( CLASSES.lastCollapsable, CLASSES.lastExpandable ) + .find( ">ul" ) + .heightHide( settings.animated, settings.toggle ); + } + } + //Cookie Persistence + function serialize() { + function binary(arg) { + return arg ? 1 : 0; + } + var data = []; + branches.each(function(i, e) { + data[i] = $(e).is(":has(>ul:visible)") ? 1 : 0; + }); + $.cookie(settings.cookieId, data.join("") ); + } + + function deserialize() { + var stored = $.cookie(settings.cookieId); + if ( stored ) { + var data = stored.split(""); + branches.each(function(i, e) { + $(e).find(">ul")[ parseInt(data[i]) ? "show" : "hide" ](); + }); + } + } + + // add treeview class to activate styles + this.addClass("treeview"); + + // prepare branches and find all tree items with child lists + var branches = this.find("li").prepareBranches(settings); + + switch(settings.persist) { + case "cookie": + var toggleCallback = settings.toggle; + settings.toggle = function() { + serialize(); + if (toggleCallback) { + toggleCallback.apply(this, arguments); + } + }; + deserialize(); + break; + case "location": + var current = this.find("a").filter(function() { return this.href.toLowerCase() == location.href.toLowerCase(); }); + if ( current.length ) { + current.addClass("selected").parents("ul, li").add( current.next() ).show(); + } + break; + } + + branches.applyClasses(settings, toggler); + + // if control option is set, create the treecontroller and show it + if ( settings.control ) { + treeController(this, settings.control); + $(settings.control).show(); + } + + return this.bind("add", function(event, branches) { + $(branches).prev() + .removeClass(CLASSES.last) + .removeClass(CLASSES.lastCollapsable) + .removeClass(CLASSES.lastExpandable) + .find(">.hitarea") + .removeClass(CLASSES.lastCollapsableHitarea) + .removeClass(CLASSES.lastExpandableHitarea); + $(branches).find("li").andSelf().prepareBranches(settings).applyClasses(settings, toggler); + }); + } + }); + + // classes used by the plugin + // need to be styled via external stylesheet, see first example + var CLASSES = $.fn.treeview.classes = { + open: "open", + closed: "closed", + expandable: "expandable", + expandableHitarea: "expandable-hitarea", + lastExpandableHitarea: "lastExpandable-hitarea", + collapsable: "collapsable", + collapsableHitarea: "collapsable-hitarea", + lastCollapsableHitarea: "lastCollapsable-hitarea", + lastCollapsable: "lastCollapsable", + lastExpandable: "lastExpandable", + last: "last", + hitarea: "hitarea" + }; + + // provide backwards compability + $.fn.Treeview = $.fn.treeview; + +})(jQuery); \ No newline at end of file diff --git a/doc/help/xslt/webhelp/template/common/jquery/treeview/jquery.treeview.min.js b/doc/help/xslt/webhelp/template/common/jquery/treeview/jquery.treeview.min.js new file mode 100755 index 00000000..e693321d --- /dev/null +++ b/doc/help/xslt/webhelp/template/common/jquery/treeview/jquery.treeview.min.js @@ -0,0 +1,16 @@ +/* + * Treeview 1.4 - jQuery plugin to hide and show branches of a tree + * + * http://bassistance.de/jquery-plugins/jquery-plugin-treeview/ + * http://docs.jquery.com/Plugins/Treeview + * + * Copyright (c) 2007 Jörn Zaefferer + * + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html + * + * Revision: $Id: jquery.treeview.js 4684 2008-02-07 19:08:06Z joern.zaefferer $ + * kasunbg: changed the cookieid name + * + */;(function($){$.extend($.fn,{swapClass:function(c1,c2){var c1Elements=this.filter('.'+c1);this.filter('.'+c2).removeClass(c2).addClass(c1);c1Elements.removeClass(c1).addClass(c2);return this;},replaceClass:function(c1,c2){return this.filter('.'+c1).removeClass(c1).addClass(c2).end();},hoverClass:function(className){className=className||"hover";return this.hover(function(){$(this).addClass(className);},function(){$(this).removeClass(className);});},heightToggle:function(animated,callback){animated?this.animate({height:"toggle"},animated,callback):this.each(function(){jQuery(this)[jQuery(this).is(":hidden")?"show":"hide"]();if(callback)callback.apply(this,arguments);});},heightHide:function(animated,callback){if(animated){this.animate({height:"hide"},animated,callback);}else{this.hide();if(callback)this.each(callback);}},prepareBranches:function(settings){if(!settings.prerendered){this.filter(":last-child:not(ul)").addClass(CLASSES.last);this.filter((settings.collapsed?"":"."+CLASSES.closed)+":not(."+CLASSES.open+")").find(">ul").hide();}return this.filter(":has(>ul)");},applyClasses:function(settings,toggler){this.filter(":has(>ul):not(:has(>a))").find(">span").click(function(event){toggler.apply($(this).next());}).add($("a",this)).hoverClass();if(!settings.prerendered){this.filter(":has(>ul:hidden)").addClass(CLASSES.expandable).replaceClass(CLASSES.last,CLASSES.lastExpandable);this.not(":has(>ul:hidden)").addClass(CLASSES.collapsable).replaceClass(CLASSES.last,CLASSES.lastCollapsable);this.prepend("
      ").find("div."+CLASSES.hitarea).each(function(){var classes="";$.each($(this).parent().attr("class").split(" "),function(){classes+=this+"-hitarea ";});$(this).addClass(classes);});}this.find("div."+CLASSES.hitarea).click(toggler);},treeview:function(settings){if(typeof(window.treeCookieId) === 'undefined' || window.treeCookieId === ""){treeCookieId = "treeview";} settings=$.extend({cookieId: treeCookieId},settings);if(settings.add){return this.trigger("add",[settings.add]);}if(settings.toggle){var callback=settings.toggle;settings.toggle=function(){return callback.apply($(this).parent()[0],arguments);};}function treeController(tree,control){function handler(filter){return function(){toggler.apply($("div."+CLASSES.hitarea,tree).filter(function(){return filter?$(this).parent("."+filter).length:true;}));return false;};}$("a:eq(0)",control).click(handler(CLASSES.collapsable));$("a:eq(1)",control).click(handler(CLASSES.expandable));$("a:eq(2)",control).click(handler());}function toggler(){$(this).parent().find(">.hitarea").swapClass(CLASSES.collapsableHitarea,CLASSES.expandableHitarea).swapClass(CLASSES.lastCollapsableHitarea,CLASSES.lastExpandableHitarea).end().swapClass(CLASSES.collapsable,CLASSES.expandable).swapClass(CLASSES.lastCollapsable,CLASSES.lastExpandable).find(">ul").heightToggle(settings.animated,settings.toggle);if(settings.unique){$(this).parent().siblings().find(">.hitarea").replaceClass(CLASSES.collapsableHitarea,CLASSES.expandableHitarea).replaceClass(CLASSES.lastCollapsableHitarea,CLASSES.lastExpandableHitarea).end().replaceClass(CLASSES.collapsable,CLASSES.expandable).replaceClass(CLASSES.lastCollapsable,CLASSES.lastExpandable).find(">ul").heightHide(settings.animated,settings.toggle);}}function serialize(){function binary(arg){return arg?1:0;}var data=[];branches.each(function(i,e){data[i]=$(e).is(":has(>ul:visible)")?1:0;});$.cookie(settings.cookieId,data.join(""));}function deserialize(){var stored=$.cookie(settings.cookieId);if(stored){var data=stored.split("");branches.each(function(i,e){$(e).find(">ul")[parseInt(data[i])?"show":"hide"]();});}}this.addClass("treeview");var branches=this.find("li").prepareBranches(settings);switch(settings.persist){case"cookie":var toggleCallback=settings.toggle;settings.toggle=function(){serialize();if(toggleCallback){toggleCallback.apply(this,arguments);}};deserialize();break;case"location":var current=this.find("a").filter(function(){return this.href.toLowerCase()==location.href.toLowerCase();});if(current.length){current.addClass("selected").parents("ul, li").add(current.next()).show();}break;}branches.applyClasses(settings,toggler);if(settings.control){treeController(this,settings.control);$(settings.control).show();}return this.bind("add",function(event,branches){$(branches).prev().removeClass(CLASSES.last).removeClass(CLASSES.lastCollapsable).removeClass(CLASSES.lastExpandable).find(">.hitarea").removeClass(CLASSES.lastCollapsableHitarea).removeClass(CLASSES.lastExpandableHitarea);$(branches).find("li").andSelf().prepareBranches(settings).applyClasses(settings,toggler);});}});var CLASSES=$.fn.treeview.classes={open:"open",closed:"closed",expandable:"expandable",expandableHitarea:"expandable-hitarea",lastExpandableHitarea:"lastExpandable-hitarea",collapsable:"collapsable",collapsableHitarea:"collapsable-hitarea",lastCollapsableHitarea:"lastCollapsable-hitarea",lastCollapsable:"lastCollapsable",lastExpandable:"lastExpandable",last:"last",hitarea:"hitarea"};$.fn.Treeview=$.fn.treeview;})(jQuery); \ No newline at end of file diff --git a/doc/help/xslt/webhelp/template/common/jquery/treeview/jquery.treeview.pack.js b/doc/help/xslt/webhelp/template/common/jquery/treeview/jquery.treeview.pack.js new file mode 100755 index 00000000..eddac491 --- /dev/null +++ b/doc/help/xslt/webhelp/template/common/jquery/treeview/jquery.treeview.pack.js @@ -0,0 +1,16 @@ +/* + * Treeview 1.4 - jQuery plugin to hide and show branches of a tree + * + * http://bassistance.de/jquery-plugins/jquery-plugin-treeview/ + * http://docs.jquery.com/Plugins/Treeview + * + * Copyright (c) 2007 Jörn Zaefferer + * + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html + * + * Revision: $Id: jquery.treeview.js 4684 2008-02-07 19:08:06Z joern.zaefferer $ + * + */ +eval(function(p,a,c,k,e,r){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}(';(4($){$.1l($.F,{E:4(b,c){l a=3.n(\'.\'+b);3.n(\'.\'+c).o(c).m(b);a.o(b).m(c);8 3},s:4(a,b){8 3.n(\'.\'+a).o(a).m(b).P()},1n:4(a){a=a||"1j";8 3.1j(4(){$(3).m(a)},4(){$(3).o(a)})},1h:4(b,a){b?3.1g({1e:"p"},b,a):3.x(4(){T(3)[T(3).1a(":U")?"H":"D"]();7(a)a.A(3,O)})},12:4(b,a){7(b){3.1g({1e:"D"},b,a)}1L{3.D();7(a)3.x(a)}},11:4(a){7(!a.1k){3.n(":r-1H:G(9)").m(k.r);3.n((a.1F?"":"."+k.X)+":G(."+k.W+")").6(">9").D()}8 3.n(":y(>9)")},S:4(b,c){3.n(":y(>9):G(:y(>a))").6(">1z").C(4(a){c.A($(3).19())}).w($("a",3)).1n();7(!b.1k){3.n(":y(>9:U)").m(k.q).s(k.r,k.t);3.G(":y(>9:U)").m(k.u).s(k.r,k.v);3.1r("").6("J."+k.5).x(4(){l a="";$.x($(3).B().1o("14").13(" "),4(){a+=3+"-5 "});$(3).m(a)})}3.6("J."+k.5).C(c)},z:4(g){g=$.1l({N:"z"},g);7(g.w){8 3.1K("w",[g.w])}7(g.p){l d=g.p;g.p=4(){8 d.A($(3).B()[0],O)}}4 1m(b,c){4 L(a){8 4(){K.A($("J."+k.5,b).n(4(){8 a?$(3).B("."+a).1i:1I}));8 1G}}$("a:10(0)",c).C(L(k.u));$("a:10(1)",c).C(L(k.q));$("a:10(2)",c).C(L())}4 K(){$(3).B().6(">.5").E(k.Z,k.Y).E(k.I,k.M).P().E(k.u,k.q).E(k.v,k.t).6(">9").1h(g.1f,g.p);7(g.1E){$(3).B().1D().6(">.5").s(k.Z,k.Y).s(k.I,k.M).P().s(k.u,k.q).s(k.v,k.t).6(">9").12(g.1f,g.p)}}4 1d(){4 1C(a){8 a?1:0}l b=[];j.x(4(i,e){b[i]=$(e).1a(":y(>9:1B)")?1:0});$.V(g.N,b.1A(""))}4 1c(){l b=$.V(g.N);7(b){l a=b.13("");j.x(4(i,e){$(e).6(">9")[1y(a[i])?"H":"D"]()})}}3.m("z");l j=3.6("Q").11(g);1x(g.1w){18"V":l h=g.p;g.p=4(){1d();7(h){h.A(3,O)}};1c();17;18"1b":l f=3.6("a").n(4(){8 3.16.15()==1b.16.15()});7(f.1i){f.m("1v").1u("9, Q").w(f.19()).H()}17}j.S(g,K);7(g.R){1m(3,g.R);$(g.R).H()}8 3.1t("w",4(a,b){$(b).1s().o(k.r).o(k.v).o(k.t).6(">.5").o(k.I).o(k.M);$(b).6("Q").1q().11(g).S(g,K)})}});l k=$.F.z.1J={W:"W",X:"X",q:"q",Y:"q-5",M:"t-5",u:"u",Z:"u-5",I:"v-5",v:"v",t:"t",r:"r",5:"5"};$.F.1p=$.F.z})(T);',62,110,'|||this|function|hitarea|find|if|return|ul||||||||||||var|addClass|filter|removeClass|toggle|expandable|last|replaceClass|lastExpandable|collapsable|lastCollapsable|add|each|has|treeview|apply|parent|click|hide|swapClass|fn|not|show|lastCollapsableHitarea|div|toggler|handler|lastExpandableHitarea|cookieId|arguments|end|li|control|applyClasses|jQuery|hidden|cookie|open|closed|expandableHitarea|collapsableHitarea|eq|prepareBranches|heightHide|split|class|toLowerCase|href|break|case|next|is|location|deserialize|serialize|height|animated|animate|heightToggle|length|hover|prerendered|extend|treeController|hoverClass|attr|Treeview|andSelf|prepend|prev|bind|parents|selected|persist|switch|parseInt|span|join|visible|binary|siblings|unique|collapsed|false|child|true|classes|trigger|else'.split('|'),0,{})) \ No newline at end of file diff --git a/doc/help/xslt/webhelp/template/common/main.js b/doc/help/xslt/webhelp/template/common/main.js new file mode 100755 index 00000000..dee73036 --- /dev/null +++ b/doc/help/xslt/webhelp/template/common/main.js @@ -0,0 +1,161 @@ +/** + * Miscellaneous js functions for WebHelp + * Kasun Gajasinghe, http://kasunbg.blogspot.com + * David Cramer, http://www.thingbag.net + * + */ + +$(document).ready(function() { + // $("#showHideHighlight").button(); //add jquery button styling to 'Go' button + //Generate tabs in nav-pane with JQuery + $(function() { + $("#tabs").tabs({ + cookie: { + // store cookie for 2 days. + expires: 2 + } + }); + }); + + //Generate the tree + $("#ulTreeDiv").attr("style",""); + $("#tree").treeview({ + collapsed: true, + animated: "medium", + control: "#sidetreecontrol", + persist: "cookie" + }); + + //after toc fully styled, display it. Until loading, a 'loading' image will be displayed + $("#tocLoading").attr("style","display:none;"); +// $("#ulTreeDiv").attr("style","display:block;"); + + //.searchButton is the css class applied to 'Go' button + $(function() { + $("button", ".searchButton").button(); + + $("button", ".searchButton").click(function() { return false; }); + }); + + //'ui-tabs-1' is the cookie name which is used for the persistence of the tabs.(Content/Search tab) + if ($.cookie('ui-tabs-1') === '1') { //search tab is visible + if ($.cookie('textToSearch') != undefined && $.cookie('textToSearch').length > 0) { + document.getElementById('textToSearch').value = $.cookie('textToSearch'); + Verifie('diaSearch_Form'); + searchHighlight($.cookie('textToSearch')); + $("#showHideHighlight").css("display","block"); + } + } + + syncToc(); //Synchronize the toc tree with the content pane, when loading the page. + //$("#doSearch").button(); //add jquery button styling to 'Go' button +}); + +/** + * Synchronize with the tableOfContents + */ +function syncToc(){ + var a = document.getElementById("webhelp-currentid"); + if (a != undefined) { + var b = a.getElementsByTagName("a")[0]; + + if (b != undefined) { + //Setting the background for selected node. + var style = a.getAttribute("style"); + if (style != null && !style.match(/background-color: Background;/)) { + a.setAttribute("style", "background-color: #6495ed; " + style); + b.setAttribute("style", "color: white;"); + } else if (style != null) { + a.setAttribute("style", "background-color: #6495ed; " + style); + b.setAttribute("style", "color: white;"); + } else { + a.setAttribute("style", "background-color: #6495ed; "); + b.setAttribute("style", "color: white;"); + } + } + + //shows the node related to current content. + //goes a recursive call from current node to ancestor nodes, displaying all of them. + while (a.parentNode && a.parentNode.nodeName) { + var parentNode = a.parentNode; + var nodeName = parentNode.nodeName; + + if (nodeName.toLowerCase() == "ul") { + parentNode.setAttribute("style", "display: block;"); + } else if (nodeName.toLocaleLowerCase() == "li") { + parentNode.setAttribute("class", "collapsable"); + parentNode.firstChild.setAttribute("class", "hitarea collapsable-hitarea "); + } + a = parentNode; + } + } +} + +/** + * Code for Show/Hide TOC + * + */ +function showHideToc() { + var showHideButton = $("#showHideButton"); + var leftNavigation = $("#leftnavigation"); + var content = $("#content"); + + if (showHideButton != undefined && showHideButton.hasClass("pointLeft")) { + //Hide TOC + showHideButton.removeClass('pointLeft').addClass('pointRight'); + content.css("margin", "0 0 0 0"); + leftNavigation.css("display","none"); + showHideButton.attr("title", "Show the TOC tree"); + } else { + //Show the TOC + showHideButton.removeClass('pointRight').addClass('pointLeft'); + content.css("margin", "0 0 0 280px"); + leftNavigation.css("display","block"); + showHideButton.attr("title", "Hide the TOC Tree"); + } +} + +/** + * Code for searh highlighting + */ +var highlightOn = true; +function searchHighlight(searchText) { + highlightOn = true; + if (searchText != undefined) { + var wList; + var sList = new Array(); //stem list + //Highlight the search terms + searchText = searchText.toLowerCase().replace(/<\//g, "_st_").replace(/\$_/g, "_di_").replace(/\.|%2C|%3B|%21|%3A|@|\/|\*/g, " ").replace(/(%20)+/g, " ").replace(/_st_/g, " -1) { + + alert(txt_browser_not_supported); + return; + } + + + var expressionInput = document.ditaSearch_Form.textToSearch.value; + //Set a cookie to store the searched keywords + $.cookie('textToSearch', expressionInput); + + + if (expressionInput.length < 1) { + + // expression is invalid + alert(txt_enter_at_least_1_char); + // reactive la fenetre de search (utile car cadres) + document.ditaSearch_Form.textToSearch.focus(); + } + else { + + // Effectuer la recherche + Effectuer_recherche(expressionInput); + + // reactive la fenetre de search (utile car cadres) + document.ditaSearch_Form.textToSearch.focus(); + } +} + +var stemQueryMap = new Array(); // A hashtable which maps stems to query words + +/* This function parses the search expression, loads the indices and displays the results*/ +function Effectuer_recherche(expressionInput) { + + /* Display a waiting message */ + //DisplayWaitingMessage(); + + /*data initialisation*/ + var searchFor = ""; // expression en lowercase et sans les caracte res speciaux + //w = new Object(); // hashtable, key=word, value = list of the index of the html files + scriptLetterTab = new Scriptfirstchar(); // Array containing the first letter of each word to look for + var wordsList = new Array(); // Array with the words to look for + var finalWordsList = new Array(); // Array with the words to look for after removing spaces + var linkTab = new Array(); + var fileAndWordList = new Array(); + var txt_wordsnotfound = ""; + + + /*nqu: expressionInput, la recherche est lower cased, plus remplacement des char speciaux*/ + searchFor = expressionInput.toLowerCase().replace(/<\//g, "_st_").replace(/\$_/g, "_di_").replace(/\.|%2C|%3B|%21|%3A|@|\/|\*/g, " ").replace(/(%20)+/g, " ").replace(/_st_/g, "= 0; i--) { + if (fileAndWordList[i] != undefined) { + linkTab.push("

      " + txt_results_for + " " + "" + fileAndWordList[i][0].motslisteDisplay + "" + "

      "); + + linkTab.push("
        "); + for (t in fileAndWordList[i]) { + //DEBUG: alert(": "+ fileAndWordList[i][t].filenb+" " +fileAndWordList[i][t].motsliste); + //linkTab.push("
      • "+fl[fileAndWordList[i][t].filenb]+"
      • "); + var tempInfo = fil[fileAndWordList[i][t].filenb]; + var pos1 = tempInfo.indexOf("@@@"); + var pos2 = tempInfo.lastIndexOf("@@@"); + var tempPath = tempInfo.substring(0, pos1); + var tempTitle = tempInfo.substring(pos1 + 3, pos2); + var tempShortdesc = tempInfo.substring(pos2 + 3, tempInfo.length); + + //file:///home/kasun/docbook/WEBHELP/webhelp-draft-output-format-idea/src/main/resources/web/webhelp/installation.html + var linkString = "
      • " + tempTitle + ""; + // var linkString = "
      • " + tempTitle + ""; + if ((tempShortdesc != "null")) { + linkString += "\n
        " + tempShortdesc + "
        "; + } + linkString += "
      • "; + linkTab.push(linkString); + } + linkTab.push("
      "); + } + } + } + + var results = ""; + if (linkTab.length > 0) { + /*writeln ("

      " + txt_results_for + " " + "" + cleanwordsList + "" + "
      "+"

      ");*/ + results = "

      "; + //write("

        "); + for (t in linkTab) { + results += linkTab[t].toString(); + } + results += "

        "; + } else { + results = "

        " + "Your search returned no results for " + "" + txt_wordsnotfound + "" + "

        "; + } + //alert(results); + document.getElementById('searchResults').innerHTML = results; +} + +function tokenize(wordsList){ + var stemmedWordsList = new Array(); // Array with the words to look for after removing spaces + var cleanwordsList = new Array(); // Array with the words to look for + for(var j in wordsList){ + var word = wordsList[j]; + if(typeof stemmer != "undefined" ){ + stemQueryMap[stemmer(word)] = word; + } else { + stemQueryMap[word] = word; + } + } + //stemmedWordsList is the stemmed list of words separated by spaces. + for (var t in wordsList) { + wordsList[t] = wordsList[t].replace(/(%22)|^-/g, ""); + if (wordsList[t] != "%20") { + scriptLetterTab.add(wordsList[t].charAt(0)); + cleanwordsList.push(wordsList[t]); + } + } + + if(typeof stemmer != "undefined" ){ + //Do the stemming using Porter's stemming algorithm + for (var i = 0; i < cleanwordsList.length; i++) { + var stemWord = stemmer(cleanwordsList[i]); + stemmedWordsList.push(stemWord); + } + } else { + stemmedWordsList = cleanwordsList; + } + return stemmedWordsList; +} + +//Invoker of CJKTokenizer class methods. +function cjkTokenize(wordsList){ + var allTokens= new Array(); + var notCJKTokens= new Array(); + var j=0; + for(j=0;j"; + return this.input.substring(this.offset,this.offset+2); + } + + function getAllTokens(){ + while(this.incrementToken()){ + var tmp = this.tokenize(); + this.tokens.push(tmp); + } + return this.unique(this.tokens); +// document.getElementById("content").innerHTML += tokens+" "; +// document.getElementById("content").innerHTML += "
        dada"+sortedTokens+" "; +// console.log(tokens.length+"dsdsds"); + /*for(i=0;i t2.length) { + return 1; + } else { + return -1; + } + //return t1.length - t2.length); +} \ No newline at end of file diff --git a/doc/help/xslt/webhelp/template/content/search/punctuation.props b/doc/help/xslt/webhelp/template/content/search/punctuation.props new file mode 100755 index 00000000..d3e3fcd2 --- /dev/null +++ b/doc/help/xslt/webhelp/template/content/search/punctuation.props @@ -0,0 +1,31 @@ +Punct01=\\u3002 +Punct02=\\u3003 +Punct03=\\u300C +Punct04=\\u300D +Punct05=\\u300E +Punct06=\\u300F +Punct07=\\u301D +Punct08=\\u301E +Punct09=\\u301F +Punct10=\\u309B +Punct11=\\u2018 +Punct12=\\u2019 +Punct13=\\u201A +Punct14=\\u201C +Punct15=\\u201D +Punct16=\\u201E +Punct17=\\u2032 +Punct18=\\u2033 +Punct19=\\u2035 +Punct20=\\u2039 +Punct21=\\u203A +Punct22=\\u201E +Punct23=\\u00BB +Punct24=\\u00AB +Punct25=© +Punct26=’ +Punct27=\\u00A0 +Punct28=\\u2014 + + + diff --git a/doc/help/xslt/webhelp/template/content/search/stemmers/de_stemmer.js b/doc/help/xslt/webhelp/template/content/search/stemmers/de_stemmer.js new file mode 100755 index 00000000..7ff3822a --- /dev/null +++ b/doc/help/xslt/webhelp/template/content/search/stemmers/de_stemmer.js @@ -0,0 +1,247 @@ +/* + * Author: Joder Illi + * + * Copyright (c) 2010, FormBlitz AG + * All rights reserved. + * Implementation of the stemming algorithm from http://snowball.tartarus.org/algorithms/german/stemmer.html + * Copyright of the algorithm is: Copyright (c) 2001, Dr Martin Porter and can be found at http://snowball.tartarus.org/license.php + * + * Redistribution and use in source and binary forms, with or without modification, is covered by the standard BSD license. + * + */ + +//var stemmer = function Stemmer() { + /* + German includes the following accented forms, + ä ö ü + and a special letter, ß, equivalent to double s. + The following letters are vowels: + a e i o u y ä ö ü + */ + + var stemmer = function(word) { + /* + Put u and y between vowels into upper case + */ + word = word.replace(/([aeiouyäöü])u([aeiouyäöü])/g, '$1U$2'); + word = word.replace(/([aeiouyäöü])y([aeiouyäöü])/g, '$1Y$2'); + + /* + and then do the following mappings, + (a) replace ß with ss, + (a) replace ae with ä, Not doing these, have trouble with diphtongs + (a) replace oe with ö, Not doing these, have trouble with diphtongs + (a) replace ue with ü unless preceded by q. Not doing these, have trouble with diphtongs + So in quelle, ue is not mapped to ü because it follows q, and in feuer it is not mapped because the first part of the rule changes it to feUer, so the u is not found. + */ + word = word.replace(/ß/g, 'ss'); + //word = word.replace(/ae/g, 'ä'); + //word = word.replace(/oe/g, 'ö'); + //word = word.replace(/([^q])ue/g, '$1ü'); + + /* + R1 and R2 are first set up in the standard way (see the note on R1 and R2), but then R1 is adjusted so that the region before it contains at least 3 letters. + R1 is the region after the first non-vowel following a vowel, or is the null region at the end of the word if there is no such non-vowel. + R2 is the region after the first non-vowel following a vowel in R1, or is the null region at the end of the word if there is no such non-vowel. + */ + + var r1Index = word.search(/[aeiouyäöü][^aeiouyäöü]/); + var r1 = ''; + if (r1Index != -1) { + r1Index += 2; + r1 = word.substring(r1Index); + } + + var r2Index = -1; + var r2 = ''; + + if (r1Index != -1) { + var r2Index = r1.search(/[aeiouyäöü][^aeiouyäöü]/); + if (r2Index != -1) { + r2Index += 2; + r2 = r1.substring(r2Index); + r2Index += r1Index; + } else { + r2 = ''; + } + } + + if (r1Index != -1 && r1Index < 3) { + r1Index = 3; + r1 = word.substring(r1Index); + } + + /* + Define a valid s-ending as one of b, d, f, g, h, k, l, m, n, r or t. + Define a valid st-ending as the same list, excluding letter r. + */ + + /* + Do each of steps 1, 2 and 3. + */ + + /* + Step 1: + Search for the longest among the following suffixes, + (a) em ern er + (b) e en es + (c) s (preceded by a valid s-ending) + */ + var a1Index = word.search(/(em|ern|er)$/g); + var b1Index = word.search(/(e|en|es)$/g); + var c1Index = word.search(/([bdfghklmnrt]s)$/g); + if (c1Index != -1) { + c1Index++; + } + var index1 = 10000; + var optionUsed1 = ''; + if (a1Index != -1 && a1Index < index1) { + optionUsed1 = 'a'; + index1 = a1Index; + } + if (b1Index != -1 && b1Index < index1) { + optionUsed1 = 'b'; + index1 = b1Index; + } + if (c1Index != -1 && c1Index < index1) { + optionUsed1 = 'c'; + index1 = c1Index; + } + + /* + and delete if in R1. (Of course the letter of the valid s-ending is not necessarily in R1.) If an ending of group (b) is deleted, and the ending is preceded by niss, delete the final s. + (For example, äckern -> äck, ackers -> acker, armes -> arm, bedürfnissen -> bedürfnis) + */ + + if (index1 != 10000 && r1Index != -1) { + if (index1 >= r1Index) { + word = word.substring(0, index1); + if (optionUsed1 == 'b') { + if (word.search(/niss$/) != -1) { + word = word.substring(0, word.length -1); + } + } + } + } + /* + Step 2: + Search for the longest among the following suffixes, + (a) en er est + (b) st (preceded by a valid st-ending, itself preceded by at least 3 letters) + */ + + var a2Index = word.search(/(en|er|est)$/g); + var b2Index = word.search(/(.{3}[bdfghklmnt]st)$/g); + if (b2Index != -1) { + b2Index += 4; + } + + var index2 = 10000; + var optionUsed2 = ''; + if (a2Index != -1 && a2Index < index2) { + optionUsed2 = 'a'; + index2 = a2Index; + } + if (b2Index != -1 && b2Index < index2) { + optionUsed2 = 'b'; + index2 = b2Index; + } + + /* + and delete if in R1. + (For example, derbsten -> derbst by step 1, and derbst -> derb by step 2, since b is a valid st-ending, and is preceded by just 3 letters) + */ + + if (index2 != 10000 && r1Index != -1) { + if (index2 >= r1Index) { + word = word.substring(0, index2); + } + } + + /* + Step 3: d-suffixes (*) + Search for the longest among the following suffixes, and perform the action indicated. + end ung + delete if in R2 + if preceded by ig, delete if in R2 and not preceded by e + ig ik isch + delete if in R2 and not preceded by e + lich heit + delete if in R2 + if preceded by er or en, delete if in R1 + keit + delete if in R2 + if preceded by lich or ig, delete if in R2 + */ + + var a3Index = word.search(/(end|ung)$/g); + var b3Index = word.search(/[^e](ig|ik|isch)$/g); + var c3Index = word.search(/(lich|heit)$/g); + var d3Index = word.search(/(keit)$/g); + if (b3Index != -1) { + b3Index ++; + } + + var index3 = 10000; + var optionUsed3 = ''; + if (a3Index != -1 && a3Index < index3) { + optionUsed3 = 'a'; + index3 = a3Index; + } + if (b3Index != -1 && b3Index < index3) { + optionUsed3 = 'b'; + index3 = b3Index; + } + if (c3Index != -1 && c3Index < index3) { + optionUsed3 = 'c'; + index3 = c3Index; + } + if (d3Index != -1 && d3Index < index3) { + optionUsed3 = 'd'; + index3 = d3Index; + } + + if (index3 != 10000 && r2Index != -1) { + if (index3 >= r2Index) { + word = word.substring(0, index3); + var optionIndex = -1; + var optionSubsrt = ''; + if (optionUsed3 == 'a') { + optionIndex = word.search(/[^e](ig)$/); + if (optionIndex != -1) { + optionIndex++; + if (optionIndex >= r2Index) { + word = word.substring(0, optionIndex); + } + } + } else if (optionUsed3 == 'c') { + optionIndex = word.search(/(er|en)$/); + if (optionIndex != -1) { + if (optionIndex >= r1Index) { + word = word.substring(0, optionIndex); + } + } + } else if (optionUsed3 == 'd') { + optionIndex = word.search(/(lich|ig)$/); + if (optionIndex != -1) { + if (optionIndex >= r2Index) { + word = word.substring(0, optionIndex); + } + } + } + } + } + + /* + Finally, + turn U and Y back into lower case, and remove the umlaut accent from a, o and u. + */ + word = word.replace(/U/g, 'u'); + word = word.replace(/Y/g, 'y'); + word = word.replace(/ä/g, 'a'); + word = word.replace(/ö/g, 'o'); + word = word.replace(/ü/g, 'u'); + + return word; + }; +//} \ No newline at end of file diff --git a/doc/help/xslt/webhelp/template/content/search/stemmers/en_stemmer.js b/doc/help/xslt/webhelp/template/content/search/stemmers/en_stemmer.js new file mode 100755 index 00000000..f58012f2 --- /dev/null +++ b/doc/help/xslt/webhelp/template/content/search/stemmers/en_stemmer.js @@ -0,0 +1,187 @@ +// Porter stemmer in Javascript. Few comments, but it's easy to follow against the rules in the original +// paper, in +// +// Porter, 1980, An algorithm for suffix stripping, Program, Vol. 14, +// no. 3, pp 130-137, +// +// see also http://www.tartarus.org/~martin/PorterStemmer + +// Release 1 be 'andargor', Jul 2004 +// Release 2 (substantially revised) by Christopher McKenzie, Aug 2009 + + +var stemmer = (function(){ + var step2list = { + "ational" : "ate", + "tional" : "tion", + "enci" : "ence", + "anci" : "ance", + "izer" : "ize", + "bli" : "ble", + "alli" : "al", + "entli" : "ent", + "eli" : "e", + "ousli" : "ous", + "ization" : "ize", + "ation" : "ate", + "ator" : "ate", + "alism" : "al", + "iveness" : "ive", + "fulness" : "ful", + "ousness" : "ous", + "aliti" : "al", + "iviti" : "ive", + "biliti" : "ble", + "logi" : "log" + }, + + step3list = { + "icate" : "ic", + "ative" : "", + "alize" : "al", + "iciti" : "ic", + "ical" : "ic", + "ful" : "", + "ness" : "" + }, + + c = "[^aeiou]", // consonant + v = "[aeiouy]", // vowel + C = c + "[^aeiouy]*", // consonant sequence + V = v + "[aeiou]*", // vowel sequence + + mgr0 = "^(" + C + ")?" + V + C, // [C]VC... is m>0 + meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$", // [C]VC[V] is m=1 + mgr1 = "^(" + C + ")?" + V + C + V + C, // [C]VCVC... is m>1 + s_v = "^(" + C + ")?" + v; // vowel in stem + + return function (w) { + var stem, + suffix, + firstch, + re, + re2, + re3, + re4, + origword = w; + + if (w.length < 3) { return w; } + + firstch = w.substr(0,1); + if (firstch == "y") { + w = firstch.toUpperCase() + w.substr(1); + } + + // Step 1a + re = /^(.+?)(ss|i)es$/; + re2 = /^(.+?)([^s])s$/; + + if (re.test(w)) { w = w.replace(re,"$1$2"); } + else if (re2.test(w)) { w = w.replace(re2,"$1$2"); } + + // Step 1b + re = /^(.+?)eed$/; + re2 = /^(.+?)(ed|ing)$/; + if (re.test(w)) { + var fp = re.exec(w); + re = new RegExp(mgr0); + if (re.test(fp[1])) { + re = /.$/; + w = w.replace(re,""); + } + } else if (re2.test(w)) { + var fp = re2.exec(w); + stem = fp[1]; + re2 = new RegExp(s_v); + if (re2.test(stem)) { + w = stem; + re2 = /(at|bl|iz)$/; + re3 = new RegExp("([^aeiouylsz])\\1$"); + re4 = new RegExp("^" + C + v + "[^aeiouwxy]$"); + if (re2.test(w)) { w = w + "e"; } + else if (re3.test(w)) { re = /.$/; w = w.replace(re,""); } + else if (re4.test(w)) { w = w + "e"; } + } + } + + // Step 1c + re = /^(.+?)y$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(s_v); + if (re.test(stem)) { w = stem + "i"; } + } + + // Step 2 + re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + suffix = fp[2]; + re = new RegExp(mgr0); + if (re.test(stem)) { + w = stem + step2list[suffix]; + } + } + + // Step 3 + re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + suffix = fp[2]; + re = new RegExp(mgr0); + if (re.test(stem)) { + w = stem + step3list[suffix]; + } + } + + // Step 4 + re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/; + re2 = /^(.+?)(s|t)(ion)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(mgr1); + if (re.test(stem)) { + w = stem; + } + } else if (re2.test(w)) { + var fp = re2.exec(w); + stem = fp[1] + fp[2]; + re2 = new RegExp(mgr1); + if (re2.test(stem)) { + w = stem; + } + } + + // Step 5 + re = /^(.+?)e$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(mgr1); + re2 = new RegExp(meq1); + re3 = new RegExp("^" + C + v + "[^aeiouwxy]$"); + if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) { + w = stem; + } + } + + re = /ll$/; + re2 = new RegExp(mgr1); + if (re.test(w) && re2.test(w)) { + re = /.$/; + w = w.replace(re,""); + } + + // and turn initial Y back to y + + if (firstch == "y") { + w = firstch.toLowerCase() + w.substr(1); + } + + return w; + } +})(); \ No newline at end of file diff --git a/doc/help/xslt/webhelp/template/content/search/stemmers/fr_stemmer.js b/doc/help/xslt/webhelp/template/content/search/stemmers/fr_stemmer.js new file mode 100644 index 00000000..34f97431 --- /dev/null +++ b/doc/help/xslt/webhelp/template/content/search/stemmers/fr_stemmer.js @@ -0,0 +1,299 @@ +/* + * Author: Kasun Gajasinghe + * E-Mail: kasunbg AT gmail DOT com + * Date: 09.08.2010 + * + * usage: stemmer(word); + * ex: var stem = stemmer(foobar); + * Implementation of the stemming algorithm from http://snowball.tartarus.org/algorithms/french/stemmer.html + * + * LICENSE: + * + * Copyright (c) 2010, Kasun Gajasinghe. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * + * THIS SOFTWARE IS PROVIDED BY KASUN GAJASINGHE ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL KASUN GAJASINGHE BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE + * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +var stemmer = function(word){ +// Letters in French include the following accented forms, +// â à ç ë é ê è ï î ô û ù +// The following letters are vowels: +// a e i o u y â à ë é ê è ï î ô û ù + + word = word.toLowerCase(); + var oriWord = word; + word = word.replace(/qu/g, 'qU'); //have to perform first, as after the operation, capital U is not treated as a vowel + word = word.replace(/([aeiouyâàëéêèïîôûù])u([aeiouyâàëéêèïîôûù])/g, '$1U$2'); + word = word.replace(/([aeiouyâàëéêèïîôûù])i([aeiouyâàëéêèïîôûù])/g, '$1I$2'); + word = word.replace(/([aeiouyâàëéêèïîôûù])y/g, '$1Y'); + word = word.replace(/y([aeiouyâàëéêèïîôûù])/g, 'Y$1'); + + var rv=''; + var rvIndex = -1; + if(word.search(/^(par|col|tap)/) != -1 || word.search(/^[aeiouyâàëéêèïîôûù]{2}/) != -1){ + rv = word.substring(3); + rvIndex = 3; + } else { + rvIndex = word.substring(1).search(/[aeiouyâàëéêèïîôûù]/); + if(rvIndex != -1){ + rvIndex +=2; //+2 is to supplement the substring(1) used to find rvIndex + rv = word.substring(rvIndex); + } else { + rvIndex = word.length; + } + } + +// R1 is the region after the first non-vowel following a vowel, or the end of the word if there is no such non-vowel. +// R2 is the region after the first non-vowel following a vowel in R1, or the end of the word if there is no such non-vowel + var r1Index = word.search(/[aeiouyâàëéêèïîôûù][^aeiouyâàëéêèïîôûù]/); + var r1 = ''; + if (r1Index != -1) { + r1Index += 2; + r1 = word.substring(r1Index); + } else { + r1Index = word.length; + } + + var r2Index = -1; + var r2 = ''; + if (r1Index != -1) { + r2Index = r1.search(/[aeiouyâàëéêèïîôûù][^aeiouyâàëéêèïîôûù]/); + if (r2Index != -1) { + r2Index += 2; + r2 = r1.substring(r2Index); + r2Index += r1Index; + } else { + r2 = ''; + r2Index = word.length; + } + } + if (r1Index != -1 && r1Index < 3) { + r1Index = 3; + r1 = word.substring(r1Index); + } + + /* + Step 1: Standard suffix removal + */ + var a1Index = word.search(/(ance|iqUe|isme|able|iste|eux|ances|iqUes|ismes|ables|istes)$/); + var a2Index = word.search(/(atrice|ateur|ation|atrices|ateurs|ations)$/); + var a3Index = word.search(/(logie|logies)$/); + var a4Index = word.search(/(usion|ution|usions|utions)$/); + var a5Index = word.search(/(ence|ences)$/); + var a6Index = word.search(/(ement|ements)$/); + var a7Index = word.search(/(ité|ités)$/); + var a8Index = word.search(/(if|ive|ifs|ives)$/); + var a9Index = word.search(/(eaux)$/); + var a10Index = word.search(/(aux)$/); + var a11Index = word.search(/(euse|euses)$/); + var a12Index = word.search(/[^aeiouyâàëéêèïîôûù](issement|issements)$/); + var a13Index = word.search(/(amment)$/); + var a14Index = word.search(/(emment)$/); + var a15Index = word.search(/[aeiouyâàëéêèïîôûù](ment|ments)$/); + + if(a1Index != -1 && a1Index >= r2Index){ + word = word.substring(0,a1Index); + } else if(a2Index != -1 && a2Index >= r2Index){ + word = word.substring(0,a2Index); + var a2Index2 = word.search(/(ic)$/); + if(a2Index2 != -1 && a2Index2 >= r2Index){ + word = word.substring(0, a2Index2); //if preceded by ic, delete if in R2, + } else { //else replace by iqU + word = word.replace(/(ic)$/,'iqU'); + } + } else if(a3Index != -1 && a3Index >= r2Index){ + word = word.replace(/(logie|logies)$/,'log'); //replace with log if in R2 + } else if(a4Index != -1 && a4Index >= r2Index){ + word = word.replace(/(usion|ution|usions|utions)$/,'u'); //replace with u if in R2 + } else if(a5Index != -1 && a5Index >= r2Index){ + word = word.replace(/(ence|ences)$/,'ent'); //replace with ent if in R2 + } else if(a6Index != -1 && a6Index >= rvIndex){ + word = word.substring(0,a6Index); + if(word.search(/(iv)$/) >= r2Index){ + word = word.replace(/(iv)$/, ''); + if(word.search(/(at)$/) >= r2Index){ + word = word.replace(/(at)$/, ''); + } + } else if(word.search(/(eus)$/) != -1){ + var a6Index2 = word.search(/(eus)$/); + if(a6Index2 >=r2Index){ + word = word.substring(0, a6Index2); + } else if(a6Index2 >= r1Index){ + word = word.substring(0,a6Index2)+"eux"; + } + } else if(word.search(/(abl|iqU)$/) >= r2Index){ + word = word.replace(/(abl|iqU)$/,''); //if preceded by abl or iqU, delete if in R2, + } else if(word.search(/(ièr|Ièr)$/) >= rvIndex){ + word = word.replace(/(ièr|Ièr)$/,'i'); //if preceded by abl or iqU, delete if in R2, + } + } else if(a7Index != -1 && a7Index >= r2Index){ + word = word.substring(0,a7Index); //delete if in R2 + if(word.search(/(abil)$/) != -1){ //if preceded by abil, delete if in R2, else replace by abl, otherwise, + var a7Index2 = word.search(/(abil)$/); + if(a7Index2 >=r2Index){ + word = word.substring(0, a7Index2); + } else { + word = word.substring(0,a7Index2)+"abl"; + } + } else if(word.search(/(ic)$/) != -1){ + var a7Index3 = word.search(/(ic)$/); + if(a7Index3 != -1 && a7Index3 >= r2Index){ + word = word.substring(0, a7Index3); //if preceded by ic, delete if in R2, + } else { //else replace by iqU + word = word.replace(/(ic)$/,'iqU'); + } + } else if(word.search(/(iv)$/) != r2Index){ + word = word.replace(/(iv)$/,''); + } + } else if(a8Index != -1 && a8Index >= r2Index){ + word = word.substring(0,a8Index); + if(word.search(/(at)$/) >= r2Index){ + word = word.replace(/(at)$/, ''); + if(word.search(/(ic)$/) >= r2Index){ + word = word.replace(/(ic)$/, ''); + } else { word = word.replace(/(ic)$/, 'iqU'); } + } + } else if(a9Index != -1){ word = word.replace(/(eaux)/,'eau') + } else if(a10Index >= r1Index){ word = word.replace(/(aux)/,'al') + } else if(a11Index != -1 ){ + var a11Index2 = word.search(/(euse|euses)$/); + if(a11Index2 >=r2Index){ + word = word.substring(0, a11Index2); + } else if(a11Index2 >= r1Index){ + word = word.substring(0, a11Index2)+"eux"; + } + } else if(a12Index!=-1 && a12Index>=r1Index){ + word = word.substring(0,a12Index+1); //+1- amendment to non-vowel + } else if(a13Index!=-1 && a13Index>=rvIndex){ + word = word.replace(/(amment)$/,'ant'); + } else if(a14Index!=-1 && a14Index>=rvIndex){ + word = word.replace(/(emment)$/,'ent'); + } else if(a15Index!=-1 && a15Index>=rvIndex){ + word = word.substring(0,a15Index+1); + } + + /* Step 2a: Verb suffixes beginning i*/ + var wordStep1 = word; + var step2aDone = false; + if(oriWord == word.toLowerCase() || oriWord.search(/(amment|emment|ment|ments)$/) != -1){ + step2aDone = true; + var b1Regex = /([^aeiouyâàëéêèïîôûù])(îmes|ît|îtes|i|ie|ies|ir|ira|irai|iraIent|irais|irait|iras|irent|irez|iriez|irions|irons|iront|is|issaIent|issais|issait|issant|issante|issantes|issants|isse|issent|isses|issez|issiez|issions|issons|it)$/i; + if(word.search(b1Regex) >= rvIndex){ + word = word.replace(b1Regex,'$1'); + } + } + + /* Step 2b: Other verb suffixes*/ + if (step2aDone && wordStep1 == word) { + if (word.search(/(ions)$/) >= r2Index) { + word = word.replace(/(ions)$/, ''); + } else { + var b2Regex = /(é|ée|ées|és|èrent|er|era|erai|eraIent|erais|erait|eras|erez|eriez|erions|erons|eront|ez|iez)$/i; + if (word.search(b2Regex) >= rvIndex) { + word = word.replace(b2Regex, ''); + } else { + var b3Regex = /e(âmes|ât|âtes|a|ai|aIent|ais|ait|ant|ante|antes|ants|as|asse|assent|asses|assiez|assions)$/i; + if (word.search(b3Regex) >= rvIndex) { + word = word.replace(b3Regex, ''); + } else { + var b3Regex2 = /(âmes|ât|âtes|a|ai|aIent|ais|ait|ant|ante|antes|ants|as|asse|assent|asses|assiez|assions)$/i; + if (word.search(b3Regex2) >= rvIndex) { + word = word.replace(b3Regex2, ''); + } + } + } + } + } + + if(oriWord != word.toLowerCase()){ + /* Step 3 */ + var rep = ''; + if(word.search(/Y$/) != -1) { + word = word.replace(/Y$/, 'i'); + } else if(word.search(/ç$/) != -1){ + word = word.replace(/ç$/, 'c'); + } + } else { + /* Step 4 */ + //If the word ends s, not preceded by a, i, o, u, è or s, delete it. + if (word.search(/([^aiouès])s$/) >= rvIndex) { + word = word.replace(/([^aiouès])s$/, '$1'); + } + var e1Index = word.search(/ion$/); + if (e1Index >= r2Index && word.search(/[st]ion$/) >= rvIndex) { + word = word.substring(0, e1Index); + } else { + var e2Index = word.search(/(ier|ière|Ier|Ière)$/); + if (e2Index != -1 && e2Index >= rvIndex) { + word = word.substring(0, e2Index) + "i"; + } else { + if (word.search(/e$/) >= rvIndex) { + word = word.replace(/e$/, ''); //delete last e + } else if (word.search(/guë$/) >= rvIndex) { + word = word.replace(/guë$/, 'gu'); + } + } + } + } + + /* Step 5: Undouble */ + //word = word.replace(/(en|on|et|el|eil)(n|t|l)$/,'$1'); + word = word.replace(/(en|on)(n)$/,'$1'); + word = word.replace(/(ett)$/,'et'); + word = word.replace(/(el|eil)(l)$/,'$1'); + + /* Step 6: Un-accent */ + word = word.replace(/[éè]([^aeiouyâàëéêèïîôûù]+)$/,'e$1'); + word = word.toLowerCase(); + return word; +}; + +var eqOut = new Array(); +var noteqOut = new Array(); +var eqCount = 0; +/* +To test the stemming, create two arrays named "voc" and "COut" which are for vocabualary and the stemmed output. +Then add the vocabulary strings and output strings. This method will generate the stemmed output for "voc" and will +compare the output with COut. + (I used porter's voc and out files and did a regex to convert them to js objects. regex: /");\nvoc.push("/g . This + will add strings to voc array such that output would look like: voc.push("foobar"); ) drop me an email for any help. + */ +function testFr(){ + var start = new Date().getTime(); //execution time + eqCount = 0; + eqOut = new Array(); + noteqOut = new Array(); + for(var k=0;kI$N~E8N^zO~Pw;a^(H|lo|{Z2pXH!s%dfd}c>`i1a} zv}w~u+O=z^&ucH8I(3rHojXg{u3e>Dw{8*;5FkBz^pKuCdrDwnp!Dg}NBZ{dEB*TQ z6Nkeg0|pF`prAoAc<^8uHf*StVKRL9a2YvrgqD#qdh{p>4GoboW5&q%@jsOb6UNKL zi9gdaQ6^2AB$FpkmZ?*xNO*X-L`Fu+^y$Bp88fEKtXVU)%#sg3oF&oGQ8IgWw9KDB zPs@B+u;4ecaNzt(}+4YG0LAI0POlNOI`@@$gLn>WkWty^W=wr#RKF;TW}-yu78?2ylPeI~ni@0LA# z_Gn3xq&<5jDQSVbpHow1pOJmCZ{L2| zzkk0RI`n5Pha@d6P14fSB|SY&OS)uaWJqRaretMhNls3#g(&}#*G_t^X5&tb?cVgzI{vX-n}dL z?%k7bzx}s7cC;HDBDMsph1qdetv!((`o7b?{;YGKUdEz%jHZ6 zv#c$>;zP!+HFMWmmmYU{0=tATce>bbS#cp9huibSU}xwMrz7~gd6bnH)iEG2$gFd@ zJYy}(9nkA-M`D7<6YF#(>hm}CcMNiS65O6GA54gHMoozRU`S|`t|U=W6Bf^PyW`>( zeLUB_WbTqha~J)u9;eRs)-qNL_1FBx*pl^~qD_9e6q)zZbzybPEX?t%8DrUQ4=n@2+%jQeC=qF~Z#6-(P8( z8EMt3Rm1lV9Xgn2M%LTwSfl%vy7Bj$sjwu+5)t0_|^tKi_DDD!LDm;9u0$<-Bj83<2 z{nO;fh!O7^n~8(X74#qu#0<{kbJpWG+yB_D?;uL||3=v8fuD&b_Mtl?XJHfE!aj7t zFT6v*$M(K``SF#veRv1|N=c9=38e92+=rps~@$$0vM4h#9$K zV>5yYXQ)Ho`1o1hp_=e-#fs$$&VTYrywZ0!6MOQA*n^3!c1_@!c1W;jpi-y>abld`|wsL0|uqAHKRXC$EU7?Pv7BessvrZt61|tGN+O z&b)f{N&`M~@{t_zwVyNK1^$KG`Zs{dV`4~N!a??5yH@|&_LFxCvE>%RaKhWN1tyApEK|ee!F}3U#2dR zd-w!yk|#MiU%qrdXMkzyPr-lt&$@MM4ELz7-nzE*Tw8ltQJ2UA@Tm#Z2>j7p{JhTr zpZp}&S4!fq}EYe$PMg6A8HUafc_3w>BH~8Kgq12FTYML06*u; zye9ZI2W|c^k{9Sj{^MV`2ItU&e5AipH^D|t&;Dzc2r=hn#9|FL{OiV8S_c*tTt}sfFBI;6HkzJ9U&= zNPaP1tG{OKV&psc{O+*tKlqvc0k>M>Keo|t!Nf%1@CAb2oJntiTksWu>-Gp| zz&}~~b))+q^^+K*haG=!Kj^=Qn7bdorWbR^CMNg{{@HQIJ}`(Q@g-b#_ci}7F>~;LEW*zo0GUu5+Ji~wXu%D6o_uZcXzPI5&U0{b) literal 0 HcmV?d00001 diff --git a/doc/help/xslt/webhelp/xsl/webhelp.xsl b/doc/help/xslt/webhelp/xsl/webhelp.xsl new file mode 100755 index 00000000..9d72d5df --- /dev/null +++ b/doc/help/xslt/webhelp/xsl/webhelp.xsl @@ -0,0 +1,782 @@ + + + + + + + + + true + index.html + docs + + en + + 0 + + + + no + 0 + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + language: + + + + + + + + + + + Note + + + namesp. cut + + + stripped namespace before processing + + + + + + + + Note + + + namesp. cut + + + processing stripped document + + + + + + + + Unable to strip the namespace from DB5 document, + cannot proceed. + + + + + + + + + ID ' + + ' not found in document. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + + + + + + + + + + + + +
        + + + + + +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
        +
        + +
        + loading table of contents... + + +
        + +
        + +
        +
        +
        +
        +
        + +
        +
        +
        +
        +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      • + + webhelp-currentid + + + + + + + +
          + + + +
        +
        +
      • +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <xsl:value-of select="//title[1]"/>  + + + + If not automatically redirected, click here: content/ch01.html + + + + + + +
        diff --git a/doc/help/xslt/website/autolayout.xsl b/doc/help/xslt/website/autolayout.xsl new file mode 100644 index 00000000..461bfcea --- /dev/null +++ b/doc/help/xslt/website/autolayout.xsl @@ -0,0 +1,258 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + All toc entries must have a page attribute. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + All toc entries must have an href attribute. + + + + + + All href toc entries must have an id attribute. + + + + + off site: + + + + + + + + + + + + + + + + + + Off-site links must provide a title. + + + + + + + + + + + + + All toc entries must have a page attribute. + + + + + + + + + : missing ID. + + + + + + + + + + + + + + index.html + + + + + + + + + + + : missing filename. + + + + + + : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <xsl:apply-templates select="$page/*[1]/head/title"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + / + + + + + + + + / + + + + + + + / + + + + + + diff --git a/doc/help/xslt/website/chunk-common.xsl b/doc/help/xslt/website/chunk-common.xsl new file mode 100644 index 00000000..d750c058 --- /dev/null +++ b/doc/help/xslt/website/chunk-common.xsl @@ -0,0 +1,227 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Fail: tocentry has both page and href attributes. + + + + + + + + + index.html + + + + + + + + + + + + + + + + + + + + + does not exist. + + + + + + + + does not exist. + + + + + + + + + + + + + + + + + + / + + + + + + + + 0 + + + + 1 + + 0 + + + + + + 1 + + 0 + + + 1 + + + + + + + Update: + + : + + + + + + + + + + + + + + + + + + Up-to-date: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must specify a $website.database.document parameter when + $collect.xref.targets is set to 'yes' or 'only'. + The xref targets were not collected. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/website/chunk-tabular.xsl b/doc/help/xslt/website/chunk-tabular.xsl new file mode 100644 index 00000000..cdf97cfd --- /dev/null +++ b/doc/help/xslt/website/chunk-tabular.xsl @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/doc/help/xslt/website/chunk-website.xsl b/doc/help/xslt/website/chunk-website.xsl new file mode 100644 index 00000000..a9179a08 --- /dev/null +++ b/doc/help/xslt/website/chunk-website.xsl @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/doc/help/xslt/website/head.xsl b/doc/help/xslt/website/head.xsl new file mode 100644 index 00000000..e3ac3080 --- /dev/null +++ b/doc/help/xslt/website/head.xsl @@ -0,0 +1,316 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <xsl:value-of select="."/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JavaScript + + + + + + + + + text/javascript + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Note + + + namesp. cut + + + stripped namespace before processing + + + + + + + + Note + + + namesp. cut + + + processing stripped document + + + + + + + + Unable to strip the namespace from DB5 document, + cannot proceed. + + + + + + + + + ID ' + + ' not found in document. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + diff --git a/doc/help/xslt/xhtml-1_1/ebnf.xsl b/doc/help/xslt/xhtml-1_1/ebnf.xsl new file mode 100644 index 00000000..85e33ee9 --- /dev/null +++ b/doc/help/xslt/xhtml-1_1/ebnf.xsl @@ -0,0 +1,328 @@ + + + + + + + + + + +$Id: ebnf.xsl 8178 2008-12-15 22:26:38Z bobstayton $ + +Walsh +Norman +19992000 +Norman Walsh + + +HTML EBNF Reference + + +
        Introduction + +This is technical reference documentation for the DocBook XSL +Stylesheets; it documents (some of) the parameters, templates, and +other elements of the stylesheets. + +This reference describes the templates and parameters relevant +to formatting EBNF markup. + +This is not intended to be user documentation. +It is provided for developers writing customization layers for the +stylesheets, and for anyone who's interested in how it +works. + +Although I am trying to be thorough, this documentation is known +to be incomplete. Don't forget to read the source, too :-) +
        +
        +
        + + + + + + + background-color: + + + + + 1 + + + + + + EBNF + + for + + + + + + + + + + + + +
        + + +
        + + + background-color: + + + + + + + EBNF productions + +
        +
        +
        + + + + + + + + + + [ + + ] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +   + + + + + + + + + + + + + Error: no ID for productionrecap linkend: + + . + + + + + + Warning: multiple "IDs" for productionrecap linkend: + + . + + + + + + + + + + + + + + + + | +
        +
        +
        + + + + + + + + + + + + + + + production + + + + + + + + + Non-terminals with no content must point to + production elements in the current document. + + + Invalid xpointer for empty nt: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ??? + + + + + + + + + + + + + /*  + +  */ +
        +
        + + + + + + + + + constraintdef + + + + + + + + + + + + + + + + : + + + + + + + : + + + + + + + + + +  ] + +
        +
        +
        + + +
        + + + +
        +
        + + +

        +
        + + + +
        diff --git a/doc/help/xslt/xhtml-1_1/footnote.xsl b/doc/help/xslt/xhtml-1_1/footnote.xsl new file mode 100644 index 00000000..8da2720e --- /dev/null +++ b/doc/help/xslt/xhtml-1_1/footnote.xsl @@ -0,0 +1,305 @@ + + + + + + + + + + + + + #ftn. + + + + + + + [ + + + + + ] + + + + + [ + + + + + ] + + + + + + + + + + + +ERROR: A footnoteref element has a linkend that points to an element that is not a footnote. +Typically this happens when an id attribute is accidentally applied to the child of a footnote element. +target element: +linkend/id: + + + + + + + + + + + + #ftn. + + + + + [ + + + + + ] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ftn. + + + + + + # + + + + + + + + + + + + + + [ + + + + + ] + + + + + + + + + + + + ftn. + + + + + + # + + + + + + + [ + + + + + ] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
        +
        + +
        +
        + + +
        +
        +

        The following annotations are from this essay. You are seeing + them here because your browser doesn’t support the user-interface + techniques used to make them appear as ‘popups’ on modern browsers.

        +
        + + +
        +
        +
        + + + + + + + + +
        + + +
        +
        + + +
        + + + +
        +
        + + + + Warning: footnote number may not be generated + correctly; + + unexpected as first child of footnote. + +
        + + +
        +
        +
        +
        + + + + + + + + +
        diff --git a/doc/help/xslt/xhtml-1_1/formal.xsl b/doc/help/xslt/xhtml-1_1/formal.xsl new file mode 100644 index 00000000..57c98f32 --- /dev/null +++ b/doc/help/xslt/xhtml-1_1/formal.xsl @@ -0,0 +1,411 @@ + + + + + + + +1 + + + + + + + + + + +
        + + + + + + + +
        + +
        + + + + + +

        + + +

        +

        + + + + + + + +
        +
        + +
        +
        +
        + + + + + + + + + -float + + + + + + + + + +
        + + + + + + + + + + + + + +
        + +
        +
        + +

        + + + +

        +
        +
        +
        + + + + + +
        +

        + + + + + + + + +

        +

        +
        + + + + + + + + + -float + + + + + + + + + +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + before + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Broken table: tr descendent of CALS Table. + + + + + + + + + + before + + + + + + + + + + + + + + + + + + + + + + + + + Broken table: row descendent of HTML table. + + + + + + + + + + + + + + + + + + + + + + + + before + + + + + + + + + + + + + + + + + + + + + before + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + + + float: + + ; + + + +
        +
        + +
        diff --git a/doc/help/xslt/xhtml-1_1/glossary.xsl b/doc/help/xslt/xhtml-1_1/glossary.xsl new file mode 100644 index 00000000..d22b6c51 --- /dev/null +++ b/doc/help/xslt/xhtml-1_1/glossary.xsl @@ -0,0 +1,564 @@ + + + + + + + + + + + + + + + + + + normalize.sort.input + + + + + + normalize.sort.output + + + + + +
        + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + + + + + + + + + + +
        +
        + + + +
        + + + + +
        +
        + + + + + + + + + + + + + + + + + + normalize.sort.input + + + + + + normalize.sort.output + + + +
        + + + + + +
        + + + + + + + + + + +
        +
        +
        + + + + + + + + + + + + normalize.sort.input + + + + + + normalize.sort.output + + + + + +
        + + + +
        + + + + + + + + + + +
        +
        +
        + + +

        + + +

        +
        + + + + + + + + +
        + + + + 0 + 1 + + + + + + + + ( + + ) + + + + + +
        +
        + +
        + + + + 0 + 1 + + + + + + + + ( + + ) + +
        +
        + +
        + + + + 0 + 1 + + + + + +
        +
        +
        + + +
        + + + + , + + + + + , + + + + + , + + + + + + + + + + + +
        +

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Warning: glosssee @otherterm reference not found: + + + + + + + + + + + + + + +

        +
        +
        + + +
        + + +

        + + + + + + + + + + + + + +

        +
        +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Warning: glossseealso @otherterm reference not found: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + normalize.sort.input + + + + + + normalize.sort.output + + + + + + + + + + + Warning: processing automatic glossary + without a glossary.collection file. + + + + + + Warning: processing automatic glossary but unable to + open glossary.collection file ' + + ' + + + +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + + + + + + + + + + + + + + + + + + + +
        +
        +
        + + + + +
        +
        + + + + + + + + + + + + + + + + + normalize.sort.input + + + + + + normalize.sort.output + + + + +
        + + + +
        + + + + ! + + + + + + + + + + + + + + + +
        +
        +
        + + + +
        diff --git a/doc/help/xslt/xhtml-1_1/graphics.xsl b/doc/help/xslt/xhtml-1_1/graphics.xsl new file mode 100644 index 00000000..db05ad27 --- /dev/null +++ b/doc/help/xslt/xhtml-1_1/graphics.xsl @@ -0,0 +1,1436 @@ + + + + + + + + + + + + + + + + 1 + + + + + + 1 + + + + + +
        + + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + 0 + 0 + + 1 + 0 + + + + + + 1.0 + 1.0 + + + + 1.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + px + + + + + + + + + + + px + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + px + + + + + + + + + + + px + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text-align: + + middle + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Warning: imagemaps not supported + on scaled images + + + + 0 + + + + + + + + + + + + + + + + + + text-align: + + middle + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + height: + + px + + + + + + + + + + + +
        + + + + + background-color: + + + + + background-color: + + + + + + + text-align: + + + + + + + + + +
        +
        + + + +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + calspair + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + , + + , + + , + + + + + + + + + + + + Warning: only calspair or + otherunits='imagemap' supported + in imageobjectco + + + + + + +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text-align: + + middle + + + + + + + + + + + + + + + + + +
        + + text-align: + + + + + +
        +
        +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No insertfile extension available. + + + + + + + Cannot insert + . Check use.extensions and textinsert.extension parameters. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + + + text-align: + + + + + + + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No insertfile extension available. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No insertfile extension available. + + + + + + + Cannot insert + . Check use.extensions and textinsert.extension parameters. + + + + + + + + +
        + + + text-align: + + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        diff --git a/doc/help/xslt/xhtml-1_1/highlight.xsl b/doc/help/xslt/xhtml-1_1/highlight.xsl new file mode 100644 index 00000000..222a0559 --- /dev/null +++ b/doc/help/xslt/xhtml-1_1/highlight.xsl @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/xhtml-1_1/html-rtf.xsl b/doc/help/xslt/xhtml-1_1/html-rtf.xsl new file mode 100644 index 00000000..e079a738 --- /dev/null +++ b/doc/help/xslt/xhtml-1_1/html-rtf.xsl @@ -0,0 +1,321 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + +
        + + + + + + + + + + +
        +
        +
        +
        + + + + + + + + + + + + + + +
        + +
        + + + + + + + + + + +
        +
        +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        diff --git a/doc/help/xslt/xhtml-1_1/html.xsl b/doc/help/xslt/xhtml-1_1/html.xsl new file mode 100644 index 00000000..154a6454 --- /dev/null +++ b/doc/help/xslt/xhtml-1_1/html.xsl @@ -0,0 +1,598 @@ + + + + + + + + + + + + left + right + left + + + + + + right + left + right + + + + + + ltr + rtl + ltr + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + # + + + + + + + + + # + + + + + + + + + + + + + + + + + + + bullet + + + + + + + + + bullet + + + © + + + ® + (SM) +   + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID recommended on + + + : + + + + ... + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ERROR: no root element for CSS source file' + + '. + + + + + + + + + + + + + + + + + + + + + + + + + + + + ERROR: missing CSS input filename. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/xhtml-1_1/htmltbl.xsl b/doc/help/xslt/xhtml-1_1/htmltbl.xsl new file mode 100644 index 00000000..47c9a98e --- /dev/null +++ b/doc/help/xslt/xhtml-1_1/htmltbl.xsl @@ -0,0 +1,102 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + float: + + left + right + + + + + + + + + + + + + none + none + + ; + + + + diff --git a/doc/help/xslt/xhtml-1_1/index.xsl b/doc/help/xslt/xhtml-1_1/index.xsl new file mode 100644 index 00000000..2c39f4fa --- /dev/null +++ b/doc/help/xslt/xhtml-1_1/index.xsl @@ -0,0 +1,264 @@ + + + + + + + + + + + + + + + + + + + +
        + + + + + + + + + + + + + + + + + + + + + + + + +
        + +
        +
        +
        +
        + + + + + + + + + + +
        +
        +
        + + + + + + + + + + + +
        + + + + + + + + + + + + + + + + + + + +
        +
        +
        + + + + + + + + + + + + +
        + + + + + + + + + +
        + +
        +
        +
        + + +

        + + +

        +
        + + + + + + + + + +
        + + + + + + + + + + + + +
        + +
        +
        + + + +
        +
        + + + + + + + + + + +
        +
        + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
        +
        + + +
        +
        + +
        +
        + + + + + + + + + + + + + + +
        +
        +
        + + +
        + ( + + + + + + ) +
        +
        + + +
        + ( + + + + + + ) +
        +
        + + diff --git a/doc/help/xslt/xhtml-1_1/info.xsl b/doc/help/xslt/xhtml-1_1/info.xsl new file mode 100644 index 00000000..76285abb --- /dev/null +++ b/doc/help/xslt/xhtml-1_1/info.xsl @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/xhtml-1_1/inline.xsl b/doc/help/xslt/xhtml-1_1/inline.xsl new file mode 100644 index 00000000..da722261 --- /dev/null +++ b/doc/help/xslt/xhtml-1_1/inline.xsl @@ -0,0 +1,1451 @@ + + + + + + + + + + + + + + + + + + + + + + _blank + _top + + + + + + + + + + + + + + 1 + 0 + + + + + + + + + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + XLink to nonexistent id: + + + + + + +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + span + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ( + + ) + + + + + + + + + + + , + + + + + + + , + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + abbr + + + + + + acronym + + + + + + + + + + + + + + + + + + + + + + + + + + http://example.com/cgi-bin/man.cgi? + + ( + + ) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SM + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Warning: glossary.collection specified, but there are + + automatic glossaries + + + + + + + + + + + + + + + + + + + + + + + + There's no entry for + + in + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Error: no glossentry for glossterm: + + . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + element + + + + + + + + + + + + + + + + </ + + > + + + & + + ; + + + &# + + ; + + + % + + ; + + + <? + + > + + + <? + + ?> + + + < + + > + + + < + + /> + + + <!-- + + --> + + + + + + + + + + + + + + + + + + + + + + < + + + + + mailto: + + + + + + > + + + + + + + + + + + + + - + - + - + + + + + + + + + + + + + + + + + + + + + + ( + + ) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [ + + + + + + + + + + + + + + + + + + + ] + + + [ + + ] + + + + + + + + + + + + + [ + + + + + + + + + + + + ] + + + [ + + ] + + + + + + + + + + + + +

        +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/xhtml-1_1/keywords.xsl b/doc/help/xslt/xhtml-1_1/keywords.xsl new file mode 100644 index 00000000..5f6b4fb0 --- /dev/null +++ b/doc/help/xslt/xhtml-1_1/keywords.xsl @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + , + + + + + diff --git a/doc/help/xslt/xhtml-1_1/lists.xsl b/doc/help/xslt/xhtml-1_1/lists.xsl new file mode 100644 index 00000000..967443fb --- /dev/null +++ b/doc/help/xslt/xhtml-1_1/lists.xsl @@ -0,0 +1,1088 @@ + + + + + + + + + + +
        + + + + + + + + + +
          + + + + + + Compact spacing via @spacing attribute cannot be set in strict XHTML output for listitem: + +
        +
        +
        + + + + + + + + + + + + + + + + + + + + + + + circle + disc + square + + + + + + +
      • + + + + list-style-type: + + + + + + + + + + + +
        + +
        +
        + + + +
        +
      • +
        + + + + + + + + + + + + + 1 + a + i + A + I + + + + Unexpected numeration: + + + + + + + +
        + + + + + + + + + + + + + + + + + + +
        +
        + +
          + + Strict XHTML does not allow setting @start attribute for lists! + + + + Compact spacing via @spacing attribute cannot be set in strict XHTML output for listitem: + +
        +
        +
        +
        +
        + + + + + + +
      • + + @override attribute cannot be set in strict XHTML output for listitem: + + + + + + + + +
        + +
        +
        + + + +
        +
      • +
        + + + + + + + + + + + + + +
        + +
        +
        + + + +
        + + +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + +
        + +
        +
        +
        +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + +

        + + + + + + + + + + + + + +

        +
        +
        +
        + + +
        + + +
        +
        + +
        +
        + + + + + + + + + + + + + + + + + + + + + +

        + + + + + + + + + + + + + + + + + + + + + + + + + + + +

        + + + + + +
        + + + + + + + + + + + + + + + + + + +
        +
        +
        +
        +
        +
        + + + + + + + + + +
        + +
        +
        + + + +
        +
        + + + + + + + + + + + + + + + 1 + + + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + , + + + + + + + + + + + + + + + + + + + + + + + 1 + + + +
        +
        + + + + + + + + + + + + 1 + + + +
        +
        + + + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + 1 + 1 + + 1 + + + + + + + + +   + + + + + + + + + + + + + + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + 1 + 1 + + 1 + + + + + + + + +   + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + before + + + + + + + + + +
        + + + + + 0 + 1 + + + + + + + + + + + + +
          + + +
        +
        + +
          + + + +
        +
        +
        + + + + +
        +
        + + + + + +decimallower-alphalower-romanupper-alphaupper-romanWarning: unknown procedure.step.numeration value:
          list-style-type:
        + + +
      • + + + +
      • +
        + + + +
          + + +
        +
        + + +

        + + + + +

        +
        + + + + + + + + +
        + + + + + + + + + + + + + + + + + +
        +
        + + +
        + + + + + + + +
        +
        + + + + + + + + + +
        + + + +
        +
        + + + + + + + + +
        + + + + + : + + + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + + + + + + + + + + + + + +
        +
        + +
        + +
        +
        +
        +
        +
        + + + + + + + + + + + + + + + +

        + + + + +

        + + + + + +
        + +
        + + + + +
        +
        +
        +
        +
        + + + + + + + + + +

        + + + + + + + + + + + + + + + +

        +
        +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ??? + + + + + # + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ??? + + + + + + + + + + + + + + + + + + + +
        diff --git a/doc/help/xslt/xhtml-1_1/maketoc.xsl b/doc/help/xslt/xhtml-1_1/maketoc.xsl new file mode 100644 index 00000000..d1f710f8 --- /dev/null +++ b/doc/help/xslt/xhtml-1_1/maketoc.xsl @@ -0,0 +1,91 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + filename=" + + " + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/xhtml-1_1/manifest.xsl b/doc/help/xslt/xhtml-1_1/manifest.xsl new file mode 100644 index 00000000..26b51d06 --- /dev/null +++ b/doc/help/xslt/xhtml-1_1/manifest.xsl @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + diff --git a/doc/help/xslt/xhtml-1_1/math.xsl b/doc/help/xslt/xhtml-1_1/math.xsl new file mode 100644 index 00000000..b2cac2da --- /dev/null +++ b/doc/help/xslt/xhtml-1_1/math.xsl @@ -0,0 +1,284 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Unsupported TeX math notation: + + + + + + + + + + + + + \nopagenumbers + + + + + \bye + + + + + + + + + + + + + + + + + + + + + + + + \special{dvi2bitmap outputfile + + } + + + $ + + + + $ + + + \vfill\eject + + + + + + + + + + + + + + + + + + + + + + + + + \special{dvi2bitmap outputfile + + } + + + $$ + + + + $$ + + + \vfill\eject + + + + + + + + + + \documentclass{article} + + \pagestyle{empty} + + \begin{document} + + + + + \end{document} + + + + + + + + + + + + + + + + + + + + + + + + \special{dvi2bitmap outputfile + + } + + + $ + + + + $ + + + \newpage + + + + + + + + + + + + + + + + + + + + + + + + + \special{dvi2bitmap outputfile + + } + + + $$ + + + + $$ + + + \newpage + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + 0 + 1 + + + + + + diff --git a/doc/help/xslt/xhtml-1_1/oldchunker.xsl b/doc/help/xslt/xhtml-1_1/oldchunker.xsl new file mode 100644 index 00000000..e727bf11 --- /dev/null +++ b/doc/help/xslt/xhtml-1_1/oldchunker.xsl @@ -0,0 +1,176 @@ + + + + + + + + + + + + + + + + +Encoding used in generated HTML pages + +This encoding is used in files generated by chunking stylesheet. Currently +only Saxon is able to change output encoding. + + + + + + + + + +Saxon character representation used in generated HTML pages + +This character representation is used in files generated by chunking stylesheet. If +you want to suppress entity references for characters with direct representation +in default.encoding, set this parameter to value native. + + + + + + + + + + + + + + + + + + + + + + + + Chunking isn't supported with + + + + + + + + + + + + + + + Writing + + + for + + + ( + + ) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Can't make chunks with + + 's processor. + + + + + + + + + + + + + + + + Writing + + + for + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Can't make chunks with + + 's processor. + + + + + + diff --git a/doc/help/xslt/xhtml-1_1/onechunk.xsl b/doc/help/xslt/xhtml-1_1/onechunk.xsl new file mode 100644 index 00000000..15a04e1a --- /dev/null +++ b/doc/help/xslt/xhtml-1_1/onechunk.xsl @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + +1 + + + + # + + + + + + diff --git a/doc/help/xslt/xhtml-1_1/param.xsl b/doc/help/xslt/xhtml-1_1/param.xsl new file mode 100644 index 00000000..e687d52e --- /dev/null +++ b/doc/help/xslt/xhtml-1_1/param.xsl @@ -0,0 +1,436 @@ + + + + + + + + + +.png + +images/ + + + + + + +/* ====================================================================== + Annotations +*/ + +div.annotation-list { visibility: hidden; + } + +div.annotation-nocss { position: absolute; + visibility: hidden; + } + +div.annotation-popup { position: absolute; + z-index: 4; + visibility: hidden; + padding: 0px; + margin: 2px; + border-style: solid; + border-width: 1px; + width: 200px; + background-color: white; + } + +div.annotation-title { padding: 1px; + font-weight: bold; + border-bottom-style: solid; + border-bottom-width: 1px; + color: white; + background-color: black; + } + +div.annotation-body { padding: 2px; + } + +div.annotation-body p { margin-top: 0px; + padding-top: 0px; + } + +div.annotation-close { position: absolute; + top: 2px; + right: 2px; + } + + +http://docbook.sourceforge.net/release/images/annot-close.png +http://docbook.sourceforge.net/release/images/annot-open.png + + +http://docbook.sourceforge.net/release/script/AnchorPosition.js http://docbook.sourceforge.net/release/script/PopupWindow.js + + +A + + +. + +. +http://docbook.sourceforge.net/release/bibliography/bibliography.xml + + +normal + + +60 +.png + + +15 + +images/callouts/ + + +10 +10102 + + + + + + + + + + + +no + +1 + + + + + + left + before + + + +all + + +docbook.css.xml +no +images/draft.png + +::= + + + + +#F5DCB3 + + +com.example.help +DocBook Online Help Sample +Example provider +1 + + + + + + 1 + 0 + + + + +1 + + + +figure before +example before +equation before +table before +procedure before +task before + + +kr + + + + + + + + + + +appendix toc,title +article/appendix nop +article toc,title +book toc,title,figure,table,example,equation +chapter toc,title +part toc,title +preface toc,title +qandadiv toc +qandaset toc +reference toc,title +sect1 toc +sect2 toc +sect3 toc +sect4 toc +sect5 toc +section toc +set toc,title + + + + +no + + + + + + + + + + + + + +.html + + +copyright + + + +text/css +alias.h + + + + + + + +User1 + + +User2 + + + + + + + + + +htmlhelp.chm + + +iso-8859-1 + + + + + +toc.hhc +5 + + +index.hhk +htmlhelp.hhp + +Main + +context.h + + + + + + + + + + + + + +basic + + + + + + + +no + +no +iso-8859-1 + + +en + + + + +5 + + +3 + + + + + + + HTML.manifest + + + + ++ +.gif + +images/ +1 + + +6in + + +no +fragid= + +.olink + + replace + +pubid + /cgi-bin/olink +sysid +0 + +I + +90 +10 + + + + + + + + + + + + + + + + +; + + + + + +. +number + + + + + + + + + + I +index + +. +.!?: + +8 + + + + + 0 + background-color: #E0E0E0 + + + + + + +0 + + + + + +solid +0.5pt +a + + + +solid +0.5pt + + olinkdb.xml +target.db + +tex-math-equations.tex + + + +dl +8 +2 + + + + + + + + + +0 +, + + + writing-mode + + + + + + + + +: + + + + diff --git a/doc/help/xslt/xhtml-1_1/pi.xsl b/doc/help/xslt/xhtml-1_1/pi.xsl new file mode 100644 index 00000000..28f9efec --- /dev/null +++ b/doc/help/xslt/xhtml-1_1/pi.xsl @@ -0,0 +1,1203 @@ + + + + + + + +HTML Processing Instruction Reference + + $Id: pi.xsl 8394 2009-04-02 20:31:30Z mzjn $ + + + + Introduction + This is generated reference documentation for all + user-specifiable processing instructions (PIs) in the DocBook + XSL stylesheets for HTML output. + + You add these PIs at particular points in a document to + cause specific “exceptions” to formatting/output behavior. To + make global changes in formatting/output behavior across an + entire document, it’s better to do it by setting an + appropriate stylesheet parameter (if there is one). + + + + + + + + + Sets background color for an image + + Use the dbhtml background-color PI before or + after an image (graphic, inlinegraphic, + imagedata, or videodata element) as a + sibling to the element, to set a background color for the + image. + + + dbhtml background-color="color" + + + + background-color="color" + + An HTML color value + + + + + + Background color + + + + + + + + + + + + Sets background color on a CALS table row or table cell + + Use the dbhtml bgcolor PI as child of a CALS table row + or cell to set a background color for that table row or cell. + + + dbhtml bgcolor="color" + + + + bgcolor="color" + + An HTML color value + + + + + + Cell background color + + + + + + + + + + + + Specifies cellpadding in CALS table or qandaset output + + Use the dbhtml cellpadding PI as a child of a + CALS table or qandaset to specify the value + for the HTML cellpadding attribute in the + output HTML table. + + + dbhtml cellpadding="number" + + + + cellpadding="number" + + Specifies the cellpadding + + + + + + html.cellpadding + + + Cell spacing and cell padding, + Q and A formatting + + + + + + + + + + + + Specifies cellspacing in CALS table or qandaset output + + Use the dbhtml cellspacing PI as a child of a + CALS table or qandaset to specify the value + for the HTML cellspacing attribute in the + output HTML table. + + + dbhtml cellspacing="number" + + + + cellspacing="number" + + Specifies the cellspacing + + + + + + html.cellspacing + + + Cell spacing and cell padding, + Q and A formatting + + + + + + + + + + + + Set value of the class attribute for a CALS table row + + Use the dbhtml class PI as a child of a + row to specify a class + attribute and value in the HTML output for that row. + + + dbhtml class="name" + + + + class="name" + + Specifies the class name + + + + + + Table styles in HTML output + + + + + + + + + + + + Specifies a directory name in which to write files + + When chunking output, use the dbhtml dir PI + as a child of a chunk source to cause the output of that + chunk to be written to the specified directory; also, use it + as a child of a mediaobject to specify a + directory into which any long-description files for that + mediaobject will be written. + + + dbhtml dir="path" + + + + dir="path" + + Specifies the pathname for the directory + + + + + + base.dir + + + dbhtml dir processing instruction + + + + + + + + + + + + Specifies a filename for a chunk + + When chunking output, use the dbhtml filename + PI as a child of a chunk source to specify a filename for + the output file for that chunk. + + + dbhtml filename="filename" + + + + filename="path" + + Specifies the filename for the file + + + + + + use.id.as.filename + + + dbhtml filenames + + + + + + + + + + + + Specifies presentation style for a funcsynopsis + + Use the dbhtml funcsynopsis-style PI as a child of + a funcsynopsis or anywhere within a funcsynopsis + to control the presentation style for output of all + funcprototype instances within that funcsynopsis. + + + dbhtml funcsynopsis-style="kr"|"ansi" + + + + funcsynopsis-style="kr" + + Displays funcprototype output in K&R style + + + funcsynopsis-style="ansi" + + Displays funcprototype output in ANSI style + + + + + + funcsynopsis.style + + + + + + + + + + + + Specifies a path to the location of an image file + + Use the dbhtml img.src.path PI before or + after an image (graphic, + inlinegraphic, imagedata, or + videodata element) as a sibling to the element, + to specify a path to the location of the image; in HTML + output, the value specified for the + img.src.path attribute is prepended to the + filename. + + + dbhtml img.src.path="path" + + + + img.src.path="path" + + Specifies the pathname to prepend to the name of the image file + + + + + + img.src.path + + + Using fileref + + + + + + + + + + + + Specifies the label width for a qandaset + + Use the dbhtml label-width PI as a child of a + qandaset to specify the width of labels. + + + dbhtml label-width="width" + + + + label-width="width" + + Specifies the label width (including units) + + + + + + Q and A formatting + + + + + + + + + + + + Specifies interval for line numbers in verbatims + + Use the dbhtml linenumbering.everyNth PI as a child + of a “verbatim” element – programlisting, + screen, synopsis — to specify + the interval at which lines are numbered. + + + dbhtml linenumbering.everyNth="N" + + + + linenumbering.everyNth="N" + + Specifies numbering interval; a number is output + before every Nth line + + + + + + linenumbering.everyNth + + + Line numbering + + + + + + + + + + + + Specifies separator text for line numbers in verbatims + + Use the dbhtml linenumbering.separator PI as a child + of a “verbatim” element – programlisting, + screen, synopsis — to specify + the separator text output between the line numbers and content. + + + dbhtml linenumbering.separator="text" + + + + linenumbering.separator="text" + + Specifies the text (zero or more characters) + + + + + + linenumbering.separator + + + Line numbering + + + + + + + + + + + + Specifies width for line numbers in verbatims + + Use the dbhtml linenumbering.width PI as a child + of a “verbatim” element – programlisting, + screen, synopsis — to specify + the width set aside for line numbers. + + + dbhtml linenumbering.width="width" + + + + linenumbering.width="width" + + Specifies the width (inluding units) + + + + + + linenumbering.width + + + Line numbering + + + + + + + + + + + + Specifies presentation style for a variablelist or + segmentedlist + + Use the dbhtml list-presentation PI as a child of + a variablelist or segmentedlist to + control the presentation style for the list (to cause it, for + example, to be displayed as a table). + + + dbhtml list-presentation="list"|"table" + + + + list-presentation="list" + + Displays the list as a list + + + list-presentation="table" + + Displays the list as a table + + + + + + + + variablelist.as.table + + + segmentedlist.as.table + + + + + Variable list formatting in HTML + + + + + + + + + + + + Specifies the width of a variablelist or simplelist + + Use the dbhtml list-width PI as a child of a + variablelist or a simplelist presented + as a table, to specify the output width. + + + dbhtml list-width="width" + + + + list-width="width" + + Specifies the output width (including units) + + + + + + Variable list formatting in HTML + + + + + + + + + + + + Specifies the height for a CALS table row + + Use the dbhtml row-height PI as a child of a + row to specify the height of the row. + + + dbhtml row-height="height" + + + + row-height="height" + + Specifies the row height (including units) + + + + + + Row height + + + + + + + + + + + + (obsolete) Sets the starting number on an ordered list + + This PI is obsolete. The intent of + this PI was to provide a means for setting a specific starting + number for an ordered list. Instead of this PI, set a value + for the override attribute on the first + listitem in the list; that will have the same + effect as what this PI was intended for. + + + dbhtml start="character" + + + + start="character" + + Specifies the character to use as the starting + number; use 0-9, a-z, A-Z, or lowercase or uppercase + Roman numerals + + + + + + List starting number + + + + + + + + + + + + Do not chunk any descendants of this element. + + When generating chunked HTML output, adding this PI as the child of an element that contains elements that would normally be generated on separate pages if generating chunked output causes chunking to stop at this point. No descendants of the current element will be split into new HTML pages: +<section> +<title>Configuring pencil</title> +<?dbhtml stop-chunking?> + +... + +</section> + + + + dbhtml stop-chunking + + + Chunking into multiple HTML files + + + + + + Specifies summary for CALS table, variablelist, segmentedlist, or qandaset output + + Use the dbhtml table-summary PI as a child of + a CALS table, variablelist, + segmentedlist, or qandaset to specify + the text for the HTML summary attribute + in the output HTML table. + + + dbhtml table-summary="text" + + + + table-summary="text" + + Specifies the summary text (zero or more characters) + + + + + + Variable list formatting in HTML, + Table summary text + + + + + + + + + + + + Specifies the width for a CALS table + + Use the dbhtml table-width PI as a child of a + CALS table to specify the width of the table in + output. + + + dbhtml table-width="width" + + + + table-width="width" + + Specifies the table width (including units or as a percentage) + + + + + + default.table.width + + + Table width + + + + + + + + + + + + Sets character formatting for terms in a variablelist + + Use the dbhtml term-presentation PI as a child + of a variablelist to set character formatting for + the term output of the list. + + + dbhtml term-presentation="bold"|"italic"|"bold-italic" + + + + term-presentation="bold" + + Specifies that terms are displayed in bold + + + term-presentation="italic" + + Specifies that terms are displayed in italic + + + term-presentation="bold-italic" + + Specifies that terms are displayed in bold-italic + + + + + + Variable list formatting in HTML + + + + + + + + + + + + Specifies separator text among terms in a varlistentry + + Use the dbhtml term-separator PI as a child + of a variablelist to specify the separator text + among term instances. + + + dbhtml term-separator="text" + + + + term-separator="text" + + Specifies the text (zero or more characters) + + + + + + variablelist.term.separator + + + Variable list formatting in HTML + + + + + + + + + + + + Specifies the term width for a variablelist + + Use the dbhtml term-width PI as a child of a + variablelist to specify the width for + term output. + + + dbhtml term-width="width" + + + + term-width="width" + + Specifies the term width (including units) + + + + + + Variable list formatting in HTML + + + + + + + + + + + + Specifies whether a TOC should be generated for a qandaset + + Use the dbhtml toc PI as a child of a + qandaset to specify whether a table of contents + (TOC) is generated for the qandaset. + + + dbhtml toc="0"|"1" + + + + toc="0" + + If zero, no TOC is generated + + + toc="1" + + If 1 (or any non-zero value), + a TOC is generated + + + + + + Q and A list of questions, + Q and A formatting + + + + + + + + + + + + Generates a hyperlinked list of commands + + Use the dbcmdlist PI as the child of any + element (for example, refsynopsisdiv) containing multiple + cmdsynopsis instances; a hyperlinked navigational + “command list” will be generated at the top of output for that + element, enabling users to quickly jump + to each command synopsis. + + + dbcmdlist + + + [No parameters] + + + + + + No cmdsynopsis elements matched dbcmdlist PI, perhaps it's nested too deep? + + +
        + + + +
        +
        + + + Generates a hyperlinked list of functions + + Use the dbfunclist PI as the child of any + element (for example, refsynopsisdiv) containing multiple + funcsynopsis instances; a hyperlinked + navigational “function list” will be generated at the top of + output for that element, enabling users to quickly + jump to to each function synopsis. + + + dbfunclist + + + [No parameters] + + + + + + No funcsynopsis elements matched dbfunclist PI, perhaps it's nested too deep? + + +
        + + + +
        +
        + + + Copies an external well-formed HTML/XML file into current doc + + Use the dbhtml-include href PI anywhere in a + document to cause the contents of the file referenced by the + href pseudo-attribute to be copied/inserted “as + is” into your HTML output at the point in document order + where the PI occurs in the source. + + The referenced file may contain plain text (as long as + it is “wrapped” in an html element — see the + note below) or markup in any arbitrary vocabulary, + including HTML — but it must conform to XML + well-formedness constraints (because the feature in XSLT + 1.0 for opening external files, the + document() function, can only handle + files that meet XML well-formedness constraints). + Among other things, XML well-formedness constraints + require a document to have a single root + element. So if the content you want to + include is plain text or is markup that does + not have a single root element, + wrap the content in an + html element. The stylesheets will + strip out that surrounding html “wrapper” when + they find it, leaving just the content you want to + insert. + + + + dbhtml-include href="URI" + + + + href="URI" + + Specifies the URI for the file to include; the URI + can be, for example, a remote http: + URI, or a local filesystem file: + URI + + + + + + textinsert.extension + + + Inserting external HTML code, + External code files + + + + + + + href + + + + + + + + + + + + + + + + + + + + ERROR: dbhtml-include processing instruction + href has no content. + + + + + + + ERROR: dbhtml-include processing instruction has + missing or empty href value. + + + + + + + + Sets topic name and topic id for context-sensitive HTML Help + + Use the dbhh PI as a child of components + that should be used as targets for context-sensitive help requests. + + + dbhh topicname="name" topicid="id" + + + + topicname="name" + + Specifies a unique string constant that identifies a help topic + + + topicid="id" + + Specifies a unique integer value for the topicname string + + + + + + Context-sensitive help + + + + + + + + + + filename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + + + # + + + + + + + + + + + + + + + + + + +
        + + + + + +
        +
        +
        + + + + + + + + + + + + + + + +
        + + + # + + + + + + + + + + + + + + + + + + +
        + + + + + +
        +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + / + + + + / + + + + +
        diff --git a/doc/help/xslt/xhtml-1_1/profile-chunk-code.xsl b/doc/help/xslt/xhtml-1_1/profile-chunk-code.xsl new file mode 100644 index 00000000..05c10c6e --- /dev/null +++ b/doc/help/xslt/xhtml-1_1/profile-chunk-code.xsl @@ -0,0 +1,617 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + bk + + + + + + + + + + + + + + + ar + + + + + + + + + + + + + + + pr + + + + + + + + + + + + + + + ch + + + + + + + + + + + + + + + ap + + + + + + + + + + + + + + + + + + + pt + + + + + + + + + + + + + + + + + + + rn + + + + + + + + + + + + + + + + + + + + + + + + re + + + + + + + + + + + + + + + + + + + co + + + + + + + + + + + s + + + + + + + + + + + + + + + + + + + bi + + + + + + + + + + + + + + + + + + + go + + + + + + + + + + + + + + + + + + + ix + + + + + + + + si + + + + + + + + chunk-filename-error- + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Note: namesp. cut : stripped namespace before processingNote: namesp. cut : processing stripped document + + + + + + + + + + + + + + + + + ID ' + + ' not found in document. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/xhtml-1_1/profile-chunk.xsl b/doc/help/xslt/xhtml-1_1/profile-chunk.xsl new file mode 100644 index 00000000..def7ffff --- /dev/null +++ b/doc/help/xslt/xhtml-1_1/profile-chunk.xsl @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/xhtml-1_1/profile-docbook.xsl b/doc/help/xslt/xhtml-1_1/profile-docbook.xsl new file mode 100644 index 00000000..7ac0219d --- /dev/null +++ b/doc/help/xslt/xhtml-1_1/profile-docbook.xsl @@ -0,0 +1,408 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Element + + in namespace ' + + ' encountered + + in + + + , but no template matches. + + + + < + + > + + </ + + > + + + + + + + + + + + + + + + + + + + <xsl:copy-of select="$title"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Note: namesp. cut : stripped namespace before processingNote: namesp. cut : processing stripped document + + + + + + + + + + + + + + + + + + ID ' + + ' not found in document. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + diff --git a/doc/help/xslt/xhtml-1_1/profile-onechunk.xsl b/doc/help/xslt/xhtml-1_1/profile-onechunk.xsl new file mode 100644 index 00000000..b84b3e97 --- /dev/null +++ b/doc/help/xslt/xhtml-1_1/profile-onechunk.xsl @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + +1 + + + + # + + + + + + diff --git a/doc/help/xslt/xhtml-1_1/qandaset.xsl b/doc/help/xslt/xhtml-1_1/qandaset.xsl new file mode 100644 index 00000000..4a61c815 --- /dev/null +++ b/doc/help/xslt/xhtml-1_1/qandaset.xsl @@ -0,0 +1,420 @@ + + + + + + + + + + + + + + + + + + + + + + +
        + + + + + + + + + + + + + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

        + +

        +
        + + + + + + + + + + + + +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

        + +

        +
        + + + + + + + + + + +
        + + + + + + + + + + + + + + +
        + + +
        +
        + + +
        +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + + + + + + + + + + + + + +
        + + + + +
        + + + +
        + +
        +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1% + + + + + + + + +
        +
        + + + + + + + + + +
        diff --git a/doc/help/xslt/xhtml-1_1/refentry.xsl b/doc/help/xslt/xhtml-1_1/refentry.xsl new file mode 100644 index 00000000..dc2e57d8 --- /dev/null +++ b/doc/help/xslt/xhtml-1_1/refentry.xsl @@ -0,0 +1,299 @@ + + + + + + + + + + + + +
        + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

        + +

        +
        + + + + +
        + + + + +
        +
        +
        +
        + + + + + + +
        +
        + + + + + + + + + + + + + + ( + + ) + + + + + + + + + + + +
        + + + + + + + + + + +

        + + + +

        +
        + +

        + + + + + + + + +

        +
        +
        + +

        + +

        +
        +
        + + + + + + , + + + + + + + + + em-dash + + + + + + + + + + + + + + + + : + + + + + + + +
        + + + + +

        + + + + + + + + + + +

        + +
        +
        + + + + + + + + + + + +
        + + + + + + + + + +
        +
        + + + + + + 0 + 1 + + + + 6 + + + + + + + + + + + + +

        + +

        +
        + + + +

        + +

        +
        + + + +

        + +

        +
        + + + + + + + + + +
        diff --git a/doc/help/xslt/xhtml-1_1/sections.xsl b/doc/help/xslt/xhtml-1_1/sections.xsl new file mode 100644 index 00000000..aec647d5 --- /dev/null +++ b/doc/help/xslt/xhtml-1_1/sections.xsl @@ -0,0 +1,541 @@ + + + + + + + + + + + + + + +
        + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + + 1 + 2 + 3 + 4 + 5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + + +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + + +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + + +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + + +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + + +
        + + + + + + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 6 + + + + + + + + + + clear: both + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + 1 + + + + + + + 2 + 3 + 4 + 5 + 6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        diff --git a/doc/help/xslt/xhtml-1_1/synop.xsl b/doc/help/xslt/xhtml-1_1/synop.xsl new file mode 100644 index 00000000..85067078 --- /dev/null +++ b/doc/help/xslt/xhtml-1_1/synop.xsl @@ -0,0 +1,1513 @@ + + + + + + + + + + + + + + +
        + +

        + + + + + + + + + + + + +

        +
        +
        + + +
        + + +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + + + + + ( + + ) + +   + + + + + + + + + + + + + + + + + + + ( + + ) + + + + + + + + + + + + + + + + + + + + + + +
        +    
        +    
        +  
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

        + + +
        + +
        +

        +
        + + + + + + ( + + + + + + + fsfunc + + + + + + + + + ) + ; + + + + ... + ) + ; + + + + + + + , + + + ) + ; + + + + + + + + + + + + + + + + + + + + +
        + + + + ; +
        + + + + + + + + + + + + + + + + + + ( + + ) + + + + + + + + + + + + + + + + + +
        + +
         
        + +
        + +
        +
        +
         
        +
        + + + + + + ( + + + + + + + fsfunc + + + + + + + + + + ) + ; + +   + + + + + ... + ) + ; + +   + + + + + + + + , + + + ) + ; + + + +   + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +   + + + + + + + + + + + + + + + + + + + + + + + + + + + + +   + + + + + + ; + + + + + + + + + + + + + + + + + + + + + + + + ( + + ) + ; + + + + + + +

        + +

        +
        + + + + + + ( + + + + + + + fsfunc + + + + + + + + + void) + ; + + + + ... + ) + ; + + + + + + + , + + + ) + ; + + + + + + + + + + + + + + + + + + + + + ( + + ) + + + + + + + + + + + + + + + + + +
        + +
         
        +
         
        +
        + + + + + + ( + + + + + + + fsfunc + + + + + + + + + + void) + ; + +   + + + + + ... + ) + ; + +   + + + + + + + + , + + + ) + ; + + + + + + + + + + + + + + + + + + + + + + ( + + ) + + + + +java + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Unrecognized language on + + : + + + + + + + + + + + +
        +
        +
        + + + + + +
        +    
        +    
        +    
        +       extends
        +      
        +      
        +        
        +      +
        +
        + + implements + + +
        +      +
        +
        + + throws + + +  { +
        + + } +
        +
        + + + + + + + + + , + + + + + + + + + + + + + + + + +   + + + + + + + , + + + + + + + + + + , + + + + + + + + + + , + + + + + + + + + + + +    + + + ; + + + + + + + + +   + + + + + + + +   + + + + + + + + + + + + + + + void  + + + + + + + + + + + + 0 + + , +
        + + +   + + + +
        + + + + +
        + + + + + + + + + + + + + + +    + + + + + + + + + + + + + + + ( + + + + ) + +
        +     throws  + +
        + + + + + ; +
        + +
        + + + + +
        +    
        +    
        +    
        +      : 
        +      
        +      
        +        
        +      +
        +
        + + implements + + +
        +      +
        +
        + + throws + + +  { +
        + + } +
        +
        + + + + + + + + , + + + + + + + + + + + + +   + + + + + + + , + + + + + + + + + + , + + + + + + + + + + , + + + + + + + + + + + +    + + + ; + + + + + + + + +   + + + + + + + +   + + + + + + + + + + + + + + + void  + + + + + + + + + + + + + , + + + + + + + + + + + + + + + + + + + + + + +    + + + + + + + + + + ( + + ) + +
        +     throws  + +
        + + + + + ; +
        + +
        + + + + +
        +    
        +    interface 
        +    
        +    
        +      : 
        +      
        +      
        +        
        +      +
        +
        + + implements + + +
        +      +
        +
        + + throws + + +  { +
        + + } +
        +
        + + + + + + + + , + + + + + + + + + + + + +   + + + + + + + , + + + + + + + + + + , + + + + + + + + + + , + + + + + + + + + + + +    + + + ; + + + + + + + + +   + + + + + + + +   + + + + + + + + + + + + + + + void  + + + + + + + + + + + + + , + + + + + + + + + + + + + + + + + + + + + +    + + + + + + + + + + ( + + ) + +
        +     raises( + + ) +
        + + + + + ; +
        + +
        + + + + +
        +    
        +    package 
        +    
        +    ;
        +    
        + + + @ISA = ( + + ); +
        +
        + + +
        +
        + + + + + + + + , + + + + + + + + + + + + +   + + + + + + + , + + + + + + + + + + , + + + + + + + + + + , + + + + + + + + + + + +    + + + ; + + + + + + + + +   + + + + + + + +   + + + + + + + + + + + + + + + void  + + + + + + + + + + + + + , + + + + + + + + + + + + + + + + + + + + + + sub + + + { ... }; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        diff --git a/doc/help/xslt/xhtml-1_1/table.xsl b/doc/help/xslt/xhtml-1_1/table.xsl new file mode 100644 index 00000000..3146c091 --- /dev/null +++ b/doc/help/xslt/xhtml-1_1/table.xsl @@ -0,0 +1,1168 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + +   + + + + + + + + + + + + + + + + + + + border- + + : + + + + + + ; + + + + + border- + + -width: + + ; + + + + border- + + -style: + + ; + + + + border- + + -color: + + ; + + + + + + + + + + + Error: CALS tables must specify the number of columns. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 100% + + + + + + + + border-collapse: collapse; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + border-collapse: collapse; + + + + + + + + + + + + + + + + + border-collapse: collapse; + + + + + + + + + + + border-collapse: collapse; + + + + + + + + + + + border-collapse: collapse; + + + + + + + + + + + + + + + + + border: none; + + + + + border-collapse: collapse; + + + + + + + 0 + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + 100% + + + + + + + + + + + + + + + + + + + + + + + + No convertLength function available. + + + + + + + + + + + + + + + + + + + + + + + + + + No adjustColumnWidths function available. + + + + + + + + + + + + + + + + + + + + +
        + +
        +
        + + + + + + + + + + + + + + + + + + + + + + text-align: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text-align: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Warning: overlapped row contains content! + + + This row intentionally left blank + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + background-color: + + + + + + + + + + + + + + + + + + + + + + text-align: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + th + th + + th + + td + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + background-color: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text-align: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +   + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + : + + + + + + + + 0: + + + + + + + + + + + + + + + 0 + + : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text-align: + + + + + + text-align: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        diff --git a/doc/help/xslt/xhtml-1_1/task.xsl b/doc/help/xslt/xhtml-1_1/task.xsl new file mode 100644 index 00000000..0a380d2f --- /dev/null +++ b/doc/help/xslt/xhtml-1_1/task.xsl @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + before + + + + + + + + +
        + + + + + + + + + + + + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + +
        diff --git a/doc/help/xslt/xhtml-1_1/titlepage.templates.xsl b/doc/help/xslt/xhtml-1_1/titlepage.templates.xsl new file mode 100644 index 00000000..1f72e230 --- /dev/null +++ b/doc/help/xslt/xhtml-1_1/titlepage.templates.xsl @@ -0,0 +1,3817 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + + +
        + + + + + + + + + + 1 + + + +
        +
        + + + + + + + + + + 1 + + + +
        +
        + +
        +
        + + + + + + + + + + + + + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + + +
        + + + + + + + + + + 1 + + + +
        +
        + + + + + + + + + + 1 + + + +
        +
        + +
        +
        + + + + + + + + + + + + + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + + +
        + + + + + + + + + + 1 + + + +
        +
        + + + + + + + + + + 1 + + + +
        +
        + +
        +
        + + + + + + + + + + + + + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + + +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + + + + + + + + + + + + + + +
        + + + + + + + + + + 1 + + + +
        +
        + + + + + + + + + + 1 + + + +
        +
        + +
        +
        + + + + + + + + + + + + + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + + + + + + + + + + 1 + + + +
        +
        + + + + + + + + + + 1 + + + +
        +
        + +
        +
        + + + + + + + + + + + + + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + + +
        + + + + + + + + + + 1 + + + +
        +
        + + + + + + + + + + 1 + + + +
        +
        + +
        +
        + + + + + + + + + + + + + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + + + + + + + + + + + + + + + + +
        + + + + + + + + + + 1 + + + +
        +
        + + + + + + + + + + 1 + + + +
        +
        + +
        +
        + + + + + + + + + + + + + + +
        + + +
        + + + + + + + + + + + + + + + +
        + + + + + + + + + + + + + + +
        + + + + + + + + + + 1 + + + +
        +
        + + + + + + + + + + 1 + + + +
        +
        + +
        +
        + + + + + + + + + + + + + + +
        + +
        +
        + + +
        + + +
        + + + + + + + + + + + + + + + +
        + + + + + + + + + + + + + + +
        + + + + + + + + + + 1 + + + +
        +
        + + + + + + + + + + 1 + + + +
        +
        + +
        +
        + + + + + + + + + + + + + + +
        + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + + + + + + + + + + 1 + + + +
        +
        + + + + + + + + + + 1 + + + +
        +
        + +
        +
        + + + + + + + + + + + + + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + + + + + + + + + + 1 + + + +
        +
        + + + + + + + + + + 1 + + + +
        +
        + +
        +
        + + + + + + + + + + + + + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + + + + + + + + + + 1 + + + +
        +
        + + + + + + + + + + 1 + + + +
        +
        + +
        +
        + + + + + + + + + + + + + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + + +
        + + + + + + + + + + 1 + + + +
        +
        + + + + + + + + + + 1 + + + +
        +
        + +
        +
        + + + + + + + + + + + + + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + + +
        + + + + + + + + + + 1 + + + +
        +
        + + + + + + + + + + 1 + + + +
        +
        + +
        +
        + + + + + + + + + + + + + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + + +
        + + + + + + + + + + 1 + + + +
        +
        + + + + + + + + + + 1 + + + +
        +
        + +
        +
        + + + + + + + + + + + + + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + + +
        + + + + + + + + + + 1 + + + +
        +
        + + + + + + + + + + 1 + + + +
        +
        + +
        +
        + + + + + + + + + + + + + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + + +
        + + + + + + + + + + 1 + + + +
        +
        + + + + + + + + + + 1 + + + +
        +
        + +
        +
        + + + + + + + + + + + + + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + + +
        + + + + + + + + + + 1 + + + +
        +
        + + + + + + + + + + 1 + + + +
        +
        + +
        +
        + + + + + + + + + + + + + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + + +
        + + + + + + + + + + 1 + + + +
        +
        + + + + + + + + + + 1 + + + +
        +
        + +
        +
        + + + + + + + + + + + + + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + + +
        + + + + + + + + + + + + + + + +
        + + + + + + + + + + + + + + +
        + + + + + + + + + + 1 + + + +
        +
        + + + + + + + + + + 1 + + + +
        +
        + +
        +
        + + + + + + + + + + + + + + +
        + +
        +
        + + +
        + + +
        + + + + + + + + + + + + + + + +
        + + + + + + + + + + + + + + +
        + + + + + + + + + + 1 + + + +
        +
        + + + + + + + + + + 1 + + + +
        +
        + +
        +
        + + + + + + + + + + + + + + +
        + +
        +
        + + +
        + + +
        + + + + + + + + + + + + + + + +
        + + + + + + + + + + + + + + +
        + + + + + + + + + + 1 + + + +
        +
        + + + + + + + + + + 1 + + + +
        +
        + +
        +
        + + + + + + + + + + + + + + +
        + +
        +
        + + +
        + + +
        + + + + + + + + + + + + + + + +
        + + + + + + + + + + + + + + +
        + + + + + + + + + + 1 + + + +
        +
        + + + + + + + + + + 1 + + + +
        +
        + +
        +
        + + + + + + + + + + + + + + +
        + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + + + + + + + + + + 1 + + + +
        +
        + + + + + + + + + + 1 + + + +
        +
        + +
        +
        + + + + + + + + + + + + + + +
        + + + +
        +
        + + +
        + +
        +
        + +
        diff --git a/doc/help/xslt/xhtml-1_1/titlepage.xsl b/doc/help/xslt/xhtml-1_1/titlepage.xsl new file mode 100644 index 00000000..c3f82178 --- /dev/null +++ b/doc/help/xslt/xhtml-1_1/titlepage.xsl @@ -0,0 +1,1030 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
        +
        + + +
        + + + + + + + + + + + +
        +
        + + + + + + + + + + + + + +
        + + + + + + + + +
        +
        + + +
        + + + + + + + + +
        +
        +
        +
        + + +
        + + +
        +
        + + + + + +
        +
        +
        + + + + + + +
        + + +

        +
        +

        + + + + + + + + + +

        + + + + + + + + + + + + + + + +
        +
        + + +
        + + +
        +
        + + +
        + + +

        Authors

        +
        + + + +
        +
        + + + + + +
        +
        +
        + + + + + + + + + + + + + +
        +
        +
        + + + + + + + + + +
        + + +
        +
        + + + + + +
        +
        +
        + + + + + +
        +
        +
        + + + + + +
        +
        +
        + + + + + + + + + +
        +
        +
        + + + + + +
        +
        +
        + + + + + + + +   + + +
        + +

        +
        +
        +
        +
        + + + + +

        Copyright

        +
        + +

        + + + + + + + copyright + + + + + + + + + +

        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + , + + + + +

        + + +

        +
        + + + + + +
        +
        +
        + + + + + +
        +
        +
        + + + + + +
        +
        +
        + + +

        + + + + + + +

        +
        + + + + + + + + + + +
        +
        +
        + + + + + + + + + + +
        +
        +
        + + + + + +
        +
        +
        + + + + + +
        +
        +
        + + + + + +
        +
        +
        + + + + + + + + +
        +
        +
        + + + + + +
        +
        +
        + + + + + +
        +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + + +
        + + + +
        +
        +
        + +
        + + + +
        +
        +
        +
        + + +

        +
        + + + + + +
        +
        +
        + + + + + + + + + + + +
        +
        +
        + + + + + +
        +
        +
        + + + + + + + + + + + + + : + + + + + + + + + + + + + + + + + + + + + + + + + + , + + + + + + + +
        +
        +
        + + + + + +
        +
        +
        + + +
        + + +
        +
        + + + + + +
        +
        +
        + + + + + +
        +
        +
        + + + + + + + + + + + + + + + + + + + + + + + +
        +
        +
        + + + + + +
        +
        +
        + + + + + + + + + + + + + + 3 + 2 + + + + + + + + RevHistory + + + + +
        + + + + + + + + +
        + + + + + +
        +
        +
        + + + + + + + + + + + + + + + + + + +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + , + + + + + +   + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
        +
        + + + + + +
        +
        +
        + + + + + +

        + + +

        +
        + + + + + +
        +
        +
        + + + + + + + + + + + + + + + + + + +

        + + + + + + + + + + + + + + +

        +
        + + + + + + + + + +
        +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        diff --git a/doc/help/xslt/xhtml-1_1/toc.xsl b/doc/help/xslt/xhtml-1_1/toc.xsl new file mode 100644 index 00000000..92b7b14b --- /dev/null +++ b/doc/help/xslt/xhtml-1_1/toc.xsl @@ -0,0 +1,330 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + + +
        + + +
        +
        + +
        + + + + + + + + + +
        +
        +
        + + + + + + + + + + + + + + +
        + + +
        + + +
        +
        + +
        + + + + + + + + + +
        +
        +
        + + + + + + + + +
        + + + + + +
        +
        + + + + + + +
        +
        +
        + + + + + +
        + + +
        + +
        + +
      • + + + +
      • +
        +
        +
        + + + + +
        + + +
        +
        + +
      • + + +
      • +
        +
        +
        + + + + + + + + + + + + + + +
        + + + + + + + + + + + + + + + +
        + + +
        +
        + + +
        + + +
        +
        + + + + + + + + + + + + +
        + + +
        +
        + + + +
        +
        + + + + +
        + + + + +
        + + +
        + +
        + + + +
        +
        + + + + +
        + + +
        + +
        + + + +
        +
        + + + + + Warning: don't know what to generate for + lot that has no children. + + + + +
        + + +
        +
        + + +
        + + +
        +
        + + + + + diff --git a/doc/help/xslt/xhtml-1_1/verbatim.xsl b/doc/help/xslt/xhtml-1_1/verbatim.xsl new file mode 100644 index 00000000..c0bc69d5 --- /dev/null +++ b/doc/help/xslt/xhtml-1_1/verbatim.xsl @@ -0,0 +1,388 @@ + + + + + + + + + + + + + + + + + + + + + + + + + div + pre + + + + + + The shade.verbatim parameter is deprecated. + Use CSS instead, + + + for example: pre. + + { background-color: #E0E0E0; } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The shade.verbatim parameter is deprecated. + Use CSS instead, + + + for example: pre. + + { background-color: #E0E0E0; } + + + + + + + +
        +            
        +            
        +              
        +            
        +          
        +
        + +
        + +

        + + + +

        +
        +
        +
        +
        + + + +
        +            
        +            
        +          
        +
        + +
        + +

        + + + +

        +
        +
        +
        +
        +
        +
        + + + + + + + + + + +
        + +

        + + + +

        +
        +
        + + +
        + +

        + + + +

        +
        +
        +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Unexpected verbatim environment: + + + + + + + + + + 1 + + + + + + + + + + + + + No numberLines function available. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        diff --git a/doc/help/xslt/xhtml-1_1/xref.xsl b/doc/help/xslt/xhtml-1_1/xref.xsl new file mode 100644 index 00000000..74c6f203 --- /dev/null +++ b/doc/help/xslt/xhtml-1_1/xref.xsl @@ -0,0 +1,1316 @@ + + + + + + + + +http://docbook.org/xlink/role/olink + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Endterm points to nonexistent ID: + + + ??? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ERROR: xref linking to + + has no generated link text. + + ??? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + XRef to nonexistent id: + + + ??? + + + + + + + + + + + + + + + + Endterm points to nonexistent ID: + + + + + ??? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + suppress anchor + + + + + + + + + + + removing + + + + + + + + + + + + + + + + + removing + + + + + + + + + + + + + + + + + + + + + + Don't know what gentext to create for xref to: " + + ", (" + + ") + + + ??? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [ + + + + ] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No bibliography entry: + + found in + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [ + + + + + + + + + ] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Endterm points to nonexistent ID: + + + ??? + + + + + + + + + + + + + Link element has no content and no Endterm. + Nothing to show in the link to + + + ??? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Olink debug: root element of target.database ' + + ' is ' + + '. + + + + + + + + + + + + + + + Error: unresolved olink: + targetdoc/targetptr = ' + + / + + '. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Warning: olink linkmode pointer is wrong. + + + + # + + + + + + + + + + + + + ? + + + + + & + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/xhtml/admon.xsl b/doc/help/xslt/xhtml/admon.xsl new file mode 100644 index 00000000..6a0090ad --- /dev/null +++ b/doc/help/xslt/xhtml/admon.xsl @@ -0,0 +1,135 @@ + + + + + + + + + + 25 + + + + + + + + + + + + + + + + + + note + warning + caution + tip + important + note + + + + + + + + Note + Warning + Caution + Tip + Important + Note + + + + + + + + + +
        + + + + + + + + + + + + : + + + + + + + + + + +
        + + + + [{$alt}] + + + + + + + + + +
        + +
        +
        +
        + + +
        + + + + + + + + + + +

        + + +

        +
        + + +
        +
        + + + + + + + +
        diff --git a/doc/help/xslt/xhtml/annotations.xsl b/doc/help/xslt/xhtml/annotations.xsl new file mode 100644 index 00000000..3e137e8d --- /dev/null +++ b/doc/help/xslt/xhtml/annotations.xsl @@ -0,0 +1,158 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Note + + + namesp. cut + + + stripped namespace before processing + + + + + + + + Note + + + namesp. cut + + + processing stripped document + + + + + + + + Unable to strip the namespace from DB5 document, + cannot proceed. + + + + + + + + + ID ' + + ' not found in document. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + diff --git a/doc/help/xslt/xhtml/ebnf.xsl b/doc/help/xslt/xhtml/ebnf.xsl new file mode 100644 index 00000000..d228cfb6 --- /dev/null +++ b/doc/help/xslt/xhtml/ebnf.xsl @@ -0,0 +1,328 @@ + + + + + + + + + + +$Id: ebnf.xsl 8178 2008-12-15 22:26:38Z bobstayton $ + +Walsh +Norman +19992000 +Norman Walsh + + +HTML EBNF Reference + + +
        Introduction + +This is technical reference documentation for the DocBook XSL +Stylesheets; it documents (some of) the parameters, templates, and +other elements of the stylesheets. + +This reference describes the templates and parameters relevant +to formatting EBNF markup. + +This is not intended to be user documentation. +It is provided for developers writing customization layers for the +stylesheets, and for anyone who's interested in how it +works. + +Although I am trying to be thorough, this documentation is known +to be incomplete. Don't forget to read the source, too :-) +
        +
        +
        + + + + + + + + + + + + 1 + + + + + + EBNF + + for + + + + + + + + + + + + +
        + + +
        + + + + + + + + + + EBNF productions + +
        +
        +
        + + + + + + + + + + [ + + ] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +   + + + + + + + + + + + + + Error: no ID for productionrecap linkend: + + . + + + + + + Warning: multiple "IDs" for productionrecap linkend: + + . + + + + + + + + + + + + + + + + | +
        +
        +
        + + + + + + + + + + + + + + + production + + + + + + + + + Non-terminals with no content must point to + production elements in the current document. + + + Invalid xpointer for empty nt: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ??? + + + + + + + + + + + + + /*  + +  */ +
        +
        + + + + + + + + + constraintdef + + + + + + + + + + + + + + + + : + + + + + + + : + + + + + + + + + +  ] + +
        +
        +
        + + +
        + + + +
        +
        + + +

        +
        + + + +
        diff --git a/doc/help/xslt/xhtml/footnote.xsl b/doc/help/xslt/xhtml/footnote.xsl new file mode 100644 index 00000000..6d81fa97 --- /dev/null +++ b/doc/help/xslt/xhtml/footnote.xsl @@ -0,0 +1,305 @@ + + + + + + + + + + + + + #ftn. + + + + + + + [ + + + + + ] + + + + + [ + + + + + ] + + + + + + + + + + + +ERROR: A footnoteref element has a linkend that points to an element that is not a footnote. +Typically this happens when an id attribute is accidentally applied to the child of a footnote element. +target element: +linkend/id: + + + + + + + + + + + + #ftn. + + + + + [ + + + + + ] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ftn. + + + + + + # + + + + + + + + + + + + + + [ + + + + + ] + + + + + + + + + + + + ftn. + + + + + + # + + + + + + + [ + + + + + ] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
        +
        + +
        +
        + + +
        +
        +

        The following annotations are from this essay. You are seeing + them here because your browser doesn’t support the user-interface + techniques used to make them appear as ‘popups’ on modern browsers.

        +
        + + +
        +
        +
        + + + + + + + + +
        + + +
        +
        + + +
        + + + +
        +
        + + + + Warning: footnote number may not be generated + correctly; + + unexpected as first child of footnote. + +
        + + +
        +
        +
        +
        + + + + + + + + +
        diff --git a/doc/help/xslt/xhtml/formal.xsl b/doc/help/xslt/xhtml/formal.xsl new file mode 100644 index 00000000..57c98f32 --- /dev/null +++ b/doc/help/xslt/xhtml/formal.xsl @@ -0,0 +1,411 @@ + + + + + + + +1 + + + + + + + + + + +
        + + + + + + + +
        + +
        + + + + + +

        + + +

        +

        + + + + + + + +
        +
        + +
        +
        +
        + + + + + + + + + -float + + + + + + + + + +
        + + + + + + + + + + + + + +
        + +
        +
        + +

        + + + +

        +
        +
        +
        + + + + + +
        +

        + + + + + + + + +

        +

        +
        + + + + + + + + + -float + + + + + + + + + +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + before + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Broken table: tr descendent of CALS Table. + + + + + + + + + + before + + + + + + + + + + + + + + + + + + + + + + + + + Broken table: row descendent of HTML table. + + + + + + + + + + + + + + + + + + + + + + + + before + + + + + + + + + + + + + + + + + + + + + before + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + + + float: + + ; + + + +
        +
        + +
        diff --git a/doc/help/xslt/xhtml/glossary.xsl b/doc/help/xslt/xhtml/glossary.xsl new file mode 100644 index 00000000..d22b6c51 --- /dev/null +++ b/doc/help/xslt/xhtml/glossary.xsl @@ -0,0 +1,564 @@ + + + + + + + + + + + + + + + + + + normalize.sort.input + + + + + + normalize.sort.output + + + + + +
        + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + + + + + + + + + + +
        +
        + + + +
        + + + + +
        +
        + + + + + + + + + + + + + + + + + + normalize.sort.input + + + + + + normalize.sort.output + + + +
        + + + + + +
        + + + + + + + + + + +
        +
        +
        + + + + + + + + + + + + normalize.sort.input + + + + + + normalize.sort.output + + + + + +
        + + + +
        + + + + + + + + + + +
        +
        +
        + + +

        + + +

        +
        + + + + + + + + +
        + + + + 0 + 1 + + + + + + + + ( + + ) + + + + + +
        +
        + +
        + + + + 0 + 1 + + + + + + + + ( + + ) + +
        +
        + +
        + + + + 0 + 1 + + + + + +
        +
        +
        + + +
        + + + + , + + + + + , + + + + + , + + + + + + + + + + + +
        +

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Warning: glosssee @otherterm reference not found: + + + + + + + + + + + + + + +

        +
        +
        + + +
        + + +

        + + + + + + + + + + + + + +

        +
        +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Warning: glossseealso @otherterm reference not found: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + normalize.sort.input + + + + + + normalize.sort.output + + + + + + + + + + + Warning: processing automatic glossary + without a glossary.collection file. + + + + + + Warning: processing automatic glossary but unable to + open glossary.collection file ' + + ' + + + +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + + + + + + + + + + + + + + + + + + + +
        +
        +
        + + + + +
        +
        + + + + + + + + + + + + + + + + + normalize.sort.input + + + + + + normalize.sort.output + + + + +
        + + + +
        + + + + ! + + + + + + + + + + + + + + + +
        +
        +
        + + + +
        diff --git a/doc/help/xslt/xhtml/graphics.xsl b/doc/help/xslt/xhtml/graphics.xsl new file mode 100644 index 00000000..d1c04fb6 --- /dev/null +++ b/doc/help/xslt/xhtml/graphics.xsl @@ -0,0 +1,1436 @@ + + + + + + + + + + + + + + + + 1 + + + + + + 1 + + + + + +
        + + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + 0 + 0 + + 1 + 0 + + + + + + 1.0 + 1.0 + + + + 1.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + px + + + + + + + + + + + px + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + px + + + + + + + + + + + px + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + middle + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Warning: imagemaps not supported + on scaled images + + + + 0 + + + + + + + + + + + + + + + + + + + + middle + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + height: + + px + + + + + + + + + + + +
        + + + + + background-color: + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + calspair + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + , + + , + + , + + + + + + + + + + + + Warning: only calspair or + otherunits='imagemap' supported + in imageobjectco + + + + + + +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + middle + + + + + + + + + + + + + + + + + +
        + + + + + + + +
        +
        +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No insertfile extension available. + + + + + + + Cannot insert + . Check use.extensions and textinsert.extension parameters. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + + + + + + + + + + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No insertfile extension available. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No insertfile extension available. + + + + + + + Cannot insert + . Check use.extensions and textinsert.extension parameters. + + + + + + + + +
        + + + + + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        diff --git a/doc/help/xslt/xhtml/highlight.xsl b/doc/help/xslt/xhtml/highlight.xsl new file mode 100644 index 00000000..222a0559 --- /dev/null +++ b/doc/help/xslt/xhtml/highlight.xsl @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/xhtml/html-rtf.xsl b/doc/help/xslt/xhtml/html-rtf.xsl new file mode 100644 index 00000000..e079a738 --- /dev/null +++ b/doc/help/xslt/xhtml/html-rtf.xsl @@ -0,0 +1,321 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + +
        + + + + + + + + + + +
        +
        +
        +
        + + + + + + + + + + + + + + +
        + +
        + + + + + + + + + + +
        +
        +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        diff --git a/doc/help/xslt/xhtml/html.xsl b/doc/help/xslt/xhtml/html.xsl new file mode 100644 index 00000000..154a6454 --- /dev/null +++ b/doc/help/xslt/xhtml/html.xsl @@ -0,0 +1,598 @@ + + + + + + + + + + + + left + right + left + + + + + + right + left + right + + + + + + ltr + rtl + ltr + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + # + + + + + + + + + # + + + + + + + + + + + + + + + + + + + bullet + + + + + + + + + bullet + + + © + + + ® + (SM) +   + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID recommended on + + + : + + + + ... + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ERROR: no root element for CSS source file' + + '. + + + + + + + + + + + + + + + + + + + + + + + + + + + + ERROR: missing CSS input filename. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/xhtml/htmltbl.xsl b/doc/help/xslt/xhtml/htmltbl.xsl new file mode 100644 index 00000000..47c9a98e --- /dev/null +++ b/doc/help/xslt/xhtml/htmltbl.xsl @@ -0,0 +1,102 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + float: + + left + right + + + + + + + + + + + + + none + none + + ; + + + + diff --git a/doc/help/xslt/xhtml/index.xsl b/doc/help/xslt/xhtml/index.xsl new file mode 100644 index 00000000..2c39f4fa --- /dev/null +++ b/doc/help/xslt/xhtml/index.xsl @@ -0,0 +1,264 @@ + + + + + + + + + + + + + + + + + + + +
        + + + + + + + + + + + + + + + + + + + + + + + + +
        + +
        +
        +
        +
        + + + + + + + + + + +
        +
        +
        + + + + + + + + + + + +
        + + + + + + + + + + + + + + + + + + + +
        +
        +
        + + + + + + + + + + + + +
        + + + + + + + + + +
        + +
        +
        +
        + + +

        + + +

        +
        + + + + + + + + + +
        + + + + + + + + + + + + +
        + +
        +
        + + + +
        +
        + + + + + + + + + + +
        +
        + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
        +
        + + +
        +
        + +
        +
        + + + + + + + + + + + + + + +
        +
        +
        + + +
        + ( + + + + + + ) +
        +
        + + +
        + ( + + + + + + ) +
        +
        + + diff --git a/doc/help/xslt/xhtml/info.xsl b/doc/help/xslt/xhtml/info.xsl new file mode 100644 index 00000000..76285abb --- /dev/null +++ b/doc/help/xslt/xhtml/info.xsl @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/xhtml/inline.xsl b/doc/help/xslt/xhtml/inline.xsl new file mode 100644 index 00000000..da722261 --- /dev/null +++ b/doc/help/xslt/xhtml/inline.xsl @@ -0,0 +1,1451 @@ + + + + + + + + + + + + + + + + + + + + + + _blank + _top + + + + + + + + + + + + + + 1 + 0 + + + + + + + + + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + XLink to nonexistent id: + + + + + + +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + span + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ( + + ) + + + + + + + + + + + , + + + + + + + , + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + abbr + + + + + + acronym + + + + + + + + + + + + + + + + + + + + + + + + + + http://example.com/cgi-bin/man.cgi? + + ( + + ) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SM + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Warning: glossary.collection specified, but there are + + automatic glossaries + + + + + + + + + + + + + + + + + + + + + + + + There's no entry for + + in + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Error: no glossentry for glossterm: + + . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + element + + + + + + + + + + + + + + + + </ + + > + + + & + + ; + + + &# + + ; + + + % + + ; + + + <? + + > + + + <? + + ?> + + + < + + > + + + < + + /> + + + <!-- + + --> + + + + + + + + + + + + + + + + + + + + + + < + + + + + mailto: + + + + + + > + + + + + + + + + + + + + - + - + - + + + + + + + + + + + + + + + + + + + + + + ( + + ) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [ + + + + + + + + + + + + + + + + + + + ] + + + [ + + ] + + + + + + + + + + + + + [ + + + + + + + + + + + + ] + + + [ + + ] + + + + + + + + + + + + +

        +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/xhtml/keywords.xsl b/doc/help/xslt/xhtml/keywords.xsl new file mode 100644 index 00000000..5f6b4fb0 --- /dev/null +++ b/doc/help/xslt/xhtml/keywords.xsl @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + , + + + + + diff --git a/doc/help/xslt/xhtml/lists.xsl b/doc/help/xslt/xhtml/lists.xsl new file mode 100644 index 00000000..58916e57 --- /dev/null +++ b/doc/help/xslt/xhtml/lists.xsl @@ -0,0 +1,1121 @@ + + + + + + + + + + +
        + + + + + + + + + +
          + + + + + + + + + + + + + +
        +
        +
        + + + + + + + + + + + + + + + + + + + + + + + circle + disc + square + + + + + + +
      • + + + + list-style-type: + + + + + + + + + + + +
        + +
        +
        + + + +
        +
      • +
        + + + + + + + + + + + + + 1 + a + i + A + I + + + + Unexpected numeration: + + + + + + + +
        + + + + + + + + + + + + + + + + + + +
        +
        + +
          + + + + + + + + + + + + + + + + + +
        +
        +
        +
        +
        + + + + + + +
      • + + + + + + + + + + + + + + +
        + +
        +
        + + + +
        +
      • +
        + + + + + + + + + + + + + +
        + +
        +
        + + + +
        + + +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + +
        + +
        +
        +
        +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + +

        + + + + + + + + + + + + + +

        +
        +
        +
        + + +
        + + +
        +
        + +
        +
        + + + + + + + + + + + + + + + + + + + + + +

        + + + + + + + + + + + + + + + + + + + + + + + + + + + +

        + + + + + +
        + + + + + + + + + + + + + + + + + + +
        +
        +
        +
        +
        +
        + + + + + + + + + +
        + +
        +
        + + + +
        +
        + + + + + + + + + + + + + + + 1 + + + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + , + + + + + + + + + + + + + + + + + + + + + + + 1 + + + +
        +
        + + + + + + + + + + + + 1 + + + +
        +
        + + + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + 1 + 1 + + 1 + + + + + + + + +   + + + + + + + + + + + + + + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + 1 + 1 + + 1 + + + + + + + + +   + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + before + + + + + + + + + +
        + + + + + 0 + 1 + + + + + + + + + + + + +
          + + +
        +
        + +
          + + + + + +
        +
        +
        + + + + +
        +
        + + + + + + + + + + + + +
          + + +
        +
        + + +
      • + + + +
      • +
        + + + +
          + + +
        +
        + + +

        + + + + +

        +
        + + + + + + + + +
        + + + + + + + + + + + + + + + + + +
        +
        + + +
        + + + + + + + +
        +
        + + + + + + + + + +
        + + + +
        +
        + + + + + + + + +
        + + + + + : + + + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + + + + + + + + + + + + + +
        +
        + +
        + +
        +
        +
        +
        +
        + + + + + + + + + + + + + + + +

        + + + + +

        + + + + + +
        + +
        + + + + +
        +
        +
        +
        +
        + + + + + + + + + +

        + + + + + + + + + + + + + + + +

        +
        +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ??? + + + + + # + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ??? + + + + + + + + + + + + + + + + + + + +
        diff --git a/doc/help/xslt/xhtml/maketoc.xsl b/doc/help/xslt/xhtml/maketoc.xsl new file mode 100644 index 00000000..0ae80552 --- /dev/null +++ b/doc/help/xslt/xhtml/maketoc.xsl @@ -0,0 +1,91 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + filename=" + + " + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/xhtml/manifest.xsl b/doc/help/xslt/xhtml/manifest.xsl new file mode 100644 index 00000000..26b51d06 --- /dev/null +++ b/doc/help/xslt/xhtml/manifest.xsl @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + diff --git a/doc/help/xslt/xhtml/math.xsl b/doc/help/xslt/xhtml/math.xsl new file mode 100644 index 00000000..b2cac2da --- /dev/null +++ b/doc/help/xslt/xhtml/math.xsl @@ -0,0 +1,284 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Unsupported TeX math notation: + + + + + + + + + + + + + \nopagenumbers + + + + + \bye + + + + + + + + + + + + + + + + + + + + + + + + \special{dvi2bitmap outputfile + + } + + + $ + + + + $ + + + \vfill\eject + + + + + + + + + + + + + + + + + + + + + + + + + \special{dvi2bitmap outputfile + + } + + + $$ + + + + $$ + + + \vfill\eject + + + + + + + + + + \documentclass{article} + + \pagestyle{empty} + + \begin{document} + + + + + \end{document} + + + + + + + + + + + + + + + + + + + + + + + + \special{dvi2bitmap outputfile + + } + + + $ + + + + $ + + + \newpage + + + + + + + + + + + + + + + + + + + + + + + + + \special{dvi2bitmap outputfile + + } + + + $$ + + + + $$ + + + \newpage + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + 0 + 1 + + + + + + diff --git a/doc/help/xslt/xhtml/oldchunker.xsl b/doc/help/xslt/xhtml/oldchunker.xsl new file mode 100644 index 00000000..e727bf11 --- /dev/null +++ b/doc/help/xslt/xhtml/oldchunker.xsl @@ -0,0 +1,176 @@ + + + + + + + + + + + + + + + + +Encoding used in generated HTML pages + +This encoding is used in files generated by chunking stylesheet. Currently +only Saxon is able to change output encoding. + + + + + + + + + +Saxon character representation used in generated HTML pages + +This character representation is used in files generated by chunking stylesheet. If +you want to suppress entity references for characters with direct representation +in default.encoding, set this parameter to value native. + + + + + + + + + + + + + + + + + + + + + + + + Chunking isn't supported with + + + + + + + + + + + + + + + Writing + + + for + + + ( + + ) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Can't make chunks with + + 's processor. + + + + + + + + + + + + + + + + Writing + + + for + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Can't make chunks with + + 's processor. + + + + + + diff --git a/doc/help/xslt/xhtml/onechunk.xsl b/doc/help/xslt/xhtml/onechunk.xsl new file mode 100644 index 00000000..15a04e1a --- /dev/null +++ b/doc/help/xslt/xhtml/onechunk.xsl @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + +1 + + + + # + + + + + + diff --git a/doc/help/xslt/xhtml/param.xsl b/doc/help/xslt/xhtml/param.xsl new file mode 100644 index 00000000..bebab477 --- /dev/null +++ b/doc/help/xslt/xhtml/param.xsl @@ -0,0 +1,436 @@ + + + + + + + + + +.png + +images/ + + + + + + +/* ====================================================================== + Annotations +*/ + +div.annotation-list { visibility: hidden; + } + +div.annotation-nocss { position: absolute; + visibility: hidden; + } + +div.annotation-popup { position: absolute; + z-index: 4; + visibility: hidden; + padding: 0px; + margin: 2px; + border-style: solid; + border-width: 1px; + width: 200px; + background-color: white; + } + +div.annotation-title { padding: 1px; + font-weight: bold; + border-bottom-style: solid; + border-bottom-width: 1px; + color: white; + background-color: black; + } + +div.annotation-body { padding: 2px; + } + +div.annotation-body p { margin-top: 0px; + padding-top: 0px; + } + +div.annotation-close { position: absolute; + top: 2px; + right: 2px; + } + + +http://docbook.sourceforge.net/release/images/annot-close.png +http://docbook.sourceforge.net/release/images/annot-open.png + + +http://docbook.sourceforge.net/release/script/AnchorPosition.js http://docbook.sourceforge.net/release/script/PopupWindow.js + + +A + + +. + +. +http://docbook.sourceforge.net/release/bibliography/bibliography.xml + + +normal + + +60 +.png + + +15 + +images/callouts/ + + +10 +10102 + + + + + + + + + + + +no + +1 + + + + + + left + before + + + +all + + +docbook.css.xml +no +images/draft.png + +::= + + + + +#F5DCB3 + + +com.example.help +DocBook Online Help Sample +Example provider +1 + + + + + + 1 + 0 + + + + +1 + + + +figure before +example before +equation before +table before +procedure before +task before + + +kr + + + + + + + + + + +appendix toc,title +article/appendix nop +article toc,title +book toc,title,figure,table,example,equation +chapter toc,title +part toc,title +preface toc,title +qandadiv toc +qandaset toc +reference toc,title +sect1 toc +sect2 toc +sect3 toc +sect4 toc +sect5 toc +section toc +set toc,title + + + + +no + + + + + + + + + + + + + +.html + + +copyright + + + +text/css +alias.h + + + + + + + +User1 + + +User2 + + + + + + + + + +htmlhelp.chm + + +iso-8859-1 + + + + + +toc.hhc +5 + + +index.hhk +htmlhelp.hhp + +Main + +context.h + + + + + + + + + + + + + +basic + + + + + + + +no + +no +iso-8859-1 + + +en + + + + +5 + + +3 + + + + + + + HTML.manifest + + + + ++ +.gif + +images/ +1 + + +6in + + +no +fragid= + +.olink + + replace + +pubid + /cgi-bin/olink +sysid +0 + +I + +90 +10 + + + + + + + + + + + + + + + + +; + + + + + +. +number + + + + + + + + + + I +index + +. +.!?: + +8 + + + + + 0 + #E0E0E0 + + + + + + +0 + + + + + +solid +0.5pt +a + + + +solid +0.5pt + + olinkdb.xml +target.db + +tex-math-equations.tex + + + +dl +8 +2 +_top + + + + + + + + +0 +, + + + writing-mode + + + + + + + + +: + + + + diff --git a/doc/help/xslt/xhtml/pi.xsl b/doc/help/xslt/xhtml/pi.xsl new file mode 100644 index 00000000..28f9efec --- /dev/null +++ b/doc/help/xslt/xhtml/pi.xsl @@ -0,0 +1,1203 @@ + + + + + + + +HTML Processing Instruction Reference + + $Id: pi.xsl 8394 2009-04-02 20:31:30Z mzjn $ + + + + Introduction + This is generated reference documentation for all + user-specifiable processing instructions (PIs) in the DocBook + XSL stylesheets for HTML output. + + You add these PIs at particular points in a document to + cause specific “exceptions” to formatting/output behavior. To + make global changes in formatting/output behavior across an + entire document, it’s better to do it by setting an + appropriate stylesheet parameter (if there is one). + + + + + + + + + Sets background color for an image + + Use the dbhtml background-color PI before or + after an image (graphic, inlinegraphic, + imagedata, or videodata element) as a + sibling to the element, to set a background color for the + image. + + + dbhtml background-color="color" + + + + background-color="color" + + An HTML color value + + + + + + Background color + + + + + + + + + + + + Sets background color on a CALS table row or table cell + + Use the dbhtml bgcolor PI as child of a CALS table row + or cell to set a background color for that table row or cell. + + + dbhtml bgcolor="color" + + + + bgcolor="color" + + An HTML color value + + + + + + Cell background color + + + + + + + + + + + + Specifies cellpadding in CALS table or qandaset output + + Use the dbhtml cellpadding PI as a child of a + CALS table or qandaset to specify the value + for the HTML cellpadding attribute in the + output HTML table. + + + dbhtml cellpadding="number" + + + + cellpadding="number" + + Specifies the cellpadding + + + + + + html.cellpadding + + + Cell spacing and cell padding, + Q and A formatting + + + + + + + + + + + + Specifies cellspacing in CALS table or qandaset output + + Use the dbhtml cellspacing PI as a child of a + CALS table or qandaset to specify the value + for the HTML cellspacing attribute in the + output HTML table. + + + dbhtml cellspacing="number" + + + + cellspacing="number" + + Specifies the cellspacing + + + + + + html.cellspacing + + + Cell spacing and cell padding, + Q and A formatting + + + + + + + + + + + + Set value of the class attribute for a CALS table row + + Use the dbhtml class PI as a child of a + row to specify a class + attribute and value in the HTML output for that row. + + + dbhtml class="name" + + + + class="name" + + Specifies the class name + + + + + + Table styles in HTML output + + + + + + + + + + + + Specifies a directory name in which to write files + + When chunking output, use the dbhtml dir PI + as a child of a chunk source to cause the output of that + chunk to be written to the specified directory; also, use it + as a child of a mediaobject to specify a + directory into which any long-description files for that + mediaobject will be written. + + + dbhtml dir="path" + + + + dir="path" + + Specifies the pathname for the directory + + + + + + base.dir + + + dbhtml dir processing instruction + + + + + + + + + + + + Specifies a filename for a chunk + + When chunking output, use the dbhtml filename + PI as a child of a chunk source to specify a filename for + the output file for that chunk. + + + dbhtml filename="filename" + + + + filename="path" + + Specifies the filename for the file + + + + + + use.id.as.filename + + + dbhtml filenames + + + + + + + + + + + + Specifies presentation style for a funcsynopsis + + Use the dbhtml funcsynopsis-style PI as a child of + a funcsynopsis or anywhere within a funcsynopsis + to control the presentation style for output of all + funcprototype instances within that funcsynopsis. + + + dbhtml funcsynopsis-style="kr"|"ansi" + + + + funcsynopsis-style="kr" + + Displays funcprototype output in K&R style + + + funcsynopsis-style="ansi" + + Displays funcprototype output in ANSI style + + + + + + funcsynopsis.style + + + + + + + + + + + + Specifies a path to the location of an image file + + Use the dbhtml img.src.path PI before or + after an image (graphic, + inlinegraphic, imagedata, or + videodata element) as a sibling to the element, + to specify a path to the location of the image; in HTML + output, the value specified for the + img.src.path attribute is prepended to the + filename. + + + dbhtml img.src.path="path" + + + + img.src.path="path" + + Specifies the pathname to prepend to the name of the image file + + + + + + img.src.path + + + Using fileref + + + + + + + + + + + + Specifies the label width for a qandaset + + Use the dbhtml label-width PI as a child of a + qandaset to specify the width of labels. + + + dbhtml label-width="width" + + + + label-width="width" + + Specifies the label width (including units) + + + + + + Q and A formatting + + + + + + + + + + + + Specifies interval for line numbers in verbatims + + Use the dbhtml linenumbering.everyNth PI as a child + of a “verbatim” element – programlisting, + screen, synopsis — to specify + the interval at which lines are numbered. + + + dbhtml linenumbering.everyNth="N" + + + + linenumbering.everyNth="N" + + Specifies numbering interval; a number is output + before every Nth line + + + + + + linenumbering.everyNth + + + Line numbering + + + + + + + + + + + + Specifies separator text for line numbers in verbatims + + Use the dbhtml linenumbering.separator PI as a child + of a “verbatim” element – programlisting, + screen, synopsis — to specify + the separator text output between the line numbers and content. + + + dbhtml linenumbering.separator="text" + + + + linenumbering.separator="text" + + Specifies the text (zero or more characters) + + + + + + linenumbering.separator + + + Line numbering + + + + + + + + + + + + Specifies width for line numbers in verbatims + + Use the dbhtml linenumbering.width PI as a child + of a “verbatim” element – programlisting, + screen, synopsis — to specify + the width set aside for line numbers. + + + dbhtml linenumbering.width="width" + + + + linenumbering.width="width" + + Specifies the width (inluding units) + + + + + + linenumbering.width + + + Line numbering + + + + + + + + + + + + Specifies presentation style for a variablelist or + segmentedlist + + Use the dbhtml list-presentation PI as a child of + a variablelist or segmentedlist to + control the presentation style for the list (to cause it, for + example, to be displayed as a table). + + + dbhtml list-presentation="list"|"table" + + + + list-presentation="list" + + Displays the list as a list + + + list-presentation="table" + + Displays the list as a table + + + + + + + + variablelist.as.table + + + segmentedlist.as.table + + + + + Variable list formatting in HTML + + + + + + + + + + + + Specifies the width of a variablelist or simplelist + + Use the dbhtml list-width PI as a child of a + variablelist or a simplelist presented + as a table, to specify the output width. + + + dbhtml list-width="width" + + + + list-width="width" + + Specifies the output width (including units) + + + + + + Variable list formatting in HTML + + + + + + + + + + + + Specifies the height for a CALS table row + + Use the dbhtml row-height PI as a child of a + row to specify the height of the row. + + + dbhtml row-height="height" + + + + row-height="height" + + Specifies the row height (including units) + + + + + + Row height + + + + + + + + + + + + (obsolete) Sets the starting number on an ordered list + + This PI is obsolete. The intent of + this PI was to provide a means for setting a specific starting + number for an ordered list. Instead of this PI, set a value + for the override attribute on the first + listitem in the list; that will have the same + effect as what this PI was intended for. + + + dbhtml start="character" + + + + start="character" + + Specifies the character to use as the starting + number; use 0-9, a-z, A-Z, or lowercase or uppercase + Roman numerals + + + + + + List starting number + + + + + + + + + + + + Do not chunk any descendants of this element. + + When generating chunked HTML output, adding this PI as the child of an element that contains elements that would normally be generated on separate pages if generating chunked output causes chunking to stop at this point. No descendants of the current element will be split into new HTML pages: +<section> +<title>Configuring pencil</title> +<?dbhtml stop-chunking?> + +... + +</section> + + + + dbhtml stop-chunking + + + Chunking into multiple HTML files + + + + + + Specifies summary for CALS table, variablelist, segmentedlist, or qandaset output + + Use the dbhtml table-summary PI as a child of + a CALS table, variablelist, + segmentedlist, or qandaset to specify + the text for the HTML summary attribute + in the output HTML table. + + + dbhtml table-summary="text" + + + + table-summary="text" + + Specifies the summary text (zero or more characters) + + + + + + Variable list formatting in HTML, + Table summary text + + + + + + + + + + + + Specifies the width for a CALS table + + Use the dbhtml table-width PI as a child of a + CALS table to specify the width of the table in + output. + + + dbhtml table-width="width" + + + + table-width="width" + + Specifies the table width (including units or as a percentage) + + + + + + default.table.width + + + Table width + + + + + + + + + + + + Sets character formatting for terms in a variablelist + + Use the dbhtml term-presentation PI as a child + of a variablelist to set character formatting for + the term output of the list. + + + dbhtml term-presentation="bold"|"italic"|"bold-italic" + + + + term-presentation="bold" + + Specifies that terms are displayed in bold + + + term-presentation="italic" + + Specifies that terms are displayed in italic + + + term-presentation="bold-italic" + + Specifies that terms are displayed in bold-italic + + + + + + Variable list formatting in HTML + + + + + + + + + + + + Specifies separator text among terms in a varlistentry + + Use the dbhtml term-separator PI as a child + of a variablelist to specify the separator text + among term instances. + + + dbhtml term-separator="text" + + + + term-separator="text" + + Specifies the text (zero or more characters) + + + + + + variablelist.term.separator + + + Variable list formatting in HTML + + + + + + + + + + + + Specifies the term width for a variablelist + + Use the dbhtml term-width PI as a child of a + variablelist to specify the width for + term output. + + + dbhtml term-width="width" + + + + term-width="width" + + Specifies the term width (including units) + + + + + + Variable list formatting in HTML + + + + + + + + + + + + Specifies whether a TOC should be generated for a qandaset + + Use the dbhtml toc PI as a child of a + qandaset to specify whether a table of contents + (TOC) is generated for the qandaset. + + + dbhtml toc="0"|"1" + + + + toc="0" + + If zero, no TOC is generated + + + toc="1" + + If 1 (or any non-zero value), + a TOC is generated + + + + + + Q and A list of questions, + Q and A formatting + + + + + + + + + + + + Generates a hyperlinked list of commands + + Use the dbcmdlist PI as the child of any + element (for example, refsynopsisdiv) containing multiple + cmdsynopsis instances; a hyperlinked navigational + “command list” will be generated at the top of output for that + element, enabling users to quickly jump + to each command synopsis. + + + dbcmdlist + + + [No parameters] + + + + + + No cmdsynopsis elements matched dbcmdlist PI, perhaps it's nested too deep? + + +
        + + + +
        +
        + + + Generates a hyperlinked list of functions + + Use the dbfunclist PI as the child of any + element (for example, refsynopsisdiv) containing multiple + funcsynopsis instances; a hyperlinked + navigational “function list” will be generated at the top of + output for that element, enabling users to quickly + jump to to each function synopsis. + + + dbfunclist + + + [No parameters] + + + + + + No funcsynopsis elements matched dbfunclist PI, perhaps it's nested too deep? + + +
        + + + +
        +
        + + + Copies an external well-formed HTML/XML file into current doc + + Use the dbhtml-include href PI anywhere in a + document to cause the contents of the file referenced by the + href pseudo-attribute to be copied/inserted “as + is” into your HTML output at the point in document order + where the PI occurs in the source. + + The referenced file may contain plain text (as long as + it is “wrapped” in an html element — see the + note below) or markup in any arbitrary vocabulary, + including HTML — but it must conform to XML + well-formedness constraints (because the feature in XSLT + 1.0 for opening external files, the + document() function, can only handle + files that meet XML well-formedness constraints). + Among other things, XML well-formedness constraints + require a document to have a single root + element. So if the content you want to + include is plain text or is markup that does + not have a single root element, + wrap the content in an + html element. The stylesheets will + strip out that surrounding html “wrapper” when + they find it, leaving just the content you want to + insert. + + + + dbhtml-include href="URI" + + + + href="URI" + + Specifies the URI for the file to include; the URI + can be, for example, a remote http: + URI, or a local filesystem file: + URI + + + + + + textinsert.extension + + + Inserting external HTML code, + External code files + + + + + + + href + + + + + + + + + + + + + + + + + + + + ERROR: dbhtml-include processing instruction + href has no content. + + + + + + + ERROR: dbhtml-include processing instruction has + missing or empty href value. + + + + + + + + Sets topic name and topic id for context-sensitive HTML Help + + Use the dbhh PI as a child of components + that should be used as targets for context-sensitive help requests. + + + dbhh topicname="name" topicid="id" + + + + topicname="name" + + Specifies a unique string constant that identifies a help topic + + + topicid="id" + + Specifies a unique integer value for the topicname string + + + + + + Context-sensitive help + + + + + + + + + + filename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + + + # + + + + + + + + + + + + + + + + + + +
        + + + + + +
        +
        +
        + + + + + + + + + + + + + + + +
        + + + # + + + + + + + + + + + + + + + + + + +
        + + + + + +
        +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + / + + + + / + + + + +
        diff --git a/doc/help/xslt/xhtml/profile-chunk-code.xsl b/doc/help/xslt/xhtml/profile-chunk-code.xsl new file mode 100644 index 00000000..05c10c6e --- /dev/null +++ b/doc/help/xslt/xhtml/profile-chunk-code.xsl @@ -0,0 +1,617 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + bk + + + + + + + + + + + + + + + ar + + + + + + + + + + + + + + + pr + + + + + + + + + + + + + + + ch + + + + + + + + + + + + + + + ap + + + + + + + + + + + + + + + + + + + pt + + + + + + + + + + + + + + + + + + + rn + + + + + + + + + + + + + + + + + + + + + + + + re + + + + + + + + + + + + + + + + + + + co + + + + + + + + + + + s + + + + + + + + + + + + + + + + + + + bi + + + + + + + + + + + + + + + + + + + go + + + + + + + + + + + + + + + + + + + ix + + + + + + + + si + + + + + + + + chunk-filename-error- + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Note: namesp. cut : stripped namespace before processingNote: namesp. cut : processing stripped document + + + + + + + + + + + + + + + + + ID ' + + ' not found in document. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/xhtml/profile-chunk.xsl b/doc/help/xslt/xhtml/profile-chunk.xsl new file mode 100644 index 00000000..def7ffff --- /dev/null +++ b/doc/help/xslt/xhtml/profile-chunk.xsl @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/help/xslt/xhtml/profile-docbook.xsl b/doc/help/xslt/xhtml/profile-docbook.xsl new file mode 100644 index 00000000..652fbb79 --- /dev/null +++ b/doc/help/xslt/xhtml/profile-docbook.xsl @@ -0,0 +1,408 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Element + + in namespace ' + + ' encountered + + in + + + , but no template matches. + + + + < + + > + + </ + + > + + + + + + + +rtl + + + + + + + + + + + <xsl:copy-of select="$title"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Note: namesp. cut : stripped namespace before processingNote: namesp. cut : processing stripped document + + + + + + + + + + + + + + + + + + ID ' + + ' not found in document. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + diff --git a/doc/help/xslt/xhtml/profile-onechunk.xsl b/doc/help/xslt/xhtml/profile-onechunk.xsl new file mode 100644 index 00000000..b84b3e97 --- /dev/null +++ b/doc/help/xslt/xhtml/profile-onechunk.xsl @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + +1 + + + + # + + + + + + diff --git a/doc/help/xslt/xhtml/qandaset.xsl b/doc/help/xslt/xhtml/qandaset.xsl new file mode 100644 index 00000000..4a61c815 --- /dev/null +++ b/doc/help/xslt/xhtml/qandaset.xsl @@ -0,0 +1,420 @@ + + + + + + + + + + + + + + + + + + + + + + +
        + + + + + + + + + + + + + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

        + +

        +
        + + + + + + + + + + + + +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

        + +

        +
        + + + + + + + + + + +
        + + + + + + + + + + + + + + +
        + + +
        +
        + + +
        +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + + + + + + + + + + + + + +
        + + + + +
        + + + +
        + +
        +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1% + + + + + + + + +
        +
        + + + + + + + + + +
        diff --git a/doc/help/xslt/xhtml/refentry.xsl b/doc/help/xslt/xhtml/refentry.xsl new file mode 100644 index 00000000..dc2e57d8 --- /dev/null +++ b/doc/help/xslt/xhtml/refentry.xsl @@ -0,0 +1,299 @@ + + + + + + + + + + + + +
        + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

        + +

        +
        + + + + +
        + + + + +
        +
        +
        +
        + + + + + + +
        +
        + + + + + + + + + + + + + + ( + + ) + + + + + + + + + + + +
        + + + + + + + + + + +

        + + + +

        +
        + +

        + + + + + + + + +

        +
        +
        + +

        + +

        +
        +
        + + + + + + , + + + + + + + + + em-dash + + + + + + + + + + + + + + + + : + + + + + + + +
        + + + + +

        + + + + + + + + + + +

        + +
        +
        + + + + + + + + + + + +
        + + + + + + + + + +
        +
        + + + + + + 0 + 1 + + + + 6 + + + + + + + + + + + + +

        + +

        +
        + + + +

        + +

        +
        + + + +

        + +

        +
        + + + + + + + + + +
        diff --git a/doc/help/xslt/xhtml/sections.xsl b/doc/help/xslt/xhtml/sections.xsl new file mode 100644 index 00000000..aec647d5 --- /dev/null +++ b/doc/help/xslt/xhtml/sections.xsl @@ -0,0 +1,541 @@ + + + + + + + + + + + + + + +
        + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + + 1 + 2 + 3 + 4 + 5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + + +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + + +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + + +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + + +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + + +
        + + + + + + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 6 + + + + + + + + + + clear: both + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + 1 + + + + + + + 2 + 3 + 4 + 5 + 6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        diff --git a/doc/help/xslt/xhtml/synop.xsl b/doc/help/xslt/xhtml/synop.xsl new file mode 100644 index 00000000..85067078 --- /dev/null +++ b/doc/help/xslt/xhtml/synop.xsl @@ -0,0 +1,1513 @@ + + + + + + + + + + + + + + +
        + +

        + + + + + + + + + + + + +

        +
        +
        + + +
        + + +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + + + + + ( + + ) + +   + + + + + + + + + + + + + + + + + + + ( + + ) + + + + + + + + + + + + + + + + + + + + + + +
        +    
        +    
        +  
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

        + + +
        + +
        +

        +
        + + + + + + ( + + + + + + + fsfunc + + + + + + + + + ) + ; + + + + ... + ) + ; + + + + + + + , + + + ) + ; + + + + + + + + + + + + + + + + + + + + +
        + + + + ; +
        + + + + + + + + + + + + + + + + + + ( + + ) + + + + + + + + + + + + + + + + + +
        + +
         
        + +
        + +
        +
        +
         
        +
        + + + + + + ( + + + + + + + fsfunc + + + + + + + + + + ) + ; + +   + + + + + ... + ) + ; + +   + + + + + + + + , + + + ) + ; + + + +   + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +   + + + + + + + + + + + + + + + + + + + + + + + + + + + + +   + + + + + + ; + + + + + + + + + + + + + + + + + + + + + + + + ( + + ) + ; + + + + + + +

        + +

        +
        + + + + + + ( + + + + + + + fsfunc + + + + + + + + + void) + ; + + + + ... + ) + ; + + + + + + + , + + + ) + ; + + + + + + + + + + + + + + + + + + + + + ( + + ) + + + + + + + + + + + + + + + + + +
        + +
         
        +
         
        +
        + + + + + + ( + + + + + + + fsfunc + + + + + + + + + + void) + ; + +   + + + + + ... + ) + ; + +   + + + + + + + + , + + + ) + ; + + + + + + + + + + + + + + + + + + + + + + ( + + ) + + + + +java + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Unrecognized language on + + : + + + + + + + + + + + +
        +
        +
        + + + + + +
        +    
        +    
        +    
        +       extends
        +      
        +      
        +        
        +      +
        +
        + + implements + + +
        +      +
        +
        + + throws + + +  { +
        + + } +
        +
        + + + + + + + + + , + + + + + + + + + + + + + + + + +   + + + + + + + , + + + + + + + + + + , + + + + + + + + + + , + + + + + + + + + + + +    + + + ; + + + + + + + + +   + + + + + + + +   + + + + + + + + + + + + + + + void  + + + + + + + + + + + + 0 + + , +
        + + +   + + + +
        + + + + +
        + + + + + + + + + + + + + + +    + + + + + + + + + + + + + + + ( + + + + ) + +
        +     throws  + +
        + + + + + ; +
        + +
        + + + + +
        +    
        +    
        +    
        +      : 
        +      
        +      
        +        
        +      +
        +
        + + implements + + +
        +      +
        +
        + + throws + + +  { +
        + + } +
        +
        + + + + + + + + , + + + + + + + + + + + + +   + + + + + + + , + + + + + + + + + + , + + + + + + + + + + , + + + + + + + + + + + +    + + + ; + + + + + + + + +   + + + + + + + +   + + + + + + + + + + + + + + + void  + + + + + + + + + + + + + , + + + + + + + + + + + + + + + + + + + + + + +    + + + + + + + + + + ( + + ) + +
        +     throws  + +
        + + + + + ; +
        + +
        + + + + +
        +    
        +    interface 
        +    
        +    
        +      : 
        +      
        +      
        +        
        +      +
        +
        + + implements + + +
        +      +
        +
        + + throws + + +  { +
        + + } +
        +
        + + + + + + + + , + + + + + + + + + + + + +   + + + + + + + , + + + + + + + + + + , + + + + + + + + + + , + + + + + + + + + + + +    + + + ; + + + + + + + + +   + + + + + + + +   + + + + + + + + + + + + + + + void  + + + + + + + + + + + + + , + + + + + + + + + + + + + + + + + + + + + +    + + + + + + + + + + ( + + ) + +
        +     raises( + + ) +
        + + + + + ; +
        + +
        + + + + +
        +    
        +    package 
        +    
        +    ;
        +    
        + + + @ISA = ( + + ); +
        +
        + + +
        +
        + + + + + + + + , + + + + + + + + + + + + +   + + + + + + + , + + + + + + + + + + , + + + + + + + + + + , + + + + + + + + + + + +    + + + ; + + + + + + + + +   + + + + + + + +   + + + + + + + + + + + + + + + void  + + + + + + + + + + + + + , + + + + + + + + + + + + + + + + + + + + + + sub + + + { ... }; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        diff --git a/doc/help/xslt/xhtml/table.xsl b/doc/help/xslt/xhtml/table.xsl new file mode 100644 index 00000000..42fe2591 --- /dev/null +++ b/doc/help/xslt/xhtml/table.xsl @@ -0,0 +1,1168 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + +   + + + + + + + + + + + + + + + + + + + border- + + : + + + + + + ; + + + + + border- + + -width: + + ; + + + + border- + + -style: + + ; + + + + border- + + -color: + + ; + + + + + + + + + + + Error: CALS tables must specify the number of columns. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 100% + + + + + + + + border-collapse: collapse; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + border-collapse: collapse; + + + + + + + + + + + + + + + + + border-collapse: collapse; + + + + + + + + + + + border-collapse: collapse; + + + + + + + + + + + border-collapse: collapse; + + + + + + + + + + + + + + + + + border: none; + + + + + border-collapse: collapse; + + + + + + + 0 + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + 100% + + + + + + + + + + + + + + + + + + + + + + + + No convertLength function available. + + + + + + + + + + + + + + + + + + + + + + + + + + No adjustColumnWidths function available. + + + + + + + + + + + + + + + + + + + + +
        + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Warning: overlapped row contains content! + + + This row intentionally left blank + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + th + th + + th + + td + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +   + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + : + + + + + + + + 0: + + + + + + + + + + + + + + + 0 + + : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        diff --git a/doc/help/xslt/xhtml/task.xsl b/doc/help/xslt/xhtml/task.xsl new file mode 100644 index 00000000..0a380d2f --- /dev/null +++ b/doc/help/xslt/xhtml/task.xsl @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + before + + + + + + + + +
        + + + + + + + + + + + + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + +
        diff --git a/doc/help/xslt/xhtml/titlepage.templates.xsl b/doc/help/xslt/xhtml/titlepage.templates.xsl new file mode 100644 index 00000000..1f72e230 --- /dev/null +++ b/doc/help/xslt/xhtml/titlepage.templates.xsl @@ -0,0 +1,3817 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + + +
        + + + + + + + + + + 1 + + + +
        +
        + + + + + + + + + + 1 + + + +
        +
        + +
        +
        + + + + + + + + + + + + + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + + +
        + + + + + + + + + + 1 + + + +
        +
        + + + + + + + + + + 1 + + + +
        +
        + +
        +
        + + + + + + + + + + + + + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + + +
        + + + + + + + + + + 1 + + + +
        +
        + + + + + + + + + + 1 + + + +
        +
        + +
        +
        + + + + + + + + + + + + + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + + +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + + + + + + + + + + + + + + +
        + + + + + + + + + + 1 + + + +
        +
        + + + + + + + + + + 1 + + + +
        +
        + +
        +
        + + + + + + + + + + + + + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + + + + + + + + + + 1 + + + +
        +
        + + + + + + + + + + 1 + + + +
        +
        + +
        +
        + + + + + + + + + + + + + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + + +
        + + + + + + + + + + 1 + + + +
        +
        + + + + + + + + + + 1 + + + +
        +
        + +
        +
        + + + + + + + + + + + + + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + + + + + + + + + + + + + + + + +
        + + + + + + + + + + 1 + + + +
        +
        + + + + + + + + + + 1 + + + +
        +
        + +
        +
        + + + + + + + + + + + + + + +
        + + +
        + + + + + + + + + + + + + + + +
        + + + + + + + + + + + + + + +
        + + + + + + + + + + 1 + + + +
        +
        + + + + + + + + + + 1 + + + +
        +
        + +
        +
        + + + + + + + + + + + + + + +
        + +
        +
        + + +
        + + +
        + + + + + + + + + + + + + + + +
        + + + + + + + + + + + + + + +
        + + + + + + + + + + 1 + + + +
        +
        + + + + + + + + + + 1 + + + +
        +
        + +
        +
        + + + + + + + + + + + + + + +
        + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + + + + + + + + + + 1 + + + +
        +
        + + + + + + + + + + 1 + + + +
        +
        + +
        +
        + + + + + + + + + + + + + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + + + + + + + + + + 1 + + + +
        +
        + + + + + + + + + + 1 + + + +
        +
        + +
        +
        + + + + + + + + + + + + + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + + + + + + + + + + 1 + + + +
        +
        + + + + + + + + + + 1 + + + +
        +
        + +
        +
        + + + + + + + + + + + + + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + + +
        + + + + + + + + + + 1 + + + +
        +
        + + + + + + + + + + 1 + + + +
        +
        + +
        +
        + + + + + + + + + + + + + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + + +
        + + + + + + + + + + 1 + + + +
        +
        + + + + + + + + + + 1 + + + +
        +
        + +
        +
        + + + + + + + + + + + + + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + + +
        + + + + + + + + + + 1 + + + +
        +
        + + + + + + + + + + 1 + + + +
        +
        + +
        +
        + + + + + + + + + + + + + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + + +
        + + + + + + + + + + 1 + + + +
        +
        + + + + + + + + + + 1 + + + +
        +
        + +
        +
        + + + + + + + + + + + + + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + + +
        + + + + + + + + + + 1 + + + +
        +
        + + + + + + + + + + 1 + + + +
        +
        + +
        +
        + + + + + + + + + + + + + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + + +
        + + + + + + + + + + 1 + + + +
        +
        + + + + + + + + + + 1 + + + +
        +
        + +
        +
        + + + + + + + + + + + + + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + + +
        + + + + + + + + + + 1 + + + +
        +
        + + + + + + + + + + 1 + + + +
        +
        + +
        +
        + + + + + + + + + + + + + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + +
        +
        + + +
        + + +
        + + + + + + + + + + + + + + + +
        + + + + + + + + + + + + + + +
        + + + + + + + + + + 1 + + + +
        +
        + + + + + + + + + + 1 + + + +
        +
        + +
        +
        + + + + + + + + + + + + + + +
        + +
        +
        + + +
        + + +
        + + + + + + + + + + + + + + + +
        + + + + + + + + + + + + + + +
        + + + + + + + + + + 1 + + + +
        +
        + + + + + + + + + + 1 + + + +
        +
        + +
        +
        + + + + + + + + + + + + + + +
        + +
        +
        + + +
        + + +
        + + + + + + + + + + + + + + + +
        + + + + + + + + + + + + + + +
        + + + + + + + + + + 1 + + + +
        +
        + + + + + + + + + + 1 + + + +
        +
        + +
        +
        + + + + + + + + + + + + + + +
        + +
        +
        + + +
        + + +
        + + + + + + + + + + + + + + + +
        + + + + + + + + + + + + + + +
        + + + + + + + + + + 1 + + + +
        +
        + + + + + + + + + + 1 + + + +
        +
        + +
        +
        + + + + + + + + + + + + + + +
        + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + + + + + + + + + + 1 + + + +
        +
        + + + + + + + + + + 1 + + + +
        +
        + +
        +
        + + + + + + + + + + + + + + +
        + + + +
        +
        + + +
        + +
        +
        + +
        diff --git a/doc/help/xslt/xhtml/titlepage.xsl b/doc/help/xslt/xhtml/titlepage.xsl new file mode 100644 index 00000000..c3f82178 --- /dev/null +++ b/doc/help/xslt/xhtml/titlepage.xsl @@ -0,0 +1,1030 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
        +
        + + +
        + + + + + + + + + + + +
        +
        + + + + + + + + + + + + + +
        + + + + + + + + +
        +
        + + +
        + + + + + + + + +
        +
        +
        +
        + + +
        + + +
        +
        + + + + + +
        +
        +
        + + + + + + +
        + + +

        +
        +

        + + + + + + + + + +

        + + + + + + + + + + + + + + + +
        +
        + + +
        + + +
        +
        + + +
        + + +

        Authors

        +
        + + + +
        +
        + + + + + +
        +
        +
        + + + + + + + + + + + + + +
        +
        +
        + + + + + + + + + +
        + + +
        +
        + + + + + +
        +
        +
        + + + + + +
        +
        +
        + + + + + +
        +
        +
        + + + + + + + + + +
        +
        +
        + + + + + +
        +
        +
        + + + + + + + +   + + +
        + +

        +
        +
        +
        +
        + + + + +

        Copyright

        +
        + +

        + + + + + + + copyright + + + + + + + + + +

        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + , + + + + +

        + + +

        +
        + + + + + +
        +
        +
        + + + + + +
        +
        +
        + + + + + +
        +
        +
        + + +

        + + + + + + +

        +
        + + + + + + + + + + +
        +
        +
        + + + + + + + + + + +
        +
        +
        + + + + + +
        +
        +
        + + + + + +
        +
        +
        + + + + + +
        +
        +
        + + + + + + + + +
        +
        +
        + + + + + +
        +
        +
        + + + + + +
        +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + + +
        + + + +
        +
        +
        + +
        + + + +
        +
        +
        +
        + + +

        +
        + + + + + +
        +
        +
        + + + + + + + + + + + +
        +
        +
        + + + + + +
        +
        +
        + + + + + + + + + + + + + : + + + + + + + + + + + + + + + + + + + + + + + + + + , + + + + + + + +
        +
        +
        + + + + + +
        +
        +
        + + +
        + + +
        +
        + + + + + +
        +
        +
        + + + + + +
        +
        +
        + + + + + + + + + + + + + + + + + + + + + + + +
        +
        +
        + + + + + +
        +
        +
        + + + + + + + + + + + + + + 3 + 2 + + + + + + + + RevHistory + + + + +
        + + + + + + + + +
        + + + + + +
        +
        +
        + + + + + + + + + + + + + + + + + + +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + , + + + + + +   + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
        +
        + + + + + +
        +
        +
        + + + + + +

        + + +

        +
        + + + + + +
        +
        +
        + + + + + + + + + + + + + + + + + + +

        + + + + + + + + + + + + + + +

        +
        + + + + + + + + + +
        +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        diff --git a/doc/help/xslt/xhtml/toc.xsl b/doc/help/xslt/xhtml/toc.xsl new file mode 100644 index 00000000..92b7b14b --- /dev/null +++ b/doc/help/xslt/xhtml/toc.xsl @@ -0,0 +1,330 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + + +
        + + +
        +
        + +
        + + + + + + + + + +
        +
        +
        + + + + + + + + + + + + + + +
        + + +
        + + +
        +
        + +
        + + + + + + + + + +
        +
        +
        + + + + + + + + +
        + + + + + +
        +
        + + + + + + +
        +
        +
        + + + + + +
        + + +
        + +
        + +
      • + + + +
      • +
        +
        +
        + + + + +
        + + +
        +
        + +
      • + + +
      • +
        +
        +
        + + + + + + + + + + + + + + +
        + + + + + + + + + + + + + + + +
        + + +
        +
        + + +
        + + +
        +
        + + + + + + + + + + + + +
        + + +
        +
        + + + +
        +
        + + + + +
        + + + + +
        + + +
        + +
        + + + +
        +
        + + + + +
        + + +
        + +
        + + + +
        +
        + + + + + Warning: don't know what to generate for + lot that has no children. + + + + +
        + + +
        +
        + + +
        + + +
        +
        + + + + + diff --git a/doc/help/xslt/xhtml/verbatim.xsl b/doc/help/xslt/xhtml/verbatim.xsl new file mode 100644 index 00000000..c0bc69d5 --- /dev/null +++ b/doc/help/xslt/xhtml/verbatim.xsl @@ -0,0 +1,388 @@ + + + + + + + + + + + + + + + + + + + + + + + + + div + pre + + + + + + The shade.verbatim parameter is deprecated. + Use CSS instead, + + + for example: pre. + + { background-color: #E0E0E0; } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The shade.verbatim parameter is deprecated. + Use CSS instead, + + + for example: pre. + + { background-color: #E0E0E0; } + + + + + + + +
        +            
        +            
        +              
        +            
        +          
        +
        + +
        + +

        + + + +

        +
        +
        +
        +
        + + + +
        +            
        +            
        +          
        +
        + +
        + +

        + + + +

        +
        +
        +
        +
        +
        +
        + + + + + + + + + + +
        + +

        + + + +

        +
        +
        + + +
        + +

        + + + +

        +
        +
        +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Unexpected verbatim environment: + + + + + + + + + + 1 + + + + + + + + + + + + + No numberLines function available. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        diff --git a/doc/help/xslt/xhtml/xref.xsl b/doc/help/xslt/xhtml/xref.xsl new file mode 100644 index 00000000..74c6f203 --- /dev/null +++ b/doc/help/xslt/xhtml/xref.xsl @@ -0,0 +1,1316 @@ + + + + + + + + +http://docbook.org/xlink/role/olink + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Endterm points to nonexistent ID: + + + ??? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ERROR: xref linking to + + has no generated link text. + + ??? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + XRef to nonexistent id: + + + ??? + + + + + + + + + + + + + + + + Endterm points to nonexistent ID: + + + + + ??? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + suppress anchor + + + + + + + + + + + removing + + + + + + + + + + + + + + + + + removing + + + + + + + + + + + + + + + + + + + + + + Don't know what gentext to create for xref to: " + + ", (" + + ") + + + ??? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [ + + + + ] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No bibliography entry: + + found in + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [ + + + + + + + + + ] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Endterm points to nonexistent ID: + + + ??? + + + + + + + + + + + + + Link element has no content and no Endterm. + Nothing to show in the link to + + + ??? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Olink debug: root element of target.database ' + + ' is ' + + '. + + + + + + + + + + + + + + + Error: unresolved olink: + targetdoc/targetptr = ' + + / + + '. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Warning: olink linkmode pointer is wrong. + + + + # + + + + + + + + + + + + + ? + + + + + & + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -- 2.44.2

    -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 ;58^J9#L=vZBga8&cV~4~IFIW!05sSZoeW^;XBT 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

    S0!<_vB#9I*Ean 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

    ´}³L/9Ü_25éqc¡ ß^­ÒYÿ-áíÜ ðos3#Ië=d³S: +³;‡í¥ÃâfvÐsŸ†ªdw]ï:ÕäÐ"SÎa‚Ã…"”³P)šQˆ. 6ºHC¡Ô4ᢋÔP˪p%ý@¾_tñW]d̉‘±st)í¶W³ºƒÀ2$ÝÛï>;MþÁJ…°¹NÌ~R¦«£áŸ}º˜WèC[çö}‡Žó€Q†èpÞüXº§/{*êàɚcúTðM¹(òf9\à©£ vÿ¡÷¼\·«SÙj¶m‹öÁñ»r뺶%²O;«²õj8ځ{H E†dáq(ßÞÊ: BÑ휻ꫨš£®çÖþ¿c ÓFÄÿƒVÈUÞóD+Ė¥mžï$’hÅ_²„“œÁã@,«ëd—m½qaZŒƒ B2-ڕ+™Ö¡|O$z+ë€D*A|ï +óü–i5›²M? ·»êÚy·K$†Äì%A!bM„Q¯Ü!f÷1„RP¹†ÛÇÈ÷…¿²xP•*•3(ÅYµ¾+Æ&j›»ªqŘâÛyIuç#¤xE ã”ÄqÀ¼  1,\~ ßdÞÊ:€Œ Âhï +°ry‰…нY1z ‘¥ v àaik‹ßÖï\Ò±ÑðÄùµó€A’=?Ë*-‡§‰~›å,t8¤h£ÂÕûù~ží¯¬ƒgS0ìD¬l›ÎÒ™ò&@Û ÂÚz°#„œ§Eq“f·ØZ¶è"þ©S@ç·×ví}q“„;9ï‰oeñhà #lÏ«Ëê7諸•výœÖ%3ùüÿ ½n ú£ÉK2@S+óŠ œ<&Pc3@.»ÿV̓‡ò=#ƒ·²‘A*Â÷ÅÀlÐnƒ~š¹´£ğCJÍòr^ý)+Òæh»ù§u™ ÷‘NÎrŸkìAï&D¸pØ+z‚¶"°å]’„ë( ä{ºº¯²§[H¡uçد›åŸ$˜N´užÛbæÚ~àÜJ_´ýÀ©"Úðד|X¢ eÛÀ¼UáÚù~ˆôWŸ|˜1DÈÞ~Lgօ—ŽÞ|pªçžÎã yUa;¿®s{D<¿Àú}, MÂq¢|O· ¦lo Ý~ +—5ò=á«ì1"c’;55‘¼/§ŸNOز«¬°‡õËþŸ:¥i¹i—£ë&½9þÃÀ'Ž‘ܬ[‡Ñeå2únûÏ¥zؼ=T÷®a2ïéõÞÊ"2“’b:Å0²}8¯ÖåQGìã@îýºi2H±¹”{XB=v3ö®€D£aµ®§fPtsîtÂ@¾'¼•u€‚”8ñ~#¶tŽ1Pâñ€,ã@¼§YC©Ú[‚%DÐpGÑò=má«ìiŽÁ»îc22Ç@ö´«ì\(ÆS¥C  FÇd4öÙÍg6¥ÝUzÁ\ÿP¾§ë{+ë]#ºo¿Ùx|û·ëïýýÜù¼§G´çœBÀ$šü¸7ý¤œçXXÈ ŸpqIL„‘Á p(ÞÞª:€R¢÷³Zb[îU‰ôÏaÕõ‰ 2ösb*9ìO>'ß90ñ<[â©8Ú®Øç» W4u&–fת…§Cñ~xòV'“˜ñ€ûyáZ/©Oþ;ÿX–]EìÑ=â=ŸÜã«jÿzôà?I ÕÉsžû÷_qá$Ï +endstream +endobj +1998 0 obj << +/Type /Page +/Contents 1999 0 R +/Resources 1997 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 2039 0 R +>> endobj +2000 0 obj << +/D [1998 0 R /XYZ -11.232 900.716 null] +>> endobj +2001 0 obj << +/D [1998 0 R /XYZ 56.693 759.068 null] +>> endobj +2002 0 obj << +/D [1998 0 R /XYZ 65.161 752.393 null] +>> endobj +2003 0 obj << +/D [1998 0 R /XYZ 65.161 741.435 null] +>> endobj +2004 0 obj << +/D [1998 0 R /XYZ 65.161 730.476 null] +>> endobj +2005 0 obj << +/D [1998 0 R /XYZ 56.693 683.85 null] +>> endobj +2006 0 obj << +/D [1998 0 R /XYZ 65.161 684.534 null] +>> endobj +2007 0 obj << +/D [1998 0 R /XYZ 56.693 638.303 null] +>> endobj +2008 0 obj << +/D [1998 0 R /XYZ 65.161 638.592 null] +>> endobj +2009 0 obj << +/D [1998 0 R /XYZ 56.693 591.966 null] +>> endobj +2010 0 obj << +/D [1998 0 R /XYZ 65.161 592.65 null] +>> endobj +250 0 obj << +/D [1998 0 R /XYZ 56.693 555.92 null] +>> endobj +2011 0 obj << +/D [1998 0 R /XYZ 56.693 528.661 null] +>> endobj +2012 0 obj << +/D [1998 0 R /XYZ 56.693 483.517 null] +>> endobj +2013 0 obj << +/D [1998 0 R /XYZ 65.161 483.806 null] +>> endobj +2014 0 obj << +/D [1998 0 R /XYZ 65.161 472.847 null] +>> endobj +2015 0 obj << +/D [1998 0 R /XYZ 65.161 461.888 null] +>> endobj +2016 0 obj << +/D [1998 0 R /XYZ 56.693 415.262 null] +>> endobj +2017 0 obj << +/D [1998 0 R /XYZ 65.161 415.946 null] +>> endobj +2018 0 obj << +/D [1998 0 R /XYZ 56.693 369.32 null] +>> endobj +2019 0 obj << +/D [1998 0 R /XYZ 65.161 370.004 null] +>> endobj +2020 0 obj << +/D [1998 0 R /XYZ 56.693 323.379 null] +>> endobj +2021 0 obj << +/D [1998 0 R /XYZ 65.161 324.062 null] +>> endobj +2022 0 obj << +/D [1998 0 R /XYZ 65.161 313.103 null] +>> endobj +2023 0 obj << +/D [1998 0 R /XYZ 65.161 302.144 null] +>> endobj +2024 0 obj << +/D [1998 0 R /XYZ 56.693 255.519 null] +>> endobj +2025 0 obj << +/D [1998 0 R /XYZ 65.161 256.202 null] +>> endobj +2026 0 obj << +/D [1998 0 R /XYZ 65.161 245.243 null] +>> endobj +2027 0 obj << +/D [1998 0 R /XYZ 56.693 198.618 null] +>> endobj +2028 0 obj << +/D [1998 0 R /XYZ 65.161 199.301 null] +>> endobj +2029 0 obj << +/D [1998 0 R /XYZ 65.161 188.342 null] +>> endobj +2030 0 obj << +/D [1998 0 R /XYZ 65.161 177.384 null] +>> endobj +2031 0 obj << +/D [1998 0 R /XYZ 65.161 166.425 null] +>> endobj +2032 0 obj << +/D [1998 0 R /XYZ 65.161 155.466 null] +>> endobj +2033 0 obj << +/D [1998 0 R /XYZ 65.161 144.507 null] +>> endobj +2034 0 obj << +/D [1998 0 R /XYZ 65.161 133.548 null] +>> endobj +2035 0 obj << +/D [1998 0 R /XYZ 65.161 122.589 null] +>> endobj +2036 0 obj << +/D [1998 0 R /XYZ 65.161 111.63 null] +>> endobj +2037 0 obj << +/D [1998 0 R /XYZ 65.161 100.671 null] +>> endobj +2038 0 obj << +/D [1998 0 R /XYZ 65.161 89.712 null] +>> endobj +1997 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F52 695 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +2042 0 obj << +/Length 2844 +/Filter /FlateDecode +>> +stream +xÚí][ã¶~Ÿ_!¤2\‘)*(ŠînÛ4A¶Ewh€Ý<Ð6m #‰Ž$ϥȏeÉíHMq6yYώ5GŸÎwn<¤Ã`„Á·o¯/^ÿ…A‚Nxp½8A<¦ˆÆÁõ*øtùAeJVêÕaáå?u­ªöǵ.Ûêm÷æ_õò­Ö7í~üø럮¿7·¹Â%ŒµÒ>Ö™ª¶JÕUó¶¹;„¹;§ÍÝ#£˜ˆàŠ¡$îîOc#0—¯ÛLx󇻾øùña€ÆOh'ñËüâÓOa°2ï(JDpw¸2¡Üüœ/þ}vš ÄæÇæåÛG’>pL‚8bH`ÑHn~OP"’7W'A©‚õII“òÂå³£˜ Ðk£„$3€=,7AûÇÎPŒ†*:Êx‚pÈÛGum,¡y6§åŸ®x^ʅ¾^ºÜÊb£*ØÅwªŠÍå +xåB-å¾^lØQ§Åˆ6­·°++÷t¿ÿªûåøÏ.K%3 ]f«ô£äžyô(w$0vå}ùŽÄpkA *Ž:Vé}¹šP©nÍ£|½•õ™&tšœûz«K %\ZÔª¨S]È,{€R_ë +̦ZîqyÚÆ E-ü±tGûvzږIŒ°­-?ãs +]ÀžÁ®TkU–ê”Û9íµË›ýv&?™™¹ªåJÖrˆúëçQËb$SV闠ƴÅcc=ögó}ùŽVï Ö«cŽˆ¹ç :Ok˨l +9 +úSü˜ü4ž[UV逵>Ńg]n¥Ê>‡,¬só/~Õºäi½ýæÕ&‡‰‚µ*êòÝWTØJˆ‹&»†,ÔcéԗïÈMg°Ü  +IW:ýg«€b£ +UJxà3™ÙN‚Çfè°O¦‹*¡C4; U²x¨·`Å »F“TŠ’ű¿zn ßÍÒÝÁÂ-=J"rÒZ:8Ã9:3è0|,ZI<^NϼÉšº•ÐüvºÔ‡é|Ë1Éï +[$°¿2} ßÑƝÁZظ ‡]™¾+å²NÇe÷×S³ñÅÃìY÷»6FSÑîå +ܐץÎg¾ùS¾aÚÒ¹@‚ù+Öò-ݬ…¥ÇFAѱX·ÚZ76=u¥ºßeé2­¡{'‹zÞ*dîé®.m+‘Q¿àâ%‹•(2ÒYä©XÉpX ûZ¨DԀI°¿B%2¥YHý­«ä;Þ¬á C´ËÞÖû²Ùäa³ñÚµU+h{¾/ì.­—۹㼌YÊlæÝbq¶ÿÀ +#ú’þƒ&áãV«ÙýÇRç¹.,ZT8<öçAhÌ ýµ!òÝ<ˆ;X¸¡±yºIwÄÀ›˜èÕ~¯îÁ^A—›ÑÆ<çÆ}»åzSêÁæÖéìÚxɛ™[èïdžf™mÊKy„Häo\v ßÑ~ÁZØ/;ž¦òö3exS¤Õ¹ž˜rŒQGL¢÷äˆß˵NÖ6ýñ‰#¨G7ŒcdrfܗïhÆ®`O- QŒ `Ë¿å²½M^^´m€›š8gBÐO(ŽPD_”€$Áˆrå¾Lëÿ¶´û^É¢ÒőxU]¦»¢²Hˆ08Xâ{$‘¿î`Oºï\Âƒ‰)Ç£7>¨\ßBÓpƒ«Vù.wØriŠ¢ñ²é$á6'ö$=uq–7ÃË9}ùjá(û«– Mœ:ý‡à=så +ZâB²ÜÄHؕ¹êó=£Žj;»œv,AÜãá ùŽLukÁU£ äX±ÞéòæÌcÀºßÿÉΈÿü|ÜU™ÊUQòÎ&-›¨1ÞÃðºGQ~wÞDý3žÎzØ»ÞB“;7šV_nÕû‰n™EBš¬„‘M€(E13'@ÍÂVª +ýoåsú³$æ3 Lð8ä9ïè[ÁZøVÌ>y¾‡gA+µÌd9ÐuHkˆVKæ— SúÜX\¿“åÈaŸvï1?Ì|j¡G:Düú4â#£,>äiN“1L /º¦……±|Í숌Ò2eSˆáØÀ`W³°a]’ø[ÍÈwsCî`ánóa݊†&(û|ÔÁf&}î3q¡µP©nÓ'Η;¼3" u×V« > endobj +2043 0 obj << +/D [2041 0 R /XYZ -16.307 900.716 null] +>> endobj +2044 0 obj << +/D [2041 0 R /XYZ 65.161 760.065 null] +>> endobj +2045 0 obj << +/D [2041 0 R /XYZ 65.161 749.106 null] +>> endobj +2046 0 obj << +/D [2041 0 R /XYZ 65.161 738.147 null] +>> endobj +2047 0 obj << +/D [2041 0 R /XYZ 65.161 727.188 null] +>> endobj +2048 0 obj << +/D [2041 0 R /XYZ 65.161 716.229 null] +>> endobj +2049 0 obj << +/D [2041 0 R /XYZ 65.161 705.27 null] +>> endobj +2050 0 obj << +/D [2041 0 R /XYZ 65.161 694.311 null] +>> endobj +2051 0 obj << +/D [2041 0 R /XYZ 65.161 683.352 null] +>> endobj +2052 0 obj << +/D [2041 0 R /XYZ 65.161 672.393 null] +>> endobj +2053 0 obj << +/D [2041 0 R /XYZ 65.161 661.435 null] +>> endobj +2054 0 obj << +/D [2041 0 R /XYZ 65.161 650.476 null] +>> endobj +2055 0 obj << +/D [2041 0 R /XYZ 65.161 639.517 null] +>> endobj +2056 0 obj << +/D [2041 0 R /XYZ 65.161 628.558 null] +>> endobj +2057 0 obj << +/D [2041 0 R /XYZ 65.161 617.599 null] +>> endobj +2058 0 obj << +/D [2041 0 R /XYZ 65.161 606.64 null] +>> endobj +2059 0 obj << +/D [2041 0 R /XYZ 65.161 595.681 null] +>> endobj +2060 0 obj << +/D [2041 0 R /XYZ 65.161 584.722 null] +>> endobj +2061 0 obj << +/D [2041 0 R /XYZ 65.161 573.763 null] +>> endobj +2062 0 obj << +/D [2041 0 R /XYZ 65.161 562.804 null] +>> endobj +2063 0 obj << +/D [2041 0 R /XYZ 56.693 515.297 null] +>> endobj +2064 0 obj << +/D [2041 0 R /XYZ 65.161 515.98 null] +>> endobj +2065 0 obj << +/D [2041 0 R /XYZ 65.161 505.021 null] +>> endobj +2066 0 obj << +/D [2041 0 R /XYZ 65.161 494.062 null] +>> endobj +2067 0 obj << +/D [2041 0 R /XYZ 65.161 483.103 null] +>> endobj +2068 0 obj << +/D [2041 0 R /XYZ 56.693 435.99 null] +>> endobj +2069 0 obj << +/D [2041 0 R /XYZ 65.161 436.279 null] +>> endobj +2070 0 obj << +/D [2041 0 R /XYZ 56.693 389.166 null] +>> endobj +2071 0 obj << +/D [2041 0 R /XYZ 65.161 389.454 null] +>> endobj +2072 0 obj << +/D [2041 0 R /XYZ 65.161 378.496 null] +>> endobj +2073 0 obj << +/D [2041 0 R /XYZ 56.693 331.382 null] +>> endobj +2074 0 obj << +/D [2041 0 R /XYZ 65.161 331.671 null] +>> endobj +2075 0 obj << +/D [2041 0 R /XYZ 56.693 284.163 null] +>> endobj +2076 0 obj << +/D [2041 0 R /XYZ 65.161 284.847 null] +>> endobj +2077 0 obj << +/D [2041 0 R /XYZ 65.161 273.888 null] +>> endobj +2078 0 obj << +/D [2041 0 R /XYZ 56.693 227.622 null] +>> endobj +2079 0 obj << +/D [2041 0 R /XYZ 65.161 227.063 null] +>> endobj +2080 0 obj << +/D [2041 0 R /XYZ 56.693 180.797 null] +>> endobj +2081 0 obj << +/D [2041 0 R /XYZ 65.161 180.239 null] +>> endobj +2082 0 obj << +/D [2041 0 R /XYZ 65.161 158.321 null] +>> endobj +2083 0 obj << +/D [2041 0 R /XYZ 65.161 147.362 null] +>> endobj +2084 0 obj << +/D [2041 0 R /XYZ 65.161 136.403 null] +>> endobj +2085 0 obj << +/D [2041 0 R /XYZ 65.161 125.444 null] +>> endobj +2086 0 obj << +/D [2041 0 R /XYZ 65.161 114.486 null] +>> endobj +2087 0 obj << +/D [2041 0 R /XYZ 65.161 103.527 null] +>> endobj +2040 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F95 923 0 R /F98 924 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +2090 0 obj << +/Length 2055 +/Filter /FlateDecode +>> +stream +xÚå\[oã6~ϯ¶/°áð*’ƒ¢è¶;é¶ØîÌN²@i‹Ž…È¢*ÉIÜ_¿”%wƲ-§hŸ¬Häááå;wG·Ž¾;ûæúìÕ¥À‘F:¦qt=‹bŠb)“Ñu}˜¼7¹Ijs~AžüÇ6¦îg¶êšyÿñŸvúµwÝ?]ýûü—ëÜ0„ -DGíªY妞ÓÔíg7:‰”=fíè<–HR]¤e?>SŽ T“WÝ¡qÛñìÍõÙ¯gđljDŒbÍ"© Š1¦‹³¿à(u߈k=¬[."A0¢,vÏytuöß3ܯ>¸"Ú\#‚㎧Ÿ)k.6Ý^]º&ëyð¶BTKÏ[O­2ñT­%¥;¼kŸT´0îTé‡ê¯þä¨>lÜgÍ(qç@’u²0cñÄw£[÷bg£Á S'>ôxܦˆÀ`f=ˆ’¢~{ ƒV +M±è$óÓ±ž7‹²YÁÁ¿ŽØÆ® '[h¸:¥ÖÒ m-_Zk¯Ñ"ÆSÚB¤õxNö€~˜Èg.2„ó=¨ìƒ\ßÿ àöL@ µÐ)£ÉvٔK`Ûn)€2y«™Ü,LÑÔP[!r[·!5õÔi²ÃÃó°ça6^:g@?–ÁÌzÀ’+Äh‡J;ó4®ö¦P¾BOã]eî3»¬½ClóäUÎ +§ûÍÇn, 35“W‡×òëÇE¾“¾:Ü1D»çª+1BÛ qAœ·F)qsHˆc—Þ”™‡ÿĝDT1ρâ”!ÇÓúaú!œY¸~àT"¢{ýð¿2MÀê!µÓeká$Mf‹#ûwƔ>Õ +öÖ¸“_}nºS÷‘ˆS.˜VˆnLäã.’úÎvL93]·`R"NãÑ`7 »pfá°cëD6ïvôM‘ÜäPØ-k -1ð»Â“c€ò°ÿö=pVP“Ë!!ÀQóL:µÌNõdóMɯ—ðxooLÕt²ãªIVÍGّ©yôœ8-¥FÌ}áãåIô…G0³ÂcªîƒÞ—oßØA¯Ì¯Ë¬2àøGÜà¡JÊ +u°ànYŸ^ à‹¦Êv+Ÿ‰#ª^ ·gŠ>¢Çoú¤U D¥zYÉCµp—Œ'y¨sƸ/Ý2 &y™…KªÜR÷žâeöµY +[xmázHHöéôŒW.ç&·Ó»1*w,–å>d<­øӛ™$OxUÕ +“¶4à´· v¸#%­1¨J¢xÄd÷6ù0˜³ +G©ÆHiº)® TçNíb‘@՗i ôRûb™7Y UÓS[®ªìväznó4 ¤8ŠGɈïüWŽî.˜øþS™ÿ7÷ +endstream +endobj +2089 0 obj << +/Type /Page +/Contents 2090 0 R +/Resources 2088 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 2039 0 R +>> endobj +2091 0 obj << +/D [2089 0 R /XYZ -11.232 900.716 null] +>> endobj +2092 0 obj << +/D [2089 0 R /XYZ 56.693 743.105 null] +>> endobj +2093 0 obj << +/D [2089 0 R /XYZ 65.161 742.547 null] +>> endobj +2094 0 obj << +/D [2089 0 R /XYZ 65.161 731.588 null] +>> endobj +2095 0 obj << +/D [2089 0 R /XYZ 65.161 720.629 null] +>> endobj +2096 0 obj << +/D [2089 0 R /XYZ 56.693 674.71 null] +>> endobj +2097 0 obj << +/D [2089 0 R /XYZ 65.161 674.151 null] +>> endobj +2098 0 obj << +/D [2089 0 R /XYZ 56.693 628.233 null] +>> endobj +2099 0 obj << +/D [2089 0 R /XYZ 65.161 627.674 null] +>> endobj +2100 0 obj << +/D [2089 0 R /XYZ 65.161 616.715 null] +>> endobj +2101 0 obj << +/D [2089 0 R /XYZ 56.693 570.797 null] +>> endobj +2102 0 obj << +/D [2089 0 R /XYZ 65.161 570.238 null] +>> endobj +2103 0 obj << +/D [2089 0 R /XYZ 65.161 559.279 null] +>> endobj +2104 0 obj << +/D [2089 0 R /XYZ 65.161 548.32 null] +>> endobj +254 0 obj << +/D [2089 0 R /XYZ 56.693 511.335 null] +>> endobj +2105 0 obj << +/D [2089 0 R /XYZ 56.693 483.898 null] +>> endobj +2106 0 obj << +/D [2089 0 R /XYZ 56.693 437.467 null] +>> endobj +2107 0 obj << +/D [2089 0 R /XYZ 65.161 438.15 null] +>> endobj +2108 0 obj << +/D [2089 0 R /XYZ 56.693 392.231 null] +>> endobj +2109 0 obj << +/D [2089 0 R /XYZ 65.161 391.673 null] +>> endobj +2110 0 obj << +/D [2089 0 R /XYZ 56.693 344.512 null] +>> endobj +2111 0 obj << +/D [2089 0 R /XYZ 65.161 345.196 null] +>> endobj +2112 0 obj << +/D [2089 0 R /XYZ 56.693 298.035 null] +>> endobj +2113 0 obj << +/D [2089 0 R /XYZ 65.161 298.719 null] +>> endobj +2114 0 obj << +/D [2089 0 R /XYZ 65.161 287.76 null] +>> endobj +2115 0 obj << +/D [2089 0 R /XYZ 56.693 241.841 null] +>> endobj +2116 0 obj << +/D [2089 0 R /XYZ 65.161 241.282 null] +>> endobj +2117 0 obj << +/D [2089 0 R /XYZ 56.693 194.122 null] +>> endobj +2118 0 obj << +/D [2089 0 R /XYZ 65.161 194.805 null] +>> endobj +2119 0 obj << +/D [2089 0 R /XYZ 56.693 147.645 null] +>> endobj +2120 0 obj << +/D [2089 0 R /XYZ 65.161 148.328 null] +>> endobj +2121 0 obj << +/D [2089 0 R /XYZ 56.693 101.167 null] +>> endobj +2122 0 obj << +/D [2089 0 R /XYZ 65.161 101.851 null] +>> endobj +2088 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F52 695 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +2125 0 obj << +/Length 2115 +/Filter /FlateDecode +>> +stream +xÚÍ\[oÛ8~ϯf&6,ØvÚmbº—iX Zblm,Q#ѹ̯_ʗi¬ÄÎa(yö)¶L‘ü¾óñ*8™'8ùpöÃåÙë÷'Ê$•ÉåU")’i¢C,M.‹äËùOfitg^]PÏÿné6¯l»ùàÛßÙük¯7_þóùÇW?_~ôÝ\‚2!6Ö>»û¥éƸ®ÿÙ÷Nå{—¬ïË¥T%e鶖yƒ©:½ùC¨ìo<ûÛåÙ/gÄ›Ç I„D2cIš$1MòêìËÏ8)üoÞÄ3•Ü®[V‰ Q&ýçeòùì_gx;øàˆìló ,7>}¥T¬½ØÝöú½o²~Þߣ—Êÿ°nüI¯ÚÒýúêBb|þÑ躳õ›W„ú¯z嬳9ºë–Ú4(ʛ²+mÝ_Útá¯ï¥ÿóaÿ±ýd‘”&)ó®qÖ?v]`?ˆ\&e*KZ“\=|Î=kO_}ÜUˆ(¾ë`c˜ô­cí D$Ú˜ Ô¤‡‡k@¢Œf#8»6ØΓ͇Ÿ¶‹bo‚wŽ3‚¸ õ<ÿµ(L±·*[J¾¬'¹²EyUæÚù‰î`·8 k×­šÆ¶Ö¸6ƒúÜ QÏ•©ÝþsùñAÛ nûl Ìþl5˜^_þQ‚ùՊ ¨¡~ý¯¨9ð÷0‡`Š¨"/àwú¦,6ñ¶Õ•iw2_Ú®Óí}]Ȍ"F²éèB*‚<ÅNÅûæãÈ"ÚU8WHőäi0WÔ¶­ô²üÕ ñtqOç]£s3.¯ü¶¾¾9ð戞‚F&6}cK(½–]ï@YÏaíí¬ÝlδðъÕȓйVßÚzÑV À/Lñ`ar•!!³Ç|Åo4™×KßZ¥ë·mså˜ÔË.L¦ã€}û‘$í,€”@XIßCқ_æ¦‡âäócìÅ2'ô”Lr¾VÓ¿sc && `”!‘NÁöíG®Þhgb•HõWú)}_ÞAcØÉÆI–½9® wK.(E«ÃŒº°«%ð)V”ÎÀ†}”ÒÀ`¢kËÙÊMÛ: ¦y¹>^ +)FB©SҏÈR$S>ò¼¬—emøG(ÿ¨„LÇ?Î(t2þ؏ãŸxgáü#F˜Kh „­©š¥†¬Ïæ¥3³r¶,‡úõù=ñ%”H÷iý2¾>©nçÐí|ٍLzn=ߌ«ÌÁ·æÊøîóÁÒ*ãT!…'QÆÂ/å4cÓa{ß~$¶£…+c¿ñ·É‘Cxù#t”GŠM—±؏åhgT(Dè6c©ëâeðÚ^þî°[X%Ý;7œåâèŒôäj;ܽëÌÈKži¼¾‚Æ©¨Ùf­Î¯{ñÎQ‚?iêSP¿ùÝ¥é{™0÷)°Bæ=öÍGÒN¬«¬C¢»¼Á'{Daò¥n×e’qõBn«j(BŽï(gK›_´ß¨œJ®t÷ãæ +ûG ›wëõa×N”& ns~xŸG"öaŸ’SrW¾kœŽÌA…ÍgÖ^Wˆp> qIQb2؏£¡xgá<Ä%÷šm&õßM¡ÁÕÏÊtžõ„žÙPþ¬êJ»|uc[[})èx¯þ²ô¤ cQÅFgW]¡»[3ƒ>9ˆÑ !G8brºÀ?° ¹hg GR$yœ³ HfbÓÚ«r . +æ Ý8ӎ«;.ß~x1v½†béIË=Ly@ +52vûLŸoˆ˜,õÖ39|™L‘`édð؏ƒo¼³pø²#EÃ+>î¾±O¥ ¾bëI¿4ºûÚ6Ý}W”7OÝñ—㹁ß,”OXè{'P¼1¯?i}ƒq‚$ãc–W¯lóàp¡ÿF|mÜӇw¦ $ó¾¦AÅ(%ÓAö#!íl$ixę΍¼½\˜ ç¦6í°®r|cYօ¹—tkz»0uË`±Ð@Ðo+Ý^wÕVFú“Ñì”lD3¾.‚Œýç­neÞP UÞžNG54eH}+eN5ûqTï,œjhšú’Átt\Hý¤Ýâӏã¦ÒËÊïê íôKe9íR–˜<õÖÅK€Yú]Yö"ÌU½Ú@ôsUºÅ •åp2…0pgMiŠ°œ®`:° ÎhgÀÉ0b‚ìÞÒ©àiõU]›Ü<>Su8ítçZ=¶ÒÈm]”ðÔ>ÑpÌ]ÓúQ€µ ŒÙ”HDðtEèýȕílÀÊ%bÙ¶½’ÝÈ¡¢Ñ]WÞ7‘!¼N"Dž’×I†Åôÿƒ×‰ê_”›°RJd†ètškß|6¢]…C£IÈmÊíÝãúÝ÷‡÷LnäS¬W6à…²î\k±ã/©x0›r^Üagÿ59ôØpCv ­é´œfîc+xëxë1XˆPˆÑéŠ û‘à‰v6=²x»e}6š‘·ý‘îÀu,½Úöئ®¯G~ýéãªs+ Í–zX¹ˆ|DÄØI „QÄÉ؅†ÜV­MíBÂõžˆ + „ijé* û‘؍v6»„£T…§6s[Œü–]¹Z¿îŠ.ÿñvd…«Û!Ý4Æï³îÆÝd{o]™/ÍKÓ³ÏÃc$؄*rß~$š¢ @fHÑmæî xgóaë?ўOÍóñÓfaëò w¾âáï§I™I¯_€Á#K‘àS¤ý§ŽÞc ýG'ÿèCéQ +endstream +endobj +2124 0 obj << +/Type /Page +/Contents 2125 0 R +/Resources 2123 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 2039 0 R +>> endobj +2126 0 obj << +/D [2124 0 R /XYZ -16.307 900.716 null] +>> endobj +2127 0 obj << +/D [2124 0 R /XYZ 56.693 742.142 null] +>> endobj +2128 0 obj << +/D [2124 0 R /XYZ 65.161 742.431 null] +>> endobj +2129 0 obj << +/D [2124 0 R /XYZ 56.693 694.923 null] +>> endobj +2130 0 obj << +/D [2124 0 R /XYZ 65.161 695.606 null] +>> endobj +2131 0 obj << +/D [2124 0 R /XYZ 56.693 637.14 null] +>> endobj +2132 0 obj << +/D [2124 0 R /XYZ 65.161 637.823 null] +>> endobj +2133 0 obj << +/D [2124 0 R /XYZ 56.693 591.557 null] +>> endobj +2134 0 obj << +/D [2124 0 R /XYZ 65.161 590.999 null] +>> endobj +2135 0 obj << +/D [2124 0 R /XYZ 65.161 569.081 null] +>> endobj +2136 0 obj << +/D [2124 0 R /XYZ 56.693 522.815 null] +>> endobj +2137 0 obj << +/D [2124 0 R /XYZ 65.161 522.256 null] +>> endobj +2138 0 obj << +/D [2124 0 R /XYZ 56.693 475.99 null] +>> endobj +2139 0 obj << +/D [2124 0 R /XYZ 65.161 475.432 null] +>> endobj +2140 0 obj << +/D [2124 0 R /XYZ 56.693 427.924 null] +>> endobj +2141 0 obj << +/D [2124 0 R /XYZ 65.161 428.608 null] +>> endobj +2142 0 obj << +/D [2124 0 R /XYZ 56.693 381.1 null] +>> endobj +2143 0 obj << +/D [2124 0 R /XYZ 65.161 381.783 null] +>> endobj +2144 0 obj << +/D [2124 0 R /XYZ 56.693 334.275 null] +>> endobj +2145 0 obj << +/D [2124 0 R /XYZ 65.161 334.959 null] +>> endobj +2146 0 obj << +/D [2124 0 R /XYZ 56.693 287.451 null] +>> endobj +2147 0 obj << +/D [2124 0 R /XYZ 65.161 288.134 null] +>> endobj +2148 0 obj << +/D [2124 0 R /XYZ 56.693 241.021 null] +>> endobj +2149 0 obj << +/D [2124 0 R /XYZ 65.161 241.31 null] +>> endobj +2150 0 obj << +/D [2124 0 R /XYZ 65.161 230.351 null] +>> endobj +2151 0 obj << +/D [2124 0 R /XYZ 56.693 183.238 null] +>> endobj +2152 0 obj << +/D [2124 0 R /XYZ 65.161 183.527 null] +>> endobj +2153 0 obj << +/D [2124 0 R /XYZ 65.161 172.568 null] +>> endobj +2154 0 obj << +/D [2124 0 R /XYZ 56.693 125.06 null] +>> endobj +2155 0 obj << +/D [2124 0 R /XYZ 65.161 125.743 null] +>> endobj +2156 0 obj << +/D [2124 0 R /XYZ 65.161 114.784 null] +>> endobj +2123 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F95 923 0 R /F98 924 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +2159 0 obj << +/Length 2727 +/Filter /FlateDecode +>> +stream +xÚÅ]mÛ¸þ¾¿BHvt’"%ê®í¥÷’îoÉ(mÓkueѧ—ìn~})K¾D’_†¦è~²W¦†#jžá<Ã!w~¼úööêÅ+Žƒ%‚ÛeQŁ ! +ãàv¼»~­2%Kõü†r|ýw]©²ýºÔEû¥Zu?~¯çßj}ßþñï7¿<ÿpû³é憔pÞJ{S=eª\)U•ÍϦwÓ{6½³(F1Á GIÜõÏ°‹ëí¡QsãÕ·W¿^#$àŠ’0ˆ‚"LƒùúêÝ,ÌoFÄ׋Ô¨õ²Ðë^Ëîú³îâø¶ë‡4_è‡rp×µ14Ž߶•Zi˾ÞÞ¾õ#ž!¨õR3–æWë=ðy½˜"*Èèý›¬‹´úÔb÷g%óRç;ønR ÌF E!Iüa6Ïæ ²}ñnˆuVØH0±n.y»YÈJ-`\èy½Vy%«Tç@ؚ9&{¶ÔÿÉäLe#Cø¢Z ÛCAÅÂLé䒠‹8GŒÇƒ.K˪´Á3Z$Ì#îB†xÈý¯/ßyÎÊZ@/Œ‘ aûJÿºX@W֛.ª‰!ׄ©—ÄæAùÿü Ö.:¹Ì2]W[\œíLX͗¼¤wÀEax†wx­gʘGMWò©úìڀÚÂ;ðD4„Ç›sàÂH$ěsÈwsîʝ7„'I’ŽZ!Þºà@ú.Óe)‹' ôe%g Ù†ôU‘ªŠæ2]·V¼H?žgn¢ž˜ÒKâ™G ,¦Å³ñîk™Ùà™-÷h†‘±?@÷å;ÚYY @3fˆuÌX¯7™ªÔ&üîòŸ¾9<973:LøæîaˆRsÿŸŸ‘gßüå8‡Ç!iÞu¿õiæqTø³»¾|G»sVÖÂîÂQÒ¥U¦ÊôɕÖg;Xjž4L.ê`1C˜ò‰é”™ð2eá` •B8¢þ,!"8ôfèùn†î®,ÜЙˆP˜t9¬Ÿò‰YÏÖ aŸOez~­Ìd «‘ô?÷¨Î%)­TgO´ò^©«¬ô2gËÓ#\jè3ÊÊrºb±ùdþòQ쬬ŠcŽXØ- Ès±y°éZ©Î¬Pò~_ õs|$”ReA¿ôÔn +š<ù(³zäpÌ£‘>§šÔál$tyhßë8â~·÷Ü®R` ó  s¥FN÷4Ö ó#Â_t ßëÎÊZ`=bˆÅ]Š«Ló¹š º® “Ãrê~5Í侂b¦¬‹B×ù¢ô °…‡\A±0Å\}<†zH«Õ Ë{¼¹Îêu>¦§‡ïÙƒ|¥‘žAƒ}Ž¥þ’ùŽÈvVÖÙ> endobj +2160 0 obj << +/D [2158 0 R /XYZ -11.232 900.716 null] +>> endobj +2161 0 obj << +/D [2158 0 R /XYZ 56.693 741.747 null] +>> endobj +2162 0 obj << +/D [2158 0 R /XYZ 65.161 742.431 null] +>> endobj +2163 0 obj << +/D [2158 0 R /XYZ 56.693 694.923 null] +>> endobj +2164 0 obj << +/D [2158 0 R /XYZ 65.161 695.606 null] +>> endobj +2165 0 obj << +/D [2158 0 R /XYZ 56.693 649.34 null] +>> endobj +2166 0 obj << +/D [2158 0 R /XYZ 65.161 648.782 null] +>> endobj +2167 0 obj << +/D [2158 0 R /XYZ 56.693 601.274 null] +>> endobj +2168 0 obj << +/D [2158 0 R /XYZ 65.161 601.958 null] +>> endobj +2169 0 obj << +/D [2158 0 R /XYZ 56.693 554.45 null] +>> endobj +2170 0 obj << +/D [2158 0 R /XYZ 65.161 555.133 null] +>> endobj +2171 0 obj << +/D [2158 0 R /XYZ 65.161 544.174 null] +>> endobj +2172 0 obj << +/D [2158 0 R /XYZ 56.693 497.908 null] +>> endobj +2173 0 obj << +/D [2158 0 R /XYZ 65.161 497.35 null] +>> endobj +2174 0 obj << +/D [2158 0 R /XYZ 65.161 486.391 null] +>> endobj +2175 0 obj << +/D [2158 0 R /XYZ 65.161 475.432 null] +>> endobj +2176 0 obj << +/D [2158 0 R /XYZ 65.161 464.473 null] +>> endobj +2177 0 obj << +/D [2158 0 R /XYZ 65.161 453.514 null] +>> endobj +2178 0 obj << +/D [2158 0 R /XYZ 56.693 406.006 null] +>> endobj +2179 0 obj << +/D [2158 0 R /XYZ 65.161 406.69 null] +>> endobj +2180 0 obj << +/D [2158 0 R /XYZ 56.693 360.424 null] +>> endobj +2181 0 obj << +/D [2158 0 R /XYZ 65.161 359.865 null] +>> endobj +2182 0 obj << +/D [2158 0 R /XYZ 56.693 313.599 null] +>> endobj +2183 0 obj << +/D [2158 0 R /XYZ 65.161 313.041 null] +>> endobj +2184 0 obj << +/D [2158 0 R /XYZ 65.161 291.123 null] +>> endobj +2185 0 obj << +/D [2158 0 R /XYZ 65.161 269.205 null] +>> endobj +2186 0 obj << +/D [2158 0 R /XYZ 56.693 222.092 null] +>> endobj +2187 0 obj << +/D [2158 0 R /XYZ 65.161 222.381 null] +>> endobj +2188 0 obj << +/D [2158 0 R /XYZ 65.161 211.422 null] +>> endobj +2189 0 obj << +/D [2158 0 R /XYZ 65.161 200.463 null] +>> endobj +2190 0 obj << +/D [2158 0 R /XYZ 65.161 189.504 null] +>> endobj +2191 0 obj << +/D [2158 0 R /XYZ 65.161 178.545 null] +>> endobj +2192 0 obj << +/D [2158 0 R /XYZ 65.161 167.586 null] +>> endobj +2193 0 obj << +/D [2158 0 R /XYZ 65.161 156.628 null] +>> endobj +2194 0 obj << +/D [2158 0 R /XYZ 65.161 145.669 null] +>> endobj +2195 0 obj << +/D [2158 0 R /XYZ 65.161 134.71 null] +>> endobj +2196 0 obj << +/D [2158 0 R /XYZ 65.161 123.751 null] +>> endobj +2197 0 obj << +/D [2158 0 R /XYZ 65.161 112.792 null] +>> endobj +2198 0 obj << +/D [2158 0 R /XYZ 65.161 101.833 null] +>> endobj +2199 0 obj << +/D [2158 0 R /XYZ 65.161 90.874 null] +>> endobj +2157 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F95 923 0 R /F98 924 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +2202 0 obj << +/Length 2874 +/Filter /FlateDecode +>> +stream +xÚÍ]ےÛ6}Ÿ¯`%«©Ú ðƵU›l։_{¶ì*'‰‘¸¦-HÍe¿~A‚šR·†@8yÄi¶ÀsÝ Œï-<ßûáâ»ë‹g/"ßKQ“Ø»¾ñb‚âÄ£8@Aâ]çÞ§Ù;^rVóË+ù³7¢áµ~y#¤~Ñ,û¿ÙwB|Ö¿||ÿêò÷ëŸÔm®0Fiik’×KΛºýXÝ{TÝ=Ú»‡q‚B½«¥Iÿ+ƒ =Ó?0‰Û?¼øçõÅ.°2ï{؋b§—¤Å>ñ²Õŧß}/WŸ)P˜Rï®»råEØG$ˆÕëÒ{ñë…ߏ„¯\l_¶?~xbYNˆ—„¢˜¶–Û÷ Jiêáöêԓܻ9hé¤ýáíG>FILAwx: +1JI:³A¹ðô‹w=PÔw*쀲u¬¹,‹ê3Ðp³d ìJ&9ì“Ÿy»v³†]wW4K ÅöË.Uä¯ýþf¾i £Å`WæÅhvK­ DT!Óµ†ö-©eí¬µŠpØGÁJՒUyÉ¡«^— ødÿ@r«hÅ«frjßñ?·Os…È!SžZ·ä‰¥£,! ”j–Üï ‚ß ‚³¥ä@T³¦‘…Š—¼›GÇcìõ²â6SÔ]ñÈò¼6ˆEµ˜˜’ÍRÔ@_…š=¤)бMˆÝA}hßìÖÎÀLj¨{vpßOOû¼bs8$Úô~âÀO'vø|ئ€]77›¡AŸç \Á.¥Äʇö-Qní¬Êý‘>ó)*h¨F/jµYÍUŽCƒ§h*±;EtþæGþá‰(çk^å`NŠ +˜b€S¡[Vnx=qDØÔƔˆU ï“Ð%Föí(aï,œq¢c͉%›üQ혧6³z)î€\«r7.ì§ÛAók&Ù +xm͛³få•â9î> vê#?ŽÜ}hßìΜí#ÖJ’³ÁÚ· kg ˜Ÿ¨:æ·ìÔepã¤DUù0u1£RLÊF½Y¯…l¾ˆhq:&DZõqFƒ¡}KX;k@ƒ£0è—ààÎXYN´o‰w[g£;òQ˜ôë(Çk°j֌ÇéӘãh3©Ë àD)Ъ‡3 í[‚Ä™³ý`®8v6ó–CaëªÁô@(Š¢^v$º–µ€ÆÁÛɋi7¹™<, ¡ºXdQŸ¢Ö%³3¦ í[RÅÚY®àEi/"ïÍ8ì«ù¢‚*² 8›ñ»}IÑWGVw¶=©ÚF–Wzû«ã3gÅVPIñ@:8{8ý‘;…ydߒÖÎPÀQû†.&ÎBFΞUŠÅ¿GV ¦8ÆKçQªUWLÙ·c‚½³p&Di„bÚ Ëªå?& +GTh)ÑV†p·@1²o‰#gÎöƒ‘èªÕÙ` í[†µ³¤Jåi¯Ù~`²§ØGûR: ¾¬¦ž[o¥‘È'—šsÞp¹**hu_ÀÜ®™N QŠ"쮚Ù·D°µ³VDý>CÒëàÓ6b°º.Õ´69ƒ + ûábÛWÀï¼+VZΌ'úwÚN~žp{š¡–QœñahߒÖÎð!ˆ†ýòâöã/ Ú¿Íïג+J@[;ÀëPې yî–|·—ɲx_3ÙÙ¦d¦ý Q ¥ +gxÚ·Ä£µ³x }Diâºïµ¨ê†UŸvʟ‰âéóSñšd˜’Ô<ü’N–p†öyK°Ûºj€u’ª[öÚ~Å3õ˜,Àí@M¡çŪ‚,2UCæ«;7 ¼ ¯pL_AËcÉo9+ÏMûOãk±ÁÀ‡ö-ní¬ÄqûV/ÉC‘˜ ^Wã`÷—ÃaßÁ"°^”±ZôA›U4æ٘…À^ èJ^-VʜUךìS¦äñC”wbþȾ%y¬5 O‘Í¸Žˆ‹ÝSoAÐþŠVДç*šaªµ*W°Ù·ƒ•;gûÁ Zöp6Cû–ƒaí,œc!‘ŸM²”¢Þ¿ÍákœPU*§'wÅ1øVm ­~æÀ¬üµÐ½kà*[ò¶…œí¤„§YšhýÁ0‡ö-ií¬0õ3è¥öFŠÍ¼U¹…h¦ßᶖB_hcŠhôD NPÆýè‡eÿO}Ži‡8‰Òî þHŒ0 ˆà~tÔÇᘴØW_ìÇëׯúã8žâ{W$D䱩ŠoOþ(KqI¢Ù];ÄÝ[ºª?dÉ.‰?»½ÄѬÿ‹9WÜì^­XÞ¿§hýx|Hwkåíÿo©J’öœ½á¥Y•{T%hèãíE݂Eg³.ZÉbx:‰Âs€ˆ~-õ™&h8Wcõ õB%þ۝÷¿ ®Á"õ\·.üÜî¼ìÀò‚-˅äÕ7—W˜<öK¢ûº|®/¨*±nÂ'Hˆú¶© |ŽÏ}AÛaí. ÍÛkWáñ%ˆƒž„œx?êŠ}FŸ-I'>Âm6L.xî‡.PܲÒøĐ j9‡Åѧ¦£A¡Ói#BÃÔlbTX¢!vpˆ¨ÃýÈ#û–!ÀÚYƒ€© ý@¿Ísh™×4P1ÏÕ) -Â&?6eÉn¹ÍŽè#‹ 'lMÑì|ÿÓ4SY}ÚÉå>¼š"M]æż,„Ax!IŠH¸ /D忊µÎÂËȾ]x±w^H¢Ï­3‹/¬Ê–ª’X›êP“·¦¬!껨 ꋲ&$(¢dZڨغbå“4ýµJÐnŠ’÷¿¶•H3/Mx¥J°ÄòŠà΢3^ í[òÊÚY^©„ÉßJ/«¢) K[ْgŸ‹µ•g‡×VV\‚wF×Þùz37I΁s²+`#¸ØYKq[äP|TÞaàãz#d]“‡Žþ·¹˜›v’V€¡îº Gö-™hí¬U²î'á¶{*‡*ºàã/·a|Z ¼5X\}Nj²|8W$í¬Ò §Ï=gûêg©zŠ{©áíüß<¦/óö¡Ý\ÖGŽ¼:ô×ï9/Þí_UNƒ0 Âã7ç˦YïtË>{f„ö#ûф\œ›ànEË]/ÆȾ%l9ÛŽPºÓ‹Fö-ÃÚYcŠ’ >®´›h·A¼ûŸ>ë¬I¹9JëÅ[ðñëÑ ÷ºÉé¯ù¢Xl  Wà£0À%N4 o{\ŠM™OÛ¦¦ÛEMñ°¢º[mÙ·$·µ³än‹‹¤­ÀÑ©¡ä¥JQEeú º?®ÅFfSX ߦ­gOŠêمiò%¥åDØ(8£ê|ÓÊǕŽ8XY/wu偭}ÿÆ&lÚLÏù/6ÿZS “ +endstream +endobj +2201 0 obj << +/Type /Page +/Contents 2202 0 R +/Resources 2200 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 2039 0 R +>> endobj +2203 0 obj << +/D [2201 0 R /XYZ -16.307 900.716 null] +>> endobj +2204 0 obj << +/D [2201 0 R /XYZ 65.161 760.065 null] +>> endobj +2205 0 obj << +/D [2201 0 R /XYZ 65.161 749.106 null] +>> endobj +2206 0 obj << +/D [2201 0 R /XYZ 65.161 738.147 null] +>> endobj +2207 0 obj << +/D [2201 0 R /XYZ 65.161 727.188 null] +>> endobj +2208 0 obj << +/D [2201 0 R /XYZ 65.161 716.229 null] +>> endobj +2209 0 obj << +/D [2201 0 R /XYZ 65.161 705.27 null] +>> endobj +2210 0 obj << +/D [2201 0 R /XYZ 65.161 694.311 null] +>> endobj +2211 0 obj << +/D [2201 0 R /XYZ 65.161 683.352 null] +>> endobj +2212 0 obj << +/D [2201 0 R /XYZ 65.161 672.393 null] +>> endobj +2213 0 obj << +/D [2201 0 R /XYZ 65.161 661.435 null] +>> endobj +2214 0 obj << +/D [2201 0 R /XYZ 65.161 650.476 null] +>> endobj +2215 0 obj << +/D [2201 0 R /XYZ 65.161 639.517 null] +>> endobj +2216 0 obj << +/D [2201 0 R /XYZ 65.161 628.558 null] +>> endobj +2217 0 obj << +/D [2201 0 R /XYZ 65.161 617.599 null] +>> endobj +2218 0 obj << +/D [2201 0 R /XYZ 65.161 606.64 null] +>> endobj +2219 0 obj << +/D [2201 0 R /XYZ 65.161 595.681 null] +>> endobj +2220 0 obj << +/D [2201 0 R /XYZ 65.161 584.722 null] +>> endobj +2221 0 obj << +/D [2201 0 R /XYZ 65.161 573.763 null] +>> endobj +2222 0 obj << +/D [2201 0 R /XYZ 65.161 562.804 null] +>> endobj +2223 0 obj << +/D [2201 0 R /XYZ 65.161 551.845 null] +>> endobj +2224 0 obj << +/D [2201 0 R /XYZ 65.161 540.887 null] +>> endobj +2225 0 obj << +/D [2201 0 R /XYZ 65.161 529.928 null] +>> endobj +2226 0 obj << +/D [2201 0 R /XYZ 65.161 518.969 null] +>> endobj +2227 0 obj << +/D [2201 0 R /XYZ 65.161 508.01 null] +>> endobj +2228 0 obj << +/D [2201 0 R /XYZ 65.161 497.051 null] +>> endobj +2229 0 obj << +/D [2201 0 R /XYZ 65.161 486.092 null] +>> endobj +258 0 obj << +/D [2201 0 R /XYZ 56.693 449.064 null] +>> endobj +2230 0 obj << +/D [2201 0 R /XYZ 56.693 421.596 null] +>> endobj +2231 0 obj << +/D [2201 0 R /XYZ 56.693 375.013 null] +>> endobj +2232 0 obj << +/D [2201 0 R /XYZ 65.161 375.697 null] +>> endobj +2233 0 obj << +/D [2201 0 R /XYZ 56.693 328.445 null] +>> endobj +2234 0 obj << +/D [2201 0 R /XYZ 65.161 329.129 null] +>> endobj +2235 0 obj << +/D [2201 0 R /XYZ 56.693 281.877 null] +>> endobj +2236 0 obj << +/D [2201 0 R /XYZ 65.161 282.56 null] +>> endobj +2237 0 obj << +/D [2201 0 R /XYZ 56.693 235.309 null] +>> endobj +2238 0 obj << +/D [2201 0 R /XYZ 65.161 235.992 null] +>> endobj +2239 0 obj << +/D [2201 0 R /XYZ 65.161 225.033 null] +>> endobj +2240 0 obj << +/D [2201 0 R /XYZ 56.693 163.126 null] +>> endobj +2241 0 obj << +/D [2201 0 R /XYZ 65.161 162.568 null] +>> endobj +2242 0 obj << +/D [2201 0 R /XYZ 65.161 151.609 null] +>> endobj +2243 0 obj << +/D [2201 0 R /XYZ 65.161 140.65 null] +>> endobj +2244 0 obj << +/D [2201 0 R /XYZ 65.161 129.691 null] +>> endobj +2245 0 obj << +/D [2201 0 R /XYZ 65.161 118.732 null] +>> endobj +2200 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F52 695 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +2248 0 obj << +/Length 2869 +/Filter /FlateDecode +>> +stream +xÚí]msÛ6þî_Á釻äæŒà`Û¹™¦½¶é5™»Ø3י$ ¶x¦H•/±Ý__P¢›ˆ²Ì…@¸™›|H$KàrIî³»Ïbáè2ÂÑ'ÏÏOž}/p” DR_D’"GŠ0Äâè<‹Þ-ð%Šs‚8¬ç»ªÜ<ü;9ö£¿Œگڝ±÷ 9•?é¬qƒÞ4Åøì_>{Z­oar&Õ`%ràUYx¦¦í X›¦+Ú¼¼„ ·žceJ Âm½[ÀUÎ|ñ^G–vd³Ö)p¸Þ}Lâ#p• !ûÕo1Ç[Ïi½Ú‡Q1â֋ cN·òv ·ã/Q*œÓٕïét¼•8%VÒ:85b¹½›p©ºúÌ=×WýI›þåÇó—?¯n7r¬õßÖº]êÖÁmÖu]ü==¬Éó®ùîÝ¿ð»7$Uƒ÷ÎØ5p‰ âˆDԂ.˜gؕï鼕uð Äzc2¤¦iU¾7ukj˜­dÕü9¿\‚M·¯óv Yäöêuá’=8ùGWWÓT3ç|U x~´«^ €J†(÷!!^÷yàÀ¨d‚£C |K©»£ˆ n1=%ÔþñR_™‹¼0À˗Ê*#y8&e‚8Á¼ÞH¾Ÿ×óWNÂdL­9Ðí“ý&ËL3ötiÒ+ ÏÓ%PèRƒeB9Å{]çUº¬vfL©ÐÙ,º¼ÈöÜù4€„…(—áì{W¾§}{+ë`ßÒjÊØÖ¾»2ƒFôoo/¯óÒ1 =_æ 4åî.€a*²»,ngÆãJßB9yYÃÿuUCSp®d9ù±®hYܦÙ*\ùn$ßYÞÊ: K`ÇCù®­«nìã¦sº”´Áóëƌ’0oïm öê¨jÏáxp³6i ´`´‚!¸¨†^Ry{»˜ ³ô•†+?ä{‚Æ[Yа)2dݦẖ„A2†K•1Ø{"©Ä²*]TÕú£?} °ÕGÒp¤A¨Ř³â‘|?+öWnÅ"±â²}¸z4 ¾ã‹Ãõ/cŸò^áð‹‡ƒ…cé}‘—¸,Ëvµ7Qôìðe6 Ï"÷&¢Oå{Ñvóy±ÃâÇUæIŒ‰XYP…ãÍ#ùžðVÖŠ"ÌèÈÛ¼*g¦7y³7#Ö#´îÃÊ4Û±YD½f(‰qš0-tz5o o<;¾­A…ãÝ#ùžøðVÖ1A8xwŸ”Ï\Sq0“u]¥– ‚ƒo© Táë¥)¡•ixä}•&À¶¤IE§d³¾ksÊ¿mÖÌÚTÇޚŸN)²ç“Ö¤wôëvŸsš7ï&;|Ÿ¦ÍRÚÛ Â­CÉ÷4K_eû#ɑâê„ÐÔz+h÷C­Ó«ýõ\ ,O5|%(Ô5êºÖ·G恛%P‚<|o®M ½9|uY]­×{í-àB  +‰ø1ë4Œ $…üDê4ŒZm’€ë:á(fá˜îH¾§ñVÖ!Ï! +a:0Ýo—º¼„–RàëFÃ]þ5Û_;«×~…”éÀ8¶9&— +/j2 =ÌPdÆ»ò=‘á­¬2úÙCynj0¹ÂxA”![hÖóSZ(Ÿ†ô☆ÃvYu—Ëù›^î+ÚMB‚&)ŽäûAÂ_Y8$h"Á)nÚ¼(ŽêêÒ´¹<ŸK!˜Éƒ,ÝÄÌy»áÖ=5§[¤D8š?’ïiÜÞÊ:·²¯|Ȉ¯j—-ô¢+´Ëý”Â&Gnö¡ñÀa«*ƒ‚Ìj]èÖ|Zeúƒì)xÝy1F* WfÉ÷„…·²°è»‰ÔPxø\¦R¦÷ŽVÚu½ Jµ-ìŠ÷4v_Ul]2D©ÚÚú§X£§Üê¬H¸ç¶+ßóÁù*{°FOEZÿ\£^£§l[D +f–»ò=ÍÒWÙÃîƒÄÈçýÿe‰žÒm9(˜ïÊ÷´qoe‚&ȉÁìÁ¤ÝröÜ4à6¢™û‰3ݱ ¾šKY +Þk•Ï¼¼ùC[Ï|ÏÓel ïÖ®Ù,éëRÓÙ]ùžØôVÖ›$Aìn×®Ös*Á•>ù·÷fy³.ÀØ_‚1U[Ë~ˆ©­tj[›1Ħ·µ¬`€Ø•ï oeâwÛ|õ ¼fã4Z¹T*àF«] +…¹k!ã%eàøQŒ7´88ò×.oͼ;'­kÓ¶·¾pœ„I¶µ±P0É÷ƒ™¿²p˜‘¤ßsxXè ËèdšB'g ”Ú§ÜtsÏëæå6väóo‘¦F{eݏ ,‘äQ’©U> endobj +2249 0 obj << +/D [2247 0 R /XYZ -11.232 900.716 null] +>> endobj +2250 0 obj << +/D [2247 0 R /XYZ 56.693 759.068 null] +>> endobj +2251 0 obj << +/D [2247 0 R /XYZ 65.161 752.393 null] +>> endobj +2252 0 obj << +/D [2247 0 R /XYZ 56.693 683.362 null] +>> endobj +2253 0 obj << +/D [2247 0 R /XYZ 65.161 683.651 null] +>> endobj +2254 0 obj << +/D [2247 0 R /XYZ 65.161 672.692 null] +>> endobj +2255 0 obj << +/D [2247 0 R /XYZ 65.161 661.733 null] +>> endobj +2256 0 obj << +/D [2247 0 R /XYZ 65.161 650.775 null] +>> endobj +2257 0 obj << +/D [2247 0 R /XYZ 56.693 603.661 null] +>> endobj +2258 0 obj << +/D [2247 0 R /XYZ 65.161 603.95 null] +>> endobj +2259 0 obj << +/D [2247 0 R /XYZ 65.161 592.991 null] +>> endobj +2260 0 obj << +/D [2247 0 R /XYZ 65.161 582.032 null] +>> endobj +2261 0 obj << +/D [2247 0 R /XYZ 65.161 571.073 null] +>> endobj +2262 0 obj << +/D [2247 0 R /XYZ 56.693 524.807 null] +>> endobj +2263 0 obj << +/D [2247 0 R /XYZ 65.161 524.249 null] +>> endobj +2264 0 obj << +/D [2247 0 R /XYZ 56.693 477.983 null] +>> endobj +2265 0 obj << +/D [2247 0 R /XYZ 65.161 477.425 null] +>> endobj +2266 0 obj << +/D [2247 0 R /XYZ 56.693 429.917 null] +>> endobj +2267 0 obj << +/D [2247 0 R /XYZ 65.161 430.6 null] +>> endobj +2268 0 obj << +/D [2247 0 R /XYZ 65.161 419.641 null] +>> endobj +2269 0 obj << +/D [2247 0 R /XYZ 65.161 408.682 null] +>> endobj +2270 0 obj << +/D [2247 0 R /XYZ 65.161 397.723 null] +>> endobj +2271 0 obj << +/D [2247 0 R /XYZ 65.161 386.765 null] +>> endobj +2272 0 obj << +/D [2247 0 R /XYZ 65.161 375.806 null] +>> endobj +2273 0 obj << +/D [2247 0 R /XYZ 56.693 328.298 null] +>> endobj +2274 0 obj << +/D [2247 0 R /XYZ 65.161 328.981 null] +>> endobj +2275 0 obj << +/D [2247 0 R /XYZ 65.161 318.022 null] +>> endobj +2276 0 obj << +/D [2247 0 R /XYZ 65.161 307.063 null] +>> endobj +2277 0 obj << +/D [2247 0 R /XYZ 65.161 296.105 null] +>> endobj +2278 0 obj << +/D [2247 0 R /XYZ 65.161 285.146 null] +>> endobj +2279 0 obj << +/D [2247 0 R /XYZ 65.161 274.187 null] +>> endobj +2280 0 obj << +/D [2247 0 R /XYZ 65.161 263.228 null] +>> endobj +2281 0 obj << +/D [2247 0 R /XYZ 65.161 252.269 null] +>> endobj +2282 0 obj << +/D [2247 0 R /XYZ 65.161 241.31 null] +>> endobj +2283 0 obj << +/D [2247 0 R /XYZ 65.161 230.351 null] +>> endobj +2284 0 obj << +/D [2247 0 R /XYZ 65.161 219.392 null] +>> endobj +2285 0 obj << +/D [2247 0 R /XYZ 65.161 208.433 null] +>> endobj +2286 0 obj << +/D [2247 0 R /XYZ 56.693 160.925 null] +>> endobj +2287 0 obj << +/D [2247 0 R /XYZ 65.161 161.609 null] +>> endobj +2288 0 obj << +/D [2247 0 R /XYZ 56.693 114.101 null] +>> endobj +2289 0 obj << +/D [2247 0 R /XYZ 65.161 114.784 null] +>> endobj +2290 0 obj << +/D [2247 0 R /XYZ 65.161 103.826 null] +>> endobj +2246 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F95 923 0 R /F98 924 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +2294 0 obj << +/Length 2281 +/Filter /FlateDecode +>> +stream +xÚí\mÛÆþ~¿‚p?ä ôÖûþâM§6´ê»´ìÀ ¨½q©’Ô½ä×w(J‹:I³¢(çC¾ÜIÔrv¸œç™Ù™!itÑèÝÙ÷Wg¯Þ*9â4×ÑÕu¤9Ñ&²La¢«qôáü½Ï|\ù—\ÑóŸŠÚWíÇë¢l?ԓå?É÷EqÛ~ùïå?^þrõ#LsÁqJµÒ.ëÇÌWïëªùfg‘…Ùµhf—ÚÃmt¡ˆ3Ëù¥Æž¿jÿ1®›Ïþvuö¿3âiÄ"¥‰v"2ŽMy”LÏ>üB£1ü +élt¿9£„ Ÿ³èòì_gt¹t늬dKGÕ­N9W -V§½z C×!›s,‘Ú‹ÁÿŒçeZÿúòBSzþ£óªÈ_¿¼`¾Þ”ñl’&y¨²V ,U#³ù÷ný"áÖ0Ã##@)š‹lŽ+ +K&uĉ³.*}týùU­I{þèæÜfåj‚V0kF÷•¯Ó¬+_QF ¬f†Ïï¸&Ž»#(»XÞDí‡÷KX»+Å#hqW¿ýxÍ6%E÷¼šÏfEYã7°B l`‡˜NoÖ‚òdy`óŒóªLFÏâz‚Ób—ñÔ×¾<ò2\þûnà +jø«[œö&+*_á¦Í»+½8ü'f­eÚ,Â9ØüÚá[þog7Ê ·ìÈì–LæùíERL§EÀpÚq"˜Žá´e|ÀP·.¾¿õVOoÚJ¢¥ ¦·iZUi~ƒäÂYœø-ÜoÆBXÂN ­‘ÊŒŸŠrç-.þgÕä ÅtVä>¯C !A '„„D 5&Öå÷EoeP! ±\´÷ômúp˜'Ø:ð~âK¤²d|ÖÖq¥y•Ž±áD~]àFÂÆa +ê"u¸G/D^ —`çã Kc³²˜ù2{\½™*`ÍSrµD qˆ³N“I쳏TÑz +YKO—Ó´~¢§YÀKÊÙf¿8-) Œ–:òûÑReñ´¤œëÜò¶wX+&õ4ûTÕŬë…/¶‡ù‹@íãýtäñáøH°ÄS#‰'Îf“xäë4‰3ÜE9îìLàªÿŒÑÄ(>œ‘®Ëïi¤½• 0RK •­^§X‹¨ý’à‹kܸ«7ÈMbå“:-r¤AÖX¡>k*Ýá_mÞYԀhZv$N鹔¢ÄJw€çú!¾KÇ­·zÓ$ÊÃܕ„ùíþŠÃ5s;¬ËïI½•  !gê´¹³åáo¾ÝŸÖ"u9‚Ó„ãßþewÆ ÑÄl©!x¯Ëù3¼µ A¸“2•„ruLèf™¾nì­ Õ|8bVFÅ`ÄБߏú+‹'i5ŽýA ¿'b¸1&OI RI 7YQUqùÂtv@špã†cuù=Y ·², QÚ~Ä Í|<«ÓU‡¦$çDˆ“ê„sD2sä +všgiîBÔ#Հ…:a@y7\ñº#¿_Ñ_Y|!,hjEðF"Æ&%§³,Æ:ItûJ’Ö~”Ž²´K9ûýä6˜<6…­4¿E^i\ÞxäÆ*­Ž¸Ìâ]áÄfѓ—þÚÃôIÇtºÑµ¥ƒDB¢„Üëò{‚»·²p[E¨Õ@$”X¾,%là ¶^#Àe(3\’¶#¿ç*÷V6€B•#V/“sq>> ^ËÃ/¶Çll£'¿Ø͊Gg¤g­mGM¨ò’—€išæB¬dä¾kTÆÉ­¯ŽÝ„Dٓ&…… DõÅc7N‰a&uĨá’Àù=‰§·²Äá’ýN:«ÿú°,Z¯wìA'ÅýqAŒOô¤–úV@ ø\È—î÷¹¿dù®sÚ?GéáZ6[O_ ¹;KŒŽü~Ðí¯lt)‡m™¹¿‹³9¶ç0ƶû-AãM+ێJKQ–¾š9>ñM¼„\jg£²ßX?²x“ŽŽ‰OÏÔ­öLrøã)û!f ±¶åwä÷„Xoeñ㎶jAž?ç›vð}Ènþùgt{\Åö°þß±-¹wHØÇU5Ÿ¢[Æ&qýŝ{Hɧ¸óe‰î¹>ÆMߏ?£‰5Ã%:ò{⯷²økªázÕLj%@غú2Ç6 þü  Æªàˆ »+Nžv«ž/¾Í)y+8™ ñ 6.3‚XkO¹[å +$ù¥w«\2Bn·ÊaWNlkîÈïɽ• à!ˆá­÷>ÉÀÁâû‹±ùí¦õ­›4ßíFY‘Ü=æ[â䁑iýxÜh»íîëjüjG[t£Dê˜ò|ûîÇ"7„ž¶•šSIØA­Ô»Xh’‡{?B^9s ÆÕÌ +Âì¨îÈïÇBý•Å³³š¨:ªò?úɹë4CﰓIwä÷„poe ,˜Ã2íýfç7]9*ð)­ë²˜f†îÓ|\ÜoxO04E÷dˆê"p®Ÿ¯ÞnÌc_ Ñ Á˜d'}Ys#;½ï‹‘/ë%tëø±þÍó¶è --†lVnš(ìU^ß´½UÅcÖqbõo/É N….ô.,?gYÈ£X×ßô÷¦ø· „\Ø8½;¸†Ý„FC8ô7ŽIØujwÈ Çþ¸e‹° +endstream +endobj +2293 0 obj << +/Type /Page +/Contents 2294 0 R +/Resources 2292 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 2291 0 R +>> endobj +2295 0 obj << +/D [2293 0 R /XYZ -16.307 900.716 null] +>> endobj +2296 0 obj << +/D [2293 0 R /XYZ 56.693 741.747 null] +>> endobj +2297 0 obj << +/D [2293 0 R /XYZ 65.161 742.431 null] +>> endobj +2298 0 obj << +/D [2293 0 R /XYZ 56.693 696.165 null] +>> endobj +2299 0 obj << +/D [2293 0 R /XYZ 65.161 695.606 null] +>> endobj +2300 0 obj << +/D [2293 0 R /XYZ 56.693 648.099 null] +>> endobj +2301 0 obj << +/D [2293 0 R /XYZ 65.161 648.782 null] +>> endobj +2302 0 obj << +/D [2293 0 R /XYZ 56.693 601.274 null] +>> endobj +2303 0 obj << +/D [2293 0 R /XYZ 65.161 601.958 null] +>> endobj +2304 0 obj << +/D [2293 0 R /XYZ 65.161 590.999 null] +>> endobj +2305 0 obj << +/D [2293 0 R /XYZ 56.693 543.491 null] +>> endobj +2306 0 obj << +/D [2293 0 R /XYZ 65.161 544.174 null] +>> endobj +2307 0 obj << +/D [2293 0 R /XYZ 56.693 496.666 null] +>> endobj +2308 0 obj << +/D [2293 0 R /XYZ 65.161 497.35 null] +>> endobj +2309 0 obj << +/D [2293 0 R /XYZ 56.693 449.842 null] +>> endobj +2310 0 obj << +/D [2293 0 R /XYZ 65.161 450.525 null] +>> endobj +2311 0 obj << +/D [2293 0 R /XYZ 56.693 393.301 null] +>> endobj +2312 0 obj << +/D [2293 0 R /XYZ 65.161 392.742 null] +>> endobj +2313 0 obj << +/D [2293 0 R /XYZ 65.161 370.824 null] +>> endobj +2314 0 obj << +/D [2293 0 R /XYZ 56.693 324.558 null] +>> endobj +2315 0 obj << +/D [2293 0 R /XYZ 65.161 324 null] +>> endobj +2316 0 obj << +/D [2293 0 R /XYZ 65.161 313.041 null] +>> endobj +2317 0 obj << +/D [2293 0 R /XYZ 65.161 302.082 null] +>> endobj +2318 0 obj << +/D [2293 0 R /XYZ 65.161 291.123 null] +>> endobj +2319 0 obj << +/D [2293 0 R /XYZ 56.693 244.857 null] +>> endobj +2320 0 obj << +/D [2293 0 R /XYZ 65.161 244.299 null] +>> endobj +2321 0 obj << +/D [2293 0 R /XYZ 56.693 196.791 null] +>> endobj +2322 0 obj << +/D [2293 0 R /XYZ 65.161 197.474 null] +>> endobj +2323 0 obj << +/D [2293 0 R /XYZ 56.693 149.967 null] +>> endobj +2324 0 obj << +/D [2293 0 R /XYZ 65.161 150.65 null] +>> endobj +2325 0 obj << +/D [2293 0 R /XYZ 56.693 103.142 null] +>> endobj +2326 0 obj << +/D [2293 0 R /XYZ 65.161 103.826 null] +>> endobj +2292 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F95 923 0 R /F98 924 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +2329 0 obj << +/Length 2627 +/Filter /FlateDecode +>> +stream +xÚÍ\[“Û¶~ß_Áqgêݙƕ¶ã¤¹L2u'÷¡ÛÓáRÄ,Eª$´ëͯ(Rñ’¥ƒ±é“( <8Ïwî–¾¿øúúâÕw1ŠC׋ ¤(ŒIbQp=Þ_þ¬r•ÔêjF¾üg©UÝ^.ʪ½Ð«îÏoÊôë²¼m¿üûÝ?®>^ÿh¦™‚b!ZjïôC®ê•Rºnþ6³“@šÙCÖÌÎÃET3â¨›ŸsC0’—¯ÚBÃæƋo¯/þwA y@„(ŒYÅ…˜éúâýGÌ͆ÄcÜïF®A0¢,4×yðîâ_¸[ <º"{ÚX4¾ÙÜbpR[ ^d¹*’õ€ëóhŒœùKŸ¾#Xœ™µKđd¤Ë&©ÌÒjUÁdbðâFÇÝ«<Ÿ–"Xlç7+½Îÿ{\jÆnúé · NnUšò$MËm¡áØÙÝõŒx¡îͪÎmÁb$$÷Æ>}G0:3kƐ!ihF­Ö›<Ñ +*7@QÜ»2:÷w§ç,5ؘÍ1 ÆeÛl¡kÖGÕÆçµ:/è"BÂüûŒ~qÈ¢‚þûÅ&V‘ðèŽBúÓ.}úŽÚřY íB"cÞŝ@}±ÝÌÁ:H—“ãïp` tYn¶CŸ{÷óŸHdV&­XÀŸðõ#ÎØP#˜[Èk(Lèj4ƒ?íÓwPgf-›9y—Ø»^©coêD#/†oeöâ´3´©XÄ ¶­Üjc‰€c‹0Þ¯ $\c‘î¸/]ªú`‰_žÈ(ÁÈ®’; IaéhŠ˜£(½!m@ß iîÌ‘fœC¾K>¿9ŒÖO¤:Þ|ZçÃá¯m2grPGö~•¥+ s˜ÔS{†u¿ìpþ†¥*T¶¤ p~ø6î.É·jäEœG‘4bÍb(êÓwD‘3³(’aÚ%ò+Uos ÎÏCÅâꝷEåhŒÊm>÷àÝåý–òot +4ûRè$+ IÄ¹MÀ#IýÕÈôç̬âB†Ž‡Zã^Ü”Ë,V9'9´ü•l6y6u†q¤Äw^‰láEû¤°´ÊÕj‚× +O!’Œ=gBS0Žx3Ùê2›²H[ +ʑ$Ì_ÚR†¤ðWÐwTUÎÌZ¨*!Âɾœ¿.ïÀÐ>žBzÿçq@Õi¹9°6_~<‹©y–‚ƒ»EU®'6Õ:©–JCcÁ*Knò©ëJ`V­ÊZ3/Dïw2b%‰2"Üi‰˜ãn|4(BÜ`²3ƒêL‘ü\î™Â}úŽvfá&@–¡™+DDÒ} ¼P•*:p» Š™¿ +π¾Û:»3 W•<ˆR¾÷ꠞ•qôÁ=÷“·h £Góå ’Y1WÀÀM’ÞæYq[O´ókY€Sƒ@ë÷F?l ZVUjêÊ}Y =µžŽâ̇æïz½½)‡>}GåàÌ,\ sÉ »êÚNè è×õS³Â<©¬}ÇuvfÖB ÑfûÆ~¸ÿr¨†NgLËÂbð*hœ#r&¿ú÷¼¬UíXW%–,[ö0BØmG‚m|É9G¡œzÆS:c83@Å·cpÃbîiŸ¼#`]YµÀ+Ûï$8܎ÑIòK«ÒÈËéú&oª—‰ î–¿–ƒ]ߙ§rYÍ¡N/ô¬ ­I¬Ùyõ@Â1ñß>}Güº2;W"u Á¿œ@e6œñƒÆÃX¡;-h𒋏ޡ›¨LÞÚôúž/º-ߪÄfÇÇa Õ1{ºóî¨6˜¿ëWuhtîûÀÞ 6ŸÌ_µi@ß¡ÎÌZ˜X,ïÒ?oËy¶ÈžšÂ…ƒx<€ÖºÊnÀÍâåÞww É, +6,&æÓß¾§}7‘tg.’,æ»í™;™œ$Òi;ˆÁ/FJD¤¿­´Y¸HďC&èç~%ó·>ÁæIÞ&Å&¹"ørib|©öûêÇN8˜5ºü\?î¶ðçyyE… {‹eûSºJŠå~‹ÿ*¹¢øòËŠöjÌ»ßŒ·õû9mRˆ=ššHŽ¢(Üaë†ÛåQ&FŒýÀ´ÜÓ¯³&ùÜ?j iC´½®Ú +Puf´ Ïdd.Ì'RÀ˜™ÕPycäôº1,mèønéÕ>p, K•EÐHc¶Kùz ©¤»´‘/ 2 ï¦Aܙ…k*‚µ¯¶Î³åJC»¹“ù/ÛZCm`½IRx AUn¡âdnÜ£LgP·Nª[UՖq bD£ð9s:Ô|ƌy‚hSÀ*tõðh#ÔVgy¦lpË#dØôˆ["û˃è;â֙Y ܲ )öæãÚû´…ÖHŒ|Ô*ÕÌbCf=ñ†ãM¥R>XJ&`uâS£•eè Nv’Æ°7‰@oˆéÓwDŒ3³ˆ¡í¬bÀQSú(à­óiɬ‚æ³|ïuU…†Æz5Úµº;(Â$–"Ɵµ\b Âؗ÷{“—é­…%±ññ}ž`e¢ºæà2_*¡OÞM#8³ +Wĸ١è¢?ø&ÆçÀ.5UÝ$:6Ê©â.«ÊbmÈ×Óöµ]_ÿçɹÛóFª(õ´ì‡ùÎ ÒáÝÞù÷Ó;KõD¢±ç=ŒŽðӎó¡ž8GÌç`„1Ä=ž6 ï¨ œ™µÐP¬‘‡½Ç2÷VíÒ/6Aü¬ÑàG™TÆ{‡«I¥ ôx¥<[pŽ¡ŽÖÓò¶Ê„aÄɳn= X"ùÖ%] +Á6ñKÄbûd„8ó·¡OÞM±8³ +×+Æߌ(Ý÷ŠÉâ6¡¶Áå|áµ\g®€uõTÞÄéussk,}6h Grŏ¼æÁ9ÄÜÄ\aü”cˆ÷8! +endstream +endobj +2328 0 obj << +/Type /Page +/Contents 2329 0 R +/Resources 2327 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 2291 0 R +>> endobj +2330 0 obj << +/D [2328 0 R /XYZ -11.232 900.716 null] +>> endobj +2331 0 obj << +/D [2328 0 R /XYZ 56.693 742.033 null] +>> endobj +2332 0 obj << +/D [2328 0 R /XYZ 65.161 742.716 null] +>> endobj +2333 0 obj << +/D [2328 0 R /XYZ 56.693 696.065 null] +>> endobj +2334 0 obj << +/D [2328 0 R /XYZ 65.161 696.748 null] +>> endobj +2335 0 obj << +/D [2328 0 R /XYZ 65.161 685.789 null] +>> endobj +2336 0 obj << +/D [2328 0 R /XYZ 65.161 674.831 null] +>> endobj +2337 0 obj << +/D [2328 0 R /XYZ 56.693 628.179 null] +>> endobj +2338 0 obj << +/D [2328 0 R /XYZ 65.161 628.863 null] +>> endobj +2339 0 obj << +/D [2328 0 R /XYZ 65.161 617.904 null] +>> endobj +2340 0 obj << +/D [2328 0 R /XYZ 65.161 606.945 null] +>> endobj +2341 0 obj << +/D [2328 0 R /XYZ 65.161 595.986 null] +>> endobj +2342 0 obj << +/D [2328 0 R /XYZ 65.161 585.027 null] +>> endobj +2343 0 obj << +/D [2328 0 R /XYZ 65.161 574.068 null] +>> endobj +2344 0 obj << +/D [2328 0 R /XYZ 56.693 528.659 null] +>> endobj +2345 0 obj << +/D [2328 0 R /XYZ 65.161 528.1 null] +>> endobj +2346 0 obj << +/D [2328 0 R /XYZ 65.161 506.182 null] +>> endobj +2347 0 obj << +/D [2328 0 R /XYZ 65.161 484.265 null] +>> endobj +2348 0 obj << +/D [2328 0 R /XYZ 56.693 437.613 null] +>> endobj +2349 0 obj << +/D [2328 0 R /XYZ 65.161 438.297 null] +>> endobj +2350 0 obj << +/D [2328 0 R /XYZ 65.161 427.338 null] +>> endobj +2351 0 obj << +/D [2328 0 R /XYZ 65.161 416.379 null] +>> endobj +2352 0 obj << +/D [2328 0 R /XYZ 65.161 405.42 null] +>> endobj +262 0 obj << +/D [2328 0 R /XYZ 56.693 368.678 null] +>> endobj +2353 0 obj << +/D [2328 0 R /XYZ 56.693 341.41 null] +>> endobj +2354 0 obj << +/D [2328 0 R /XYZ 56.693 296.222 null] +>> endobj +2355 0 obj << +/D [2328 0 R /XYZ 65.161 296.511 null] +>> endobj +2356 0 obj << +/D [2328 0 R /XYZ 56.693 249.86 null] +>> endobj +2357 0 obj << +/D [2328 0 R /XYZ 65.161 250.544 null] +>> endobj +2358 0 obj << +/D [2328 0 R /XYZ 65.161 239.585 null] +>> endobj +2359 0 obj << +/D [2328 0 R /XYZ 56.693 193.328 null] +>> endobj +2360 0 obj << +/D [2328 0 R /XYZ 65.161 193.617 null] +>> endobj +2361 0 obj << +/D [2328 0 R /XYZ 56.693 147.36 null] +>> endobj +2362 0 obj << +/D [2328 0 R /XYZ 65.161 147.649 null] +>> endobj +2363 0 obj << +/D [2328 0 R /XYZ 56.693 101.392 null] +>> endobj +2364 0 obj << +/D [2328 0 R /XYZ 65.161 101.681 null] +>> endobj +2327 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F95 923 0 R /F98 924 0 R /F52 695 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +2367 0 obj << +/Length 2651 +/Filter /FlateDecode +>> +stream +xÚÍ][sã¶~÷¯à[½ +‹;‰¶“™¦Í¦ÓIz‰=Ótvó@“Ä./*IÙñ¿/(R‰IIæ@8yYÛxx|߹ዃM€ƒ¯o¾¼¿yÿAà@!%© îׁ¤H†ADbapŸo¿Ó¹ŽýnE¾ý{Õê¦ÿu]Õý/ívøò/UòeU}îÿøþî›w?ÜÿÍÜfERBôÒîÚç\7[­Û¦ûÚܝ‘¹»dÝݹ QH£`% +‡ûsa†Ñíûþ¡²»ðæ«û›ÿÝ#$IłP$1 ’âæã8HÍwFÄU<F Q&Íïypwó¯<̾8#GÙ\!‚e¯Ó'JÅA‹ãeï?˜!‡çàÝ5â22_›%ÛX矰Àmaþ%ïVãÛ»"k·¿·"Ôü¡Ë´ì¦ýØä½`3eìîÇ×ã‡5KDB„L!n¦ÕÝHÚùOOo@Íc(y¼A/˜t£]å D$™Ê˜ ÐÌä/W^"EÕÊ֛ ÿå» +£e=*Ό¦ïW÷ƒ¡ÁK$œÊ >ÖûŸw£qæÒ÷çܖU9½º<úþþ?0ª}»Û·SÉ¿»(ùpQš5»<~†Ýa]Um‡d‹g°“_î‹]7°ÁÙxœ"!ÆðyƒüX¾#䝕µ€<Å(¢ƒ oö;³IíN „ Æ‹p$xäb¼.ü¼hÀ¥¢ˆŠÐ“oã‡\wÖûý—ÍsYí^ü½o³ʯv»ªæ?6æ>ónñç!L$Š„Çi,ßÂÎÊZ@˜bDøâ3s6É6®ãVòºÊ d&»ßf ”L&®-rgØ8—zë+ºqV6Þ°ŽŠ÷‡õ±|G¬;+ku¬‰è`°ãB[:Î&3ÆzaÇ&ÎtÅlQ•U³‹¨)÷‚ñ¬Yx¢NÖër˜ïYBõåB_̚Èwc–»²pf !JÙ/áE û"ê hÞÖn,ßqí¼);LFØ×F¼MÆX¾ãd8+käP"†‡ ?åMeé"’ZÇ-Ôð–úÉ¢Œ{¦ªþJÉñ!¯’Ïã›6®¦Ý®úìWm=ÕeÞȾ:á úcùŽÐwVÖúæ'ãÃC«‹]·ÐÔš ‚  ÎÛUî轸õJ€Ö´:N—õ|WD)¢«JxÃ÷KéŽèvTÔۂ# {‡ ¡fW•)8]|ÔõCÜfÅYËÊPÈÂ`ECÝó·—l–yBãØ_Œ;%— È'³1Ï>"NÃ75?ÔÀù2?Ó×/²ÒØmcˆ@<òi0G‚z´GcùŽöÈYY {„»V­áíº8M¡Ypg‘,6T(4—Ñ?ҕà(ãi lkz‚fu§Í翹lR€óÞÙ_g¹†›ás=³”d&FÒßöäD¾cܕ…3†©®3l؞„";kã‘ïFtwe-˜ŽMØφ°ÅK}±?­Æ¡Ýòr=¶|Ìêª,à‡áÀ+K`;–ê&Ñeƒu˜&Ž³Ü Q„°ò×Ù8‘ïˆ]geáØ%Š ­õ1I³G˾§²ZºVþ'Ÿ7‡¾”ÚصÍJx3`a!3e˜½¥ƒ!æÖa¿–„ˆf@C=ºNÅþ.'òiꬬM¹@|ð0n—/.~(ǹ4è²Êõò›’çÓ@*~oþÐ}Ü\«Ï³dòdËw$ƒ³²d` F^fVÞjÙ1üˆ‘ÅOãÙdKoáíâÍÒo¥A»©ÁVËú4ZãˍüµNä;òÄYY žP†D8D—¬!`/Ûâè†ãÙæ Á߃kÕ¾N–~ùÌ®´JšeÏmØèÒøFp=æô5¢yN`…˜Ç¶©‰|GN8+kÁ B‘ü©mªI²Ì,ïÂ/¿Ú‰MªÒ$\Ý4ù³M\M•Ë‰Øáó?¾ÒGy¾‚ýÅÌyjÖG£©1JcñnuVÕ¡FQùs›’kt²ðÓä}#ÎÜûÂêô<ÈmRívWèül"}h¢ÎýÊ\³XBı¿¶˜±x7¬;« +ǺÂHªaŸüÐÓlL0? +6»ÖL^ÆÍz­¨õ}Óÿ !09âÄGkÌÉÿ5Ã1ÂR]ó_Íüa +endstream +endobj +2366 0 obj << +/Type /Page +/Contents 2367 0 R +/Resources 2365 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 2291 0 R +>> endobj +2368 0 obj << +/D [2366 0 R /XYZ -16.307 900.716 null] +>> endobj +2369 0 obj << +/D [2366 0 R /XYZ 56.693 742.454 null] +>> endobj +2370 0 obj << +/D [2366 0 R /XYZ 65.161 742.742 null] +>> endobj +2371 0 obj << +/D [2366 0 R /XYZ 65.161 731.784 null] +>> endobj +2372 0 obj << +/D [2366 0 R /XYZ 56.693 685.211 null] +>> endobj +2373 0 obj << +/D [2366 0 R /XYZ 65.161 685.894 null] +>> endobj +2374 0 obj << +/D [2366 0 R /XYZ 65.161 674.935 null] +>> endobj +2375 0 obj << +/D [2366 0 R /XYZ 65.161 663.976 null] +>> endobj +2376 0 obj << +/D [2366 0 R /XYZ 65.161 653.017 null] +>> endobj +2377 0 obj << +/D [2366 0 R /XYZ 65.161 642.059 null] +>> endobj +2378 0 obj << +/D [2366 0 R /XYZ 65.161 631.1 null] +>> endobj +2379 0 obj << +/D [2366 0 R /XYZ 65.161 620.141 null] +>> endobj +2380 0 obj << +/D [2366 0 R /XYZ 65.161 609.182 null] +>> endobj +2381 0 obj << +/D [2366 0 R /XYZ 65.161 598.223 null] +>> endobj +2382 0 obj << +/D [2366 0 R /XYZ 65.161 587.264 null] +>> endobj +2383 0 obj << +/D [2366 0 R /XYZ 65.161 576.305 null] +>> endobj +2384 0 obj << +/D [2366 0 R /XYZ 65.161 565.346 null] +>> endobj +2385 0 obj << +/D [2366 0 R /XYZ 65.161 554.387 null] +>> endobj +2386 0 obj << +/D [2366 0 R /XYZ 65.161 543.428 null] +>> endobj +2387 0 obj << +/D [2366 0 R /XYZ 65.161 532.47 null] +>> endobj +2388 0 obj << +/D [2366 0 R /XYZ 65.161 521.511 null] +>> endobj +2389 0 obj << +/D [2366 0 R /XYZ 65.161 510.552 null] +>> endobj +2390 0 obj << +/D [2366 0 R /XYZ 56.693 464.373 null] +>> endobj +2391 0 obj << +/D [2366 0 R /XYZ 65.161 464.662 null] +>> endobj +2392 0 obj << +/D [2366 0 R /XYZ 56.693 418.09 null] +>> endobj +2393 0 obj << +/D [2366 0 R /XYZ 65.161 418.773 null] +>> endobj +2394 0 obj << +/D [2366 0 R /XYZ 65.161 407.814 null] +>> endobj +2395 0 obj << +/D [2366 0 R /XYZ 56.693 361.636 null] +>> endobj +2396 0 obj << +/D [2366 0 R /XYZ 65.161 361.925 null] +>> endobj +2397 0 obj << +/D [2366 0 R /XYZ 56.693 315.352 null] +>> endobj +2398 0 obj << +/D [2366 0 R /XYZ 65.161 316.035 null] +>> endobj +2399 0 obj << +/D [2366 0 R /XYZ 56.693 269.857 null] +>> endobj +2400 0 obj << +/D [2366 0 R /XYZ 65.161 270.146 null] +>> endobj +2401 0 obj << +/D [2366 0 R /XYZ 65.161 259.187 null] +>> endobj +2402 0 obj << +/D [2366 0 R /XYZ 56.693 213.009 null] +>> endobj +2403 0 obj << +/D [2366 0 R /XYZ 65.161 213.298 null] +>> endobj +2404 0 obj << +/D [2366 0 R /XYZ 65.161 202.339 null] +>> endobj +2405 0 obj << +/D [2366 0 R /XYZ 56.693 156.16 null] +>> endobj +2406 0 obj << +/D [2366 0 R /XYZ 65.161 156.449 null] +>> endobj +2407 0 obj << +/D [2366 0 R /XYZ 65.161 145.49 null] +>> endobj +2408 0 obj << +/D [2366 0 R /XYZ 65.161 134.531 null] +>> endobj +2409 0 obj << +/D [2366 0 R /XYZ 65.161 123.573 null] +>> endobj +2410 0 obj << +/D [2366 0 R /XYZ 65.161 112.614 null] +>> endobj +2411 0 obj << +/D [2366 0 R /XYZ 65.161 101.655 null] +>> endobj +2365 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +2414 0 obj << +/Length 2860 +/Filter /FlateDecode +>> +stream +xÚí][Û6~Ÿ_!ô¥ °Ãoº´ÝŦ»I›E.»X ÉmÓcíȒ«Ë8ì/uqɖu8éK<±©Ãcò|çNÚun×ùåâçÙÅÕ3î:! +=â9³•ãäùN€)¢¾3[:q±¹||I¸ûèUZȼùs•fÍźýðŸéâç4½mþóßë?Ìþ¥¦¹Ä…œ7Ô®‹ûXæk)‹¼úX͎@ÍîÑjvæùÈ'sÉQè·ó3OôƒGWÍ &^õàÅÓÙÅoX‘wìpy!uü#Ï%Îbsñîƒë,ÕgŠÄÂÀÙÕ#7Ç."ÔSÇÎõÅ.Üv%ÜÁÙÓf!®×ðôž^s±ìê™RV= æêƒzðËh±2~ïr·Ø¨ñãKÏu]o¢býÃãKLÔÊ"Š£â}ÌㆮZ±ŠtõòK÷»ªÂ>q|ªøa´ú®ÕûÜU+Ç<‡ 0L:«/¿\‡Úñw' ÂÛOÐÆÕhSúa÷és#_-d†/7ÞC! '`¶&˜Ý8ÍoZIèìêžqŠS Toî“åR.;¢pHÉyWox”ÄQ";cÔ¾qøУMš¤¹ü F=(#…ÜlcQ ±2.zD-„úÔ@ô^‡ÑçDüÕ Ï ¢8´‡>/ÀH©)[àë’7Þ1«pèyCk Ã2Múüý0˜ +6æ©2gll™GÉ l¨€ [”y‘n`c3yå”×"…SógHr ¸Íä]”–ywô8Æ|eº]l]ú† 0fV>Ež"_£`•&E—Ã0X‰MßÃöíNÄ%p‹wk™L6ó8]Üæ°±é +jý>Pƒ Dmº.Ó±Íúqp³êGþ§T‚.pxˆ#ö€Ó¥ocf5€£ȧ nʼïÿÔËýS6ŒžgýÍ{÷¡q'ÐIÄ1¤< ¯Tæ"»™Ø:(@&çbq«-¸bœžÓ±ô(Eœ†–K™,“*bÖñ,‰bÈ÷,z–X…ø8°§ºô µƒ1³Úsºmžb[„Šé  +jOæ`³ ¥øïk  -‹þßëE%æÃ:®r¨Ó( +èȸ®¡”’^§;ØÀ›,]­t˜veÐìa«Kß[ÆÌj`Ëe(dmö,SjQf9Ô¹J +™PIÈn¡Yr;µYîDíÛ'|ƒ·o^@¿Ø"KûÎGmt`V…‡A•×=£aå>G>÷Î`Xl>ߊLlÐǝœwÞø$;ãk¤dÕ-fT9g( ö2ª=úfÚÁœY¸và<@˜½vؤwPoD¢‘P=´Õ§Ç‹L'][VZ­Jñy t <Ǭ·ÇÂÑ閯fèIœè­¿@É( +|n/]ú†x1fV/ÌW¯m «”erNýCsvK¹e\<0­qbd¦¼5x¨*2Ní†CƒÝy/Z"áÌEAp^ƒ‹}îËR ƒëèËüëÔö–…>RßƚþèÑ7ÓæÌjè×EtŸôШ`&;Ւ`ÃbÍE®e’³XËf£3‹"º“†´ F¬h¾•‹hAc\¡¶²ÀCnh/aÜ£ocfá@aAˆhÐàä@ô—Ձ­ÛQYÓ°… $˜›²š`À©zæï=ôÃ07ëL®4çˆ6B9B¢u8™ŠY1¥öpÐ¥oˆcf5pà+‡´í¢\Fé‰e,'FKyô¹ÏyŒAý·NwÉ´)Q°'|#™‰j#_½ž=½†–BE”&+oŽ ³ÇÔ«½lC¾¡03«!̞¯¼ßÖQ>â~œ¨žo•‚1ȤË3¨LjTæ¡eñoÛV'º]+ŒSD°½¤E¾!쌙ՀŠS¹Û&-¶™ÜVU€å´!»Hîm8Toß<Ÿººå“6ŽYP‡^ÞðÐCxƒ].Fáö{ô áb̬\Gœ±.gpž¡Îÿ*ŠeŸú°ôE͡·3Š í5+ô芇5fÛÅ MÚÆÚbté.†1³X!ÕÉÐ ++ρ²yŸ–Ð6_iɨLÜ7WØyZf 9ñôjA:dP¸ª+™Ù½®æÖ©kXé7„Š)«H©ú©¼¶¾‘M;®Z‚ñKÅ̟AÊq •ä²ÐÜǃüÇ(¢hØ$lAªGß SæÌj€ªâÔ ÷í f©Ú}Hq ôº¶[)²c àïNô:<, VO~7’•:!w® 8ÈGNÐdœ¬!§Kß9ÆÌ‘CCùü외©r½« zX î7Ê£‰CQhœ…Ë¡ç¶Ò¹˜CO %©î9ê7!k°èÒ7„…1³°ðCä‡m¹eÎ)=®Ht݅¹\p ”—ÐC"Ö¬¥€žbL¨€—¹ƒ´\…×䅬¦Kß4ÆÌj€Æ P@Û²NÝ5=ç5ü¿Î^¾°Xý¹Nu]ø5ÝN}¤W‰)’(¹Y•ñÛbÇ!Á⁽’K¾!$Œ™Õ€÷QðùÀãÔ×ÉSSãñ¼µÛ0ö#ð3VtwÆڄ©5Äté"ƘY Ä05'fƒɟÙ&"ç6’B·€Ni“¢´&›]ú†²i̬†lRþù-¨íkèôðv¢aÝ$³|ò´Š‘wõ5GôG«ã0 URÑ^£GßÆÌjÀ€0†ŸŽ’+Mš[y­ŒËb³å@™~|Ãq ³¶ßò†Ûm‹Õf%Hؤ?l-E¾ÙZ3{(è¾ÒóDí˜K‘ë·Ýç? ›îOwK€ZC4ŽfTWÊõ)ÿõD á[?ʱ¯„ŒBMªÂš€wé +¸)³ƒNBµ¸­›ýíD7SQl$üêjøÝn§±•·2K¤Žp¥½kuÔ['˜Ù–sÑyº*vGΟzd±Ñ}£—éâ@ʯ~º²§Œ>KE쬷5u… ;g,£d•jÜD8©æ²w~’0‚\×^$Ö£o¨¦Œ™…» „qDB®×o&ì£j¶FÊÁ‰(™¶ñX7åF1!4êìиéõ?Þ¾|újödöüõ+Íè‰PŒ\f/zêÑ7]cf5D—2Di=kÏtZ¹w5“Û4ƒöÎC3­Ð+¡ÄøB‚M”Ão}}òvöëë7Д{s7‘ý€6Kâ"×^{p—¼¡È›²ª!ñ¤ºË¾my> endobj +2415 0 obj << +/D [2413 0 R /XYZ -11.232 900.716 null] +>> endobj +2416 0 obj << +/D [2413 0 R /XYZ 56.693 741.747 null] +>> endobj +2417 0 obj << +/D [2413 0 R /XYZ 65.161 742.431 null] +>> endobj +2418 0 obj << +/D [2413 0 R /XYZ 56.693 694.923 null] +>> endobj +2419 0 obj << +/D [2413 0 R /XYZ 65.161 695.606 null] +>> endobj +2420 0 obj << +/D [2413 0 R /XYZ 65.161 684.647 null] +>> endobj +2421 0 obj << +/D [2413 0 R /XYZ 65.161 673.689 null] +>> endobj +2422 0 obj << +/D [2413 0 R /XYZ 56.693 626.575 null] +>> endobj +2423 0 obj << +/D [2413 0 R /XYZ 65.161 626.864 null] +>> endobj +2424 0 obj << +/D [2413 0 R /XYZ 65.161 615.905 null] +>> endobj +2425 0 obj << +/D [2413 0 R /XYZ 56.693 568.397 null] +>> endobj +2426 0 obj << +/D [2413 0 R /XYZ 65.161 569.081 null] +>> endobj +2427 0 obj << +/D [2413 0 R /XYZ 65.161 558.122 null] +>> endobj +2428 0 obj << +/D [2413 0 R /XYZ 56.693 510.614 null] +>> endobj +2429 0 obj << +/D [2413 0 R /XYZ 65.161 511.298 null] +>> endobj +2430 0 obj << +/D [2413 0 R /XYZ 65.161 500.339 null] +>> endobj +2431 0 obj << +/D [2413 0 R /XYZ 65.161 489.38 null] +>> endobj +2432 0 obj << +/D [2413 0 R /XYZ 65.161 478.421 null] +>> endobj +2433 0 obj << +/D [2413 0 R /XYZ 65.161 467.462 null] +>> endobj +2434 0 obj << +/D [2413 0 R /XYZ 65.161 456.503 null] +>> endobj +2435 0 obj << +/D [2413 0 R /XYZ 65.161 445.544 null] +>> endobj +2436 0 obj << +/D [2413 0 R /XYZ 65.161 434.585 null] +>> endobj +2437 0 obj << +/D [2413 0 R /XYZ 65.161 423.626 null] +>> endobj +2438 0 obj << +/D [2413 0 R /XYZ 65.161 412.667 null] +>> endobj +2439 0 obj << +/D [2413 0 R /XYZ 65.161 401.709 null] +>> endobj +2440 0 obj << +/D [2413 0 R /XYZ 65.161 390.75 null] +>> endobj +2441 0 obj << +/D [2413 0 R /XYZ 65.161 379.791 null] +>> endobj +2442 0 obj << +/D [2413 0 R /XYZ 65.161 368.832 null] +>> endobj +2443 0 obj << +/D [2413 0 R /XYZ 65.161 357.873 null] +>> endobj +2444 0 obj << +/D [2413 0 R /XYZ 65.161 346.914 null] +>> endobj +2445 0 obj << +/D [2413 0 R /XYZ 65.161 335.955 null] +>> endobj +2446 0 obj << +/D [2413 0 R /XYZ 65.161 324.996 null] +>> endobj +2447 0 obj << +/D [2413 0 R /XYZ 65.161 314.037 null] +>> endobj +2448 0 obj << +/D [2413 0 R /XYZ 65.161 303.078 null] +>> endobj +2449 0 obj << +/D [2413 0 R /XYZ 56.693 255.965 null] +>> endobj +2450 0 obj << +/D [2413 0 R /XYZ 65.161 256.254 null] +>> endobj +2451 0 obj << +/D [2413 0 R /XYZ 65.161 245.295 null] +>> endobj +2452 0 obj << +/D [2413 0 R /XYZ 65.161 234.336 null] +>> endobj +2453 0 obj << +/D [2413 0 R /XYZ 65.161 223.377 null] +>> endobj +2454 0 obj << +/D [2413 0 R /XYZ 65.161 212.418 null] +>> endobj +2455 0 obj << +/D [2413 0 R /XYZ 56.693 165.305 null] +>> endobj +2456 0 obj << +/D [2413 0 R /XYZ 65.161 165.594 null] +>> endobj +2457 0 obj << +/D [2413 0 R /XYZ 65.161 154.635 null] +>> endobj +2458 0 obj << +/D [2413 0 R /XYZ 65.161 143.676 null] +>> endobj +2459 0 obj << +/D [2413 0 R /XYZ 65.161 132.717 null] +>> endobj +2412 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +2462 0 obj << +/Length 2449 +/Filter /FlateDecode +>> +stream +xÚÍ\[sã¶~÷¯àìK¼3õYÜ 6/I&m:¤MÖîL;»y€$Hb—"’ZÛýõ%:‰hK:Å/k­‚ßwn8I I¾»úæîêÝ_%I2ÈSÉÝ´Ëþâ·Õô›ªú´ûÏ¿o¿ûóÝßÝmn(…Lʝ´Ûö±°ÍÒÚ¶é.»»ÓD»»+ÞÝ]¨R¦“ YÚß_¤N`ª¯ßíþP¦º^ýåîê—+êē„&RÊx’faÉtuõág’ÌÜ5§ˆL'÷ۑ«DRŒ+÷¹Hn¯~º"ýL§b÷±ûóÝï$»ù )KR‘%ª“Ü}/‰ÓS¨„A¦³¤¶Éü (ì ¸*Ò§ìÓnt¨| TÑ¡|I(¤J£îðûiV±le·ëE²ûð¾G¢{…[,ˆ-{ÅÁ{ôäóí»?,&ùp£¹¾·¸qSSî t·ø¢ÿâù/®[œÐy^Îp#Mùˆ¸i̤@>“Ù´KGMÔؙiÍpþtp¶?±«9ù®L]æå;cÈ©ÍËÆÖE÷ ¸g?žHÈR ZÇ#á¾ü@+ëABî¬hªv$4X<¬,öeáÆuž5°Ú´ëÿÛ@³,ÄÆøûÜÍ>9,‡¦{ãö‘1¹§òà]h,d7ø‡|º4¶øH$iWî_úvû෎Ë?¿½¡l;­ó +šb'ôäó+ç=9cñ|œÒ¸{–XôÈ£W¸²xz)ÍA¹@hûfo,ÒÈM6‹q æ<—-[´5®æçÓñ ÙÀú®iU¶u>A»ƒÖ”Sی;__ÿëîoÿ|ëih”Ê@ûòy¬¬R—}dlǃÆNÛ¼zŸÁñðäniÊOÈ·ÜV¸qߚ2·nì÷6Ÿ= <‚£´ã›/ŠúûUÓfdJڇuÕ<³§ù k*öåò!XY>(§)ç;> 10ô +¿‘ñ&$™^2RœEaUƒ..7ƒ|ótu5¨Âuhì¢Âç½Øœëúðuë©- +ÏÙ:;zEöì4/Sí‚ÐxՂü@^+ëÁK̀ð¾Z°2õ§ÍKÌMƒeçÍzSçÕ)´ÈK;©­ù„õ+. ƚ}¬\Zdk–7ëÂ<k’ÜJH¥ºd.)%-X¤\²È›¶ñÈ%¥pÚ¤Y¼dRrêHÏ0쉴 ¡ªz˜.½{¯_ÏfØbz!WõØUêږ3[£+êÓÊ+ejF®3öb;¤‡ÔÕ=*N’¹‹*^Ad ?ÅÁÊzÀ˜ `¢/ˆÜ"añXmÎk|8’Ýc[,¾t‚Ž _‚yíææxpØEhÞaC‡u]-j³êâ_çîz‰h°÷åb=XY¬S¬‡:ÚV5›éë8'>®ù=döPÀD?áÒ|¶#×ýüƁÐo´’ƒÈ2 "^Éa ?ŒáÊz‚0àœ>¥6ÏA#ìzm!e(縭D½9’‡ñë7'ì·5eƒõ=ÖWùį̀é4žµ¢ã¥êùxVgѵ¥}bÖãá+ã2àÚΑïx]å)Ø2–†º_Ç1¶—äš¿;LÀºšÏChŽ]\i +”Å[›È„t°²Öí×­/Ño|³*B'³WJìSÃ/ÖxTêên›Â؝7ÔáÄnëCXú ü¢ BR`ìµ4Tᴉ¸oBpœÄ« äÚ§`e=ìç uŸTU%v ½¨dð¥îq› +šµ™b·BÌ[;n'Ég[OL›¯!Ãü¬¢ýqۍnÚsQÖ=º“øñ¬i:MšñJùô VփžŒzêì³-¶7³ã62ytP-j³^z¿\ŠKú?žq<‹äÿ6m^äí£‡äÚ铦ñ\ K¬@Òx»–òÃ8®,žc<• I¿k íØüL¼-?çuU®lَ¼· )òŲÅúí¦ëSÂ:»yU¶ã*[V>5ª»»ÿxÚ®(H™ÅÃø¾ü@Œ+ëq%@‹~«ôYÛÞ¸ÔpٖoÎ%(©^É2=gN›LD´ÏT@ÊãUò±¬¬v©žxò³Ü/óÖ>OŽÛ| +Twí6+ӎ¿n Mü†¦ë_A|ÒúW›z˜>¥[¤_ùLkÐüµ4è°Ôi£"6è0•B¯6±/>Œ÷ÁªâiÏR +4ët~0،ÆÑ2/íó@ëx]´ÛM;òv@ŸÖ[ôÙzfk;Ã7ÞàBhí*ÿßK¢Oóñ6“ñ»/?À¡ÊƫꎌéÊS‹û؀Ù%Ô­oo8Ÿ l|õØüRœ·8uä¹có­ïBÀ.èÕµÓ&̾ááÞ«Óô²ˆý—ùôVÖÃÀ‹ Xoߝ×.6v_vÿ囏”‹Ã¾`êفН0—ólúÑ50lŽ…?vW‘Á·ºNl{o­o·siáñŽïÈÄ{°²xç8ë»u¶­Îçúfô6^Üâ$Ä3,(mÙlj;öb/¾m÷€ØÀqeòÒÛº3$—µä¢=XY´³¸bO ‹#¿ÙÆ`Â¯,š±wUû˜ùЍ6~ýŒQ ú¢9½K嶷~ýTk`$bNOÓX<³°/>Ì*«Š7 +T\{.µüa=ŸmÝæSSü¡EcAʧ:÷ÌKãë?©!‹XüÈdJ°²TQÈ´/'4ù¤ðè]öˆzvýhÙùç”R—ÿnÐûÉæc#7Þ { ¨”Ày¼‚Á@~ %‚•õ „ÔðQb8¿gÆ/¢¢’í`¡,ƒWs"¥N±}… ’Äk_ÈdE°²¬èÖç²~™|·ú1Ã,ø#•ëjƒ>G#o ;ö©f¶ªÊ¼+²yT"AҋžØ«("csóËÝÅÊe¤5 W_:ù^ »•L߃ïÿ´€\K +endstream +endobj +2461 0 obj << +/Type /Page +/Contents 2462 0 R +/Resources 2460 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 2291 0 R +>> endobj +2463 0 obj << +/D [2461 0 R /XYZ -16.307 900.716 null] +>> endobj +2464 0 obj << +/D [2461 0 R /XYZ 56.693 759.068 null] +>> endobj +2465 0 obj << +/D [2461 0 R /XYZ 65.161 752.393 null] +>> endobj +2466 0 obj << +/D [2461 0 R /XYZ 65.161 741.435 null] +>> endobj +2467 0 obj << +/D [2461 0 R /XYZ 56.693 694.321 null] +>> endobj +2468 0 obj << +/D [2461 0 R /XYZ 65.161 694.61 null] +>> endobj +2469 0 obj << +/D [2461 0 R /XYZ 65.161 683.651 null] +>> endobj +2470 0 obj << +/D [2461 0 R /XYZ 65.161 672.692 null] +>> endobj +2471 0 obj << +/D [2461 0 R /XYZ 56.693 625.579 null] +>> endobj +2472 0 obj << +/D [2461 0 R /XYZ 65.161 625.868 null] +>> endobj +2473 0 obj << +/D [2461 0 R /XYZ 65.161 614.909 null] +>> endobj +2474 0 obj << +/D [2461 0 R /XYZ 65.161 603.95 null] +>> endobj +2475 0 obj << +/D [2461 0 R /XYZ 65.161 592.991 null] +>> endobj +2476 0 obj << +/D [2461 0 R /XYZ 56.693 545.878 null] +>> endobj +2477 0 obj << +/D [2461 0 R /XYZ 65.161 546.167 null] +>> endobj +2478 0 obj << +/D [2461 0 R /XYZ 65.161 535.208 null] +>> endobj +2479 0 obj << +/D [2461 0 R /XYZ 65.161 524.249 null] +>> endobj +2480 0 obj << +/D [2461 0 R /XYZ 65.161 513.29 null] +>> endobj +2481 0 obj << +/D [2461 0 R /XYZ 65.161 502.331 null] +>> endobj +2482 0 obj << +/D [2461 0 R /XYZ 65.161 491.372 null] +>> endobj +2483 0 obj << +/D [2461 0 R /XYZ 56.693 444.259 null] +>> endobj +2484 0 obj << +/D [2461 0 R /XYZ 65.161 444.548 null] +>> endobj +2485 0 obj << +/D [2461 0 R /XYZ 65.161 433.589 null] +>> endobj +2486 0 obj << +/D [2461 0 R /XYZ 56.693 386.081 null] +>> endobj +2487 0 obj << +/D [2461 0 R /XYZ 65.161 386.765 null] +>> endobj +2488 0 obj << +/D [2461 0 R /XYZ 65.161 375.806 null] +>> endobj +2489 0 obj << +/D [2461 0 R /XYZ 56.693 328.692 null] +>> endobj +2490 0 obj << +/D [2461 0 R /XYZ 65.161 328.981 null] +>> endobj +2491 0 obj << +/D [2461 0 R /XYZ 56.693 281.868 null] +>> endobj +2492 0 obj << +/D [2461 0 R /XYZ 65.161 282.157 null] +>> endobj +2493 0 obj << +/D [2461 0 R /XYZ 65.161 271.198 null] +>> endobj +2494 0 obj << +/D [2461 0 R /XYZ 65.161 260.239 null] +>> endobj +2495 0 obj << +/D [2461 0 R /XYZ 65.161 249.28 null] +>> endobj +2496 0 obj << +/D [2461 0 R /XYZ 65.161 238.321 null] +>> endobj +2497 0 obj << +/D [2461 0 R /XYZ 56.693 191.208 null] +>> endobj +2498 0 obj << +/D [2461 0 R /XYZ 65.161 191.497 null] +>> endobj +2499 0 obj << +/D [2461 0 R /XYZ 65.161 180.538 null] +>> endobj +2500 0 obj << +/D [2461 0 R /XYZ 65.161 169.579 null] +>> endobj +2501 0 obj << +/D [2461 0 R /XYZ 56.693 122.466 null] +>> endobj +2502 0 obj << +/D [2461 0 R /XYZ 65.161 122.755 null] +>> endobj +2460 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +2505 0 obj << +/Length 2303 +/Filter /FlateDecode +>> +stream +xÚÝ\[sÛÆ~ׯÀè!•gªã½c‘<%“4m¦WK™éŒ\Š¨p ZֿZij^®œöńÌÅÁáâûÎ ÑmD¢Ͼ»>{ûI¢ÅTt½ŽGšràqt½ŠÞ_¼3…I;óæ’Irñ׺7Ýx¸®Ûñ ßL_~_gßÕõÝøÇ?¯þüæ—ëŸìe.)…DÊQÚUÿP˜ncLß _Û«ÓHÛ«+>\]¨b¦£K I<]_h+0ÖoÇÊÔpâÙ×g¿žQ+žD4’ +T£8¡ ‹²òìý/$ZÙï¬ ÝïV–‘¤Wö¸ˆ®ÎþqF¦ VÅápøøñ‰d»4fQ, D ’‡ÿ—Äê)TÄ ÑIԚh½( +{®Šøñ£`:¬ö•/*:—/ …XiÔžn³‚„%'Pv'°½Æƒwí-ÜaAì8).(>¡ç{“»»¿,(z©¹¸Ïû ne6€µ²^ãÖ}4íMÚç%nµ©>æm]•¦)qüŒ~“ö¸•›ô#ò·¥¸eE^™›Ö¤wûË÷nò3áÍb Z‡ƒ÷¾|Ox{+ëoníS¬Fx§ëÞ´X `Aۘ*¯n‘RÓý…V'˜þcáŒo»n[6}^W¸+ä'Çø¶3-Rè­©L›Ånùjö£ìnünq7.zWJPÌ¢-%öå{RÂ[YJÐ$¼ÿ}Zõ§F̂[\#MhӘIßI—zÛ7Û~ŽÂß¿ÌÉ©ð½Áò·®«K¤ÄÛ¶^¯]ùB$°€ҞxO¶øªê@¢AJ=’e“fw¦}8-¬KÓu§Ž¹l„Ôç6–ëš4C»°´Z!ã¾¢Æ~hg;hj<(à ˜¦>9ÆÂçaš7%L*N€«ÉÔ~`Lîé>CœaAÆÅɳMjŠD’¾´ÿÒ7» ¸*-¾~sIÙÎÈ –>ur”J@.ËRÒþ¡‚‘™|?+â¯,ތ(e5å|¼·yµ2Ÿl$Zb}YקUfV¢ªïq ›¶^m³Ï÷(‹Ä¯K‡d«ÈïÐVbÜÚ­ü‹|ƒÐá¼ÛL¾'0ƒ);mW Y¸dq&ßs3|•=äd,­äAÍ4RCø@¹89îkÚ¼Lgîÿ¿\ôY&««•ûyýàÃç§!Î$H.í™É÷¼¹Á”6ƒ +P4Ü^ì‰÷Ü +_UœA'SLÛ‹é;Ot}u>[Š,ÿôÁܚtuÚæÉ¿¶k%UZ‹ –†fò=)à«ì2àJÅø'7ô|0qGÊøè +‡E{÷åjýXGžœu–m±m†´?qYÉT'&™C·o!€9NJ!A«pIÜL¾')½•uðKÃ(œÒºzÛ¢ã=×vè2h–n;lE&ïOëen°°N{S9öS´™*œø}Ý«/5.pP7BÔã$ä.ٞÉ÷$¡·²$&X’)y@Ûáò¡ûõVCŒDwYċÀ-S¤×lÒ[ãJŠ¦±.ßåߘÅð«£5&óÑgRYjÑðª‰$I€(‘¼)êìÎ!a‰ÕFðp £°y3Ñ2˜M˜É÷³ þÊâm‚H(p»A“c~¦ñ>Òdٍt͜¸GØtcÖu‹í-æec“€sU æ”òg÷ðå¼rT¾GÛ³ÜÕƈ8ÊÂÕLfò=)à­¬4A¹ó4Zkºmu +Øٗmµ2]Þ¦7’!÷›¼79]ŽöÈô¶À÷ !âA ú›—¹7LS;‚Ø⃪pU™|O{+ëâaŠ@Nuó)-›Â¸6ªg𛃹ʷËö¯4m¶msìx̪Î:gìpû©_3Ê‚S"P”ÕVâI™¾{¨êæÉßÛ>/òþÁ%ã8¡ã0š,÷å{ò×[Yþ2Š?vÿª´4ÈÔ|ÝÖȑ•>ïm õ›õ¤%Úaë$M^e|ªgåޚ¡ýtâA¸Ö4…õ™+ß`wwÂ%=ÇŒhàš‡Ãÿ¾|Oü{+ë€ÿ¡—ӑ7¦¿7éŽvV¯ÃV“Ömzë0åòDMQü/1åÙ>¿x"_ӇrÍ@hڇ" lseT‡ó\Q2\õr&ßÏBø+‹·\ Ðbª^nÑSÌaž±qvÚ#W¤;ËO$á5~_ç^nðic‡w“\W©Ø“îIOEà/9hý䙇gJòôH†7Ž>÷FÒ#>‡" +Þkœxe ãç5<ʤÇÉ bPôUÇÌ8ö3Ԙ™{^Ê©€˜(ã„C49ûò=Ž·²fÇn5yLL³vè^¯þ=o·m¬#Ó"'z ëЂ% Kh®6:“ï‡aeñf‰J¦·)l¬3°·ÁµxÈtš½jñ [EE°çÔÖµƒfV©D¬ 2!!IÂUgò=Ñë­¬zElŠûÖÛŸá·fmÓPì8mð3<)W94*‘uœo¾þãßÞ]!©É_¿pĂ!âUI̐$ô˜ÅgÎé3 YútÆ÷Ô¤¦Ib1nr&ߏÔþÊ:š0ó#QWØ·ÛT«M>ôl쪬«| ”«c¤ƒs“×ä90%‘ªÈ»¾s UlDD’"‰öå{’È[Y<‰¨” øTþ[œ¹˜—»Òï~8­“K«ïÀw*ìˆÁŽTa_€²ÁMþô÷gK!Øòµñ —¯ÚR Lô·YSj•‰vlê’†ë(Ìä{ÚoeìÑ ÉÞøxH7T1½y®»¼~{êQúÿð½Lï:þ—ùýû¶^îà(¹2\UqOºï|ų.‰A ýøҕÃâ¼Ã˃ +2Q?xɪ°YÜøJ×w¬þ¨*OÔ +endstream +endobj +2504 0 obj << +/Type /Page +/Contents 2505 0 R +/Resources 2503 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 2545 0 R +>> endobj +2506 0 obj << +/D [2504 0 R /XYZ -11.232 900.716 null] +>> endobj +2507 0 obj << +/D [2504 0 R /XYZ 56.693 759.068 null] +>> endobj +2508 0 obj << +/D [2504 0 R /XYZ 65.161 752.393 null] +>> endobj +2509 0 obj << +/D [2504 0 R /XYZ 65.161 741.435 null] +>> endobj +2510 0 obj << +/D [2504 0 R /XYZ 65.161 730.476 null] +>> endobj +2511 0 obj << +/D [2504 0 R /XYZ 65.161 719.517 null] +>> endobj +2512 0 obj << +/D [2504 0 R /XYZ 56.693 672.403 null] +>> endobj +2513 0 obj << +/D [2504 0 R /XYZ 65.161 672.692 null] +>> endobj +2514 0 obj << +/D [2504 0 R /XYZ 65.161 661.733 null] +>> endobj +2515 0 obj << +/D [2504 0 R /XYZ 65.161 650.775 null] +>> endobj +2516 0 obj << +/D [2504 0 R /XYZ 65.161 639.816 null] +>> endobj +2517 0 obj << +/D [2504 0 R /XYZ 65.161 628.857 null] +>> endobj +2518 0 obj << +/D [2504 0 R /XYZ 56.693 581.349 null] +>> endobj +2519 0 obj << +/D [2504 0 R /XYZ 65.161 582.032 null] +>> endobj +2520 0 obj << +/D [2504 0 R /XYZ 65.161 571.073 null] +>> endobj +2521 0 obj << +/D [2504 0 R /XYZ 65.161 560.114 null] +>> endobj +2522 0 obj << +/D [2504 0 R /XYZ 65.161 549.156 null] +>> endobj +2523 0 obj << +/D [2504 0 R /XYZ 56.693 502.042 null] +>> endobj +2524 0 obj << +/D [2504 0 R /XYZ 65.161 502.331 null] +>> endobj +2525 0 obj << +/D [2504 0 R /XYZ 65.161 491.372 null] +>> endobj +2526 0 obj << +/D [2504 0 R /XYZ 65.161 480.413 null] +>> endobj +2527 0 obj << +/D [2504 0 R /XYZ 56.693 432.906 null] +>> endobj +2528 0 obj << +/D [2504 0 R /XYZ 65.161 433.589 null] +>> endobj +2529 0 obj << +/D [2504 0 R /XYZ 65.161 422.63 null] +>> endobj +2530 0 obj << +/D [2504 0 R /XYZ 56.693 375.517 null] +>> endobj +2531 0 obj << +/D [2504 0 R /XYZ 65.161 375.806 null] +>> endobj +2532 0 obj << +/D [2504 0 R /XYZ 65.161 364.847 null] +>> endobj +2533 0 obj << +/D [2504 0 R /XYZ 56.693 317.339 null] +>> endobj +2534 0 obj << +/D [2504 0 R /XYZ 65.161 318.022 null] +>> endobj +2535 0 obj << +/D [2504 0 R /XYZ 65.161 307.063 null] +>> endobj +2536 0 obj << +/D [2504 0 R /XYZ 56.693 259.95 null] +>> endobj +2537 0 obj << +/D [2504 0 R /XYZ 65.161 260.239 null] +>> endobj +2538 0 obj << +/D [2504 0 R /XYZ 56.693 213.126 null] +>> endobj +2539 0 obj << +/D [2504 0 R /XYZ 65.161 213.415 null] +>> endobj +2540 0 obj << +/D [2504 0 R /XYZ 56.693 166.301 null] +>> endobj +2541 0 obj << +/D [2504 0 R /XYZ 65.161 166.59 null] +>> endobj +2542 0 obj << +/D [2504 0 R /XYZ 56.693 119.477 null] +>> endobj +2543 0 obj << +/D [2504 0 R /XYZ 65.161 119.766 null] +>> endobj +2544 0 obj << +/D [2504 0 R /XYZ 65.161 108.807 null] +>> endobj +2503 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +2548 0 obj << +/Length 2670 +/Filter /FlateDecode +>> +stream +xÚí]ßsÛ¸~÷_Áɓ3S#Äoòútis×tšv{¦íä ‰ŠTI(Šï¯/(R“Ņ@8ÎM_,K–+àû»‹%Ë ~¾z{wõæ'1ŠÁÝ" D˜"*ƒ»yðéú£ÊTR©×7„‡×/´ªšEÙü£Wí—.fo‹âsóæß·{ýëÝ_Íen0F1獴[ý©j¥”®ê¯ÍÕq™« Z_ ‰$‰‚ŽbÙ^ŸÅF Œ®ß4/˜ˆºãÕ»»«ÿ^a#> pÀ1 dŒ‘I0[_}ú5 ææ;£bqìö-×Ç!"T˜ÿ³àöêŸWa;áàˆd³áP4:ýBßkqèöæ'Ódÿ;XÝ'BLDæ‹}ãél•¨ì—‡zmþâ×7" ¯oש^ýðúóF'÷™B_«ìÍ—ÕC^lž¼OóEQ¿m.j†³¾nýòsw ÌôaIŒ²æWVDý9Í°2GqPª`ñô—w¤þôø$6?‘.ÐÆukWùaûòyˆ‘4# +¹ÂST“xe÷ËeÐüó±…IgÊŠS‚$'Í̛yϗjÞAʱ¬àÓ~Š“,ƒ5LóJ'ùLU°æÅ¢Ó®ýôj?=îu]mNõ¸ÁÃ=ò^‡ëWƒm÷²t1•N¯ Œ 1)\1ð:l1B0¡ž,FaÌniaD,c؟I‘áˆx3 =ùn&Á]Y¸IQŒ‹Y2ZõU— ¬i–æ +Öò^™EØöö/°v+•Ì¡–(Ï &Ö./Ž,ÏÍ° ¹»ûPÑ­Þlu·í8Á"j< úœÆxM3Oæ>+fŸm gˆñÈ£aõÇþ LW¾£qVÖÂÀ0dôè®ïŠò3Ôé8…ô¡¶µÃódæë"OuZäÕ©E»FÝ0IgɶîÙ§õÎ;ézS”Æ+ҖýrÏXvÑéf Ç8EŒsș?wÄ;â×UU øRŽ"ôíá»KÊ<͗ý®m:?/ïk†Ë*0ŽŽ!ìŸAàÖp©4tñœ«\÷,€Ñ|¢ñs\sÇIB0âöǒ®|Gš8+kÁÂP$â†'—6ó"3n"pY'fµ)ííüƒÊ²ô[žXz ¯æiµÉ’èÏȍà kً]‡Û­Ôz€‚ãÀâÏëKò8B„½`•›‰ûô%¹¬؟/ٓïfdܕ…cÌPµiÎçs(Þ~ècýÍ0÷ß}€Ú–YYT{§Æl꾇ñ­-¦s ld.ÁAóŦnœ·B"áÏÁíŠw$•«ªœ’¦/9d€€©š:ú¾(Á;<›ýy·X¸`Hpü¬ cˆÄ‘§É™YªlÖ$¦,<®I¤cé=]ùŽôqVւ?D¢˜µˆ³R%nj?+xt}_dQÓµNu¦ Ü[oTCó´À4éºø^Ɏ•=¸Õc¾IJ ªm×L=ˆüÑ¢+ߑÎÊZЛk\µEY¬¡Ëu"9p •šÊÈÝø#Æx²ân“:̬À! 6ä°÷¢B‚$õœtå;"ÞYY ć…ŽTVÐm/X»m]W  (»õ똆ëÄ&ÜÊ^Žb–Å1’ü9ýC&cDcéÉ?´,¸aÆŗ˜ûs¯ÇWx³ =ùn6Á]Y¸M`‚¢µ‰«ã”è~fϹ|åô[ç³bóP¦Ë•†6ϵÊu5múqSª/*×æ*‡- +ØÏX* ÃSnóË"ãÌ4æ¢FòsZ&*Ãܓe*ÕÂÌkùð¤:ð1½Ú¾·n™ ±$¥í—qV¥ô—êÉw´_ÎÊZØ/¢Ð¼îçÌ6fS¤PrWéojÚL’—ªjQGè©äs+±tòj¦ût¹ì§qÇyfâC=«ŸDcŠ%/dg‡FÌÑOí' ێ¬öc2p> +ê"U›d.ZÔ;¥òé«'64Û|®Jx-fúBÊ-¨y¨¿²Ýž|GÂ8+kAQ—oV[FÖDA{ÖM|JcÄbO¦~“”É}Ý©ûÖÍl>0Îhß …®4DQèq—Ÿâzü%Òzò±í¬¬¶ Eøpƒ—Å.?8ŸµNr‹ƒ½rl,zTÛûJi‹›²X¤™ÍfÊ—YZ­À ÉZiè¶>xQ1ÁžYQ涖'ŒPäöñŽ¨wUÕô¸vCŒä•™« œÇ€FP§?ì,íÁ>q~hž.ª4Æ;…oKÚxbïNÑg¹$–(öèôä»a×]Y ðM n—v°ù°sßÙX¼ªØ–3ui= ‰ÌJêož»òçٛ²í`HBì/7֓ï8ÎÊÂAOê-ž°ÍÁ·|wÉ÷¶Â 4—ÿï×!¨Ÿ–‚7¼Óþ-:×?@)l&)äþnïÉwD­7eÛÁà …±¿í¹ž|ÇÁpVւÂ\"µÛsï‡_’l;qnûń8ÛJ¹DS+iåÃÙøM•Å¥÷Ñք¯ÞØ֕ïÈ6ge-ØÆb„[z‰ƕƒµ<œðr©‡8ƀߕ©Ö*Ÿ6{ÊAÝì¤W‰¾h w¾íZªmKzmâeo,ëÊwd™³²,£1Ñ^f 87$Ù×u6à“‚üú‰Öez¿ÕàÄG5é=26kuH†.× ¼*?u³áØÍÞ+¨ 9òÆùEšÞ¿ºòù嬬¿C<”g(•ÉLÝbz簌é [–j–.ÒoV"ú]¤Ô¨¯`ó(uÄ;bÞUU ÈcŠ8ksӞüsxys}Âxƒ|òÀj±…ž„fh‘o?¶"g¸¶¹4³‰ã&gå à=ùn÷§l;Q„(ó—ÎïÉw geá|ÇõI•íÑpÿ¨½]Z)Ož?˜x¿[W¶È'©²€Æ¡*Së£2ìq#"›¬™7Þtå;òÆYY ÞD!²Ý€†í/ ¿%ÌäH]¤e¥ÁµûÂr`»&XŽgjœ*¢Iyy£JW¾#Uœ•µ Šˆ‘<°Ù`øûHÓCÃm(¡à鱉'/¾×Ewœr¼Éy£\W¾#圕µ ä­[wÚGœ/xyÊÉ.úùçPÆ!̚“7wå;BØYY 3‰dÌ·#ý¿ŠóûI¼Œƒž6I&o ïÊw½³² §ET|— ŸuB÷X ܓï8ëޔmïó.ÞÆ¢#Þq(\UµÀ?f(ÆÑ¡ÎNÙU{¹‘ ~rÆ®ðP¿/ K¬s;a“Âð†Á®|G:+kÂîå~?VøÌá ŗt}B‹Ñ|“æË©º|ôú+OG+DM‚Á»âÝpì¬*Æqÿý«>g«„VmËb£ ¥ u̾M–êb#5AÙ²žüd¸©·3>}#xLPÀ{{¬UG¼ãS­UpDPÈÚûù²¶Óõp€C¼“l³J¯¤ûñöOïß{Ùó=±> endobj +2549 0 obj << +/D [2547 0 R /XYZ -16.307 900.716 null] +>> endobj +2550 0 obj << +/D [2547 0 R /XYZ 56.693 743.028 null] +>> endobj +2551 0 obj << +/D [2547 0 R /XYZ 65.161 743.711 null] +>> endobj +2552 0 obj << +/D [2547 0 R /XYZ 56.693 700.44 null] +>> endobj +2553 0 obj << +/D [2547 0 R /XYZ 65.161 700.729 null] +>> endobj +2554 0 obj << +/D [2547 0 R /XYZ 56.693 657.457 null] +>> endobj +2555 0 obj << +/D [2547 0 R /XYZ 65.161 657.746 null] +>> endobj +2556 0 obj << +/D [2547 0 R /XYZ 65.161 646.787 null] +>> endobj +2557 0 obj << +/D [2547 0 R /XYZ 65.161 635.828 null] +>> endobj +2558 0 obj << +/D [2547 0 R /XYZ 56.693 592.556 null] +>> endobj +2559 0 obj << +/D [2547 0 R /XYZ 65.161 592.845 null] +>> endobj +2560 0 obj << +/D [2547 0 R /XYZ 65.161 581.886 null] +>> endobj +2561 0 obj << +/D [2547 0 R /XYZ 56.693 538.22 null] +>> endobj +2562 0 obj << +/D [2547 0 R /XYZ 65.161 538.904 null] +>> endobj +2563 0 obj << +/D [2547 0 R /XYZ 65.161 527.945 null] +>> endobj +2564 0 obj << +/D [2547 0 R /XYZ 65.161 516.986 null] +>> endobj +2565 0 obj << +/D [2547 0 R /XYZ 56.693 473.714 null] +>> endobj +2566 0 obj << +/D [2547 0 R /XYZ 65.161 474.003 null] +>> endobj +2567 0 obj << +/D [2547 0 R /XYZ 56.693 430.337 null] +>> endobj +2568 0 obj << +/D [2547 0 R /XYZ 65.161 431.02 null] +>> endobj +2569 0 obj << +/D [2547 0 R /XYZ 56.693 387.749 null] +>> endobj +2570 0 obj << +/D [2547 0 R /XYZ 65.161 388.038 null] +>> endobj +2571 0 obj << +/D [2547 0 R /XYZ 65.161 377.079 null] +>> endobj +2572 0 obj << +/D [2547 0 R /XYZ 56.693 333.413 null] +>> endobj +2573 0 obj << +/D [2547 0 R /XYZ 65.161 334.096 null] +>> endobj +2574 0 obj << +/D [2547 0 R /XYZ 65.161 323.137 null] +>> endobj +2575 0 obj << +/D [2547 0 R /XYZ 65.161 312.178 null] +>> endobj +2576 0 obj << +/D [2547 0 R /XYZ 65.161 301.219 null] +>> endobj +2577 0 obj << +/D [2547 0 R /XYZ 65.161 290.26 null] +>> endobj +2578 0 obj << +/D [2547 0 R /XYZ 65.161 279.301 null] +>> endobj +2579 0 obj << +/D [2547 0 R /XYZ 65.161 268.343 null] +>> endobj +2580 0 obj << +/D [2547 0 R /XYZ 65.161 257.384 null] +>> endobj +2581 0 obj << +/D [2547 0 R /XYZ 65.161 246.425 null] +>> endobj +2582 0 obj << +/D [2547 0 R /XYZ 65.161 235.466 null] +>> endobj +2583 0 obj << +/D [2547 0 R /XYZ 65.161 224.507 null] +>> endobj +2584 0 obj << +/D [2547 0 R /XYZ 65.161 213.548 null] +>> endobj +2585 0 obj << +/D [2547 0 R /XYZ 65.161 202.589 null] +>> endobj +2586 0 obj << +/D [2547 0 R /XYZ 65.161 191.63 null] +>> endobj +2587 0 obj << +/D [2547 0 R /XYZ 65.161 180.671 null] +>> endobj +2588 0 obj << +/D [2547 0 R /XYZ 65.161 169.712 null] +>> endobj +2589 0 obj << +/D [2547 0 R /XYZ 65.161 158.753 null] +>> endobj +2590 0 obj << +/D [2547 0 R /XYZ 65.161 147.795 null] +>> endobj +2591 0 obj << +/D [2547 0 R /XYZ 65.161 136.836 null] +>> endobj +2592 0 obj << +/D [2547 0 R /XYZ 65.161 125.877 null] +>> endobj +2593 0 obj << +/D [2547 0 R /XYZ 65.161 114.918 null] +>> endobj +2594 0 obj << +/D [2547 0 R /XYZ 65.161 103.959 null] +>> endobj +2595 0 obj << +/D [2547 0 R /XYZ 65.161 93 null] +>> endobj +2546 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +2598 0 obj << +/Length 2713 +/Filter /FlateDecode +>> +stream +xÚÕ]Ksã6¾ûW°rYOUŒ!@€ä×f²µ•¤²±+»›I0I,ó¡€Ôh¼¿> HU†”d6Ԅ²¹X²D6›þú‰¦|oåùÞ77÷7oß ßKH²Ð{\z!#aäÅ4 Aä=.¼÷·?ª\ÉZ½¹c¿ý¾jTݽ]Vº{Ó¬û/ÿ^¥÷UõÜýóŸ‡oßüúøOs™;JI"DGí¡yÉU½Vª©Û¯ÍÕ©›«‡A{uF$b±w'Hõ×¾!Å·o»ÊÂöě¯o~»¡†¼ïQO„$L/J( }æ¥ÅÍû_}oa¾3 žÄÞndá ê„æ}î=ÜüëÆï%1~=–Ìá%xf>-6±MÜ2‘ô‘Zµm6[àb²„¸1p°õ|P…ÍÊE–¿7³zç§PŒ'»“ÌjèýÛâ æ$à‰; é#qàŒÙ^‘IyÊb@) +$«gýf;pÈ»þ<¿ÙTûXsl&¦ü¥Luu™Ç8wÜ¢»y•ÊüÈӟ—á­Üç(ò¶÷ˆæ•ԝöé#Õͬ…G47Ѹ¯]\žÐœÇF ‘QÐ/­–J«2…2õ²¸¬îË Wõž…JײÌêÂVÑE—µ;Sô!}¤¢£™µPtÁ §žk•gPµ©Ê™ã¢ƒ±;²¥ä[šoÖrf¼åÕÎ%‡Z©¥úrŸ¸Sß!}¤ú¢™µP_Ø§þ®L’©>S—gõ2³…\TÁáÉhúÂ1ä§Õ›uugê=¤To4³ê0ó¾Øü—IHw:kUºÊ^iW¬p¦,CúHeqÆl/ ?"aà®ð;¢–Ùó lK…ýé…ߺÑcÃûzàP¯·Ëå±/˜ÈxUlòqÁkºž¶[géhtõ![€sh©úIKýb w‘tµ W>¢Óp<³pß ’¶GÝm—Û2m2¨‡n[ø–š½WÔÊ=¥ª;`PÔA‘­TÛ0‡zhTä6ºÊmcwgz<¤Ôc4³z'Ä?l¬8mA'ª0äoä3¸*ž–™®—O×RË´ªí¤Wåõô:|nYřE´¯>8ÃĀ<XV-ÅÄç}9Þ¡‚éªjƒJ+hýä"ÍQM +šögr¡1Û #è +΄1¤–Ù³upÂ(›»ŽS˜Àߢ*Óh‹ƒ/ê[éÕÌ]+—wXVº¹«[,e1^ÆiÓA»Ò‡3´ é#тfÖÂG°€0ô>¢/Ö3ÇG¡/´´?RE¬’V 5÷í۶؎@<­ß~Wq¦ßCúHýÆ2{^›)#,é«úŸM¨£Êä+Õ+3L¯4OºTßÕJèãVÚ³½0â.t&Œ!}¤0°Ìž ‚xâ“à°'çnjóãbîLôþ~Œ¤·çtÿµe#áI¦ÏÆ~o¡ÍB˝}Ûa¿'è÷ÖòP2j¹Ti3wÙɺΣ.t“!}$LÐÌ£%„Ó¾nZŽša¯o±y|ü/p]OLGL¯X+Y‡F~@¹^®Xí%!ºϙ(†ô‘²À2{Þċˆð$™x›y`s©vV“[õ¼ñþüf©›yGêj«SÛ?”0†šÊ¶Kç,&Ÿ8Kß6Yž5/ƒéœ~xèn0ŠAìИé#-šYø`:7tÃH¶rÕhy¬® +èLœZ6†.0S~ÖÛ¥µ«ô9 ’øš +bJxÌA¨Ç(mƒ¡ ¢D0æCAèº+½èã0„gŽ¡ m{öz¬ :jþv`[‡¯­š½²CëÄáôõÈ\òRºqÐj Øvÿ"TvÕÚ Üä2…6hK`>Wodj] +xBBß]ÿgD‰H4³ˆl;¬Ißš=À4Æù*HÛ‡¬.— ¥ë´ÒÇ3t“;b [TYo5|'´ÓÜTU^C·?ÛÆÖA“»ëùŒè#‚fÖ!œ’$è{>¹ú¸ÒÕê”BSˆšæ9plj5Ÿò™ObR½ú +Þvÿùëvà”¬Ï‹ö¸õ·Wú³ËbG,"aì®·4¢ÄšY µ»¢> h5bv™Ve#¡>ìDѻ蛀q“ßDWM¥ÚՎG©Ô¢JŸªêÙ"“b %1£î2)û$ÝÕ3GôqhÂ3 G‹9¡¼¯Ký0sýÒêRðñS5?lñò„èÊÏEÚ­•žÛ¯Òº¹ÅBcT|w¥‰}$ ÐÌZ* +íñÔ:°þ׍Ô͉dáü{îŒÞk»“Ç+øiB µÌʬºƒÎI6®è™0úÂݕFô‘¨A3k# °ÃpÙìm"°)<á[¦+^54'Ú6ðÝs ¸N`éf&@åpd]ÁS=iÛi`<2šç® 0¢Ä šY Ì´]̨â‹lµnæ­ |ÈÔÎB[Q#= +ÁI’„×̗cďÙÿOë‰QóJ‡ “A«dÎP7¤DšY ÔùœpÚ·&´O7œ~&ºëc»-ÛéFYšÄû×+‚“F‚˜XÅ8ÛaÝBnÈ~3»B©ÑöéãiæF(œ)3¢C(žY8B©ˆHxxÈÌWðé£ÿ¥RW'B¿Ÿ/9©¾ä$ðŒÑÃ1õë=lÜfæÃn ހðÒFÊ۟Kq·iD 4³PáƄžMoLJ–³WÝÛ@-—•Æ—®?ÿ|†&\ ~à`¹‚¢ádb#ÜáÃmFô‘@@3k„@èðpð-U-™¦í3/–†±>Õì¼»›|ºË‹E ªÄYY7JïàéŠKý •ÊvÅåxÇ4,%\¸›ÔÑGÂͬ,7Qk?©aáڕ‰p6gwÆL¯5azD¯™D$‚¹þÕ°/»/¶k÷×9õ›iÜ'~˜\ò“i¿;G +endstream +endobj +2597 0 obj << +/Type /Page +/Contents 2598 0 R +/Resources 2596 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 2545 0 R +>> endobj +2599 0 obj << +/D [2597 0 R /XYZ -11.232 900.716 null] +>> endobj +2600 0 obj << +/D [2597 0 R /XYZ 56.693 742.142 null] +>> endobj +2601 0 obj << +/D [2597 0 R /XYZ 65.161 742.431 null] +>> endobj +2602 0 obj << +/D [2597 0 R /XYZ 65.161 731.472 null] +>> endobj +2603 0 obj << +/D [2597 0 R /XYZ 65.161 720.513 null] +>> endobj +2604 0 obj << +/D [2597 0 R /XYZ 65.161 709.554 null] +>> endobj +2605 0 obj << +/D [2597 0 R /XYZ 65.161 698.595 null] +>> endobj +2606 0 obj << +/D [2597 0 R /XYZ 65.161 687.636 null] +>> endobj +2607 0 obj << +/D [2597 0 R /XYZ 65.161 676.677 null] +>> endobj +2608 0 obj << +/D [2597 0 R /XYZ 65.161 665.718 null] +>> endobj +2609 0 obj << +/D [2597 0 R /XYZ 65.161 654.76 null] +>> endobj +2610 0 obj << +/D [2597 0 R /XYZ 65.161 643.801 null] +>> endobj +2611 0 obj << +/D [2597 0 R /XYZ 65.161 632.842 null] +>> endobj +2612 0 obj << +/D [2597 0 R /XYZ 65.161 621.883 null] +>> endobj +2613 0 obj << +/D [2597 0 R /XYZ 65.161 610.924 null] +>> endobj +2614 0 obj << +/D [2597 0 R /XYZ 65.161 599.965 null] +>> endobj +2615 0 obj << +/D [2597 0 R /XYZ 65.161 589.006 null] +>> endobj +2616 0 obj << +/D [2597 0 R /XYZ 65.161 578.047 null] +>> endobj +2617 0 obj << +/D [2597 0 R /XYZ 65.161 567.088 null] +>> endobj +2618 0 obj << +/D [2597 0 R /XYZ 65.161 556.129 null] +>> endobj +2619 0 obj << +/D [2597 0 R /XYZ 65.161 545.171 null] +>> endobj +2620 0 obj << +/D [2597 0 R /XYZ 65.161 534.212 null] +>> endobj +2621 0 obj << +/D [2597 0 R /XYZ 65.161 523.253 null] +>> endobj +2622 0 obj << +/D [2597 0 R /XYZ 65.161 512.294 null] +>> endobj +2623 0 obj << +/D [2597 0 R /XYZ 65.161 501.335 null] +>> endobj +2624 0 obj << +/D [2597 0 R /XYZ 65.161 490.376 null] +>> endobj +2625 0 obj << +/D [2597 0 R /XYZ 65.161 479.417 null] +>> endobj +2626 0 obj << +/D [2597 0 R /XYZ 65.161 468.458 null] +>> endobj +2627 0 obj << +/D [2597 0 R /XYZ 56.693 420.95 null] +>> endobj +2628 0 obj << +/D [2597 0 R /XYZ 65.161 421.634 null] +>> endobj +2629 0 obj << +/D [2597 0 R /XYZ 56.693 374.126 null] +>> endobj +2630 0 obj << +/D [2597 0 R /XYZ 65.161 374.809 null] +>> endobj +2631 0 obj << +/D [2597 0 R /XYZ 65.161 363.85 null] +>> endobj +2632 0 obj << +/D [2597 0 R /XYZ 65.161 352.892 null] +>> endobj +2633 0 obj << +/D [2597 0 R /XYZ 65.161 341.933 null] +>> endobj +2634 0 obj << +/D [2597 0 R /XYZ 56.693 294.819 null] +>> endobj +2635 0 obj << +/D [2597 0 R /XYZ 65.161 295.108 null] +>> endobj +2636 0 obj << +/D [2597 0 R /XYZ 65.161 284.149 null] +>> endobj +2637 0 obj << +/D [2597 0 R /XYZ 65.161 273.19 null] +>> endobj +2638 0 obj << +/D [2597 0 R /XYZ 65.161 262.232 null] +>> endobj +2639 0 obj << +/D [2597 0 R /XYZ 56.693 214.724 null] +>> endobj +2640 0 obj << +/D [2597 0 R /XYZ 65.161 215.407 null] +>> endobj +2641 0 obj << +/D [2597 0 R /XYZ 56.693 167.899 null] +>> endobj +2642 0 obj << +/D [2597 0 R /XYZ 65.161 168.583 null] +>> endobj +2643 0 obj << +/D [2597 0 R /XYZ 65.161 157.624 null] +>> endobj +2644 0 obj << +/D [2597 0 R /XYZ 65.161 146.665 null] +>> endobj +2645 0 obj << +/D [2597 0 R /XYZ 65.161 135.706 null] +>> endobj +2596 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +2648 0 obj << +/Length 2638 +/Filter /FlateDecode +>> +stream +xÚÝ][sÛ6~÷¯àä¡ufjw‚íS»Ý&ÙÙݦ±vf;I( +’¸¦H•—8þ÷EªcR¦u`ÎtŸ¬XÈááá÷á\Aã`ààõÅ‹‹W? D(’T‹u )’a C, «àÃå{é¸Ò/¯¨À—ÿ.j]u×EÙ}¨·ý—?ÉEqÓýã¿×ÿ|ùÛâæ2W„ HˆNÚu}—éj«u]µ_›«“@™«KÖ^Ë…TWEa}AŒÀP]¾ê~*Ûÿxñ÷ÅÅïĈÇ „D2bA$1 ’ÝŇßp°2ߏTp{X¹ Áˆ2i>gÁõÅ/¸·6*¶Û¯ïI6ö ! B!‚e+¹ý½ÀFO.Š"¥֓¢ ` +/Ð &íjWùIÆò&(” +t…ûf–(¢Ñ Ê–› ûð¾G¢y„,ð{Å9AœõèIŠ²ÔI­WLK >\IŒ/cزRoJ]Ui‘ÃÖ¿…-Kóº,VMÖvY4õ¬7v§ã(pSÀÖÛ¨c7ÕøÖ`0øH"¢”? å;ÒÀYY 0³…²£ÁªèvOÀã>Ö¥†­3ÝCAú¿¦‚Âyx7ýo_|$Œ£/ÿ¸ºê—L’­ªu dZ®õʯïßÂWÇ{øˆž¼‹ËÛmšlméB$¢‰Þè2”ïHge-èB"$HA¤Àg} ÞÛRàºÛ4Ëæ%`^܎€vùÍã̈׵.¡›;ÔTÉ6Î7cÈ·'ÝïÈeˆr—xjâçiHÛ‡2Â(T} ñ‘R1Ð~#…¸Á9îÿË3ÖYKßzw¸Çƒ ®wi½ýö塇b­¿¿CŸ« h©2ÂüŔ2Ä›Ûòµ;Œä»íîÊÂwšôFu÷o$Ç2Nnt\l¯²4ßÀV·éháF續k°à:­MÆ5³×o`ë*­›¸xù8·¥0yãþ >”ïqge- n Ä)é0~¬IYTãXìr:ò:ìz¥Î=s4Uo‹J; ̨†÷Š °««¶E“)ÿ ìÇaëôzmnЖÜäç¡ðNJ¡|GV8+kÁ +AŒc§+ éþbñ듓£þ›Ç#ÿ¥6¸I¡µÁc©wqšC9e\¼®Ü{½n²ìn:Pœô´5èYˆ(‘þ@?”ïzge-@Ï1˜w /uÕdÐê:!Tf^”»8ƒ–š*mO;«’A±†­kö{]> òP˼»¶e5‰·ðW[Éwd†³²Ì ¼O ܽaÀÆ&Ÿ•êYZŒ‘"ÌSB›æëÂ"™‘IfÃÈ_2+F„o Éw±»²p ÅÇ}6Û@Ãæ]|£á!óeÕ,·f¯„'z·ÏâZϛœ(=£ü©ïܙï÷ÿY¼ùùýµ¯„VH“#JêæCùŽ0wVÖæ¡IhyÔm~~÷ëû·¯ß,œrÄ/#lã2)à\*‹õʏò¦Ù;TeÛKBöœ^Lp†Âc¥~v/¶ÌŠäÆƍ1fî•{tc&NÀÔ_j>’ïÈoge-ømâ>vŒfÀ=FÃ# Ýàsh7²,hw_›2Þei/Èê:yj”)(F˜Éçä'B$ñÄÏê./ö-?¿ë¾\ɲ(lËUˆWþËC‰”ò×cÉwc¬»²pÆò6È=Ž$èÝÚDIšª.vP–”Ààp¥×ižZt ùö..ÜÇ]Yvg÷YíN—ñî´¤ªÒ'šá<ãÌó÷ØUŠw¤ƒ«ªl0±0%ê8§öt·°¿¹NžÕ pŒ¸’žœ€ÎWy;Wj³ë3ŒBA=îú$B¡O”å;ÂÜYY œ·1á1—Àͅ¿d]¢oÉC ¸ynys'5Œó4 +)æ/ÉwD¹³²('Æ@´o÷'«bÃSC|Ž…‰gŸ5ÄgŠ!yÚÜÛÔÈfgg!Cò~3aµG"#Æ#ùn˜wWŽyÖKG'ÿýjÝΪÚ>î¾Õ‰J×3.ÆuåËuõ‰I‘¯ùʸÍyž#Â`ŠùKIGò!쬬„…@˜öÅĪ¡Î¹àæ¤{>Å«€QD¦Oº_?ùûÑð Þ5Yî3 ²ŒwHNK(Aƒ'ÆL´=kj̈@ŒùJ ã}Ê{õѦN³´¶™2g&ž”˜ù‹§hđäþFpGòÝhà®,œ4 +QÄúâm[šÏ3muruIÐ ¦u‡;*èˆaÏ|-ýàÝ}4elýjÚm¼ûñ§§t;Ë5j)©ü¥Ó#ùŽTpVւ +Ê\3ì›{ërTý?–›~lã|ÿ?‰2Ëõ‹ý‰ÛyñxX—µG݁g»êñ,Ȁ:”­MYjhoó!j]¾:RR3¶#ùŽ÷¦lo Ùjço¬r$ßѮʞr;Fr«¦É¹Ž¯w8sJ×u=Œh×Ŋ¡ûOº\Æuºóq~ 겁Ç÷wE^T{[88¯'*0RØ_Â3’ïˆxoÊöÆ`RÜ_f$ßÑ®ÊNӟ3DŽïŠ9CÿýÌï·ÈÒͶ¶(lJ}?è¹±˜Zêm +]Cτ?2\¨:%¥>-\~uôT!3/CñŽÐvUƚðUª–’­uúÊØ㘄]—æ¡Çwà÷»´¶øôXåùÇFڔÓߐüH¾ãƒó¦lo Ü%ތ1”ïh We§7èöW¶?—ú8•€v±ÛöÌñÓ»ëùßVs’•>²×ÃG·ñ.´:½ý‡Ï˜ßH$&þ*u#ùn„pVvr'Q„>N´>:þWàñ–;èp±ž ‰ÉNŠL;œP¶9 @T—ìyƒÐP¾#„¼)Û#äGþª!#ùŽÆpUvÒÁ0DLq‡‰3h7t•V{2Á.õzæWPüŸ¹·g9v Ø?d—-z£ÌP¾#e\•vAæ +œ +ˆ úR§ÔÏ?JÑ%CÞåP¾ã£ô¦lo N%þæ‘|Gc¸*;í +8GÊA«2¾¹”à^…þ‹ºóìe‡¬Ð^âáêKÕÞ¤K¼™b(ßÑÎÊ›¶„R$T? oGÚ ì╞ûÍazÐKWÆ«e=³žñ²€¾Sl­ãº)¡¶¿Õ¥~j˜`…÷÷–‚‘|GÎxS¶3FÔ¥?¾l1ïf +WU§?ÆH†–ú-?œ?Ë=Ó*µ=‡:561é˜s=ó û½‘ñÑKÕÎsVu)‡/˜Å»ÁÔYUxKGE($ýŒÞ!+²™AŽ+p%G~¶{û¦íqãù!Yêîà5øÔñA-öÀñóoŸˆKÑïP¼ã[Ó]U…s!T(ý^ZW:³=ép›ÖÛهQ§NÉ<ók—²1À;ÚOzÉÝχþÈ ÇËè)ãæÄäÖ +endstream +endobj +2647 0 obj << +/Type /Page +/Contents 2648 0 R +/Resources 2646 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 2545 0 R +>> endobj +2649 0 obj << +/D [2647 0 R /XYZ -16.307 900.716 null] +>> endobj +2650 0 obj << +/D [2647 0 R /XYZ 56.693 759.068 null] +>> endobj +2651 0 obj << +/D [2647 0 R /XYZ 65.161 752.393 null] +>> endobj +2652 0 obj << +/D [2647 0 R /XYZ 65.161 741.435 null] +>> endobj +2653 0 obj << +/D [2647 0 R /XYZ 65.161 730.476 null] +>> endobj +2654 0 obj << +/D [2647 0 R /XYZ 56.693 683.656 null] +>> endobj +2655 0 obj << +/D [2647 0 R /XYZ 65.161 684.339 null] +>> endobj +2656 0 obj << +/D [2647 0 R /XYZ 65.161 673.38 null] +>> endobj +2657 0 obj << +/D [2647 0 R /XYZ 65.161 662.421 null] +>> endobj +2658 0 obj << +/D [2647 0 R /XYZ 65.161 651.462 null] +>> endobj +2659 0 obj << +/D [2647 0 R /XYZ 65.161 640.504 null] +>> endobj +2660 0 obj << +/D [2647 0 R /XYZ 56.693 594.078 null] +>> endobj +2661 0 obj << +/D [2647 0 R /XYZ 65.161 594.367 null] +>> endobj +2662 0 obj << +/D [2647 0 R /XYZ 65.161 583.408 null] +>> endobj +2663 0 obj << +/D [2647 0 R /XYZ 56.693 536.983 null] +>> endobj +2664 0 obj << +/D [2647 0 R /XYZ 65.161 537.272 null] +>> endobj +2665 0 obj << +/D [2647 0 R /XYZ 56.693 490.452 null] +>> endobj +2666 0 obj << +/D [2647 0 R /XYZ 65.161 491.135 null] +>> endobj +2667 0 obj << +/D [2647 0 R /XYZ 65.161 480.176 null] +>> endobj +2668 0 obj << +/D [2647 0 R /XYZ 56.693 433.751 null] +>> endobj +2669 0 obj << +/D [2647 0 R /XYZ 65.161 434.04 null] +>> endobj +2670 0 obj << +/D [2647 0 R /XYZ 65.161 423.081 null] +>> endobj +2671 0 obj << +/D [2647 0 R /XYZ 56.693 376.656 null] +>> endobj +2672 0 obj << +/D [2647 0 R /XYZ 65.161 376.945 null] +>> endobj +2673 0 obj << +/D [2647 0 R /XYZ 65.161 365.986 null] +>> endobj +2674 0 obj << +/D [2647 0 R /XYZ 65.161 355.027 null] +>> endobj +2675 0 obj << +/D [2647 0 R /XYZ 56.693 308.207 null] +>> endobj +2676 0 obj << +/D [2647 0 R /XYZ 65.161 308.89 null] +>> endobj +2677 0 obj << +/D [2647 0 R /XYZ 65.161 297.932 null] +>> endobj +2678 0 obj << +/D [2647 0 R /XYZ 65.161 286.973 null] +>> endobj +2679 0 obj << +/D [2647 0 R /XYZ 65.161 276.014 null] +>> endobj +2680 0 obj << +/D [2647 0 R /XYZ 65.161 265.055 null] +>> endobj +2681 0 obj << +/D [2647 0 R /XYZ 65.161 254.096 null] +>> endobj +2682 0 obj << +/D [2647 0 R /XYZ 65.161 243.137 null] +>> endobj +2683 0 obj << +/D [2647 0 R /XYZ 65.161 232.178 null] +>> endobj +2684 0 obj << +/D [2647 0 R /XYZ 65.161 221.219 null] +>> endobj +2685 0 obj << +/D [2647 0 R /XYZ 65.161 210.26 null] +>> endobj +2686 0 obj << +/D [2647 0 R /XYZ 65.161 199.301 null] +>> endobj +2687 0 obj << +/D [2647 0 R /XYZ 65.161 188.342 null] +>> endobj +2688 0 obj << +/D [2647 0 R /XYZ 65.161 177.384 null] +>> endobj +2689 0 obj << +/D [2647 0 R /XYZ 65.161 166.425 null] +>> endobj +2690 0 obj << +/D [2647 0 R /XYZ 65.161 155.466 null] +>> endobj +2691 0 obj << +/D [2647 0 R /XYZ 65.161 144.507 null] +>> endobj +2692 0 obj << +/D [2647 0 R /XYZ 65.161 133.548 null] +>> endobj +2693 0 obj << +/D [2647 0 R /XYZ 65.161 122.589 null] +>> endobj +2694 0 obj << +/D [2647 0 R /XYZ 65.161 111.63 null] +>> endobj +2695 0 obj << +/D [2647 0 R /XYZ 65.161 100.671 null] +>> endobj +2696 0 obj << +/D [2647 0 R /XYZ 65.161 89.712 null] +>> endobj +2646 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +2699 0 obj << +/Length 2731 +/Filter /FlateDecode +>> +stream +xÚÕ]ßsÛ¸~÷_Á¹Î4ÎL ñƒ½§Kïr—6w“Æži;¹{€HHbM‘:Šíþõ%:5%Ë\„“>d,KÐr ~ßâÛ]ÁÑ"Âяg¯¯Î^½a8JQÊ)®æ§ˆ‹H’Å"ºÊ£çt©U£_^P†Ï©[Ýì^Îk³{Ñ.û¿¯³×u}½û埗ï^þvõW{™ BPÊØÎÚe{Wêf©uÛtÛ«“HÚ«ó¸»zÂTF ¥¢¿>£Ö ç¯v?åÝÏ~¸:ûýŒXó8"㈧q$R‚8¦Q¶:ûøŽrû™u%©Œn¶#W#јÛ×etyö÷3Ü϶.v/»?>°l烉„!Idg¹{Ÿ¢T¦éF§‘ÑÑü¨¥Qû Nöí3Làt…‡³ÀQJÓ œÝ4‹h÷âC;ÃÛ[•t·JÚ)—ã)"˜ïnÕ¼¨TYÞmïÏq[ÑÇ Žñ¹‚ [©ÌÔ°¡"Aכ¶-ªÅ¤~ÎTv½0õ¦Êãí¬¼êß8üây“­«½/lÍýŠ>þ½yQ–::Vßî{d“Ý{ƒÛ? Ô=ðãI‹›`ÀÚ÷¾·³À%"I£Ôá÷ÆSYg×°¡õ6®Õ·­;Öô>zÐñ±‹ƒ±::Øe2Ö¦^µ‚ .‹æ€ÝÐûbQÁ.ðþx_6­4ñㄣ1 +H·‡Ö=ÉÈÑ~ˆ5™p1´ï9¾ÎFaíÜäˆÚ+l£ÌÅ—òº&lÚ¢,Ú;hØX­KÕé¾iWá£Ökð2¼‡Mà€è²:×®„·ÐK% ‡ô¡}O¤{;ë°Âb†h¿ÀÎëjé:ÿv„eSY€UYTúTà¿|度ðÔNnšü6ËJx÷€·íñŸ‡ dŸŠqÁcÉîîýJ)¸¼ÃQb‰û|³žiÓ¾Üþ­—­ºkëêÏ//µ¿=×UkîÐmSõ+·À•4õùӟ^¨8³É–ÆÞ¡y?òz» +àîg·mZÈäîŽÚ۶ޘuÝ^Y.4С7° ŒôvMÚË`Ÿ\y]ƒGQ5­Vù´ëØ¿7M /³Reñíð6k•éGÔ4î5‚òQ$%yÖc”$ô„ôs‘-•.»¿±]mó†]4Zíò>uYFãˆ(F‚ˆ€§H°p%ª=ûž¡ÈÛY‡XDb„“¾Dõ¦¸…Šd˓EµÒU;-Y煁²µ“ù—’¼`™£U¶tÈÌmÀªÆéa“+Áj­¡}Oôz;ë€Þ8A˜Ý÷¡8èT±ÍÊýT™½àH» \]ª:Rõ?@e·‰Fµ,Óë¾ÌžÚá§I‘ ×­š÷$ƒ¯«\ 6óN{Mæ’F( RntYNkñx^À@Wj~Vɔ¤ Še(É´.:½ôíî“殪×~_+£VèöFÏo|.—ŒNWb&gV"b;Iá֞}?Vú; §e"ì5e/°¾ƒwÁ±~¥*‡M#óM•mÑՍÃךn'!pûHMÝjãXrø 5À3Ó(¨BÕó¹ÎÚ@•²Äþq8õ¶gߓÞÎ:PÃ^ß7-Œ×jíì„XßÀ¸úRz¢ÖL+É~ºúù+ʙ…]Àø?0ï‰q_W Îlz͏‹²~¾/FvéÛNzONÐ!×sµ)V?©rÍšÇ&ãÅq +©ª)ö÷blŸáé=àq‡®V¹P›$]Oây,å(f¡ìgÑ ++á9 ©I1CœŒICûžAÉÛY‡¨„í[Œß?rrS›k¨,]ª*/ÁÕ~h£ôoû,úãqÊ}€/ÒkS·u{·Ö>UžÙú¼Z©Ðußè²ØWL£´‹m+p89ºgߏþÎÂY§¥é}㶚X4Jªc#ה§vD©Ù¦TÆgïåx%s¶il¸‚o¤Êkh^æ ‘g„Œ‘`á10ïÉ_Wè Âq/][c¥×¼ÛÏÖug¦í´eƃîhÏ%ÀÂrR/ €"½h,Cï¦ÎX·ù¤Uñ®Äô¡DžCûžÔðvց‚#,R÷Z;4‡n“(ª\W-T¼Á^óº,ë°ÎƒñQEæP÷yŠ$¦Ï™5ʼn@q÷ÈôW‘5ű@<–ᲦØ&‰\ԇCûž¤÷vցô´ƒF¯ߛz­ ôñëÂrtaT&˚]«áS³Pƒ{ƒÇ¹Aáîš÷®¯«¸%)¸rÍç#!%×4Äg˺ÈÀ2ۛƒ=™_)zÁÛK¾ûåòmò8“ÛԙoCûžtðvցX"œôâ-Ûc4gu՚~D»4õfܱ¿>³~þ`©Ý 8(T€矮'6 +lšÆ%àäÀÞ³ïlgáÀ¦©ÍØ{\ŸÚ…ïΚºÏ4ÓÝq=õ¾mÅuU4«©kHŽ!ÁhèÈÚuç•É$‡ô¡}O¤{;ë€tɉIÿ¸úT¡g¼Œ§SÇZ·E¢˜ú `­6Î +A”áêµ{ö=Yáëìq¶Ž]YâÉ%Ý1«Þc?ŸºTéĸ‚®UÛuó1ù3²n¾†R ˜4›5ü~pº±XºöF(·RŽlCûždóvÖa â ¢¤¯ +Bë™Ñ +ª¯ÔÿçöOpš¼R×úKÆpÕì0xŒ³&ٕ +ƒ±fhߓ5ÞÎ:°†ÅˆÞŸTsP(å§P®­n´ù45ƴӓÑNˆœé¥úTÔæ‰å€<{S…|Îþ¥ bq¨?’×Ù¬®¯:$”$H’8\‡„b›Ó³€thߓÝÞÎ:°ÛN5¹?ÆᄼG›§s]Ë×gìŒâ^ÂIΟ“pDXQˆp(ûÔ‹ª6úþY£Â|„K$0 G>Â:‹áª{öýÈçï,œ|öÂñ±çŒz€sœ$ùlÝu𔊼p¬¸|ót^õþíIJ³¨²Ú¬k‡fl1y{ó@lŒÓÊ.ëB†«îÙ÷D½·³¨gaÑW­V*­MQæ§nA!IŒDʞ5âS‚âûSý'ø'œôHA< Ä"vUå"\órϾ'Þ½uÀ»•s]×óՌ^Ø|¨oÞW̶¥Å|Úmm›J7™E’«f9ížÔ™xê¸L‘ áÌм´½]…#;íµ‹Óžº*ðS¾`àz†j·+@W®;jþRÚ 4Ðkñ˜œû‘iB“ºtÙÄA°p*bhÞóðk_WáȓᤗWKUAO>‡“ïUUh`úNyw"ó‰ÚD0;åSJ“ƒÿö'±zkwºëÿúó_FfS™ +endstream +endobj +2698 0 obj << +/Type /Page +/Contents 2699 0 R +/Resources 2697 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 2545 0 R +>> endobj +2700 0 obj << +/D [2698 0 R /XYZ -11.232 900.716 null] +>> endobj +2701 0 obj << +/D [2698 0 R /XYZ 65.161 760.065 null] +>> endobj +2702 0 obj << +/D [2698 0 R /XYZ 65.161 749.106 null] +>> endobj +2703 0 obj << +/D [2698 0 R /XYZ 65.161 738.147 null] +>> endobj +2704 0 obj << +/D [2698 0 R /XYZ 65.161 727.188 null] +>> endobj +2705 0 obj << +/D [2698 0 R /XYZ 65.161 716.229 null] +>> endobj +2706 0 obj << +/D [2698 0 R /XYZ 56.693 669.433 null] +>> endobj +2707 0 obj << +/D [2698 0 R /XYZ 65.161 670.117 null] +>> endobj +2708 0 obj << +/D [2698 0 R /XYZ 56.693 623.716 null] +>> endobj +2709 0 obj << +/D [2698 0 R /XYZ 65.161 624.005 null] +>> endobj +2710 0 obj << +/D [2698 0 R /XYZ 65.161 613.046 null] +>> endobj +2711 0 obj << +/D [2698 0 R /XYZ 65.161 602.087 null] +>> endobj +2712 0 obj << +/D [2698 0 R /XYZ 56.693 555.686 null] +>> endobj +2713 0 obj << +/D [2698 0 R /XYZ 65.161 555.975 null] +>> endobj +2714 0 obj << +/D [2698 0 R /XYZ 65.161 545.016 null] +>> endobj +2715 0 obj << +/D [2698 0 R /XYZ 65.161 534.057 null] +>> endobj +2716 0 obj << +/D [2698 0 R /XYZ 56.693 487.261 null] +>> endobj +2717 0 obj << +/D [2698 0 R /XYZ 65.161 487.945 null] +>> endobj +2718 0 obj << +/D [2698 0 R /XYZ 65.161 476.986 null] +>> endobj +2719 0 obj << +/D [2698 0 R /XYZ 65.161 466.027 null] +>> endobj +2720 0 obj << +/D [2698 0 R /XYZ 56.693 419.231 null] +>> endobj +2721 0 obj << +/D [2698 0 R /XYZ 65.161 419.915 null] +>> endobj +2722 0 obj << +/D [2698 0 R /XYZ 65.161 408.956 null] +>> endobj +2723 0 obj << +/D [2698 0 R /XYZ 65.161 397.997 null] +>> endobj +2724 0 obj << +/D [2698 0 R /XYZ 65.161 387.038 null] +>> endobj +2725 0 obj << +/D [2698 0 R /XYZ 56.693 340.242 null] +>> endobj +2726 0 obj << +/D [2698 0 R /XYZ 65.161 340.926 null] +>> endobj +2727 0 obj << +/D [2698 0 R /XYZ 65.161 329.967 null] +>> endobj +2728 0 obj << +/D [2698 0 R /XYZ 65.161 319.008 null] +>> endobj +2729 0 obj << +/D [2698 0 R /XYZ 65.161 308.049 null] +>> endobj +2730 0 obj << +/D [2698 0 R /XYZ 65.161 297.09 null] +>> endobj +2731 0 obj << +/D [2698 0 R /XYZ 65.161 286.131 null] +>> endobj +2732 0 obj << +/D [2698 0 R /XYZ 65.161 275.172 null] +>> endobj +2733 0 obj << +/D [2698 0 R /XYZ 65.161 264.213 null] +>> endobj +2734 0 obj << +/D [2698 0 R /XYZ 56.693 217.812 null] +>> endobj +2735 0 obj << +/D [2698 0 R /XYZ 65.161 218.101 null] +>> endobj +2736 0 obj << +/D [2698 0 R /XYZ 56.693 171.306 null] +>> endobj +2737 0 obj << +/D [2698 0 R /XYZ 65.161 171.989 null] +>> endobj +2738 0 obj << +/D [2698 0 R /XYZ 65.161 161.03 null] +>> endobj +2739 0 obj << +/D [2698 0 R /XYZ 56.693 114.234 null] +>> endobj +2740 0 obj << +/D [2698 0 R /XYZ 65.161 114.918 null] +>> endobj +2741 0 obj << +/D [2698 0 R /XYZ 65.161 103.959 null] +>> endobj +2742 0 obj << +/D [2698 0 R /XYZ 65.161 93 null] +>> endobj +2697 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +2745 0 obj << +/Length 2637 +/Filter /FlateDecode +>> +stream +xÚí\moÛÈþî_A ÎêÕ¾“ÌõŠæ./×6¹\m÷Z 9¹’S¤Ž¤ìäK{—o±E‰òÐËuŠ¢_,š\ÎwŸÙyfvHì,ì¼>ùþêdöJ`ÇG¾¤Ò¹Z8’"é:aˆ¹ÎUä¼?½P‰ + +uvN>ý)+UÑ.²¼9(WíÅYø}–]7ÿüëòÍÙ¯WÕݜ‚|!i—åçD+¥Ê¢º¬{'Ž§{—¬êK¹ÔsÎòݶÁ´@×;5?„ÊêƓ—W'¿-;ÄIŸ9®OÄÔ ×'ïÅN¤¯i÷=ç¶n¹vÁˆ2©çòäï'¸‰þïþÈt}p,Ý>P*jmºÛf¯t“úyxu‡¸ôô…ºñÛ8\*ù€.×ú/9;—Ÿ^®ãrõììœPýO¦3GŸŠ¤‘ªÇ­\ý¼Þ}b=OÄ¥ŽË|ÄhýÄÕyõøqéPä{¾“+gqÿw¤>»ßõӓÓvÐ&UkSùIúò&ÈÕCéáþôKäSekùÒi.ZìÌi§8ÓXÓà­§öUüIE;@ؗ伯§{“góD­ao54`-£¬1¨‡[ÎUœ.aMUèƒÅ)¬Ý"NT¬PÝlk·T©Êƒ²¯íÃD\Ä1·ð]ù†7VvÀ)Ö m¾FÌîîÌê»Q{bàž’¬Ø»©¾ò;âQ—øâW« ½â©Ì`í^i¬XÛ7*ŽT^<6‚q"Lñ±^LjOéiÐØñbqšÄ©áƤGv…=7&]‚‘Ö¬¼'ßÌÊ͕…[¹ty½¢Ôsû<Š «}±Ýl²ä‡M¡Î1TEvPE™oÃr¡ 5:´|T \9Noà’l6*ÈÁJAaž-#•”áڃñ®|C+;ƒ!ÎÛ#ۖ›m ÅqžgÛŒûùgX»¯Þ¾9É?ã±G +õ™?w{e°Üsµß¿e'ªÐQ–«8Öq ¥rP.ûªâ7Z3¡]ù†&d¬ìq¯ lã2rŸu_o7}VÄ`<붺ír€ +QÿHO5±Á/` ÷K«à&\Å׏%ˆ’KD±o Ò +S®ðw"ö‘ÛÑ}Yö'€`ýp/7Ûy›Ç¹Ï2±sN9"š®º Ñ"K’ìŒ +ØjoZŸÒl2]v9¥UpFñéͧís¥ÒæhDí9=E_OußZÝ»¾‰Ç‘ëʎ¯ªÃR©ié…Y'[sPõòZڂ¢ÍqÞdÃÐîhœS¢)›ëꁘtÁ«ÿ¦ªX¿FÌ«`•,s•vtz§³b£ÂÙÅËç/Þ¾ü¶iõålõ„s$ó,»þXBùˆ,!0âÂ"ñÌGÜ·G¼{ò͖[ceWÁ)r½–f3Ì.Úiì¯ß_K«I‡­Fiv ¤âA±·lUû€±Ž« Á_ŽHs´j¬_éÚ³jîëÛ#Q=ùfVm®,œDéÕ£^AêYüE埡qo¼ŽËøFÁšÿ3N£ì¶øš‘zg@ž®J›W|¾x½IÔZ¥ePÆY:2ÄiLrâÇÍ·iÚOì™pÅxü;æ¸5tï^+qm?m›s =s"Ê}{æ¶+ßÐ܌•˜›'Öì’ë_ÑmT–ª€ÆAM –‹ö#t$Ü[Oä:$ž6ùÔl—$#m«Xé•DAmæ—~H={Э®p[-ã3~E'À°vÄIqÈQKaaÅÈ]‚èfÓW¶o@ǯïÛýN—Cfúe°ñ #Ö_‡4R¯ .GÂõšIÛqŸ·¹ èjt0V>!ÿå\è>„uþÛ7uó¢ÐÞ¹è"N ¶N}9Z2±H}u„1µç‹wåúbceGP_êUf_OâmRgҌۻŸ_ï&NÕ´}§Ô9m7I%”éFšSsóÖAS™l‚*<`Ð̓>Á:²'•iMÝqâ̊''an¯fª'ßp‰0Vv]'.b¬ÍÕܹ¨U«pjK)‚µ™ââ„hȟÒÅ3Ï«k'uñ†i0×C.áö\+«ª?ï’Ñ“ÛMO¾™Ý˜+ w­L3êÊF»ZCp)B§×àÆP_f7ÐðÏq¿.ãôÇ#Ì(ÖAZBÓUy܅« k®K©hââÄý!»s'‡Õx,՘ö( –AœŽœrôFêA²o%IÆôjé>´y3qÝësªÚӌ¡™ÄÚo·»Vo5ùƒf—^g*O÷?"’f‚!ïiw’43AtꝤG¸YJ´l‹›7L#IXܼéÉ7t³Æʎp³„ÕfWÏé?6QPÂ}'4:)ã2QÓ:xßp“X5»/ÓfœÁj.·q4qø>Ê[g9°¥úTÅùñ#’Ð¥…b¤kóÓíNQ_ût‹»S=ùf뉹²ðp—aŠ¼nwÊÜ%R_jîô”‘ºá®8|òj&õ)¨öy‹Y°Šß¶êceSY¤¢Y˜¥¥^P¶YìeŸû7YÏ(SɑÍ7ì¨f:ô.c=½ùìÊ74ceáî˜j +Þ¦=þ’Æe ­I W*¼ÞnfËòZåˉݲý]xÄ{›å×à·.nâÉ+à¶Àéú)ËKh:úÏ£l>6µG9EÌâÖNO¾¡%+;¹@ÝËbà҉Æ€šv.bZ¼ƒQž^¨8I>?¶>›Voaö¤®™Hä +ùµƒUŠ5]fÏ;Mz0±÷znO¾™M+;hDÓÖª° žÁï¾;ž¥{} ¶g +7®Ð9Xrø –HE›-¦ÿ{ò §Úš²í`TÔÛbÝ|O¾á`+ ÷EÄuër’¿‡o +ԏdÔßjÿïّz¾+ÿË6ЭôC‚gÇë +?ŽT&ŸµUÉaö^DíÉ7„§5eÛÁÕ¯½„jO¾á`+;ÂV…¨÷j[í¾ÔCå³gð|¹ç›&'ˆ{ɨž|ù0Uvxä9¯_şÈ;RÔ»M¢i©Á<ùJ)Ü0Wø + aQ‹ÞvG¼!h UÆ cwù– 1S•R#;`@kÐRõ).JðVFõñš±À!þýŠß鑳+ß:¦Êc‡R$<ÿh½Ñaq­Ê ìÁ{ˆq{©«ž|Cš*; CBd“£°ñ)–çxPàbÄ7f÷6­Dß„T¶À³+Þ ;¦ªCc$]29vVô­Nðy˜å¹‚–È­ãµ*?oþ{ÀæIÄ©½,Ï®x3°™ª:6ÏG.¡_Í[ÞÉáŠÁI^W4ÇÐðk›Àvy‡£}¨Û«Ö>¹#Þð;†ªôÑC®`ÿæSóØ{9ø;fÚ!ToãõZ7¿‡¾•Ì1ÂÒ̧’ÿ_®< +endstream +endobj +2744 0 obj << +/Type /Page +/Contents 2745 0 R +/Resources 2743 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 2545 0 R +>> endobj +2746 0 obj << +/D [2744 0 R /XYZ -16.307 900.716 null] +>> endobj +2747 0 obj << +/D [2744 0 R /XYZ 56.693 742.321 null] +>> endobj +2748 0 obj << +/D [2744 0 R /XYZ 65.161 742.61 null] +>> endobj +2749 0 obj << +/D [2744 0 R /XYZ 65.161 731.651 null] +>> endobj +2750 0 obj << +/D [2744 0 R /XYZ 56.693 685.074 null] +>> endobj +2751 0 obj << +/D [2744 0 R /XYZ 65.161 685.362 null] +>> endobj +2752 0 obj << +/D [2744 0 R /XYZ 65.161 674.404 null] +>> endobj +2753 0 obj << +/D [2744 0 R /XYZ 65.161 663.445 null] +>> endobj +266 0 obj << +/D [2744 0 R /XYZ 56.693 626.55 null] +>> endobj +2754 0 obj << +/D [2744 0 R /XYZ 56.693 599.175 null] +>> endobj +2755 0 obj << +/D [2744 0 R /XYZ 56.693 553.059 null] +>> endobj +2756 0 obj << +/D [2744 0 R /XYZ 65.161 553.743 null] +>> endobj +2757 0 obj << +/D [2744 0 R /XYZ 56.693 506.771 null] +>> endobj +2758 0 obj << +/D [2744 0 R /XYZ 65.161 507.455 null] +>> endobj +2759 0 obj << +/D [2744 0 R /XYZ 56.693 438.565 null] +>> endobj +2760 0 obj << +/D [2744 0 R /XYZ 65.161 439.249 null] +>> endobj +2761 0 obj << +/D [2744 0 R /XYZ 56.693 381.318 null] +>> endobj +2762 0 obj << +/D [2744 0 R /XYZ 65.161 382.002 null] +>> endobj +2763 0 obj << +/D [2744 0 R /XYZ 56.693 324.071 null] +>> endobj +2764 0 obj << +/D [2744 0 R /XYZ 65.161 324.754 null] +>> endobj +2765 0 obj << +/D [2744 0 R /XYZ 56.693 266.824 null] +>> endobj +2766 0 obj << +/D [2744 0 R /XYZ 65.161 267.507 null] +>> endobj +2767 0 obj << +/D [2744 0 R /XYZ 65.161 256.548 null] +>> endobj +2768 0 obj << +/D [2744 0 R /XYZ 56.693 209.577 null] +>> endobj +2769 0 obj << +/D [2744 0 R /XYZ 65.161 210.26 null] +>> endobj +2770 0 obj << +/D [2744 0 R /XYZ 65.161 199.301 null] +>> endobj +2771 0 obj << +/D [2744 0 R /XYZ 65.161 188.342 null] +>> endobj +2772 0 obj << +/D [2744 0 R /XYZ 65.161 177.384 null] +>> endobj +2773 0 obj << +/D [2744 0 R /XYZ 65.161 166.425 null] +>> endobj +2774 0 obj << +/D [2744 0 R /XYZ 65.161 155.466 null] +>> endobj +2775 0 obj << +/D [2744 0 R /XYZ 65.161 144.507 null] +>> endobj +2776 0 obj << +/D [2744 0 R /XYZ 65.161 133.548 null] +>> endobj +2777 0 obj << +/D [2744 0 R /XYZ 65.161 122.589 null] +>> endobj +2778 0 obj << +/D [2744 0 R /XYZ 65.161 111.63 null] +>> endobj +2779 0 obj << +/D [2744 0 R /XYZ 65.161 100.671 null] +>> endobj +2780 0 obj << +/D [2744 0 R /XYZ 65.161 89.712 null] +>> endobj +2743 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F52 695 0 R /F95 923 0 R /F98 924 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +2783 0 obj << +/Length 2497 +/Filter /FlateDecode +>> +stream +xÚí]íÛ¶ÿ~…m¨¨’")2X +´M.]‘¶[s$A¡³è³Yr%ù^ö׏²äĒ%™4Í´œ/V$êáOŸ÷GâAïփޫ‹o®/ž^Qè fÞõÜc°ÀãÈ~à]GÞÛÉÏ2‘a!/§˜ÂɏY)‹úpžåõA¹h.¾Èfßdهú?ÿyóúòýõ÷jš)B@PZS{S>&²XHYÕe5;ò¸šùÕì„ ÀܛR ‚f~JÁ€OžÖ?³êƋ—׿] EzÈ£ 0á{@€Aì͖oßC/R×@÷î7#—E`Ÿ©ãÄ{sñ¯ Øp*ˆÕaõój‡²â +° +8âåê<‚ U£…—Ko>Hé } +C]ú"0®5Ã.X؃݈…âçfaÈF,¶0@Õ 3ݬÜLžßzõÁϯ.¼·Sá¤Xdë$jÆ4³ ½‘zãîÂ$n“l.€A,¹ZßèQç¥Ìõ†æ2d§·š”5ÙPiOkdkyZ"¿LŸ®Öՙ`¶é[ +¦-ØaÁô9@$8 æçÌ¡‘òN¦z#ã¹æ¸RoÜ",ôf©æ¢ÞæájÏL5ûÀ¡>îR·ÔF; Ãºˆ€8?ëâY\†é£‘2¦Úˆ”däNÛô-5Òì°N"°šá¬“g<NFëUÏÂRFnuX)•à؝·é[ê°-Øa†àӇ¸¹\e¹¦ …š²+—«RS†æq¢iCtå7N÷­Ía!cˆ‰3!ëз2k°ƒBÆ>B'—²Y–Îã|©7¸\„åIí³[÷£/Âqq,^ æ@FÝ p›¾¥Û‚`îŸâ“ pš•ºæg–¬#Møç‹+m«fàèzd3!/Nk¨{¤|ðé—á­4àg©i˜ÁX]Üt¦@mú– +d vX |uáÔ +d¤švýú§oõ&qúáÿNϪLOûû°OÛËSÔ¹¯†‡k­«°Î4¨MßRƒœm˜Aê2˜3f´é[2Ãìžü  + š&ÒUœÆÅBFG)gsCÀ ÷=`¬¤ +B#c™öëʉ³elÓ·\Fg`fàM +êŒ-ò–¬°„:,¾˜J›ò6: sò!\®º]Ý÷ååæ2¿{ÆÉ:—Æ"‹êÎÙ2µé[®“3° 3`8cF›¾%3œ­™AEÛ¹bF‡¾3¬Áª00Þ9ž?WÂËü&+ä©ã¼R¥néäNæÚéOxÆ©.é_Ã$ùU³k:×­ÝH}D™q1˜rˆï®Nסo)ÂÎÀ6ÌêPÊ3Úô-™a V?Ƥ¯6Iì•r£ÚïèŽKûBÑwÂ‘’bžg¹&’2_§û­EDMžÕ'+ €"w[‡¾¥|؂–ÅI²U Ôå©c=gükÓ·äŸ-ØaþQ8iÞàübX¾·/€v$öÙ³á[^j;LméðF·r_f&e¡?Só"Ë8vÍþq6[/eZö=ÜÓá‡û¥ù^F52þƒŒËEïx%îtGÜ ')¥µ¤¿ƒ6£øΨ@y1¼3Õµ$~¨pWFèз´$Ö`5<5§r¦¬œ7míû,ÿ`°°J~ú*šÓ‘;äýÊ›ày(ƒÑ{::>üf¯ø56ºXəɓöãã·ÌTË$.ºú;På±#lZ&}ÿևï¿ÏÅ®¾þÇë—/L3Ìs˜0´È[*ž%ÔaŽ…š€Ÿ=øكŸ=ø‘ÕE#gv¤MßҐXƒ5ðà¨:%ÎüOçÁ—Qñ˜f«".z<8:ƃS7`w5ü}KÕ³;ìÄ!°©ZõOÓpQ×Â\q¯Cߎ{îÀ6Ìàu)È3Úô-™a V¿bJ8PàÓuå™ +9¹@‚¸èʓ ®H9[Æ6}Ëet¶a«ShgÌhÓ·d†-Øa f*ö š*/ÆĪ3¨±dkž:s¶Tmú–Kå là ¿1£Mߒ¶`‡å–`€)û=åvhôc,“¨èµîӚG3åKiªH>U+ðiiÖ¬Š¦kìÿ­·ÄÀÕÒTlöÄhv— H›ø«ºÜå ‚êY¾»þáõw2Y5»[ìî­½iõÉ-o–úz»oÆN3p–méq:“?”Bù×Çy½OhsE=q•%ê@`MéÆ´5®›Y¢µðC¸Îãò¿µ|/ôÈÒg—S„«Úšç˜Î²å2KÁÇüí ùDßm]šKиuóýJ‚Ü™ú};ëfV?Òô} i”àë(’‘á[Ì=IúH}ò¾§t4R_X…y¨ù™R.e—òó'ä[Çr¯VþäPxœÈYi2Ë_g‹žš8kïu†É“§_CÓ-¨V‚â¸ía-FÛjú–Jf Ö@ɔ§Û¶švá÷^Zi :½¢öå¸Øœd`¦ï`´Y>®¤áC„i䆣¥|(­˜3RÔWqcXîGŽºu$r•Æº+€wè[êš5X]CŠAÛæÚõ"ÖþÎþƒn~"“þp6ëÕJåGƒý¨iÏ[3FAoµ¿6LŠìč²mdlàˆ°w¸GA‡¾r؃5P…m»C•€io6°ÿ%œÖK–÷‹x¶ÐlHK¹,NÛ=Öí[ßk⮽]Õ½~w]>¬z¢ÊêÅH0n!ÞHM07ëÛ¾¥û b„û êú,à»|†<ÓJˆÉÇ<Ÿ÷æù/gURžÄ«Bþ±S}9Ið}ÿt™>®>I™þ‹ð.Žê<ÿ[•…É|›æ7Ï`Þ«»óÝe÷ˆ ÀwÁP‡¾½·«oï‘Àº›ýE÷»™ByÝm²Ìã›uyŒsˆõ¿byÔ5¥=/À}zÅ|ØþëîU±F{¿ª8T!ó¥icqeüvã‹ÚV…±¶³ÊºÝÐè÷²ˆ qh(HåÜu*;ô- …5XCA€¨ 8š¤èǐº!ÿGÅ1yCGÊÓî)±ãª5ä„Ýwv4tƒ¨‹‚}V›€ê´ý´]‚#ÌSîÎ,°Ãºe›¼Q°†j`Pº­Zž[øÖÀA=âpø­n‹ºÛ՗q¡“m±P·ªP¤âèÁ¬Ð{lW¥­ Nfõ÷þ^©6Çü¹†ÿكã/ +endstream +endobj +2782 0 obj << +/Type /Page +/Contents 2783 0 R +/Resources 2781 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 2826 0 R +>> endobj +2784 0 obj << +/D [2782 0 R /XYZ -11.232 900.716 null] +>> endobj +2785 0 obj << +/D [2782 0 R /XYZ 65.161 760.065 null] +>> endobj +2786 0 obj << +/D [2782 0 R /XYZ 65.161 749.106 null] +>> endobj +2787 0 obj << +/D [2782 0 R /XYZ 65.161 738.147 null] +>> endobj +2788 0 obj << +/D [2782 0 R /XYZ 65.161 727.188 null] +>> endobj +2789 0 obj << +/D [2782 0 R /XYZ 65.161 716.229 null] +>> endobj +2790 0 obj << +/D [2782 0 R /XYZ 65.161 705.27 null] +>> endobj +2791 0 obj << +/D [2782 0 R /XYZ 65.161 694.311 null] +>> endobj +2792 0 obj << +/D [2782 0 R /XYZ 65.161 683.352 null] +>> endobj +2793 0 obj << +/D [2782 0 R /XYZ 65.161 672.393 null] +>> endobj +2794 0 obj << +/D [2782 0 R /XYZ 65.161 661.435 null] +>> endobj +2795 0 obj << +/D [2782 0 R /XYZ 65.161 650.476 null] +>> endobj +2796 0 obj << +/D [2782 0 R /XYZ 65.161 639.517 null] +>> endobj +2797 0 obj << +/D [2782 0 R /XYZ 65.161 628.558 null] +>> endobj +2798 0 obj << +/D [2782 0 R /XYZ 65.161 617.599 null] +>> endobj +2799 0 obj << +/D [2782 0 R /XYZ 65.161 606.64 null] +>> endobj +2800 0 obj << +/D [2782 0 R /XYZ 65.161 595.681 null] +>> endobj +2801 0 obj << +/D [2782 0 R /XYZ 65.161 584.722 null] +>> endobj +2802 0 obj << +/D [2782 0 R /XYZ 65.161 573.763 null] +>> endobj +2803 0 obj << +/D [2782 0 R /XYZ 65.161 562.804 null] +>> endobj +2804 0 obj << +/D [2782 0 R /XYZ 65.161 540.887 null] +>> endobj +2805 0 obj << +/D [2782 0 R /XYZ 65.161 518.969 null] +>> endobj +2806 0 obj << +/D [2782 0 R /XYZ 65.161 508.01 null] +>> endobj +2807 0 obj << +/D [2782 0 R /XYZ 65.161 497.051 null] +>> endobj +2808 0 obj << +/D [2782 0 R /XYZ 65.161 486.092 null] +>> endobj +2809 0 obj << +/D [2782 0 R /XYZ 65.161 475.133 null] +>> endobj +2810 0 obj << +/D [2782 0 R /XYZ 65.161 464.174 null] +>> endobj +2811 0 obj << +/D [2782 0 R /XYZ 65.161 453.215 null] +>> endobj +270 0 obj << +/D [2782 0 R /XYZ 56.693 416.608 null] +>> endobj +2812 0 obj << +/D [2782 0 R /XYZ 56.693 389.434 null] +>> endobj +2813 0 obj << +/D [2782 0 R /XYZ 56.693 344.322 null] +>> endobj +2814 0 obj << +/D [2782 0 R /XYZ 65.161 345.005 null] +>> endobj +2815 0 obj << +/D [2782 0 R /XYZ 65.161 334.046 null] +>> endobj +2816 0 obj << +/D [2782 0 R /XYZ 65.161 323.087 null] +>> endobj +2817 0 obj << +/D [2782 0 R /XYZ 65.161 312.128 null] +>> endobj +274 0 obj << +/D [2782 0 R /XYZ 56.693 275.521 null] +>> endobj +2818 0 obj << +/D [2782 0 R /XYZ 56.693 248.347 null] +>> endobj +2819 0 obj << +/D [2782 0 R /XYZ 56.693 203.234 null] +>> endobj +2820 0 obj << +/D [2782 0 R /XYZ 65.161 203.918 null] +>> endobj +2821 0 obj << +/D [2782 0 R /XYZ 56.693 157.548 null] +>> endobj +2822 0 obj << +/D [2782 0 R /XYZ 65.161 158.232 null] +>> endobj +2823 0 obj << +/D [2782 0 R /XYZ 56.693 111.862 null] +>> endobj +2824 0 obj << +/D [2782 0 R /XYZ 65.161 112.546 null] +>> endobj +2825 0 obj << +/D [2782 0 R /XYZ 65.161 101.587 null] +>> endobj +2781 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F95 923 0 R /F98 924 0 R /F52 695 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +2829 0 obj << +/Length 2150 +/Filter /FlateDecode +>> +stream +xÚí\moãÆþî_A¤ý`ÑzßÉM“¢½\î‚ iÚ³¸ËŠ\K¬)®BR>»¿¾C‘t$êÅK-©¨?‰^gg_fžy†Kcoæaïýśۋëw{ +)I¥w{çIŠ¤ï„!æ{·±÷ñòƒNuXè« øòo¦ÔE}ygòú¢œ77ߚè1÷õÿºùñê—Û › !H Qk»)ŸR]̵.‹ê6ôN¼z—¬êKù4ð&)¿é_Pè—×õ¡²zðâ»Û‹_/¨Çñ„DR1ÏWIL½hqññìÅp @\ÞçµäÂ#Ê$\§ÞÍÅ?.p3øàŒ´º¹BËÚ¦O”Šµíc×ï@d=^= .¸±~>$ñÕDb|ùm.tþÕՄPøKGi²,4z,ÒZLS¥¯úy¿=@XâSÏg +1Á«VíÃtqéQ¤ååÚ»Ûі¶ý­»Ð1¸ÕtP+&•´«~ˆ$]ýäÃLÙô°¹Ú)ª0v­0ŸyõŇfù·–²5œÁÖ +X½¢ïu¦ó°Ô[[`W™÷q½èIëÇ-QPš†Ýg.©â»$µ4!ÌbKÁØR0×)L€¥ðÌ;ÁÒRn™®fIv–9=ªwýÈ[£ ;å™)ퟴ¥`±Z.Mn+¬u7h‰ÎŽxP¶>aŽë áó7)qˆÌÄ6nx e´°²­ß1¬8kVp !„a<^Ϧµ—ÂB†iaìS‹ÕàˆóÀEüDO©ªàôü)\åIùŸ?ÐaV˜ìt•E‹ñTúQÐ8ÖNïèwÛéîÆÚ¨ô9¬пÆq;šýõ‘^¤Ý ÿÕaéÏI9ïŠO‹/CÈÌ,ƒ8¤p]Íß|qXõ¯«¤Í¡ñ‹ãR@Ε}zùc4_e÷=qmVú´cØõŸ›f ÑQ˜¦Åi¨ÿ²KHâƒñणßÑɜíád’!á7T«âeVóÿl¤çrïVûòø¶¤ÔÏߏˆÇ&*Ÿ–ºç ¬ºïhKýX:MÎaßҋe•©§& x/£Áx¾¶­ßÑלíák‚"Iš”ævžX»ExoK +éߐÀ8D®‹“:Ê¥vÐòðĀ áÌvnvòßÃV˜ÜNp®Óe_ bbRçÛúÃÙØÎÁ ’¢©àõ"©Õ¦)ö¥†Ÿ°ÀGâÿ<‰æÖìiQ [˜Ú"í<´œ“Ùª4«Ô•ôãrOV óJ^¨pÜhKc¦«Ù¾¥û‘<`ÙbˆÇOiµë}¡6 ªP +aNë [9EwWü3¼"âòáŠBú¾ ‹½ åˆÞƒnËåij®¨€L%›ÕMÑ<Ìfm9}VZ*ýÍS­³újÆMlÈçš{]›a}“€#ߗ-uþwøÎ÷[)0b„´‚‘iõIéNYbC´¾Îë—h{v&”Uå .¢b†¥ùí8zð|Á +¤?Ï‚ÇK‹:úÝ"¿»±ö‘_0˜ %_yþ+Ïwæù‚øHññÒ«Ž~G's6¶‡“Q‚hû‚ö•ç¿ò|wž/0lcEÆóµmýŽ¾æll_«N øÁ+Ïÿ?æù\I„Í9:úݜÃÝX{çà@›Q¯<ÿ•çŸÀó¹b@ºÙY‰>‡_‹g¢Oð^¦ÿÁ¬²¸Ì“ÿqŠŸ1J;ÎáÎñ9AXŠšãû'Pü›R?èšà¿Òвûij¢û‚ÆÓûŠßÿéªÙíy¼HifòE˜&½^ñ3å#ÁÆcþ,Høã%JýnXàn¬=°@¡@4Xp—Vm©w U®¦öˆTœ!)J÷í¢-½â/‘9±ÚÕ´ +Û܈1±M¾|¿ ©‘}£1.㦱-^ôñ Kév†ñ¸çPUŸ†Ëu:úÝ|ÇÝX{硪:Ü$€áNÿð™íÕ4KÝ9m;Xè2„BË*@˜Åi҅«Ãgø-sŽdš&FgeþÔ©"ˆâ³ú;•P¡=þ¤úc:2÷‘R#:ò¶~GGv6¶‡#CòAƒƒoê†ùæÀ:¯ÖqR&&;µ|M¹@göJ‘ ÁpÞ›hjÌýdYUGw¸ð¤F΍öF~Gr£a­jòÌ¢›zÂöG + ¸|þè0‡àç+R_Y®¡°ùG|í#¾vïèwtfgc{83äC¸}íþA/̃µ;o‘9 K›4î‰ö±^æ:²ÿ°,2ÙPünÜ8–"ÌM|jŒ!*@Qç 2ėë­ÃAôRGÉ]s “VT8ÝF“é=5ÆìOÕ7‚ˆuÔvN?z!²ªiÉñ‚ I2ÞçýnAÆÝXû Cª\­­ÿîÃÏKméö?ßÁŽ?¡Rf;¾}¹ËaáT/€ ô´&Y,sû˜`_üeðnv˜åî0«ó}“J8GRŒ—Jtô;z¹³±öߤ’Šƒð&•ø'¤”錄ï¾ý·X,‚¤> endobj +2830 0 obj << +/D [2828 0 R /XYZ -16.307 900.716 null] +>> endobj +2831 0 obj << +/D [2828 0 R /XYZ 56.693 741.959 null] +>> endobj +2832 0 obj << +/D [2828 0 R /XYZ 65.161 742.642 null] +>> endobj +2833 0 obj << +/D [2828 0 R /XYZ 56.693 684.809 null] +>> endobj +2834 0 obj << +/D [2828 0 R /XYZ 65.161 685.492 null] +>> endobj +2835 0 obj << +/D [2828 0 R /XYZ 65.161 674.533 null] +>> endobj +2836 0 obj << +/D [2828 0 R /XYZ 65.161 663.575 null] +>> endobj +2837 0 obj << +/D [2828 0 R /XYZ 65.161 652.616 null] +>> endobj +278 0 obj << +/D [2828 0 R /XYZ 56.693 615.767 null] +>> endobj +2838 0 obj << +/D [2828 0 R /XYZ 56.693 588.425 null] +>> endobj +2839 0 obj << +/D [2828 0 R /XYZ 56.693 542.472 null] +>> endobj +2840 0 obj << +/D [2828 0 R /XYZ 65.161 543.155 null] +>> endobj +2841 0 obj << +/D [2828 0 R /XYZ 65.161 532.196 null] +>> endobj +2842 0 obj << +/D [2828 0 R /XYZ 65.161 521.237 null] +>> endobj +2843 0 obj << +/D [2828 0 R /XYZ 65.161 510.278 null] +>> endobj +282 0 obj << +/D [2828 0 R /XYZ 56.693 473.43 null] +>> endobj +2844 0 obj << +/D [2828 0 R /XYZ 56.693 446.088 null] +>> endobj +2845 0 obj << +/D [2828 0 R /XYZ 56.693 400.529 null] +>> endobj +2846 0 obj << +/D [2828 0 R /XYZ 65.161 400.818 null] +>> endobj +2847 0 obj << +/D [2828 0 R /XYZ 56.693 353.943 null] +>> endobj +2848 0 obj << +/D [2828 0 R /XYZ 65.161 354.627 null] +>> endobj +2849 0 obj << +/D [2828 0 R /XYZ 56.693 307.753 null] +>> endobj +2850 0 obj << +/D [2828 0 R /XYZ 65.161 308.436 null] +>> endobj +2851 0 obj << +/D [2828 0 R /XYZ 56.693 261.562 null] +>> endobj +2852 0 obj << +/D [2828 0 R /XYZ 65.161 262.245 null] +>> endobj +2853 0 obj << +/D [2828 0 R /XYZ 56.693 215.371 null] +>> endobj +2854 0 obj << +/D [2828 0 R /XYZ 65.161 216.055 null] +>> endobj +2855 0 obj << +/D [2828 0 R /XYZ 56.693 169.18 null] +>> endobj +2856 0 obj << +/D [2828 0 R /XYZ 65.161 169.864 null] +>> endobj +2857 0 obj << +/D [2828 0 R /XYZ 56.693 112.031 null] +>> endobj +2858 0 obj << +/D [2828 0 R /XYZ 65.161 112.714 null] +>> endobj +2827 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F95 923 0 R /F98 924 0 R /F52 695 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +2861 0 obj << +/Length 1710 +/Filter /FlateDecode +>> +stream +xÚÍZKoã6¾ûWèè5Í·¤öÔÝvØ>€n´Àîh‰¶ÙèáŠrìüûŽ,9±•¸¡,+é%f¨ápHÍ÷qf(ì-<ì}½»M?ì…(”Tz7sOR$}/ 1ß»‰½/ãÏ:ÑÊê« xü{^j[7çyQ7Êeóð§.㦳Ôéªæ/Xö£a<‘€fcÚWŒ ˜CðC‹Ô-7”ʐ"FÂáP*‚€ ‡é±ú~ímª;DeÀ‘äÍéóÁlÛð9·2w”S³D»‰ª,vŸ-Ý$— 31Ù¢#%H?€ˆ€¼&%H!þå(áù® ä`EÈ!ãH01 +õ÷„aoc;àù( ¬~¥*Žµ#ìzµÊ G8TQ¬“ Þ®Gµp<,•5ŽÌ-U¡¢R;šbw1tWCà!€Õ^À8@’±Ëø¹SÚÆ" ªÄf0‹42Š[úû¡¸¿±î(!Œ Ãÿ Š£µ-óÔXõ$œ>9ĸʥj¡=ƒ&>¥¯ a! +pðÆg°`¢—cþpè=Öß½½í€^ÎaƒxýJtG¯ÉÀ¿uªc£òÙß:*ßô©.U¬JÕNŸ‘«ûUH¼*îíüíªMU‚›¨R$λ*ÓîîSzX LÉpX†`aIÃrK?,÷7ÖË<ô¡Ü “¦•Ú>ÂìԐ.¦T¯cB >Ý>a_¶å}žÝéÂ:dzõÂu_Úe„üÃC‚°ÏãZyœ/ÂCâ‚#J›:%<&¤eý„`X×ubb½¯äòö&”#&»ÙßÌó$ɯ¨oª·³ë‚ì'[ìo–êŠâñÝãfÄLë¬n¥*núÊüñꡮ±ƒ¹I'ùrψö”,<<ˆEù^»5Y¤[wr†hÝ.êt¼#J"ŒBC Ÿ“öüf`/tò \¦ð—Ô{šr¹'òy>ýMÝê +h /Ë4yèst)2ˆÊda0„Ùp,ÜÒߏ…ûëÎÂ,ˆÑÎ,-5Ò®.•³N×âæ*L¾vTš6N{atæ^a­MwOŘO)ùòî}¬¿§{÷6¶ƒ{ûX¿¹ÇYg±kMëýýbc²ŽÇõÍÒµÂfËõ|8ª\/’û ã1U÷3G¿ÍrLj "ör鈯¥vM¨ì¹Tô2²$`c¸›ã–þžÈêmldIŽ8nNŽ²È׳§¡ö ³µ£ÓĹ+'[­Ó˲78ì­£sYçÒ½ŽJדÖ­ÎœZ¹.)»/—gG"t1ÜRKOÐô6¶hCœ7±¸N¬>7cÜ…¯z} ¢âœ<â“)nUü’[}»Ïv™Â*Q&ëP°aÌð#†bl¸›“–þž¾ÛÛؾ‹ÁH8pÁƵˆj—ùæ 1ÖjG]§³vŒø²KbŒ§¯Z¡˜$$úlAäÏ+&ÆzfM©ÿ£*"ß¾*²9i$ »`Y¤úp2lÊ"t ²ˆÞ–:« +wvjÕ6Ï$Ÿ¢(QÖj;E SšE–ûŠÉðV%*£²QžNÿ°‹‹P9¥’êÃ1<¥¶ô÷£ÔþƺS* AC©…ÎT꺖²È1ÛJÁÛRõŸÎyÇѝ­ýؽ^iåeS õܸ +©§‡º&s™Ä”ªt\îÚ: +掕€Eëk°}rzYöîIùbÇUn”@€`âH{ò•<ÇËðœäÿ„‘y¯ +endstream +endobj +2860 0 obj << +/Type /Page +/Contents 2861 0 R +/Resources 2859 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 2826 0 R +>> endobj +2862 0 obj << +/D [2860 0 R /XYZ -11.232 900.716 null] +>> endobj +2863 0 obj << +/D [2860 0 R /XYZ 56.693 741.747 null] +>> endobj +2864 0 obj << +/D [2860 0 R /XYZ 65.161 742.431 null] +>> endobj +2865 0 obj << +/D [2860 0 R /XYZ 56.693 694.923 null] +>> endobj +2866 0 obj << +/D [2860 0 R /XYZ 65.161 695.606 null] +>> endobj +2867 0 obj << +/D [2860 0 R /XYZ 56.693 649.34 null] +>> endobj +2868 0 obj << +/D [2860 0 R /XYZ 65.161 648.782 null] +>> endobj +2869 0 obj << +/D [2860 0 R /XYZ 56.693 602.516 null] +>> endobj +2870 0 obj << +/D [2860 0 R /XYZ 65.161 601.958 null] +>> endobj +2871 0 obj << +/D [2860 0 R /XYZ 56.693 555.692 null] +>> endobj +2872 0 obj << +/D [2860 0 R /XYZ 65.161 555.133 null] +>> endobj +2873 0 obj << +/D [2860 0 R /XYZ 56.693 507.625 null] +>> endobj +2874 0 obj << +/D [2860 0 R /XYZ 65.161 508.309 null] +>> endobj +286 0 obj << +/D [2860 0 R /XYZ 56.693 471.158 null] +>> endobj +2875 0 obj << +/D [2860 0 R /XYZ 56.693 443.605 null] +>> endobj +2876 0 obj << +/D [2860 0 R /XYZ 56.693 396.99 null] +>> endobj +2877 0 obj << +/D [2860 0 R /XYZ 65.161 397.279 null] +>> endobj +2878 0 obj << +/D [2860 0 R /XYZ 65.161 386.32 null] +>> endobj +2879 0 obj << +/D [2860 0 R /XYZ 65.161 375.361 null] +>> endobj +2880 0 obj << +/D [2860 0 R /XYZ 65.161 364.402 null] +>> endobj +2881 0 obj << +/D [2860 0 R /XYZ 56.693 316.894 null] +>> endobj +2882 0 obj << +/D [2860 0 R /XYZ 65.161 317.578 null] +>> endobj +290 0 obj << +/D [2860 0 R /XYZ 56.693 280.427 null] +>> endobj +2883 0 obj << +/D [2860 0 R /XYZ 56.693 252.874 null] +>> endobj +2884 0 obj << +/D [2860 0 R /XYZ 56.693 205.864 null] +>> endobj +2885 0 obj << +/D [2860 0 R /XYZ 65.161 206.548 null] +>> endobj +2859 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F95 923 0 R /F52 695 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +2888 0 obj << +/Length 2827 +/Filter /FlateDecode +>> +stream +xÚí][sã¶~÷¯àìKå™@‚ Ó¤“¤ÙM“n6éÚétf7YS$C‚–__P$½&)J€ ¨é¾X”œïÜp1tîè|ñííÅõ„>öÛ¥ãcàS'@.p©s»p>ÌÞ󄳒_^agï2ÁËæq™̓Xµ_~—EßfÙ}óæß7o/»ýQs… i¨Ýˆ§„—+ÎEY-GGN G÷Ýztϧ€âÀ¹" ¤íø„J‚4˜]7/ûuNj׷¿_ I:È!>ðCס!>ÄN´¾øðtò;ÉðÂÀÙl[®‚ À®/Ÿçæ⟰•ìI;²%áV$q/ú Sòkänùè::®„pöË¥ g¬`ëî÷½”®ö€ë·Tn;É-³$É.1™mâô®ù(Z±ô®“õŠ]b8{¸DdÖö˜sž6Ok¶h?Ù§ َ-¹þ46 +<@iýË·cçS<ºpÉs³(먗qñÁŒ#@]€›ç¢ÑЗÊÆ®–rN¡ÛPýˆ1éµÛòºÕ¯æ!žt,üƒÇbuyåKá¾a«ä®àé—WË÷<¯æ€U"K؜'àq4T¥¾Õ„ë—ïûš"õQìøAJjM©?'Pêç;„AèÜY¾TµÝŸŽ „Èïh£ºµ)}†ô ”S!E¦2ÂKØø Äá ˜Ý,îœæá}‹£ÞœvŒ`è5SûŽozj0¦#aUOüV[¹à…ZóÚ6)5¬hãٟÛ4º€É.³gíì3tXC©'熚hèÄëØè·Î'@t DbU‹?þÈYZfÏlžp°¬ç̳bÁ eIVÔhýKÓ£iñ$9[,¤ ÜýeÛ]´Ö¼`Ç B@äcËÐG‘Áç'Ô<)šOJ¦up€!¶gúô ­ƒ1³ÖÁ•î‘†Í$~³Xð…Ž×qYÖ®S©qÁ—yUäYÉKµ,UdcÁ˨ˆsgi9a#ëdœážøPJ?Oë›eXø£àiYKCÃ7“Œ}{è#2Â>µ†¾}3ô™3«Ž>P@ºHýõóܩ龌>•Ú•Užg…PküÍ"›sµ¦ßÅw±`‰Zã׋X¨ÿ4®)Š8¦õ§{‚„QL1I:«D^‰cm ©ƒ/œÓ¶"ó ß;qP±Ìòqi£ù:Òìxrtˆ-š—Ïs홝>}C³c̬†Ùñd²Ý†KX/cU¿/VL¨¦9ÒÛµ!_ž83yóó/»Œˆ”2ܟŸ(+ æS{E²íó/^ÔBÙÅÚßSU@i¦8¡+^(z†'>6˜@ÙdʈÔ#ÞYM&B€e1ãhÅxò(Öò/jlâÍZiå\³$qz_VpP¥2¡’oùâ… ­›ðt‘Öµ>Ù¶ò]„ Û,³T€Äz2V2B©=Ãì…ø(°f˜ôÍ ³9³ê†Ù ]inÚbeÁ×كr>ÆR c»ÕGšÊùû[Òñg{L#?ՒG ,{âkë¤Ì& +_éÑøRݬá¥Oß/ÆÌjà%ä½vÝ¢)à+Ç1\µÂ°dU¢ó¤Ê-‹5B¹„¢ƌuÓ8œgÉâØÈ£ÒÅRtNoîPB-ºóy½ìR‰tÈ(¸ŒëâÞ:yõüGFû€†žE7ëb¸ÄžÙèÓ74ÆÌj˜ ×»ÚEÏTkõĆ£ª5Olj–ÔÈNfÞúͦRsÀy–9ê$Uµ|¬¹ôãajoíp@ß(ÆÌjׯmf4Ò½Iùÿúþ퉽ÚNeÓðíµeW×ÿIúU=€æ*æ׏»:}1ÍͪàKÍ1â5“ìè@³Ö#d¯P? ocf5€€<€a[¨gÕ"ÎöˆyjzâßÙojì7€«l“U 7€ïxÊ &Tä»Ÿo_ß(®LðH ‹[Ӆø¥¦UwC{U†}3e6gVC™¡ °×VvÄWÓF)—æë&SnUuò%?No>bt’Äaù0ì©p¡½bŀ¾!쌙U‡b€ƒ6/Í žóT9óPMÕYúd# úõý§^Š‹åÏhÆQÞtÓ1¼UC.—zöÐÒ#oSV5° àâ ÁÊ"gÕÈ'|H}Zu…(ây%ø±Å3קöv­ èj‡5f[a¦hcM}ú†Â0fV+$j òƒ¢j>e•¢eSÍùµJyÚtFÝX—YUDüÄÃK*šîІêÎIžŠâI7󚺍5¬ôébŘY ¬Ô{ŽH –F4=…òb¥2ÄÎTaó9GÙm¤Òr¼ãäÀ<ŽÊ‡Aå65 k êÓ7•1³ ª·®…n·kÁ¬R;Ùt'Š{MYžsVìªÿ¾Ú³Åá¸|Xö|u ({êzܹ +lÊ9æaäà¦àd 9}ú†È1fV9ØÄõÎ^‰;U­wYdëSÇG»½òÁÂ!9€?M Oëy‘ÍÙò»cä©àâ´žÿï·?½µ¸ús“éÆð™jÚtÏO„i qÍY§wË*9r;ìAHà×··ä2 o sfÕ!CøÝVÀ³˜¯©†VðxÞµÛ`¦àg\ÑmÜ9Œº­™ZL¼!^LYՀK€“éÈçZ“Î +gžÅ©Ð]=Ç~S ´¦™}ú†ªi̬†nÒúî›öȼªãW6Ï2ŽSÕ½';ŽäýwC«ÿåt~çrÇa¦¤h }ú†00fV>4èJ­»‡NZWy£|¯Ï#[ç ŸX¥?<ß^S³6ß}ú†ómÙVnSý°&Œ>}Ca˜2;VuJ$åšÍ>ntýËiçýX&›C4Žf¤l=Rè¯ö,!ü¿åèVB£7• +k +Þ§o¨à¦ÌN+8¦ ìnfûëžýLBä# ¿¾žî°Ùl4¦òž)×Q®¬¸¶ÞÃ̎ÛÛö´.³¥Øì8n¼¯K´Öh} Ö‹,iùõ—×öŒÑ'MP@þy/¬CaèqÖ)­,EQßFWVóR€5Ë5ÎS¢@2gñ9D%ÅÐ^j6 ofµÌ™UIQ€ìî+¯8ÿƒkÞÇTŽ ÜGäzÓíuí€öžšŸò.kň[jrb, …ƒkª|çàéiËtüQº¡Ê¼*â¬Ò­ ©Ûk/)Ð7 1³¤ 6PV¯c¨–&6«Xð2g?uaΕï?ˆÓ’ʅ ¶T¾¹6/²;é„ë[w”™á":vK7"Ô^¢; o¨ÃÆÌjè0 ·¯[%V]~‰¤N0åÆlxÿhïè¥ÂÔaä¬ñ–Qd)ÞêêG2ÎJ+–€%K’9‹îÄD}ÐáÅíSÏM›*Ò¸©õK©$ÇÂÀbxC={‹¨ú†È4fV™·ûç‹Ñ]tûöY‰“2X®ã2ŠÓeöu”°rç¯ö¤rLœþp©ê®Ñ/'¿á¨ã2‹ƒö½GÝLÍ Véz[NWFµ¯±«fþJë,Ùá­ÇùÕeÍÝ%°çÜOºñv(…m\Ý4ú?"ž´í͖Ý#ò©­´“ +endstream +endobj +2887 0 obj << +/Type /Page +/Contents 2888 0 R +/Resources 2886 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 2826 0 R +>> endobj +2889 0 obj << +/D [2887 0 R /XYZ -16.307 900.716 null] +>> endobj +294 0 obj << +/D [2887 0 R /XYZ 56.693 759.068 null] +>> endobj +2890 0 obj << +/D [2887 0 R /XYZ 56.693 738.489 null] +>> endobj +2891 0 obj << +/D [2887 0 R /XYZ 56.693 691.479 null] +>> endobj +2892 0 obj << +/D [2887 0 R /XYZ 65.161 692.163 null] +>> endobj +2893 0 obj << +/D [2887 0 R /XYZ 56.693 644.655 null] +>> endobj +2894 0 obj << +/D [2887 0 R /XYZ 65.161 645.338 null] +>> endobj +2895 0 obj << +/D [2887 0 R /XYZ 56.693 597.83 null] +>> endobj +2896 0 obj << +/D [2887 0 R /XYZ 65.161 598.514 null] +>> endobj +2897 0 obj << +/D [2887 0 R /XYZ 56.693 551.006 null] +>> endobj +2898 0 obj << +/D [2887 0 R /XYZ 65.161 551.689 null] +>> endobj +2899 0 obj << +/D [2887 0 R /XYZ 56.693 504.576 null] +>> endobj +2900 0 obj << +/D [2887 0 R /XYZ 65.161 504.865 null] +>> endobj +2901 0 obj << +/D [2887 0 R /XYZ 65.161 493.906 null] +>> endobj +2902 0 obj << +/D [2887 0 R /XYZ 56.693 446.793 null] +>> endobj +2903 0 obj << +/D [2887 0 R /XYZ 65.161 447.082 null] +>> endobj +2904 0 obj << +/D [2887 0 R /XYZ 65.161 436.123 null] +>> endobj +2905 0 obj << +/D [2887 0 R /XYZ 65.161 425.164 null] +>> endobj +2906 0 obj << +/D [2887 0 R /XYZ 65.161 414.205 null] +>> endobj +2907 0 obj << +/D [2887 0 R /XYZ 65.161 403.246 null] +>> endobj +2908 0 obj << +/D [2887 0 R /XYZ 65.161 392.287 null] +>> endobj +2909 0 obj << +/D [2887 0 R /XYZ 65.161 381.328 null] +>> endobj +2910 0 obj << +/D [2887 0 R /XYZ 65.161 370.369 null] +>> endobj +2911 0 obj << +/D [2887 0 R /XYZ 65.161 359.41 null] +>> endobj +2912 0 obj << +/D [2887 0 R /XYZ 65.161 348.451 null] +>> endobj +2913 0 obj << +/D [2887 0 R /XYZ 65.161 337.493 null] +>> endobj +2914 0 obj << +/D [2887 0 R /XYZ 65.161 326.534 null] +>> endobj +2915 0 obj << +/D [2887 0 R /XYZ 65.161 315.575 null] +>> endobj +2916 0 obj << +/D [2887 0 R /XYZ 65.161 304.616 null] +>> endobj +2917 0 obj << +/D [2887 0 R /XYZ 65.161 293.657 null] +>> endobj +2918 0 obj << +/D [2887 0 R /XYZ 65.161 282.698 null] +>> endobj +2919 0 obj << +/D [2887 0 R /XYZ 65.161 271.739 null] +>> endobj +2920 0 obj << +/D [2887 0 R /XYZ 65.161 260.78 null] +>> endobj +2921 0 obj << +/D [2887 0 R /XYZ 65.161 249.821 null] +>> endobj +2922 0 obj << +/D [2887 0 R /XYZ 65.161 238.862 null] +>> endobj +2923 0 obj << +/D [2887 0 R /XYZ 56.693 191.355 null] +>> endobj +2924 0 obj << +/D [2887 0 R /XYZ 65.161 192.038 null] +>> endobj +2925 0 obj << +/D [2887 0 R /XYZ 65.161 181.079 null] +>> endobj +2926 0 obj << +/D [2887 0 R /XYZ 65.161 170.12 null] +>> endobj +2927 0 obj << +/D [2887 0 R /XYZ 56.693 122.612 null] +>> endobj +2928 0 obj << +/D [2887 0 R /XYZ 65.161 123.296 null] +>> endobj +2929 0 obj << +/D [2887 0 R /XYZ 65.161 112.337 null] +>> endobj +2886 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F52 695 0 R /F93 909 0 R /F95 923 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +2932 0 obj << +/Length 2902 +/Filter /FlateDecode +>> +stream +xÚí]ÝsÛÆ×_ÉKìë|_8é“ãÚgÒ6µÔigì<@ä‘ÄX­üõ= #¤°ÇÅYvÜ‘"‹åÞï··»÷ê-=êýtñãõÅó×>õ")®¼ë…§8Q2ADà]ϽwOÞêTÇ¥~zÉ}úäïy¥Ëæí"/š7Õªýò¯ùìÇ<ÿÐüóŸ«_žþvý³¹Í%c$òýFÚUu—êr¥uUÖ_›»3/4wW¢¾»T xè]ú$ +Úûû¡„Ož7/Œ«ú‹W×ÿ½`F<õ˜ç+¢"á#Šro¶¾x÷õææ;£‘Qèíö-מÏ(áB™÷©wuñÏ ÚZ‚ž´ÈA¶Œ£ªÑé=çþ^‹ÃeÏ_›&ûß!ëkB"Uh¾Ø7þ[2[Å:}O}Z­Í_öôRQúäjT«ž^2nþYÇ1­Šu¼!åö¦ÔÙù"I5ù¸NÿÒ\q¿‘Îâ›TÏO|[nãFþ=¥dß¼mÕzO©Ñ„1úékÞí—é±ú§Õ/?ummÂîÂØCŠÚÖõç>5='•ÇIF^¡½Å}ãv¤ÿtxÊà Á¬n•ï¦X_¾O L§AîpxŠD<š@Ù½Àbé5oÞ¶Hì ê ¸`Dí{qÏu‰CAÞ»=>Ê| l¹Ø†Ó¬ñ<ŸÁV;(am Æ•žçÀv«ÞïÇ8 ˆaº;vå#!ˆVÖ‚œŸ‰³Ž]ÍG¤ý`ØOZeqEã-.h=§Å:[¦I¹‚áhñÚIr?ì ¼å‰×“–2ƒ¡àüÿVÛ*4öPîÆ+˜Hƒ2g΢'ç,ðʝ… +QFü¾_Ìç`¿¾ŽWߤÒt„Ž³9tÔ]$Y¿wÆyåGDJî÷]ùHÜ£•µÀ½1PЎ‘`,¯Lo¥I¶„µÎ°vÇ0:PÜýœ6øš'‹….tV%&°ƒ]r£MȨ3XãWÇ4Ž]i¾P¸ÃnW>»he-°ëMրì@²|àˆ/Oû¼W6>¯Ì·Åì”GïgŸ»Ë%{ò‘ýìLÙÖ\™°Ê]Vӓ4ZY Ðóˆ„~뱯W Ðîâ»ÇöÂq¡¡ ÝYŒCÐH j©ªoScç f>QT¹CmW>µÎ”mA%Q2pgŒ®|¤1ÐÊZPؤu‘hkÍo'·qºÕÓFf_L’³-5.%š*]:»`ãw]äýæπ®ÇšÖÛzòqlÃ+ g›™{Ê2J¼3¡¬åaBéÜqŒ1¾+’ª‚æ* "§i¿ªks§Á^­âê,CüAŠ“ýZÒ]ÆYîÓeg$ëˆGr «ªÅBE(k§BÓ\2ìã:=ÃüþqUÉͶW= îô5|ªËÐ +È\=šê2úµŒ"™«™,?hòygìêÊGÒ ­¬¿ŸP?løUGMñ¬©<XX&tÀ¶=K 4ÿº¹û+êÔ+JBæ®4ݓD=ZY Ô+IÚ➣èܤÐâAVV:ž?RZµØ¦)pv$_XTۇnä²mέkú²©X9xW>àΔm!BF=ùHc •µ`»4 +ەÿ¨ã]2Ìö' +üÁÌûÓ³y6±¥Šš†êT¯uVÙ“¼)š9#NW>’8he-ˆ#Ἕ€fí_@yJ˜É‘ºHŠ²/60H-îÀÆÖW†=5NÖT¼œQ¥+I´²Tá”ðú“š*6X§þ.ªôЄJ(xulbãdù×:èŽSŽ60g”ëÊGR­¬åhDm纎Ç(ãa¢èd—þü‰«(£–QSdráž|„ñÊÂ!,£©¾áuä_måeôa]crùûґ€G*j÷0 " ¾J¸÷w “{¼+ÙçΔm¡š’‹3ctå#VւæUªè°ÆNÛ­ž¹X: lª]î`í|ñ\l[ؑ~S¿p†Â®|$ +ÑÊZ Ð—Ägì+rħ£ˆ"¿MæºÏ5l’l l½€&ŸBþò¼ +Í8’eS^p†ä®|$’ÑÊZ Y +âûmmÿßÚttuѶÈ7º¢¡NÜ·ñRŸí¬&Xº _oX=ÒlâÛ¼ïLÐæMï Ú]ùHhc•= dÁ‰‰ÃVχ–·_·_bóp±#N7«øfà‹+ê^\½|óÆÉì¡þ!ਛ+"ØgÝX,© ’>ÎÆb UDdT‘»Í¾"äD†î’ž|iñÊÂÇ#ú{M­7ûB÷êE¼M+nàuh¡Ð@y32-¶¼ˆ€Ÿ»K"{ò‘ s¦lk E‰¯Üå2=ùHc`•ò+ðäZMA¶æ9ZÚ?6Ð}÷À쌮1¼ùø»‡ïã>Þj?þþ´æ/LòË<«Š<F±/ [~‰«d¸e$¹Ún6g­×2"ŠºK†zò‘TÀ*;¤Bhâ3œ Ÿ“0␈qÊþi´ï¾ø_Y2Ë¡G3ݤùìƒ-DH”t—6ôä#A€Uö´?”ŒDB€â§“㏕ÎúÁËÃS˜/ÎíkPr³­&N“cèÂ×ɳdÛjÑ¢ÈmÏ[<0>ÂÝ:ž|$;ÐÊâóƒÓæÚ@N%ViŽx¨ÓkVnµ‹b$”ºËÁBíñUe>õz¤YO\(+«¤Oíq¾0Eîn‘MO>’/he-øÂ)¡Ì?ì•(KøéUE¾]—Ä¥Å@3ܳùGåk¼£i“Ÿ;ëè®|dG;S¶1$ ©»Ý=ù8cà•…Wqx–³´z±Ð3è´'ÜAB'HMX‘-õÄÎÔb+uvÞÞºòjðtËRgº€Ÿ˜:˜×u<ܗœ¥#ɬª4 ÂD[ì\çÐ¥ï_Î4øÌðLðë$ˎÌÍ<›˜Iq©Ã8€ƒ¦Xà Á]ùH£•µÀp ŒÚ9_é«Õ|xLåå6«C—ƒ¶ÏžŽ•dãÙLgÕ°1R“=Á»X‘«¦¶âŒ3]ùHΠ•µàŒy=œ¬ Ž$fyv«‹ÉO5_Â÷%ëro†ÓQЩfî7¥gpèÊGÂÁ™²­1d“:3FW>Òhe-¸!´-ÈþZèÛ$ߖée@bµšÞA—Ô¹Jó«U^:ª‘Æg®6g=õÝUR{ò‘@Ç*{ւ!%d² ToKp÷fZO¾”b[êG;LÃje†ÅÑwÐ#[³ÉâaÝ{œ[¬)³8ãVW>’[he-Έ8,spè5Çd–Kð8mªÎz±+ًΔmŒÁ¢&teŒž|œ1ðÊÂ!Í¢ˆHՖT_L{Ü]¡KpôYê®ãޗXµª×ºî“DgDèˆGò«ª ø´-™:­mîh0r=X"Ñ»ú!FÓÎÀç”uv›yV¯HšxÎ|·Jf¶ÏÎ`$\¹[ݓD8ZY ˆñeôéÁ/wµÆ¯¸Å™Ô0‹xgY¾´;ÛÛ¢"lV³}°ÞâÇFx >ç^&C"ü蜽ñ¶Hªß›÷ÏÆɗyvØãq¨Iª—qjðœÌÌû$ûpïépŸÚúք"U^Ü}jµ—0ÊGùÆx@¤p—¿õä#] ZY (( ¸o½ $ÉLP¶Ž«z2´Ý +úÜ‹£ÎRÅ뉜ŸåëÍöH> +v\)ÃÏê" *}!'vma—TõFvɼZY0?2*Ý?zj⇔(ænb¬+G{´ªpև‚´#ÅË4.,N^úõ ´b/Ï>ŸÄDeêþ#ºÐÌ<~¼žeQÑ9Oÿ'Ƙ< +endstream +endobj +2931 0 obj << +/Type /Page +/Contents 2932 0 R +/Resources 2930 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 2826 0 R +>> endobj +2933 0 obj << +/D [2931 0 R /XYZ -11.232 900.716 null] +>> endobj +2934 0 obj << +/D [2931 0 R /XYZ 56.693 741.747 null] +>> endobj +2935 0 obj << +/D [2931 0 R /XYZ 65.161 742.431 null] +>> endobj +2936 0 obj << +/D [2931 0 R /XYZ 65.161 731.472 null] +>> endobj +2937 0 obj << +/D [2931 0 R /XYZ 56.693 683.964 null] +>> endobj +2938 0 obj << +/D [2931 0 R /XYZ 65.161 684.647 null] +>> endobj +2939 0 obj << +/D [2931 0 R /XYZ 65.161 673.689 null] +>> endobj +2940 0 obj << +/D [2931 0 R /XYZ 65.161 662.73 null] +>> endobj +2941 0 obj << +/D [2931 0 R /XYZ 65.161 651.771 null] +>> endobj +2942 0 obj << +/D [2931 0 R /XYZ 65.161 640.812 null] +>> endobj +2943 0 obj << +/D [2931 0 R /XYZ 65.161 629.853 null] +>> endobj +2944 0 obj << +/D [2931 0 R /XYZ 65.161 618.894 null] +>> endobj +2945 0 obj << +/D [2931 0 R /XYZ 65.161 607.935 null] +>> endobj +2946 0 obj << +/D [2931 0 R /XYZ 65.161 596.976 null] +>> endobj +2947 0 obj << +/D [2931 0 R /XYZ 65.161 586.017 null] +>> endobj +2948 0 obj << +/D [2931 0 R /XYZ 65.161 575.058 null] +>> endobj +2949 0 obj << +/D [2931 0 R /XYZ 65.161 564.1 null] +>> endobj +2950 0 obj << +/D [2931 0 R /XYZ 65.161 553.141 null] +>> endobj +2951 0 obj << +/D [2931 0 R /XYZ 65.161 542.182 null] +>> endobj +2952 0 obj << +/D [2931 0 R /XYZ 65.161 531.223 null] +>> endobj +2953 0 obj << +/D [2931 0 R /XYZ 65.161 520.264 null] +>> endobj +2954 0 obj << +/D [2931 0 R /XYZ 65.161 509.305 null] +>> endobj +2955 0 obj << +/D [2931 0 R /XYZ 65.161 498.346 null] +>> endobj +2956 0 obj << +/D [2931 0 R /XYZ 65.161 487.387 null] +>> endobj +2957 0 obj << +/D [2931 0 R /XYZ 65.161 476.428 null] +>> endobj +2958 0 obj << +/D [2931 0 R /XYZ 65.161 465.469 null] +>> endobj +2959 0 obj << +/D [2931 0 R /XYZ 65.161 454.511 null] +>> endobj +2960 0 obj << +/D [2931 0 R /XYZ 65.161 443.552 null] +>> endobj +2961 0 obj << +/D [2931 0 R /XYZ 56.693 396.044 null] +>> endobj +2962 0 obj << +/D [2931 0 R /XYZ 65.161 396.727 null] +>> endobj +2963 0 obj << +/D [2931 0 R /XYZ 65.161 385.768 null] +>> endobj +2964 0 obj << +/D [2931 0 R /XYZ 65.161 374.809 null] +>> endobj +2965 0 obj << +/D [2931 0 R /XYZ 65.161 363.85 null] +>> endobj +2966 0 obj << +/D [2931 0 R /XYZ 65.161 352.892 null] +>> endobj +2967 0 obj << +/D [2931 0 R /XYZ 65.161 341.933 null] +>> endobj +2968 0 obj << +/D [2931 0 R /XYZ 65.161 330.974 null] +>> endobj +2969 0 obj << +/D [2931 0 R /XYZ 65.161 320.015 null] +>> endobj +2970 0 obj << +/D [2931 0 R /XYZ 65.161 309.056 null] +>> endobj +2971 0 obj << +/D [2931 0 R /XYZ 65.161 298.097 null] +>> endobj +2972 0 obj << +/D [2931 0 R /XYZ 65.161 287.138 null] +>> endobj +2973 0 obj << +/D [2931 0 R /XYZ 65.161 276.179 null] +>> endobj +2974 0 obj << +/D [2931 0 R /XYZ 65.161 265.22 null] +>> endobj +2975 0 obj << +/D [2931 0 R /XYZ 65.161 254.261 null] +>> endobj +2976 0 obj << +/D [2931 0 R /XYZ 65.161 243.303 null] +>> endobj +2977 0 obj << +/D [2931 0 R /XYZ 65.161 232.344 null] +>> endobj +2978 0 obj << +/D [2931 0 R /XYZ 65.161 221.385 null] +>> endobj +2979 0 obj << +/D [2931 0 R /XYZ 65.161 210.426 null] +>> endobj +2980 0 obj << +/D [2931 0 R /XYZ 65.161 199.467 null] +>> endobj +2981 0 obj << +/D [2931 0 R /XYZ 65.161 188.508 null] +>> endobj +2982 0 obj << +/D [2931 0 R /XYZ 56.693 141 null] +>> endobj +2983 0 obj << +/D [2931 0 R /XYZ 65.161 141.684 null] +>> endobj +2984 0 obj << +/D [2931 0 R /XYZ 56.693 95.418 null] +>> endobj +2985 0 obj << +/D [2931 0 R /XYZ 65.161 94.859 null] +>> endobj +2930 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F95 923 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +2988 0 obj << +/Length 2142 +/Filter /FlateDecode +>> +stream +xÚÍ\Ksã6¾ûW°²‡ñ„@’S&»™ÝÉ£*±·v«fr€IH⊅¤lÏþúmŠ’cR~4QًIK`£ ö×ß×(,|¸x}ñî{ICŒâ*¸žŠš…$Œ‚ë$øtù«Ëœ­ÝÛ—ôòç²quw:/«î¤Yî¾ük¿/ËU÷Ï¿¯~|ûÛõGèfÆ1RvÖ®š/™«—Î5uû5ôÎ ½«°í]¨ˆD\3IL´ë_0éËw݁qÕ^xñ·ë‹ß/˜§ ¤"ʄAdQ”q~ñé7$ð8@„ÑÁݶeHF œgÁÕÅ/t7ÃãáÈìû†0ª:ß>s.·Þì/{÷=4Ùޏh¯ÑD( _lÿ”ÆKë²ÏTÒ&‡¿ìíLQzy•§Íòë·3ÆáŸÜd¾)âúKQ®ë´&u;^ä>Ϻn` ۞ÚÇþÀƒc¢<ŽÂvÚÏ%…*àÄhT.˜?¾çžµ§?=ì€B™ØwÐfmk_û’0ņö%e$‚1Äôð81ܜÀÙ­Ájt'¿î£÷÷Ž‡œ„”uÏúÛ$qI/2-Ÿ¶Ï¿…ª!ÄF¯!tCv^qù8ŠF\¶7œ?k[ÙÜ5®Â›ß^÷w[Ÿxdjð×ÒÍç.npmÓþp#°Ç4¡è&ƒFß¾'4¼ ÎH(x ãµ]8d ”›f½A>°“Ç՟…¡g›/±·8ŒÝg±xýӏc£(…5]”÷í{F¹·³#¢ì†ZtQþDÜî†|6{9=ºûØ­l$[l2k‘“¸¹ÝdH«·6Û #ýAÛOß<"[Ôéto^º´¨g‘¼[ÎG:´: º7«Ê¨Ñù¨²±:UiN´äéԞFmìÍ&³i–Hû2KFèU…$bf:½ªàM—­úæý’•·«ø\¥ K**¼¼¼=¹\=’]"mQâÚee±êƒ×a%ÑPŒLö}ûžqïíìˆÀ—’P­»À¿qi±À=…MVz¡— ²¥-´Ž,FD4R Ü8‡¼÷:-bl՛&Oñ4Â²¯šhÆÏʾ<"RFÇ°¯ÝTióߎs?:PAe±g]ȍ™#ëª\»ªI]=†g¡Ü\Lȳ`Q¨éŠß}όãí숌v£½»rH,­œ[:{¡åÂABC›w çÒbDq™mrlr+ŸíW/¨ýÍÁ%—_½ÂÊ×Ëɵµsy}”ç/$»SOï•uƒ½(n†S ¯¦i‘t:)<°ï‡Pgñ•Æ¾Ø"tªú·].ÁL›äŸS̈‡ÉÎZiʈ®ø‰¹.-`Är›‘òæ?.n¬÷MwMò² ‹Ê®—i\wߴЀþh²·ã~ßt Np³¸#´!Nw}¦ª]ÆèÃëΐƒ¯B¸žŽd¥lÓ!¸gÞÀ¾®ŽÀ/hz±[WîÖU6CfR dÓ¤Œ7¹+Û@|!!ŸÞ{¹]gÔì¬@Ñj¸:1s[¤sW7$-ȍ­IÒj„p• \#Ã'ÄXÔa8¨úö=QåíìX1Ùl· ù¯²JÐŲ_àSA´ç |¡4Áúiélâ*—°Ò36/ËæÙ6È‘€ô§¦CˆZf:ÚØ÷Cˆ¿³x„è3Òrô’åæëMµ.kw,H„¢ ÍYAÂexbl²´X‘E»µè4ºoêey7 !%lB²ÌlŸüdPèÛ÷„‚·³# À9b—Bÿ¹Nlƒº0Úo/{bbA¢qÃÔöxF܄FⓗG‰»'¹k–eò4‹¬¬k`”œ´*d !Ý$áÀ¾|üÅÃ'Œ4al—\¯Ö.ËÐb =éw6 F Tª:+Ê$¢f'FY åa¹iž™aÀŽ†`'œô„6Ó¡ªoßUÞΎ@U’h¿ø»ÌVPˆ"ÁbomšÙì>®}€ )/·Ø 9h|?Äæñ¸mW­ÎŠZªòĨݫIR»5ɺ*ì¨ÊŠ›²ò„r’k#rº¹‡}?äú;‹G.×ræ¸eU¹¸9_qÅuNˆs+F =fâcZ­lƒàžW 8.ò%‡Ì9áœRÔNeì{F¾·³#"_À‘ŠÑs +yYa÷?R7±-±¯(¬°ÛA‘+l€ã'Ö:}o+åS…Ý~³M?Ù,·ï¦2÷—Ù¿³¨N[–³a›ËY‚î½ô£V€À]›6#€nÓROؾ}OÀz;‹¬nw’AN aÌ÷æÖU7¶Is¤bË\»¤t´^ã ×´:ë, Ŧ˜8õlF¾ u“µm–#XŠ>›²°b x$ç“ÅüÀ¾_Ìû;‹')È1Dïå +<¼1/ÇTñˆÖm@ g7VXBK±FÓ"K ·+î°T gÖ.C…á9áÌ kéù¶÷eA⥭lÜ.oUn]¹z¿x>à”¸˜pB’ 8êé&$ö=îí섃 Q8Z†^÷¹­=-VG%4„™³nrb,"F°ÿÞ£Òï„ļªÅtŠ}ó~ ðvu&ÀQ¶ÿY„Qk\‰«ã*]ã· ^N{ž Îɽ¯¿'ó~³xjyî/,Ò MÄËWîÖÙ ÿÒðÕÇWaiÂYòžu¿˜öu҆ÂÈìè¿Ý?Ž¬³ï°ï![d=žÖ«Ó#OëM[ã׍-ð«^Ëòî´Ó‡ªt́4tŠµêƒN”ЮŽû»)ÿìƒ: +endstream +endobj +2987 0 obj << +/Type /Page +/Contents 2988 0 R +/Resources 2986 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 2826 0 R +>> endobj +2989 0 obj << +/D [2987 0 R /XYZ -16.307 900.716 null] +>> endobj +2990 0 obj << +/D [2987 0 R /XYZ 56.693 742.577 null] +>> endobj +2991 0 obj << +/D [2987 0 R /XYZ 65.161 743.26 null] +>> endobj +2992 0 obj << +/D [2987 0 R /XYZ 65.161 732.301 null] +>> endobj +2993 0 obj << +/D [2987 0 R /XYZ 65.161 721.342 null] +>> endobj +2994 0 obj << +/D [2987 0 R /XYZ 56.693 676.323 null] +>> endobj +2995 0 obj << +/D [2987 0 R /XYZ 65.161 677.006 null] +>> endobj +2996 0 obj << +/D [2987 0 R /XYZ 65.161 666.047 null] +>> endobj +2997 0 obj << +/D [2987 0 R /XYZ 56.693 621.028 null] +>> endobj +2998 0 obj << +/D [2987 0 R /XYZ 65.161 621.711 null] +>> endobj +2999 0 obj << +/D [2987 0 R /XYZ 65.161 610.752 null] +>> endobj +3000 0 obj << +/D [2987 0 R /XYZ 56.693 565.733 null] +>> endobj +3001 0 obj << +/D [2987 0 R /XYZ 65.161 566.416 null] +>> endobj +3002 0 obj << +/D [2987 0 R /XYZ 56.693 522.638 null] +>> endobj +3003 0 obj << +/D [2987 0 R /XYZ 65.161 522.08 null] +>> endobj +3004 0 obj << +/D [2987 0 R /XYZ 56.693 477.061 null] +>> endobj +3005 0 obj << +/D [2987 0 R /XYZ 65.161 477.744 null] +>> endobj +3006 0 obj << +/D [2987 0 R /XYZ 56.693 433.119 null] +>> endobj +3007 0 obj << +/D [2987 0 R /XYZ 65.161 433.408 null] +>> endobj +3008 0 obj << +/D [2987 0 R /XYZ 56.693 388.388 null] +>> endobj +3009 0 obj << +/D [2987 0 R /XYZ 65.161 389.072 null] +>> endobj +3010 0 obj << +/D [2987 0 R /XYZ 56.693 344.052 null] +>> endobj +3011 0 obj << +/D [2987 0 R /XYZ 65.161 344.736 null] +>> endobj +3012 0 obj << +/D [2987 0 R /XYZ 56.693 299.716 null] +>> endobj +3013 0 obj << +/D [2987 0 R /XYZ 65.161 300.399 null] +>> endobj +3014 0 obj << +/D [2987 0 R /XYZ 56.693 255.38 null] +>> endobj +3015 0 obj << +/D [2987 0 R /XYZ 65.161 256.063 null] +>> endobj +3016 0 obj << +/D [2987 0 R /XYZ 56.693 200.085 null] +>> endobj +3017 0 obj << +/D [2987 0 R /XYZ 65.161 200.768 null] +>> endobj +3018 0 obj << +/D [2987 0 R /XYZ 56.693 155.749 null] +>> endobj +3019 0 obj << +/D [2987 0 R /XYZ 65.161 156.432 null] +>> endobj +3020 0 obj << +/D [2987 0 R /XYZ 56.693 111.412 null] +>> endobj +3021 0 obj << +/D [2987 0 R /XYZ 65.161 112.096 null] +>> endobj +3022 0 obj << +/D [2987 0 R /XYZ 65.161 101.137 null] +>> endobj +2986 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F95 923 0 R /F98 924 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +3025 0 obj << +/Length 2324 +/Filter /FlateDecode +>> +stream +xÚÍ\Ïs㶾û¯àôбg*˜ÌL»M7ÝM6“®}èÌn”Ù¬IB%©x¿¾"[”d=‚³‹¦À‡Gà}ßû@ap„Ágo¯Ï.߉0HI*™ ®—dDÆAB9áqpŸÏ?©Re­º˜1žÿ¬;Õö—KÝôÝíðå÷zñVë»þŸÿ\ýtñëõèfF)I…è¥]u¥jo•êZó5ôNƒz—ÜôɘÄ, f‚¤ñп A`œœ_ö”IóàÙ?¯ÏþwFA|Ð@H"SÄ)%2dÁ¢:ûükäð(@¢4 î7-«@А0.Ạ®Îþ}#n  Y,Ò͐ŒÂ£”ÐPöJÁ×4Úè1>|žÑ0 Ïi.Xx®¿„!+‹úfxɧC #Â"Âå êz¾¥.K}ÁÄù½ynskq›Õ7ã€ßfFòoTœO̕ªû«*ˇ{~œ•Mß úcß4‰H›×ßô½jô²8 &¼6KÒ±åB´E½P“™§$æ„õ×Mo/d{tà•) ¥€ ˜Û÷R¿0&¶ÚmÔÝØCdtHH$“Q…Es—]Ì$ òºUwß]Ì(ƒ¾¶%ë_D¸îåÅ‘æã‡m[ §1 d’$ÆVÌ}‚åE2`$…—nT°|j[ÒößÝí ŽIJåØA/˜šÖ®ò¡’Nå‹& ÓÃSàH’²ôÊn67Añi@ÒÖlŽŠ'”°0ê'õMž«|Ëv%´Ì¤×ê×°YÅàšZPíûÂ5ÎÊ×p¡ëNÕ®ñªU“uØњ?àÚýëúãOȖª\M)ÏÜÿŠp¸¿ûä9°E¹ÎŠÁŒ]‘!çÎLH;QÈ(C± G`û± øÜu«ƒ‘‚‘¾„ü>é¹jºžý®ºì¡ÓõȃmÎ* hŒ@ŸüǁðSæÿ¶å;òŸ³²üÇÁûÇi?¯ëI*fv§Æþ÷¿ÆÝ>ƂۇŸØôRÔm§2$Åè%®Ý6ù¨Æw‡_èÕôùìps¬&\Å1P×5Å|Ýa]H;q!ÇÇ xäÜ0¶å;ÃYY `0N"ÖãBK¤[d5Ò#¢‘Ö [Bœ[”X5×m§«â÷‰ÿ†W%X¦1$‘7µ/é ¤K){LzÄÞ¤çú":ÐeûLº#þüt§; "g@ÈÉéR3Q"rHu>0ª4‘UWmBšÞñWEw;ºý*»S—áÏ&ñsoœ) @u(™?ç/B“,û㸉|7ŽsWÏq‚‚­ ¾ÿ·¬)ôéfFlà|XtáYž]¡ë§KízµÒ 2±CF§÷䛵‹¢ÈõÛÚ҉Giò”ŒOnàùn…ƒ¦§½…c]sQ¯Ö:Ž«²Îz¶@9!^3ՋbFXD¿Aòà“»óFþ‘ „ÓÔ6¶å;bÃYY<6"um3…8“ÏçeÖ©¯HŠ¾ÅJUËl]"Q÷Ë÷ïÐd®šgdèWR_³j…­ÒUzl©$JÈÓäê˜ÂȈJOLÉùå|]”ùåmW•¬ÑË¥E)¢ ›ˆ±Á¯•Ü5%Ì.›¯Ë ë ¸¸¬Û]ùøÛó6>ÇØV%àÿ®[¤Ø\c“×¼hÔÂ6Âç #"Žý!b[¾#"œ•µ@D"H2ߺ&«Û>ƒ*Ðè@’ž‰,y÷6ôà[ö;Š# *°Æ^´Ò‡öÄü³Êš¬‚¸Ý1%’&þ°±-ßÎÊZ`ì[zöÄ3‰­ÃaååªF/í—E‹.–”¥¾G‡zxCÜ”Y¬ep™ÉÒ×L£x$HLÅKÒ¨lÝÝï}òôA…>.¾?¦O&ŸœÁ¿³ J[‹$ŠsÐLpIg‰SÅʉ|GpVւXB„ŽÓœ+Ë%b‹ ¯v<" +ªš«¦=mvfçc^ÈCÇ=þõm|1Ugsô6.ÈfïN¼„áwŽ‹—¦&ÇɄr’p“‰|G¬;+ku³*ˆ‚I£–ªQfu™¼,ÖxèÝ°ÙÆçÁ‹%‘|MŸÇ’˜¤œ}“¥Cf¶œÊԟ×c2&!õ„mñn8pV›ÉþÝgƒ¹&ñó·ï}Ô±tè§ÆØ>ÔzÕb“Mž€^⨲z•ÝXuðåën +Û7'òñ㬬€DJø¸…ãí@°ÛŸ•å§ýÞü|õþ嶍°NBùªKbŒ›ó7é·é×̎ÉDzôkaJóWêœÈwD¦³²ȤŒˆ1ÃoV‚+‹ªJQ]‘•68¡½€Ó´Z6x +*šªŽ¢ˆ¦ aÒ_Ír"ßÍÈݕµ0rÐTˆ¡fù‚Rl¨µ7"9í²ë›ÅBJ‹ööԇšÌ¶F,Œv·{7NH«xèoƒÓD¾£q:+‹7Nš†D¤Ã§ý+•Î…t%«îo*•Y÷ÒõÝ#ë¶Ú¢ñÎòØaßòÇiì€d¯j%ñXLÚïh箪Z˜yœɇz)âÆÒíƒaéÖºÑÀ9”Œ^¶n(ÛJMƍ÷;'Èl±cQ¥£1'Üíh„m6CEH¢(ñžÍäz13•ò\̵¾³Hjh*&O‹R–ÁüíhšÈw¤ge-¸†3’ÐÈv‰ + ö=‡3/Ÿsyà *d{;é»Tú|ûéñŽçIǘ¾Eó$¯ÈR҄é/õŸÈwD‰³²(a”$ãoÌ>7?pLÚ«]¯ë¶úÔ¡¶P‰>M›[ýrÆÉwG/mñ~K†« +Ûòñ㬬~ÌÚd:Tj½g{é‘\þº1»6±‰|«+üV£y©*ßëꇋl͍êþ¬-û¬üyvڝ»ã¨H! üU3¶Å»aÂYU<$RˆÓÇß@ÃoüÞÂ`s”)©‡Ôcç—Ò"sþ;}É¥ý{KÊ +endstream +endobj +3024 0 obj << +/Type /Page +/Contents 3025 0 R +/Resources 3023 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 3060 0 R +>> endobj +3026 0 obj << +/D [3024 0 R /XYZ -11.232 900.716 null] +>> endobj +298 0 obj << +/D [3024 0 R /XYZ 56.693 759.068 null] +>> endobj +3027 0 obj << +/D [3024 0 R /XYZ 56.693 738.489 null] +>> endobj +3028 0 obj << +/D [3024 0 R /XYZ 56.693 691.479 null] +>> endobj +3029 0 obj << +/D [3024 0 R /XYZ 65.161 692.163 null] +>> endobj +3030 0 obj << +/D [3024 0 R /XYZ 56.693 644.655 null] +>> endobj +3031 0 obj << +/D [3024 0 R /XYZ 65.161 645.338 null] +>> endobj +3032 0 obj << +/D [3024 0 R /XYZ 65.161 634.379 null] +>> endobj +302 0 obj << +/D [3024 0 R /XYZ 56.693 597.229 null] +>> endobj +3033 0 obj << +/D [3024 0 R /XYZ 56.693 569.675 null] +>> endobj +3034 0 obj << +/D [3024 0 R /XYZ 56.693 523.06 null] +>> endobj +3035 0 obj << +/D [3024 0 R /XYZ 65.161 523.349 null] +>> endobj +3036 0 obj << +/D [3024 0 R /XYZ 65.161 512.39 null] +>> endobj +3037 0 obj << +/D [3024 0 R /XYZ 56.693 465.277 null] +>> endobj +3038 0 obj << +/D [3024 0 R /XYZ 65.161 465.566 null] +>> endobj +3039 0 obj << +/D [3024 0 R /XYZ 56.693 418.453 null] +>> endobj +3040 0 obj << +/D [3024 0 R /XYZ 65.161 418.741 null] +>> endobj +3041 0 obj << +/D [3024 0 R /XYZ 65.161 407.783 null] +>> endobj +3042 0 obj << +/D [3024 0 R /XYZ 65.161 396.824 null] +>> endobj +3043 0 obj << +/D [3024 0 R /XYZ 65.161 385.865 null] +>> endobj +3044 0 obj << +/D [3024 0 R /XYZ 56.693 338.357 null] +>> endobj +3045 0 obj << +/D [3024 0 R /XYZ 65.161 339.04 null] +>> endobj +3046 0 obj << +/D [3024 0 R /XYZ 65.161 328.081 null] +>> endobj +3047 0 obj << +/D [3024 0 R /XYZ 56.693 280.968 null] +>> endobj +3048 0 obj << +/D [3024 0 R /XYZ 65.161 281.257 null] +>> endobj +3049 0 obj << +/D [3024 0 R /XYZ 65.161 270.298 null] +>> endobj +3050 0 obj << +/D [3024 0 R /XYZ 56.693 223.185 null] +>> endobj +3051 0 obj << +/D [3024 0 R /XYZ 65.161 223.474 null] +>> endobj +3052 0 obj << +/D [3024 0 R /XYZ 65.161 212.515 null] +>> endobj +3053 0 obj << +/D [3024 0 R /XYZ 65.161 201.556 null] +>> endobj +3054 0 obj << +/D [3024 0 R /XYZ 65.161 190.597 null] +>> endobj +3055 0 obj << +/D [3024 0 R /XYZ 56.693 143.484 null] +>> endobj +3056 0 obj << +/D [3024 0 R /XYZ 65.161 143.773 null] +>> endobj +3057 0 obj << +/D [3024 0 R /XYZ 65.161 132.814 null] +>> endobj +3058 0 obj << +/D [3024 0 R /XYZ 65.161 121.855 null] +>> endobj +3059 0 obj << +/D [3024 0 R /XYZ 65.161 110.896 null] +>> endobj +3023 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F52 695 0 R /F93 909 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +3063 0 obj << +/Length 1750 +/Filter /FlateDecode +>> +stream +xÚí[ÛrÛ6}×WpÚi¦‚q'Ð<5q’isqk»™Ì$™ -AJTIúö÷]Š”mR7ÐÕL«“&ÁÅØsvÏJÂÞ¥‡½×ç督W{iI¥w>ò$EÒ÷aˆùÞùÐûÔ=5‘ RÓëS»ïã̤Åé(NŠ“l\Þ<ŽÏãø[ñÏdz·½/ç¿Á4}B¢°v–ÝE&“¥ùm˜x +f—,ŸKùTy}´_Î/ ôU÷¨8*ó;/Ï;w˜Çñ„DR3Ï×IL½Á¤óé ö†p@\+ïf>r⠂eÎ#ï¬óG—+++B=æ =_’…q®Á²p +n“Ńާ>Áw_Þffš†ñtñ~Wƒ²ÂÂùbÕFqÅ=*º7áô²¸4ÓËÅ:ƒÅÝëÝò‰ c¦ÅÙ$–ײøa3æó‚Çóőïço=ŸÛlò"€Êû¡ƒx1CN¦¶ãù Ñâ<)âUW¥O¹0§pBÂåž~¦TTÆÍýÇÏ}PˆKµp፠³q¯/aq_ãè21ӟ{}BáÿwÁ73 +#S؂(ËÍå‡×Õø€w">õ¤È/â#¿.0D—EZi/1Þèq@T¬­¾º> endobj +3064 0 obj << +/D [3062 0 R /XYZ -16.307 900.716 null] +>> endobj +306 0 obj << +/D [3062 0 R /XYZ 56.693 759.068 null] +>> endobj +3065 0 obj << +/D [3062 0 R /XYZ 56.693 738.489 null] +>> endobj +3066 0 obj << +/D [3062 0 R /XYZ 56.693 698.306 null] +>> endobj +3067 0 obj << +/D [3062 0 R /XYZ 65.161 698.99 null] +>> endobj +3068 0 obj << +/D [3062 0 R /XYZ 56.693 655.973 null] +>> endobj +3069 0 obj << +/D [3062 0 R /XYZ 65.161 656.261 null] +>> endobj +3070 0 obj << +/D [3062 0 R /XYZ 65.161 645.303 null] +>> endobj +3071 0 obj << +/D [3062 0 R /XYZ 56.693 601.891 null] +>> endobj +3072 0 obj << +/D [3062 0 R /XYZ 65.161 602.574 null] +>> endobj +310 0 obj << +/D [3062 0 R /XYZ 56.693 567.377 null] +>> endobj +3073 0 obj << +/D [3062 0 R /XYZ 56.693 541.189 null] +>> endobj +3074 0 obj << +/D [3062 0 R /XYZ 56.693 501.401 null] +>> endobj +3075 0 obj << +/D [3062 0 R /XYZ 65.161 501.69 null] +>> endobj +3076 0 obj << +/D [3062 0 R /XYZ 65.161 490.731 null] +>> endobj +3077 0 obj << +/D [3062 0 R /XYZ 56.693 447.32 null] +>> endobj +3078 0 obj << +/D [3062 0 R /XYZ 65.161 448.003 null] +>> endobj +3079 0 obj << +/D [3062 0 R /XYZ 65.161 437.044 null] +>> endobj +3080 0 obj << +/D [3062 0 R /XYZ 56.693 394.027 null] +>> endobj +3081 0 obj << +/D [3062 0 R /XYZ 65.161 394.316 null] +>> endobj +3082 0 obj << +/D [3062 0 R /XYZ 56.693 350.904 null] +>> endobj +3083 0 obj << +/D [3062 0 R /XYZ 65.161 351.588 null] +>> endobj +314 0 obj << +/D [3062 0 R /XYZ 56.693 316.39 null] +>> endobj +3084 0 obj << +/D [3062 0 R /XYZ 56.693 290.202 null] +>> endobj +3085 0 obj << +/D [3062 0 R /XYZ 56.693 250.414 null] +>> endobj +3086 0 obj << +/D [3062 0 R /XYZ 65.161 250.703 null] +>> endobj +3087 0 obj << +/D [3062 0 R /XYZ 65.161 239.744 null] +>> endobj +3088 0 obj << +/D [3062 0 R /XYZ 56.693 196.333 null] +>> endobj +3089 0 obj << +/D [3062 0 R /XYZ 65.161 197.016 null] +>> endobj +3090 0 obj << +/D [3062 0 R /XYZ 65.161 186.057 null] +>> endobj +3091 0 obj << +/D [3062 0 R /XYZ 56.693 143.04 null] +>> endobj +3092 0 obj << +/D [3062 0 R /XYZ 65.161 143.329 null] +>> endobj +3093 0 obj << +/D [3062 0 R /XYZ 56.693 99.918 null] +>> endobj +3094 0 obj << +/D [3062 0 R /XYZ 65.161 100.601 null] +>> endobj +3061 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F52 695 0 R /F93 909 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +3097 0 obj << +/Length 1639 +/Filter /FlateDecode +>> +stream +xÚÕZKsÛ6¾ëWp¦i¦‚Ïö”L“LÒ¦¶™‰s %Hâ„"’ò#¿¾ ‚´EZN ÓLÓ)p±»Ø7ù «¯GÏg£“WiAE0[‚"!EBÊ`¶>OMb¢ÂL¦”ãñ_Yi +w»ÌrwS®ë‡/²ùó,ûâ~|<{7ù<{ b¦„ ͹ãvVÞ$¦XSö1H'é"´Ò™HRL9Ò²–/(0”j|â.„ +»qôr6ú:"À$à R$0 æ›Ñ§Ï8XÀ3P1­‚«Šrp‚ Ü'ÁÙ蟮-[¡I®+“4̙F §<&ºÒ£Ù|šŒ«sO“øâºHÊú€ûækP†BQ³™5¦[fI’M(_ÅéÊ-Í×QºjŒ½Ž&/'„ëƤîn-êµ2»óH%Ô¾“MCRÚ£W²AÃéd +Ôk+’Œ6æY#§ˆÓ¹é8Ÿ "êîs2¨m x"N”½A‡Žë9¥¼EWi]…³:(ĄjTxíò¸ü6™ +°ô[¥E–þ1™ +?·7å:KOìQÐöƱ„¸³\íåu;b Ή¤pB…”ä6bì:ÇLi¥ƒÜËýiq;¼z_€”HÑpŒ‰¥î˟#"H—?Çà°—„ýôHSýÊV óUànNë|j9´Q\D1s~ýÇiي‚ûœ Á¬×ëØþ1anŠ]âË4ó£+ÊE¶óä/ýèROÙ x'ž‡_G…aUF¼(Wñe‡‡|óÌF—Ã¥A›Ï4è­ìi ¡±¦9fOÿîÒÔÌMQDùgäšM<ϒ,-|³g“]šÅãýÂIUŸºúÀõþÈR÷gÁœý]%U4°«P˜?Âp¸tjóï™N½•="hˆ`b©Üúl±èðƒÑù‘-w鼌³Ô·SEž­â뮫½h·QmLir?òË(ÙuX×OÎ1Çõúý½ÞѤÅ.7Omhòžu-ò†É·9XÎ7&Šná{ñåªMSAÎ1ÃõÄ­öˆ$bòv|žú ï’ —Ûmþ=s»·²¹­8ÂJ‚P¨ÚÄY³(ad\uÛ5ñíQ\+D ÌÐþý Ý_Ù#Š(hʛ÷³S³M¢¹oÒ, ¤Ø<òN²¦¢z¿ežmžø5Á’í&[ì|'ð«¸\ qdQ{ñþ城 µ†Þ½yþñìÝÌ×@p ™nrãPŸB=\Íi±ïYrúªê_q8gHHåüž›&σy7¦O5{Ÿºöwœ<¼ÃÓ\Ø=íg‡ÿÃ!ïªÐ¡ ­,<5³‘AAÀô§–+ÊSj˜·È}³ýøð„#ÐfÀR„‚\®µù÷,F½•=¢©Uó%ave¢/¾ÕÈ{ê(Íuù¤¯¦I\–Ñ䘹ÀN|R–h4€Ù]˜_ï2q„Ð5žB‚)wؓT{‚Œ +kІà 8TÒ`‰-‚¢áýÏ^•Yb’·¹¥MœVX¬\X˜e·šžcL¯ÝÒn»€yÖQV‹nPX¨ô nñõ˜2ªÇoJGá8Yܦ¸ªí{üüK´rh™ +ÅHr9\“¥Œ#©Õ`M¶Ã¿_“í¯¬“¥LW_uܧÚí6‰}›ì6*çëC_4#RÀUûv=Ê(RXÿÌñ’”æ½ ×\“`/ˆUm+øpXE‡¿ è¯ì€)¢Í÷Ì#ÀŠÊËñ·È‰°Õñ"üg‹]õAî̔&‰†ê®øÃä½?ç&-ÆÔtäÃSŒ17bþß7âev@?ÂcüÉz0ÑQJêÁet‘@ÿí|¯8ô_-†ú1ÕúRB~| +endstream +endobj +3096 0 obj << +/Type /Page +/Contents 3097 0 R +/Resources 3095 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 3060 0 R +>> endobj +3098 0 obj << +/D [3096 0 R /XYZ -11.232 900.716 null] +>> endobj +318 0 obj << +/D [3096 0 R /XYZ 56.693 759.068 null] +>> endobj +3099 0 obj << +/D [3096 0 R /XYZ 56.693 738.489 null] +>> endobj +3100 0 obj << +/D [3096 0 R /XYZ 56.693 691.479 null] +>> endobj +3101 0 obj << +/D [3096 0 R /XYZ 65.161 692.163 null] +>> endobj +3102 0 obj << +/D [3096 0 R /XYZ 65.161 681.204 null] +>> endobj +3103 0 obj << +/D [3096 0 R /XYZ 56.693 633.696 null] +>> endobj +3104 0 obj << +/D [3096 0 R /XYZ 65.161 634.379 null] +>> endobj +3105 0 obj << +/D [3096 0 R /XYZ 65.161 612.461 null] +>> endobj +3106 0 obj << +/D [3096 0 R /XYZ 56.693 564.954 null] +>> endobj +3107 0 obj << +/D [3096 0 R /XYZ 65.161 565.637 null] +>> endobj +3108 0 obj << +/D [3096 0 R /XYZ 56.693 518.129 null] +>> endobj +3109 0 obj << +/D [3096 0 R /XYZ 65.161 518.813 null] +>> endobj +322 0 obj << +/D [3096 0 R /XYZ 56.693 480.59 null] +>> endobj +3110 0 obj << +/D [3096 0 R /XYZ 56.693 444.425 null] +>> endobj +326 0 obj << +/D [3096 0 R /XYZ 56.693 401.575 null] +>> endobj +3111 0 obj << +/D [3096 0 R /XYZ 56.693 364.579 null] +>> endobj +330 0 obj << +/D [3096 0 R /XYZ 56.693 334.756 null] +>> endobj +3112 0 obj << +/D [3096 0 R /XYZ 56.693 306.371 null] +>> endobj +3113 0 obj << +/D [3096 0 R /XYZ 56.693 260.034 null] +>> endobj +3114 0 obj << +/D [3096 0 R /XYZ 65.161 260.044 null] +>> endobj +3115 0 obj << +/D [3096 0 R /XYZ 56.693 212.931 null] +>> endobj +3116 0 obj << +/D [3096 0 R /XYZ 65.161 213.22 null] +>> endobj +334 0 obj << +/D [3096 0 R /XYZ 56.693 176.07 null] +>> endobj +3117 0 obj << +/D [3096 0 R /XYZ 56.693 148.516 null] +>> endobj +3095 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F52 695 0 R /F93 909 0 R /F95 923 0 R /F98 924 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +3120 0 obj << +/Length 2932 +/Filter /FlateDecode +>> +stream +xÚÍ][—Û¶~ß_Á“>Ä{NÆ…É¤í©8Nsâ6õnzrŽˆ„$Ö¼¨$´ëí¯/x‘½¤nƒ¹î“´4óÍ|3`±·ò°÷úâåÍÅó8ö" *¼›¥'(†XàÝ$Þ»goU¦d­.¯(ÇÏþ^jUwo—eÕ½ÑëþËïËøeY~èþøíúçËßo~2—¹"EœwÒ®õ}¦êµRºn¾6W'^h®.Xsu_( ¡wÅQô×Ì ÂgÏ»BEóËW7ÿ¹ F<öˆÇó‚ˆ ©çï~Ç^b¾3 + ? +½»vdîq‚e¼ϼë‹^àþN`£bó¶yyý@²¹$ ^àGˆ`ÑHn>çØèé ¢(Œ¼JyË£¢ `!"~°»@'˜4£]åsDË瘠@„ +<¼ÍE4š@ÙV`µòº7o{K4°µ¿µÄ^qŸ ŸõÖó¦LÒeª’ÖŽ óÞ] Ü&làª*·àX•o2©’몪ԃ‘f²ì?8ò“0Ùra {—ê5ld¾ÍtºÉ¬îp}dŠ{‡ †ó¡c(ßÎÊZ ƒ÷ˆúŒèC–ZWéb µöheåVo¶8¶ªše°qYUªÞ”E’+ØO–åØp¿9ŠÍCp3Ÿ¢Ó`þ¥R·i¹­³ûGC„DõÍ‘¡|Gˆ8+k!Nz2aBB4æ; ´f 5Ðä7U¹N©Û§^§cƒk?9>n¨²H&`\æ¹*€s¬å½Åô¤¶q,ð——ck83̝‘§ Ä;¢ÌUU áqî@& ¨sW_:fÝ¥àÀ!·5P(tþªªF,ÎÜ>ƒZr&\¼„FÏ=ÏpJåÀ¡HjÀ»Uåee±R•%^Eä#FÈl€ÉwC¬»²pȊ(@<Š:ÈV&É¿•Å^òíi;Lõ´Ä°(õ¤!ÉDRCÆò©sŸþñË¡pkž;}¿ )Ûo¯^ÀGÆN_Ử¬¡ÉÞb»:t•?@`Î#dž""ˆQêR9òº_žê ="hPF;Û}O)Ìcdï!ò q_AÛ*Õÿ½lgú“’E]ß\^jþ\Ur³Nã}¬3èÜkó¯ÙêB‚Ó–½Î澆òݗ³²î‹sb¾«Qn2CëB&Œ› í cþÓ º<ö9Ds†O^x¹“U'¸fžr¥‘hõÑðèZU@l†«¢NGéúÎœ‡“or5>©+¡ÍGÁÄ®D&yYØøJéŒ~ÄÀ0 l>?2”ïèGœ•µð#ÄG˜tOôUÑÔn€^d¥ +UIB Tåȕ’G ª„U%ëÎÄÍ:˜ŸLTšN‹¤ñ4óH¡ÅÀ~)üÙèT¨Ù)À?º¶o ‘?0D?0‚í¼Ê{ìãne, + + Í »1W@¯bè½A¡?èGòÝ@ï®,ô!G8žÀ +îîæÆHˤ’‡aK>f»±CùŽ7ÖYY¸7åEØ|Ñ'•KU©"V£¼®×ºhq§˜¶¨WJêQ,9¿0MúpcäPÎÅ &B"fã\´±µ€GIç~g%„"6žÁf"?Þ¼ù¹ïxÈÛ°wE©!K}åâf×}°,³¬¼¤ÜPiÎۏâµ,V»~…µ¼¤øÙí%áÏú_,”*ºw¹LúÏtù¹©¡óÂìÁµIè£ ;?¼Öyv@C*ÉnP\îdשÁ¨gÂÛ܊î}ÕuZ áݸ¢„˜˜7…›˜©¶¡¯qlµñG$š‘­úQÓ¥1[Éwó¯îÊÂý«1“ õëE’ì9˜sY짇 b€ñxUõ3ù8œ3ÚôF2Wcáþê¸ôMUÆûiû j\B©‹¶ciô›¯žŸIÞ¡%n¹¨u%cíÒ;rn~!ÌÇ6FòÑବBŠø® øh:~"9d>Îô%-ö³°ç'êNV&&¡ËÛ=š¾C82Anü@ Š§¬ +ùæ5 ü1±65¬CeMº®ó6Unç|§z½‹¹›´ ¶ßvßÔ÷E¹±¾¾o®Ç¢ƒ/3Éæ|½VCñŽÎÆUU _ããVÑö!×K`¡ÈŒM2pÅZ&Ú±ãi»­àM…Ð,ΓÖÂkèà^[ÊyDÂݐ¢Ù,v(ßÑd•µ°Y™Ì¿O”–Û"¶{W0u±m¼ž:Ë¿¦ 4ºÖZÂkàxٗ{¡ ßÒy+&¼%3³YñP¾£;+kaÅ$D!ÿÔ¿\ÍO—`Gv?±©$ªŽU‘HðâÔçËâÞ +¹Ð¾½B˾¦ì½HÆõgé¸éñ<°ž¯h=’ïˆge-p`˜^õ¹?4N'‹Æïï?†£È³Ì^dui ¶›\$ó •/Ô^=äèèO¥ià],ãznu,bHøó•Fò݀á®,,2×d}àˆÛ³Íé€4q7e.?@—= Ž?S²šš©Áã飗\Î#%lÄ|HÊwDŠ³²H ›•ý¶†z˦9 ¼ô> G»Õ»u +Í>¬3S¨ö™–´Þ†ÀšÈ÷!Œä;š¸³²&p„IŸ.ÜÊ š7Æë4K %8BÎ?¢€=iëk6%ÁLEJ¹\f…Iæ㖟ÎV˜dM«ÞŒ«‚#ùŽ6שּׁ…Í3†(ݵÂÞªJO¾Ez#¡ Ðd¶Ùñx _´ýNDœžY ’vÛN2u™Iñº¬fÞ0srÄØB0_®<’ïˆge-A)¢¢Ï•]Kw“lc^¿ ”ºø·Šµíf㛵,>Llº×X—»Ö*-Vef[äg8lãúl¦>”ïhêÎÊZ˜:!ˆáÞûƒm·R›²ÚÛ(kÃw°áYôIe©É^|ñ˜EÙ·å¢ÙÈР¼×6ýde]ËêނèÐ 0¯3®ÀRÑlŸÍԇâÝ,ÝYU¸¡S!ŽûØq\n'ρ¥íÍL½µº¶½~’ÞN›¶¶RMF—kÆD…a­ìI÷ RŸ!ÿƒJÊ8b!ŸÑ‡Pùt¾ØH¾£qV֍Ps«‰ÿ˜¥2µ’YQêºnðD‡E¹§w Y+‹ÆʽÖÍSy£«U5íFñXfñ6ÛçôçqG˜õ|u³‘|GX8+k "P°;¥oò5Ø`î$t9~ê¹JÝ®ÓZ—ðø·§Qçs¯_ë}Î=m϶ÜlöO‘4m׶H´¥c³!i(ßIÎÊZ ÉdFAԟɖ7»?,šÜ[£²xzË4S‡é¿:Ó£¥2ë}ÅÐÙÎøZ!ŸåqWV&†r²LYÜÆý=€S}º ?v°"Aܟï·‘|7X¹+ ‡‰|²Ïç¸ÍÁÀà©œƒíygòÎ¶¾$>ૐUX‚¦~$ ä)S?"¢/\ ¸Í=fËúˆµ,n6ï1”ïè=œ•µðíŽÓ¾óá׶ Çêí¦)•N¡®ÿõÚþ”‡| í>‚îR–¥ž‰:rrÍcÓú¼ï_º­Ü斿͆¡¡|G 9+k!Ÿ"úÇ6Ÿ>1‚ÞH½†noÍ;h”65§ROؚ³tý©0궨Agm¦‰;?¢a<߂ÈP¼ UµÀ#ƈFÖpLÊxÛtÞYœ]4ý¶°d±^?²#(áà™5»$ÔGmA§ëæ<4Þª©7ôý¨²Ë)k¡h©Ð\hŠwC“«ªG±Fˆ±ÝBÐI[º§šw¥]NZC¿µá_‡«†_×{a泯O×vÀ;œj >5z›³TÖ ûd¾šçeᖱZá¦94ʟ!¶ïý##,¢Çü›ÿRó'3 +endstream +endobj +3119 0 obj << +/Type /Page +/Contents 3120 0 R +/Resources 3118 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 3060 0 R +>> endobj +3121 0 obj << +/D [3119 0 R /XYZ -16.307 900.716 null] +>> endobj +3122 0 obj << +/D [3119 0 R /XYZ 56.693 759.068 null] +>> endobj +3123 0 obj << +/D [3119 0 R /XYZ 65.161 752.393 null] +>> endobj +3124 0 obj << +/D [3119 0 R /XYZ 65.161 741.435 null] +>> endobj +3125 0 obj << +/D [3119 0 R /XYZ 65.161 730.476 null] +>> endobj +3126 0 obj << +/D [3119 0 R /XYZ 65.161 719.517 null] +>> endobj +3127 0 obj << +/D [3119 0 R /XYZ 65.161 708.558 null] +>> endobj +3128 0 obj << +/D [3119 0 R /XYZ 56.693 666.08 null] +>> endobj +3129 0 obj << +/D [3119 0 R /XYZ 65.161 666.764 null] +>> endobj +3130 0 obj << +/D [3119 0 R /XYZ 56.693 625.528 null] +>> endobj +3131 0 obj << +/D [3119 0 R /XYZ 65.161 624.969 null] +>> endobj +3132 0 obj << +/D [3119 0 R /XYZ 65.161 603.051 null] +>> endobj +338 0 obj << +/D [3119 0 R /XYZ 56.693 568.3 null] +>> endobj +3133 0 obj << +/D [3119 0 R /XYZ 56.693 542.423 null] +>> endobj +3134 0 obj << +/D [3119 0 R /XYZ 56.693 503.797 null] +>> endobj +3135 0 obj << +/D [3119 0 R /XYZ 65.161 504.48 null] +>> endobj +3136 0 obj << +/D [3119 0 R /XYZ 65.161 493.521 null] +>> endobj +3137 0 obj << +/D [3119 0 R /XYZ 56.693 451.043 null] +>> endobj +3138 0 obj << +/D [3119 0 R /XYZ 65.161 451.727 null] +>> endobj +3139 0 obj << +/D [3119 0 R /XYZ 65.161 440.768 null] +>> endobj +3140 0 obj << +/D [3119 0 R /XYZ 65.161 429.809 null] +>> endobj +3141 0 obj << +/D [3119 0 R /XYZ 65.161 418.85 null] +>> endobj +3142 0 obj << +/D [3119 0 R /XYZ 65.161 407.891 null] +>> endobj +3143 0 obj << +/D [3119 0 R /XYZ 65.161 396.932 null] +>> endobj +3144 0 obj << +/D [3119 0 R /XYZ 65.161 385.973 null] +>> endobj +3145 0 obj << +/D [3119 0 R /XYZ 56.693 343.89 null] +>> endobj +3146 0 obj << +/D [3119 0 R /XYZ 65.161 344.179 null] +>> endobj +3147 0 obj << +/D [3119 0 R /XYZ 65.161 333.22 null] +>> endobj +3148 0 obj << +/D [3119 0 R /XYZ 65.161 322.261 null] +>> endobj +3149 0 obj << +/D [3119 0 R /XYZ 56.693 279.784 null] +>> endobj +3150 0 obj << +/D [3119 0 R /XYZ 65.161 280.467 null] +>> endobj +3151 0 obj << +/D [3119 0 R /XYZ 56.693 237.989 null] +>> endobj +3152 0 obj << +/D [3119 0 R /XYZ 65.161 238.673 null] +>> endobj +3153 0 obj << +/D [3119 0 R /XYZ 65.161 227.714 null] +>> endobj +3154 0 obj << +/D [3119 0 R /XYZ 65.161 216.755 null] +>> endobj +3155 0 obj << +/D [3119 0 R /XYZ 65.161 205.796 null] +>> endobj +3156 0 obj << +/D [3119 0 R /XYZ 56.693 163.318 null] +>> endobj +3157 0 obj << +/D [3119 0 R /XYZ 65.161 164.002 null] +>> endobj +3158 0 obj << +/D [3119 0 R /XYZ 65.161 153.043 null] +>> endobj +3159 0 obj << +/D [3119 0 R /XYZ 56.693 110.565 null] +>> endobj +3160 0 obj << +/D [3119 0 R /XYZ 65.161 111.249 null] +>> endobj +3161 0 obj << +/D [3119 0 R /XYZ 65.161 100.29 null] +>> endobj +3118 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F95 923 0 R /F98 924 0 R /F52 695 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +3164 0 obj << +/Length 1408 +/Filter /FlateDecode +>> +stream +xÚíZMsÛ6½ëWà(ÍT¾A´§fš&Íĝi¬Cg’h–T“„JRvòï»)[”e Å4ÎäbÁàr±Ø}»K’ "èåèùlôìwIÁF1…f—H1¬4Š(Ç\£Y‚ލßÚÔÆ¥L™$ã?]eËzxéŠzP-›‹¿¹ùsç®êþ>3ù0{ ËL)ÅFÊZÛyõ)µåÒÚªô—auŠ"X]q¿ºPk¡©ÄF7ë+ +u4~VÿP¦ü£³Ñ¿# +ê ¢H*¬ GÚP¬CólôîA \°0ºÙJfHR‚W0NÑùè¯i!‚.± Êmý=±ÜÛØ`&P+…ù>9–›Í¿*ÇrE1Û#Y}”d_Ǟ ¯='Æß~[»¸ï¡­Ýí§×r¤Zfà8ȇ+Púû¨þƆ(f8 Ìü`Û'ĶL¨»Ãô÷soc;€9bPÑ¿O²eZAé_•l7˜qvK¶ÑQ²}ë6yâóïÛfÙâ3a¿ Üx2šþ„){Ðìye¯mM­Ïã4Ý1ëEêæW%K.®<·þR ìM&UÒLn?`¹+²8]uj{©OXB‡ãbªàØ(†+_úû•¯þƆ—/ª)æ ZÎ\²IãBXîPpZVô¹›À¯6eå²UyôÝq(¹Q©¡ÎñáÐÑÖß½í€½€¦ÝOj]Î:Á¯Å«ø"µ'~×P³:¾§R`b†x¹zïóSáŸ-›/ùúô?Ò¼‹c +endstream +endobj +3163 0 obj << +/Type /Page +/Contents 3164 0 R +/Resources 3162 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 3060 0 R +>> endobj +3165 0 obj << +/D [3163 0 R /XYZ -11.232 900.716 null] +>> endobj +342 0 obj << +/D [3163 0 R /XYZ 56.693 759.068 null] +>> endobj +3166 0 obj << +/D [3163 0 R /XYZ 56.693 738.489 null] +>> endobj +3167 0 obj << +/D [3163 0 R /XYZ 56.693 691.874 null] +>> endobj +3168 0 obj << +/D [3163 0 R /XYZ 65.161 692.163 null] +>> endobj +3169 0 obj << +/D [3163 0 R /XYZ 65.161 681.204 null] +>> endobj +3170 0 obj << +/D [3163 0 R /XYZ 65.161 670.245 null] +>> endobj +3171 0 obj << +/D [3163 0 R /XYZ 65.161 659.286 null] +>> endobj +346 0 obj << +/D [3163 0 R /XYZ 56.693 622.135 null] +>> endobj +3172 0 obj << +/D [3163 0 R /XYZ 56.693 594.582 null] +>> endobj +3173 0 obj << +/D [3163 0 R /XYZ 56.693 547.572 null] +>> endobj +3174 0 obj << +/D [3163 0 R /XYZ 65.161 548.256 null] +>> endobj +3175 0 obj << +/D [3163 0 R /XYZ 65.161 537.297 null] +>> endobj +350 0 obj << +/D [3163 0 R /XYZ 56.693 500.147 null] +>> endobj +3176 0 obj << +/D [3163 0 R /XYZ 56.693 472.593 null] +>> endobj +3177 0 obj << +/D [3163 0 R /XYZ 56.693 425.583 null] +>> endobj +3178 0 obj << +/D [3163 0 R /XYZ 65.161 426.267 null] +>> endobj +3179 0 obj << +/D [3163 0 R /XYZ 65.161 415.308 null] +>> endobj +354 0 obj << +/D [3163 0 R /XYZ 56.693 378.158 null] +>> endobj +3180 0 obj << +/D [3163 0 R /XYZ 56.693 350.604 null] +>> endobj +3181 0 obj << +/D [3163 0 R /XYZ 56.693 303.595 null] +>> endobj +3182 0 obj << +/D [3163 0 R /XYZ 65.161 304.278 null] +>> endobj +3183 0 obj << +/D [3163 0 R /XYZ 65.161 293.319 null] +>> endobj +358 0 obj << +/D [3163 0 R /XYZ 56.693 256.169 null] +>> endobj +3184 0 obj << +/D [3163 0 R /XYZ 56.693 228.615 null] +>> endobj +3185 0 obj << +/D [3163 0 R /XYZ 56.693 181.606 null] +>> endobj +3186 0 obj << +/D [3163 0 R /XYZ 65.161 182.289 null] +>> endobj +3187 0 obj << +/D [3163 0 R /XYZ 65.161 171.33 null] +>> endobj +3162 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F52 695 0 R /F93 909 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +3191 0 obj << +/Length 2717 +/Filter /FlateDecode +>> +stream +xÚÍ]sÛ6òÝ¿‚Ó‡i&Bð»÷”ºi’6i|¶;w½¤sQÄš"t$h[ùõ· ~™¶)û|s/‚»‹ýÞ±³q°óîä‡Ë“×?ù؉QÐÀ¹\;EAèDÄEnè\®œ/³sžqVòù‚úxö«¼Ôõ(ô@nÍÃEòƒWzò‹ó?.4 BPìûڅW”ºˆ¸>Š"OCýJ©ßÛWÓZ«§hˆD–„s±ä…œ/àî…d)òïç Baº/DÂWUÁŒö°+å%ºÝe6(¯þÞõÕ”œ„Ô "@ uQë>åóDÅNÁuW?zÐÆWï"C{‘E µû¹ð}D2„ïc0n +†®í(¦ñØ`±qôàÜSO²–ðˆ€—ÐH±§w¡‰)¸a崍i¾åE*•IMÚÅù~`Ó³…Y¸û +˜Û†ƒ%Ӏ¯ ±›¸S;– A÷"–òDñBk,×^ÝûRMڲ꣙`bJ¹@^ÌúðŸiÏ&ö !…&š°išq¤¡¬Ÿh)¹7r¾š¶‚Ѥ}K>Õ8÷r*æcìry˜ÈL¾fUvŸ•M°ï9aæžÿ»é›ÉU YÏñÑöGvÍu¬=c7eje*3ŽÖ"—hÍvivPqö¯zg"v{‘sx”±%Ïd +Yµ‚P I†]kwK¶T ýàhi¿CŽÅȇ¡!è+Æh ¸=šÈx— âÑŒñ#¹/çáúðŸéážMì2?/$¶ˆØT+Žˆ€rzà8ćö(6O6b"¿œ!CÕ°ñ;–ì‡>r±á"qGkS¡©ºžg“òñêCIÉ·ÕGZöRw=±Ækf`مd¹4e‡ªC*S¢€ÒÛº&1›Y¾2ƒÕª” +#%N™nòTIøkԊoÝèûïòÃÁ™:…ůüF¿›‰„eé7&S‘©ë>Ó+Õ~Åä X˜u[ŒÃ~-û÷y„uAæª#ó•ʛ9x+¡'9¯­'=ª”¸H0ûÈäuÊr%70ޖ¡[Ä+5÷Ú¶Üs¢5NƒÎð۝~ãÉÖ¼|ºMs^š Ò¬f;_™çŸD¾ñj´bçŲ~V³êƒdY;kxúÛUÁÒܜcÀ~ô ca˜ÂøÃÅç 6ue’ÊŽ¤JÕ>0º¢k{Ët™¥bS°ýViäA¯ŠJî+‰&Ë5°'–ƒJš`Úqp4 m€ê > Mß]ۋcäÒ°W|sɋ¦p·õz‹Ä§]ûFZ +ő‘rªú ¶Ûl  ²ÖÜådMÛc Èóݾ4£Z‰¤ÚA˜ïÈ£'„}1'Ñ rÔ²lŒ<ÍKYTIÇ¿bŸ}€_r¬½é~‰GÀa­yÁu?¦Cº`In™Ô£r›îf‚뙫'z"[`ÖûÁ$Ö\aÒ¸BM§ŽWŽý¢ð=øí?Ë2=8û0,¶ –΃¨ô aæÝÊUKU=ì«٘‘jM72Q¥fßû–m×íxkläoä«|GÖ¸Ñ岯Ænº™¡¢²²j•ÖBÔZÝ¥Ãó‘O­V^f \„|ŸØM7¢X•é7þR-ä&*Ùíñî÷¹Ê.kö+c}X« +µê[ Ž¿Õ1>ÐÚDÃõk€e•b}·A×ñ*Æ¡wwð€;îæô€‘Em³¯Ë›aIY¤:ÆCdyXS\p¨Êi·kiÑŽå‹=Ûð®O~šéG*þå +V©g­^ëy+3õ°Ú«äÅn‘e)ÍB_”‘ ¾c[ÛÆ6L|ƒ +´¾Ü³„[JŠt¿o`)'÷gU²˜c?4Þ÷—Ÿ>ªÜÍÄS5øé3ü»q×p͎¬z´ʇ¢ù‡,ä ,CLvj3µ¤±ÒçS³µµÊ¾Úùr£¦þÛñUÊڎÒÝہNiö—1ŃrËm]šzþ0ÌX…œæ sÅ¿·,َ`€ˆ§ò=‹aÇ6u¶ï,<8‰çöC9‡‰ Oōƒy5QHI×Å= <ÀJ¢ÔÂ¥Þl”Õª|À±]§+~L+zv'(^2Ž!ˆIHçTîˆglIˆQÐZþ£â¤AƒF…q…A mŒó@¿ºÍ^4äÆ<ñ²€d¿ÖTx¢,DŸ¨ž~— ɍXÝäüA)ª"áß©ÝÄX ¦³Ú4`¡Ö{nkfÁâ®uªWj­–J°a½T§ìì`à•zØpU¶(Fl| ªýW dë$`D¤. +ã†y¯Ç ¡°1–1¼:qãG`´ÙàZ©9¦´Â^ë÷ ÃÍ+Úñ²jÕ¤ÑuʶðöFsd¸ ¨ƒxÚ8 ÷¾Ú2cÚ(Ë«äV%*y*"ž«.ÑjŒ^Œp›JwrÚ7µ¨ ?ûC‘n¶r +?Fat7Y/͙jÿKg€^ëffÀ”y8$hª,Ñ7x&[¾Ùê6e7*ŽTàÀ±ØðÊAÉGC}åiâ›ß.ß>¿“9FÀ¼ yCsôÓÏg¿Ÿx÷þrLŸ1Déšáêc9¡(ðƒ~ÎðĒ)Ñ´¸G*ŒÓ§å PfoûX`eÇUƒ!-wzª¯³I83¼nö•Èìo €:݃us5ªväúë­fʆÔ#R·y èä%ðèt-KK…ÜݧÜÖBbPn¹r‚µÃt`â߶ÿJòö›(sìã9Hq?åÛ¹ÿ È +endstream +endobj +3190 0 obj << +/Type /Page +/Contents 3191 0 R +/Resources 3189 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 3060 0 R +/Annots [ 3188 0 R ] +>> endobj +3188 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 1] +/Rect [359.467 429.64 460.541 440.544] +/Subtype/Link/A<> +>> endobj +3192 0 obj << +/D [3190 0 R /XYZ -16.307 900.716 null] +>> endobj +362 0 obj << +/D [3190 0 R /XYZ 56.693 759.068 null] +>> endobj +3193 0 obj << +/D [3190 0 R /XYZ 56.693 738.489 null] +>> endobj +3194 0 obj << +/D [3190 0 R /XYZ 56.693 691.511 null] +>> endobj +3195 0 obj << +/D [3190 0 R /XYZ 65.161 692.194 null] +>> endobj +3196 0 obj << +/D [3190 0 R /XYZ 65.161 681.235 null] +>> endobj +3197 0 obj << +/D [3190 0 R /XYZ 56.693 633.746 null] +>> endobj +3198 0 obj << +/D [3190 0 R /XYZ 65.161 634.43 null] +>> endobj +366 0 obj << +/D [3190 0 R /XYZ 56.693 596.216 null] +>> endobj +3199 0 obj << +/D [3190 0 R /XYZ 56.693 560.058 null] +>> endobj +370 0 obj << +/D [3190 0 R /XYZ 56.693 193.564 null] +>> endobj +3201 0 obj << +/D [3190 0 R /XYZ 56.693 165.185 null] +>> endobj +3202 0 obj << +/D [3190 0 R /XYZ 56.693 118.601 null] +>> endobj +3203 0 obj << +/D [3190 0 R /XYZ 65.161 118.89 null] +>> endobj +3189 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F52 695 0 R /F93 909 0 R /F95 923 0 R /F57 739 0 R /F102 977 0 R /F105 3200 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +3206 0 obj << +/Length 2185 +/Filter /FlateDecode +>> +stream +xÚ½\[oã¶~ϯú” —¤HŠjŸv»mN÷Rà$)P`·8`dÚV£[%9—þúŽ,yO$ÇÎÈ´òË25’ó}s!ê-<ê]œ¼»>yó‹¤^HBŕw=÷'*ð4ó‰x×3ïËé¥M¬©ìÙ9—ôô·¼¶U{9ÏËö¢^v?¾Ï£wy~Û~ùãêÓٟ× ›sÆH(e+íª~Llµ´¶®šŸ¡wæiè]ùMïB$àÚ;—$ ºþ•>}Ó~0®šO~¾>ùû„xê1O*¢Bß BFå^”ž|ù“z3ø  "ÔÞýºeêIF ÷\'ÞÕÉOh7Tl.›‹'’a>XÀ½@„„QÕHnîK +z +åqêÐ+­7ß) +ہ¯ Á¦ƒV0kZ»Ê—„)6”/)#Ò¨žN³"! ìZ`¹ðڋËÎa ׶ ֖Ø).~g=ïÊ|µXÖkØ-Ëûr®(=]¸vuŽk73µÅµ¼ë%®¥Ízí`ˆ¤»±ýÀéCšà¤Ærä¶L+\Ó|Žìº¶‘{Ç´~æ-NôÜÞãVug äÀRSÞÚR <ÜĖ&«SÇù®õíÁ¢Çeßì_jÆÙñ¹MúúdœHßo¡ö•sÙÓ}OMðmˆË[s¶úǼ²·?œ3_’<2‰}Uä›í¾%*„$¾š}ùŽ¨pVv*„&Jv¨ø ëƒÚ5>²[ù¹*,Àg°Œp*JpˆëƒWE Àø$J³1¢ ›/¦C a ÁtÈwC»²#«ŽD/ðqô¼ÌS\Ë “Ýä Ò_]WfaLv»\­’WêW’ 'Wüøљ]£èdz'¼5.b“Ê'RL‰, ©–Ó!«/ßYÎÊâ‘%¥$:èu¹Jlud“åej’øtx·Hòª2å#6ý…T «ôµ‘ÌQ/-RƒYåeˆ#“aDŽ]dÜ1‹çs[¼f`fò‰™ àˆ~;ùJm‹v¡~Ò( 0Úµ9Çr†`¤á·É ݗïigeÖ|i} ².Ü´&B’“-Vfavh>D¹þë:4¦e‡äVŸãhilò•JZ§ð—uAb×ˁs«Êÿ}2õ3®*Çx8 +i`8aö% žhÊÒSÁa ß îÊâ=œ€8Uò?å),1ž…— +´KDǚŸãd+ûÊ}¾¿Èù1OMŸk=¦aꘂÙa¾ØP,§›m“'·£ÝEa{÷¥rF$ {B¹£„Ž*‹_Ùò&Æú»y<ŒQFp”!¯ÊQB…ÀüÓd¯™ $dH40ÆB-¦‹±òÈYÙ ñ<ÛTʼnÐÜSÔ¶<î~M”gµ}@†v¥‘v¾›G²Uz3Ðwÿ&›h]Çõ°ö²Í ÈnäëâûàÚ¦Á{\Á;ƒÈ›M‰wʉâ½/ßïÎʎÀ;•0ÕÞM‹2¿Ãw¶¬†[~G8ؗñͪÎËC]§†`¬ê5¡ä +8šޛU×ÿ´Xú`MVmaiu;K¾ +åþtXòaÈTM‡¥|7,¹+‹Ç’Q‹¿)þ¿-Š$ÆB©0õ õí~`2äTûh×>¡Át†Ï›© dس|Hl%ô¹5ð8ŽƒQH“Ì´\1ÀDé\Î;è\oŽWÍó.Oï›jÜúÖ&ÃYYš3tÆäi÷čµY{•šYwÂúo§¶ÚZŽÿ¤o¦ µAb´KG_ú>i¶‘^ÅYdÇÂÀX9¡íuÙ&#ý9çàv¸]hDNU076©ÈC…%.8Ü6œ÷Š0NFùnÄá®,ž8¸â»€?­­IÐv– ËÕØcMK7UÕY®5«í=Ú=ÁñÚ0Ñ:W+lQ°^šÚi|/#d}J‰MgÀ}ùŽìªìns>¾ÞÔp$ݽÖ÷K›aÒ!­(¬)‘e.¬AtEž¡7{g“­êYÃ×{‹Qquä}3ŸÛ]I¼y¤(óÂâÛFvÄIáalþ2~TSqšÎ—ä;Ú·³²#ì;h¶ýZóÎËEfR{\‡d°›"1öŒ61ƒLkyxY”)Ÿhùº>G€›ãS•8š<.«ËÇ1^ÇgD06¡Ûá”9!,ûòaé¬ìXr¦zó–å<ΰ~'É <®êbU¿Ҙòý[›™©ÍˆŠÈ€,ñ/•Ø´H†ÇŠȀX АˆÐŸÎDûòMÔYÙ&Ê8 tW‰FGUŽu0‘©ìao vw¿ÛmCϽ–·¿ÛŸïØĦ`ÛÕsí¯ì( Ë(Îæ96,[Íç#Ó1[G[ήñß#-½ÉxþÿÄÑ ½/ÞÍΝUaæ ¨ÞóAà@ÃX¬*ƒ>‰†®aÅY”¬fHe¿ütÜ<%ÊËÒVE9?–¦‹áU÷7˜GÜt)ÿt[µ}ñnpV€½yCç}ŠÄu|‡\«‹U<³ãéòúýÅsu`l讑zŠ}Ý­ÿ*!(¡*<äŸJü ‘õ[¤ +endstream +endobj +3205 0 obj << +/Type /Page +/Contents 3206 0 R +/Resources 3204 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 3239 0 R +>> endobj +3207 0 obj << +/D [3205 0 R /XYZ -11.232 900.716 null] +>> endobj +3208 0 obj << +/D [3205 0 R /XYZ 56.693 759.068 null] +>> endobj +3209 0 obj << +/D [3205 0 R /XYZ 65.161 752.393 null] +>> endobj +3210 0 obj << +/D [3205 0 R /XYZ 56.693 705.992 null] +>> endobj +3211 0 obj << +/D [3205 0 R /XYZ 65.161 706.003 null] +>> endobj +3212 0 obj << +/D [3205 0 R /XYZ 56.693 658.929 null] +>> endobj +3213 0 obj << +/D [3205 0 R /XYZ 65.161 659.613 null] +>> endobj +3214 0 obj << +/D [3205 0 R /XYZ 56.693 612.539 null] +>> endobj +3215 0 obj << +/D [3205 0 R /XYZ 65.161 613.222 null] +>> endobj +3216 0 obj << +/D [3205 0 R /XYZ 56.693 566.543 null] +>> endobj +3217 0 obj << +/D [3205 0 R /XYZ 65.161 566.832 null] +>> endobj +3218 0 obj << +/D [3205 0 R /XYZ 56.693 509.001 null] +>> endobj +3219 0 obj << +/D [3205 0 R /XYZ 65.161 509.482 null] +>> endobj +3220 0 obj << +/D [3205 0 R /XYZ 56.693 462.409 null] +>> endobj +3221 0 obj << +/D [3205 0 R /XYZ 65.161 463.092 null] +>> endobj +3222 0 obj << +/D [3205 0 R /XYZ 56.693 416.018 null] +>> endobj +3223 0 obj << +/D [3205 0 R /XYZ 65.161 416.702 null] +>> endobj +3224 0 obj << +/D [3205 0 R /XYZ 56.693 370.3 null] +>> endobj +3225 0 obj << +/D [3205 0 R /XYZ 65.161 370.311 null] +>> endobj +374 0 obj << +/D [3205 0 R /XYZ 56.693 333.368 null] +>> endobj +3226 0 obj << +/D [3205 0 R /XYZ 56.693 305.959 null] +>> endobj +3227 0 obj << +/D [3205 0 R /XYZ 56.693 260.067 null] +>> endobj +3228 0 obj << +/D [3205 0 R /XYZ 65.161 260.356 null] +>> endobj +3229 0 obj << +/D [3205 0 R /XYZ 65.161 249.397 null] +>> endobj +3230 0 obj << +/D [3205 0 R /XYZ 65.161 238.438 null] +>> endobj +3231 0 obj << +/D [3205 0 R /XYZ 56.693 191.759 null] +>> endobj +3232 0 obj << +/D [3205 0 R /XYZ 65.161 192.048 null] +>> endobj +3233 0 obj << +/D [3205 0 R /XYZ 65.161 181.089 null] +>> endobj +3234 0 obj << +/D [3205 0 R /XYZ 56.693 134.015 null] +>> endobj +3235 0 obj << +/D [3205 0 R /XYZ 65.161 134.698 null] +>> endobj +3236 0 obj << +/D [3205 0 R /XYZ 65.161 123.74 null] +>> endobj +3237 0 obj << +/D [3205 0 R /XYZ 65.161 112.781 null] +>> endobj +3238 0 obj << +/D [3205 0 R /XYZ 65.161 101.822 null] +>> endobj +3204 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F95 923 0 R /F98 924 0 R /F52 695 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +3242 0 obj << +/Length 2051 +/Filter /FlateDecode +>> +stream +xÚÍ\[oã6~ϯÐv_’EÃáT/ ´ØE»Ûíä¡À´´LÇDdɕä&é¯ß#KNÆò8CšfЗ±"SÈó+Ç8»ÍpöÝÅ·7oÞ +œå(—Tf7‹LR$U¦ CLe7óìýå϶´¦µW×TàËÿԝm‡ËEÝ Ýrüò_uñm]ß üòßn¾‡i® A¹ڻíÒÚ®í¿†ÙI¦avÉúÙ¹THQ] ”«q~©PéË7á²ðâß7¿_€ÇɄD2g™Ê ’˜fÅêâýo8›Ãw â¹Îî·#W™ Q&áºÌÞ]üï+®È›çˆ`9Èô+¥b+Åî±7oaÈö=xÿŒF\jøbXÀzf›îêZb ¯o»ºúâêšPø³s¬zhË Ö©ì?¾ÛCØ¢h¦XŽì ¼a_`X/.3ŠrgÍ¾ÒÚÇïN@5Jï&€I?:_ "É_`‚,•Ï n·D9ÍÏ ì°¹Í†‹ŸÇýßÛËàŒ -Çýÿf>ßÛþCœìýv¿»hmѹºÚoƇ^ºjQ ß*‘Ÿ8íf½®A'àÈWû¨@–8BûŽ|§fÀ%zí~tÅÒØòW,p·‚ÉÈÀ•ë–'óDBæLÆ?©‹ñdü›àÇñ/^XþI-¥ô‰v~ºÊÜû4¯EÝ4Àk¿ÁKSÍKWÝú®~ãÀ¶øìj¿qàèW¶³êÒLÞÿÓìQ (™N¹÷ñ#•;ZØåVÑ>ꕻ¨«Î¸ÊoÒùŠ¹m [͍·BÌ6ž|¨<õ1@ØbéÊyc«S=›”a¢Òiæ>~¤f&v\ ébÀ ~äbD @Si3™›¥ó$F»¬7¥§»šy*übÓ@ÞÕxG¡®òv˜õ©öÿ¨ +ñ“ÖsQMõ¸Ovšc$‡t ™{ôc–P  +÷<ðÀŒz˜ HÅpž§cÉ>~$K¢… ` §°ºcöþјâÙ0ÛÝoª¹¯ÚƓ2ÆwຩgfV>úòeå‰[û3v]šÂ— ÷þKк•+Mªéf“„)É|¤žÇŠ æŒ Nõ æa!þ4̀´ò¨|kº”§åRG ×ùj ¼–9ÈÛBb4 + /ÈkV$fS~JõÁl×ý9Ô¾·¦jŸ«~kPq9C\ˆtI<ÏÓ%eü8~Ç ëOp¡RzÜüë¹[¸åÝnïWÇùö´ÏÏêþÅñÑ`É2˜¾ì(}óĹélç&žêE?Ü[©•oˆ×Ù¸¬Îž· q_7w¾J@Ö.XºÜe‚©ÍÑÂh³âHÓ1w1M½ñ°~1¥©|+·§w!5<]i™öëªDþ¡uŒ")F‚÷¯)¹ †—zûß±Qõ¡ÀÙ5e(Wt— Ú]S¬,ë+*.ïû``{«€Øàv×4[š+Š/ÿ¸"âr|bfóÛ«•™÷€OµíÜ ìóÜDs¤”ÜyšÁÿOä#qHTñ®¢´Cn]UØIÛ4˜"<\7C³í¯Ä5ÉsD)—†©)=o¬¨W뺂$!À+rÐf–“t^‘Kp»Œ%³#ü8;/¬¿á0§¢m°µiÌÊv¶iÏë F‚øpâúZûûÆöLñßt®tÝc„§ 0”\b 6Í(˜3QgŽ‚ûþEã!³S\'d<D®ž3Ád|´°Œ§áÝiŒ€Î[XLèÝz;ßË4ÖäÐýð֞ÜDçX"Ð±ìÁGjY¬¨J¸„ŒÕ”ŸŒoÃÖ·YºpgVÃÃXw{ûïD*!L^øà…ä0½&¿©ï“Íþ˜„¿3¤ù«–c˜m&"ÑaW•®².‰AÜL¸L璘$ˆèt]É ~œ±ˆÖßZ0 ùâ‰]ÒÊtÅòÌfc 1p]Ç8¯‰XxŽkŸjžêè˜ÐˆäúU “ªó槥k»3bŒJ$†S¨‰ÌHðt!Ä?Ò,D `ˆ†x…üEΈµkSL[B ×ןúRˆ)÷ÙyjÀ˜Æ™Yi{…žNñùËS¬í‰aÑ g>ru ¡0—co;C(q’P;ӟ5xêýí0x¿7v†jŒ´ÈÓÙÚ·%“Y™=ô8+¨¿…¡ŠA3nüvÃ<Ýþí½›ÛCS@>Aí&¬)}îlÚ(±_(œ­›LEç¼Oñt]ãf›ÃrØõKŹ“CÚ+ y՜…rþÜE<[ñ,8W¡L J¶‘)刊tmä ~¤Áˆ6ÀdPЮlî|O´ºÎôÿoēHÕfŽÅ7àqžu‡™›•®¾mÌzù`>*Ìù·¯…övï”D嫦}»‹ð3§Ûz¸·³/¯ž›"è)ÁûäB#¡æDi$Iº¼b‚Gáxaý)L4A9&M¯ÊÞ{Ÿ7\8ÿÓc¡Í4ï„Ålæοëe|Ü×ͼužÜñ"J I_µãECŽÑ¢ú30Çàêy ûMSÔ{ý¹ótžþ¹>€ ¦æˆÅýÀ‘σWàa™ŸòÛ +ÿîþ"ç +endstream +endobj +3241 0 obj << +/Type /Page +/Contents 3242 0 R +/Resources 3240 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 3239 0 R +>> endobj +3243 0 obj << +/D [3241 0 R /XYZ -16.307 900.716 null] +>> endobj +3244 0 obj << +/D [3241 0 R /XYZ 56.693 742.141 null] +>> endobj +3245 0 obj << +/D [3241 0 R /XYZ 65.161 742.824 null] +>> endobj +3246 0 obj << +/D [3241 0 R /XYZ 56.693 696.892 null] +>> endobj +3247 0 obj << +/D [3241 0 R /XYZ 65.161 697.181 null] +>> endobj +3248 0 obj << +/D [3241 0 R /XYZ 65.161 686.222 null] +>> endobj +3249 0 obj << +/D [3241 0 R /XYZ 65.161 675.263 null] +>> endobj +3250 0 obj << +/D [3241 0 R /XYZ 65.161 664.304 null] +>> endobj +3251 0 obj << +/D [3241 0 R /XYZ 65.161 653.345 null] +>> endobj +3252 0 obj << +/D [3241 0 R /XYZ 65.161 642.387 null] +>> endobj +3253 0 obj << +/D [3241 0 R /XYZ 56.693 596.06 null] +>> endobj +3254 0 obj << +/D [3241 0 R /XYZ 65.161 596.743 null] +>> endobj +3255 0 obj << +/D [3241 0 R /XYZ 65.161 585.784 null] +>> endobj +378 0 obj << +/D [3241 0 R /XYZ 56.693 549.197 null] +>> endobj +3256 0 obj << +/D [3241 0 R /XYZ 56.693 522.037 null] +>> endobj +3257 0 obj << +/D [3241 0 R /XYZ 56.693 476.996 null] +>> endobj +3258 0 obj << +/D [3241 0 R /XYZ 65.161 477.679 null] +>> endobj +3259 0 obj << +/D [3241 0 R /XYZ 56.693 432.594 null] +>> endobj +3260 0 obj << +/D [3241 0 R /XYZ 65.161 432.036 null] +>> endobj +3261 0 obj << +/D [3241 0 R /XYZ 65.161 421.077 null] +>> endobj +3262 0 obj << +/D [3241 0 R /XYZ 56.693 375.144 null] +>> endobj +3263 0 obj << +/D [3241 0 R /XYZ 65.161 375.433 null] +>> endobj +3264 0 obj << +/D [3241 0 R /XYZ 56.693 329.107 null] +>> endobj +3265 0 obj << +/D [3241 0 R /XYZ 65.161 329.79 null] +>> endobj +3266 0 obj << +/D [3241 0 R /XYZ 56.693 283.463 null] +>> endobj +3267 0 obj << +/D [3241 0 R /XYZ 65.161 284.147 null] +>> endobj +3268 0 obj << +/D [3241 0 R /XYZ 56.693 239.061 null] +>> endobj +3269 0 obj << +/D [3241 0 R /XYZ 65.161 238.503 null] +>> endobj +3270 0 obj << +/D [3241 0 R /XYZ 56.693 192.176 null] +>> endobj +3271 0 obj << +/D [3241 0 R /XYZ 65.161 192.86 null] +>> endobj +3272 0 obj << +/D [3241 0 R /XYZ 56.693 146.533 null] +>> endobj +3273 0 obj << +/D [3241 0 R /XYZ 65.161 147.216 null] +>> endobj +3274 0 obj << +/D [3241 0 R /XYZ 56.693 100.889 null] +>> endobj +3275 0 obj << +/D [3241 0 R /XYZ 65.161 101.573 null] +>> endobj +3240 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F52 695 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +3278 0 obj << +/Length 2216 +/Filter /FlateDecode +>> +stream +xÚÍ\]oã¶}ϯú´û.¿%ö¢@?¶[t{o‹ÛM lû Ët,Dµ’'ÿþŽ,;Ëk‡Ec;2=IgΜ!GÆÑm„£_®~¼¹zóNàH!%©Œn‘¤HÆQBbqt3>¾úS:môëk*ð«ßM«›þíÂÔý›v¹ûð­É~4æ®ÿçþýúŸ›÷0Í5!H Ñ[ûÐ>ºYjÝ6ÝÇ0;‰˜]²nv.cÓ$ºHÅ»ùeãä՛þ…PÙ}ñê盫OWÌãˆDB"©X+‚$¦Q¶ºúøŽæð8€¸J¢Ívä*#Ê$¼/¢Wÿ½Â»+O^‘½m®Á²÷éoJÅ֋ý×Þ¼ƒ!ÛóàÝwÄeôÐÌtݾ¾–Ã駏­)¿}}M(ü›®[Ӛ =4Å¿úUZ§+ô°Ñ³ƒºlûùàJvSv/¿^¸s$¦QÌÀu¡ºkЮ(—E*QQ­£Åó“>°öå£ÇÐ'ã½Q‚·úÙˆHòܶÀÅpm¬?‚D +Œø9¹5VßFý›?w¨8¸Ã{‡E4IúýÃ|~Šc;ÑÇí=mÖUeêÖnpgV?¥å<= +>¡Ýãï¼ÊK‡Á€R;/Zc{Zvãnþø鄛/‡•ê +'^O³æ(fӒDfV•):š°âRŠpJx`ß3¢½uˆhPŠ˯"‰äåâ¨ÔyóŠã´ ë»À@Êø¢A 2%cdàÛô>Ÿ÷1üS—2ë}o›ñí²ÄÏp‚(¨©ŠAî„Ӂû~!ìï¬CƒñNþ'½ÓÓ>Âði­›ãˆð_`MËf£kK«3½LïõÄ]Kµ¢Ü¤–‹ai3vAéÅ£Š#ø»$³Ð ³Fü>¯ïҞY~3¾ÛK‘7­K7• %2`7å¡p¸n}OVñv֞U(`€<Û9´m*[åM“—·>zgö觖Um2=_×®m”C°‹®öP +‚ÅãÑVÿ,Ÿ¹y¶{37Y×9ô„ççn€þ+×yc¤Â.MâŸó¤ G ×0°ï×ÞÎ:Ä5!(Ù·$;ÄuÉW@քÑí+/훲ÌÔsël×ýð Þr¹!oÓ£&¹ÓWº{È|lùA@xŠ8œJØ÷ý¿³¸•œìêÜßõÆn·uZ-ÇÞ¼Ó¨HK[ñk Ýu]چ³-gÖ©Ù>Š4Oޅ¬±¿­q|ƧÏwýo@"?£' + ©ö©÷oÌ÷£’g£bÄ!Vwc®mC;!@^Xèú:Œ›óŸ‡ûᜧÂÝÖêSà9•ç +êP „!ö Ü…w…ò7¶W=HŠpŠì{ª·³ö„Jb8ÄwÅám͝™¹uÍÝXkøûÜZÇØÚû´LíF¾½7uzgîSÇþ”}.›‚X".Ü1Üu…B~XWõáQðÉm¢q¸}ϸövÖ!®‡ ;îtNOt¸îÿ:÷ +Û®C.Œi¿.ÏÇu9Þ± 49xžû4s`¬¦¥¡¼,òÒ¥sŠDÜ°£p¸&‚Có~üâíª=½(ŒˆrmZY˜Š¸<-öÐ겱߳°^®Xér-Mnûk4imÝ˶Â*¬+(ýéêÌsw/‚?aHi8?úY;ŽîÛ:]ÕîÿSø +endstream +endobj +3277 0 obj << +/Type /Page +/Contents 3278 0 R +/Resources 3276 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 3239 0 R +>> endobj +3279 0 obj << +/D [3277 0 R /XYZ -11.232 900.716 null] +>> endobj +3280 0 obj << +/D [3277 0 R /XYZ 56.693 742.564 null] +>> endobj +3281 0 obj << +/D [3277 0 R /XYZ 65.161 743.247 null] +>> endobj +3282 0 obj << +/D [3277 0 R /XYZ 56.693 698.188 null] +>> endobj +3283 0 obj << +/D [3277 0 R /XYZ 65.161 698.871 null] +>> endobj +3284 0 obj << +/D [3277 0 R /XYZ 56.693 653.812 null] +>> endobj +3285 0 obj << +/D [3277 0 R /XYZ 65.161 654.496 null] +>> endobj +3286 0 obj << +/D [3277 0 R /XYZ 65.161 643.537 null] +>> endobj +3287 0 obj << +/D [3277 0 R /XYZ 65.161 632.578 null] +>> endobj +3288 0 obj << +/D [3277 0 R /XYZ 65.161 621.619 null] +>> endobj +3289 0 obj << +/D [3277 0 R /XYZ 56.693 576.56 null] +>> endobj +3290 0 obj << +/D [3277 0 R /XYZ 65.161 577.243 null] +>> endobj +3291 0 obj << +/D [3277 0 R /XYZ 65.161 566.284 null] +>> endobj +3292 0 obj << +/D [3277 0 R /XYZ 56.693 521.225 null] +>> endobj +3293 0 obj << +/D [3277 0 R /XYZ 65.161 521.909 null] +>> endobj +3294 0 obj << +/D [3277 0 R /XYZ 65.161 510.95 null] +>> endobj +3295 0 obj << +/D [3277 0 R /XYZ 56.693 465.891 null] +>> endobj +3296 0 obj << +/D [3277 0 R /XYZ 65.161 466.574 null] +>> endobj +3297 0 obj << +/D [3277 0 R /XYZ 65.161 455.615 null] +>> endobj +3298 0 obj << +/D [3277 0 R /XYZ 56.693 410.556 null] +>> endobj +3299 0 obj << +/D [3277 0 R /XYZ 65.161 411.24 null] +>> endobj +3300 0 obj << +/D [3277 0 R /XYZ 65.161 400.281 null] +>> endobj +3301 0 obj << +/D [3277 0 R /XYZ 56.693 355.222 null] +>> endobj +3302 0 obj << +/D [3277 0 R /XYZ 65.161 355.905 null] +>> endobj +3303 0 obj << +/D [3277 0 R /XYZ 56.693 310.846 null] +>> endobj +3304 0 obj << +/D [3277 0 R /XYZ 65.161 311.529 null] +>> endobj +3305 0 obj << +/D [3277 0 R /XYZ 56.693 267.712 null] +>> endobj +3306 0 obj << +/D [3277 0 R /XYZ 65.161 267.154 null] +>> endobj +3307 0 obj << +/D [3277 0 R /XYZ 56.693 222.095 null] +>> endobj +3308 0 obj << +/D [3277 0 R /XYZ 65.161 222.778 null] +>> endobj +3309 0 obj << +/D [3277 0 R /XYZ 65.161 211.819 null] +>> endobj +3310 0 obj << +/D [3277 0 R /XYZ 65.161 189.901 null] +>> endobj +3311 0 obj << +/D [3277 0 R /XYZ 56.693 144.842 null] +>> endobj +3312 0 obj << +/D [3277 0 R /XYZ 65.161 145.526 null] +>> endobj +3313 0 obj << +/D [3277 0 R /XYZ 56.693 100.467 null] +>> endobj +3314 0 obj << +/D [3277 0 R /XYZ 65.161 101.15 null] +>> endobj +3276 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F95 923 0 R /F98 924 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +3317 0 obj << +/Length 2664 +/Filter /FlateDecode +>> +stream +xÚÝ][“Û¶~ß_ÁIº;Ӆq'™Lâ¦M‰;®½3錓ˆ‚VŒ)R%©•7¿¾à­^R·AP¦}±´xxH|ß¹á€ÆÁc€ƒïo^?ܼú›ÀAŒbIeð°$E2 " ƒ‡yðñö½Î´ªôÝ=øöE­«îë¢(»/õ²ÿñ»"y]Ÿº?þõáÇ»_~0—¹'ÅBtÒ>Ôϙ®–Z×Uó³¹: "suɚ«s¢FÁ½@qØ__ÆF`ݾê>•Í‰7}¸ù÷ 1âq@!‘ŒYÆILƒduóñÌÍoFÄã(ض#W Q&Í÷,øpóÏÜ? Ó^ž6¡?å;ÒÈYY …ƏñÞ©–úqcÈ1uHÍ#ÿêðô¶6S׺„MÞJ%Ë4×åóA_!¨Ñ•ÌÜFäbt|îÆ1½Ó–œ ,ø9î'5ŽXg?cë•ù—tŽæÃ*­—ƒRóU‘£ÿÒäô`F›˜zô:#˜?ºŒå;ÒÅYY ºP°ÑnfÿÒX@ç`ÆÎ3°9†ú…:­M 4ñ ¹‰Í§ÜüÓAú·§lU™OoîôY‰Úì¸ÊÓg¥«uQÖjÑvÎ;Ílðû÷X¾#¸•µ7¡Ær‘ÝuºÆGñJ›‰¬¦3òõñ™üIC¹ÒfS¯7õ…ú!pœÇi¼v‘gÏ°‘éÂ2"q„(ÞX0‘ïÆwe-X`4C¦Ù‚Û"Ô­õç:S3 xÓ +ʀ%î+ñ›.4Ô%¤‹3óÓF8>©7*ƒ’!)L–Nì€Qˆ¨ð—kOä;RÂYY8%DŒ‘à}ô«,B“)h¿9î +ƒŸr›VÖᇆfè;4úã.ûp:¿—'QP ³ì€¹;MŸP"û˱'òéãªìa²„1QŸQ7ißa„½+õSZlªìÙà·ºÔ6(®Á +Ézµ®Ÿ/ z?ÎÈÝɟ&ˆAc‘?‚Œå;ÄYY ÿ"#ÔÖ[Êl0(‚‡9àXÿws–P{žnµu( U7ŸŒÇ×,¶ #Îą×z>—zaQcÔ(256A"$ˆ¿2ÄD¾£5pVÖÂP‚"ܗ!¾Ï¡%¶ÚøšLÕúÂå°7—]¾P¥VSJ¾:ìnšá•®ÏË r…ð˜èå;âÌYY œ¹ïýwª¬/[›]¤Ÿ/ŒÄÙæqßÒ̈ … ¬³zÇ#Î+€ù°úeñIïÄY+‚C™#ƒ”kú"$½°/j½òZ=êÆ!õ­I±Z¹ÎëÇæéSZ¥ÝÚP¨ÒI[kµpe<4÷Åþ\—…þV‹ÆâÝ Œ³ªpûÂ%G˜DÖ~Ì蚘¤OE +íbج³4»ÑtTu»ÔÀøQçºT»kPG2²ÉͬêºLg›ZWû¬éŸ;šmç1 +CâücùŽèwVÖþ‚!läöjéÞ§}Ü[-‹µ^l²Ýòȗüå` 8+*(‹ŽøU‚…#A¢0bWõN”¡HƞÚL`²RÙ ß³Nm¼a(ÆÒ£×ÁF÷WoœÈwdž³²ÌÃÑ!~Ûtw^¶¨1Ÿ-6y’¥0b~÷è"ŠòП™æµÎ§Ž÷¨whOû6« ŽîÖçErf>p’j,&Oþ +‹ùnLpWÎ Dþ°h [xãç,YÍmèP›Ë³ÈÜb|Õb3ӆ#áÉÅteHmžóbmáa˜Q‘P%:Æù+ÑMä;òÊYY ^q3ӂxô0VŒ‚;°[m¼Z“õZ«òÂyÝR=ï§Ýîq¾Ï‘qD±¿2ãD¾#Wœ•µà + û2#tbw}:hy¯«º(ÁÑÈlØ¿l*š§¥2üL%Ÿ.ˉuê°5ÁÆ3‚(¹j1’á1L=ùâ}EIç R46*3µG…ÈãšúX¼›ÕqVnthŒ‘”öµÇ\[m[=߬ªK•Ô´Ì‹ýëÖǶ;©Yv0Ñ; ÓP"N©?å;âÈYY …1 +q_az³¸J»*`@~ùÞ¼ââ½ûp¸Q*Ó+CuÍ-º?“^»Y‚péomg"ߑÎÊZCF(ìÓâyZ™çùg»†Õ¹;½Ú¬×¥®*ó+8Ø_¢=‘ïˆ2ge-P&L¼÷‰ök¨Mœ¼ªXé:]A×@ž‹ l`©á}ø^ú­· +l%¡Þ4¸Åh©Î§Ùip†÷—BOä;²ÀYY p‰"6¤ÐËiSschØÔpŒ„¸jÚFIˆ$÷•¶%ËMþé¾yÑƋ¼í±TëešØt‰Pó$dè1S#±D¡¿{,Þ ÜΪZ`c„qŸ©ýn’€îPÐ -ŒÀíÿY9×UR¦ëÝý¡îýp+=OU1ûUCcŸ4¯j•'Úvc‰„“GèŽå;b×YY8xI#Ìûì0Í¡%ºJ7åh‰¾×&Ý[¤ÙÁ¬ÈyEpSùë^ª,77™«Õ™ñþi^„EØ_r8‘ïÈ ge-xFh(šø/†Jåɪ.¡ÝÐ=co¾³|िOtpîDgó3Uí¡ìi*J†"î/ƒžÈw¤¢³²T”!"¬Ï Á¡xºv¡«h_¢!¸›²oœô½‘zo‹î¥yï N×æO³HPEþ2ð‰|G9+kÁ¢¦Õ&^Šqnôÿg—! +¾þC`µw†pbPãïåùŽÐvVÖÚ\ Jø—ª‚×?³Lg—†Y©ð*P÷†Wè[÷ÀMZÀ$΢ýæ»K§þ™~TY³JœXJÌü(ýuOä;òÀYY 4=QÃë•TJ\13Ó`Ç1¿¬Ì÷Հx´Îvv0¡]µÐzÇòÑ묬z)C4î;½wú÷OG¾pûØ,¬mnšCaTêEš· •çWå^ÎñT¾¶3ÜU½|,ßäÎÊZ€œPĆ÷éŸgyÞVjc¦°DøªklC„ËktFŽ$ïû߸±z2>ç?ø.Øºß +endstream +endobj +3316 0 obj << +/Type /Page +/Contents 3317 0 R +/Resources 3315 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 3239 0 R +>> endobj +3318 0 obj << +/D [3316 0 R /XYZ -16.307 900.716 null] +>> endobj +382 0 obj << +/D [3316 0 R /XYZ 56.693 759.068 null] +>> endobj +3319 0 obj << +/D [3316 0 R /XYZ 56.693 738.489 null] +>> endobj +3320 0 obj << +/D [3316 0 R /XYZ 56.693 691.479 null] +>> endobj +3321 0 obj << +/D [3316 0 R /XYZ 65.161 692.163 null] +>> endobj +3322 0 obj << +/D [3316 0 R /XYZ 65.161 681.204 null] +>> endobj +3323 0 obj << +/D [3316 0 R /XYZ 56.693 634.09 null] +>> endobj +3324 0 obj << +/D [3316 0 R /XYZ 65.161 634.379 null] +>> endobj +3325 0 obj << +/D [3316 0 R /XYZ 65.161 623.42 null] +>> endobj +3326 0 obj << +/D [3316 0 R /XYZ 65.161 612.461 null] +>> endobj +3327 0 obj << +/D [3316 0 R /XYZ 65.161 601.503 null] +>> endobj +3328 0 obj << +/D [3316 0 R /XYZ 65.161 590.544 null] +>> endobj +3329 0 obj << +/D [3316 0 R /XYZ 65.161 579.585 null] +>> endobj +3330 0 obj << +/D [3316 0 R /XYZ 56.693 533.319 null] +>> endobj +3331 0 obj << +/D [3316 0 R /XYZ 65.161 532.76 null] +>> endobj +3332 0 obj << +/D [3316 0 R /XYZ 65.161 521.801 null] +>> endobj +3333 0 obj << +/D [3316 0 R /XYZ 56.693 474.294 null] +>> endobj +3334 0 obj << +/D [3316 0 R /XYZ 65.161 474.977 null] +>> endobj +3335 0 obj << +/D [3316 0 R /XYZ 65.161 464.018 null] +>> endobj +3336 0 obj << +/D [3316 0 R /XYZ 56.693 416.51 null] +>> endobj +3337 0 obj << +/D [3316 0 R /XYZ 65.161 417.194 null] +>> endobj +3338 0 obj << +/D [3316 0 R /XYZ 65.161 406.235 null] +>> endobj +3339 0 obj << +/D [3316 0 R /XYZ 56.693 358.727 null] +>> endobj +3340 0 obj << +/D [3316 0 R /XYZ 65.161 359.41 null] +>> endobj +3341 0 obj << +/D [3316 0 R /XYZ 65.161 348.451 null] +>> endobj +3342 0 obj << +/D [3316 0 R /XYZ 56.693 300.944 null] +>> endobj +3343 0 obj << +/D [3316 0 R /XYZ 65.161 301.627 null] +>> endobj +3344 0 obj << +/D [3316 0 R /XYZ 65.161 290.668 null] +>> endobj +3345 0 obj << +/D [3316 0 R /XYZ 65.161 279.709 null] +>> endobj +3346 0 obj << +/D [3316 0 R /XYZ 65.161 268.75 null] +>> endobj +3347 0 obj << +/D [3316 0 R /XYZ 65.161 257.791 null] +>> endobj +3348 0 obj << +/D [3316 0 R /XYZ 56.693 210.284 null] +>> endobj +3349 0 obj << +/D [3316 0 R /XYZ 65.161 210.967 null] +>> endobj +3350 0 obj << +/D [3316 0 R /XYZ 65.161 200.008 null] +>> endobj +3351 0 obj << +/D [3316 0 R /XYZ 65.161 189.049 null] +>> endobj +3352 0 obj << +/D [3316 0 R /XYZ 65.161 178.09 null] +>> endobj +3353 0 obj << +/D [3316 0 R /XYZ 65.161 167.131 null] +>> endobj +3354 0 obj << +/D [3316 0 R /XYZ 65.161 156.173 null] +>> endobj +3355 0 obj << +/D [3316 0 R /XYZ 65.161 145.214 null] +>> endobj +3356 0 obj << +/D [3316 0 R /XYZ 65.161 134.255 null] +>> endobj +3357 0 obj << +/D [3316 0 R /XYZ 65.161 123.296 null] +>> endobj +3315 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F52 695 0 R /F93 909 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +3360 0 obj << +/Length 2383 +/Filter /FlateDecode +>> +stream +xÚí\[ã¶~Ÿ_¡: Ô ¯™^€¦›&Ý$º3@ ìæcѶ:ºx%yn¿>”%gÆòxæHÝvї¯LQçû΅‡ÂÁ2ÀÁwgß\ž}õW…THÃàr„…Q C, +.ãàÃù{“]™73*ðùߋÚTíÇEQ¶êU÷åÛbþMQ\·ÿù×ŏo~¾|g§™‚”­´‹ú>5Õʘºj¾¶³“@ÚÙCÖÌÎÃET3TÔÍa+0’ç_µ ›ž}{yöéŒXñ8 Q¨X)‚BLƒyvöágÄö;«âJ·Û‘Y F”…ös\œýã w+­ŠÍÇæÏwO$Ûõ  "®Áa#¹¹.°Õ“‡EJª 4Áâ¨(èL"£Ý­`Ҍv•/ I_¾ÀE¡Íðt™C¤¨š@Ù­Àr´Þw–háÖøÖ;Å9AœuÖóç86ñöñ—|˜…ŸW›õº(kØຎ³¦øýåO?õÜÄë?hp¸.‹µ›ªJò%l|±Ø·÷”÷ ¹³o!"¥?ûޗïhßÎÊ°of * +[û.Êe®3 i ÁhØ°ù*IãqOÿè̛zÕ³V{“¨½0ŽˆR.œ{äï¡ÛÛ9Æl0kÆGJŞî½(·†ÛÁ?%ó•6éG,pÙɛí +\dI½úú͌Ðí +oòëÙ¼ˆ º«Rà*„ªñžþO(í7ŠxfO¾0ݕ…3”ـ£}¼ÿ\™fó_.MnJ]›#fÿÌïÎS³Ôi^ÔÉ|Я’ü¦SdŠ¼ÈûóώÏÿ`J ÛÔy<Ð]„F˜QV¹/ßÑ*•`•‘Ì‰j­òËM5Ä`’xÀàžwyyð"I ÜqAÍQ§Uqõ×~wtx«òbR_{ ðG°;{ Mýíí‘xšB!1ÐܗïMge@Ó.³·Ð¬Á#É«Úè©#/Ë/sp8ßÏkºË_¼à|÷‡ã£w>1>4»?}ñ2ò®t5€ZF'r¯›=·9/áþÌ~_¾£Ù;+;Àì…MÐ1í˜M½Þ“îÆiLœòÖ+]»1ðë®àߛ +8Gß;§hî_Žâwç$r`˜M¢…ð˜}ùŽ€qVv`¸Íøy—d£·@0#AØ]ŸÍ^FÔnnzÄ@â¾ûÕm¶ /hÙ®­IMfò>d_Ç Q¡?<ìËwă³²ð@â’ïâ&(ƒ¯ôra5¶R†(ŽNYƒ²£ˆ5¨·úƦxÛ[þKi9¥ÜžîJ³PrªùRú«9‰ÈÞõceor(ôä»AÁ]Y8„´æ&»¯ïuC#$Bw:ÌpdäÙƸªi£s›­«©ýØ%6³C–©ò ßOƒ&g6`¹¡NêԌ¥@E“S2  §dÀ4©êjrn)Ã#2†$öWßìÉwd@ge0  ıTǶ{;ƒ~¡Ô°>(0¼ÈvÑoe±Éc(Ӗ´w£ËD_¥¦1æ©ÙÑf™®kèî:8mlôÖ9蛢Wȶ–$žXg1Evœðsܶš(ùdT„¸Åa7f¥J‘äþjŸ=ùŽ°uV[),\C;—ͺ”6K*&Ë+hU) Eiƒ¥¤6#õnUgésÄÕìç®aÛŸ6Iy ÄaVÄÀv—úEn|®š÷:FˆBRðS \Eˆ 9eÀðÉZ®L= fà2B!æþ‚ÙÛåþ*j=ùnìã®,K$üÕöÅ;BÞUÕœ$I—£}> $øI+ãL2„¹ӟ®7eR?´^ó± A‘ïÜf’§I>¤'Ùø—*êÏo²¦•ŽùÃPO¾ˆÜ•…ûMքܔìžé5°¶:Ojݤ•Ð>ðMveJh-Ú{•\¥I±,õzu? ·øYe:‘¿ùckк™Å„BŒŸ´8ÅXˆ$Sœz_د»ƒ$µ¾¯!»Ö6ðEw·æê÷í÷í…_C€×‚F+Å*FšŠ°¿L¶'ßÂÎÊ€pfÓÇb•‡ãŒà6±Ü܂Ï.’ÜM¥ëºL®6ÍYaàA±819´jÞe\%£·¾aû‡fý³U…‚Lˏ¾c‹ ATb$Uä,hØpýíÉw# weádA›H‹†ÿdq?pV4CG7ÝÑf¡ÅIQÇ9âb̹Ïw65Ñ-¨~(*s½ƒÜ2-ªJ—÷CPÆ8ò‰1ʬD={ò1æ¬ìŒ5¡íZNÞoR3õAü¼é­H“°ûÜ°9·Îªô•±jpÇÜ=´`í­³´dÀ•µzOÐçŒvâd±°)G>’AO¶[D E‘ô×E֓ïigeáÅ&jãyÜU—ž¯ „ùr£—£ÃEŠŠ;¥ã"2BTEӆ‹»÷dY‘? ÷__Ð]Ìtž,LU÷Ç ð{$ŠàSQb-PH}=ùn0qWîùˆdeDwïyZèy]€Ë>à~êaq²"†»`èvJV€;ªS`‹@sh Ü š­S]½©×$š¢ ¿RKO¾£};+;À¾…½´k$ߚá€]‡–ÿ*e¼éÚv Æ˜éêäñEZÝØ8¬-à ùPÙ0 ý½­'ßEÎÊ@ßßW”1´‘ j:&‡7‰_™º†Îh’LJnªºÈ’}Ð{7 ü#Ìæ¬Ø_«'ßрœ•`@ÌΩº"օ1SÇ–¨Ïãº6½Ÿ>¨]6‚›šàýX> J=ÐÁÁ {9F8TcÞ×û úßk +endstream +endobj +3359 0 obj << +/Type /Page +/Contents 3360 0 R +/Resources 3358 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 3239 0 R +>> endobj +3361 0 obj << +/D [3359 0 R /XYZ -11.232 900.716 null] +>> endobj +3362 0 obj << +/D [3359 0 R /XYZ 56.693 759.068 null] +>> endobj +3363 0 obj << +/D [3359 0 R /XYZ 65.161 752.393 null] +>> endobj +3364 0 obj << +/D [3359 0 R /XYZ 65.161 741.435 null] +>> endobj +3365 0 obj << +/D [3359 0 R /XYZ 56.693 694.948 null] +>> endobj +3366 0 obj << +/D [3359 0 R /XYZ 65.161 695.237 null] +>> endobj +3367 0 obj << +/D [3359 0 R /XYZ 65.161 684.278 null] +>> endobj +3368 0 obj << +/D [3359 0 R /XYZ 65.161 673.319 null] +>> endobj +3369 0 obj << +/D [3359 0 R /XYZ 65.161 662.361 null] +>> endobj +3370 0 obj << +/D [3359 0 R /XYZ 65.161 651.402 null] +>> endobj +3371 0 obj << +/D [3359 0 R /XYZ 65.161 640.443 null] +>> endobj +3372 0 obj << +/D [3359 0 R /XYZ 56.693 594.804 null] +>> endobj +3373 0 obj << +/D [3359 0 R /XYZ 65.161 594.245 null] +>> endobj +3374 0 obj << +/D [3359 0 R /XYZ 56.693 548.607 null] +>> endobj +3375 0 obj << +/D [3359 0 R /XYZ 65.161 548.048 null] +>> endobj +3376 0 obj << +/D [3359 0 R /XYZ 56.693 490.209 null] +>> endobj +3377 0 obj << +/D [3359 0 R /XYZ 65.161 490.892 null] +>> endobj +3378 0 obj << +/D [3359 0 R /XYZ 56.693 434.294 null] +>> endobj +3379 0 obj << +/D [3359 0 R /XYZ 65.161 433.736 null] +>> endobj +3380 0 obj << +/D [3359 0 R /XYZ 56.693 377.138 null] +>> endobj +3381 0 obj << +/D [3359 0 R /XYZ 65.161 376.579 null] +>> endobj +3382 0 obj << +/D [3359 0 R /XYZ 56.693 329.699 null] +>> endobj +3383 0 obj << +/D [3359 0 R /XYZ 65.161 330.382 null] +>> endobj +3384 0 obj << +/D [3359 0 R /XYZ 56.693 283.502 null] +>> endobj +3385 0 obj << +/D [3359 0 R /XYZ 65.161 284.185 null] +>> endobj +3386 0 obj << +/D [3359 0 R /XYZ 56.693 237.304 null] +>> endobj +3387 0 obj << +/D [3359 0 R /XYZ 65.161 237.988 null] +>> endobj +3388 0 obj << +/D [3359 0 R /XYZ 56.693 180.148 null] +>> endobj +3389 0 obj << +/D [3359 0 R /XYZ 65.161 180.831 null] +>> endobj +3390 0 obj << +/D [3359 0 R /XYZ 65.161 169.872 null] +>> endobj +3391 0 obj << +/D [3359 0 R /XYZ 65.161 158.914 null] +>> endobj +3392 0 obj << +/D [3359 0 R /XYZ 65.161 147.955 null] +>> endobj +3393 0 obj << +/D [3359 0 R /XYZ 56.693 101.074 null] +>> endobj +3394 0 obj << +/D [3359 0 R /XYZ 65.161 101.757 null] +>> endobj +3358 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F95 923 0 R /F98 924 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +3397 0 obj << +/Length 2586 +/Filter /FlateDecode +>> +stream +xÚÍ\m“Û¶þ~¿‚“v¦¾N ’i§3I;q㸽SgÒ±ó¢pç(R!©{ɯïR¤îDêm!ñѸ\Ï.öÙH™Cwߎ/^¿Ô I(¹tÆ7ŽäDúNÀ\âúÎxê|zu¥­ +}9₾ú9+uQ_Þdy}QΛßdÑ·Yv[ÿç—ëŸ.¿‡×Œ#¡µ´ëò1ÑÅ\벨~†·3'€·K·z»'}âóÀ úÍû}ýàÕëúã²zðâûñÅo ÄS‡9BºŽ2")w¢Åŧ_©3…ß@⅁s¿n¹p£„»®çúâ?´ zpD6²½0*k>s.ÖZl{ýš¬ûáUÏēüP`6Ñyy9’”B÷Õc™¥__Ž‡ÿæúF§eþHŠ¤–#U‰¬þ¼k÷f†ùÜñݐ¸"¬úXÝF̓'a:¹vn¶;Ւ¶ÿîî 8h¿_‹eU[[é‚0ÉÚÒećÂÈߞlIBZ+º—Ïœú⪙ûÖ­çºX-—L<ªqeM¨†qz“µZ‚J¯›»¼*ã2ÑXɸvÚBGeœ¥EÏ}›ND·kk\1³8ð÷°G  œ•¹Gxç·ªvÿÊ +}»qK•«y¸×“¿×¿NâIg•whnL³h.vëNý x‘Ö#£¸ÈdH ü +ôˆ°`8·"N8çƒ9–Ž|;×b¯,Þ¹È@AÃ'ç¢ÿP÷ ª,ãt†k_íZÄbt*Š²|Š~C™áÚýxýkÅ¥ªr¤«˜å\Ç$}F8D7ƒá¾-ß÷ÖÊàÞ÷È&*üYߛÀm–«åüñÜÉ;Œ +…Ä)°\å)֜±`œ`û­ ¬x½ˆèR疳ðlûbƒ©(»1ÎúîW‡e×ë]M)‘Ïhó‚n–ÞÏÔÛ´ +¶ZùÄ[mڌ°¦-)q鉴«k×nŽÿ¾kîíw2w¬Ô'ä+ÛT;„Þê²zԿŽ:1×Ã9Ô¶|K‡j­¬CÀÝ]·Íñëô²)²å½B.ðË<»‹Ñq Ö¡½W©Âµ|s—åê6»ë4G Kµ–/É!$wIà»ýfâ4‰S½Å€²™PæÆå€\€אþp&ܖoiÂÖʘ0•Äža¢!RIÒo,%ª( Vv` y˜(Œ7XÄË×NH„Û!¯ç»à»šðÑ-Q…ž}PéR]2ˆe!¦R¹ÙݲCSgTyXñœ¡k6Ò$IvÉLl:«oEsð;›6suÉÁ·\2ñªyb¢uZ_-Ô´¹Þäi7Nßv·^͏ø¾Üã‹JÛÙ^%…m®³ƒk¹EœFº³áLZ_çõ6!ҝ¯‚ À‡ A¸8‹8Ä0:ùL-ð/kr^ 0ƒƒ…ó#ur$Ô<æ¸Ã º0|Ãí´éÈ·sŒöÊâ£CM3ŽYKlÊ{±ëå¶Vå<ËM²aÍîƒ'tZ… ØÀ¸ëmObÙ 9Ìýp%“Ž|;¨Ù+‹‡šs¯¿qŠSeËÇ<žÍË/OU\°Ö¾T—Xˊž£ÛßuŽly?צ™R7`$ r8à·å[ßZYàWØ°)4áR ´ÈTŸ(1È×2ß'bÈOO0@©xþdNï¦Ô‘ogJöÊâM‰Ua¢×l·ýhpfjÿæûtM¢g*I3 ÿ=³fÏގ£î»ã×ä V×û9ГŠtڌ„ ÃR-é–·TÔß"Xñê¥"Q‘îûð:y÷œ`…Øjµ@gX³|ÚÁÓYUêçS;!n8`áù4ځ&Io¸ÚBG¾%⭕5À¼ç¯ß¹Æü¾:ý¡)ØWx¶¤r]}¤¨ DGÌc@AݍŽXC~1m¢·ýi«¾¤°êÄp©Ý¶x;S²VÕÀ’*EÛ|³(³üý6W´óèýuš#™µ<^.{ÿ„×~ÖuÒ>€Ì:\f¶-Þ¾ÖªâáÒuÅo^ûLhàG"ºóWZïÞ1ý†ëÿê¯|; +endstream +endobj +3396 0 obj << +/Type /Page +/Contents 3397 0 R +/Resources 3395 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 3239 0 R +>> endobj +3398 0 obj << +/D [3396 0 R /XYZ -16.307 900.716 null] +>> endobj +3399 0 obj << +/D [3396 0 R /XYZ 56.693 741.963 null] +>> endobj +3400 0 obj << +/D [3396 0 R /XYZ 65.161 742.646 null] +>> endobj +3401 0 obj << +/D [3396 0 R /XYZ 56.693 695.785 null] +>> endobj +3402 0 obj << +/D [3396 0 R /XYZ 65.161 696.468 null] +>> endobj +3403 0 obj << +/D [3396 0 R /XYZ 65.161 685.509 null] +>> endobj +3404 0 obj << +/D [3396 0 R /XYZ 65.161 663.591 null] +>> endobj +3405 0 obj << +/D [3396 0 R /XYZ 56.693 616.73 null] +>> endobj +3406 0 obj << +/D [3396 0 R /XYZ 65.161 617.413 null] +>> endobj +3407 0 obj << +/D [3396 0 R /XYZ 65.161 606.454 null] +>> endobj +3408 0 obj << +/D [3396 0 R /XYZ 56.693 559.593 null] +>> endobj +3409 0 obj << +/D [3396 0 R /XYZ 65.161 560.276 null] +>> endobj +3410 0 obj << +/D [3396 0 R /XYZ 65.161 549.317 null] +>> endobj +3411 0 obj << +/D [3396 0 R /XYZ 65.161 538.358 null] +>> endobj +3412 0 obj << +/D [3396 0 R /XYZ 65.161 527.4 null] +>> endobj +386 0 obj << +/D [3396 0 R /XYZ 56.693 490.557 null] +>> endobj +3413 0 obj << +/D [3396 0 R /XYZ 56.693 463.219 null] +>> endobj +3414 0 obj << +/D [3396 0 R /XYZ 56.693 417.287 null] +>> endobj +3415 0 obj << +/D [3396 0 R /XYZ 65.161 417.97 null] +>> endobj +3416 0 obj << +/D [3396 0 R /XYZ 65.161 407.011 null] +>> endobj +3417 0 obj << +/D [3396 0 R /XYZ 65.161 396.052 null] +>> endobj +3418 0 obj << +/D [3396 0 R /XYZ 65.161 385.094 null] +>> endobj +3419 0 obj << +/D [3396 0 R /XYZ 65.161 374.135 null] +>> endobj +3420 0 obj << +/D [3396 0 R /XYZ 56.693 327.668 null] +>> endobj +3421 0 obj << +/D [3396 0 R /XYZ 65.161 327.957 null] +>> endobj +3422 0 obj << +/D [3396 0 R /XYZ 65.161 316.998 null] +>> endobj +3423 0 obj << +/D [3396 0 R /XYZ 65.161 306.039 null] +>> endobj +3424 0 obj << +/D [3396 0 R /XYZ 65.161 295.08 null] +>> endobj +3425 0 obj << +/D [3396 0 R /XYZ 65.161 284.121 null] +>> endobj +3426 0 obj << +/D [3396 0 R /XYZ 56.693 237.654 null] +>> endobj +3427 0 obj << +/D [3396 0 R /XYZ 65.161 237.943 null] +>> endobj +3428 0 obj << +/D [3396 0 R /XYZ 65.161 226.984 null] +>> endobj +3429 0 obj << +/D [3396 0 R /XYZ 56.693 180.517 null] +>> endobj +3430 0 obj << +/D [3396 0 R /XYZ 65.161 180.806 null] +>> endobj +3431 0 obj << +/D [3396 0 R /XYZ 65.161 169.847 null] +>> endobj +3432 0 obj << +/D [3396 0 R /XYZ 65.161 158.888 null] +>> endobj +3433 0 obj << +/D [3396 0 R /XYZ 56.693 112.421 null] +>> endobj +3434 0 obj << +/D [3396 0 R /XYZ 65.161 112.71 null] +>> endobj +3435 0 obj << +/D [3396 0 R /XYZ 65.161 101.751 null] +>> endobj +3395 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F95 923 0 R /F98 924 0 R /F52 695 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +3438 0 obj << +/Length 3271 +/Filter /FlateDecode +>> +stream +xÚå][“›8~ï_Ae¶Sµ­ vjf&ÉT¦&³µÓý°UIÔX¶©æâA·÷ׯ08eðíÈ%Ùڗ¶ÛƇƒø>«„ë,×ùå槇›Wo׉IÌwæg„‡ND=â…ÎÃÌùpû‡Ì¤Pòå ÜÛßËZªîí¼¬º7õ²ÿòu™üT–OÝ?ÿ¾ÿí姇_õiî(%qtÒîëM&ÕRÊZµ_ë³S'Ògç^{vŸ‡$d‘s8ìÏ2-0Œn_u/”ñö‡7onþ¼¡Z¼ëP'à„ÇžƔp—9I~óá“ëÌôwZâǑ³Þ™;u ó¸~Ÿ9÷7ÿºqû‘pOŽÈN¶êòN§Œ[-v?{õV²½¿ýMD|é/¶¿O“¥ÙG7pë\ÿ¥/ï¸ëÞÞçi½üûË;Êô?jS”+ò¬²º/³2yÚû?-æåàß,-äÞYªjµ÷¿,fE{«ö>jênÀã`OQ?ŠI ßöª~t]­¥î—w´{·½V}ÛËm_~Ž¿F ™zzŒ|¯ÿöóÀÕwÓç#q;•tæû>vüÓðˆÐÈߝ LÛ£±òB9Ë\JB}#!gØ#'1‹'Pv+°Z8ݛ?zt¶SÜ£Ä×´½‹?/E±³@e9¶°ÐÇÎ4˜°£Ë9ì¸Ç2ž_Ÿv`Z‹,MÇêk}Õpø£Û¦˜Éªå ðҚzÕq K;.ÅJ,¤}™G4$z†±ó¡|$ÌÑÊÀœ¹$ ^ó#7LJN¢›u—e…æ#9u% +µ•,€ð©KØq’•_àßÎ_àã‘!!:»œ0Îío( ÷»\Š5ô å#ÑcMÙ~0XL‚À^by$9he ¨ä1ù}bùÇb³ÉaTR¨²¡‰ã›ÿ‘0ÌÐy•±³F»äŽ5& å#™€Vր Œ’(êsϪÌeæÐې€OPÌ6ÚÁI[¹ ?t$f>cÞT_ 5 :؃lØl¶~¡šÖ1ÔSG>¦åeV¸]rÇ+†ò‘¬@+kÀŠV.óûÈ~Y*à<6+¥* ‚Îœà-×°CWBÁqØÖ߁<–Íԓ~ÒTÅ¥ó¹cmKNRµ|6åCw [|ÉÇñ¯,œAÜvŽôµ‘ÕÂ#e0hTÙTÉxÊ䡊rjøš› t5Êkp¿™z|¿t2‹Â€AXu k<ÊGò­¬¢˜¸»v«ºœÚßîœxø®j±'jk—or¸MGX»ÇñÈ[lKÕ~$¸G"×^&x$9he àÎCâFÑ®¤.¿Rmb +? +îÅó4°Þ<4·×z{àä:0ÐÁ4u®‚.çb%CùH– •5`IÀ Õçܲd%* ÿZVÖ÷“'oŽÕÄ_/[Û1g»Ùš½(Àýj¦P÷»¤Š5¨å#¡ŽVÖê¾~ i_<2sž÷¡ÅZTðiy–Ö)4ñ”,eò4š‰3äu kw|(yÇ­)Ûí¢Ekƒ1” ´²ðgagÚb¸†šäG¡Œ’§2‘J‰j3­QV3YMë©fµª´®S·9ž²0—ùîvœ5ˆå#!ŽVÖâ”÷™S(bê´Î¤ib~½L`ÇF©}™jB³¸‹q•à4.“J®¡x³‚:ÿ‰h ºB{„ái­&,ÓÌ©GÄõíeNGòq|À+kÀ­©çõ™Óq™y/½*çsƒÞsh¤\HÏA"ý7ˏº„‚5˜ å#afMÙ~0Â.n´6CùÈÁ@+ çœÆħ}_îÏY©lË·¡<ôÏßk/:ñ÷ ÔÔhæO×v_‹"•À˜ù7™jï«6¶¥à'Ô¦/ÿüööY4!ñH4cU53ˆô9ÔY™<¶kÑá!󳂮 jb穯¡y™§¦0’Ý@ 4S™,SùjÎ~©À-¡¡ŽªEݨ« _û1Ìô¯'·ð½˜0YÚàËVÐ`1ñÜÀÞ"|ŸFÄóíEt#ùÈù­¬ÁÄ(á^ѽMŸ¿í|ù,òU¶UšuEuz¡Åt1ƒÏ}à¸ËèÂd&óƒuٗ9¤IãE-ìP>âhe ®åò00-ËC[*D.m0ÖòÊúºýxU•mæL‚yºh*i¸ˆ÷ˆã~â^̉Ïìˆ#ù8ˆ£•= h/ŽIHû>“>Ή..šþ.#¨‡äÅñ÷‘Ú÷¼Ð% ,yHýJ]ÉãZnq£"Ϗ wíU¹Fò‘ìB+ 7 ^Û.÷ëI^—Z€Ó"Éhße&àÀ˜-NÏ÷™,ÆVï|Vp%êe6”éüʁh—ÔŸVB捥‡©ÚË<Õs1÷íÕGGò‘4B+k@#Ÿ’Øë룩iA¨, …Ï…,dö³ŽèLúâÏFdé<…†I-W¤ˆ¢&öéŠÃYëÌE¾)Yª–˜•šžð¯j°)Óç`– öþî„Ð1pµBalÏb³˜’ˆÙkMÉÇM5xeáS ‹õ«Ûg·ÞY±‚Ç·.º0‰Éº¦z-ªBG`ÓÏÂÛEÊÜÎ˲n˜^t}° 1XnÀ"—DÜ^géH>ähe @ù„úñn´¦¼ŸÁ«qrÙnݲ0èÀ×Ñ =Е°ÚÙ|ºg0=,|C­ãÚ:¹öZDGò‘˜µ¦l?†®o/®ÉGZYëb3]@Ñ䏲’3nÖKƒÃÛ]R#¯8-fàDû¾Ç3Ûùˆ[Ó¦³+mëeöû¡†½p$ x´²€×ñ û°’í^‘`ìüïi3à4ÿïÿ|xs4›2·¦C+c9Ü`‚]ØU&ÀÕ³Ö0¥—Ù«¹Žä#i€Vր¾K<Ú×\³TÇÊ —&”jòU‹05íöËÉWÏí®píÚoôf6¹¨ž®làÕ#ýÃù¸¦ÍÓd§vºÌƉËí•kGò‘ì@+kÀŽ¶d÷èï:°…þ‘8˜ë±1¾m¼ø­]¤5ޒ ]ÚeW¬Aw( ]´²Ðmwâ¾0»í2ð¡3ùZLÝƦ•4…]:õj}àfê¤0<·=ºÐ•KÐÎaaÚëÀÜ.»cdCùH’¡•5 ™÷ ' Zjñm¾‚œ´–yú9kŸb4­äí +;ÁpÃßÚT”VªžœVã è"Yhìj+Cñ8ª U…3…¶HadĔ+]!h·Ü%´P²™6Ò>ž—¸°êi›ÿ2ØXWl?bÜ J£.¯hCùH> •5 D€îöâ¨Ê•¬²Í7J(™å³ŒA1‚†]Ö͆ò‘p°¦l?¼Ë½XŒ¡|ä` •5à÷wé®Ñ([[&›•ÙOìXw.ä_ž……QÉ8 +íÞ 9ùÎÑÆíjÚmߦ[¬b(I´²„á~_¬H„’¶¶VÍBÓ¡¾Ò5ï?~qn5ßóác„Y1ƒ-҉;ËוXM«¸>¼Ì!¯ËûXãÐP>’Che 8äS£Ý~!Ö"浞öÚG[L¼UÞÔ*&=:W—åN¯ê‘ó¶-¶„ntl÷.°ËéÄßL¤ýîOJñcï»Y®A]F‹«5bJ‚Ð^ëçP‘K¸Åý ÅãàVïÈ#=¸¯×¥Qƒu·‡û+^r‘•õÔ1Øjö@?«*™Ô‡UðêCÂ÷7zDÛÅ}8v;¸ÄåÛüò‡O®3Ó_ýªeøq䬷æN ÁÉ<®ßgÎýÞ ÿ ‡ÔÑç +endstream +endobj +3437 0 obj << +/Type /Page +/Contents 3438 0 R +/Resources 3436 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 3492 0 R +>> endobj +3439 0 obj << +/D [3437 0 R /XYZ -11.232 900.716 null] +>> endobj +3440 0 obj << +/D [3437 0 R /XYZ 56.693 741.747 null] +>> endobj +3441 0 obj << +/D [3437 0 R /XYZ 65.161 742.431 null] +>> endobj +3442 0 obj << +/D [3437 0 R /XYZ 65.161 731.472 null] +>> endobj +3443 0 obj << +/D [3437 0 R /XYZ 65.161 720.513 null] +>> endobj +3444 0 obj << +/D [3437 0 R /XYZ 65.161 709.554 null] +>> endobj +3445 0 obj << +/D [3437 0 R /XYZ 65.161 698.595 null] +>> endobj +3446 0 obj << +/D [3437 0 R /XYZ 65.161 687.636 null] +>> endobj +3447 0 obj << +/D [3437 0 R /XYZ 65.161 676.677 null] +>> endobj +3448 0 obj << +/D [3437 0 R /XYZ 65.161 665.718 null] +>> endobj +3449 0 obj << +/D [3437 0 R /XYZ 65.161 654.76 null] +>> endobj +3450 0 obj << +/D [3437 0 R /XYZ 65.161 643.801 null] +>> endobj +3451 0 obj << +/D [3437 0 R /XYZ 65.161 632.842 null] +>> endobj +3452 0 obj << +/D [3437 0 R /XYZ 65.161 621.883 null] +>> endobj +3453 0 obj << +/D [3437 0 R /XYZ 65.161 610.924 null] +>> endobj +3454 0 obj << +/D [3437 0 R /XYZ 65.161 599.965 null] +>> endobj +3455 0 obj << +/D [3437 0 R /XYZ 65.161 589.006 null] +>> endobj +3456 0 obj << +/D [3437 0 R /XYZ 65.161 578.047 null] +>> endobj +3457 0 obj << +/D [3437 0 R /XYZ 65.161 567.088 null] +>> endobj +3458 0 obj << +/D [3437 0 R /XYZ 65.161 556.129 null] +>> endobj +3459 0 obj << +/D [3437 0 R /XYZ 65.161 545.171 null] +>> endobj +3460 0 obj << +/D [3437 0 R /XYZ 65.161 534.212 null] +>> endobj +3461 0 obj << +/D [3437 0 R /XYZ 65.161 523.253 null] +>> endobj +3462 0 obj << +/D [3437 0 R /XYZ 65.161 512.294 null] +>> endobj +3463 0 obj << +/D [3437 0 R /XYZ 65.161 501.335 null] +>> endobj +3464 0 obj << +/D [3437 0 R /XYZ 65.161 490.376 null] +>> endobj +3465 0 obj << +/D [3437 0 R /XYZ 65.161 479.417 null] +>> endobj +3466 0 obj << +/D [3437 0 R /XYZ 56.693 432.304 null] +>> endobj +3467 0 obj << +/D [3437 0 R /XYZ 65.161 432.593 null] +>> endobj +3468 0 obj << +/D [3437 0 R /XYZ 65.161 421.634 null] +>> endobj +3469 0 obj << +/D [3437 0 R /XYZ 65.161 410.675 null] +>> endobj +3470 0 obj << +/D [3437 0 R /XYZ 56.693 363.167 null] +>> endobj +3471 0 obj << +/D [3437 0 R /XYZ 65.161 363.85 null] +>> endobj +3472 0 obj << +/D [3437 0 R /XYZ 65.161 352.892 null] +>> endobj +3473 0 obj << +/D [3437 0 R /XYZ 56.693 305.778 null] +>> endobj +3474 0 obj << +/D [3437 0 R /XYZ 65.161 306.067 null] +>> endobj +3475 0 obj << +/D [3437 0 R /XYZ 65.161 295.108 null] +>> endobj +3476 0 obj << +/D [3437 0 R /XYZ 65.161 284.149 null] +>> endobj +3477 0 obj << +/D [3437 0 R /XYZ 65.161 273.19 null] +>> endobj +3478 0 obj << +/D [3437 0 R /XYZ 65.161 262.232 null] +>> endobj +3479 0 obj << +/D [3437 0 R /XYZ 65.161 251.273 null] +>> endobj +3480 0 obj << +/D [3437 0 R /XYZ 65.161 240.314 null] +>> endobj +3481 0 obj << +/D [3437 0 R /XYZ 65.161 229.355 null] +>> endobj +3482 0 obj << +/D [3437 0 R /XYZ 65.161 218.396 null] +>> endobj +3483 0 obj << +/D [3437 0 R /XYZ 65.161 207.437 null] +>> endobj +3484 0 obj << +/D [3437 0 R /XYZ 65.161 196.478 null] +>> endobj +3485 0 obj << +/D [3437 0 R /XYZ 65.161 185.519 null] +>> endobj +3486 0 obj << +/D [3437 0 R /XYZ 65.161 174.56 null] +>> endobj +3487 0 obj << +/D [3437 0 R /XYZ 65.161 163.601 null] +>> endobj +3488 0 obj << +/D [3437 0 R /XYZ 65.161 152.643 null] +>> endobj +3489 0 obj << +/D [3437 0 R /XYZ 56.693 105.135 null] +>> endobj +3490 0 obj << +/D [3437 0 R /XYZ 65.161 105.818 null] +>> endobj +3491 0 obj << +/D [3437 0 R /XYZ 65.161 94.859 null] +>> endobj +3436 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F95 923 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +3495 0 obj << +/Length 3389 +/Filter /FlateDecode +>> +stream +xÚݝ_“›8ÀßçSP{UwÉՎ Ø<íÞ&[»•\ÝÍÌU]U’d›@^À3™ýô' žü¯åF›»{™Á¶hñS«Õj ×Y8®óÓÕwW¯Þ2׉IÌ)wî槄‡Näùĝ»ÔùðâFæRÔòå5e«FÖÝá\UÝA³ìüQ%?(uß}ø÷í»—Ÿî~ї¹ö<3ÖI»mžrY/¥lêög}uωôÕ¹ß^=à! iä\3‡ýõC_ £¯ºåí‰Woî®~»ò´x×ñÆ }'Œ=Â]ê$ÅՇO®“êß´$ˆ#çqS²p˜çês}œ;·Wÿ¼rûšÿ߯™í5‚˜x.ïtûH)Ûh³=íÕ[]ds?A{NDé6…ßgÉRÈü£Ëܦн—×Üu_ÜY³üîåµGõ‡FÌrI>×ùëîÇú©T«Ï³\%÷;Ÿ³r®v>æYÝÔ;Ÿ+9—eS=í|%Ë´«ø˜í(D1aú°Wõ£ëjí<Ï}>òº£Í½ê§ÙÞnûï§ásÐôx!uB?&eísh¿g®~ªw(‰£Ø©¤3ß­ø´Ãßî_€¶5n/Ð öÚÒXùŒxÜËg®GBý !W؅’“˜Æ(»X-œîধs@ÚVq_kʂmË}U#Ó¡ûœ0J™ÈºÕ¬¸¬±Êʬ´šÃÊÍDr_ç¢^Šë{ù¶ÿâÈy©j Ï%°^Ò±6þ½07²‡çP>O´²xR—„qߨu3-b´²»1‰üÞ(²z±ÎÒ=2^|éà¿9G!ª{YOýæ´å*¤ö#ʬ.ÌaÔ$W*]'Ð>!+/kyý×ú‰Râyã1#ÌnCñ8ÚЪÂaãqD¢0ê`«zWü(j×קÑy\jöH ‘­éº–ÓÚq‘7²*E“=¤êÒötžÀ( Ü÷ì!8”d­¬„QHb/î ÔƧ‰~B5ðiÖP[³yê9¬t%W•¬u·,ڎ¹žÚ‘Pc¦ÏÃúzäLíÁ3”„­¬<¡¾&?É΄޺î‰J0A¹÷„Zn+ùëºzr«*SðòÊGý?ô|{8å#qD+k€£¾¦ëzµ¬2‘g¿oŒÈ¡¾æ\‡ +æ²؂í c–boÔû—ãc մΑçOºÎ£Éº…54‡ò‘h¢•5@“1â´Gó©n &§ƒpho¬ºÔº3N𘸧äùõé³ö+ð<ÅAÊ°FñP>’b´²q#¿£83íèáÖOñÕÄa¦úy +V>QБ¼/úù@œö³LÖ{AàóxÓ.Èa ï¡|$Þhe ðö}âÑ>Â}\àÈäL.²²œ<¬¾ªTÜË:939WðD ô”®`·Q©ùÜ_¯ ›Ø› ÉGâ‹VÖ_ª+ˆ÷ø6\²^`¹}‹ONÓu·Ì€¦¬ {. ±¦ÙC&Ú¹êiÛg)¡nÑì™;ÐnŽ±÷P>n´²p{¡Û¹ù±Àã]ú¾³}ܟh8³VАÄo묂B t€rÔS;5À+ß|ÿ8wº®öú²³x³x0²E÷P<n´ªl».¡AŸsº??=6L¹¨ ÖvžåÒÔÓÛ\“†|xn À\ÔE…¬A7”¤­,;ńFýü“,S°k +õ:›»ÈböîØ¡r! 5Ê|é'Öpòˆ…]ðÆACùH‚¬)ÛWïbÖ*c(Yhe š‰öÑç¿åª†‚<[4õò¸vzÂð¬-ÊûzÚ Ým¢ gq[È4—O:Îç›ë†äÖhÊG҆Vր6ÆIàÑgŸá!ƒÛo w©-14 ¶–x+`/aþðX@ý‰:\ε0Œ%Í­Tm™cA7‚·FûP>’v´²´Œ¬<ƒ¹ÑÍb–C'Z³f9qDïÝ~©žgÇïÈÖØÊG²cMÙ¾2h7¢²VCùÈÊ@+kА¨O˜ßÇ¿G/ +õ`MÏ¡ƒn‰*ÛÜxpoXJžURÜ_øp»±–5 ‡ò‘@¢•5Ò£„…}\¯^‰ì5[Ⱥ³[‹:i¢yùJ©ðèÉL“ÞÇåÄÇ, +2]«D>Ù®6˜|©ÖóZ+àÝa@hhoMTÀ}â{öBX#ù8ëWn=}M÷Ù«o³ÏðÄ+žaV&ªªdҀ»´B4ÍäSÂ¥¸AkâATY»0±EþÒÆ0J|f/>6’Ä­¬žŒLÒ]³ï}…ˆÐÚS“¹aÊþ±È}՛'i¸TæÌRY]ÎlŸÿ±] ‰ëÿ-}–ß,vZ­KÚ fŒä#­ZY« ÝkÎûÐÝ{quçÖÕä¹f"®ÉhéÊYÔÓ..kEf¿Ët¯÷Áge«J›#ɕi²†3xöB.#ù8ÂñÊ ÷㈄®¿ NËD¦Pdö4i {–뾊x)­å7͵o:mîG%U›' Ê©‚J’µöbMƒ×~€Ù‹¹ä#[ZYƒÖµ]k?V}/bÊʺe"ë¯>¸û4ʝTjòÅ ²šz‰*´O‚&ŸWò!SëÚ´•„þfÓk­d(ÙJÐÊ´’“0ꁲªm¬ý”poÇ &¬Ç[ÚπŽâákà ~̚d Ñ›ëÍí¸^¯„›7l !±6^ŽëëÿÌ·—#;’lBhe šþÑ>j¾S%ëÒ`©a­¬V +º<§ Xí'<îæha;)±nT!“Տ YÊ +žg~¹Czx] Ìb—1Ä«ªí, ïÓ9ïg’TÁ»÷ŒÌ ¥–t~´q 4Û?MÁƒ2qÈ´“ˑWÐ%QðÕGR$KC5Æî|C "Âbï +ú”º]’7´²¼…!ñ£>R»YÕU¯”ÁIf¶,ÓÖ¡8~›5_Ù 0…‘w#k0å#aD+k£¾fûÒ=³í/z¨ê sÛ˜©wƕà5óÉý +Ä~1¯ 7Á;Ï?ëÂÖøÊGòVրÆHÀùóNup[ÙÎájßqê½bÿuóh«+UL|ívCÆJBß·Ô4U6[7Æ(¡÷¡ÉG¢ˆVÖÅ Ìí£Ó“Û£ÿã©9ƒðœço/Ö؈G¢gKÕ¾&¼nLo­*†ò‘uVÖ RJØ6·í­IBƒÉìxØu:×aª%^¼ÊÄs»a³5€†ò‘¡•5ÈóïW¨.ќxçÄύ É2ËS[{,›* ¦Y½Êœñ:ѸXÛ"r($ZU]—ðíî±&éb¨-1F[ zùˆï¾H~r†âqXSµs7º±ö6æx䢑ªórDÂíŸg#od) +hª–²‚¾yt8¹&g3{~°¸$0BYè\{„ñÞIùë1AºúBîì”Ü,°˜xÿ³;;9úrwÔ'¡àî¦Íåî|;00Û=q\âòÍÈíÃ'×IõO¿hdÚ5Ǐ›‚…ÃÚYXŸëãܹÝáë?ª¼ +endstream +endobj +3494 0 obj << +/Type /Page +/Contents 3495 0 R +/Resources 3493 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 3492 0 R +>> endobj +3496 0 obj << +/D [3494 0 R /XYZ -16.307 900.716 null] +>> endobj +3497 0 obj << +/D [3494 0 R /XYZ 56.693 742.03 null] +>> endobj +3498 0 obj << +/D [3494 0 R /XYZ 65.161 742.713 null] +>> endobj +3499 0 obj << +/D [3494 0 R /XYZ 65.161 731.754 null] +>> endobj +3500 0 obj << +/D [3494 0 R /XYZ 65.161 720.795 null] +>> endobj +3501 0 obj << +/D [3494 0 R /XYZ 65.161 709.836 null] +>> endobj +3502 0 obj << +/D [3494 0 R /XYZ 65.161 698.878 null] +>> endobj +3503 0 obj << +/D [3494 0 R /XYZ 65.161 687.919 null] +>> endobj +3504 0 obj << +/D [3494 0 R /XYZ 65.161 676.96 null] +>> endobj +3505 0 obj << +/D [3494 0 R /XYZ 65.161 666.001 null] +>> endobj +3506 0 obj << +/D [3494 0 R /XYZ 65.161 655.042 null] +>> endobj +3507 0 obj << +/D [3494 0 R /XYZ 65.161 644.083 null] +>> endobj +3508 0 obj << +/D [3494 0 R /XYZ 65.161 633.124 null] +>> endobj +3509 0 obj << +/D [3494 0 R /XYZ 65.161 622.165 null] +>> endobj +3510 0 obj << +/D [3494 0 R /XYZ 65.161 611.206 null] +>> endobj +3511 0 obj << +/D [3494 0 R /XYZ 65.161 600.247 null] +>> endobj +3512 0 obj << +/D [3494 0 R /XYZ 65.161 589.288 null] +>> endobj +3513 0 obj << +/D [3494 0 R /XYZ 65.161 578.33 null] +>> endobj +3514 0 obj << +/D [3494 0 R /XYZ 65.161 567.371 null] +>> endobj +3515 0 obj << +/D [3494 0 R /XYZ 65.161 556.412 null] +>> endobj +3516 0 obj << +/D [3494 0 R /XYZ 65.161 545.453 null] +>> endobj +3517 0 obj << +/D [3494 0 R /XYZ 65.161 534.494 null] +>> endobj +3518 0 obj << +/D [3494 0 R /XYZ 65.161 523.535 null] +>> endobj +3519 0 obj << +/D [3494 0 R /XYZ 56.693 477.269 null] +>> endobj +3520 0 obj << +/D [3494 0 R /XYZ 65.161 477.558 null] +>> endobj +3521 0 obj << +/D [3494 0 R /XYZ 65.161 466.599 null] +>> endobj +3522 0 obj << +/D [3494 0 R /XYZ 56.693 420.332 null] +>> endobj +3523 0 obj << +/D [3494 0 R /XYZ 65.161 420.621 null] +>> endobj +3524 0 obj << +/D [3494 0 R /XYZ 65.161 409.662 null] +>> endobj +3525 0 obj << +/D [3494 0 R /XYZ 65.161 398.703 null] +>> endobj +3526 0 obj << +/D [3494 0 R /XYZ 65.161 387.745 null] +>> endobj +3527 0 obj << +/D [3494 0 R /XYZ 65.161 376.786 null] +>> endobj +3528 0 obj << +/D [3494 0 R /XYZ 65.161 365.827 null] +>> endobj +3529 0 obj << +/D [3494 0 R /XYZ 56.693 319.166 null] +>> endobj +3530 0 obj << +/D [3494 0 R /XYZ 65.161 319.849 null] +>> endobj +3531 0 obj << +/D [3494 0 R /XYZ 65.161 308.89 null] +>> endobj +3532 0 obj << +/D [3494 0 R /XYZ 65.161 297.932 null] +>> endobj +3533 0 obj << +/D [3494 0 R /XYZ 65.161 286.973 null] +>> endobj +3534 0 obj << +/D [3494 0 R /XYZ 65.161 276.014 null] +>> endobj +3535 0 obj << +/D [3494 0 R /XYZ 65.161 265.055 null] +>> endobj +3536 0 obj << +/D [3494 0 R /XYZ 65.161 254.096 null] +>> endobj +3537 0 obj << +/D [3494 0 R /XYZ 65.161 243.137 null] +>> endobj +3538 0 obj << +/D [3494 0 R /XYZ 65.161 232.178 null] +>> endobj +3539 0 obj << +/D [3494 0 R /XYZ 65.161 221.219 null] +>> endobj +3540 0 obj << +/D [3494 0 R /XYZ 65.161 210.26 null] +>> endobj +3541 0 obj << +/D [3494 0 R /XYZ 65.161 199.301 null] +>> endobj +3542 0 obj << +/D [3494 0 R /XYZ 65.161 188.342 null] +>> endobj +3543 0 obj << +/D [3494 0 R /XYZ 65.161 177.384 null] +>> endobj +3544 0 obj << +/D [3494 0 R /XYZ 65.161 166.425 null] +>> endobj +3545 0 obj << +/D [3494 0 R /XYZ 65.161 155.466 null] +>> endobj +3546 0 obj << +/D [3494 0 R /XYZ 65.161 144.507 null] +>> endobj +3547 0 obj << +/D [3494 0 R /XYZ 65.161 133.548 null] +>> endobj +3548 0 obj << +/D [3494 0 R /XYZ 65.161 122.589 null] +>> endobj +3549 0 obj << +/D [3494 0 R /XYZ 65.161 111.63 null] +>> endobj +3550 0 obj << +/D [3494 0 R /XYZ 65.161 100.671 null] +>> endobj +3551 0 obj << +/D [3494 0 R /XYZ 65.161 89.712 null] +>> endobj +3493 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F95 923 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +3554 0 obj << +/Length 2192 +/Filter /FlateDecode +>> +stream +xÚÍ\[oã6~ϯЇM€š#R$EÍ 총¶ƒ¶@gò°ÀLh™NÔH¢W’“L}.ÎXrì…RÚ'ÓuxD~ç;Òö½+Ï÷~8{syöê­ð½ˆD’IïríIFdè) ô.WÞÇó÷&5º4 &üó_meʶ¹¶EÛ¨®»›ßÙøµ7í—ÿ}øùâ÷Ëw0̂R ÑJûP}NMymLUÖ·atê)]õè\†$dÊ[…Ýø!¡:Õ~P&ëϾ¿<ûÿñ¾G=!‰Œ/Œ(‘>óâììãï¾·‚{ á‘ò™'¨OX ¡zÎ~;ó»™ðAźYü°'æƒ†Ì ¹ ŠªZr}‘HE­{G^a¼õQIOÊ„J:”/|JB©P#ìς$‹&P¶X\ymã}˜áf©x½T!,«õe»T•m–æ¸ïãBúþyaÖ©‰+\çêZ#{®õô2kp£:š|•7Ɓê&%RÜÞõ;öV¬g;¬œ(XêٰڗïˆUgeG`5P„òŽVb›W:ɑë•Ù ¡•ãzþ±Åb Mò›¾¢ð¤»pä™ÿ¦%ÒWÉ +×±L²$ÕÅX8²€ÌÆ}éŽPtTtYH¨R- “ë,ɯg \G¤—m¶4H‘vÄɃbvq³çI^™"×)nˆ[]3ˆ§Iaq9’}ùŽ œMÙn2@»H±ù&£/ßq2\•=´È5agX˱N¤*ŒÎÀ`°¸¥¬§£4HnVé3\´™×l ëËw³²#\R±KIWfd–÷Ó1þëøâ•XÀ%)2 ÏLY~žï7é6¿™Z(Ú&–ºLâ±èæm:7ºûòÑí¬ìt Ÿð°+f&öHÊ · 2Ù–Øš[‚ìwk +$ü€“×ë$†'îA×ÊÆÛ:ê)Ç"1„±ùª-ùŽHtVvƒˆÚ%xøêoW$œ´â’ÚjÚrKãÃí¶ˆ=ùק½Çr‹T;_õNQõ,û幞¶Ö¤ó³™AO¼£¸ª:˜"BteG$Z—X^šª2ÅÔ5rìèwúÙå@Éaj¯\’Ën%Kðøg»»Êêå EÔl¯v•B ûڅ ‘Ãò õ᝾/X]ûߔ¦Û*Ýߨõ½ƒä_vÞõr· »¶ij/˜8¿«ÃôæRíw¯v۶׺–z{AÅy÷ÄҘ¼mezÕ]«ì—½ÝflPúËØTq†õ&j3¶‰)ÉAà ØõkâÛFl™ä±ìƒ1â·í¢Ýs&ýyY€·€t0‚Úg­ÔOŒ‰^¿øá`œ +¿èm‘T^4 yi]ió× Êàë/úƬ“Ô q#@ E.¸9© ÊɌE¯¾x7sVAbj‡D°ŽÄÞ&÷جx¹½z¬ú ©ð£àõiOÙÇÆdq^ ©}…ÞûÙ¶Öa…cËÄæÓÆ{¦ŽËRÏïKd.©êê#H\PJ˜˜Ä÷I­ãp®[ø úNß&«–‚¾-tfŠu³KæìÉ÷æ!(ŠùH¨>‘Ãé|å|7rWÏC<¯îw>|ĞPn‹L§ÉŸfDÕ­ÜèI=º°[LQ¤Áö¼Ž¾µØ3à·WhB»»N uÁ¿Üº°ÈêÞlŒ.Њ`Sá`¬~¯œý4y“q1_š4ïhÛÎÊ"lÂr_I+å»j)ÌôUVs_úål +µç;Ư_ömFøæø#UR¥CüçtàõÖÚáß¼;D½Yxz˜É  -Ȍ,[p4qÂK¦¢à/‰ÜUÆ  ÍEßé:a¼­SGý£I7ÿì„ô}«¯×Rø͆ùdiP3FØe¤ÁÄéî=F„,k ä|aÀá3ÖÖòݜ†»²ø€0àŠ„´s?e›öÜ6,|ûþñì”> ‚ y—¶@–ä+s?mh´osÏ=¨pFx ^2‹ („WŒÿ ׯã<:Ÿá²Hí~1‹áä»®»²# 4éO"×Zˆÿt„‚Mìš(¥Ž‚ʉ·ÐGpð^‘`À&¡w¶¸™6~N +º)옽ûñÒKejL…Dòà´9 5Æéû‡öÜó˜=c¥>Xö,¯rô¸W—ѱž ºƒ’XwÄBðj¾ +ü@¾#c:+‹gL‚ Ùhʜç„êUjËRSZ&Ë4±W…Þ\ž¸Šdã‰uÍ4òÔa½ðìR3ÉMOY ‰Ú•b =U¦§ïkŸs*/^ZœPޗ©hºÄ”ÓæñóÓ•¹5mtûF§é.´]¦6¾)ÙjyS·ÿ¾ØùæU–².$jw0º[×Xiâ*±y¹wsw‰µRÉQ¯Ê¿xUŸ‚&ÔhѶ…ƒ0­Y’óEÙ(RŠù|Æ@¾›ÏpWï3¨„K¼ó¹¹ûS²rb¯1æ¼J otx›²Ä*1Ê!¢½ðA‚}µL×?¼Ëu>ºXIë¿ +ò%“uDàØtdV™l“êÊ,6xŸÜg;bzcw›G˜jQnL\wÄ•ÕŒ§D(UDóñMO¼#ݸª:‚mÌíN‰¬G{֐RÊGþ߂×? Šžó÷+“F +endstream +endobj +3553 0 obj << +/Type /Page +/Contents 3554 0 R +/Resources 3552 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 3492 0 R +>> endobj +3555 0 obj << +/D [3553 0 R /XYZ -11.232 900.716 null] +>> endobj +3556 0 obj << +/D [3553 0 R /XYZ 65.161 760.065 null] +>> endobj +3557 0 obj << +/D [3553 0 R /XYZ 65.161 749.106 null] +>> endobj +3558 0 obj << +/D [3553 0 R /XYZ 65.161 738.147 null] +>> endobj +3559 0 obj << +/D [3553 0 R /XYZ 65.161 727.188 null] +>> endobj +3560 0 obj << +/D [3553 0 R /XYZ 65.161 716.229 null] +>> endobj +3561 0 obj << +/D [3553 0 R /XYZ 65.161 705.27 null] +>> endobj +3562 0 obj << +/D [3553 0 R /XYZ 65.161 694.311 null] +>> endobj +3563 0 obj << +/D [3553 0 R /XYZ 65.161 683.352 null] +>> endobj +3564 0 obj << +/D [3553 0 R /XYZ 65.161 672.393 null] +>> endobj +3565 0 obj << +/D [3553 0 R /XYZ 65.161 661.435 null] +>> endobj +3566 0 obj << +/D [3553 0 R /XYZ 65.161 650.476 null] +>> endobj +3567 0 obj << +/D [3553 0 R /XYZ 65.161 639.517 null] +>> endobj +390 0 obj << +/D [3553 0 R /XYZ 56.693 602.366 null] +>> endobj +3568 0 obj << +/D [3553 0 R /XYZ 56.693 574.813 null] +>> endobj +3569 0 obj << +/D [3553 0 R /XYZ 56.693 529.045 null] +>> endobj +3570 0 obj << +/D [3553 0 R /XYZ 65.161 528.487 null] +>> endobj +3571 0 obj << +/D [3553 0 R /XYZ 56.693 480.979 null] +>> endobj +3572 0 obj << +/D [3553 0 R /XYZ 65.161 481.662 null] +>> endobj +394 0 obj << +/D [3553 0 R /XYZ 56.693 433.553 null] +>> endobj +3573 0 obj << +/D [3553 0 R /XYZ 56.693 406 null] +>> endobj +3574 0 obj << +/D [3553 0 R /XYZ 56.693 358.99 null] +>> endobj +3575 0 obj << +/D [3553 0 R /XYZ 65.161 359.673 null] +>> endobj +3576 0 obj << +/D [3553 0 R /XYZ 56.693 312.166 null] +>> endobj +3577 0 obj << +/D [3553 0 R /XYZ 65.161 312.849 null] +>> endobj +3578 0 obj << +/D [3553 0 R /XYZ 65.161 290.931 null] +>> endobj +398 0 obj << +/D [3553 0 R /XYZ 56.693 253.781 null] +>> endobj +3579 0 obj << +/D [3553 0 R /XYZ 56.693 226.227 null] +>> endobj +3580 0 obj << +/D [3553 0 R /XYZ 56.693 179.612 null] +>> endobj +3581 0 obj << +/D [3553 0 R /XYZ 65.161 179.901 null] +>> endobj +3582 0 obj << +/D [3553 0 R /XYZ 56.693 132.393 null] +>> endobj +3583 0 obj << +/D [3553 0 R /XYZ 65.161 133.077 null] +>> endobj +3552 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F52 695 0 R /F95 923 0 R /F98 924 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +3586 0 obj << +/Length 2436 +/Filter /FlateDecode +>> +stream +xÚÕ\[sã¶~÷¯àä%r§:Á…à¥}ê&MšmÓIcw¦3»y€)Èâš"’²­ýõ=¼e-ʲÑÓ¾X4ßwnļ[y?\¼»¾øæ{żâ@ÞõÒ ¡q 2ô®އÙ/&3º4—s¡Ø쟶2e{¹´E{Q­º/¿³É;kïÚþsõË_¯ßc7sÎ!Vª•vUí2S®Œ©Êúkì{öȺw?!‘7W‡]ÿ¡Ba4û¦ýà"¨¼øëõÅoÅ3{*€ –^s˜ð’õŇ_™·ÀïPðãÈ{hZ®=Åàuæ]]üë‚u#ÁöFDxØ,Tq3$½p?΂V)Ÿ¸Q£Îû0猱Ùϗ’Ít¡×ýë=\ რ:!×ýÀ-m–ÙK¡fi~ÛÞJV:¿í‡z¥/›Ý_r5랸1&o¯ÖzÑÝ«ì—ùhúF¥¿ôÍ#°~ñ¦ïÍ1eRýÞ,±½ô2Í3˜pŽ“¬½.Z˜Àþ¨Ì…À¥À œR&[©…P{í]øµøAÔ«ð“Þiõùràð¾7:/mþ§Ë9øïªZg+“màf[U6‡ÜÁã:ûsÛzø5BöA‹Z|¶ÝЩ'êøQ +/;…>2ƱÎ~¿âíUóFõú¥êöAŠÔâ¡ð‚(‚(T5HëûŠ!äýÀG±Woù•{Ҟ¿{ØAB̃¾ƒV0¯[»ÊWÀ>”¯§‹ÒÃSÆ‹ø Ê6‹[¯½ø¥£ðžzÅ#‚ù¬ì"]¦f±‡ÃCaÈë'…Yn¶ÅƖ†Ö¾2ÕÀ>̀ +ÐÇ¡ ]räóÐÜw¶-PÈc>;×zË43Ï9™˜¦…Π³T—Ï5k¿XNÏNGbJrJ,ӑs_¾#9•AN‰ž1ŒÛIü>}¤2³Ú!+‡TûcwãÈ3Ï$I/íšÚr­³ŒÖ´÷í§Úa "ßÔ>0œ¤(>³}ø¤ïuCn“cœ¡OM|â ¨XÁtDU/‰ œŒ¨ùnDuW–NT… úpþ'{O%êÂ$UjsÚ舒m²]›¼!Û.iízˆáê3Íz0Ó:Xv=™*%Ñ"U–Øn5°†¯ó4ÄL’EÓÑh_¾#œ•A£0€&Á¬iT˜Û-’c˜QÖCþÕñémr8S™‚6yk¬ÒÜ»!‚¾¢z2<~KÏ£ü|¦Îìyn Žƒ® ¤rVU‘búgÊ1îG¢Z¾œÐýˆüȟŽ7ûòyã¬ìވB fŽÿ²Xü/fpJHðcõ¦VVìøT?¬¨ÁRJœ:½Ù]]åᣡ]o0‹È‰r3so²!3»ýâ2_J|½Ü>Ça¹Ä\‰œÖî¦*ªKUoª™®88ïÈgeG8 |Ñû8bµä`)æåæuT@Œëh|äõ§mIe25Ek­¦úu=0PÚT‡IÊ+O‘—îj3”/ÒÇSÃN©pÿM+­R„ ä¹+­‰Î2 þûbi æ±2yY×OGDžU &,}ÖY©dӕ>ò ³²# ‹AÅ]ÙîÛL#ö–Ä[Ýý¯_XcîÁ1äÍ×/ó² ØÊó® ×¥¢ŸÕëÓw½H&AŠ7­ÅŠˆÏ¦ªÅ꛲*tRAn«´Ê ˜\ßdf1‚ï"Dý +¤BÅàGÓUHòÝøî®,ï(ìk#–:rópjÌp܇v@»tµ«¥ç©ì~JLWRÈw’³²#€¤8D¼+)þ¸¤&,ùˆ:ÁgSؑñµ„Þ® ·hBN"ŸÅýÑÖÝêQWâû7,Úèg6sRkíB† &Üf8ïH geGÃgõÛ i¹Éôîÿh‡–Õ¹@Qn7˜½•¥ƒýÒL¸ o ßfÎʎ€™ˆ!ê·á½3‰Þ–#¶†W隺,¸³[jQSÁuçëˆ `Fðƒ&›É‚õœœ ¡Ùë,à +ºôu ߑÎʎ`Ç[ýO´‹ÅahdSÃÁ›&j<Š±©µµÎ@}>¡Ü¢+h+ѓ4¢rфI"ˆÄtIÚ@¾ªÝ•¥£xªíߛ…&—îqÊ£ºãž Ljˆ¼QZm+CUgsޚMa–™¡4Kzès`½_g‡ +! +¦K òÁë¬ìð¸êÛ1 5þÕ¹­M=1 9{jÏ·±}L\z³™éÅÝvsÒƲîî E“«¿eƒ@cÓeƒùŽlpVvêuž¸ËŸ©:¼^Òx ©‰€Ì,büüñ/±w½ .°c~[ÜéÂn©ëväMŽô$;IÒE}ˆ/Ë© ö§Kmò9ã¬ìÎȸù©“†3h>M‘èòü{œì’ØҔ‰ÞPc*z"h“d[T‚¡¹Oí¶Ìv§–R¸ÄY Þ4½A€0ÿ”3pïS¤u›ÒüݖæîKJSܦy½òd`™Y]AµÛ<ýy†vEjió +–zf»§ßÕ+°¬Ï-¦€Äf¶€Çɏp†#Mxìµåbº5ûâÝL‰³ªtK ðy·«æÇõ¦ ú{DÕTº>“2ÒDp9Å&ƒ_˜òA|ÊLýTQ +endstream +endobj +3585 0 obj << +/Type /Page +/Contents 3586 0 R +/Resources 3584 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 3492 0 R +>> endobj +3587 0 obj << +/D [3585 0 R /XYZ -16.307 900.716 null] +>> endobj +402 0 obj << +/D [3585 0 R /XYZ 56.693 759.068 null] +>> endobj +3588 0 obj << +/D [3585 0 R /XYZ 56.693 738.489 null] +>> endobj +3589 0 obj << +/D [3585 0 R /XYZ 56.693 691.479 null] +>> endobj +3590 0 obj << +/D [3585 0 R /XYZ 65.161 692.163 null] +>> endobj +3591 0 obj << +/D [3585 0 R /XYZ 56.693 644.655 null] +>> endobj +3592 0 obj << +/D [3585 0 R /XYZ 65.161 645.338 null] +>> endobj +3593 0 obj << +/D [3585 0 R /XYZ 56.693 597.83 null] +>> endobj +3594 0 obj << +/D [3585 0 R /XYZ 65.161 598.514 null] +>> endobj +3595 0 obj << +/D [3585 0 R /XYZ 65.161 587.555 null] +>> endobj +3596 0 obj << +/D [3585 0 R /XYZ 56.693 540.047 null] +>> endobj +3597 0 obj << +/D [3585 0 R /XYZ 65.161 540.73 null] +>> endobj +3598 0 obj << +/D [3585 0 R /XYZ 56.693 493.223 null] +>> endobj +3599 0 obj << +/D [3585 0 R /XYZ 65.161 493.906 null] +>> endobj +3600 0 obj << +/D [3585 0 R /XYZ 56.693 446.398 null] +>> endobj +3601 0 obj << +/D [3585 0 R /XYZ 65.161 447.082 null] +>> endobj +3602 0 obj << +/D [3585 0 R /XYZ 65.161 436.123 null] +>> endobj +3603 0 obj << +/D [3585 0 R /XYZ 56.693 388.615 null] +>> endobj +3604 0 obj << +/D [3585 0 R /XYZ 65.161 389.298 null] +>> endobj +3605 0 obj << +/D [3585 0 R /XYZ 65.161 378.339 null] +>> endobj +3606 0 obj << +/D [3585 0 R /XYZ 65.161 367.38 null] +>> endobj +3607 0 obj << +/D [3585 0 R /XYZ 56.693 319.873 null] +>> endobj +3608 0 obj << +/D [3585 0 R /XYZ 65.161 320.556 null] +>> endobj +3609 0 obj << +/D [3585 0 R /XYZ 56.693 273.443 null] +>> endobj +3610 0 obj << +/D [3585 0 R /XYZ 65.161 273.732 null] +>> endobj +3611 0 obj << +/D [3585 0 R /XYZ 65.161 262.773 null] +>> endobj +3612 0 obj << +/D [3585 0 R /XYZ 65.161 251.814 null] +>> endobj +3613 0 obj << +/D [3585 0 R /XYZ 65.161 240.855 null] +>> endobj +3614 0 obj << +/D [3585 0 R /XYZ 65.161 229.896 null] +>> endobj +3615 0 obj << +/D [3585 0 R /XYZ 56.693 182.388 null] +>> endobj +3616 0 obj << +/D [3585 0 R /XYZ 65.161 183.072 null] +>> endobj +3617 0 obj << +/D [3585 0 R /XYZ 65.161 172.113 null] +>> endobj +3618 0 obj << +/D [3585 0 R /XYZ 65.161 161.154 null] +>> endobj +3619 0 obj << +/D [3585 0 R /XYZ 65.161 150.195 null] +>> endobj +3620 0 obj << +/D [3585 0 R /XYZ 56.693 102.687 null] +>> endobj +3621 0 obj << +/D [3585 0 R /XYZ 65.161 103.371 null] +>> endobj +3584 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F52 695 0 R /F93 909 0 R /F95 923 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +3624 0 obj << +/Length 2144 +/Filter /FlateDecode +>> +stream +xÚÍ\Ksã6¾ûW°r² ’»§L“LRÙlìÝMÕ$˜‚,”(’CBöx}š¯H¢GNS$U9¸D ÍFèïën4õ<ê½»z{wõæ[I½ˆDŠ+ïnå)NTà…Ì'~àÝ-½׿˜ÄèÒÜ,¸¤×?eΔÍå*+š ·n¿Îâ·Y¶i¾üzûãÍïwc$’²ÑvëžS®qeÕ ½3/„Þ•_õ.T@z I¢ í?P 0¯ß4Œ«êÆ«oî®>^1PO=æIETä{AĈ¢Ü‹·W~§ÞÚÀ"¢Ð{ª%·žd”p_ÁuâÝ^ýûŠ¶#AOŽH§[D„QÕØô粶¢»íÍ· R?‡¨î ‰P!44˜Ý›ÂÝ,¥ðøúÙeé?nŒÃ×¼ÈV61ä)+–¥ý¿!Ÿ¶É?É®Iï–Ö¤qÝÔt ƒYõZ}¼;˜<p/ð#úa5 Õï’  +åq…‘WouøÜGÚ>ÿëËxH ê:h³Jz¬~I˜b}ý’2Àxbz8ô E"M`l­°xðš‹_Z'9šðÎpHµNòåryä#/õxê©.wyž‡ „+Ø¡²éNr¾"‚†…$ ý3 ÷ÞÝ î‡¬4›oK³Ò»Ä‘]j]y,×»tA´a%²5n-Ú]C€-qÏùanßÊÛtiÒ¦ +‚'ÞÛ$ˆH¸l­úR†0úçk®3@%QLÎx ¢öŒ29à{úÇ~¼±xÀË( ‘h¹ÿ?ùR;l8Îu¡Á› 2z‚¨í'퐱¶ªë§- Øê³£·¬ª{uQ*‘…„aJ*Ùê´£‹;k\ò|ÈÖAÅ¿ÊRGVzkÚVYæÒÌRšœ$F/w ÄË!G°¦œE¤¢PEÏÉ"FŸÍÈ"ÇúG²Èhc°ˆô §þà”¾Š9ØZK;¨ñi½M±2È ÐZˆ±»Q­šHQMfpQ>á²!>m5Pš¸1ŀÓ6^0‰ÙšÔ ¨ +$SP£Šá YÛóÇôð>Ö?Þ£oZÍs ïÛ!+e®ñ€Eªl\iêê>×ÕX ¨Å¦,³â|`Sø Õ%-B +¹ ›¸Ì϶y–V@®ƒ\?˜ƒ?Ý"`Påúó¡[@v öô19º{úÇ¡{¼±xt²IÀ[Âÿf›»ç‹çXÜN½{à²'˜˜G“ i óg¤ ÓãÄï“,ޜK:1cxêééÀ£àÀ’ƒ¥]ö™$ÙS‰vI‡Þ|Òøˆ7ínVícØÚ[¤ä^Šˆ G$.à'6aézoï›Õ ‚Ϥ¬öñ‡„ &k³æ AT`Ît¬$‚G;Á`Ò. ¨›n¦]PúŸýÁbËF,ë?Y·Æ֖e\Ø_\b×ÓËÜÄV#càV›]Ž]W3èÙBöïoÿ¥"Š ©5â!`¶¿‹ÿ׀¯".Jy>$áœOœ„oõƐg£ RèôaPÚíU#Ÿó| cÍÇy=ýã8o¼±xÎó!íæaë _%º°«g좷F¦§Û]âlŽÍ*ÂI¶‹7ØS3ҀÂ|ÜÙ¢G'R_„RyQ<û²¦iál—äI)d¦ƒÌálN$CzÄ¥?’õDòhc ™…DŠÉw»»‘Á۞Ägn¸î<=ŸÑ‹ÞÕîòÙÀdœp%. LQH_£¿KmLõ0›¹ÜÃrtöôCçxcñèäOÂÁ•Å<ç]›ÍeüšÃ+ÉíÉ`ÇY±D÷€­‹†¤ä±mvê#]!é\bᐰÉcROÿH¯m쯇 +»˜ôöðÃ!ŝ;{¯œéBzÄ=R¡ƒP‹Å3Ö±qÐÒáÀ擳ðzä0®¿JXÿúÅiݶÌZøöG´?Á!:©ð@*€ØÇ;™ÛÒª¿*Æú¶öózûK¼÷y +ïX­"–G9LŽÓIhɅd$ ÛUµ/°£îDùóí2ôôdÔÑÆ`T÷òv—á{î,ΖØUB]¢7Ÿ-:‘ÁÚ{"w8¾~Ì +½ÉõÀÕ6î ¢ÄEϲpæÆ'>˲n¶9}Ÿô÷ºÎÁÀ¢BÒ*g܊`äÑ|0ïéóñÆâaÎ"EXGšƒÎºè倴»r 4ÜPN—Ñ7n<ñ›lçƒ³Ð0H<":ßÚ=¯,Ñ!0) “Ö7*j¡ý4ŠQx°ïìÃ:¿.AìqõÜ'*`ûPÒ¾¬œ$Ù —×OÕ}õOñº^Ïo¾¬õ §×7L^·wÜ“6W[˜ËöMçlÿÆs“ˆù}³ž PË­_·4õ^E+\‡²Zwi«w _¬|sB›ë¢y›4Ú¢ ~üM¹4/ÖÉÿ~*·Nq–®ìÃ֭·30 Bù|œ{¬~åŽ6ϸ%>óÿ&+4_!7ž—»þð«åY}Ûϳ¤no‹]Š$ýw;óÐ+Ãp.õç Üÿ%rmª¢sþIÂÊo\â +endstream +endobj +3623 0 obj << +/Type /Page +/Contents 3624 0 R +/Resources 3622 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 3492 0 R +>> endobj +3625 0 obj << +/D [3623 0 R /XYZ -11.232 900.716 null] +>> endobj +3626 0 obj << +/D [3623 0 R /XYZ 56.693 742.442 null] +>> endobj +3627 0 obj << +/D [3623 0 R /XYZ 65.161 743.125 null] +>> endobj +3628 0 obj << +/D [3623 0 R /XYZ 56.693 697.701 null] +>> endobj +3629 0 obj << +/D [3623 0 R /XYZ 65.161 698.385 null] +>> endobj +3630 0 obj << +/D [3623 0 R /XYZ 56.693 652.96 null] +>> endobj +3631 0 obj << +/D [3623 0 R /XYZ 65.161 653.644 null] +>> endobj +3632 0 obj << +/D [3623 0 R /XYZ 56.693 608.22 null] +>> endobj +3633 0 obj << +/D [3623 0 R /XYZ 65.161 608.903 null] +>> endobj +3634 0 obj << +/D [3623 0 R /XYZ 56.693 563.479 null] +>> endobj +3635 0 obj << +/D [3623 0 R /XYZ 65.161 564.162 null] +>> endobj +3636 0 obj << +/D [3623 0 R /XYZ 56.693 518.738 null] +>> endobj +3637 0 obj << +/D [3623 0 R /XYZ 65.161 519.421 null] +>> endobj +3638 0 obj << +/D [3623 0 R /XYZ 56.693 473.997 null] +>> endobj +3639 0 obj << +/D [3623 0 R /XYZ 65.161 474.681 null] +>> endobj +3640 0 obj << +/D [3623 0 R /XYZ 65.161 463.722 null] +>> endobj +3641 0 obj << +/D [3623 0 R /XYZ 56.693 418.298 null] +>> endobj +3642 0 obj << +/D [3623 0 R /XYZ 65.161 418.981 null] +>> endobj +3643 0 obj << +/D [3623 0 R /XYZ 56.693 373.557 null] +>> endobj +3644 0 obj << +/D [3623 0 R /XYZ 65.161 374.24 null] +>> endobj +3645 0 obj << +/D [3623 0 R /XYZ 56.693 328.816 null] +>> endobj +3646 0 obj << +/D [3623 0 R /XYZ 65.161 329.499 null] +>> endobj +3647 0 obj << +/D [3623 0 R /XYZ 56.693 284.075 null] +>> endobj +3648 0 obj << +/D [3623 0 R /XYZ 65.161 284.759 null] +>> endobj +3649 0 obj << +/D [3623 0 R /XYZ 65.161 273.8 null] +>> endobj +3650 0 obj << +/D [3623 0 R /XYZ 65.161 251.882 null] +>> endobj +3651 0 obj << +/D [3623 0 R /XYZ 56.693 206.458 null] +>> endobj +3652 0 obj << +/D [3623 0 R /XYZ 65.161 207.141 null] +>> endobj +406 0 obj << +/D [3623 0 R /XYZ 56.693 170.984 null] +>> endobj +3653 0 obj << +/D [3623 0 R /XYZ 56.693 144.125 null] +>> endobj +3654 0 obj << +/D [3623 0 R /XYZ 56.693 100.588 null] +>> endobj +3655 0 obj << +/D [3623 0 R /XYZ 65.161 101.272 null] +>> endobj +3622 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F95 923 0 R /F98 924 0 R /F52 695 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +3658 0 obj << +/Length 2036 +/Filter /FlateDecode +>> +stream +xÚÍ[ÑrÛ¶}÷Wp¦/ÒL @€÷>µi“6“´½±¦·3I +²XS„JR‘Ó¯ïR¤l‰–ìeI&}±h +\,{öõn<꽺úvv5})©’0à7[z'ò4󉯼ÙÂ{?zgkr;žpIG?¹ÂæÕåÒeÕE±ª¿üÎEß:w[ýóÛõ›ñï³×Ð̈́1JYY».>%6_Y[äå×Ð;ó4ôøeï"PDqíM$ UÝ¿R`PéÑ´ú`<(¼ú~võçóÔcž Húž + (÷¢õÕûß©·€ïÀ"Bííö-מd”p?€ëÄ»¾úß­#AO"Â=h¦d¸ÉÁ¸ £Aåć±½‡½÷F)ý’9¹”ò$Noê—<1D„ ⵩Ù!|K—$nÌåhW>·¿­Lzsøʔ–?Ž™ÕOÌ­M««µYÔ÷ +÷0*û¾Áõ‡¾™D©òõ÷}o2·Œ/¸ ¯Íuxh¹CyœF¶1ò FÐê:«ò…œF^™H¸€±¥~eõçò¤ÝÞÝ}>ˆÒMD .¼ss›ãIQ¾.̧¥ÿO‡«÷°“5xIîò¤² YWš-?^æ d9SÜ ´&ZÉ2_Êû’Bö‰Àã$„Ϭ·î@)²àÐAe˜•­»Ú—„¬i_R¦‡cð$äaÎî f7^uñ®FÓɈ׌p*ªýf±8I‚Çv\å¨çÛÍÆA + —ü„j˜Ú®á ZžonŠ"‹çے0qí·‹Ø–ØµN‘AÛ¹l‘ÇÙ[$J@z¨. ¹ðy™k_ªŽ¸–ŸåÚ7ñüßͯÉY9LIÜïY)`* ;0ëÛa“TÒb YM²ë¸X(^…Üíì™5ÈD‹©µd-­‡£Ö†ýnÔÚÝY<µJE!@5µ¾Ø'8’)R³F’[bÓnlƒ¨À«I}ãñS£A:[Øõ&1Òa@-ÎaÓÆÙ=`ùºØAu|‹³¼ñbÏSÊc:ï7§ö;⦳³-p#CÂY-Sbd‘™×pLÀ¹+V¸–Y|³*šÉ:½œ¬‰]h,šyÝ¢`ÆÉןµ`, T«‡‚Á?[0ÌÆÈË%ù¿»l(.¸èsP庿)¤¨ >Pá0ÓÿV·ájºpÑÜ¹Û ˆ´Év³¸'ðg³Jh WP!ˆ‡#ƆýnÄØÝY<1 +¡ Ó51~£'&l1Ar¦ÛM¿y³çÆi^˜$¹@vggý6Û¬w5Ԍ- LËÊ@øþ1o÷€SûÐÙÙð἞jkQ%Þ¯G¡Z“â³eñ¦øBÀéˆË¦c¨¬]Óò×-·s|³Í6.·mÑÁ!ÇT8:NíwDGgg[ ƒ„ué…†»TH‚ÎûMð¥‰â$.Ð ƒÊ鎟ҨҿrKٜŸ åÏC‹A¥Ê‡C։ùŽÀêêj \1I|ª+\å©Ùä+×Ô{û!*«ïËÃ1G&¼ß՟ì J•€U’‚†„úì³*IdÓBRœ’¿]¿™\›;—>!$å—’¥ÊOJ…xÁWxi²¹ÏM>ø]–¢Í6‹‹¿*ÁøºÌɇ]¾;“˜”«ižEÓÈ­§éÎ$ùjº¿=ýÕfsSÄkò‡ùhjÁùäuôä‘'B‡à¾8øòR´ŒÑû+V]á²×/÷½E8œbõ)|3\Erj¾ovvϛ>„+}¿µˆ•Kk·ˆ—q9ä°D˜£gfSô<‡£7-#·n[´Ð·qäÒ6r¸¹·øĺbfÖ¶°YυŸ¹µ)Vìc‹)En›ž[“5”O„ÿ@‚֍ôQ#E ¶n3A2éñü×;Âö»A¼»³ŒkI¨ }â³ð0Á63åùÀ*(,Ôp%gÃ~ÇÀvvOž\s¨\êÃAÃÀu›c}‚ãåÏÈÂu[l¶ÿ †Þ­l†ä¸ë__! Üíz¦Aô]šm‚œn2³­ž£Glmú>ŸSÏ`ùł-„{MO£®éqOÿ˜6Nû¼DX«÷2È«+©³­”F¯úx .S} ýSŠ>.8áŒõ¬Wö¢+Mù±¿=}¹‡Ê‹*·1¢ep½Â}‚ÐÃéÎÙþHé`³î©ýŽ³ngg[̺\y8ïÜB²ìõz¿d{cS›ÂkÁn¶= éÒö“¦þǵûaööMÏwjôÙ êûÃ!ìÄ|G€uuµ¾˜O‚âÞles´`-¢6cmjæ vË;syÞbM=³K¨@ÓÈö¼Ò=›ÄDXjÂ.;›Ì,Ù¹l§¦I!-ÐÁøj8=Ý°ß ݝmÊI k=ýc>X~›÷=ýTr£åÖï6ñS!þ ¦½+:À¨M^j¨)ÙpË ûó²³³ø¼d!xZeå/ûÃìöÔ2¾ë9{çۛs‹ _±@IÉü1b©á¨¾_ŽÇ3ìßð5¤.²º½+lš?Úk3ÉùšÈ0€ýXPBƒðŸü øoÇh@Ö +endstream +endobj +3657 0 obj << +/Type /Page +/Contents 3658 0 R +/Resources 3656 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 3492 0 R +>> endobj +3659 0 obj << +/D [3657 0 R /XYZ -16.307 900.716 null] +>> endobj +410 0 obj << +/D [3657 0 R /XYZ 56.693 759.068 null] +>> endobj +3660 0 obj << +/D [3657 0 R /XYZ 56.693 738.489 null] +>> endobj +3661 0 obj << +/D [3657 0 R /XYZ 56.693 691.479 null] +>> endobj +3662 0 obj << +/D [3657 0 R /XYZ 65.161 692.163 null] +>> endobj +414 0 obj << +/D [3657 0 R /XYZ 56.693 655.012 null] +>> endobj +3663 0 obj << +/D [3657 0 R /XYZ 56.693 627.459 null] +>> endobj +3664 0 obj << +/D [3657 0 R /XYZ 56.693 580.844 null] +>> endobj +3665 0 obj << +/D [3657 0 R /XYZ 65.161 581.133 null] +>> endobj +3666 0 obj << +/D [3657 0 R /XYZ 65.161 570.174 null] +>> endobj +418 0 obj << +/D [3657 0 R /XYZ 56.693 533.023 null] +>> endobj +3667 0 obj << +/D [3657 0 R /XYZ 56.693 505.47 null] +>> endobj +3668 0 obj << +/D [3657 0 R /XYZ 56.693 458.46 null] +>> endobj +3669 0 obj << +/D [3657 0 R /XYZ 65.161 459.144 null] +>> endobj +3670 0 obj << +/D [3657 0 R /XYZ 65.161 448.185 null] +>> endobj +3671 0 obj << +/D [3657 0 R /XYZ 65.161 437.226 null] +>> endobj +3672 0 obj << +/D [3657 0 R /XYZ 65.161 426.267 null] +>> endobj +422 0 obj << +/D [3657 0 R /XYZ 56.693 389.117 null] +>> endobj +3673 0 obj << +/D [3657 0 R /XYZ 56.693 361.563 null] +>> endobj +3674 0 obj << +/D [3657 0 R /XYZ 56.693 314.553 null] +>> endobj +3675 0 obj << +/D [3657 0 R /XYZ 65.161 315.237 null] +>> endobj +3676 0 obj << +/D [3657 0 R /XYZ 65.161 293.319 null] +>> endobj +3677 0 obj << +/D [3657 0 R /XYZ 56.693 234.852 null] +>> endobj +3678 0 obj << +/D [3657 0 R /XYZ 65.161 235.536 null] +>> endobj +3679 0 obj << +/D [3657 0 R /XYZ 65.161 224.577 null] +>> endobj +3680 0 obj << +/D [3657 0 R /XYZ 65.161 213.618 null] +>> endobj +3681 0 obj << +/D [3657 0 R /XYZ 65.161 202.659 null] +>> endobj +3682 0 obj << +/D [3657 0 R /XYZ 56.693 155.151 null] +>> endobj +3683 0 obj << +/D [3657 0 R /XYZ 65.161 155.835 null] +>> endobj +3656 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F52 695 0 R /F93 909 0 R /F95 923 0 R /F98 924 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +3686 0 obj << +/Length 3471 +/Filter /FlateDecode +>> +stream +xÚ½Ërã6òî¯`Õ"UY0A ˜=M&;ÙLev’Ø•IU’LA3©ðáG¾~R$EÏ@C+$ÀF£ß 4ä{wžï}wñÍÍÅÕê{1ŠYÀ¼›ÇÄ"ã…‘w³ö~[ü,3)*¹\Ô_ü¯¨eeš›¢4zk;¿-’oŠâ£yøõú‡å7oašÆ(¦Ô@»®Ÿ2Ym¥¬+Õ ³cÃì,T³¡(àފ¢8²óGF|qeþဩ/þssñ×ð¾‡=Ê‹C/Š1b~à%»‹ßþð½5ôˆÄÜ{Ð#wÅ> +BíÌ»¾ø鷔ð <ÑX“¤Nb„}fú`ªñh?ô~[aß×ë^ý*2‘Ûåõ‰ ´BDüعi ·)²¬XtñæwæU²ù]Kê­Xþâ~‰éÂ~q+enZ;±¶ïêâÀ=7 }˜s‚¢H-\ÏýXe«å +F?>ƒ+¬:âQ;<)ÚYª4Oäˆñ˜†|Ó.¸ !qVÁˆ“ü¨¿Áˆg-DáÀa¼Eá] +4‘Ùï>õëüÅËz_ïÒzûõr…xx'>ÊMšÉ›>½¶ÀÌ"¨&Qÿ¾ +ˆ<ŽxŒ”ð¨÷ÔQ$Ì PÌc¯”Þ¦/-hÓo'à [ Šv«ÑsáS„ç>°Èç2C_“ŠƒøÕË;Ï4~¶ª5ào‡8¨;·šuӔ¹\¤â(›âo±Ù¸ ì B§¯‹VF?Zü)J7È·Mš­Ýëon¶iå½”»â^:nͯÓ`kžŸaâ¤~D Oä|Ò;?Sxç¢z‚ìFùuUoŽp#¿|¬e^¥EîÈÛªÙv¬<³ÓÀ{Yž€Cá¨l÷ûüÐ}™ºâ +ÞíDyeàÂ9>ŸÀáϔØÙȞ ²Œ 0Õ"{Ì,KïEŸ1cß;ÊÃSѸ ¥t˜4e)ó:{rÞT*¬r“²­œ§ÀŸK#yœO,‡ðgŠåldOK +1u?@Pç(4Ž¦FŠ2Kåi†ñÜvzùis֝\ºMcCú¬ÖìïJ•[œ(Þ!Gâü³‰÷þLñžì âM€@6 veƒqv`E¼XžÖ<óÿxóÀfÊ ˜2ü’O4eZÿm²··RäU‘·¹‰á£«ªL®’bw•?ˆ¬Ú^é×W¿ÈòVÔéý !Ø û{æ›!Ó&„ǐ¢’—ß}RLŒý®…Mˑî>Н1¤1A±¾trž¦ÍGÖ]ÓhÌŽm:ùj½v5Œ»bnÒÄÈ=,/\à +Q¿p’ËÇ`IdYÑÔ'$¿iRä' ¯Ò¿qދRìdíê…]³äZ|”Ž¾:Í]m¯H’¢É§É66QˆHx°Ä·ƒxoP„(­³r4"”‡(&ñùt|¦ŽÏFÖAÇ9¤ÛœÁ\ +Úêãý”Ï6ôÎH×ø™d‹ê –3b(ˆlfx&em*W{켍ñæ½c ÞÔû#C¨{Ô¦òóîa+]3Óë_¾s4ßÅà AWDZ–ÑdŽîR€ý6M*gŽíÄKoRYÿU=±Åg±¼ðß?³!3Æx¬€Ÿî?¶Ã9Ÿ3®P;r–¥ô“€I ‹ +qÜr†bׄ…Òù$ø' +y Oð ',•x,rFÇù‡~}õF«Êk#Û.YËÙÝCzƄ•#v>§;„?ÓëÎFö·`2rr¢e_ÖØÞÉ\–¹î—¦Ž¨Šº.ÓÛ¦v=ËrÝ{ë;—èßmÜoÞýàºû¸þb”…³í¥Å8:ŸŠ áÏT±ÙȞ b—ø´«»¨œ3Ö:Ùº +­ÌÅmæz„QU5fóêù´”BóÄ×4÷4Úg"qµN·OΧ>ÂÕÞå:ÍÅ؊œ  $fÓómšàÏSùȺ+‰cDˆÝ4ûÞ1†(ʏÕK{ “qœxNÒä©»7t6Úµ|¬g¨Ñ)r QóùÎÐgÊäLDOH‘6·[#5„?ÓLÍFöCE¢a`¸øºØ§Îå‹÷®›«Vؾ°´ï¹³ËÕNqp!Geg³ ‡V'ìqcŽXdƒÉd¹¶­n• i ™§+·9ò1í8ô˝ÍCš'Y³n«¶Ó*ÙymK¶U wcË»A±ƒG]Ïm«˜Ä4ÖëjT^=Q^¥wyª€$üuSÊAùø×#{H££jô®ûÕ¾kêbébgü»)Á±êÿwd.¢|2O2‡Ä~h¨£ßhx @—¾‡~lRmÝÒP H•W!˜ÁªwU@wä†æ¡­ˆ4ßðÖ}-ÞêÁ#Õ ÀNpF[ÛÛ­é˜óbpÜm1Ûå¢å +“Å͒]Ì46ùÓí‰zØ\ÂS@•´8Û {Öª´€ t¯–*²Fñ“ņøQ¯¶ûAߕĈS>^ ªlÉèhIH²ßWÎyôL&°‘ |KLqûž€ äT^õöÉ`¼†ˆ˜©Ž.Õ²H믖”.*3_¡Q{Ü1šò ¸»Š0¥ž…¼79D,«`Øê[ÐRuT~Ë&õ²'ɑ`Óñü úO­¿“ùÊ°p¼1²¯ž”%Ì;2‚å؁³ÔúQ¡$º[¡=í훣îËMYì¦.æ¾ûáchð¿×™M— ü“¼º––÷5²2E“K|£ æû×_–€!³¹Ø·žR˜žŽ™ªs_Š0÷©É¼TŒÝÙ[x0÷”a\Ú­a“†ájøzë#¼[ßTØ Øï;½&LX· éù$x²tAfP›C¨ž.T€÷Ö½µ)B Žžé4À~ØåúæÃàN) µ€ÆV¹(ïa®ž,æ—æÉd2ýѽX^=j °qÁD҂9Ó÷Z\æ¥9ª‹d_¦Šzûiríaðé$EÕ'Ž’½ÌA’rvHR&"P†ÈÇt„…Ô¦#j>+ªÆáÈpLñÕrFyÅçˆN'xÞ–¼5Ò·ÇüÚÓª÷V츱ZêUkˆÍ“Ñ!èæ¹'Ð\¥.YfºíÈdÂMŽ¢³•M&…$©c£öÇÕådð‹¢pð™4f &= A†”ò™±Yú”.QDdockdìwË¿'dæE?õí9ÿeiM¹§û{JÀÁÝغw®·3,Ã==ó°)û(dbŒ.!ìý\‚*mŽcÜý\B»ÙvøÉ +D,¡ÔoDLü¶ƒlå'Š̚÷>HepÐÛÈÐôµ›!WæK.ä±NBô+±Ù,C mR›‘ÛœEu‚"¨@5k¿ÒŒóž6èQ:zSý;¡`ُo¥y©•KcRK+^û=´ƒ8B$ìäÅfþÇËöPÒ’©MÁ‘ÆH§†¿«Ú~“)üŠ€]V ¢ñ‘V @‚Ìö2”1-rnGƍ¨ÿ6Ãî»õt£â«÷¯GK²Åm-¹«h¶‚~ô« Ä7ɏ‚ü¿ ×w +endstream +endobj +3685 0 obj << +/Type /Page +/Contents 3686 0 R +/Resources 3684 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 3708 0 R +>> endobj +3687 0 obj << +/D [3685 0 R /XYZ -11.232 900.716 null] +>> endobj +426 0 obj << +/D [3685 0 R /XYZ 56.693 759.068 null] +>> endobj +3688 0 obj << +/D [3685 0 R /XYZ 56.693 738.489 null] +>> endobj +3689 0 obj << +/D [3685 0 R /XYZ 56.693 696.656 null] +>> endobj +3690 0 obj << +/D [3685 0 R /XYZ 65.161 696.945 null] +>> endobj +3691 0 obj << +/D [3685 0 R /XYZ 65.161 685.986 null] +>> endobj +3692 0 obj << +/D [3685 0 R /XYZ 65.161 675.027 null] +>> endobj +3693 0 obj << +/D [3685 0 R /XYZ 65.161 664.068 null] +>> endobj +3694 0 obj << +/D [3685 0 R /XYZ 65.161 653.109 null] +>> endobj +3695 0 obj << +/D [3685 0 R /XYZ 56.693 608.471 null] +>> endobj +3696 0 obj << +/D [3685 0 R /XYZ 65.161 609.154 null] +>> endobj +3697 0 obj << +/D [3685 0 R /XYZ 65.161 587.237 null] +>> endobj +3698 0 obj << +/D [3685 0 R /XYZ 56.693 531.639 null] +>> endobj +3699 0 obj << +/D [3685 0 R /XYZ 65.161 532.323 null] +>> endobj +3700 0 obj << +/D [3685 0 R /XYZ 65.161 521.364 null] +>> endobj +3701 0 obj << +/D [3685 0 R /XYZ 65.161 510.405 null] +>> endobj +3702 0 obj << +/D [3685 0 R /XYZ 65.161 499.446 null] +>> endobj +3703 0 obj << +/D [3685 0 R /XYZ 56.693 454.808 null] +>> endobj +3704 0 obj << +/D [3685 0 R /XYZ 65.161 455.491 null] +>> endobj +430 0 obj << +/D [3685 0 R /XYZ 56.693 418.637 null] +>> endobj +3705 0 obj << +/D [3685 0 R /XYZ 56.693 383.429 null] +>> endobj +3684 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F52 695 0 R /F93 909 0 R /F95 923 0 R /F98 924 0 R /F57 739 0 R /F102 977 0 R /F108 3706 0 R /F110 3707 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +3711 0 obj << +/Length 2425 +/Filter /FlateDecode +>> +stream +xÚÅYYsãÆ~ׯ@UR1™ +GÜp^²ëb§ìͱzHÕ®@p(¢„ƒÆ±’üëÓ=Ý3HVÒ¦â'ÌŞî¯ï¡ï]y¾÷·³·—gç±ïå"O‚Ä»Ü{I ’ÔËd(ÂÔ»ÜyWÿVµ*µÞ±¿zߍj á¾ëi0xó]W¾íºkšüçÏëŸ/ÿ×l¤yµã]­†ƒRã€Ûp»ô2¸= ñö(IEdÞ&yÊ÷§9L³Õ9}dàÏþzyö˙ò¾'½8Izi.Eâ^ٜ}üÙ÷v° ˆ(ϼ}²ñbé‹ L`\{Îþuæ3þ ‘ÔAÄЎr!ý„xú±h¯¦âŠå®vª«O¾(†¤jéÛíæhÏá‰ZµEc ,Ú ŽÅx uÍðrO5A$r?Ãùf·SH#JW­Zñê'ìÜüh%€¢QŽPî "tšð(ºiõ @8A®åÊbˆ‹­Ú²žvĈh¥"1VÇ«áëM(ýÕ#­ß¬aÒõ×|¾®®qA3¯†o­IƒFtù{ØOrvƒÔ_}F=õ¤h½Û/é kJïÑA.2™,¸¬íÚͯªïP'i웟,zf—î¥Å›j<ÐjA Žž`63tRG"eùÜ(­Æf¾øTý#š1¡ää¤0jêºÓÖM°¢U |ó§ ˆç>nbxXԁL…Å :¦í®ê‡§àTñ ~`ԅ¦ªÐa%f@ŒÐxÇþD\ t/ÄWíRŵ›óߣ‚΁õì|ßu"[bՏ påæ'â9L›(ˆE”3Ëþ­Ñ|’lÂ3ü&C)¢Ðº b¦!\D°N’Ìœ=í½ -¥{Ã&L!‡e’ ÓF¨º芢š­êű+eò ›sd +™Ù«ýZf+}þŽdÔøTªØHðË@3áøåÅZÆäja²ºø~cÆaóÕ¤ó<¬b0[Ê3ë{†P3-ÇĊÀüzìˆNt/M1ŽU{E›ÝžÖ9ˆÁ +Ý4Ð2Ė'¡HN:Ö\.°ä"ˆì)kBpØ}Ê0tæ¢0Q|/÷~òcßA +±½-šc­`]¯¦ï®ŽuqgbœIP'Q(L.‰BÅǗE ó’8±·0|ì1ŠîUqœ–Ê®îlTŽ}Ã1ÜT•ÅhS_1žj=”E¡¢3e{= Üâ¾UºV ÙÂy>Ùß±m› n³¯áݕgO‡š½iGÕ¶,Û÷ÝdŠT,=õà¥%‹¢„õ¬ÒŠ]öÃtŒÕ8UǬ Ì”ºhÙóˆüÂjör9êÈL¤~æfbLhÆDSEݕE áG-–J‘H¤­w± +\N_‰>ç’n)Èò\žÒ,àH„`@ëKCPŽ¢²$‘%é@¦à!Of°§¤jâP™nãAy¼‚î1ÛÓ0—!™xì¨u¯0,Ž?ë +™í”&ý< 16n3WelÈÚW[„eÕæ mÉCÑ\6‘ÞÙïÊN»#N,¤çà$¼ƒÆŠ_ƇÅhrŠü …uÚ+jˆÛÎòèµ®ôq^ÊTIQ|£zæ«q”Á ðúkx·¬l–ÚeàÏMªàFêì–BtY´&p±Ÿv½cBõk#Õ¯j÷rCPí¡hKcC…9PÜbJ`†¬`.ya4xߙ†V&Ü]Áà}Ü2ôõLÇ#ý…pn@¿é¬·ƒm.a1zàÅ^éÔX2©“MàìviD}$ N<†¬ªkh*ƒ<_½©]½‚ƒ3æ.É]Cp©bÈ°é®m`cx÷6¦ø~jKtêLønÄ«è”]kö”›0Ó@óPm+Mö…Êtß}6aA«ÄÚÅ D°| +Aƒ ã‚g_ܶÜà$¦ÏÌ ˜&ºí0!Nú¯Þ6õ·k Í+(›$ŒrÂÌ_$^µûŽø8ـ&‰zt¹_RãA•×6*b§]w:ä&™±:|à'Xü#݆«æ6ݾ‡lhø¶ü¸ §”O ú÷ؒ ä\wŽ1¾™)¸íïø +9+lmï¸ÍÇ̶yHh€{™µj4Òè@?†d]4eS',™‘‘‘ß^ ˆ›¦„8b+7ÙõÊ©€ìsãàšÔ¼õ[ºwו“qçÙá¦j«¦¨Oíåít|¹Ç|ùW`e] K¡Ú¾ >nL]Ùîêû/%š€˜ýÖÄîzMM……·a081,0˜ü…#ìÆT¯sD0˲8Õi<0ú¬bi¢Ÿ¯@þïÄq÷ôcLÐRÅ[n! Ó-³RõZÄRÊät0¼ÔY}L¬¿Óûԃäê¦QcÝl}<Ð §zœ¿]@%a¾µì’±Aò¥IÊÏmUntçv›ÖÌk̼OœÆ®.¶ª~ñCô{‡zÀ± ¾àÒGìC"_?‡ؕM:ą‡88išü‘†5ÈO9'÷‚ü¾hxn~ùÍAµîéiÆßDÅ ȘóÕ7D\Óþff]ìæöO¶•?üî6IäŸ?‡22A ßÀuÀÙ+¦U‚1ӟ«±¨¬R°Êäš~¿ 1R·môñÉÕÒ%‹½rBš®2çi¶ôóÎdÞã6…õŠÊ"×L¥H¥&Dë‰jàI_¤q® ° C‘á=ˆŒŒà×÷ޥ㻮iºv¡Éò5ÄaÚVϓqt*腧×,ijŒÊÇx 3Æα¯BßLB!Àm*|äeöþ÷N™ov``‰ïŸj,œè7 8@ Žw%ÜÁès&VãYz—£¯xòy’ø™åϯéRøpxJª¿`X±àê³êï J`žÓ›fý1áŽñùÄÿ ¸.cÄg…®Pµ‚£¥R-áÖ6Ñ=çÀ²—`MÃÿWŠ/˜º¿CÓHmËÌHyVlu)97ï^SϘj}xtßwÍRŽ(Ú;{ܜå”>—~é?ìÈ~’¿æ/ìÿÂZc‰ +endstream +endobj +3710 0 obj << +/Type /Page +/Contents 3711 0 R +/Resources 3709 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 3708 0 R +>> endobj +3712 0 obj << +/D [3710 0 R /XYZ -16.307 900.716 null] +>> endobj +434 0 obj << +/D [3710 0 R /XYZ 56.693 268.753 null] +>> endobj +3714 0 obj << +/D [3710 0 R /XYZ 56.693 240.367 null] +>> endobj +3709 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F57 739 0 R /F102 977 0 R /F93 909 0 R /F113 3713 0 R /F52 695 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +3717 0 obj << +/Length 1220 +/Filter /FlateDecode +>> +stream +xÚÕXKoã6¾ûWèh5WoK½mÒ¦i±tã ¤{`¤±-„"’Š“þúR")YŠƒ¤EªdO")>¾™ùæAºÎÖq_g'ëÙ»³ÈuR”Æ~ì¬7Nì£xå$^€‚•³ÎËù €,–~äÎ?1 B77Œë†Ü™Ÿ?³ì„±kÝùzñañmý»:féy("½Û…¼' vR4¿Õ鞓¨Óã 9=ŒWhå'Î2BéʜŸ¸jÃU2§?ž7 g¿¬g73Omï:žÅ(Ng•z(v}'+g—ß\'Wÿ¦‰³og–Nä¹ÈbÕ&ÎÅ쏙k4á4â;jÚ*J[•ØÍÃyn¬Ay!ò[vs¹ô\םŸ}6b*UéÀQ›Åk«° #„-üh¾/èVe;L·VÅ;¼ðÝùí‹æfÅÕ­çfL²ÞíÙ +l¶—„hµjnÏÞ°#ø”4aÙ)³;‹‚f02²‡Vòt›kj ¡&–^š"ß÷”Ðʌn wýË÷£Á¼ñw„;AaœXHïó|±Œ•zE]UŒKÝi؎ª¡VƒMgK˜˜ßëPÉ ƒ“GÒ/õQ +6Jýè%ÑJ|Eq¶Gg(eÛ?PVK0=¦¿Y-$+‹¿á`¹nª=šTˆìŒ˜Ýx …Á¥RòU-a)¿6612aªW0Òì^2nþ(.低­ +šÃªð­Ë+àl6r¨ÅÄ›±f ÝÒûü »Å/ Ї9žíNcĸ#½þi§¦ý¨jÑùŽ(-µS†DÖ*_`ϙõŽCP2¦¹e—åfaÔ¿/änD[S¹€›¡@â•xöPŊgˆÞ–Tx9·„†QÆ[”*º½šG#q¦|Æ@ÅüZX×Òß÷T¥XwÎY-²jx-ø @It‰78šxÏ×?¼íÔ»“%9‚ЏQèz/–|}UmyªvÒÉ×ÿ®’oüÿ£½Q¾„QA‘dÙ(‰Ù…픺‘â¦! FGI/gYÝ8 î­?ŸNëˆøñ€2Ü½żhê Rùh|Ñ{õSt¼™H°¥bwê~hïÍ- q†ÛœŒ·møÍMb”é”çòaØÉuÙÛVù9­-Šãdfg±-8.AژÞ‚ANëê6¸&òpñ¤d> endobj +3718 0 obj << +/D [3716 0 R /XYZ -11.232 900.716 null] +>> endobj +438 0 obj << +/D [3716 0 R /XYZ 56.693 759.068 null] +>> endobj +3719 0 obj << +/D [3716 0 R /XYZ 56.693 738.489 null] +>> endobj +442 0 obj << +/D [3716 0 R /XYZ 56.693 543.889 null] +>> endobj +3720 0 obj << +/D [3716 0 R /XYZ 56.693 514.881 null] +>> endobj +3715 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F52 695 0 R /F93 909 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +3723 0 obj << +/Length 1745 +/Filter /FlateDecode +>> +stream +xÚÍX[Ó8~﯈$ZíԓK“¦Ë,,bˆ)ÒJÀƒ›¸mÔÔÎÚeøõ{œØÎ¥`W#؇ªNâœËw¾sq|oçùދÉÓõäê÷Ø÷Vh•„‰·ÞzIˆ’¥—Š–Þ:÷ÞO¯II° ³yûÓ7LÑ.·Œ· ¹×Ÿ±ì)c‡ö⯛W³ë?@Í<Ð*Ž[i7ò¶$bOˆê1h¼´'‘Ò¾H–h¦Þâ½Ô´ØíeyëҊ³Œ•À'ý¦"”ú†iAÊvýŠ99óºâìS‘[¿­M[‚eÍõ'×DÈ!?Fܛ·žp+ ï—+”œzÑÿ.¶\ê î‹l?,1ÉA%g¥0Ûx®!yøêɛíò.k51e>Œe?)DZQ\êÑSKeM/ߗ:6'ÆzoYˆ L!~5Òí‚VøËí(p=“Ùö_$–ñ2:ÿB8»t¹b˜ß%‰qÊP¥Õ£±©`­ëåDÛ1¦Ž€ˆ‚wz{€Z*ÓÛ´…}à͵ÂsœD½É .¾QsIp¶ï ³[•:ÝÃ>BÒÊ@;¤—¸ý»j º›Ò«-c(:و7rïÁ§oûÓï™oɸøa>C#Æ~»¯–’€0ºÇZòNh?.>т\¢ Ip>L–f‡ú]Œ*ågQb±ï#¡!ې ׂtdwäΎ³íÖö>ӊð­y ËGb”-ãœdÒV[¥™‘óX£] +6´Äaô¿®Á}ðct҃Ð.¼ÅµnÏê +l´{HŸÎJ7L9#‚>’Æœ¾uwG¨mÃô$Ÿ+p‘äGp“ÏX5íK·:E4S{5Õ¤bµ¶˜c× ÅŠ„衪×uõÓ:œ ¹ÊW!9¥òzîW¨d.Qej¬ê îâ|ç«LÈÑü$ìÅ q»g.ñmÙÐ}IIÕÆä9ÌMŒŽ»›ƒû„m͛7æ²Vï·«ª ijÓMÄbÇú¿¯Žqr‘ÄÂÑeL;N *¢%¬à;æÚ(q µå8tN¥ÔpÌsxû XÄÉ2JmxTŽ½13Ѝ$ —•ùÈnÀÁ:ëÒÝ䯝¥AØ#žÑÄ»éOՍ~Ñ0Å©,DÕÕ³®^tErÜÌ2ØU¨öd@IñóÓò5æ‡Z{ ‡¥#¡r»P‘C¾éýg%tgÐî5ÕM‰Û@Œ¿Bˆç¼Ð‡©½ëßÍ,pפ*qf°ÃeiØ!ÅpZî:¡>YˆñÀøî—0òÎuPômçI8„+^ŽªîbID†«¢;‘Ï«6¬éjBÀpvȂGnޚÐÚq˜2ù-×ûY="}&ãIŽiP|uÚgؤœ[lSpç5·oÈ® Ô^žj9ëeùmØÚÓ|60ñì¢)®n«Î­Á,« ÈãŠ>2ЀM^Qâ +Ýåðf¯B709gÚTÌ#$+>ZގR² @(h¸Ò²Y ¬9 ã·²Óõ]m˜«ãƒy-Î> Fwü±Éý›ïƒ>« #Ttý¦AW ÕqÛÖL +xÝqØÓÐÐ;‹/$ï،f<Î÷žŒrÔddLE¸ lAsPOò»¾™z;Œ²€$±g!ÎtúÕÂƭߎÄø±#¶¬”µ#Vô¥\ß\¡ëçΒâ”k +Áà£Òvp±Æ©Ù|TŽ°:wÑS·“6)ëù•øa$Èe¦‹öŽoOgŒ|´5”"”Æ©ýh;?Ú¾EªÌÂpðÿþZ[Ýe#LxQœÜÓ·Zחõ…üdõ_>¬ÿx«v +endstream +endobj +3722 0 obj << +/Type /Page +/Contents 3723 0 R +/Resources 3721 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 3708 0 R +>> endobj +3724 0 obj << +/D [3722 0 R /XYZ -16.307 900.716 null] +>> endobj +446 0 obj << +/D [3722 0 R /XYZ 56.693 759.068 null] +>> endobj +3725 0 obj << +/D [3722 0 R /XYZ 56.693 738.489 null] +>> endobj +450 0 obj << +/D [3722 0 R /XYZ 56.693 122.884 null] +>> endobj +3726 0 obj << +/D [3722 0 R /XYZ 56.693 92.499 null] +>> endobj +3721 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F52 695 0 R /F93 909 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +3729 0 obj << +/Length 1423 +/Filter /FlateDecode +>> +stream +xÚÅXK“Ó8¾çW¸€Ã¤ ++–¿ØÚ, Å µLT [‰]ãXƒ á×oËzÄvÌ KÍΜ,ÙR?¾þÔݲçìÏy={±ž-^ž“ $ôCg½uB…‘ã%ZFÎ:s®.>ВNç®x\ ·¬Q‘ë/Yú‚±k5ùxùvþyý¨q1FI(i—âXRžS*¸ü Ú±ƒöp)µ¯ÂE~ì¸J"­?öA`_,Ôû¡Ü8ûs=û2à Þs°„(L–N”`z¾“îgWŸ='ƒo`Z%±sèVî{È_†0.ËÙ?3O#áý#{• ì…ʦO¾tVŒ·›çâl9ɈÑ*ŒáC·ùy–Ñlw‘±T :0å`O*ÄZQ·•¤Ú¡¢BÙSD+²)Ͷš4ðNЩù:/øØiNÓë¢R‹R¶¯KڅONy[׬#õ‡¦EµÓo‹’.j"ri?7ԭɎk|…ÈÕ²'Ò 5,ª´l3j&êّG:ڟ?JƍÂÇ8ˆƒx¡¦×U±ËEyœr—¤)+Ifv +¦ž/IUÐRßÒ"£g^× ûZdÖokӖÑ6zÒÐ/-å â>⊫íbxåw˕ŠzÑÿ)¶<ÕA͋4Ÿä«DÃJn–Qð\Còäíów¯Õð+)[5>e6Œ%XsέJr©G#RY*kzéø¾Ñ±9°æZ¯-‹kjSðgFº¿D ÆJú›í(r=›Ùö?œ,ã`Å*÷;mØÓ)_ õO§Äxe¸¢ôhOìY°ÖõEÜ1¨ªADќôöµ\žWbÏmY²ÿm€ž’éj…ç8ñv“ ¿ ¢nJIšŸ ³K¥:íÀ CôVÚ!=$ê±è Z€MñbËŠ‡Nvâ @wàÓíþôÃ{æ[0Î~ĀÏP爱ßÄîÆ\âCåò—ÿO2±T”ÈpÑ@î“È@zۓ•,%%ª ›åaHò7me\ŒJ·µŠq:þ6Eu ¤TmL–A‰bÕ8‘¤9à;NýÊ<·3¯­ÜgÜ®kø2©X†YnÚúD-v¬¯ñçϧ)½µí“x*s¸g‹à;i´QüÈݝ xXQ'´>Æ« Œ–± ©®G(^šrs)(Èee62ê8ئ§ÖA^Ò)¥ÜvFSs*´Ð¢ˆÙ´,xmÛ¦Î9ƒ=Ñëé7 ÞÅO‘“OV(Éï½Æ›”ŸÑoHVTµû ´wИÔЮ†×›£€nI[>\/r»¥†;D–À– ¶/¾“Þñ5gäTN•<>ì,:}ôžãò7ûªmâ9;¸ÐW¿;ãÔк$)}dûGé¼ζa{Ãdh¹‰ #H$ƒM+¨Ë©˜â#× Më”h6tˆ$͈©Ó—¯lØAÆá¤Ñ˜Ph4 •€îßZVŸ¿ Âà2òEfÒѽDŸIe» Ž< 3{˜„;?m}j™‹»•Eºl0“á¾_”Ç37}.Ï\Æú~.—(–—wi*^¡p°É¹r±'«Ê<©ú0¨k3ُ®Ð2Ôü_› +]Ó:÷(ɒVò•-ór’“¹%wŽƒ ½cCi¥F{’éwóŸ¢Ó=ÀÇ+E¡A[üØÊÀCKŒÍ”ù¸DG¿B0Š0Âjܨ(C8e· /Ž` Äóï6AËëiX[KõGRZ´»gjԚòËÜSã{ê­X}4ÇÚ ’ÏE}tÍDÖìÇ8ôVQä©äXM²èƒô^ß@¡àá)ÔÜ`f"?NîŽC+Œ¼0ÐZÞ‡u/dëÐSۂ«ÁûšVï·Û"¥Ã²ÐW>õŸnåÕɯü¦û¦n3 +endstream +endobj +3728 0 obj << +/Type /Page +/Contents 3729 0 R +/Resources 3727 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 3708 0 R +>> endobj +3730 0 obj << +/D [3728 0 R /XYZ -11.232 900.716 null] +>> endobj +454 0 obj << +/D [3728 0 R /XYZ 56.693 299.263 null] +>> endobj +3731 0 obj << +/D [3728 0 R /XYZ 56.693 270.255 null] +>> endobj +458 0 obj << +/D [3728 0 R /XYZ 56.693 215.132 null] +>> endobj +3732 0 obj << +/D [3728 0 R /XYZ 56.693 186.124 null] +>> endobj +3727 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F52 695 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +3735 0 obj << +/Length 1776 +/Filter /FlateDecode +>> +stream +xÚíYKÛ6¾ï¯ÜCl`M‹zkƒ’¶i$-šÝ’h‰¶K¢+Rko}‡/ù¥ ¶iAO¤øÎ|óÍ iûÞÒó½Ÿ.žÝ\̞Ǿ—£< ïfá%JR/Ã! +Sï¦ôގ_ӊA'Ó öÇ¿rI…é.xk:re'àÅ3Î×æãÍõËÉû›pÌc”DZ‘v-ï**V”J¡¦átìepzªÓ£$EiyÓå©=? A`šg¦ÁA¢6^üxsñ×ñ¾‡½8AIziŽQâ^Q_¼}ï{%́(Ê3o«WÖ^Œ}„ ô+ïúâ÷ ß"á!x8@9ƱRÊ ãÄ(…c­„Û彝bß÷VW“iEcŒRŒ°5ódÀ$HQ–b#ìfÅ,¦®%¦©Yã@î6%‘gÉO€×ù¦ß¨€ýñӊ7K3±eru$½éê9µâù´óIgÙï|?ØMp<¦âÒê'mÛUW:&È펲J-(‘]k+V¤YRqu –2hæ[óßÁš1€ù´,iiäˆn³á­ãÙk>VD%±[±mB¤˚”ÕÃÿ0L#”¦}®)îÓ1ÌP,sÒ”:TžðIy:BB8D8 La¸'՞¶'šg‡9蹪‰¯JB±Þ’¶4_`ΆH2g“wfˆt’³r7m–h'*3¦bE·Í-_k¬Õ×hÍ]ÜTIwýTMåŠÛ3È"âŒ&‡Ø9–|´°ük¡ú˜³ûr£>ƒ7¤RV]ý½âÄ4-”ÓSõr®¯{ê«bkÛdǛO"0Hþç¿}ÝÄ_ð¡¡(Š?éqž£ Àÿ“þ “^9^+évìéÞhž¿SÎcÛá…x¸Ñç1~ÔD¸ÿ.XÕûÃÞ~U—7{£ÌíWÛß8qöö«õí÷üæûÀè£ûç›W/¿îø^ɺºÑ%(òñç+kpuÂpCüø{çیñè[ñø[ˆñ/ê¾WÄ!߇³¡˜u <ÄÄF=7 ú^=­~ŽŠc§nZz ·ÿÞ^ÀC>G?/ÙúY†7ê%Éþ¦ÁEËk+N=¸z(!Ží8±ÇAÃü-Ôî×¿ô<ûR©,·!=5k¾×V–½ž¸Z?} ·ä +1Ááþ…ôUŠá¬A×®wMÛ[VÐÑ^þɳË!Ñ ]I¹¹šÍ¶Û­ 'Ì]£ß8bö°óþD§VYdŠ‚n¤…‡2€¬íùYí}çǾ ²ÑZB˜u5øS»zFwð²̤®½Heh‡ùÙá¡u½´iLgfÍââH=欳{7ÚH¢`=™]°†ØTùhöè$gÖ5<›[Fª‘áSè~"XÅ(Z¢C÷íni;2R.j¶¤+´S‰ ý ÀI=êÙŽäè̀óýòŸ¥KçØ~ª›A'D ^Vñv9Ó*L?8÷:~§¢aÚÇÖÔ=½×Ñ:!£ô€ž%׿LjïØU[VYŽ«7•-†8uµ€”ا¾Ÿ°¶eËÕ}|Òs5û¼½/Ê¢"bu¬|¿ïÀ`S£ù©Ç¥œ“ëˆQ +얖¬¥…|2ü+ à с'^Û¥M8{ÑqöÌ­]îkрKI©œê ãyÁHÿ]ôÕÚ©P“õ©óŠ®mû‚p@k§ÅC ôéK6LÝ +fjÌL[c+6Ÿ9û\uT)‡þ¡ˆ|ä'ù§üAñp"Ää +endstream +endobj +3734 0 obj << +/Type /Page +/Contents 3735 0 R +/Resources 3733 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 3708 0 R +>> endobj +3736 0 obj << +/D [3734 0 R /XYZ -16.307 900.716 null] +>> endobj +462 0 obj << +/D [3734 0 R /XYZ 56.693 759.068 null] +>> endobj +3737 0 obj << +/D [3734 0 R /XYZ 56.693 731.272 null] +>> endobj +466 0 obj << +/D [3734 0 R /XYZ 56.693 637.689 null] +>> endobj +3738 0 obj << +/D [3734 0 R /XYZ 56.693 610.404 null] +>> endobj +470 0 obj << +/D [3734 0 R /XYZ 56.693 541.333 null] +>> endobj +3739 0 obj << +/D [3734 0 R /XYZ 56.693 513.426 null] +>> endobj +474 0 obj << +/D [3734 0 R /XYZ 56.693 425.531 null] +>> endobj +3740 0 obj << +/D [3734 0 R /XYZ 56.693 397.624 null] +>> endobj +3733 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F52 695 0 R /F93 909 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +3743 0 obj << +/Length 1476 +/Filter /FlateDecode +>> +stream +xÚíXmoÛ6þî_!xÀ6£K²Òb@³¹ë†µÝô%ђ`JÔHªŽÿýNI[ªR ]ŠX?$¢Lñî¹·çN²­Ì²­Ÿ'כÉåK߶"n`m¶Vࢠ´VŽ‡¼ÐÚ¤ÖÝÅ ¡ 2[¸¾}ñ†I"ºå–ñn!sµùK®Ûu7Ýþ6{·ùÔ,E¾ßI»•JDNˆí6hw¬h¼Vû2Q讬…¢Pé_-A`¸º¸ì.Ž´'ëÍäï‰âm˱ü‘g…‘ƒÛµ’rr÷ζRØh­¬ýñÉÒò¹^kjÝNþ˜ØÊö£Ѳ—rì ÃtïºþÅð¸¾^¾„#'+´ V°q<ü"MI:[¶r]»ÈeI®kR©¬IÞT»ÞV9.‰$\ î‡ëCwMÉ7TÎO²GðÓF)eÛî3™w«BtWRÖòðLí6r¶¨@y…iwg¢ÞÞ´Q?.D?Î…r`ÜT™#ÚG´‚‚wË3”’u×éóA¯$y?|ÿ݃Ÿ=¿4?L癲Œ§„Y¯…‘J4\+ȱ²SeÓ¶ DôEëS–Ä`ï”/`­c’ìpF´ð´A©ÈžÑQ† &àVÒ{Û·¯I‚¡µÛí 3+u ×ÞbT!/ñAG³cçL+‰€_—z§bÊ91Éñ{¥ë C;Îjd­;ËV“Í–1 õO暇àæ˜ó11Lˆ©Q%$ߘΈE‘«N=ñ0 úŠí»EF”ˆwJ?èÐzfÙÈj7€a¨Máٜô›îà 6 ªy«®@±ýi랱Ž*XÃAãôª{®)cµøónºÕg¤"ü Á°Ù×'ä‘VXâ¢í²Ð“U@©v/4‡SÃÕ^`IÒðSlª怄Á¬QI1pZZÀu8åÞxz˜v\uck7n$Gº·Ö´n=Ùª{›éóm“üRe,d›:#hnÖ/×7ë7?®o烤_W-D~^óÁèµ/tºÆ§X)íHoÞnÖ·mDë¡D‘œŽy¿<Å ït!$¬¬) š*yÑ`߉ %Ò$(0:Žù RCÛ`Vˆq¬X‚'Žõׯ„Œ±ô<£ûA:ÊU(_3NÆsR»ç#þ¬I‡î„é† 2¬€KI)N1Ã֞hј +6†ÆgÎÒFWÕiŒ‹›L f2wÅ-žÞ!2ŽëüŒòàÔ¼Û÷ò´,´‹bʒݴW££=.é |Q¥pV‹5¢ú^—‚™3ӆÇc„hN×ð¦Äªî¹q{ñçæÕۛÛA ?¸f F’ßg^%\~l ¾ü$R?†Ñ[!ÏžnVrœˆ<'rÞr.»·m—~ü›Á×Àæ†òF^,䮢§#ô¥ƒlx—þ,/–_€ÐǾ-/m01ú”OËÿj+n +endstream +endobj +3742 0 obj << +/Type /Page +/Contents 3743 0 R +/Resources 3741 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 3749 0 R +>> endobj +3744 0 obj << +/D [3742 0 R /XYZ -11.232 900.716 null] +>> endobj +478 0 obj << +/D [3742 0 R /XYZ 56.693 662.341 null] +>> endobj +3745 0 obj << +/D [3742 0 R /XYZ 56.693 632.895 null] +>> endobj +482 0 obj << +/D [3742 0 R /XYZ 56.693 579.152 null] +>> endobj +3746 0 obj << +/D [3742 0 R /XYZ 56.693 548.764 null] +>> endobj +486 0 obj << +/D [3742 0 R /XYZ 56.693 326.269 null] +>> endobj +3747 0 obj << +/D [3742 0 R /XYZ 56.693 297.261 null] +>> endobj +490 0 obj << +/D [3742 0 R /XYZ 56.693 150.92 null] +>> endobj +3748 0 obj << +/D [3742 0 R /XYZ 56.693 121.474 null] +>> endobj +3741 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F52 695 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +3755 0 obj << +/Length 2042 +/Filter /FlateDecode +>> +stream +xÚÍXK“Û6¾Ï¯àm¨”…ø–÷;ÎڎíÊî¨j·Ê΁"!‘;$¡ðaÍä×oÝàyÆN|ÈAE¼ÑÝøúënqçàpçŸ/¶W?‡ÜÙ°MäEÎvïD‹b'>ócg›;ÝËJ¦\­½»T/;lîU‹¾ ÉŸTöB©ìü÷úÝê·í[¸f-ۄ!žvÝßU²+¤ì;= · 'Û#_ßD1‹½ÄY‡lÓýIƉ{…áEzãÅ«íÅïŽçŽpˆE߉7‚EÜs²úâãoÜÉa`Á&qNfe턂3Ϗ ]9×ÿºàd >³ˆçm„µPöð b¡ˆP(BØ]Îǵàœ[[=_­ý p‹ã¤æÔÈ`”Ž=V²–MŸö¥jpm+ÊÖ¨½ëô'|7mr«Ó'»d0œ ÀbøÈè­7Žmý¢ýF/}_º*Üö^U€4™-ü˽\…¡Û}ù$p@y‰O6%?Õ,´ñÜíëwËó‚ð½²ÏeŸ–¹FjG'*«tWÙaÂðÛ²½!ýe凮êä IjOrו½œ{Íý÷¡W?ÃÛM\tÚ`È#œ}|~uu[W‡¡XöǕÇytÅã«\e; àõj­}íÞïÛ3h?âqës÷m-¿Ï¼×RU6´- ŲUUÖ oNCÜR< ãE:J¼GÌ5Å" ýúúוÂ¥îO²:å3ûnùP¥k$3ÎÐÑ"o>¼¹çK` öy­Gº™èþYo®N:ôªlryû„5güMyn/ÁÉRŒ¦‘Îo pcn`£ižÛ€j³|^‰Ð¥ÝúzݽE‹ÂRpòBåNŸdK'À×°¢&úý3'~­ÝaA™ã&Ù¶ª¥£€çò!“4³»ÃÑL¶à- Â0~7niTŽßvÒë{p§q$ÝÒRි-˜C÷À+áÔ>éH U\§£¿C3ºÒíýÐdš¨à}ס»ÿY:øt²‰®ºu*ý@Njfqf_ÐÆ}¹‰³¹Ë›²ÞÉö’¶¶vÔXØxÿÕï'Ñs‚ÈƨÜöp³)Èå^Ÿ™U3“ˆŠú|㾡=ªÍe‹»Ì«Â²/ -Í¢=­(”#±žaïœ[ÙÐõª.ÿÐÀ®!z­Ò;{K H™ÚPñ≯y¢:ê×2„N9å>Ú³—‰†I-47%xø'Ï —X XÑ×ՕñÏüv=¾ »íªÇ ÈT‚o9ͼ»æö?{Ü^}‹hâë{ Ùh.Ê¡¯¥¼ƒ39†/X›3ncŽ3 äèÐÚ2Á°éè¸Ç¸«îӃ\” õqËk“cfvÖ)HæØ®îN3UJ´³¤tNÏ@?ò!z¦¬þ%›R¤K¾ÆK¾…%dÓ¾O=¡ù3î‰Ó,ƒ )i=ˆÝ¦جÃ~I; ”͘ˆémñÒ8¼vÑȨ†+ÿ‡K^5ÈA ;?–Z¾´1éÁ#_"Ï‘ŽHã#Òø=Ò̽¾þ‡ œ|c¦¸‡ŠÅ3>›/¦6O´ÇÚð0÷åÂfØå'”ûèWÊƖɹMMˑrÆ0å7gbV%?H¡Ðç,7¶|­’È·5>ì>Wå¿Tu Añ|]0? +Ÿ6ÇLÛ¯ÓÑòÛéY¥ ’€ÅqdAš}IF?a~8Yö—,úz>¾7ÇÁ÷]~²#H?š¿ÖŸ¦C”_²Â‰‰ Fœb‹nØjۘY˜=¶ÑË4e°Ì"Sê³G‹$ËW:¢DßAãk[WÕ‰äEÐ-]jхŽÓ¦¢`q@¶þÁÌèÿËg2 ï5|/¡.3óŽ‡É“qõY¶Uz<ÚGÐ)?ŠC&‚„êÑÄ ð%eÌ¢$x"‹½>È^M©âT¦ŽŽ¥šéÉÛ^6V _ûÈá÷~ä®O€TÙ &{³ůNèenHò1ƲR.hË;K[¯FÍÿÞÔ%“3ò˜}Gú +bƃïI_/ï8ì…·u¦‰nè\CYÑTw×õ²þvE‡t€–~ý “Ó!%4¹mÌ!rîñ€3mþÌßâÿÊnK +endstream +endobj +3754 0 obj << +/Type /Page +/Contents 3755 0 R +/Resources 3753 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 3749 0 R +/Annots [ 3750 0 R 3751 0 R 3752 0 R ] +>> endobj +3750 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 1] +/Rect [489.208 664.578 561.28 675.481] +/Subtype/Link/A<> +>> endobj +3751 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 1] +/Rect [80.603 654.68 119.866 663.526] +/Subtype/Link/A<> +>> endobj +3752 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 1] +/Rect [102.521 633.32 422.322 643.218] +/Subtype/Link/A<> +>> endobj +3756 0 obj << +/D [3754 0 R /XYZ -16.307 900.716 null] +>> endobj +494 0 obj << +/D [3754 0 R /XYZ 56.693 759.068 null] +>> endobj +3757 0 obj << +/D [3754 0 R /XYZ 56.693 731.272 null] +>> endobj +498 0 obj << +/D [3754 0 R /XYZ 56.693 338.81 null] +>> endobj +3758 0 obj << +/D [3754 0 R /XYZ 56.693 310.424 null] +>> endobj +502 0 obj << +/D [3754 0 R /XYZ 56.693 183.57 null] +>> endobj +3759 0 obj << +/D [3754 0 R /XYZ 56.693 154.562 null] +>> endobj +3753 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F52 695 0 R /F57 739 0 R /F102 977 0 R /F93 909 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +3762 0 obj << +/Length 1600 +/Filter /FlateDecode +>> +stream +xÚíYQ“›6~¿_Áøå‚À€ÉÛ%iÚˤI›ót2“äAaÓ‰"q>ç×wÌ¥Î'y¸±v÷ÛÝoël×ùåìùêìé«Àub‡^è¬2'ôP9Kì#?rV©óñâ=e”Hz9÷÷â­PT¶ÃLTí@mÍâK‘<âKûðáöÍåçÕk3ÇÅAОv«öŒÊ-¥JêeŽ%H}-}F(ò–Î<@qdä/C80Z^Ãp¼ë`'QûNcºž“g?»N +k ZÄKg×¼Y8v‘ç‡0fÎíÙg®A â9ðZÄ $öðEŒ°¶JáùvŸóqŽ]×½xõΘÕ0ð<´ íæ•,Œ‰K/¸Øå|ÓN%[Â7â-¹ô܋»K\˜kJy;*Hjæ”8ø¡‘ ÊdãåE‘6¸‘‰ ýð-}%öd™ó„ŽœŒQä"܎«64Љ9ŽcäyŒÆȍ?y^0xoü;Ò{‰áÒªt/Ù3)*u9cF4ZzD”ªòu­hûÈÅ®ÔRC¨Gj'æ€iÕ>Éz-a‡Ý.²Ú4ÂkÞ*7Çð‹`ßm]–y*WŒ&MÊéÇÙkrGfWæáwZ1û@xjfo^¾™™9c÷aµÅ ÉÔæä6BÆ9©Í¯É†Nb*xû›0"¥ÜsQÊ\¨JP;úänÎ¥¢$BûW-Õ¤L±£UÏÈ¿úF–“Fæ)›lD^3)¬W{è͒'Ofã­/ô܄ßVۜW–F¬9ÀóQŒq{Àu–ÑDœ]ýöÆhýêÝXý‚ð’l¬KD­ÊZK^0ÑÅëº6‘ˆƒÀó}ϼ²Zø"§LP„Ùó*'ÆW×fן Vëº2gÞÜÌþ{\û××iJÓ ' "²T4£ºA¤V‚‘5eíBI*R´Ãœ‚íƒv‰|sË¿H†®-ܧ´}Ó•ØYBÚ3Gª6±QàF E Ã&?5+º +.Þt"Š’QEÙ¾]Úƒ‰ÆöÞ¼¸ƒœ"eiݱޏPV4¡iG ð7Ñòp„Âåâ9ð=%U¥‹ŸÑPQ°•¨Ik¾Š”ÞwzTmE:™)]Œ´56ío0õƒvúœò ËåöÜ5Yv¾&2OÎOIo©)k…HkvˆÉ¬‚! ô^Q.sÁåiKÚª®¸åTCªk(4_æk‘îGd¢Äè ¨…ÜÒ{ۅ˜ہ‹boÊÇ©°ðp¡&ˆ'7¿4‡0ªNN†­ð„Y¦¾#šµÕ0È æÇ> endobj +3763 0 obj << +/D [3761 0 R /XYZ -11.232 900.716 null] +>> endobj +506 0 obj << +/D [3761 0 R /XYZ 56.693 759.068 null] +>> endobj +3764 0 obj << +/D [3761 0 R /XYZ 56.693 738.489 null] +>> endobj +510 0 obj << +/D [3761 0 R /XYZ 56.693 229.998 null] +>> endobj +3765 0 obj << +/D [3761 0 R /XYZ 56.693 202.502 null] +>> endobj +3760 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F52 695 0 R /F93 909 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +3768 0 obj << +/Length 1670 +/Filter /FlateDecode +>> +stream +xÚÅY[sÓ8~ϯððÒ²Ó¨¶“8 o…Â.LÚf€ÙVMe)HrÛðë÷ȖäKܔîtÊĶ,ÛwÎùŽë þ½¾¾›…Á-“8 ®VA£d,¢ šÌƒ«<øvü…0‚y9ŽgáñG¡‰ª/WBÖzcÏEöZˆëúæëåÅËW@Ì8ŠÐr6«O»Ô;FԆ­Ì2H‚HO&Fú4™£y¼Æ3´œ[ù‹98_ŸÖ?Qœ˜£·W£Ÿ£Žƒ(˜%(YN‚ù2BIY1úö# rXÐt¹n«7‹`…(ž$p͂ËÑçQh=Þëwöt‰¢0©uúdzJ‹þv÷{ú¶4g,Ð4YÀBµù,ÏIþrœ„á±*·[!u}S9Ô\T5’¬ˆ$<#—Z0œV/l±ÄE}Iyýû=œ…_á¿èŸ«/êG˜[1ï> …B”z[jÔ±£gû¸V|-Q2ŸÀö˶ÁRÜ*g1¶Ï°$•®Ñ$B³p¢Ñ|:©7ÿU­h,‚ÖãL[F4a»z}‰æóÙÀÆÊö¤½SÜÉðvë‘îzØJ’‘œòµWø ·âhŽ’ÅÔú+z}!XJÌ×NCMÀV\åà0d&9¹ózDoD®†@à1’mZbê õ5Dž{|DøšQµ9²B…}œbE³£çEÒGrkuyÉöb3Ë» ër§ WTpõûJGOœúÀ‡m>sgL“¼UŠªeß²Lp-cÞ`xÊD}/V@'.K8Øl³Lð¾8M5s Çk¢^¹3â ZFÍ’¦ˆrNá8e$Õ$׬‹­÷+kàã_DŠ¦Py¸æd…K¦MÝ:±ªUUÉ[ÒE·ÕÀ‘‘Â[DѝSé²s>ÇʁÁÐéO‘Dù”¼»-e"»îìªÐãEÖ¾²Îæ¤LBõЈÑ몄o„|¼×~Ç/-a¾qÑ®b\E÷>sýÅËRK{ezy×Eµ‘½öcÔr]Ó©nœ©8Ty*}«Û>¢V£ž9¥jò¦mÅ #VUûÕ}<4ÝÊâ€Ù ’²R¦Hpäó$èXIQ´ÕªÄôtÛB]¼µbódt`Õ*CÁ}læW6 ¨ö(rÆ¾îK¢ÔCJ6•º‡½ß‰²KCzâ÷ÑãCgëB©´(è/¬©ØCK†KE<ã!E·‹¦Ä%\ÆJhÆ3ÀcÐEòtç ó´UØZ3úË9óm%³Ë•67é÷ªp +¼k¿2ž¡º5ç`ÍkïµX8ÜÌc˜âÉÓvóZüWÌ\m¸Á’b_2„cmªÏñɝbú9+âKžÜ ¡þݒ‘¹‹Òå‚Û¹Ç؜îVxSçÕ\ŏôPԀúŠ5‡àۘè½ꤎñ ¦Ì Ð‰ùs¬ª=_8÷ÃøÓTz;{v£¥=g-®¨´¡Sª‹¼Or=ä§[hB=‰,+o +šw©Y”Dh²´3Ê´?Ü̃ÖcÊW¢G9êêºÇàZ֝زÓôdwqT@òåCV·ÍtšwWŒ.pÛë%”;G[b¯ô´L¡UùÎEƟu9õKÍ͙ZÍvnxà +®¢ÏV+Êh«N{>ˆ´ªêÏ âsaòp¯ìmMŽ•-5S¢o ±7_Ȋ{:æ €§ÛRn}§¤ƒÁÞ[°0aꝍßS¢ãÛÃЁ#¼ŸÖÝvÀë>µNz:KÒ¦…ïLi¹^{AJ—«U¿­Þ:ò¹&F*Ýb®˜·@ÛÕÅ–×ý^Ãó^10vþÑùяŒ¤€â‹rÂhA͸è A3FöÙ0€È>/hÄ4„%'⌫[Ò¥mÊD±wÔCSèÕ§7ÖÞ7Lx> endobj +3769 0 obj << +/D [3767 0 R /XYZ -16.307 900.716 null] +>> endobj +3766 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +3772 0 obj << +/Length 1575 +/Filter /FlateDecode +>> +stream +xÚÍXKÛ6¾ûWèP v±¦õ°$«=åÑ6 6E›u€I´DÛìR¤JRvÜ_ߑER–VIÛÀØô˜’Èy|3óÍp}oçùÞϓ§ëÉâ§Ø÷2”%aâ­·^¢$õVA„¢Ô[Þ»éÂVd6cú‹ÐDµË­íBïÍÇç"*Ä}ûðûÝíìÃú¨™Ê⸕v§OŒ¨=!Z5ŸA{à­@{5ڗIŠÒpåÍc”¥FÿjÓÕtÑþaÒœü¸žü9 @¼ï^œ $‹¼4 Pâ‡^^NÞ}𽾁h™­¼ãyg飏Â(5óî&¿M|ƒ„ÿID¬ìe†?imz†ñيáqû»ø Žt2Vh™¬àC A]UBêÙ<ñý©»ž òy{rdàØòÚÊ+"•àÿZ|mýßÜR!IÖô@-ñŽ ZRÕ~ÆL‰vuÜÞ®ò}Íï)ZèA`Ó8ëYEhéG­â A}«½wóÀ‰/ènÏàŸ6R@þ†Kä/ øk›ì[Á˜˜…ñô؜;¿Ê÷˜ïlyìñ,ô§‡YO͉ iœhV%.Ì;-º:ëî!¬–(M‹Ýþó–¦K†Ýœ «CQž“A©(õQЮe[ਏ|‚ºÌÒ³ûÙ5Rï%§šbÖÆQõŠ`k^ž¸ÆÛuÏÙÞ®JŠÄ%£ªù¦Ð—¤B2š +¯1¯ð,ð§ þ'ê3ùý|(sw£VÆ>Š‚+æB#er!ʮĒ(Sé[!4‡ÖÒ>•XÞ3à… ­«Ú$ÌKîòBï±î‹±G%éµ CÞ°£ý~"º—Œ¤@ÊÅ/À7f|¦\i ±Qý\ÇEÑ ´-Ù<,jFù½=c6Õzß4ãfm]²uf÷˜„¶c…Kb!=™“ÆRbÊÆý0Dœª›vQPU1+”•Æ õ-ԍÂC¯Hßw¦õÏ("Õ݃ΑYrü¸á{.ø·^—"mGoæ IÙ<6༽ `‹«mrBY”´té}À¬¶I¢Æ £ášæ6âZ à»`ӊjƒq-Í)¬Aå¦Ö€áùùUm ïE–Ú¸sðâ?à_ïK.¨jžë&›k¢ÄÎ oȖ»w\o«ZVoºöÁ.W•>œž¸%R’HÄô¯¦¸ô.©`S¸ÐT³ÑBpµv3°Y’R¬t%¬OÙÔ»S¤t½Ý«ôhKjG8Ј³‘ò1 \[yµM­† IFx1 ®ÆOˆ‰zÜ¢|RÖ;NŽL† +ÂhI54D8Þ0»­Â0L˜h¾4¶sÁçiÜ}ïÇþ?M/)È×LÎÀ¡SÓ5¡1ì±µ -™w\kßÂßè6! •ØÃÐ ‚N^14¦ ¼k<»ü¤ÙÊ4êÇnŽ/¹Íµ‡Ùx㪶ïÃJ/8ÛU W5—¶%˜…Ò¥™þ¾;i/˜¯)ߊpv¤çý0ù4#PÐÇr˜·fXºò†“òd)ÀX]BŠÐʶúg¢:Éf²u¾°=ã–ì0ƒù„æ£Üï)ƒìà7nÎÝÕõ\ÌX—;nØùúƒkK¥}'8Q™òŒ —@/c¶1 ’&æÀèî^õYâƒî4~¬è í"Iwp|gÅ<ǜ6V|·ZŸÔ©€ÊŽ±­rï¿èªŽ^~EM‘àRý¿ïŒÕ§lŒV(Š“ëÝÂQx½Ûâ‘K¨*Èúœ ˜ÃÂ.¨›h;y¹È!`í’à|F¹‘t$ŽKžùz­ ÜRÎ9ç@1çgPc…È뎬 s©ŽÎxÙÚgD=îüö¶*.G‚|D¼½(œ+߈Êa&uq Ê?D×ÕÀKZ6$âB~V``ù¨ W_uQä͟ “ë×·ƒLVÿ”ʸª Áu·1:º6Ç\ZØÁ¸S×NŸF3ÐÏ÷VTqt"~dF}33µ;ªžÊÏÏN&¢Ãiérº|0Ì Fºòà"d‡±ö¦â&,uyWéD:)PQ{âzæýc&òûÞ©~öŒýzé#?ɾäïÏÍH +endstream +endobj +3771 0 obj << +/Type /Page +/Contents 3772 0 R +/Resources 3770 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 3749 0 R +>> endobj +3773 0 obj << +/D [3771 0 R /XYZ -11.232 900.716 null] +>> endobj +514 0 obj << +/D [3771 0 R /XYZ 56.693 694.564 null] +>> endobj +3774 0 obj << +/D [3771 0 R /XYZ 56.693 665.877 null] +>> endobj +518 0 obj << +/D [3771 0 R /XYZ 56.693 612.177 null] +>> endobj +3775 0 obj << +/D [3771 0 R /XYZ 56.693 583.49 null] +>> endobj +522 0 obj << +/D [3771 0 R /XYZ 56.693 276.351 null] +>> endobj +3776 0 obj << +/D [3771 0 R /XYZ 56.693 247.664 null] +>> endobj +3770 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F52 695 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +3779 0 obj << +/Length 1466 +/Filter /FlateDecode +>> +stream +xÚÍXKsÛ6¾ëWpr²f,„ñ•['m:IÓÄ:dÆÍ"! P@вòë» Š/ÙNÇÓôà1@ØÝoß·ël×ùmöj5{þ6t¥‘9«ù(ŠÄ P;«Ü¹¹øLÁ™/üнø“KRéᆠ=;óòŠg¯8ÿ¦'_®ßÏ¿®þ3 ÏCiêݮ呑jGˆ¬Ôk°î9 Xe}Å(ög¢46ö“6Œ“‹çúŸçGjáìÍjö}æÁö®ã9a„¢4pâÔC‘ë;Y1»ùê:9¼Ð2MœCóeᄞ‹ü ‚1s®gŸfn Ø¢ƒDˆ¼Èsâ F8ÙøÂ!V‘ ’S‰ýF®åŽ DJ¼f$ÑDlÂÕaGzá»Í|¹îEÉËÅ"ø¥žòZîkiÆæ“ÎæÁɘ~‰(Hi?/ÍçT2²Ç[•5§Õì9­ö In>*¶*\ؑJb³¥ҌK³…rË>Ôa =±¡ª0§\ùÛ ÝÖnN6¸fžy—g¢îbDGƒpꊖ[ã_7ŠI 6"Zå·PàA"î 5[ۍ~€RS!kV‹5â%jóò$ű¼èz՘¸¶'¢âe獩—Ÿ)Œ^U™mUmMå¶=”Ía .@<9ã±Nf½ß RU9yò¨.dÌüÈk”˜¬ˆqñ´©ÓÓ¬®$/è,)K†ëÊZL’¤AgMìyËX“\!3U;¦xTq‘|}´%3®˜pºb• ãfô‡óMcÓ¸{Ôÿwç-(ª¼æ·dL %ÐJÕ§œ{)¯»ÖÔBWKÓµZøÀî~®Á3ߌEÃÿ¢OÐ2JàE³øežÛ˜Jr0ž˜2”F ÀJTmzLé \ ÎÇt^¦`eédæTµÍ`KJ"p›+,xݒÒByhžçysV:§Á@>a~œ€ÓF]²£Ó9XxÖíÓá½?“: :‘ÑÓ&ò;P$F%© © O8L`9`oZV—™ÍƒEú™v㙞}RžÈâØÉVyâË2-šÙŽ2Èoy_2_–ՁôQ¥²8Øꡖ`õñµ‰÷5ãm=í±Ìvzè…nêzÉ9?IÖ.)1UõžÐœˆnU½®…Òcvì“;Î¬ü¾úð~LÊJÉ»~M¸²±|òöãx‡½à·´ËËÿYy¾+©¤˜ÎR¬Ž¥Äw†évÇàO¶¬l¿‚¶PČVê]5 +Âw áÃ´E $òµ#^„’Þ"çfá¹*ÿóÌpfûô.€±¿DAdXÙÀ†3Æç~xqhU2è°¶öΰÃsN×Ü /̊5bnFÎÍ3¥žöbÑØîÁè%KǑRžq1ðáӝq»9¨}FÅ.òôXèëNH×S׀% àjâOPŸq¶#-çü` +ÃmsZJèÃ(ó@SÉ.ö¶*ð7²¡vÖ¯úÇ×økiôƒ~K)躖V(ˆì7O“Q]Z„UEÙŠ‰“x¿?µ1«["ÖÐÉ%NŸ‰ê“ *L ¨ìÊJ•¥}óì/-_¿HUÏ8:•$¸ÎáuA*褕­µø®b“$›šïTîì‘ÉlÓ²&ʯ_VÝ·XPÕ>¢~‡ÈÀa@š-8à„UïŽì‰)X¾œ>°mJÛ%N)¯®aO @ÃA<)æçŸóE°\Z¦œVØ+ö­"PCùö?6ô+5PªÕU#R¶kÚߌ g<èÀ¤Ù\ß«Œ ^ª&¢clC-2»˜± MÒ}J+.j‘ŽQ+Ü B%ÅýzætS÷x1<«Wî=z5~w ù±Îá(ÙÀ‚ÿk±ßð ÿ¼%Z.ßPúû›úYq K¢ôßüªø9–œ +endstream +endobj +3778 0 obj << +/Type /Page +/Contents 3779 0 R +/Resources 3777 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 3749 0 R +>> endobj +3780 0 obj << +/D [3778 0 R /XYZ -16.307 900.716 null] +>> endobj +526 0 obj << +/D [3778 0 R /XYZ 56.693 422.8 null] +>> endobj +3781 0 obj << +/D [3778 0 R /XYZ 56.693 393.792 null] +>> endobj +530 0 obj << +/D [3778 0 R /XYZ 56.693 222.03 null] +>> endobj +3782 0 obj << +/D [3778 0 R /XYZ 56.693 184.411 null] +>> endobj +534 0 obj << +/D [3778 0 R /XYZ 56.693 136.655 null] +>> endobj +3783 0 obj << +/D [3778 0 R /XYZ 56.693 108.27 null] +>> endobj +3777 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F52 695 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +3787 0 obj << +/Length 1622 +/Filter /FlateDecode +>> +stream +xÚíXÛnÜ6}÷WyÒ^.©û&(Š¤MÚܚ4vI¸ãe-‰ªHyí~}‡·Ý•¼vÜ -‚´O¢Hg4sæÌP88 pðÓѣӣœK´Ì¢,8ýdÊò  1Šóà´ +ޅoXͨd³y”â𡘴Ï¢·µv‹?Šò‘çöåíɋهÓg fNZ¦©=íD]ÕL®SR/ƒv =‹µö$ËQÁࠂ50%Ë"ؘMŒ¢8ƒqœýz„'ðñg'KDpfmzE©±Â‹ïæ)ÆáêbÕl§x¥gLIزY”†;O•êùjápPÌNIí ³ó=Nqov_¬¹T¢¿šeiˆW5C]/:Ö+Îä1ìÎóðÐNºít:[gԍ%«ëØŒ„L!VHZG²@IVŒ£YŠVõ¢®y{f£N»ŽÑž¶¥ƒ„øhŸÅfŽ·öùä•Û;¨nPh‹À@L¬ž—¢âï1ŽXuö|‹U-Êst)ëc‚âäÌ3߁þ±VÁ<Ádºp¹a+½BöDŒ;zÆÜq‰—2"rqG·ItÙhq>€üOuèã—['¸ð‚VnnÏxNíðù,NC!Ùù»sY=ÎoGøÉÐu¢W.á]¤£ørÉEëøaÃÕÚ1ÅP׃Z{Úhiã@¢Qß +w¦hë«ýͼåŠÓÚâq†7Á#&×á?ðœu=Öøïy Ø! +€DòtièÁ;/ŽQ»P“ESç Þûùôå G{ûH‰±óý©'ԏZÂpÇ6ÁÊ5mÏ<¯©æ‘‹IC'±bÌeUC+7§ÄŽ§n`³nR$(Ï5!ÝkÕÔ,Œ2pñ›Jáϖ|›êÛ2@PŽö¸0ÅMAb x؃Š$û §7]äAgV¦°‹“/»l »øFØýÌêîèe_ôև­L1ŠÉ„_œ"\Ü~Þ,tÆZÖSÅoA?|ø¥îH–!—öÙ +Wæu2¤}¬ÇYhVhwÁÚsÃ÷›e7â°Ø0Úº“Ôš*;ºƒ]-ikg„ÖlýÞ÷Ü8BÛ œ(ôÊFLWÉ^4NjP6¥…Wºgû ¤Ìµ2ï\³YûÐZ{`àáK¹óˆb}#}VMé_íÒO2æóCu÷‹ÍfcŠÔ0TŠfÑ «]D' œ/H²¨Vmu‰t8¾×‰ô]¬ósÜ.ܒ›:„ ?˜ƒ‚F´>‹«`–ë¡=GJ”AO†j¡ä¸2Ž\&ܙ|nûÀü©qÉA²y=‹HuËòuWºî&ãÅiöåÈ&Š‰£»‘Í7r3cÊÿˆÿÄÂÒE„–„¤#º(Pá9™ÉÂý\Ð4–$>›ÓFžp‡=¼ÖïQßîþA¼îÅï¬TF³ýUПvðÆØ 7UBÍÿd½˜Ú·—Ò:_lÚsÏ×îImõ/ò€Cë #’~ª¼ÕÞØÕ5öÓÉo¸ÚPå»Ò•ïNݚ ÷uÎ1xÉ! +‰'Woe¿ÿ ‡V•×͊õãtÛ2Ž1Q5ô[/ ÖC{ì2|7Š“Û‚˜¤î' $˜XºÎ^i DK7õ´Ÿd»N*\]C›DBn: Xktïæãà̈́† `  x9Ô´Ÿ%8<¶»Û1ȝ vŸÕ㔤aÍW=5 /ÛÙWCUvzå–×\¨›¨ï9×n÷wŒÏk.x¹»k+_,ÛjǨ>¤£Ìpw¨J”ƒ¬,@ ˜Wîš4(Bb8[ñ·(ÙђÍ%T¢®Ûjj˜®Ù\6×? +»ïù6v×6¹ß6m5þððʼnO¼jÚ1™´˜ôS m5-ËýqزOxšN>qbXéÁú‹­+ ã¦à…ÙßÞ<Øç =ÁPå ?Ÿì9)‡oŸš$dŸååþÝö4÷\òßÛöPæm¢‰x™¡.N®7UȚ(‹ýwS‘Ü_ü> endobj +3784 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [173.304 230.848 208.492 241.752] +/A << /S /GoTo /D (dot0) >> +>> endobj +3788 0 obj << +/D [3786 0 R /XYZ -11.232 900.716 null] +>> endobj +538 0 obj << +/D [3786 0 R /XYZ 56.693 657.341 null] +>> endobj +3789 0 obj << +/D [3786 0 R /XYZ 56.693 628.975 null] +>> endobj +542 0 obj << +/D [3786 0 R /XYZ 56.693 557.382 null] +>> endobj +3790 0 obj << +/D [3786 0 R /XYZ 56.693 529.015 null] +>> endobj +546 0 obj << +/D [3786 0 R /XYZ 56.693 409.63 null] +>> endobj +3791 0 obj << +/D [3786 0 R /XYZ 56.693 381.264 null] +>> endobj +550 0 obj << +/D [3786 0 R /XYZ 56.693 284.688 null] +>> endobj +3792 0 obj << +/D [3786 0 R /XYZ 56.693 247.711 null] +>> endobj +3785 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F52 695 0 R /F93 909 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +3796 0 obj << +/Length 2305 +/Filter /FlateDecode +>> +stream +xÚ½YKsÛ8¾ûW°<©*‚Ið\Öã$oMkvw*™$BË|(Ûû뷁nP¢,'NR™!4î¯¿n@¾·ö|﷓_ç'g/cßËYžðě¯¼„³$õ² daêÍ ïÃ佬¤Pr:ã±?yÓj©°¹j;lè Ÿ·Ë_Ûöü÷ê÷é_óÂ6³ `yãjWú®’j#¥VF »^»'¡Ù=JR–ờÅ,Oiÿ<€Ólr†Ÿ€'fâɋùɧ“–÷½À‹–ä¡—æK|î-ë“ù^2P€EyæÝؑµ>ãaíÊ»:ù׉O–ð´ˆ[;ÊYà'¨ÓGÎc«…›æ}˜Å¾?½nײ‘ÐeÛ !Ú~ϧq<ùcþêí{ü-šoßýùþò·Wsü©äÒL&+—´J-š­X;Û·½Þöz¬14hÍ¿¢¢ê·Û¶Ó>tJ7kü½ìÚ­Û¸»>ÐååÛ³wÏ_~]“ø{4ùv¸Q· ­~º¶%€²–>Tì')õÑ÷ÃVheÀ{ྲྀ+=œËEUQhˆ…› ï¶RýT•œ@Â×}'Ÿh*§A<¹õ&|r¶ë›²l А.-“|"´îÊŔû“^ËzºIk„{kÙ±t¬fŽ´³rÔæ:#B³ltKêªäJ;až0“;)\¯ÒRÐR6r[Ñ4¨ üªûjf¹*cQ’ùJ—[gße[õu£˜:£±˜ÊqìÜ᪭ªvÊãÉÍPåȅԢ¬$y¦*•“…l6¢YZˆ«7ž¿»$}`ÈÀz#h‰0¾ølÌIê,¤X¤ >UÂòü ä G‘†¬ÏF@fähç–8aȲ„ãùƒ f'ð9m]Cl ßïs+,À#&É× 8:íãÎh±B´{ïö²ˆ¥©ÉvïåC:† ã½a?dA8/Yò1r +¹ó¢8ØáVUO¯§EóÝC©øº¬²s¼P`p ¶¬¥Þ´a´‰P™×mQšà”ÅÓé, |2͙Ineq;kÖ ´x0Ž«Íðó¾… ƒWZÜi´æÞÑÝVà¼áà÷ÈÏ9Ò ‘qP±Á=Cö¸ïÇ(d~˜¹ŁþJuüJ,d¥èèaú̑‚ª~¡K • ÉÄ#Yÿ€Ý¾ÂÑWûæ*]WgÅbE ´p2G"ÇM„¹J2VÛ²“…¥©û†MõIîÆ6½Aގ÷(*­Þ`ëÕüõï”y½‘s's~ȤI@ö¶6z:cÇþÈØoÚ*)lÿgš™T­6?SÇáÿ¾" Û@èA±÷­¦ ‘n§yÀL.,™£J˜ø­ç"MÉûHáåöü͟Dz(h #gé_Þ]<ŸF¦‚`2Ÿæ!4‰¶—¢W{4º#µeÛW{Š]%Ü]÷Ûoµ- dPçêB@Aaˆ¹Ð…‰ÔŸJb`ãûѦ,†€éä +ìÙÝ=DYÃ@´-œ€}êK©+²ÓVt¢&:K9óó‘=.WÆ Áä²k±õя}›'̏B®L2}¥¡?€Z,äé¤Á[ž`cÔ4nì¸ÎTMN´€:Û4ùä´.§ÁDAJ\Ÿbz‰v´Ý2$-YôÈV4';CÀï¾é"?f c»Òì@÷ÆtÆñl:‹}—+´W’€J> +š¦mfÆ\Orª[c\Ð Š»p:%f‡Z©Wnv·êÇö¶¢Nîrb'•’”Âý‘Çß¼5¡6øçylÀódr×ö؁Ë@ +ù¥´>#~*)8OÔmoÃDG]ä\ŒåP2 v•”¥9P/àÜáf R“ªhY¶!j+­±¡Ë@ìØYT¹n,,Eƒ‘ówèuùÌÏ¢q¡EÃîú+œ_ øë³)HEÕË/fNX3{lhg‡v%J±,üËñl`¹aC3Òˆ-E‚Ý Â†1=HããÒ۹؟l{Õxý£:ßÖvÓcO?¯K(åeei¨6¤Cl[—zóýí|¥MÞ ƒd҈ZÂoiI `²ê\kò qÀ¨í»%µ‹vÙcZ3SJ…½ÃP-k(«ÜÊu'I°„{&ñ™ÅŠ‡ÜÖø“@ŠƒˆX“I©ñ»ê`úM×ÂÔ.¦&…Á˜q‡«?Þ_ÁØ3JS7Æ^Â06¡Krw±ÂÞp\uàâ;‹ÁÅ/DW•’æàÈNვé1UƒùêMI=xe2-ÈôæÐabCَ²& ã¡Ã úÖ­`Ó´4h+ôrƒæ  A% mwcptü@Èù¾Í¾#cþÃl[Á9WX4ŒÞ4ÌÁ£,‡Û©Õ'pܬðGÙ@½÷©à ýœœ ñ)ªe_9¨š§ïBµU?L=îӐsfH¿æT 7Ɓ²³-ŸTY ©Õå"£ŸM\ØY—ëvG@S…Yv<ˆð§ |Nù¥ð)GTÅ°e|Á´àˆ•\j0g˜f“K%e­°Ù.ŒŸ>—mO+5ø€RÊ )…°‘w¨3öÑËÇ<Ò¢%h5UÖÛên Ÿ˜wB+¤5ùÁùì“Þ¾Ø>Aa·¡ZvIÝQ +C›ž7Åa!àN¾WH[dµÝõ8±ßroHÿŽ ðÀîfžDô½§ª]iª]ä) +é%ÏÁý…TK,+¡Š†äªPäžbÆäs–ñýôZ—jY6p¿½±¹ÙcŸ¡÷Ž©W’ +Úq¹í4o‰%„­LBÅN1mœš.ÉìÙ0VüÅáA¬À‡óîՌ»Lçh§=,œ‚ãzQ+òFPˆâüK€gîr8¬Êô†Ñ¥®œÕâ–U²YC/¦ïÐÎŽf}<>3IÖ<#qÒ¼èïOû» øñgòÑRôð2³½ýðŸ-jøˊBù¢j•v@ýÒ½Þþ@­”äü[/§£·Œ8y6Ö⠘dgpòq€?Ú®Çþ03…p’Ïÿeÿ<€‡ +endstream +endobj +3795 0 obj << +/Type /Page +/Contents 3796 0 R +/Resources 3794 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 3793 0 R +>> endobj +3797 0 obj << +/D [3795 0 R /XYZ -16.307 900.716 null] +>> endobj +554 0 obj << +/D [3795 0 R /XYZ 56.693 595.527 null] +>> endobj +3798 0 obj << +/D [3795 0 R /XYZ 56.693 567.142 null] +>> endobj +3794 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F52 695 0 R /F93 909 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +3801 0 obj << +/Length 2025 +/Filter /FlateDecode +>> +stream +xÚÍYÝsÛ6÷_ÁéK¤™"ÀïöîfÚÆÉ¥½¦½Xéu&éDÂb’ÐP-ÿ÷·ø¢HE²e7é܋ˆÏÝÅîo‹U¬‚0xuñÝâbþ2 ƒ)IƒÅu”fAŽ#eÁ¢ +ÞOÞ²šQɦ3’„“7B1i›×¢³ µv“/Dù7¶óÛÕ¿¦¿/~63ŒQ‘$–Ú•º«™\3¦¤žî8ȁ{iîqš¡ŒäÁ,AEæøfùdn?˜¤zãÅåââ¿ȇ’¥EdFiH‚²¹xÿ{T0 ¸Èƒ[³² "¥Ð®ƒ«‹_„NáIxÚqp˜Z™>’)ü¶àý, ÃÉ·UŪé,J’Éßv²þZ±fSSÅìP3ŪÊõß¿šõ;¤„›¢7SNÜB©:¾i%v`+é²6“ñ„J;FýZÚV´m¿×+Ø.7fê‰nx»²]±U¶Ñ[M¯Næo^õ’ióå(Nó± GfŽ,ÇTÀCA& Û«:>%Éä)N&¬“‡;y[ÖÛª'È݂áÙtŸÖµmMÇëø~£k4^ënÜYõ¸Å؞î'QñaHXõµ=Y)šF´óMžc[J3ûù‰—kÊêaª~±¾j¸Za2óú|‘ä~0½Ù6K¦}¬È&Z¢Õ¶cò98ëŽÂ9ìÈ 0°k•ÆŠ´íëN4ÖÏÂÆÏbiœ'ê¸ –ÚJÖ‡È'1ŠsìñkG~Í:­×"ŸpÇ¥ö»é˜tggµ:8-Ïâ„èí†ÿ( SÏÔ¸Q¬Ct«DM—¬>"URᢗʉ &€«r²„ÚŽ÷bí—Ñ) (ð#xe"P0‹ÃåF _ەÆ]H‘:,ɤæRٖ¸¶S½mìð­×Ï`ÓhI:iî$œ’‹­¬ïì˜R´Sý6ÞÙñvÛ°Ž*.Z;µÑÛ*^òïzví1ÍÆa¡”‚’#ŒcREå øïµ±ä6>!g(Œ£~W±PMQ^ôðE ín¶¦Dåbè:CI‘Ÿ¥Mé×æ82½Bœ©®½S¢}z@Òº4”Ê5¯«Žµ¶§ýüVG:«šJî# q›+4ÔÇêåGV*9†€ŠóÉÊꢊ¢Ñt†z^8üÊ8ïª7×Òv³žpŸ•}Ò´wÑq&ìôϖ¢míG@9É{ÐT‚Éö™>«ãYŠVQîÌ!7¬4ú)mߐt×àkÚhTöרзñ­?'5ºÀdBªÃg– $ÂgÙÅ~œI’1>àÝ µÍ§ÄTÉnFÚE¸%P–FÞDQ„r3jÆ8GäÐD8]îk%OyD§ªÀãԁ~ᓅkáÕaƒ¿Á;mW>ïu7ƒI6ìȒyWhhŸ{ˆ}âM¿çóeYí±û䄌œ¤ûRx’¤ÃDÒ_ÈRm»³y;:€81aŠ@,F÷ƒüjˆìßhMÝ9 ÊÎqÎ8Ê\¦âÏ7ßi"$›£òÉ!^µ¢cÚU¿ÌÄÉ©åK­ó-D´kꇗ·ËM't˜±|LŽ÷‘¶mùe$ÝÐ{ÝÂkv”òs ü‹^O!ٕ_FìÅ4‡>< ?—ÀC¨œKsvÌ©bôëc ïzð2Þ|Âi”M¼ÑˆrWỐÌÓóÝ“º>¼bGi]w8Ë5:^:|ق–jëlºwì=Ýö—ü»·¯$8Eû7 ²ÄƒÚ÷Ր–±ÊeŠîÆ=+À((H§¬&éN´iZnj?äñ#ísfºM÷^þüÿæ]‹cV…Gwœ|¶ô"Ÿ—Þ}[颀Núsb¢¿†[ŽFF=v”·•Å…ÕŒ”浪«'`×ÁJ9i»·¦^ôjîkœzœºÕp£mL•Ë°¦n­.p8f“yœ¤aj-ªçºSc¾â­ó6½\—ÈÖêcž¨gj7>«zq-æº|«ݬ]ù÷Ìãž3O}bnôÕÀT_*í_™kXìæ×B([&9|d&ŠÉ¾*aêÈGªŠú÷eÃ[Þlπ¯Öʗ%2p%@ëCjÚ@PLm7NKiø—{nŽ‚À"æþÉÄî–-õ Žþ‚BÆÐm…xÞdû +#nwF!Ç ðÀZÓ$™8Õ¥|†âöÊ)Š“º!_®®±Üøת³ÿ[ƒú†îØÿÀÓÔºcnÁØ'õˆÕ†„ƒ%…‘Óîp뽓ÚÞe»ª¹\ÏD«v¿‚KF +³¹è]K7{×z¦õ+‡{,£­ì¹ìÿw8áýãÛÎý›á{Ysáôú#×ÅxÏÐ\ƒ;†ÆúZ´Í£¤ßÉèþìh’ 0yŸbptQI¸6JïÎQãâܨçKŒù£Ðw쏺8DaZ<åºÿZæ» +endstream +endobj +3800 0 obj << +/Type /Page +/Contents 3801 0 R +/Resources 3799 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 3793 0 R +>> endobj +3802 0 obj << +/D [3800 0 R /XYZ -11.232 900.716 null] +>> endobj +558 0 obj << +/D [3800 0 R /XYZ 56.693 538.461 null] +>> endobj +3803 0 obj << +/D [3800 0 R /XYZ 56.693 509.358 null] +>> endobj +562 0 obj << +/D [3800 0 R /XYZ 56.693 306.166 null] +>> endobj +3804 0 obj << +/D [3800 0 R /XYZ 56.693 277.78 null] +>> endobj +3799 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F102 977 0 R /F52 695 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +3807 0 obj << +/Length 2155 +/Filter /FlateDecode +>> +stream +xÚÅYYoÛÆ~÷¯ Ò ˆÆ³réEÒÜæ6m’¶±€[ é%,ÂG!G±Ý_ß3)ʔ%Ç°ûÄ!g;ëwâè2ÂÑÿÎ~œž¿8ÊPÓ8š.£˜¢8‰RÂK¢é"ú4ú(K™7r<¡>(-7\ªÚ ôÊOþWÍTêʽüyñnü×ô¸fBʄp§]èÛR6+)uc¦áv¥p{ÌÌíûôŽ0 ž¥Ñµ]¹ŽÁˆ²ÆetqöÇö’À%Îæ"8v4}¦TX*¶èÓD`x£}-ªCCz¢áVüæö;)A‚´‹Ð&¿”¨Ú®AXc!F^;4«HNЎ¥ ÉJƒ²´Óû~s-g0Ay:Õ¼]oJ¹ +Œ¸|XÊ\oké^jùe+m^È軌SA¹›ÑÊ=óÅÂÍ–+% ‚|»`w.$£¼,Çd¤ÆTŒ®Ý{ ]#+îe^«¦q+j¹”µ¬æ²é¿ÊǏ¾Ž‰y†s·ÁÜîUÉ02FÚÈ}…ã㚾¼§ÅɓzÚ}à¶çn;èömÞæïòµVµ2f2ŸƒÏùó܃ÙÌ/˜Õ2÷Ah£ŠJ7Á9Ýs[—M‹t1J$áø™Æዞ¯Üð;ÀyÐìcn p +$ʽH <ú/Òàî‹ ÷«œuïμùm7 øÕa×\Æ5¼MßuFÆ1 MzÌ9­Ãæ^9ײ,½R\Á¦ñÐ:ÙcÎmñdë|VÙ1Í rv[éªË—ª€+楏^w…#na5F0Âqv” 0ë¬Ã»!܄¤ˆì:”60„YÚ!g­6 Ú"ð”k]3ÃÊV{>LÔ÷𰛦ÉqM†ûC¶ÀžÃ¤‘B ä'fQmF|°ò‘YbHg}¡æ3H™=çœø4qÀÈq¼›^ßÇSg6†®<ªfštÝ kEå¡c²võKN³ Ñ$鯆3Æ( ‹^™½‡w߬„Ìàg½.ÝÈÐvóÒ0ÎLøw[lc¦›|íG;ª1¯×+YûÅ(ÄÖ¥=¤½„9ÙÚC‚>ÌËæòºXHa­tn´â_[úÀڙÊM*7"Míe­ÌÂPC-¤™šŸd¶Â‡@ê\®T¹CiL#ÆıÊdWyQنÅ­<ܵ¶å@wrór]盍5OKã ˜^ïQJ”]çÌj˜ºf\]æ·P*%k1Š;›9K£–Ø’ß2iíþôû‡C#ö¨·¤ =xلs`¥§ÅF´Eµ• Ÿû0)«lã@‹¡ëF˜œ8@mÑ%s'÷nœçùØ)h‡¥+ð= 3Y7a9 !8}–‚¡’;¥ëpÍ7d_X@EÓÁ«šõ¸cDvRõlüN8mÿ4UÕª,ÛL\B́r¢MxíÓ³×ö™šìC½>§¦¾ùC ˆ§â¡mnšíÇ;ÅÁ8ØWÒ/E}å«¢_Ç BC#¯¯%žÝmËÙ¯ÍÜKÈœçÆ^Ýā0'Pý´^ ՈÌã Q¿Q~6Ç-iCý†oMhY\nëAŒ¢‹vqĜ¸ÃäËÐÉâ2ƈÓø&Í?”¶púŒv 7npPûÿ31C€}˜Ñ×&_ñâÿZä½êx1 ?bœD~xA<õÒ ÷‡A×Û¹!î'ß3äšÄŽ“û;F“¶YtbÒs8~Ðá’»Ò¬år^æMs¼7a£–M³ó?Égãñ^¹ùÖÀ[J}Ÿ7%£¯—ór+Ý÷ÁzêZ3z eptѸ+UMþ–µ2•Ù]¹‹¢”ävð%ÿ;…RކtßQÚ# e‘Å|÷÷‡_˜ŽÅè•/„æa÷ÏÓ÷ïÜ~Pí¤p1'ÞMýÝ¡þ·ª Àǧü¡é]+eÆJɐ•Æ~ÆDúþ|wÆïÊ2?e¿6çA˜­¶ÐÍÚUá «÷‡÷Å|•ËÒâ×Ú ˆw (Uû¥ùÐ/vîÐßð‡ý7tgÓ +endstream +endobj +3806 0 obj << +/Type /Page +/Contents 3807 0 R +/Resources 3805 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 3793 0 R +>> endobj +3808 0 obj << +/D [3806 0 R /XYZ -16.307 900.716 null] +>> endobj +3805 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F102 977 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +3811 0 obj << +/Length 2352 +/Filter /FlateDecode +>> +stream +xÚÅY]oܸ}÷¯db xhQ))E6I³ÝÝ8Ic-ìƒF¢g´–D­>b»¿¾÷ò’š‘#gìEí¾Œ8$ŏsï=÷ò›…·øéèÕÅÑé[á-–H_...Òg2ZÄ<`A´¸ÈŸ—ŸT©ÒN¯|á-ßë^uT¼Ô-ú­m|£³WZ_џŸ¿;þíâ˜fÅ9K„ ÑÎûÛRu[¥ú›av¾ˆavà졌XäNj•`IdçOB0Š—§ôà¾Äþ~qôLJá½_Éd,¢„3éù‹¬:úü›·È¡ ÀÂ$^\›žÕBpù„r¹8?úç‘g‘ðîEč&Œ{’ÖôÅ÷…Y…{mñy%"òv¨³\]Îz̓ÂõKëÙÁ$,=p}>¦mZÝ3˜`a8¦‡¾z»—!Ûb‰CD¤¶®è©&Kkª¨t«¨ +‚ª(o©vmëò¢ËT[;t®·ÊõÖµ";û2a2”Ó¨Run£2­ó;Q©¡d#¦·ÜuÇÈ^—`LûæÜç/C6†-:’¼ß‘ºÛZ7Öcx¾ðO_ÎLì³0ö]|R—5@ž_gBTðÄu £[Ä¡dƒ}œ×àO‹;”w(ìᎠ4¸#™Å(EeË,-!¾¤Xž`¯d Õeè4=•¿Ý] ó¹Ûފ¢/Œ“~b£Ï‡Ùúa'LìÆ@ceºªÒU§ÐA‰#¾, ,YG†šj(û¢)ýƒpíÓ:£Í¢gCZ›ckGÏ¡£ñ<3¾£R;Á¬ý|0 î·3 X¤½í‹¾œÛKº Gµ“6@O>d»B]y‹‹2XKdŸšV£ªUžvÛÂ/ˆCxє½lgKZ3ƀwv<+m†¶àšsµÀЈízO$úT­'Ž!©'‡¹®µð ;¹$é=åý˜çdV¹c­HÌ[4Š˜ìE¤‘mE}©gp’¿?f±^ӭʨ(–Æ0Ĩ·õb~N¹ ìæ¶-6Û~.kžùh—4(ïYÜ#ŒBɼpä#/g•‘/ÇumH¢{kdå8^^l)`PÈÕ1—ÂJR¦†ç”žÑù®/Yl֞ïîrÂwÈ?€@'¦¦  ¡+ÛdІçGÌËéPZ=¼ÒÅ]•Ý*ԐÀÓüü=¡çLÈzU5%NÇn*t]?~F× 8bš}¡Ñ0o÷õrlµëRgW+ÐϛVut^åè[,±ª¨‹j¨è-7LŸ®KŽj’HèÚQ} —;ú 8±*ôß*tNÓC ´ªÉ“8öü I;îR7œ©›žÖÑÍøÞ*ô9)Ÿºš'Þ²†müGµlïÃß·hgÜ=¶¡$ħe7` :%Œ°O#ã°ÐB4»ÆK7ÄØJ¹ídŽç¹w´èÔk‚øå#·¿Ä4Šg‚¾yyzz]\,•¾U fåñrs +N´iÓf[dôæôO Ü×x²ÓMzú2®ßéÍÓdjR¯@О˜oMrWýàôHžÏc/kE.õ-ž"fј‹ -deÚÍùEÝùÃ3 ú5 o*-±àz˜€À +8 €SÜҟYÆçQÂÂ`?‡ß»8ÞxbŸ!qP"/,a…$M3Ÿc3˜jù¦p°èÞöÏmMa+zmI€ý` ;µ†¾ºVY:tÆqAê¤xúƒ2`¥ – –5wãu½ëâ*Ú(ÏOø”ö…¢Ü«/6µnÐ9ý©+ò‚]Ȓ=éSc¸Þ^cîHIPl;ʧ`ýcPnI?ðPr8€Ú~–ÿ ­d•'§rÒ%…7é±ï-¿âK2U•Ñùsm*vp(]ˆ< ·ÑÔ.¯ûOꍳ×ùA´KXÔ¹º™ƒRU²'«é*Íqœ¹ƒœóuǑ k՝+ò;£4Cõƒ=Œ™ÐO;7¬«‚Ãj +y`ÔÛáhO‡^ùË!ò©1~èǧ¢ÙnYÔ³!ñ7ªå¹ƒ&¨äxä}ß(óìnÓg:g±CiàáU#£æ–²8»¿F½o.Ù»¢›¿ò ýdÿ³¹Ð¶(s8|Ø뻯܉曯 ï:Ž +Jb²EÙ:DàÁ÷ÍEìóä¤å9NËçÖ±f`ö!’ny:KhÃ¥ãÇ+§ÕÁ}ì÷.8o{â Fï8¡9I!Ó¦iؽGIk§ý×ql({ +Ê܇fóE1ù3ߙÿ ŠÍ6 +endstream +endobj +3810 0 obj << +/Type /Page +/Contents 3811 0 R +/Resources 3809 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 3793 0 R +>> endobj +3812 0 obj << +/D [3810 0 R /XYZ -11.232 900.716 null] +>> endobj +3809 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F102 977 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +3815 0 obj << +/Length 2872 +/Filter /FlateDecode +>> +stream +xÚ½ZK“Û6¾Ï¯P)ªv ’våà؛d³ö&ëQ*[eç‰Ðˆ5|h hÆã_¿5²½»>L‰ Ðýu÷×Í g·³pöÓÕ««g?Òp–¡Œ6[mgŒ –ÌR¡(™­òÙûà(—b±$4 þÑ(!íã¶iíƒÚ¹É×Í懦¹³_þuófñçêØf‰1Ê(µÒnÔc)äN%õ4ìŽg)ìÎ"½{Ì”t¶¤(KÜþI<³˜0ýë¿®®þ}…A|8Ã3ÊË¢Y’aÄB2ÛTWïÿ g9ÌÁPœ¥³³²šQ"1x.g7Wÿ¼ +&³ñ²ã áÙ3} „šSøŸÍÞ/i/ó\äöþµX<Ø/{ÞòJ(ÑÚ;c8£¹t¬7ÈRPybŒè;!ö¨%WŽ@EÅo:´…×ÖðdË î‚1(Ô۟¿mòâC‘?‡­Sm¦gfw$ju †À/`Æ?>ˆ5Là0v3;U•£ß¤ÉéŒûUÆܔ•ÏîðÜß@«à~i0¼ úX•zÃ<œb—fmÅkûüÇnÁK¹+|™¢˜R0èƒÐ§Íò–ï­¬ßëbÓä®rÏ7îq³ƒãoÀ>Û¿ÿ…„a¸4/Êûçà9,EæþgLYUçÍf ®>J}õ(}ᅁ:¥èI ýñÑ-Œûuæ´Òc;ì´õKÑÞqûø÷EDƒFŠ»¯WÖ¯µ?(+ÎIm/퓨ìgÎÁã0 ªe?šõíš;)BµT 6;ÐlN4\œbw <îE-a9>Õ->¯ÜmãԒŒÔò¶³ŠRï®*-ÔßT…ú/°tsØï›ÖÝ,[}~(•õO½c'Q¦Î±K¾å„“ E÷?¹ÚŌãx[(QŸ|œáµWj  ô£e!m€… ¡8Í. ó §G <³Á#ÇF-™›#s5ïûãÕîèçO呯 â÷O¢-W:*Ä8(› /¦Om›R„ÓԛMªglë×hûÊÁ1 +q‡‘wb+ëf/ ™÷ȏ¸Û¶Øڃ֍ýäû}ÛìÛBßàt+y†øŸ®>ãŐQç¼VVü¶9°ÁcQÛOÙڍ@àŠa¼*!òH;ñ&˜DÚìÔjW88’ŒBº£ck‚£Ö·.WÜ&ûµØñ ƒûÂãD<&4Jb'ÝEoœ>-{8g¨$†ÌØyᦩáJÔÎÍ +ï”×9=–j?¯Þ¾9rM€è²Ÿ»Qc¬p€Jíþãþ²”͵³¨#Q€k>?H±äJµÅZï}Pb)H}?¯µ”hJ:EØßL;ܔÕ1¢ÆN5¿çv_“ø¢,Xƒ;ÜÙ¡[ç&îdg P +³L¯ªÜC{â ПÀk Ã‚ßZä@ÑY>. œnÔÎ$8€=šÑg”Æ@×Ø^;Ÿxê¦OýpCg&ŸìÊÒϊ‹×;È%>Jˆö>ÎÊ᷁VùùÃ~Ì6ÚEà£ÁiGC8c'8>U^LÁzxwf‘WäDB/²“Vlë­Q®Kd@QŒÝ<óˆþ9öóiôqô:“Ã4ì5Φîœq‘)h´‹u.>^JÇ:¹sê:˜œrI˜ ‹ÊåÕ¹gtéï]³þ7Š?*¸ÀWS«¶‰ +#Jà„Ñèæ¨>T°5’BkXy©ãQer=% ‡ÉXr«cùÁ"Ù@08zdÂåÄ„ ôx ÀCua‡¥Q< {Š²È¢(#Á`Ù,­eã0DÌÔUÃuŠ°c`¸POADõš| +{i·J»d!¤O18_’]fãÊ-#ÂFþß84yþª]`Íð*,ôŸš|¯†zf>©« ‘ž7K±1ʝˆ{!¡¬m¾°ùWoE—ÒáÉ°=Ú%÷®´í +›áõ´ÉðzèÇ_;)¶"YÆIæssDpP5Z€-Ûò£Û*¶1iAOYqLk¤‘Ž a«Ýg´§•C×aöYºÁq·®/^˲ô%::3SÔw&çŸn „-ŠÈå-!Ê0Úmé£$‰®ÙÅ(y„Nìp;Ñq ß6ýíµg íG¹H‡ ‡JɀÙ[«N(lšuyI”¢ç•}é,Ð-r<¤È¿Ÿ+¾.56Î4á èýÔÄ©X‚h€hGÈ&cA1í$­ô±.åS[ï9wҖ¿i|š¿=é+:µêx ‘,{‰<¬ÝÙå8—é!;Ö×CÞÑv㵎Jz}‡¤5$ é£ùD߂·ëBµ¼uWÊæöa'Í?길ÅH’±Ë½Çn'ßíN¾¨Ë8õ?=p“e_ó/=ÿÈÇA +endstream +endobj +3814 0 obj << +/Type /Page +/Contents 3815 0 R +/Resources 3813 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 3793 0 R +>> endobj +3816 0 obj << +/D [3814 0 R /XYZ -16.307 900.716 null] +>> endobj +3813 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F102 977 0 R /F93 909 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +3819 0 obj << +/Length 2596 +/Filter /FlateDecode +>> +stream +xÚ½ZmÛ6þ¾¿Â@¾ÈÀšKRï ú!M“»ô’&—5p=$ÅA¶è5±²èJT¼î¯¿á›$Û´w›\î“)’’ÙgžOî&xò·«ŸæW7¯c<ÉQžÐd2_MŠ’t’‘…éd^N>YŊ–Mg4ÆÁ¯B²Ö4W¢1 ¹¶ƒ?‹åOBܛ‡ßnßNŸÿËÌAyi·r_±v͘lÕ0¬N&¬ž„jõ(IQJ³É,Fyj×ϘfÁù!4Q/^½š_ýqE@<žIœ $'iNP‚éd¹¹úô;ž”0@QžMvzæfŒh˜@»šÜ^ýó +[Mà³q²£œ˜=}¦4Ö»p¯M>ÍbŒƒeiuÂeŶÅt¥O ‚ôi#%9ͦ!¼¯e¶¼d‹ÂÎ;ØA˜¢$ÎÝ<¤Õ:#8C”DЈQœGfì(ùgŒ)+˜ÎB¢¾é·‚$Ûl«.=lªk‚hjv73?ł5Ò´oe±—¢><ã,CQ—CrPatYo`)¶aµdV#_¿2g„æ4]ës8‘£C€õK9 SŠƒ®^®Õcˆ•é®Ù”ÆÁÎtn‹¦Ø0ÉšÖ ~Æ1.¤l¸yY23­‹ƒ!b&Éu!M±R²Vl)ÍHÅ[ÛÚ6¬…’‹Z©3õ ZTby¶Ø‚º8k¯=Wæ…YgTÏÿd¥~zÁI„â8ë/ø²èY™Gé¡_‰¦dÍÙb°Ýô© D Êàz¿jëqü¸ U±`•G …5óܳÁ)XŠºôHN0ŠÁÛñWhà¾O¤l ­¦àvEWI³ó[Ê¿pÑ5¦KY±úm¡p2 bpxx¯ëÂÂm-¬k.«Mk¹.ê;ç_ÖÚ-Þt  ²Åçe×Jw¨ ÙJÛñªrâÌï¦Ó^¦Z¢±}€û¤Ä±l5ö ò%@¥~À—VáKBžC?MU¿öRîýYzÜÿ°c È3; {ۛ±í!}%c#§¯Ì|§—ã——f%x}Ü?udr·çãpî”×N$@Ä·}‹Ñ¿ðæ¾0ÍLÃ8-»¿Òá7€tD1€Ø9þ÷”À©DÓ3,‹Ú4X],*f;á|¦µ)šûÖ4¹žH‚½vÕSŠe§ö`ž{ó p-y}7HBZȏÄô(@Ѝ‡)‰¶ELý>HV·ÊÈ$àN‚Û-Í×Kf–ÕäÜÞÔ)ƪ·ÁÞyÈRÔ²UÕ{ÜÞüŽ ˜4À +* pÚLŒ±Ò1Yˆâ(qóU4K¶RE®kŸx!€SébµúÄg(†7O##ߜ¦‡ÚÃu¢¥$9]gÇK¹öŸ‚dÙxk³Ž%0QXzù«VÀ.¢LqJ BÐä­ù‚¾z—vªe5æiYØ ‚v×x*ά‘Ì¶\átˆó±ùê—jÓjâ=»Ù5Ü åÒþºiʋíêvÃàÌe·´ó[±±­oZw B-fíÉ<üöêƒÏíú—¬]£q¦ÇmXK¹ýáæf·ÛMé†Õ°±´››†­@…`øh-7Õ³÷Üvò?¯ÕÙD³)lÌÁø#Í4ÿ\«·˜&Ў1ý¤ßaz: 8g5¢hxˆG®áP/²ß†Íé_=khÃ}dRâ<ùQ W È3Ò8×¾à 9¤ú,$è;†d‚“ÿ>÷ÖãOpfBjf/j¾î3‹ªÚ1 Zö´ÀŽeZñÇüaS”¶O[±Må3Ö&Y„Ò´w~eO~jáž@-…“Ýrƒ¾ãL¸Aî´Ú˜ü…1 +WL TÇÎè#y2O¤À,ú<‹ƒ<“›)=ޝ¼|p.‘}CFöH°/tZåIUàr‡rA;Oҍ³¤¶Ûn…Û{èP«4aº7ÕC­Å*fG2Z­µ1òäÑs†ýˆÅ‚Ãï§Ïò†ÀfY!;µÔCÃþè˜Ê$ÕÃ3‚Slž¦‡aæ"ǒµ­Ö‰zæu+›n©ÈºéP*ÕY³áÒMZV]Ù¿ãØOS•éÑ0¢—QaFÓ+óž“æp¦'w#Æ#t°@Fˆá>¸5àüûéۖTæÔSõ0 ‡¶äàÔÙ@[Ö]}¤X¶|U¢/BM$ :p)˜/_§IŸ}ê*‹Ïo2”æý¬Ýš«,KmÛF›àšZƒÂI›!zÖÃ)"s{ڂŠ(èÚ¦œLiKÚe´:LsÇ¥Ý×| +a_¼¼y+æÓ4rÕ¦0…às\sø™·Àö•zŠD—ÝÛlŽ’¸GfÌÒÄ0î4uLlozÎ­ºÊŒð•éÛk +…¦‹ÐsÇjG4Ï+eŠ +ëiƲ͈"¥;VU׊ê„Á^‡L˜Ô²ñËvaÃ$Kñ`ŽI¯Mù  to´–ÅäPi;]¨e7¦õ|6pã‹yvf}NßÞLÅYë{$¶Té"Ãӑ"é ;õíú +{>ôÿÊPoÇa¤\èý—‹• 2²pcÞ\ª´’0æš<­T”;Iú`Ww±>b9æ½ҖK Òð‚×ïmh•l]FP`ëQߘŸƒÒ‰ jã¢JŒ öWEæížþ¥\·¨Úõחm_86é# +1l«×á\¼ôag†’ÞŸ¨€ÃùD# “' CØßCarÃñ‡ãÕñÙò`ˆð@ûTã[4JNjëpo)NžùgqÙQ:¾¶’+U~áª$á|”þµTâÊ9I +‡C¡R=ýÔÕT·©öæñŒ§D@‡«Yñ;Ei<ß$ F¦½ÞB¦ÄҐBmÃ[XÑ@°邤Gv†6Lô_.Iª$¼V'+ª³ÛMc’lØî©À‘<<–ÇÌa|õ {LÎïß*U…ù‘è™-‚Ä®i~ˆ¤Õ%݀=ìÈ^mçÌÕËeôû}ÿqqÆYŸóŽ ÃÄ8ú‹Õw^£õ4ö@Œ…܏ò‘þEQ*换Q>lë‹òÒ¢ê˜évüÂns Æòí»…Ex_ݯg²F\›n-²µûpÕxÃùMq+·µ¨<8 ×ÜkOI¸ÚŽâ–=µÇD3óIÉaû{/¶'ˆ„#¨Ôò´6•|9:Þ^+Ya÷bNfL•‚îÒcƒwÇUFâŽÛÊþEÉÛmUìÝѶ ÍiáÂïYu(]\{¾•ô ö_XÎÉ(*áh€áË+›¼IÓË +€½uö)݇H “8K2dt¾.êûöð\E]HQÙB³dË58%¿?÷^Ë~œB&€Ò¾à¥JxQš{ø#=éù#±c–?:™æ{ȑÑõ´ÓÀ[Í{RÁ*EÎåf(Kßn¸<ä5¾?Da n_ñýÿ¿*Ñþ +endstream +endobj +3818 0 obj << +/Type /Page +/Contents 3819 0 R +/Resources 3817 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 3822 0 R +>> endobj +3820 0 obj << +/D [3818 0 R /XYZ -11.232 900.716 null] +>> endobj +566 0 obj << +/D [3818 0 R /XYZ 56.693 517.591 null] +>> endobj +3821 0 obj << +/D [3818 0 R /XYZ 56.693 489.898 null] +>> endobj +3817 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F102 977 0 R /F52 695 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +3825 0 obj << +/Length 2501 +/Filter /FlateDecode +>> +stream +xÚÍZ[sÛ6~÷¯à¸/ÒLãB`²Ù™¶iÚt“¶k{gw&éEAס’Tl÷×ïÁ™²ä¤Þݗ˜@ààÃ9ßù¬üpöíõÙÅŽƒ%‚ëeQŁ ±8¸^&—²i-§3ÊñägÕÈÚ>.Uešµë|­²o•º±/ÿºz7ýíú'XfFJ8·³]5÷…¬×R6µî†ÕI `õˆéÕÃ(F1ÁŒ£$vë'1L‹É…ýCh¤?<ûþúì÷3Óã€ñ9eY©Íž½{Ÿ7>ÆÒ²,ÿKž¶‰År4„y³Q K·™J.¿ÊZ:'mÔxÿ¸|7„­íÑîV¸çL•Mš—­?´™aˆäšǧ:ó£÷vÍ0÷‰N`9ޅFÞc³RxÄí±îa¥§vX1LYzL:‚¿õ”LL¢g —ù;º_ÏBx|’M&“¸)™ª*YoU¹ÐðŽ„t„Bž*HW"˜«ó¢&¥CB*Ä'BÚ®¿­Ô +´[ +¤Eqo'_È’À<ó¤ z?9nòÒñü~Ï׺oR¦͝c¼ÑЬ~¹K7Àý/FÆþed«E$y +-u½:à 2rÒ¢‘©í}•¯Ö͘€ç -kœwqüê¼(gùT¸?Cš§\¯9‚WçïÌWSímÍ~þW o"@ґÁž¿+À­]°EÂ8 +Sl¦¸^§åM= ÿ«Ô‘èU#ÁëTaI²’ØYß«…Ë: Õ©°œz‘­wåÍ,S›*Ñ]]|MPÈ_§å/ŒºG¡'!{înåºƮϖ=-ÙГ”ènc{9VU¹9:Ö?4I+ílƾ¶$9á{CÜþcû­#ë÷y¶Ne¡Ã®Ù8í§1ހø–J3MPãpÊO)¨z"‹ûùü*+ÒºsDÖWݨÞm·@8uoÛ®Vˆ’•Ž¬¨p¦n2‰µE+~–aÂÒ±^±Wлê@Xäõ¶HïÇx9$êžS,àH„¼‹æ²¯Ý3À›eÈK·»õÕ®Ùî²óÉ7K ̪ ÷µ+à{]6Z½$Z·}ó‹K¿f6÷\±F|rZL.Õ0à˜ ª¶½ ·è`âƒAš$Ãõ`¶§ÕFÂHL>k\¼Ý@.Ò!:ЇÚ,Uõ$ùC÷HàÐ[^nÒúh.¨ws§ô`#°ÉÒA¨ ΅YüõäŽ!ÙËN•Ú òS^Ý8íü·)ƒŒW˛G:í*†E¢½}‰Vbò%Áª§7ÎaM¤ü#uƒXó2Ê$NPÈZyùˆ5Š;MeŠ˜Ô~2w5úAǗYÏG+,5y{XTãÆ/\Kî SZm@‡” ýz“–Ût¥ó-JšË,ÝiQIâ»@CÖ¶¡w¡Gçî«l²¯l´„Ò¯ÿÞՍû /zíùªTÕ¸0¤"FQWø?†V´Ð22Ô0÷ær.uDc¸Õ‹½n%ßIo(Š胻qNQX|H=¼W_{™ñ:Õ¢ð“þÇk·_2Y䙯08^(ÓбB[FWR2lh¼±hçà*»#]4é‡ÝØö_Èà¿V°I0ƒ#4‰ª;˜bLG¢6—5Vû:~»ÕfÙÛUUmÒ"ÿCÎêmj.ž°6ßIÀK —9­Ý¤sW– —íS™ j' ` +ΣG2¿À½€ª`»Î³ÚËã°—j.=+_5é}cïÜ>ÏïlžnëÖRc¨…,˛ôÐGœ&£·9¾rNwêU;ºÉ”°íöš{¿¦žçó"WÑ"ÎmSõÉÑ«#Üî|ÚeŽŽIˆïjáù¼’ŸF–¦q2¸Ý€ +Ž‡ Øã1gÎÝnևSԏ·¼¨¤/â~×Ä¢÷ñ%)ð¸xv¨I(ÓF>& û`ʞ¢ rw=³Q ¨Ûô¦f:wþ<âGbx«‡EāôŒát5(Þ¾v„`ÒC¥ï|\O¾C„Ž1BÀÜ ¢D¼MÇ\ÊÔ`vßd¸ïŸ5Í9Ìÿ9ñ›õúOðŽªÑ߀1•6&ƒ·¡>¢Z(C¢+x–ùjWÉS juHâü†]Ž÷‘FžÏ!~õTØ»>Öxa*ÚQÇC…uׁ†&õ‘U2½ÐÿØKI¡4T'½sØZþº¿¯m[ç¦+j¥Ó\’LÞº¾NY™; 'Bt‘`W)%M¾q“xÛµËÖV…õªº n>Œ9Êg\Ïÿײ’Ãd1wï²Lç…Ï$·¶¸å{«çҎq×/y,'h¤¤=ñ¡gc{Ü°ÿëy¯Š«ª|ÑÞ2¯àzgœ¶ m‰Ž“òîX:ÝîʬÙ]à‘rQr€ýÂY ôå°pÏ Û0‚ +ïÆ¿Bދ$h,T¦Å¡•A¦e¼üPw¿>dØÁ ™Õ™ÒÇtÆ°8xuE0Aññ‹P¯Þ”z§qX«„M;z™]ÿz¬lk¦6[ûIØûՖ1ŽB²®ý©µ›vÛp¡šÖޓ}“TžtZEæ‹;ÏÝOKæcÿÍ#ă·~ÆÿòøÅW +endstream +endobj +3824 0 obj << +/Type /Page +/Contents 3825 0 R +/Resources 3823 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 3822 0 R +>> endobj +3826 0 obj << +/D [3824 0 R /XYZ -16.307 900.716 null] +>> endobj +3823 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F102 977 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +3829 0 obj << +/Length 2542 +/Filter /FlateDecode +>> +stream +xÚíZ[ÛÆ~ß_!, +”B¬Ñ ïtÖ.âÄ1\4Ô»m +ØyI#‰5oæÖnƒü÷ž™9ËDynE_–äÜÎeÎùÎEKg»½ºxq{±ü> ³„$¡În·³Ð%a4‹™G¼hv»™½uވLp)æ 7 ÎuÙi^·em^š=N~W®_”å{óñ›¿Ì¾ý3Y0F’ 0§Ý4÷™{!©¦:›Å@=ôu?ŒHäƳE@’é'1ÅÎÒ<˜ª/o/>\08žÎØ,I˜x³(a$¤îl_¼ý™Î60 ?‰g½2ŸŒ× á=›Ý\üõ‚¢&èYØ³ý„0žÞ¹n ¹°Ûfo¥Î7›ØŸnâpxxÔ¹Ú¤s7p>šÁuÆ¥|vùËô˯‹uY4¢häås3¨yU‰ÚlåuÙxZÙ6Uۘñr‹‡áf\±Å]Yfà~rŽïåêŸbÝH2_xÔw¾ÉdùD­ö>`¸Àã«&- »ójUëkŒ‰Æ㫴 ,«Zð÷—Ëçæú³´zÄ|òm#Ð\ ƒÆ€ ƒðÞ1hM Àg†ÎOsæ‚jß\¿¾~õTI8/Ě·Ê&=ƒý¥Ò ¯÷¼Øáh•ñµÀq%šiS+œÿîõßÍÄJ4! +3ªíYâôàZÔ¨¶{»N›0X‡6a_™‹éЄÐ̋-W$Ñ؇†å‡„1×.äêª?q¬K¢Gºðƒ˜DÞÑU¡©¨[©“*K +b'ç÷ê%qº›ŠY漉9 œ»T6i±3#ßÞÜࢁëš=Ç3÷|·õQíÅsVZ³êm dmo°å6{3Œ÷#e›kó³öTXR Ü7g`/m¶13…0þ¥èՖ WL!P +ª¨Íú%£æªÌj16C³í֢̲ܶRѳ·ûò6ÀíÌ Cåp€¼ÒúÞ{¥#¤Í-sæQ Ùf͘­Áᆍë:]™û‚ý«R‰e4g4´`‰OÜh¤§à© FLÈ púÞcÜÄ#ÔëD¾D|¹Bq +ž‹g—;â/cc¿Ÿ_-ùsÃha-vǸrU=È£KX-MÚdb‚A7$q2`ðjõü (#<ØÕr|TÈG˜ê?¬/«Žq€PbËÊÙy¶YuȒóf_íkÃO™<Axì˜g_±gÞÕR‘±$—ÈáÉ·Š “\›P€"»>#ñØFÞpƒÂà܍å[:Á C ¤:TOSŸ áG-­Ôef>´SkÄð¢‘?­™]'ó&î,Lș„Zp²èÁ[áÖ}»ªÈÔ#’,G¤ÙéNuÃèQ^àC¤õǐõ½:S‡ß‚ À¹†N+5©I»àEëJ½\¾£Ô+y3i(~Db¿µªKˆrÍýt¬òë­_e:¸"É ×õÄ*Ñ£Äcá8‘}f£ ”æ¹BÑjQl¤q­Š#É%ÏñMå òqâ¼D46y$ ÁXÇ}H{:•„ ]È,ÙclÚ¿ŸÉy=g±³K‹ESV*¯Èviu÷õÉüªlš2?]ò«y´0ãHï·gbÛtÛµ6ন;rÏßNÖO:ë] ñâG©Œ~=%fîöÍ©&õp§È¡&µ*Têöß­‰Õèj·pߋƒUh€yHª1PŽ\C±Wãa`wûÑQG>¡ŠA›@ðæ(•¨Úº*¥8“h\ñp9$ãœJc¨:¯6éGº£|F§ƒ&ík):ҀÊÇôÑZäT¦÷Z-NBç¾l͋!¡ã |iðL Ù®’£$8ÎzÕ²IXd6h➘σZëœ D‰=¯5þ†ÜÉàE9¸yÓJÞÎpBCâ2ÿq†œôP>(%<õJZë¼^6ȑ*$ 4Ó9²âË&¥æ øãG¬ +¹§ò»cï!Ý4{öèÇä!Xý/ƒò ö|&³ÿƒò'@ÙóC¹IAë®Øàú}“gK“w’;™=aÄ¥fûÂ<~H!ç™*Yš\U,fø&Wõù¨Çµ°M àÝ × ëz½o õ<bŠWò¡M…eµÈå<ö†*^CJ×õdy6æ I˜[,­„µ;>tW÷¶àÝj¤Wõñ°ç5°½iõ‹†zGz¾Vw€ìü4Uu#˶ªÊºéÛ²§Vû„Òì!1~?eÕ œÃ®y2•ÔC è|£õj‡Åº%ݐ¯UwmJéABX÷¼ð¼À$]ªø/Q—Ø©4©ešz¶¸…¨m;1¶?GijqÛÊãnb)JñG~ζ,õY»ÃŸºµÝÌ{ó€…º¤Ðs^cO €…G XÓ´T‰šF—Ú<÷Ú¾¸Åª¦D¤ã»]-¤´þ4•Ž­)`ÆjVé*KK IÚ bœZ—yUœØÙh8‹]žTBL²Vdž FA…%é]VJÉëûyØ£!äÝX½\ý±çxê ¬)hL·;ìl8œÕ&I€˜‰ãә»ƒXÁT §d`ǘ5w¸@‚Å€È'½i¾5¹T–>0Qr—k6¿$ðkOEwiýØ=—ÄQ‡ôˆiN}$ÍùN¶žÄBæx¬óáaÔjÚLUpå›q<ò"˜1舌é¾’eÖ6“ÕG葰¯iþöæõG°Þë +n¹XólÝfèüð½­ËܼÁ<]©V'sóÅgi¾Ã:ÄS}ªä¨T¯Õ_¾Ã›¦NW +@Š'æ±Vÿކý&µè£ržµøy¦ÚG¥(¼mö6Lûa> úe²kôhý˳·&£Á 9àˆl ‚Àë ¹¦‡¦f:ÅõÌêùO\•«:}|›fB5ݧ“k7ì¸7€ DŒa} =UßÑöˆ ۞\ØýTSC™®åðw(§4&=:ûÝÕ¼ÚÃ!èÑÁÍËn0›ü5!èÔ¸áx(ÙáG?+¥…êh}P îƒÙ„Ù‚‚ûÞ0Oýg: «}N1Ìì'€,‰I%Ÿd‹„—±óºqc­›aøH†€nƒ£þِ96Na˜0ÅA'AÈ’t±c"Ú<úZ¦þ+§x&ŸóOÿã"ê +endstream +endobj +3828 0 obj << +/Type /Page +/Contents 3829 0 R +/Resources 3827 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 3822 0 R +>> endobj +3830 0 obj << +/D [3828 0 R /XYZ -11.232 900.716 null] +>> endobj +3827 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F102 977 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +3833 0 obj << +/Length 2934 +/Filter /FlateDecode +>> +stream +xÚÅZYsã¸~÷¯P)/ô”à=û4›Í&“ÚI%±«’ª™} DÈbÌCKPöx}ºÑ‰’½“­Ê‹Eâhôݚ拇_üùêûû«ÛC¾HYÉhq¿]D’Eñ">óãÅ}¾øìýS•*Óêz%Cîý­é”¦ÇmÓÒC·³“?4›ï›æ‘^þ}÷ÓõÏ÷…cVB°4 ‰Ú]÷R*½SªÓ8 §‹E§G>žD1‹e²X…,íùi +ãÄ»¥!#Üxõ§û«_®ç ±#¥þ"N‹¸\lª«Ï?óEsÀ ÒdñlVV‹Pp&ýžËÅÝÕ?®¸Õ?«G;H™àñôEÊÐpá¶->¯Bνy®r«•çkÁ½†^ju-Cï™^öY›UªSí±"wY—Eý@o͖~«CÙ+X^‘€£°™“2f2Dq _OY[ºSu×¾XõNŒ3$n1ص‚•ú=­ ¸ðJ&!K@Q+¶zòE¶.žÁ#¶nUöȲ-¼Ìœ'@w¾ßøþzHîýk§êë•ÏCã93gðGòo=4ßíURh:«nêÕ¯ªmnàU¤^ÑÑðsQ–ôô jÕf¢· ÌaX\¬ü(`1O¬7[?0œ™ˆó¨²ÍnÆVQÄPNË×`Ð ÷2`\¸5M„Lˆ·>`a»ÅlÖà"MY§¯\+tß®™Õ<°Æcs‡2pæcÐ錐h„|« ˆì»Å›¦î²¢ÖDÜèj_ª™3bŸ…þkzÃãÐ@gIÊp~yºkM|âz¯6ÅÎ%F<VLëÕà2aé(™&À'ÌYy@Š>E¹/Ós¡BB ÅùP¸lŽ„%Q¿¹O;t ‰ ``_f#ŒYÆá3>,@O~ê¿îÄÉàéêZ„Þ׍ÚwDš´ ǕˆN$ÞýÎê#W[̛XsÊçm¤Þ’^¿ðgNÍ"3žªyÓTÄ°L"ȯe٘ükrszëšÉèUïA@P3ˆ½ûë„27ÎöûViMZUçŠ\'MŠ†aª€ð0˜#à0,Óƺɪpì8Tf,ïc0]ʂ¯™>ƒ™ÒTbv9ÒT_¾Uµï^èÑù9>£¦—KR+è˜!mË9pp\زÖM´Eü—–zQw¨GW(m\ÛÅ­¶‡Ò®´5ð¥9¸y ä =J”GóNÊíÓHáàJ·Ëºs4ÊÆ ‹tôTNóe£ ©(ôþ |EqÄ(Þï¡n?Ú)#LywYEwM6eNãTëa|ß6ÈÀS‘“¢a.«iŠâ%«0™™‰eÙt–¾ñ8²ã‰Èñ’FófcIXRUSƒ9¡°ånΒ»!‘žÁkVY½7tƒ¹›}Wí9m}(5Zã$ª›¶ÊÊâWµrÇÑ­hr“•åÔ!@Eˆ¼@t&5I™0¼Z_ E:©„€uÛŐ)Ç"Üï +ã9Òۀ}ŒÌ2$*m«6´\ ¯9tûCGƒ[Ô­@1ÿrÿé§Z÷÷~ÄôrC“UVï³¥möñÁò÷;{Ö$ââµrÖ Ä(=½kƵ`9¤©ŽâÈ@Ef´UU†… Gm¤Ã6S+žÝÁ(kÀ5y°±S¸_Uû ´.Ր*2ü%2o@pö¢;qØ'žAÁÎِ$Ú&?lì¸n*5ƒ¥‰¹‡€izÖ?5¹-Òï1Û"Ú¾ÅÜ ÙW]Þ@u•ßÁ¸0ã&1È0ž$Çã_ŸÕ&ÒÔN캪œ +’ñ̄Xt:ãÈùßͅó‹Éy…º0̎Áü¬=HDvڌê[›'/@ë0ôØ× +³<^$4T§²ÙŠ~>`wU¢ÏtÕàwUÑí¦w«³a„± ßv boùÜfû=.²ª!! O-iÊ°N&Ûøb}<µZýBs°‰ˆAñ†êXB½¡Uƒ¸”™àÍD.jè½Ï=]m'Àç[»vgò= þç íÚ%äÅzÉæ`r,Z÷þæmꗹü¶ +ë žN.–s`.f~ÒÃõk0þÓ I?d2C^%E˜k•€œn£ÑçK7+ÇP9ø딃0/Òèr.£ ¼»÷É:;+´JîYE”Ù²Ì@2;è€=½¡ïÁ¢SYnyÛÚ-ÆF+ÿ„79g‰Œ¦Á€˜ /5Iœ˜`TÏàÃŒïÿ™Òݸ֎ä«éÍwƪߦ¥ðÛÂt,`8Lɳlú>ä3ŸŽ ;‰BÁ! ?aÂÜ¢À_¥g¬Æ±ð2? +{ éôáðz¯ R€>‡ßÖJÕ®|äjªõþb®5È Üæ‡&K™3\ÂåÂîٛÆÑ\âjSo'('©Ër-µÍØQ*“M<©”ûoo']Ð%bÓÆY¸T9¸Ú=NQDVê®;ö\äݎºièöW=Ì­WÀ¦­ímÕVú¡iܽn´¾´g]Úµ>»%™aє½‹;拦ÛOÞÑ®³®¨ôNÆtfî2ØÝD0Ü£”ˆ›[=þ*¼SP‡'õtí{™Œü9åÂ*?šö»ZñÑê 4=6園1dG¬ô‚–‡²VÙ3vY>¦çTTxT¶¦Œ¼cYŽÕÈ&1DñGÞ7gUçô8mA½óàãòC·kZmlÔgC@|Ý<óôê9N2>ÆÅ2ªN¡_šz·4@ÒÀ²±²aÜ\0`8£Wª+6‡2ké}$û;Z8ØB˜Æ :†¡QÏQúÃø¦i[¥÷Mm/°›YT˜pêÁFÚ»›y;¢Êü8ì¡*tÀ©Ô怏njólfC›1[ã‚Âɏ}º©#µ¼ÐPÝ_LC^Ÿ±(Ð +(Õ¶£¸Ð_‹Ä{0]/äÃhÆmÄËh› +|T¿²’& "ˆ]{ ƽ1˜Ÿ¿‘ÇÚlWbRÃ0q`õÄ„» +ühÀÎp•ë>Úf~„­‹zÛ8XΏ7A»Ï/|‚„$Ôð®0 ò¥œŸµ _ÇÓàEÔMú„[tªËøë ÿ´"Œ9O{’’_]M¦íï "5f ÿN÷›¨fÐhêïwxݙë/D, +Û6MWã73–èÜOEáRÆØë›~kùˆiœêL·ÃGc'¯r“ªž[ԀèÐ:<â!“ÊpiUj•?ô»Íó¸ßÛLՏ†Õg'¥Ï¸/'ÍÁ9£N6¾VŒþÖcÔÁø#àŽ÷ yô ‡2鸿ԟ<óóTºà0£pďØ¸Ž.÷+Îe$ÿ8Òò?ö]‹9D\Î!þ8(gEª‘õŒþ?—þc¤B)ŵ#0Ù÷構æzð’ƒq׈ç‘À©}ñ3Öð©Åµ>ëüä}XÍLÁ1=4Îû†$Ð;;˜ç^anÿi½…c¸Õ‡ÁÌÇ!õƶðÍN(Œ:·ç½ð+&sÿ+pÆ£ô[þUè¿-‘2 +endstream +endobj +3832 0 obj << +/Type /Page +/Contents 3833 0 R +/Resources 3831 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 3822 0 R +>> endobj +3834 0 obj << +/D [3832 0 R /XYZ -16.307 900.716 null] +>> endobj +570 0 obj << +/D [3832 0 R /XYZ 56.693 466.386 null] +>> endobj +3835 0 obj << +/D [3832 0 R /XYZ 56.693 437.627 null] +>> endobj +3831 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F102 977 0 R /F52 695 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +3838 0 obj << +/Length 2398 +/Filter /FlateDecode +>> +stream +xÚÍZ[“Û¶~ß_ÁÙ¼P™ lŸl'iÝ©“I¼éŒJ„$Æ© ×ê¯ïÁ7Q»O_–œsp®ß{[{»{ùt÷øÅ^‚0ïiã±±Øã$Daì=eÞ;ÿ7Qˆ´‹e@±ÿs%Ec†›ª6¹³“?Të—UõÁüø÷Û.~ú°Y‚J µ·òXˆf'„lÔ4p'î,TÜ#`G¡·¤(‰-‚1PŒ¹ÿh$`jçݏOwÞ =âQ†XzqBÁ·Þß½û{́(J¸÷¬Wî=J0 +BãÂ{{÷붪ÀgUâhG "˜¡ÞÕR¸mÞ»%ÅØ‘e"3 +ا%ÚT¥Dæœ@AŸ3R$cŠb¬dÐÄdº*„ÕƐqÀO· +íDšååÖª?-oà“P1ò™|fè ÂžL.çÉ$(ì¨Ò:Ý7WYƒœuUp 7SJ3Ê˾$§üê€3ïXŸÑ“»Ñ§ó–ƈ|<-2ûÞTYþã@d\könEó˜Uë86úÔÅä¯0Oóú°H”fI2?ûéY¬`:p›‚;ëé³u6FŸöŠ,ÆêvºUŸÏí3G^šÇ›|½KEñS,÷ð×ξÝçr7vâ%áÀ tЛ\=$ÁeWg( bg›M[®›cYš¼ÉËM5cLaÖÙR[ï JãtÈâPW²’ÇܳÄ!ÂôÄMÀ7U̚ƒX監öҐ„&鉺Ú,êoÌkã¼ê½Rm·[,õ?¥ûC!,ᗯŒÛŸGã”øÒFÉëÞ4ŠÖé9Â!ùUrDêr&Ä øãøfåA&:ŠU+­´!ÈÝapcH­Šjíê4dÆǒ‹Ç/sÉìњ´ü‚~&Âìì¹é®à³k‡Æëâv&Ü¿E»B2]1"¬ ˜FlÏåÿ«/¨i‡Z46 ›O"C:ÊëÍK|Tq–­ýYm.Ês„£øVùsû,«rùQWL¥eys(Òc'ÒL4QŒhÝ" E4tëT]ožÈá¤sÊ­£° ØÔþ%•Œñ‹_ ¬.j¾ÝèÜgÎÜ)÷ÿÅ·j{ü‰JìÍi™Î°6߈F^wqQª¼Í2ËˑšóYÆ(ˆ:WÙäÛŸs•`‚¬œõ1$dÆRB®YÅuý/‡ÚUá9™?5o‹¼‘f¤ã7Á¾òJsN»Ñ@C#­hW3í(EJÇlu4O“$`Ðẗ́¡.ë´l€â>•yUvjMAŽsÿsKé¢[V“d„µ9D¶ö]oò)BA…Qr«‚ùÍøû‚§, ˆ?æ_– Nâ½UÔ Jý³…z”/Øå|Á‡ùb9— L™ÆŽu¸óuº¡w²ÉYU…Úòa?Äã;0ë‘m_a}´€ü¢á³zœ&§¹¾ök¤ªÈ#Ú£áZl@Õõñzî…LÑVHôg› YO‹0 9œœä_űé#ìKüLl”¶Ò¶J ÚÆøúB@-°XøÏz]]š&LO­ÀFßï*(õlï´¯?´»°¶Ü¡¯™·µEã0µd <³{3[Š#„·èŽA&ìâO©.KA}‹e”„J+¦c¤€Z —Yý)ØÔ`iŒëy'¸Ë$÷Ö:÷¶][:2©kŠ›)岿€é +ÎXßzªS:¯U'FþŸYDØúQ%†„ÚÊÁüc՚† ×®…6š0"­„ƒ±Ì¾t_µºŸ‡©yx”Dˆà›lRò <ÒÅ%î¥Ûk(ƒ••R_hIt.‡7ÐəêA}åb§Ga~“oK×i) pΣy¿:Ú¾&ÂóIáh„”Ý%F:†³v¾£#@“ßÝü|t3êÛ°&šÄðJXWû}U>v YŸáã‹ž^Îðñ87èÏÊ<‡ é×@†W®é^íÒrkƒûá¦p°[aP a üÁy:lÁí9ÍØxרÀ,Dß«7±ÿ¢hìôë´ÎcX–+/ù˜gmZœnGCš°³Í¼ç=ôÍç\®w.Ç8TóGÛؤÒ6SÏ5þУ+Àsž’ûÊáPÅa9†B“Ú0Î5Ÿ‰BNP„éÏ1›³}û €9ix´ÎÞ L#üvWjZ³ã‘f®š,e )P–×ë<Œím¯Zm…Ø ­ Ó>Ö])éÈﴆÎãÔÉàúâZ¬eU‘;õ ØŒ< ¼pÝ£³ Ì·2/r92Gô o8CÐÁAE½B3Abï ÃÉu¶z1Êj©J(jâ£ê‹E½‚©½¥h;‡%ÿ•%¤ÙÁ6¹««v»3+  ‡¡©9 !Ñ¥ÙP¼t”«ÅÄe:“ÂåÚMm±WEÕ8ÿøŽQ$ñµXYztíwbç‰|³o±“IwœLlL&U@­ÈK3¡S‘ye¡0·s‰ÿýªhë•yçâi¸×¢ìÄ¡²Õ¿žþþËoogہq2¸Œ[k1Nô Œ>é,)ac/ÓL—‘DK`?@g€Ùe—1i\üM%œYÒyәUi+wU=!¥Õ§Z¯s«>ª–ÒÙ Ž+¤¨óþЩ1.·©Ü«N×jC_èò²‘"ÍƗï?LŠàx=ŸÒ75r&¢"è8X2W>ˆPÚa1àÄ}¥"ք­’EV&u©qè xkZ„ÆüX `Ø»´šýü–àag¤ +q½O a>nÌ}pQÐÁçÖ丐ÿµ•$×ØJKêt üÓÌD×"xšh4csI«Ìá:é»Äµ´P=!ò'P]%µW!‡Ø-Δyùaì Ï]÷eCâä›$0 Øg)…ð­}ºÆÍÝúª§«ÿÝ'Ӫηy €tˆòÌ#хúzþcKtåcKx ñ‹ø‹ó{“ȃª G‹esH×¾] ¯ð”Îš3 +P÷)U}”ÙÔév¯¬tí˜[­ûÿˆ{ÔlÕ"å}ŸGîݏ¶ÌÝ5¿þÊh ֗³Ù„s(R¼† î{gCzc}èâ_VaçþõBuÉ,ù’ÿ¼ø/]©fö +endstream +endobj +3837 0 obj << +/Type /Page +/Contents 3838 0 R +/Resources 3836 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 3822 0 R +>> endobj +3839 0 obj << +/D [3837 0 R /XYZ -11.232 900.716 null] +>> endobj +3836 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F102 977 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +3842 0 obj << +/Length 3649 +/Filter /FlateDecode +>> +stream +xÚÅÙrãÆñ]_Á’]e*µͅËyÚ#¶×å++¹âÔz p(" 0kõ÷鞞@º\•Í‹swOßݾº^ñÕ·'¯.Oο ø*aI(ÃÕånJF«X(¦¢Õåvõ~ýÎ&mÍÙF|ýSՙ–š»ª¡F·w“oªìUU}¤Îo?œ}¸üÀl„`IÐiÝmaÚ½1]‹Ó]¬b€*„®|¤Õj°$rðpb¯ÏéOÈwžüãòäçó•X! µŠÁB.WÙáäý¾ÚÂ`Àt¯nìÊÃ*œIB»X]œüó„;Rð{IâÏÖ <$¤~—2°Xøm«÷›€óõËíÖlÏ6*Œ×m_×UÓQÇ 7MÞåå5v’õ!-iôwÎe„ÅN^vµRwRm²—dÔ¯ú®îÝÁÛ¼1YW5·nG¹¥£'‡ÔuSÕMžvÆ#våwåæMÞís‡L·O»#@ÈƘé0>få: Ö ˜“„ë×UÙ5UQ $ᬦê¯÷؉œ @î͈û˜eÙ¯‘Ò" àA-€+;Pœ Ly¢¦¥ð ë´I¦3 ÿ;x›ò"uH +ÂÆ,M ™<èÀ_„€´›\1\wùã4Ôx ³lò둼¥%“Ž¾NƐJÄ«–™2½"¢&zr]Í×/€UïfŸg{šNû®:¤]ž¥EqKC[\}ÈK«»Ð'4¡QÂAØ +ÖÕÎí.ÝÿTlp€P¡ÅHaÒ˜0g"XJua,2b~¿èŒp“âÙ ÓeŒ£·ÔßÒDUŽæÅòtp"*"aq0ð1‡ <ãL聹e¸2 ‚GÒýy&LƒânfÐÚªo²Eè +l‚Žü±ïÌ΀Üß.ÁWŒ«A¢™c¶JXk KÀ”Ö4÷º¨ZË%×_\…ØSNZ찈¸C2ëõå>-?¶´ÆŠ8,ycÊÜòªI·À¤-- vÁ0ÝF@ý¯ó2-hxgÒ®o uóGoÚY¤Bòºj;+ñо}ÏÍ ÈÊ!ﬡ[€”¨[§YKq49غ9)H‹ù%Ë mÃÞÞõ®/¨“;éÈQì@}kT¹G +ʐ؅«­µ¨fû5 ˆD^›ö|[eWàÄا¶xÎDþæû./òŽl­Š–lèïGPÄÔ¨"ÝÁ©< _AöÇ.cãjÌ"¥v,ï ¢[zåøí$MÚ9úµ¨)RÁŽ8²êÈs¤V?è*¦mñ*£¿+àÀDÀiЯæX ³”nÓÎqäs[cœØË0aQ‹ý'dÌ×Yu8Tå9ý9 ²A “>.h·ä>NŠù|’Òœã ÑÙF$–øw—SQv6ú1®ª'… 2w’Üǔ8`RzJgU} +¼ïx¦„ö+QLXÄd<8³Â\§ +‹7wÇçAäMŒØFƒŽ_’A õvàÙé²:“èµíøÐW¦KXˆ@èA½þù—¿{ûíw— ¤R=`æc8"¶Y7$ÖéŽB‚„~#Ì$HŽ¹ø¥à×Ëï~~w±€S£w5*baLpЂ9ð)*Š/+5 ¢§1TüÂEÙ’ˆ>H嗢·@wUocÇ(´¶‡¬%ÅòƒÀ÷Hyy¯?Ö2~‚CL 1^ºìÒ¼lG€ ô—,ŽÕSÈ´Ñä-Á±·A£eÜApJéMéÕíƒq‡ôadÒ#„3&Ó»!`Ffðïë ¡.yâ £Ž-0Œ¸(²S•—»jbÓþç¾éM“¶C¸©¸wA*HWÍGü³I„,°†káR’1˜x4§ ²nÀWµ´¦oé…"º¤Oš ¡žâ´BÆG+3:-r}fÑ0 ¥il³¡p>ltf¼æ¡B4)Lq7ü¢sŽì*çõbÁ"ÍB «k’­¾±N]éhý¥Ýd‡]ú¦#›Â@k:ê[ÂÁ@Ymmò¦#Ÿ°ÙmYÑOÆ ÿÍM´'è°û„Ž©(xJ”²aY]ôît?áÇGð#'0ìãõrª@¬ éwÇ;-3O}ÂPèíÒ€LäÙb¼t,]>Tò~ +:ý†¸ ¶ê]€š;FêÛ»Qç$:Î*²½É>ë‡êɒcÐJ±‘î[LÁîÒ\‚ê‹ÁØ 2í\\qB˜[DVÆޟŸã¡pÓû”×͊vÜ‹‹ó%Éæµ@öÌ2Òç½Ø8ÅãN©mÙ~>¢?K¡4¸Ëð±K¢‹¼ŠuLp0À9N=HqÐÍc“4uÐLÌ[ ¤1¬J×0¡ìýΪ/²`YxÈ¢1özXx2"Ü•vÍ»l#³Ž¡s̳Ž\Ï­ÅTÜmv¯Ã +9xùÔÌ4™e¦‚+ª™'zÛ}…’ü"'‹^ ~Ó«ø–òÚxg䦯“~ôéôÁ {Êëöï³¥¥”Î]±Î3··¯çgԹɼ?-Ò΅òK2û²h«S·3ÝšM;û¢ó‰'˜‚´èÍB©s±n6ŠA nº=3Ÿº&•ì~b…)¯ÉÃΘ ,-Ø5•«Eh~L Å}¡®¶îäÙITüh¹¶ÂԞû‹X“6» ûtÀòxÇљ¨Ó¬n*ªnŽò¨¥í½O‹¥ ¤—‹[\ ŠU­{ö‰Å}®Ð€Îà1„Ç*Öb0σ±;Yfð"2ŸWŽU™ •êFHµ¶N3³i»&¯ëÁWùZË$Ñ ¦‰ÞB€ë +H>Ú Ɏ*É…º‹âÎI;#ýçu¿É?ù`O†c{=ýBÒB¹[‡eÜ%?ÙS2d컪êJ|iAÊj±þV+s¼gpÃ!¤@Ûªû… ¯x£Ð„Žý®¡‰Àð(n¹ã©Ð…b® s¾ØèÊBÓ*žgmk3ª1_Ø +¾òw‡Öàl°í%Ïå^ò óE(’@I$ëӟÜ)“Ò½/ZâÙHšö”:IHŸŸ`£*¶Ã±Yß`ŒooÃ庪MIÊàÉCIuÄk±$îÊ¥óŒô•qŠwa²fÐ&”è«¢µC£\û(V‚ßðÈkeU^7€Ga+€í±Wñ¾ô}vcõpKQ˼ +ï‚êìã‡gÖT¯Š*ój*Ä#jÌç-_þ/ÖSM<Ð÷•åÆãø) +&ëò® õ–ÜÆ'É7˜|åR RÛù$µ–f %4LKR+ƒÐ˜¤8z}:¸õ ;uK©p¬×Û¼­‹ôÖCùOïNwݙ_éâEH¹ž…« +yãküÓ­Y”ŽEç¹µý pèÏ( +"ùÚÕUìŸ>"›ÐÔÍfà;Zr&„†añaP8-W3DØð¡šñM_fímYÕmÞ.•ž Q +¦%Z||)²ÍÌ3 `ŇÌ`€Ý=C½~…„CNëŠ8…qà–h@ð ́ì#áñ¹¡ç#؃\‹Óh„ž˜ë44¼Šù÷.—³ãTq¨¬¼Â†¾Ì‘>Âs>·¹,Rƒ¼õD€I Ì*)Öo 6Ê;ãßÐRz À-Hs†£·•È+(È–K›huÖ¤µ;ʽ©íS|$4ý—"e¬-5‹9jÀ×O—Ð~`á+ʾ*¯‘þQZñŠx^ÑÐ[úKhåbilK§08j€V ÐޙºÃ©u$ÚrõÜÔ0AÙpTî0¼¡H1¡¿mN@Œµ5V¾ Øä±8¯fÄ%Hè£ +ûø ]Uºèåΰkö‚•ÓwoOi…ΠäšeêÝeçâ“vÞ¥U›ðã °Ïé–:Öh‡ƒMæÙf²>}eX<Z|RÌÁ@­@¡uºôg–f°ì‰çÊÒËkã¼øéø ÆqÉT? §ªéPWu·õb½š“Çm¤âéìò>@ó…cQ7‘V_9¿ð„ŒK°|Áï 2^Ñ\ù”Þ•ˆ|L5« ‘õq3/ÑK©£¡¨èÞÚ'ÑÓ÷•ösÓù8éîWQc8æE;ALâ'Y8fdå5~›iírSÎ5B-þð“hpçI4/!ØÜiøpækæÖÊϑ|ýj¿B“ñÑ{ D…“ñr&ÈO0ÜK»{éü¨ëw;:òÆœ™‘†™hqNµ^èÕ¦ÚVJ`X·&¿Â}½MgðåÀW¤Àʇ|°oR'–ø±–ýFBúšæˆM¼¾6¥i–««JFLÕÕ´ïöUã_@!“YòÐ4a0Ô¢ÍèKKzdµœÀœCýmU~u&àúÔ=¦˜}•] v¸œ#¾sö jÁ¤èÍӖŽ-*z®¡¯Gp /f* ÖÀ¤­CЕƒ¡á‹Á x(Tå9ºÚî–fýõ2ûÉ®éÝy9€[òÊQ‚0xîë1ÙxâW0ûÑĄ]”1(È=Ó-†æþY,m[s¸¢÷)éÞؤs¡%Ë9 V0õXà~ùý1}8sO;œ$Ù’[öµxéh8ICp°¬ÜlUúw5ä–PŒÁeŒ•íûED‚ˆÄÓO@öœþ¹7Çƨ›`^zÒÐéÕX’ç‰õU³óºlïœ]îrågäAF¼ +PÂN§“_\þ`éß3Í¢ñyÙ}º7­–û7*+ù¾¢¯é{ù[3ªÎ)`uî^Gw‘ºªôEgÀ2Qð¶èìýÛ£õéƒµükŽdék`.>ù+ÿÆ+ +endstream +endobj +3841 0 obj << +/Type /Page +/Contents 3842 0 R +/Resources 3840 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 3822 0 R +>> endobj +3843 0 obj << +/D [3841 0 R /XYZ -16.307 900.716 null] +>> endobj +3840 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F102 977 0 R /F93 909 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +3846 0 obj << +/Length 3405 +/Filter /FlateDecode +>> +stream +xÚ½ZK“Û6¾Ï¯P)sªF_Ùڃ8›¤’8뙭ݪ8J„F,“¢LR¶'¿~»ÑHJœG²®½H$výüºI¾¸[ðÅ?.^Ý^\ñEƲXƋÛí"–,N©Y˜,n‹ÅoÁ[]é¼Ó—+ñà—¦×]n›–.úü¶Ù¼jš÷t󟛟.¿ýج„`Yµ›þ¾ÒÝNë¾Ãià.)pC䮀}¢ÂÅ*bYbù .b’×ô'dŒO^¼¾½øp!€>_ˆE³8 I&XÌåbS_üö;_0;`*KŸÌÊz ÎdÃuµ¸¹øç·¢àŠÄÑV<¦M½“22»p-~[EœßìòýJHdVB"A«?u×ÓèWBªËä +ŽÃÃ`ùC}h.E|ÄMk€JQ•û;ºk¶$*؄•Â]I3 2â´¡—ÿºýþÍ[ )dÐéM_6{+ßñQÁÒ0rÏ°%ѿݕm4/ +»÷îx84mOÃxód!‹¤£õMSUùz†e(a›™[f-au{ȏýè*XIàà¦ÕE5Ãl¥xÄšÆؚ޴wû¼ÖslG#¶çKeèüz\W%˜eû¹.Ãt|ŠP ¤YÅ°ˆŸž!ªR¦„'Ê.W!HáeÕ5HÞ)C†#eà ù\4Çþp´ƒ³&"Bð)¼‰l·eUæ˜F,˜J¼:ñh†pÙÛ=lveU´z?:»ÙåÙÞÐéWaÚ +•Õ–ušcgL¼/¸Óû^£Á6OFA×·0ÙѬ=b€4«¼‡¹õ¥äÁ±÷Ú¦2½ãŸ;}š€"!s{Ú@g-%ŽÝ‚×EÙ :Ï7 #ñ4¸½„³¶ù¾«ò~ð›0 t¿a a (òEYX1Ò}ÕXaƒµ˜MShÙ@ŒßVy"E4u5£ðt\7űÊÛò²$3†C™yUÑæ„• o$ÑI̚eÄ"xÂ.‚!RÆ=ÃI#•/ݖÞq.?›ðirú#£¹s[Ê{ºút)`IG[Þäd–3ŽÌAaƒ'[Z…q”ûm3çC²¦÷·¾!vûÆò]kby(7ïq n·NîJJŠ“·iÚâyu’ukÝçfænÓÔ5¸Ý|²ùX×kd—åÞ>•ïW‡üÎ.èšc»iº< bW‚ØþÜ%ŠU__¢Aà“ø`wLÙ箺L¢³¢¿ŸËÍ.×úc_£EÒðM]ö»i²\Ç)p„”*ŸH©7>À$2X7UAW>ú% +—sFÇ3–p>ìò®ìæÜ.ðá´Õu~øû‹W/–èX řµF{ÑÄíu[nèêm~_7ûâÅe‘Œ†ŠfS•Û^·ø˜°Ò€½öMSъ xx1åý¶·ÏݵàL2 +¶tK*¢ë:o½Ý )g7BÅ,K“©Ý|B¡ù/Ù«%]y‚7ΐ–ïD¨¶n‰î6ùÁA¼¾™v³2, ãðy2ŽÂ™Ó@¬cI>ß!6hgêKdò¸A¾, +£L’ÜÌ£¤4b¡O«7úÝTC<5<3ÀÁ·èéU‡ÏÒà³{àˆ° ÿûœ"„e›0X €ù}Cÿ́B¶Û­¹Xâ^––ÐýAÛ¥†ÝÁ˜çü)C4½0³/ûjI­Tú•ÙÔZ¡Æ@Áày”‚˜Œ›T¡‰˜8rnu×±ÃíúÞëÞ"X ÁæL3N!·³îᝩñá u‹LMZMƒæ$]ÚÏ85˜½Š=Ïï)Z+«DØ?IsºŠv'xʾЭ;iÅSöyeBòªƒ+4wÌ9”ËyÊxt"mEQ’>ž)E‰ +éš4nˆê¶.÷yÕy5XsÇG-‘ÐbAœoìþFûÒûîØjK€JEx¤ëýCÍÑ4–i5]æù{|“¯?÷mnùòÍèЬ;Ð FëÞí¤˜«Hç¡3‡ÔïSø׬VeÆÔ°Ê¢©HŽÎ ‹;p¸´ÿwº·sÚPŽ–ÓL/lʖ®¼†y[…‹àÀFíhvtá>ÚMÞiÌ`?øÏç¼£s:@Ô¼ÍçN-Fu*ò×7èÌrÝj80d§V¯\Â!xÀ7éTú_ Å9ÏFaý$òþ4ûäûRWtý“.Áú‡:‡¼ßجGö…cÇnwu2æH¿¬r°ÄҒy ¼ÁrNˆcÚ!ø9aմ嚦] g>¶z’fÿ$®Â0ÜÙ<&ÿy¼F³PúTeGËuüÿë~¨í¨;aÅ7 ò1 €|MÒõT‹å|iḢ0\g ŽAãÍÙ8ëdÄ­År×ö«eW‚?gœ€ßÜfg¼ì¶SJ:wV2`a¤Ž˜ºÈûÜ¢ãþHHŒ‚ÏŒ2_¼†Ð8¶(su›÷^T֝—“ªà[æA¨¼ÜêYx€î)}†2†9Ú=Äñí±:ف)ì<ÿ£DŽÀ”. 9@x謓¸rÒbËDOùˆËtd¦€z׀­‰ªÍøâ!;kÐbA;—§+Ν ¦nՊþÎ}`®ùeÐÚ™.Ýì­1[³js0&ݞöJO<ÇÚc}¬úr…Én® • “‘/š?æ-F +°÷ö~A&Œ«¡Ø±°êë9»ÍE, ã‰Où³ò`¸#¶nuþž‘ÅœóQ̲‚=(°§ïôž@¨oLy+¸ÌÔèL’i…¶ÏS˜î‡?tÛ þ™I·„ƒMW®¬;jºÃ&'°`±R¬ Rb4È«£mù˜Ù¸/6Õ ä—8»ÃãIYû‡}è!ÆÆ7€ñ¡¨\Ø.Ù1?`ÇDfáӆœr¯Wjçnô¡'.)!ÄX¦c—¼³c…Þš&(tºÏ%ªCeÁÒuö"ž;1sðÎdÚRÆԏé:ŦqU5&›øœFT&ÂLN·¦Z°…„Ip{™RôÆ9[ìÑTmQ˜Nm»† ûÁÅ ۅÍL-:YMÇ]1Õ¼ÜE§T¯†—}cv†æ¤䁫®ý½C8­ÏE(éåòA¨šëô|rËî=´e ûw­Ê1ܐ,mž\ÛÅc´RÚÂêÔ[ˆhžwŠMR¦L*ùTh‚Ud“lxGAúƒHybØ®Zޘw·T0ç„ü¡·“vÛbè;c¥‹'u+ðœßßþüÓ­ûõÛï0¾\Ѥƒ°®ª¿uÅù$ââµvê ØÅý®9R/@^º'²G*d„i¥žu :|™Içéæ ðZà ôÕ¸°ÎSºëV‡¦3E×+rçýnž^©Üwƒ¢Gô‘g0bú!J´MqÜøWµžÔöMTܦ#÷Ta5ɶ™”Ô±«&`ÜD0qÆÓôtüó'½ÆúÄ(»¾®&¤T:ž™‹Ïg9(égT0_þã^!3 ³c&BÍÏZF"¶Óf´»¶‘ò€mJ®Ú”\³{|”АŸFdþZg|Xbç-‰2jÛ²,”,‘öc”ŧU™àP–ýz‰¯ýpŸ3рã[ʼnÏe®,sÁGŸû€c>…¬µöoÒ += dãwž£BQ1Ô*‡‡ö¦,ŒÎz‰àåÞù†w$°æÌ ¹¥ÏsØIE+áÀ"”tð§¾Zùå±ÚՏJEÃÑÛëmÓøêl +#,[žÓ<ºíu¹/ëcí”w;Û5Z HÀP1œ~Pø `Uár»§€@äyípk’c©ZsLÿ”9Î}¨8ã Þ¿ðqà_⯠+endstream +endobj +3845 0 obj << +/Type /Page +/Contents 3846 0 R +/Resources 3844 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 3849 0 R +>> endobj +3847 0 obj << +/D [3845 0 R /XYZ -11.232 900.716 null] +>> endobj +574 0 obj << +/D [3845 0 R /XYZ 56.693 239.626 null] +>> endobj +3848 0 obj << +/D [3845 0 R /XYZ 56.693 212.04 null] +>> endobj +3844 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F102 977 0 R /F52 695 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +3852 0 obj << +/Length 2705 +/Filter /FlateDecode +>> +stream +xÚÅZY“Û6~Ÿ_¡š¼H. Cðf¼Þ*Ç96Y;[ëÑVm•ˆ„†Ì€„BBO~}/A3ە< $Žn|}7å-nÞ⇋o6WßGÞ"CYìNjÍnû(N)P,6Åâýòe”ttµö#où3´ÓÃoõ@”fò[žÃù­~øÿõ›Õ/›Ÿ€Ìc”E‘>íZÜ3ڕ”ŠNNu¼HzHê!OÂ`±ŽP–úØ àÄ$]^éìÇrçÅw›‹ß.0œï-ð"ŠQœ‹$Ã(öüE^_¼ÿÅ[0 0Kwje½ˆ°‡ü †1[\_ü÷Â3Px'!±g‡Â^¬™úàû‘âÂn[¼_Gž·$E¡¯ßö{ފT{rc°jõ–š·-Ýі6¹EVp UЄ’ œd(ÁS °ª¹5ŽyõCäa»WÓFØC9RYã,B~”ÀPõÒ·¼¨>xžO‹¯WëKN[RwWUÓÑV I Iæ‘á;Š–èc͞c„õñkýóŽÃ¬¡x-ȽàͦuŠÂ8•L ÌÌWƒYóր™—Àm.h;¨~ËU´¼ß—´ÑÜüÞÉ7 +; º2@ìc9N,|uëR@u §©]_Yꇶ¡…%i@÷³Åéy –y ä ;‹ø «L§VëuÁgH&zX2?ӕ-ïôiDˆ¶Ú®|oytÝQ1È«&¥ѷ4,߶ڲŠƒ¾¶÷¨c0ì8³kIS¸ŒQš$Óóêê#-çE`ÌI/:+¤0ádg iÌn Ö°où®h÷—†T0œ±’Š5 +vàÒî ÐIc{ã¼<€ÖžwÀDŒ÷þxŒœ€|ÜCŠJÒ!ð)òãÞíˆJ0—µø)J2ß®º+«¼ÔlçPä¬3—hi'¡~â;=/Ax0ÔóV>‘蟎J´„!£àÐûJ¾6«x}õ†oVIh•$HÀ’ÃdÖ¾­:úÐÜ8¸ ± +@1›¡8ê!'ÒW%ñr+]\’,_áhIA×ÔÛCGw¦gª~wÏúQnÞÜІÂ%Wêy'µCÛ',ã±?=óÁ‹¼;ÊØsxLƒå½ŠD°F”¼£ãÍf±v½¨ãµY“:Ê ÃcK c÷µ Bý´»˜éTIk=z±~0êӇÆèƒtJQ³+%¼uÎ ð|2½HºHl¦•U °T˜É‚㙏wt+7y¾™3î0eJ‚½‘;rcò?Uí-Ñï‚h PÞ~¶Í«Üá¤÷5á’:Ý­¡‡½òÜeð1ÂAïfeܧ#Ï6 ÀÆn™V0ÉË~O;e¼*úíô¯<Æl®L ۖÎJ åôÒè,ß ¼ÏYs:Ý'Jà‘ ÷Š1®?7ˆPŒ{ç*Àœ°ñÜç¢Òé>g!R–ÚÜõ›,ȪÑØʑHZ^Û\Rî¼90ÒZi2Æ}A6éy0Ëk {À_á®é©›ö©ôÍ]UЗ—øÒèÚöWš sKKéñ;êc¾ìÝ¢³-¹/ÈAp©ÕÕJ!¥÷z³edK™Kµ ºgƒáVÉi«*…!a´EDö0˜šÛÒ\Ãlàêw©w„¨~ÏÍüÌfÂÙç3 Dl6ÝðfýmùsýZÙ>lþ_59;hPåÎFÿNΉ÷ Wb…—lâ‘Ì­/ä§1àÓ§›ÿ¼~Ükêó~4ί£ )ö:A‰áEßLI$ô»$3¡$!hí¯Û‰Š1ëº=#÷öjû¶ê«r>S±à`:°ÃÃØÇÁü>ƒ0nc€NŸ&”5W<ÍÀ%wV;Env~uv”Æ)Ò¦º)Is;s“ +ÎîÍKš—`’Õí©Î„:ûф"Ï©ò«à:›bÈ Â$sdþñLŸM`3g=SIt®òƒÓ =œŽ#©x é2¡Lfj¢–ù‘ñFµÄûKdB¥cܑbè¿)¯ŠJP`g!y(H‡&½! ”§Êéy%ØÜø q~¬áQÔ§øH ÖZs¯çš}QvñüâÁUÔ&ª=DYS[dòeÿkæ•?ÖÊ,#¯,ùhÞQö%àkûšŠ€¢ÑUÑ Nq"oðjÒ}I2#„‘¤ÚÌøëúŸ~¶DÍRƒ«ù)¢>ԟƒ|;ˆðŏʼ>ÿšA¾5»Ìk¶mÞ¾‘óC›ScTðLÁ¦TsÆÄ,$—Q=VÝʏÓä1P’øÇ-:)ÉvzK鉬Ë: ‘?»oÄ>™Ä03”ý“¿QÓ5³*N´IË 'ȃO‘4ÕmÙÒÝg`yÔCíÑûß»7SÜú©oŒ…9©š^!N¤¶lB/9Õµ]=ӟòâ2Ops>£é•y½\gXÉ£ V‡'afT<‚ßryi`,áR¿ÎûʀÆáÓxR¡Ä©ØÈyÛÒnϛÂÝíƒz!LÃó@}}ÏOFé•NA +±Ð;Ҟ>Ôµ7¼`@õâÔá…jûžI4ÁëúÇͺê?blïgº6Dx3Óêï¥è=¬|øHjpþ_;ÖþÃqUÙMɞâÁw½¼ta6©Gs¾¿o«›R¸2PÜ»ËÁŽ_^²f]†€úH:ªËQ]óòòn¹¬¤vö_IAà—ÿÔðf)ätxê/ƅÏW8Lâ¼ÊéjçšÔ¶ù@Aí8+žÞ­kޘŠ&<ÝÅôG½it”LŒrJSԄ/\åŒ9cpû§é3dçǯÇ÷+Ïílê|bEõ ÝGŒ¶5Õ¼[5Š'P;Ö¤R±Ù »ªP…u’*Gс«lnÖ½S,Ì`ÓZ¯í-–©³ž–»·œ3Jš‡ölÙ¡Ýv'·¤YՉ‡w8a´ß|ã؂·ª;Õ¦ç+½üG¬%ÜDè‘jéÄ2·ƒêZeϖ]Cö]Ʌjuā [X¥¿ItzCj%K«‰,AP^®íDã(ÛÊ3¶ò‡¹~’‡˜U%)b !Vé^‹ùê=cä"ů‡NïñŠuóœÁ%T«&#é/-“VƒçÄÈA”¼í ÉADÖÕËOA¢Å<õg£«•d¹¥¦Ñ­V~ +¥€m9Àt%Û ~fºh~b˜tZ%¦ Ju™–ÈKé›î7<îþL/d¡—+ ཮H’I¿1ð-Ýd÷Õ™fÁÉf£ÄÁÚ³çn9JȂ$\V‚ÖR C/\jH•`®ö´íx£ÆjÖfÓ­¾´4 mMAèîœ> endobj +3853 0 obj << +/D [3851 0 R /XYZ -16.307 900.716 null] +>> endobj +3850 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F102 977 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +3856 0 obj << +/Length 2387 +/Filter /FlateDecode +>> +stream +xÚÅZY“Û¸~Ÿ_ÁòU5 A‚¹ªÖÉnâÔz·ÏCªì} $hÄ2Ej ÊcåקqòEɳŽ÷eHáh4úüº98x +pð÷»×w?0d(Kh`#%ð^ïîþu‡/‹‚!’ 3Dpb˜y[oŠS±ùÃbÉy“ïåÃ>¯PQmDÕ¢UylV}ޗ÷‘?.–q”„0ȟ„|ØÔëÈ}–j:õ<ëæ‹j[ÛIŠÇ›ËB¶ÒÎF0;!_¿¶µ4 ÆÂ>5Jp·B³Ž€e5K§g??‹•šŽÇӍØÂÎæ´Hü Ä-:—‰e܉¤Ï·ìù8AŠuÛä4íO ÂBѬò¶ØË««Ÿ‹M»s«K’ápio‹õ.åÌp»‡¿vöݾhwÚàœ¥KŽâ„ÿñÈòÿR6\õ~É0¿ÛlÄÆx„âÂØÞ¨zÑ}ޞo‹v@¡‹ƒ=#3ü}ò‰âg qd +ÙnSùûËrÿNäUr"E\:'cÀ:yÆ#1(±:2E{ 3F<¤y?‚B6°–Ꙫ3ñóƒ ¥ˆ³ì¸Ú;ú‚ 4ß.OÆ£„²B(2ç&$›w“‰âEëÏ "Çü­nÒÛª/øí="tÞØ!¿P…¶Çj-OU}…TÅð„69äÙ Í\;‚1”pÖ?âÐÔmݞS֒BYÁÎì4¢ÜØ©:L£˜íI›iD"“ ÔDѲÁÖ ëUãJ´~·P%ëç|(…%üúͽÅg\ŸÐÇkë&o:Õ(ZÅ[Ü÷†[DÉKx_–>7 êRÈ®îá +¸¡P]Ð[}jUÖkçQç>3ô¸$›õ8>ïq½¼µœv'µG‹ÒuSÎÎ3.fg/¹ð@x—{~m_{Þq'ü¿ºñ_wyõä« Ú!Œ0ş_áWsѐtšxè؈íºÌ¥œ®rpÔ¥y<!¥ÃA •l!ò BÁz@H_ÕÀ:À QϘXԉÚñ㏳"Ž¾=¸Ú’âéR^•]¿”©â~Ü ú0;»9Âqz+“ü“c }ïyª‚•‡2?y–&LaÄh| ' 1o’ +o@Œñá¸srèzÍ" +¹¿!$|6^¥³ñÊÃ^Ȑ:§˜KíùۇŒ‘uÏT—îˆïàÁÚb+d{ÝÈMŽ©nˆ#5e´$J¡À÷¶²-J ·¿d+tYú1$ºdi´7eäÚ¥•kGño¹5œ¡ž=§‰0Ñ ŒÚî#¼iö-uQ»Ñ€níyѶf^ŸD%TMeÓ-Yxš0/ÒÇ1ÔÛ&¯$PÜçmQWžC”K“4ÚßsS´­óo—UFÍ€e«àÕé&£" Dص§¯ ˜ß\Ú̘ʒb(¦RþÂxpæñãï7dá$óƒßØy{ϨB¾XÀû •ö´u]ª-ðC<¼µ/f=²Ÿa}|å£ÌÔ7ů¬&ÀtŠXWg¼¼ >ÇP„³‰üË©µ|NùÆ'“˜·zû-œi@ø €ÐÌg]Xà²îD%e7;†xÌ&ÒmAºUãö|ß¾1 ¿3u€N»ûo4ûmÙ¢Š'å÷dØÔûáçóv™î'ÞÜ ÛÖ_ËÜg ?î¼ ;/ܵûr¸ŸÏØ]Ù(›_B¥¿W¿Á1̗à«æ·mŽžD‹~=¢-OóÒK©!ºKjÞô-M½Mت8’ËVÝ[—Óih¿²©¶?@Âg½®©LçGO­ê£-Ï_-  +­§W®Ð|<ìÂƞÖˊúðcc;0µ·U1ۏLº.˜2Jht‹ð >5)ÙmrxC)©˜6LŸ¡QœÃh›5-!ØõŒ»$ûʪÇVvË¥#“»NœSî}Õô`l(ïA »sø¡Z•ÿô³úöø½r¿ŒYP•„§úh xRz-´Òì„y”y³ <Ômtؗïë£n"ÂÔtíÅà»7鄡Œ‚™Æ]iÇÝ^×)ð²²\ꞤæDÑa€ •‰_% eñTé(´ÎwÀs'3¾:¹ïxa>ÂTR´­ïœæÚj²º›î" Éouo~Ù½}€íÆn®a£u½ß×Õ俖¤³à‡ÍƒŸô,Àvô'™þŠw꿔”ê’ì%ÿ¤ô?ÀÃL™ +endstream +endobj +3855 0 obj << +/Type /Page +/Contents 3856 0 R +/Resources 3854 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 3849 0 R +>> endobj +3857 0 obj << +/D [3855 0 R /XYZ -11.232 900.716 null] +>> endobj +3854 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F102 977 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +3860 0 obj << +/Length 2683 +/Filter /FlateDecode +>> +stream +xÚ½ZݏÛ6ß¿Âب]Ä´H}§‡ær)R\Ó^v+ä–h[·’èŠt6›¿þ†R²¼òf7‡ÜCV‡ä çó7t‚ÙvÌ~¹xq}±z³œä KfכYÂH’Î2’0]—³wó·¢\‰Å’ÅÁüÔBáëFvø¢wŽøR/¤¼Á?¯þ¹øpý+°YRJò8ÆÝ®ô]-ÔN­ ¸ÓYܓÐp€}…³eLòÔñ§A ;¦Ù|…ʳòâ×]PØ?˜ÑYœ$giNI°YÑ\¼ûÌJ $ʳ٭ÙÌb&ð^Ï®.þu8UgUâ÷ŽrBƒ…zÏXl¥ðËfï–qÌ.KQ‚œI/dÓÈv:íº»ˆL>©ú£ÂáÄÍ÷¼ãZÁ¶DïˆXÐxþIwœ‘†"µh·0ú©1KB»‚ú£Mñü¤å ûN!jáÖES!±ÄãüV;.ê÷AèþR¾j*½»Ú2#Qb4 ÆdñÃù²ãª×؜Âx’5±ìnÌÃ(: À ë_ä§ÚÀ6þatÁA;ŽšÙwB©J¶ +çîΫI׌"Bix䚨±û~%$H˜ŸØÍK®92Ù.¬¢«Ú-2[.‘æÝ×B‹á˜4b~4ü ¿{gr1[²Œ’4HÇö°áFÙ\ºÖ.Òù÷v‘®Z-qã81~[ÅÁ@+K§fHï¸öˊúp4.pøG¿q +gh5ˆ§€›áÌûú !…iìÕôöA}Æõ÷õá¬ÙH‚Ô9 »—á€foˆjHŽYšœ*°Jûòå£1{X +Því«Åš«ªpµbð/»bä_8ÖJt[û¾†µ§“‡íNô8ƒ˜(:(ë%£…[sã+8`NdžÅN7ýü¾¶ñ ÕGaH̓sŠ ­3JbšûI&œŸ£Æ¢8&,ÉÇÙʈkþY/{·Z™M?˜Eï hG¥ì¸¦ÆY·¹Fg RpÉJ‰ÂÇéüÒìv‰ïÖê«AúÑi‘$N¾tƈÄC°·—²8ƒã—ìJÑá+†jðV)¨!cƒ„²u/¢Ò&Îýèp‰Ô$$eìq¡äƒÀ´´ñbÞçd_ŠZ*pfg;ÊHGy»/NÓ¢&‰óGI’ ìÝm½¤PB“ŽLþZÿ°ˆl ׺Œޗʝ¨-íÖù|Ãy uÖÁ5%ѯi·ê§“©­èCΝp_níaºÇ¾…lj58Ogdœò؟k%ŸKXžl)6já=š@¡Vðߑ'›5¤?_ÛOëú„ hh°d›N6È) +Ɗâ« f[MΖˆàÃA83ú¦Á(%u3RØxÅhOÑ÷Ð ,˜€'SËyMm°d9{2,ÂuÓp + xg*Á#áö|+Ô +2Ñú‘‘Ž­O;º´&€`Œ¾) óBÉf¯±¾…™óc4 ëPhë-xû§¬eíÂä†kÝO›D\4ÏÛôˆëÕ¡-Ô]+÷ªRޞ@.³!á@òKæ/€#†_!žÀ‡AŸ¼6À؝ڃDȈÔ>Þlâ`­Ò5aæøA&†™¾›pM&™5Æj©3Ž˜—pn,CØuÁ rbURÝH¥qÁ¡­Œ ¼º6Ä,kñ‰!X)¯”ž³Ì,î âùK¡ö•v¼M 4i/Œ¡ +!HÅýÖ¥N¦ûióæR;Î.:¾w[I|îø‚NLÀ©è0ø·›,£1tBÑcÝ%± º› ðkoX¢Zài¼Õ1›Kzî" +]À›wæ"‡€!"אøÍñm䐑µêÊoԉ}͋~«ÊIx[Y i$ÁGY!ašô¯ +}FǚëY ŸT{QT¼Ælm£ÀS-±í/_¾}}‰W¨rp.¨‡-w"ÃÞ®*ÍkÄÃ9èPiÁKü°5éKb~Zóùå ËÄÊÑáä{LŒÆÆ)!œ®ýž­èáuî­2á<Ð> ½7™jK ô“ä8ô!gk©ïöS2×pH:F‹î&ƒóFIL’,iâB_×µ,nŽ¯EFԓzJOéU[W­ð˓qqNNŠ³5—›ËÒoYxO!!®ñžB-^eÜ÷›4…ªÔOµ¡²õ8»7Û«ßÿð0µ‡-8àÿÄ»ïêjäWŽÝYˆ ³¢#þsâ÷·LÇÚ|+×¢sàùJó;W‡_‡^®úKÍãSƒ$ÎFãTŠÄ8ô§è‹uLUA§uA¿.Þ +{ñó˜.Ň¼höÚ¹ ƤoœÜ4 ›DÓßr¸Œ±5‰Oç¯7Ö)ý¬ÏíIÖ°z&eM‰Smü¥Š>–+™ÒüÃÙ¥jKŒ´‡fí¬§„¡š–Øbë©fdXי®ïiKàXÍôŠ®WŸfú/\ó¿Êe6èúùTšÆ$ŠûBU•ä–[x£¾x%okt<½A6­l—ŸEgÛe¨ðî’·²\q΍»ˆÎ_ ûÖ^t¥k?(×ÿÁ "K°72[Èö‡…$œ€J¿‡r¢]/àOwp¤õ>‚ÁX01Àï/Xe!›o¢ÛÒ»ª÷ÍáêⶪëqqÖÒ ßní-á€Ðÿö¥ÒÆt¾ÓM½ZW뺒¾ÅFÔ̑Ìe²l!èúútL-‘]e[RWìèñ‹IkOʏI[€Š{Lv±vºùã÷ ]8X Cµ¨Ö# È”,»Oùt+Ö@ÊÓcÒĝcÇ̏S˜Y-1 º.0Ž~䡓ÙøÑ“Ë\ÿ6Œ×j÷õAé;k{[uT¦‡\8žÐ«&iß«Þ±'€\}¤j©C7Ù-¡]e”>œ%7rd‹ÜC¦~ÜY¯³öKÏÛ/gHlû Aqt’Þç3åSÍòÈp\(ïƒú”‘8é1zÍ×¢žºvÎÉp5z[•þgƒÞΧ?PCÛÝTŸ½oô€Ã^M÷øx÷›F’(Ë¿p‹´K\0$Ñ©eÅƒ³OʛÒìJìщ=›7Øx¶“ýÜäÿŸu‚îTÿô@OmçgLÌuЁëWýÓ¥4ë²ê›!út$BŸŒDèÿ€D¦þcCdºÍükþ_ÃEW'‘ +endstream +endobj +3859 0 obj << +/Type /Page +/Contents 3860 0 R +/Resources 3858 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 3849 0 R +>> endobj +3861 0 obj << +/D [3859 0 R /XYZ -16.307 900.716 null] +>> endobj +3858 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F102 977 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +3864 0 obj << +/Length 2993 +/Filter /FlateDecode +>> +stream +xÚµZYsã6~÷¯PyB¥,˜à͙ÊC®ÉN’Ifc×n¶’Ô$AË$Á%¡±_¿Ýh€‡LٞTå‰ 6úüº’¿¸Yø‹ïξº>»|û‹œåI,®w‹$`IºÈxÈÂtq½]üæý"K):¹\±ïý¤´ìh¸S- ôÞ.~£6_)uK/¿^ý¸üãú{8fÅ9Ë㘨]é‡Rv{)u‡Ëp:_dpzâéŸFáb³<µçs?Šiæ]҃ ~yöíõÙÿÎ8Ð÷|',ÉÃEšs–øÁbSýö‡¿ØÂpÀ¢<[ܙÕ"æ> ÂÆåâêìŸg¾U…R%Žv”3à…˜ú=bÅûlñÛ*ö}ïËíVn­Zî–Ü÷½ÔrÄÞ½4¢•Ô²=Öä^ÔÛ²¨oèMíèYJ]¬`{E^ŒÆ"d.RÄ(Žáë£hË¢Ó²ÖíƒÕïĺ)ó£ÌmÃV°³{M;9(n ¼ +²˜e ¨‡g÷ô ±.%%¶n¥¸eb/3rP^ö'¾^®¢À÷þ½—õrú±ñ™Ã#æÑH¨O<4ïíuRttV­ê՟²UðÊs¯Ð4}W”%nd-[¡%½ |DØð¸X…IÄR?›ú³á„ìD옡›ýŒ±’„¡œ–¯Á¢ùÜíyÒöQÌ8©å#Ç©ÛÌf-Îóœ¥in-R~'сµšU=ð§c{ÇAä짠Ô1kxðR929t›7ªÖ¢¨;"n”Õ”ræŒ4dqøœâcæ§ñqp ·d\'^§[¡x`×ÈMñ»ïó8QX1­[ƒÏÄ1ґÏ|D,å)†çaŸŠ… -æ§cáisd,Kú{à¡M`M)6F˜³NŒÓ'œ˜ƒžÂ<|ދ³ÁÕå’ÇÞýF6šH“6á¸R€à$Qæ]ï­>¶r‡È)ÀšS>ÏÑQîÓëï~ì §fB3ªy£ª +‚8È@زT :g±·~ A¯]*‚˜‰xê]/3Ân\;4M+»Ž>he½•ä¸h@¦) Â`0Gä{ÀpG0§'»â± àgú(̤HSQŽðâ4e³YŸÁeÕè:?Ç1júüœÔãrú"Àr®>8Nm¢u mQÿ¥¥^ÔõèR¥Í’k»ùÐÉÝ¡´;m|P—$—B>¢GÉG Ò¼“r{)\Å¢÷BŸ¢Q*',ÒéfåüºT¡•ÄÞ+úI’&ŒþR÷­]2Ò$‰w%*š¸ÒT©Ê-ÍSº‡ù¦UÈÁÇbKš†5QÓŒ¨ÍÌÂy©´¥o\¦,Ëx"²|N³[µ±“$-NÉJÕ`OHm[·fɎýHÏÔlV[½;èÁÞªÑОªË~öeÙa®5n0”Eµj+Qʕ‹9‹7¢,§.:Ú@ì=*ŠN€Sd,ˆžM±œÅ<Ÿ$C¨w ¾K+\»0Îx°ð‘šH¢Úvr£í¢e›{ꠛƒ¦ÉJêv œÿ¸~ÿãíûðÍ[D˜ Z¬D݈ÙY +Áö×{{Ö qóZ:{PÙxÝ^ŒsÁv@*M! d #3ÛÊJ`nÂYìðDª•§›3ûZ‚ÒZpGløîi«Q`¡u)´.þKdÞTÂâ¡ =„b=ƒ‚!¢Å€­Ú6v¾S•œ)¨‰¹›(ÕºùÐ}¯¶6Q¿FÄŚûñ¡c÷]y6xóÜÌ c€0ŸeÇó÷wr ynöº*'¤¢l¼2!–<^qäÂ7X`vŽ19 @^!7 «ãCx4¿jâ‰]6³Ý¥ÅÊ'êë8öØ}…ó7snò$¡!CÈÑVôx_€áe‰N£«ÁA®ªBï§Ö +Z‚¥T}Iøtöµª1ÿ·ÖÕ>«ÕgSt'9Šÿ8àü#ɳ§¼+ä¾Ó‰‚æá–"ëB—ÒŠMÄÿE­{þ®´xÐÀøi©£§¥~‡ù«V¶¿¼ý–¯x ð|J׸恍¦Ú`GâÂôq09Éó9Á›Ð M‹’¶Aáã‚>\ÐÃ| KîÙ)ôچÅÈ 0³ >óØ,²u©6· Bƒ¤~1ƒÿa°0롽в‚T³5ÄO4E}³ò éU½l™ª…jðäЈòô¥D‰±ð_b}.²¨×C)Ö²œK„ Ñ wKð6ˆ€z;×Ãú, +ûOÿ“ü\fùŸ Æ÷¾G,r>J‘‡–¦Ð‹ñÙMïŸØP0?œÂîÞ¥¯ZiW™Êzœ¦¶3Yqwh!™Ù€Í¡Ó + h¼ØR£›†q¡ë24Œ”«”¥è + »Ïg2œãLÆ1Éé£L–ϻԓÙ ZcÇcÆ$c÷™àø“Õ\nèéÌSr6À緎\îIö濘îø1 i†u‹Ïßí­ áË*äNÞþM> ×)€þϒãu"6AT£¦Q€¬^8 ²ÑZ-ӍÀФµŒcÿÔÒ ä£ò@oÔÕÚvµD‰"_pšA00ƒ{“RF +4X:ø¦qöï˦‘ õÚTlp,õÇ'xC)f OC +«¿²ì£íáQ“9Ó5s²hÀÑ^p/)·3ð’…,ŽúÛBÌdI£1k]̑"À:PW»¶ù3ä3'é˜|}[";˜=º YʓÇçÜ[½Ÿ—‚gÙøj:Ç68Q8z”õ¡E.¢ Ëp@04U=<‡„/ ñ­Ý*Á‹Í5)¾aËæV ooWÖIVMúùØ}ÍG5 ¨¦*í®-QÓ`àÓmö§[†›¾/€ÛÀèûΠ$ôÑa֟èå×o?ÌUÜù·²Û@5ã\χ{­›×——wwwKh—]ݳª.[¹‚ã3,ï_ýl:Áÿ¾EÙl#ø¾âs­Ô­Åó09љ$§:“tXpÁj‡pŠ‹G¡1ž³¨>þRQ%®?þ<ž9Ã8î3›ºÙá1ø¹Ö`œÀ¡uvÕ7Y¼åë¾#0W*ãj>­Lòù|,È´¹›»ì>éVûo]-0êçû¬?Îñ\—GN{ ·Þ÷¬'lµ£–³~T.k获Ffkè¶ÂCŸ 7쇟u!ðˆþ_ëùã‚÷Yç䜝CǐÛß3–ۙû`苪Ìü¨ö3}¼õaA:Üc:;»ëâ¾;¤²¯;u}8ԇ•ØÊ©ô÷úPùŽîg³ˆ¥ÃTg»â›Ðw´o”; +jw1Òߢ@˜»ðié—[v+AęIö°$HŸŽ–í @JªÏ +)]ì(Êç›o¤-áí­i¶aò0·}­¡OlK15¹ê_1-¹Ú¤¿ +ƒÔñÓÌ×=;ýÝ׈›éñ™½ƒ ÇÅ¿ ²‘󺾒(\’UàLîÞêÍTlÜ+A¿ÙîKÿFl~?ªÐ +iîM%‡‰N sMCeZ¯ÌÞ +Ä+MLՑ§îúV*q‹Þ!iÿè¿Rôl塓ÓSX:PÉ /T2ƒÙFъòˆz¥ºÙ°Mݟá¥0?[ޜtÂ>Ä ¨/j]¸e0TjHÕÎEû„4ý½`¼‚—Îv$ËÆ6¢¶Ø³56 6¾Ï¥KwwJÿ»*ùzQ¹›ê™‚æ6†ø+Dýْgær^oԀ·»ý’b%À_ÄÌ¡8kzxûB‘Ÿ€i¸WӘ@?2½ ʑJš¢[k÷^<¬í7¶D„þ3%¼kz³²ªÖž¼Ù+ò”-½«šž…¶4­„{è#-7ÐER• #ôüù'© 9nì_±sZ Îý_&ò!äåï2ÿñ1ÎÖ +endstream +endobj +3863 0 obj << +/Type /Page +/Contents 3864 0 R +/Resources 3862 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 3849 0 R +>> endobj +3865 0 obj << +/D [3863 0 R /XYZ -11.232 900.716 null] +>> endobj +578 0 obj << +/D [3863 0 R /XYZ 56.693 240.288 null] +>> endobj +3866 0 obj << +/D [3863 0 R /XYZ 56.693 211.621 null] +>> endobj +3862 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F102 977 0 R /F52 695 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +3871 0 obj << +/Length 1689 +/Filter /FlateDecode +>> +stream +xÚÍYKÛ6¾ûWèh—=›S‚¤ŠlÑf ¤@’-Ѷº’èHr6é¯ïP$-ɖ½rš,rH,‘ÃáÌ7‡£Yìlìü6{¹œÝüêc'Fq@g¹vŠ‚ЉC,t–©ó~þVä‚×báRÏÿ¨õãZVú¡ÙšÉW2y)å½~ùûîÍâãòwØÆ%ž¯µÝ5_sQo…hj5 »'‚ݦv÷`ûÐcŽë£84û‚Æ0šßèBµröz9û4# ;ÄñÄÌ c‚L¤˜½ÿˆæÀäőóÐJŽO0¢,€çܹ›ý5à +<€„: úq‹‰UîňàÀX¡¨5îsÞ»c<_."<—2·îõÁ,¨‡X`t,-pk™çrAýùCVnôP²ååÆB½å ŠçŸğ›+!JýTðԌ5²‹G»7ØÜíM"…¡ò»Ý»9c"£øÈJ%Ò*¯³2Gñ¬ý\i– !&.%!"¾QÌ´Ö”úÇØùÝ­Tj7S­ö–ß/ž‹Ó\ Ã֕,Ž¶òZGYŒ( ;ʦÊV#®z/¶r…L÷ù’_ê܀ÜN¶ÎC ¾Dð>yzõ­L3e£HY¸Œ`ïMaÌ¿÷ã±ð¹ÆÝ â.òØÇMÿ›Ù»"k¶Ď)êFÈ À$ÆPÐEãQŠ¾[@ÑJq*½}ósóôAVi‘5B̾Q)C„ÑiDåi +=¥Ó;F]fžoÅÀžB”Í3 XӈÊÂY¦ùi¹Ö¿©X+*ñ}Þ聯ø¦â»­@eXÍÔ @#—‰ú ”µ ßì8DÒ-eUð<ˆ€þÀÐà¹ÖÛ¬÷»¬‘¢/…¡§"Ý£«¶+ynÔoÀø»F(Bõ9ó’çùQt » @Hýï›U•¥±< KD£ ¸Ñhàk*“œf·Å¯³8„§ãðOQìrÞ»ePØ¿pÍáY…Rـ¼wµƒ„ÖH¼k˞"°úä2¹¯{to Šav15 ²UžÉöd¢6Gm“˺æUf³œ6ýð ž Eè +ű&NãÂ0Ñ[”‡Ñ{ûúÅ«Û×0ÇNç´kn½‰ ÂY& wÂw¬ü:aa0•…#~Ô"i2Y¬qIͶx%¼·~± ¼³½ÏõàüZÃî Ú/Ðc·Ž„Åé¢èÑA ÄÞR‹¡YË~†äXˆ4ãrõ˜¦Kî„?(Uz¦J:©èÄdé?£Øy:ÑǓåU· ùŸ&'ËÉý7%³±h±G£åMM)Wä +25\ƒ _u}á'»¾ÞµŸˆ•y³–ë7}oL‰»˜þž„_%¾ª›ŠC)Âì ø¬sþ‹ùü;ÕMCD½Ã§igÿ +(ë1ý‡|?:Ò¿‡júÞ|ÄêÄ“á=GL|ÅâË°>z#ϦÈéhXðRI5ßv‚7ûÊÖB¶ŠúSIðÃÞ ¨:Çê…(‡ØVâób$«¯#aò +ãã0e%ÄéP¦m³Í6‡ œnA ½ „sA ù„}{%G§btjú£Ó*ªG«‰3Ԍ'ބ +¥kªŸè¢ìX?*èŸ’áW¶bÞªÜ~^> endobj +3872 0 obj << +/D [3870 0 R /XYZ -16.307 900.716 null] +>> endobj +582 0 obj << +/D [3870 0 R /XYZ 56.693 759.068 null] +>> endobj +3873 0 obj << +/D [3870 0 R /XYZ 56.693 738.489 null] +>> endobj +586 0 obj << +/D [3870 0 R /XYZ 56.693 667.177 null] +>> endobj +3874 0 obj << +/D [3870 0 R /XYZ 56.693 638.418 null] +>> endobj +590 0 obj << +/D [3870 0 R /XYZ 56.693 183.094 null] +>> endobj +3875 0 obj << +/D [3870 0 R /XYZ 56.693 146.098 null] +>> endobj +3869 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F52 695 0 R /F93 909 0 R /F102 977 0 R /F57 739 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +3878 0 obj << +/Length 2390 +/Filter /FlateDecode +>> +stream +xÚ­YYsÛº~÷¯àäÅÒLÜéºÎ8©“ºÍMÒØmo'¹3†HH¢C*—&¾¿¾ç`!Evœ´O àà,ßÙ ×Ù8®óæèåõÑòuè:)I#/r®×Nä‘(vê?v®sçÓì#/9kø|á…îìhy£†kQ«A»Õ?þId/…ø¢&¿^½ÿvý¸fA)IÃPQ»jïJÞl9oün§N·G>ÞÀõqà;‹¤±¾Ÿº PŒ“ÙR}¨áÉ£‹ë£Q ï:Ô #¥¾§”D®çd»£O¿¹N¿$Hç«Ü¹sBêϏ`\:WG;rµ*ܑJ<‡z$¥4D® ñ "!Wž+™0§œO êºî²S8F\-桒A'{ŠÖµQ`}¨ê¢ÊÊ.7ÚÞ±[£ï5gmWë]ٖUÞÀĜ&³f´êv+®%kõ]Í=wÖmÔä³ëzßæ4œñ†ôȉIêûJKçæ¢Ýê‹ÌÍ#à}¨Å-ÏZ5¹É…ýÎkqhì|·eu‘™XdŊ[Ø!W‚ÙŸ‹*/ô¯—uÑlÕÏnè¾a¼,2Q½÷MwËjàñ¹„JB‚(š¿²ªb9Ó6þETQ*Vpþ¾.îÌoºê–­ +=»ž'€Í<x‰ÍhqW”zþOœó²ÙŽë, #`ï;†8Ïsž£„þ¬éö{Q·j¢• «{žë;­]¿÷ ½iÇڑuüëZ¡F%[w=‚ „ÉH Z¼(!IàC’I#û–×–XåÇ$ +³ï¹…TH¢€š l¿ç`ÅoJO\ÿé”0–Y¨x‚p:P4Dà°¹MF¸0zz5_³Œ?$bO’v£®jáÆD2ê ԁ04Út:ÐáuùšBö8 ‰À!'º!h(i" 3iDH½c-©$MèÄrÓ¤$€&ªþQ‚qH|z`J5se0X2H[áqv}’ñ3lÇAÄfêläèz?än2í°¦Ètž3žg*šû(¢nã^€U±* RX]’º=²Z4I k^ó*_ž +AØ$Pëü¨÷8×)±Ø茯²ÅT +nû=‹€Âl;+$¢¸…•ÔQƒ·îx^0±’™×¢˜”Ð8љJË^Àþ#ԅ  ¯Ù#fÇ츚ßèçù½¯Ô$ ®Û‡,ý.·"md{ô£‘Ä•±k·ûm­ë“©y|§š‡¦I¼ôiæ¹øõÃÅÇË_.Þ]ÏS(ÞB%à§Ñì²ÊD ³VTX‘JÇÁUYÈ*Ç(‰¨»jŠVï:,HåBQÉdwH©7N°ÿ°Ÿ[~"â|¤³+á+ð=c[-¡ê=¶Û—|Thþ,(˘öÂJ•H:ððD .º¬='Õ.ýýãåCW^¸÷?²|®ï³hÐqó ÏøÐØ +›ò­±Åc(¼!b^ò“‘ñ‡’tt $Rȕ äJHÅÐM)۶ݟ,— ±X‹4¢«32I*Þ.uYº^–YWCØl—_•Ë Ÿ•Â¦ “·~Ç=mžÇé ÑX96\Ç¡„F}ÀÇAtèß1@ÙB¼vHímі6š^ +UPOS¶$@nÀLښ+G’éqð½)*Y–Çj>ð/§XMï8ÝVHLDòÜidÑ1 w‹þ6ÀڝšlxÅ끣›²hZU,Q4äÓ±;™ö¯ç¬9*9ؚ^²ú—5Š¿îû:Qv•½‹ʇ ÉVT•Ã#çà=õ”ì0~¦¦Ÿ†qyD›€Ž9ä»Iv"r -‹a I `IqÃÈP‚F§úbG–?€u˵÷béÄ¨‹¯…i Á-1ÀÝËàânüX2 âƒdehÃÒ¾0—…o¶EÆõIŽ%akŽ•ù‚ØfK±aH°|Ou׋?ñŠ­J®'X….º“é9”íµØ×k5uÝ!óü¡|qÓ³‹Yß°{lÞ9B·áýÌrN wšM7pi’œžV.”+ó‘r7~ý1ÙHëè>€ å†RºñƒþžV-8 ?pÉZ<„â]¿ka’pBëäE¦43S„%³;Ñ©¥¯sŠ|¶jÆÔgÐãØìa2vqƒ áäð¦æ(‹Ôpj®Lf7§[Íå¾ß?®%¢ië.ÓX hÌ—Æ8;R@n{ýÄÀ¬µŸ<Ø"Zìƒ-HŸ9^ä+£˜Èuµ’þøl-ijêÒ`ì÷ÑáÌÖqö‡“w¼l[”ù8¼ö°3¦{H¶Àúi……Öɍ|HÙW?†¢ÁÏ^m…h´¨ëZìlz}ÿîBmïß½ý—éߐ{üJî%5¬±°¾:±Ñ<=puînZV.ôìltD‡½Ó,#êgjářõ¦Ç,vv~ºÔ£Çv½|Ò®Wý.rº$9;]J¥Z0`ȌLð¾kµOL×Eµz[D¾ÝÂê”Nò¦±¥LÄhKõ‡åQ™÷ëþ·{سTÈJßøúˆˆ<×õåóq8}¥CֈÁhxdÆçE¦>H±i©ïÔTÆ(Qaµèd§kêõ ÷Ê6Wd$ÃJE-3=ډFP–Ñ‘¡sI%ª…V¯ZùFïTÕ·æ2Õ1¾±k²[†ïéª ‰qø¤káÚ#-)šÚ8L@øÒæ†:xšêp` ð‘*ÙÀSÓrN1Õ2+Á"§2l‘ñÖdCshÅó?¨‡ßƒÐ¡~SƒÍ¯ñe{b‹ŸÐÌ¡÷¿PÑÙã'ô~øhüDêÑáb€íÌ(¦‘Ê ô‹ƒThw¬_½„ÄÁ¤@Æ4ÃÙ$è¢Æŗí°ãhú3€ýW—E{ +endstream +endobj +3877 0 obj << +/Type /Page +/Contents 3878 0 R +/Resources 3876 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 3882 0 R +/Annots [ 3867 0 R 3868 0 R ] +>> endobj +3867 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [305.796 714.391 393.287 725.295] +/A << /S /GoTo /D (V1690_MAN) >> +>> endobj +3868 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [289.228 696.458 373.232 707.362] +/A << /S /GoTo /D (dot0) >> +>> endobj +3879 0 obj << +/D [3877 0 R /XYZ -11.232 900.716 null] +>> endobj +594 0 obj << +/D [3877 0 R /XYZ 56.693 759.068 null] +>> endobj +3880 0 obj << +/D [3877 0 R /XYZ 56.693 731.272 null] +>> endobj +598 0 obj << +/D [3877 0 R /XYZ 56.693 683.517 null] +>> endobj +3881 0 obj << +/D [3877 0 R /XYZ 56.693 655.131 null] +>> endobj +3876 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F52 695 0 R /F93 909 0 R /F102 977 0 R /F98 924 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +3886 0 obj << +/Length 2548 +/Filter /FlateDecode +>> +stream +xÚµZmÛ6þ¾¿B(îí¡fHŠz[ô®èKÒ¦èK.k +$ýÀ•èµYREº›í¯¿¡HêŦ×N.÷É%͐Ùgž÷¾»úz}õìEŒƒå M‚õ&H(JÒ #ŠÒ`]oÂ×¢\Šëqøs«„4ÃMۛÚڛ߶Å×mûÎ\üzûãõoë@͊”DZ‘v«k!·B(©oƒvd =‰´vêS«å©ÕOpÓ,|f~Mô›WÏ×W\Ä Jò(Hs‚Lƒbwõæ7”pV€XžÓ» &Ñ(qÜ^ýû +[Sà…Ih¥q>ØÄ g9"81«¢ eX†{/x³"ãðÅ/‹éó‚5(CQb¥¼¥4>”ƒ¯ÊR”Æ> x°Ó¯G)ŠIOom£D£Vê±֘‹£LfãÃ]ßv¢WöÌZt– –Åîñ^‰¾áõê¾çݶ*<² ÅI6¾P‹,çs£á|¦4öñ(K"1qïV;~/J®¸GKŒQŽÇ}€Ûí¸2‚¹R}uwMq¸W- ¹Š†’Œ€û(_bpð/Ê}×µ½2ÆÉap/ÑsU5÷ž½š£›ù¢³Š¯6•¨Aj +Š^pÕöÿüìoÿyþúöå/?öì_ž½p`L#'é-Æt±X˯Ï_™A»WÝ^¡ëU”Ñp½­¤™ÞñwׇC ¦‘O˜wñ©ÃrŠpœ,£S-Ø ‡r Ssýç5‰CÑË +Îr˜¨sã×Çðç5C^Õü®fZmûv¿uvV²×¾¢¯Høʸf¥¬ï½Ób~¿*úöŽÛµ¼¼½ÕڔfЂl;÷êÛvѕÐëy€u:G†8îE®±¾Žâ°•;޿ӂóP>îîÚڌ·°„Z»\e`úR˜yNYIe7™‡•Ú¿‘‡íÆÊä;ad˜Mçá÷ëŸ~´÷&Єæy&«ÚÞ܄P6¿Ãùkh¸:Á ªkZíÞ +!¥˜ÀÙBûÅ%®ã+ Ëñ˜ô•Úr;ÒÀëÆÄw6­™6§_´ "u Þ«¹”f¸]3¥=É=~cpP8u‘¡ÆñFšú`)wkI¬uµ¾™uÍ㎞v?ĝ¶‚Øè ¾¯!ZB8ƒdɖ!ԋ¼s8ޢ̀ +xaÑWòì-Pš ^ÿä†æžpþ7(Ø(1KÄÇÂ! Ðèb»áÃì"ž›³:HùíÌþ–6ÄKbk3n VÁ>‡! IÅìñژÖâõœ”ÌðÚБ3õ>õþg,Æãl:ûÓ1³õb–è=6cÂÑh³£=Åp²À§>͞œËBÂö/1ˆ6æp5ññª!_M‹¾kûñlaiOžw]]¹•©Öü +^líŒ{=,D]š€¤@C¢Øšà ïYûCxÉD}è¡*O=¤àDI”Øu5Wny¼q8äg락ÝÖû}Bv¢°RmÜK•³—¾U’œ!:ÆÙß=kKÑä^·Ó^—ƒ¥€Uåæ±øÂEY0{æˆø`°Í?ÄéÎ1ÍMûþ¦ÂÉd|ŒÉ&*¨éðÇƆÁŒ0.½ø” l© h äGqþt[O´À›ïƨwOTá²æj¶“#b@5ÉÏهEl’Î֐¸Ìƒb/U»«þ:A£eÙHöøt.”ebÈ}£ •Ðòg¤^¯Áðƒ(!á7Þ}[×nyÓ+c’ P'ÍÖg("äp-¨›¸™')a.=ž‡&c>ѺI%¯Le€:ÌR(R•‚R5¤Ìœš;Þ}R¢KAŒ$—Áœ§~2D¦Ü»i[LœÍ>|Ådóg— t6ÊŒ²tëôŽË2!\6äaP>™[<¢äRٔ}fϚDtdt8rÿïYïØpC³¥IΤ7ÿ@ùΨ{ä¾n¥¬­ûè1ÉN%x’ê*Šýÿ·ZA*«þå‰U.k}Ë=¨NЄ7CBóR =Ih âŽ.ÛïKH¾÷Ö»ŽòØÐÆ(gac +3/Z`‚†öŒ9Ó{à5âå®m*Ùg0)…$Š“s˜¤Ñ.›Yâ#e¸Ø¤hQÐlK2`tYZþèjtæCUùD/àcºhšÔ%}|"At‚™0d»³Ankë=×mᨳ«±®°TRŽÙ·RÇÀ)¿ã3”±åAÅÁ›b;‚Ö‚Þ9 2]/êBJ¡M{S5'ˆÆ²î¢wݬ¯uAƒg9âæü |Ç'J‚ü$ @¯Ê> ,þ<Ûíø{TŠÎˤÙ4‹<Ì°×q|°èÃv銀G±@"ŠP¦»¶ay¦ß‹º»¤ezÆϋºê\›Z˼¨!Q)¶šAZ¢È!Õq)žÞ/>Ú(óoT'ÐOÕ^Q’ÍøÑ]Â^ê}‘ (§²7íï´k¸Ð½%ýk“9ä1cÅù±ï6·—¼ûwy®óô¹WÊ}ç +铗BýJÒ³}Çk“4‚¬ìó.BÁ½&î0cÀ@s²8{BI¤Ð—H¤¿1%çK(R–]åßrŠºÒv†ŠÙ¤Rý}ÄQîî)ÚHbHE‹Ï*íÝï¢PE{ +㳃ºRÛ¬\ºf‡¿x]¶8ɎW½¿vGιf%íéïkŸ¬\ÈNf¼/|ۀѸ‹/«Ý=’}:®¶_zä ¾;ÚË÷'G,å½zy\/Ä(e——£¦~§óö‚ }t\N§s@p!l³„NŽ0mÌ_>ƒ¾ +ˆŸ²@²D<3£?å4\›+ç¡0\t¤™{؊ƌ€­î+®?Ù­"–4+舳0<nƒã‘ZNjbAB„öµÏlš@6"4¹€á€š¢*gŸ¨‘ûÇðÆ\د&ŽÍ-¾¦3x…˜á{ÍOn¶½Ø<ñuÒTq(C<ûJ=rDü?vu¾ï¢`áÈÖÊ[G)?_¬ŸÝËSe«ÎvøÃIµ+S‡‹É?|„D ³m)6úk2­ê~ïD÷,Åéa7³0Ñpܖ1SiµË"WzUrlnÏ OWôšù÷)³Ò…9|ÿ¯`á$ÿ˜¿Wü¯ÃՐ +endstream +endobj +3885 0 obj << +/Type /Page +/Contents 3886 0 R +/Resources 3884 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 3882 0 R +>> endobj +3887 0 obj << +/D [3885 0 R /XYZ -16.307 900.716 null] +>> endobj +602 0 obj << +/D [3885 0 R /XYZ 56.693 759.068 null] +>> endobj +3888 0 obj << +/D [3885 0 R /XYZ 56.693 738.489 null] +>> endobj +606 0 obj << +/D [3885 0 R /XYZ 56.693 369.916 null] +>> endobj +3889 0 obj << +/D [3885 0 R /XYZ 56.693 341.531 null] +>> endobj +610 0 obj << +/D [3885 0 R /XYZ 56.693 311.688 null] +>> endobj +3890 0 obj << +/D [3885 0 R /XYZ 56.693 283.303 null] +>> endobj +3884 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F52 695 0 R /F93 909 0 R /F102 977 0 R /F98 924 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +3893 0 obj << +/Length 4417 +/Filter /FlateDecode +>> +stream +xÚ­\Y“ã¶~ß_¡JªbNÕ +æ}¬Ÿâ\vbçðŽ«Re§Ê I̐„L;;ùõéF¼†Zi4û2ÂÙh4¯ปÃÆÝüåÍ×÷o¾üsän2–Å~¼¹ßobŸÅÉ&õ$›ûbó“óƒ¨WânëG®ówÙ Eɽl)ÑMåeþµ””ù÷ûïîþsÿWfëy,‹"¢ö¾{ª„: +Ñ)¬†Ñ½M +£ÇŽÂðIl¶Ë3¾ç¹@1I/éÇócìùæO÷o~}ã}wãm¢˜ÅY°I2Å®¿Éë7?ýÇÝP°0K7ºe½‰<—ùA éjóþÍ¿Þ¸FîY‘XÚaÆ<7&¦~öýHsa»m~ÚF®ëü¾(Dq· ¼È)›²+yõrëˆ;(úxmY‹¦ãµQýé$ێ2Z :ш–wes Š\6tZ´Òbǒoî¿ÿŽd \jY†ÈvàfÌ q¢šã®ì*aD>]à27m+Þum¹»ó]§ï ù}+kqƇÜÓ/²ñ|pÏKX T«ned/c~2Œ Z†’aZi¶aœ°Vi¦;÷ÇRëHäțƒ 4/ +S:Hӏb«ž‘UO”\UÉ;?rµd±¨lª²1ՆCK6Õ¥~v#·‘¶NÉÕڌߚª]%ó‡9-èë½[Oè‚úƒxv»V|X[$”ÙfoWEÓ%æy.ª2~ÌÒì"™qµòV6[» Ó̬ƒQþ§zm5]–ÄŸÇM>ŒÑ•²¹qÊ~<êëéT•9?C,‚›¤×뻣l;U+ô’ˆ^r5½8”͉Ö¶]˜²Ð»žµ¼ìÎM2 `¿ˆ’hÅ´³}Z¡‡,ŠÒ«×©³,zŠÙKH­1ä{,ò®Wˆ¼âJ5¼¾MæÛ0C£”ÌíN. q#g‘?l«\Ö5oŠ5OX|IæsB'°Î­ì;ø½QM#™lTǛîœne/ ÔŸQ+=Åë ¼ã;¯fIÔ¼¼Õ&Nd.š¼½™ÌÈMÛÊöŒ:]c¦!©›ý9WÝ`ñC€9Ù|ˆ«x̼ðêýM£<>ƒ5sqBsxfþpheÁõFlÏ?¾zvû²çVã +Ln_¶ª{ÅÂ.I¥¨?)يòМŽíú¶Ô"¿þhÜ÷MþyγC%•ºyŽëÿЗ»¾ëÖÙ»H3dY8è*óu¤sÑ$"!B¨â»U|wYÁ–”œö7³,¨o_K®T¿;ÃX°$»~†GޏˆË_-«£lîËü&|3#U‚óÔîy.>©OlæŒ yáIü žr~º¨/謟{/gH­: /d¿uhþB†4¡¦‘gº†cé èÁâòêõŒÕ¼}è?ÃÒÕ¢èŒí¹¼3´ÀÅ*Ψ¦¦u½ jiw@±ØOç; Wâ6Ž˜Ñ›•§O9«/¥Ã«[½d²;‚ŽE{«Ûµ õ¸1ÎïÄó‡Ol©—j!Ø7ó4Lï$Zu'^£pS¶ŽºÍ ˜²$wgàæE”8áEªîœ#qQ—¨Ç„uN­,úüô¼&–’1-K¬¯w«Ëx ^œ“«Oݍ¶,ó½ ЈÕ@Ã50}Bé×^v·*Ãdb6s.ˆr+3áªhõo–Ó„­S‚ïªÛuaÂT×·à@WýmÄÖAzÇ7m#@Ré xê>iÞw7m£9%8ÿoÓ$dZ!nSô%Ø~ûRTÅ­Ø|:·ö†á¢3ÖïTޖ«›ù*ßjÂVÖý±ëæ8᫽1Ï =Õ;Y}†|·¶.-ƉR–ø ”¿îx]·†­þš}4¼û›Žþ9!ù š›·Ñ`r:@GçLáuZ6r´²ºý1Ô·å-1¦9 %Ú²Yù^åAŽ¤>ð×iû@èQ¶Wøwvº º |PþÌõÍX|ݪú“=ÈЍ^8ù±oðoåÞј'ãÉóáXªN®Æ¤£˜ùž7ñ©¥T þÄëOÌýìº~%h`¼ +Te]V¼¥Jۅîç –aß)$Ý8b”ºN=–Ýqe~èÂF´¯^sYæ—ÏN¼mdwÛÀMœâu3ïò£±‰Ë´ô'ƃîuñªþþ(knnõßçǖ#ABžëüA:‘U¥WD_ö·²?Æ=ןÊ>‰§'f#ï¶1¬§¹Îl\ NóÚÖôà0 '¨oð¢Èas]Ù ©™öú.«Tå¹ û¨ªw0©0t¾ãӉS§âÍ¡çú*9NôE¢äþƒ-«OUÉñfzÄþ Ð™S ð ðR™2;)+ÁÛ·Aõ9Póq6¡k7Ö\‚A<Û[škäiìÄÚ}Έs( Â‘,B?ÍÅX=N%Ioñ.;ñõ5 }»ùF6Ûÿ‰VR)*=é7T¡­à}Õ¡¶½¥'0_P·'jß7žÊ²5]ʆÊ9e'‡BíÂèòDzª¨lgJ0l +’ú€´³k©CµÞsPÍ){¼ƒ‘OGaF¡Ñ|z¡KèšLO91S̔}œ²–$‰g&G”ÀÛÅ — ó3ÌCÊ0©m)ö¥¸Ú–Š-­£¯/Ì£ŒÌ#ï8E•faÐð¾Ëž©²ç‚.×|í|t7`T˜7}(@óx'@ •TÂT€T¨0 ©ÈâUµ¢R5<Ó¡Zzr°DÑƙ–x¥©K÷‚Ì7Cµâ×^¨潍¢ÐùÖ Fo5ôp’šz \Ü.XDT2l(Í´ÙC}Kñ5ÝâÄ·k‹ÌþB5Ní¥ÔÓïVІ‘NqIN"×/= V¿èHµ\·'ZÛÔ3ZC5Û-••M^õÅ@eÐ<Ã6ÑÒÀÊÿöª+‘qzœ€Š”fLµ¨Ê;˜âÝÖs bÀÃ@âƒÒ Ӆî+C_·]™÷M9êb~;“£ŒöOZ_õûcéé%Ëlސ; +^§=÷R"Á… F‹.¿‰úû`qT[>!;TrÇ+zqã:E©Àñ9 ²Ý™e‹V>eq!ðw«öÕM™—yc€´aºÛ~õ%„ˆj|°boîgÀÒ$™</_’Ù§Nݲ4b©kÞ¼á3;˜V–âî@-Ì2c„ hbƒ©€Ä8m²“€-tJ¯²®’ÊTj3¿ÆÄC%šxh«´7VþÈyO²Q¼Ú #cô¢Í°PIù ¨åAJÓļ¡‚Ô#Ùg¨-»9¼R†‰ÉêŠâ«;„Œhë§êOC/sËüË7£f|AEÍ°%F¨3´?´f”-›½¤n…w35­¶ç¦s ó þÄLÏÁF ]£b˜HIFŠ6‰cŠÔQéJ¹ÉÒ?h€ÒnÈÜèÎTª„i§àÁ/`oì_àvÒ`ì¯èƒìKíEÃ*ýêÍC¢»<Ë©%l‚a•%ÐÌ¡—sš@²’¼’¥e*ðYè%£Ÿ)Ãcäc.”*?hÅ +^ã£Eõ¤­¡£NxO¦‹v¢{¤=Ñ|®.rć•îꥸœ™ï|AT†­¨½Í ’Ší‹Œr†NÎÍxÖ:è NØt]›qü|ƨpÒèUÝ[cÎNP#;A–E¶b>¶kw¯5Ú0´¹«ô£Dß@9ø5sƒÔTá!KS„„Ðý‰~§VVÏÂ'ì?•4Ääޒ‡&φz’=% +܋°*¦üQ›­¦{6Ž0, ú€Lò¶Ô¡G]ŠŽªƒ[f'©–  ›¿%˜G–°7+ØYX/)Žœ¿áXBœhžqfí&tX'TMÃCí³“ÊèÔ"ß ±*CŠªŒh¦5Ó"™H š„I&Y‚`B[ã´ |WöÚDÚœFicQ³þ=Š7O4 7ŸÖ 3 +©–£jh’è²ê”Ù  u¼lÈNAžD­÷8Š— ö:¶Óö ¡&mL[aà_¶aÈÝÙé ¸"0‘éeàfNÛ7”ЯÓDK-ø=J‹5!SKÕQŠ&Î*M ë¸!cQ2$õÓ_L€žÕ¼ƒµ^Ã4q¾î ŽVmÖXÉÚ¤ðÒX«ù8¤yؤ è¹êó£é®Š†ÑVk³×ŒÚ“l Ù¬§ñ‚0L쎞«¢¼ÙVîYÇ+-6@S7¦w‹”£§×z£Æ‰² [7öí^søU 8ü5ZâØÖ€4¨€!!Fm3Ôñœ-”šÄô°R¾5êÔsO Yxj]Þ,YÿÙп±:…Œ!PDς5hý›‰<ÒÔÊã7”ÃQó¾m®Ãñ ¦ê-Á%4Kkoý—¹nôyÁF,€—‡^¤”¾þ åúýÏkßR&nxÝv‰NðùnÍ&Ä^흑º2„­-ÎàèÌ£’óÆ¥¼>z¬Q<4.éþšò²t|ÛdRª+–u`XÇ< øÂ0h1̀üŸ˜&Ì “Éž‡‹Òц]2̓“”ñâ:†0US(¤OGZ 8F“Õ½2áàxüzfáVz!‹²`Õ¯dÖn0c2V£} ²åÍÂ| |Q¶î¹²O­Fؓ`ò¥Ì#9çƒ “Ô[ÄÞkÁö£Ehšõm¥(x<9zžó’ÆÌMæþôä¨Ë@†atÕY÷-CübG¼å'ÚÇñ'¡]ÌЅ¦ÇBÚò„ ;Db03Fb„B €¡hÔΡ ÌVÃ#,7EtÞÏyI /ïîðõŸeöÕµ#xÍڕ]ÿ©ó®æ§/{S5Z ~ +cë¦?lZ†–¸é3LÙƖìcÊâûʆ}lèt¤§C˜-Ä̃ñ’tâq<d†‹# 0>jp ¨’cÄò¤'¤LSQâˏ¼ „^ø-$51xJì£=•9Ò/`´^ÅM`QJ˃Awȍ)ùÝoSßw¿‚u,›-õ¾ZźÇé'm^Hnüê@8ü’ۏëåÛð¤‡Þ à<41ß&B¥¢Š’@‚ïÊ +?Ë!JûE-‰‚ÙÏ9©RÒ¯½ô¡Ü/ú‚Ò?Çþµ7nº}• OB©$°:7qH}¹®Ö$1( +wK^-£¡«Šó 9U¨g6Að\+¢Ç¦RŒÍ»&3‹œÆr[„žH){³˜“:4«~µXªš*ɂ@ùԂ̕'¦K:Ò%&ˆ¥ã—:9 +Zkޚ ±™½ßY¹èM]æ‡ÙÝ .©b&´ ÛA¿WžÁ,!*lL˜v§GtêRã¯*ÊPp *ǧ§ÚG +Rë²Nêõ}œha“Ð, +”ƒ´aEŽ¸4è&¹C…Á C†›ApÉqіNJvWv-×±3l *‘Ûë‡ÔFá·fJs1€ÙDo%¶ò]úÕK¿y +ÂéiƋÓ°>9‘ZӈÛÄIvdœut +̅Š×ÆéìK_H»ÐJ]wíx\3ƒ£Ú… µ£A ·GŽftpûõt +â3€”ùÙBb“ÈT+ŠJ娣tˈ9}ŠQ¨O ,€£æ¤—›JaìeÎï›bè¬ÅH„PÆwt É ¤ßq¿Et•h։ï0"¶õ(ƒÛæÛ÷ÿئi”m=£ÆÈ}¬¨d# '?*a–᪺<;újl²’xʙ/í7ãyg¿9æ¦e¹¿m67¯úkf¼Ÿ²ŸEw²&VLíé’ÃdÌ÷ÔÃj¥á+çÒ|F=ù¸,ìÛÜ*dޏ˜ YðdoF#×Z1Û¹/7ï,X»ôÕaTú}0¾µó þúY¢£ûq˜«à)\û7!xÓîoø/ÿKCÌ/ +endstream +endobj +3892 0 obj << +/Type /Page +/Contents 3893 0 R +/Resources 3891 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 3882 0 R +>> endobj +3894 0 obj << +/D [3892 0 R /XYZ -11.232 900.716 null] +>> endobj +614 0 obj << +/D [3892 0 R /XYZ 56.693 538.389 null] +>> endobj +3883 0 obj << +/D [3892 0 R /XYZ 56.693 510.269 null] +>> endobj +3891 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F102 977 0 R /F52 695 0 R /F108 3706 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +3897 0 obj << +/Length 3415 +/Filter /FlateDecode +>> +stream +xÚµ]sÛ8î=¿ÂoQfjUõ¹oÝmzíMÛÜ5éÌíìîLd‰Žu‘EW”šÍ¿?€õáÈÉÎvîÅ"A_´·º[y«œý|söú]ä­27‹ƒxu³]Ł'«Ô®HV7åê7独e®åÅ:ˆ<ç³ê¤¦æVµÔèv<øV?+uOÿ\¼øã柰ÍÚ÷Ý,ŠÛu÷XK½“²Ó8 »û«vîÂöI(VëÈÍÞß÷}À˜¤ÎkúøAŒ+Ï.oξù€ß[ù«(vãL¬’Ìwc/Xû³ßþðV%Œn˜¥«3s¿Š|Ï D ízu}öï3ï4+"׏ýUf®ïÅḊˆð<'/˪«÷:u±ö³ 8¡ £T¨ýÞëÇýFÕúô|‘m—W ­èµl5ÍÚçÔØåç|¿ð#‡‘åôi¤,y#EÞnÇ[PgÛª=µȦ¥%_›ªP%OßÔª¸×.t2á\ÃÆqä0yZíåF•KÂ{Øá¾IäTš¾¥*ú½lºª¹#@Þð÷p¨«"g •uÞ!ùØéÍ>ïvܪîv5é”ÓitJÄJŸ ò§o +^«¶ôyæbÙñêÛO°„=°š@WÙæjõùì¸,ìeBøÄ2jþîE2–Gò¡±Q}GÍ8¢o±Ëۼ茐±rÇo·ËÍÌ`Š×ý#@H wP5ù¦¶}8uǤžüÖWØýŽ?y Ñ@¤Ž"á\µ4k-­©5ã"æ/È6­kÔÊ,têêþÔC’μ‰oòNÓØzM_Ý™ÀxÎ#Ä|h;YÜïóöž»pHPL)œÅphŽ*oJÆ©£Õ‘>à$šê@>˜½HMSX¦ÝòÎ ÉGP¾~è/qd*O´r(O²(ºyëèdö„F£aµ¨Šœ÷±4ÉÜÜ0ò[ÐTØê®ÍKYž %ŽØL0\ÈmOb50·lB)Ž=;â-·B  æ`ì;ª.Ɇƒå56<46?èóŸ.Öaj´TˆÄ¹ÕýFz2ŠBÄ`ÿç4hÔÝ4xò hÔg²ñ¡ØÔaJÅH¸ç=™“„Så w‰qØ¡·Îç†zë.}ÅÆðr¹d1g@„‰$Á¶dM†`ÁŽ±Š²9b °4œÒÄCu˜:G Ÿhå‰ßB5]«ê…Šº]«ú» âñ>ú3Œìg¢ˆtÐȼquׂµp͆.nòT!N8!²« ¿½Dé„úV‘ÌāºU‹!x ñË*n‰% †£ý5ÓÑ~’Ö ÝÄs Üäààë\ÞfÎDPƒQ‰vUÁ£èr55Qâ•q1Z°¦¬É·Gtô²b4l¡C +þ²¡Ñ. +ÁÈÈ–Q{¡sêNíbæH]äÉþKˆŒämˆ›É!,Š'f:o…‰ˆì#èrYitŸ%Z1‘¸ÈéfÃ#zajÅKªº¦Ö07fó0pö‡¾c šnßV‘¸<ƒ9Ò >º«œðQõvŸ†B€I‹¹âÈ1âTÎœV[ê£@eyòîQ4³0Ø' cZÖF"qQLv0²48ªÄ&jOcÅ<€ïÜ„ƒ#À…M3–¾ÒD7%ãx¤o)·Æ|ôuÇیžžS*r4Oãs¹ö¤µ!‡ +!zߚÁ65kŸ “¸ÝÌQF?ÂÈÚ,˜¿WÆ ãäáâX`ZÔÀ-”#>h|ë9• +)ààà‡’ˆÀ³`#d¦|r`{K¼ÔySkðÐ F™”+ XBÐP¼AÛ¥‚YOc9}n1F8çuM®±±¸Œ½'€­Bþ^•æHÑýá Z¦T1.…6&j9mLʐz“È+Lø‡ý­ÝSÅŽÄÌâ®-0A…<“ š‚£´gn”7al¿&.xrDhG8:& +öØ1ÍRê-Ì ËÁÆÔ‹þÉäÁ6/æOã0¤¼S^ )º\{ÕæËgÞ,†ùé\‘º¾mô³g¥ŽalóÚ²ó9:×ÃV#O§Ä‚á5~Wv™^+h¼’¿{^`Kc@[z ^"w{Äû™ôœáV‚ä¼)ˆÖÌËxð&(~„D® ·m[Õò‡Ùx°kµß~R¶ 2xŽ~A–mõÃT©P $6y÷‚´lzÓÛÖóºÕ˜hWϟG;±xåq*ȨÀßAÔHÉ©‰X¦'Ç°Íi<¿¤¿A4ŸöÛ:ò<çzRt[f³ÌÇØc­¶kY$&¡Zƙ +|ðx&ƒ÷à×/5µÈ.CVÞ3 }QÑ·˜2Õ¶.$<@ÙP%€V=MûDº^0Í=¢\ˆ’ƒØM³ÌÎb÷ +f´b +îª1Hb¹°ÌXIÉ'.vª*¤žÑ\7Œ²¹MãØQææÐs +„†q4— ¥ ÇùÜï7¤Ö²‘’ò€p£c†C\æg”ZdC|§1hH…Ú @_QÇ&F䒇¹v&}õ·Þ”Ÿ°½E¥ ³cìrC¶Ì¬fŽtøÆ aááÕì$¸%rÓG^Š¹˜Rì '¹š[cgujb1!¨ܝ:º-²9u%m‘ñH끺ÑX‹²ºjl>:’; +Ès>Ž”23=‡Òlðy_qµ…®óÜáé;•úwþßL™‡&b‘×à¤[©õSF¼UÍù…ÙåäèOÏ-Qå|:¥,ÄPûÇ¿Àƒ¿{àÕzá¢þzácY¦§@‘ƒ]Œ-)†h1¨>퇝ä,:–"hêêë’Ú&‘IC§oJÙâÍÄÔ%ôlB +3&‘8*FsÛÙ)T+jïõ9õMÓì©Mº’ ›ÓÁÌ^C˜4ì<¡“iN»T†1g;½Pœªt„±‰lZè -¸i”ø¤Ô‘º‰Úu¯‹(àÞ¼ð)j¸aî`CN¡ŽFÔ&ãA†,ìñB¤Ë{ŒB[ÚEøà†Ä“Zfnqm/ 3í¸Ly÷˜ÏR2ÍùíÍÂ'Í~°QŽì3Ú—µÎÑpwl’:_.ß]~¹üüËåµK¥¢ã<<"6gl½æíӊ!7ðc͜¡ñcPgìў²ü²Ÿ>-Ž5Çv=ñÜ8LÿZ`ô‹9_IŸ1ZáP¡ÁAÙŠ¸Ž=Snƒ_oÞ­S—ÉM¦’n0Ü +NÌXZ0K‡@Ð^"× VzÀÁ½ò;» oÑXJ‚OI3•[˜Ðæ0T-O‘ëeÓË!B1V²ˆiu¤é''ž/ðM0¦hx:?ãg;zdŒ¯)óš6à V7°C´ãÕôbS3lÅãü±A'0ͅ§Í#BS1ÀîJ/£\f›ñ+klt›–ÏŠ M‹&EE„.<¶ë] +.Ū]ü¼Ú½aŸg“”7Nù2ÒˆMõpf¡²dnùãÉVË¢ Ç·?¶+8ǖ¸^<˜2Sö¯ñ~- ‹b7L¢):Cl#u'O<åø£º1œÉ<‹ZR¶bÂÊÜ$•0ڎêÈÙ$LÀN»©º6o‰‘õ¤PZÓ µå? À³)6 ôψôKre/¤ e!&Æqƕ8vãє}~óér骆 âàEÉ%Ôë_?_ýëúÃõ’Ä®Hü—qùƒ½zóõæý՗T"ڇ=ÙZk:5?ñ„öU(š‡¤Üfb¹Wùû¯Äøw‰¦Ôw£lˆÀ`Ê%NÁ¤‘òWK w=1¨؛*.)Ž²©qŒàÞw…Ky‡ö©÷èáqäÈ°Ðk^Õb©c[®ñ_%õ‰ иlîÀ=ïÀ Çaæ| ¢nŠÉøÈ7˜I›BãN6øwƒ'¨øo#Ø4®À¾±b£PŠujUä5 ÏÿÛk3˜•ÙºwW¼yû½¿ù´ø‡=ùCÚûÛß3Ž_äÚ½&-ë Ã߇r­å~SOê›wò#ÁY¼Þ*5¾¸ˆ:y7Ÿä Š 5ÿãaýpoÞ/†©;ÚÒ}^´œ ÜvUgëdTžo“ O©ÄóªÝ{iÉ!£ËÎ¥ìòªÖ®»TN~còç  "„ !†ç5ÿBx¾pÈ,qÃñ òäáf V},y›MéÈfH”,ñ¶Ìæ€õÁ\ lÆZ‰a7É2°‡@Œü ⁹>eÑÐÉ&ËHHî*À{ƒêÀ¯ïÀ¹$>º¿V$^H§8Ç]Ln•©?×BÍ_*þ̱üv¤døß«çµUq[°"{áÿ ÀÀm_¿ öó +ÕÒ¿ÞB"€ìïüéíO¹Ÿl +endstream +endobj +3896 0 obj << +/Type /Page +/Contents 3897 0 R +/Resources 3895 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 3882 0 R +>> endobj +3898 0 obj << +/D [3896 0 R /XYZ -16.307 900.716 null] +>> endobj +3899 0 obj << +/D [3896 0 R /XYZ 56.693 398.257 null] +>> endobj +3900 0 obj << +/D [3896 0 R /XYZ 56.693 372.418 null] +>> endobj +3901 0 obj << +/D [3896 0 R /XYZ 56.693 354.421 null] +>> endobj +3895 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F102 977 0 R /F113 3713 0 R /F57 739 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +3904 0 obj << +/Length 2643 +/Filter /FlateDecode +>> +stream +xÚÍ[moãÆþî_A䋥洷ï$‹k^ÒÚ$M»@Ë¡Ç“V6aJTIÚÎõ×wö…’H‘¥5¯sµÜ™yfö…;8¸ pðîêííÕëïbK*ƒÛe )’a†XÜ.‚÷“ŸU¦’RMgTàÉßòJ•¶¸Ì [¨îÝËoóùÛ<°?þuóÃôÃí_ÍŒ a©ÝTŸ3UÞ+U•ú5p'AÜ%ÓÜ9°9 fÅ¡ãOŠa4ym„JÝóêÏ·Wÿ¹"@$ɘaLÄ4˜¯®ÞÀÁށˆÇQðlZ®A0¢LB9 n®þq…*ÚO£ ¹SM"Bdò,­pwÕÃ,ßTi¾.Á‡ð€˜ãÉ»Û￞Î$”þYªâº´å“õc’Mg$‚ݽu³7³™-Ü«d¡Š.MîèŠ4OŠ1›<£x:ãt‡e6Ýr  ńXåÓ]’¥Ÿö:š7¶z7¶æÈL›Ã®GÕ NGЕ™²´uߪ¹Z}ª™’8Žetšån˜-Ä×ìíЭZ/,ŠïUáÀÔ…-܁ÜÊùÂsZÝ»Ò}:¿ß54ìEâ\³#‚£˜E0n  "_.ÿ½JÖ;¹E”!Â|Û[›äΉR¨¥*œ,UޒóiJˆŸæeݯ¨\1_¶[˼¶Úú½q´¶g´ÜbFÁ£0#MìTi•)=¦RÍ5ü¬EˆÆ†úµ*æ~i÷æ$X %jZ9²d8Ù³ñS1åxòÊêè±L×w-½­“•º œAp"{–=ÆQ(ã³a×Á»m錩Êå0)ÃM…Qðªq aåï±´‹³eþX̕³ô"©” ²g‘?Ëâ·Æ²!ŸÀ䗪²Ò?ÄäyJ |¶oŒŠ¡rž¯«"Ï\¥ígkÕÚ8TGƒÚÚPUÁ¾HË&ÑUR<ؚǍ}~t`ˆÆ: Ð ÎçŽarÂÕ |–v–>葩ZH'â2ϲ\‡g‹xx§•½Î+U6©ê>©™Ñƒã….û®š:X&öñq•®ÓU’]۟jJÄä×dµ1Æ$ÈÂzkDêÇ»ætËÒ@0X''˜îu=x¬d@QÅA¡‚åþüÞ Ö]{Ȁ‚n¢c` Ýڗ¾@D’6} xx4ˆÃþÚG¢˜ÆþÂÖKž¶BÐ/ÕbF°fâ֒o\ÌÐÅ]` ?¿»jaoKêÿ8Ԟ°ìŒ£p³« Î|/6;ˆâ Iâí©ÑÀ“˜ÉYЀ#Ac3u! +>Õ¦ÎIý4$xLÏùšäýá+j¯ëñX &œ"™ÕÇ÷xD`'IÆÓt“¾§ª}…í×uăù€Ye¥ªäbm‡AÇÓv“¾§¶}…í‹tåÙúqu`Ûð,ú»uM±D2êƒ Ð†éÇ.Å· éÑ0Ñ¤ï‰ _a{1;æ:‡Üä"†Ø÷üRD3»W ÑMúžˆö¶Ñ#¡?aüßý¤ŠæÖCŒ‚É_xB".càÕ¡T\ +ÓÛ+| §QOí¾g4Ô7é{¢Þ[ØÕõúƒ®¡;Ñ÷iá²ú16ðt+ɲ±–†Ÿ’R Än²Ùdé<é„%:“ŠÓà$v“88›ô=Áé+lÿ’†b„É°£ ¿E ¶›²Ñôݤï©o_a{¯2#\ßæò¡ÿr}S†±ÏÐ®Lý]ЈÀ>>ã²Vëâ.Õé0q0£×Ç;7ª¾Â¿½‚þQ_5»Þ]ñrÃ*ÄYÏ(G!¬Xf„"F¥ßé ѬF÷Æ8–ìÇ?ô÷Ë^#¼KvwEý Hü£îeš¯oà×É_Ðâ\#ˆþa<é›æöé|ÁØÅ|[xè!¦¯©PØlwøV¹ëûúŽ>s9LP°÷í7Y²v«¨¥.GÕ×ÿÙ¤¬Ô¦<¨Û%ðÙ7É.u€ºô`UUjµ©\“º²,ÕêSæ(%&É + +‹´Q>[ïò|qm_ØPU¶šïG® £Éû¿¬wBv¤ -v;ßòtÑÄf00&mƒ±>ÁtÉÊƑ±¢tVü!.+íUןÛæä( +·©=:ÿÁ²ëÊÓ J†¤pHĶ@5çkKw~Ÿf ] M†Æó½¾v –wx·ÒÊI¡X'Z8m¸ÝV[D0€ð6³°bõŒV„ˆð¸k´F¦NQ¥Aœ~V.w„Ã$ +›æ³|ëÄ%“»©˜$éúUdÕª®MkÇ©‡Š>t;é ê ÷Ô£ ¿ê8RçªíåbíƧ§ñ:¬7VX'oèé›mBqùF jJ&Æu¡üѺ½f}m[íxÓ¢ žmNԔ÷6z”ö§IDÒ ×ŽvåÆP)˜ˆm¶âD2FŽKM­/ KHXó-Øò25GUÑ¨ÄäÓA>¦÷§qd2µ:Rë0,iåðÌ:¾ãm3ë[jœuh˜R$LŒßOqrMÊz±RÇl—°Öµ˒²ª“÷ ˆS35¡mc(æ.šßN#  c^<Ù¹6æSºP¶Âä_™’Kì÷à„NÒeý^uú8L˜ÄíЃ´È˜,ÓL!µN j/:G¤¾¯Üp{àµÎ׳ÿª"w"Ø(õ¹Ãˆz¯æ;ùLÁ¦«fî'h¬Cl˜í"ØþÄM tJß%5Ìéq¸jxZW^9‡Í¢Œ/I+ÿ(Àh +endstream +endobj +3903 0 obj << +/Type /Page +/Contents 3904 0 R +/Resources 3902 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 3882 0 R +>> endobj +3905 0 obj << +/D [3903 0 R /XYZ -11.232 900.716 null] +>> endobj +3906 0 obj << +/D [3903 0 R /XYZ 56.693 537.733 null] +>> endobj +3907 0 obj << +/D [3903 0 R /XYZ 65.161 539.193 null] +>> endobj +3908 0 obj << +/D [3903 0 R /XYZ 65.161 528.234 null] +>> endobj +3909 0 obj << +/D [3903 0 R /XYZ 65.161 517.275 null] +>> endobj +3910 0 obj << +/D [3903 0 R /XYZ 226.558 517.275 null] +>> endobj +3912 0 obj << +/D [3903 0 R /XYZ 65.161 506.316 null] +>> endobj +3913 0 obj << +/D [3903 0 R /XYZ 65.161 495.357 null] +>> endobj +3914 0 obj << +/D [3903 0 R /XYZ 65.161 484.398 null] +>> endobj +3915 0 obj << +/D [3903 0 R /XYZ 328.775 484.398 null] +>> endobj +3916 0 obj << +/D [3903 0 R /XYZ 65.161 473.44 null] +>> endobj +3917 0 obj << +/D [3903 0 R /XYZ 231.937 473.44 null] +>> endobj +3918 0 obj << +/D [3903 0 R /XYZ 65.161 462.481 null] +>> endobj +3919 0 obj << +/D [3903 0 R /XYZ 377.194 462.481 null] +>> endobj +3920 0 obj << +/D [3903 0 R /XYZ 65.161 451.522 null] +>> endobj +3921 0 obj << +/D [3903 0 R /XYZ 350.295 451.522 null] +>> endobj +3922 0 obj << +/D [3903 0 R /XYZ 65.161 440.563 null] +>> endobj +3923 0 obj << +/D [3903 0 R /XYZ 425.613 440.563 null] +>> endobj +3924 0 obj << +/D [3903 0 R /XYZ 65.161 429.604 null] +>> endobj +3925 0 obj << +/D [3903 0 R /XYZ 65.161 418.645 null] +>> endobj +3926 0 obj << +/D [3903 0 R /XYZ 65.161 407.686 null] +>> endobj +3927 0 obj << +/D [3903 0 R /XYZ 65.161 396.727 null] +>> endobj +3928 0 obj << +/D [3903 0 R /XYZ 65.161 385.768 null] +>> endobj +3929 0 obj << +/D [3903 0 R /XYZ 65.161 374.809 null] +>> endobj +3930 0 obj << +/D [3903 0 R /XYZ 65.161 363.85 null] +>> endobj +3931 0 obj << +/D [3903 0 R /XYZ 65.161 352.892 null] +>> endobj +3932 0 obj << +/D [3903 0 R /XYZ 65.161 341.933 null] +>> endobj +3933 0 obj << +/D [3903 0 R /XYZ 65.161 330.974 null] +>> endobj +3934 0 obj << +/D [3903 0 R /XYZ 65.161 320.015 null] +>> endobj +3902 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F4 3911 0 R /F52 695 0 R /F102 977 0 R /F57 739 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +3937 0 obj << +/Length 3059 +/Filter /FlateDecode +>> +stream +xÚÅiã¶õûü +O±æŠ’¨#E"W›b»A3“ Àf¥%z,D–\IÞÉä×÷=¾GJòhföHÚ/&Åë|¬nWÁêo_Þ\¼üV«\äI˜¬nv«$IºÊd$¢tuS®Þ¬0µÑ½¹Ú„*X¿nÓSw×vÔö<ùu[|Ù¶¿ÐÇ¿¯_]½½ù€ÙH)r¥è´ëá¾6ýޘ¡Çi€.W@O"„ø4ŽV%ò”áKÁ‰i¶~I ÜyñÍÍÅ.$œ¬äJ%"É£UšK‘áª8\¼y¬J˜ Dœg«;»ò°R2a”@¿^]_üë"x”Y*‚4_¥q.d2ß±Ý]՛€Lž¬·÷Ðfɺ4»+¬õ©x¹"՚狽)1YÊ|ƒ1M ´-b„)À|,°R†™4Å+ŒA6±[§-#…T‘[rÇ Ø–Ð‹¹6»åË3ùZBZp®Ý’•LE’%Þ¤µ}5T­»d;j.öÔ;ê[C—nÃéê±;½qØÎF*òlª“(ùÔ ü Ÿ(àœÇµ#\ꕦ/ºjë¾zhC¸}çCT®ÂÌIñ“E{€ÓË˼»a­<…¾¯Ê„qAI]“°èª"g¬¸õáf÷‹'o†‚àÃz¼’m`ÈáÆ#:=ïh¿EP.,ÚVî*Ó3ö§Þ“|¸3À‡_]ý‚öË|Æ8Xÿíõ¼ãõ77Wy¸Þ„ü}ýêšã¬ª€¿äAxþŸ_}µ<ÿ´= +f:òéDÓíeñ{@½—›ýþ&ûĖ®1µ›ÐìaÈh£JtNUN:z¶ O! õ Ö³–mŽ"‡¨N~8g²ÏåL]m;ÝÝkž¼»SS P¨Ë—×_Sb*šüõ«Wn6’íƒ#pôß¡0WL”†¹‰^,§aF»^|pqÜþžº,§$^÷Ü:^°×¨$u>‰š¹"À@s:lMG}KÀID> ¼#æ\Ò[n¼Pj}Ý2ºÕ@Ó¨Œ”»eôuçQ¼3 è-ÄBބ±8lÌÑn ¾f~óŒËOc‘eÞ=¿Ö6šTæ'&{Á¡C“øD€Åy‡RxڄÉ(H Û0 𠥕™°j0!Lly*˜´†æxÀˆ[1ªœu¤©o!Z¸¤ŸîÅ]Š'æÔ0bÓôð=X|ûš8y`qæËh¼ߐ?MQ³­ˆ¡guÚöˆP×Hb¦lN€Ã$$¿ +τ¿˜…ÊËÛҌ| ÒÈÂÌÍ3 ¥ˆéŽ}\Ý ŒòàîVoíf¶3ç#òcw¶‚fþ|ßùéŽùf¹Py>×¹ƒFHydó§0·™ÑRü¬D˜$ÏñrO9½?Q‘1óïö•nŽi›MåíìŽf­ƒYËÒË̅[=x37‚(L=Àe £ D8å5á@Ãs^Ìåuºxõ·ˆíЛzÇçS.?=jԢ܁·’@dn¹:7Þ¸µ;¾Îßû< ½‰oZ²zyò¼â +êl33%Wpšê7=Ìnî ¼ñ=L¸‰v³ª9„Øòü²f…!Y‹”(;ÓHE r/Ü\e@†ó©>luŽÒ ^ˆ3ë¾râkòø­†1™Ö™líîyF¼kWÕF˜Ø`Ê@4XéãC0¶^•Bª?€ôž83BáÔ5‚Ì@åj®Eb)!ƒhR©ÄëøãŒÃŒ8õ)ö 'u†Î¬Ž‚ ]‰m\”Î2r‡Ë³$ö(ñX2zŠŸdÈF>0Ýa’ +•Ê9Ýs-П*ÉôL‹xp¦D³¢£âŠ„ͳfEG¾‰“a”Éy&A:ÖºðiJÕ<¿¡í ŸÇ!«DÈ4yгàú¼µ èDA +]°Hãx^IÌS,%úa,æ½dcÆ¡âqºö8:»•á'£-£ýn¨EŸ‚Ú¨¹pƒôKl«¾@lÞüµ¨5ÖÀˆšþBÍ%_ßË·OcçȞD_ñg`7–b?†ES$˜Eê!½gBæEÙ%¿/wžEaA@éï«>-›lõf£@ãÞ@42<\YœR]ΎÍ<=DKı‡9‡û·Oæ a&ëvÎJšÑ¼¤ù¡¥K5–.Ñ9»,<²/Nâ8Õ£`´å…“YÅ¥K»ŽWºÄÉié’óëY ÀçîΓ__ºŒ.ij¬ÖŽ©yw•M¢ªÜéVKq€i&{žØ´=®’)>Øhºï,–„ú% •z@TC½mO¼…ч"†á° ‘pÆÕÚdÊ*‚g´Åé€"+é›ÓØ·5øHÔóú–ZLÊé™>&•R¤.ŒÇc9Gx1ym&¼T/±e÷€êöЀÂÛ²yú™ÎÔÚ¢i—uUؿDzJ(Il±ÚÎÏ_͂é«|p ƒ]*óòÚ؇Ÿ ü’#“Oƒý¿œÝr4ô9;°)‰P¶<ø„‰/D«%è?ºXì¨ä¹˜Ù)¬ }ÎË=ð!ñ9¨MÑ1Kº±Rd“âwœ¡øê”âyéyâµTŸR"Ÿ§> endobj +3938 0 obj << +/D [3936 0 R /XYZ -16.307 900.716 null] +>> endobj +3939 0 obj << +/D [3936 0 R /XYZ 56.693 408.219 null] +>> endobj +3940 0 obj << +/D [3936 0 R /XYZ 56.693 394.894 null] +>> endobj +3941 0 obj << +/D [3936 0 R /XYZ 56.693 380.946 null] +>> endobj +3942 0 obj << +/D [3936 0 R /XYZ 56.693 367.437 null] +>> endobj +3943 0 obj << +/D [3936 0 R /XYZ 56.693 353.051 null] +>> endobj +3944 0 obj << +/D [3936 0 R /XYZ 56.693 339.103 null] +>> endobj +3945 0 obj << +/D [3936 0 R /XYZ 56.693 325.156 null] +>> endobj +3946 0 obj << +/D [3936 0 R /XYZ 56.693 311.955 null] +>> endobj +3947 0 obj << +/D [3936 0 R /XYZ 56.693 220.986 null] +>> endobj +3948 0 obj << +/D [3936 0 R /XYZ 56.693 205.604 null] +>> endobj +3949 0 obj << +/D [3936 0 R /XYZ 56.693 191.656 null] +>> endobj +3950 0 obj << +/D [3936 0 R /XYZ 56.693 178.456 null] +>> endobj +3935 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F102 977 0 R /F57 739 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +3953 0 obj << +/Length 3991 +/Filter /FlateDecode +>> +stream +xÚ­Z_Ü6ßO1è/Q,ËÛ»‡$×^shÒ»föЈÇÖÌë±'–íöÓ)R¶gÖÓݶ÷°;²$S)’?RöW»•¿úçÕ«›«_Eþ*YÄ«›í*Dœ¬R©„JV7åêGï;]ëÜèëuùÞ»¶×†šÛ¶£F¿çÁ´Å«¶½¥‡ÞsýóÍ¿`™µ”"‹"¢ö¾¿¯µÙk݆Õå*…Õc…«‡°|ªÕ:YÂëKÅ$õ^Џ b|óê˛«Wèû+¹Šbgj•dRÄ~°*W?þì¯JD˜¥«;;󰊤/C»^½¿úϕϢð/ŠÄÑ3!ý˜˜ú)"˅{mõã:ò}ïÛ¡?ýõZù’„ £»OU¡yw‹¾—7%ô]^ŽýÒË;M¦½"ïŽ$k[ …ÈLàKĬI|ø‘ÿþ-ü—,Í9ãA("»©¸èCz2* æän.’“"g +bôf¯ϕáÍÑã®k·¸‰í¢‰a(©Ï~’*ĕûÃg ˪HIä&kSäGý֐¡·¹|Äí{í\ô]{` ïóþ”¿¦ííÁ\+8l™ŠNÏg^úØç›Z‹Sý®SÆ)L΂GNÁ;MêC^{쫶9±émÓwm]WÍîĈ¤Wëf×ï©$hûF 뫾æyǼëyíDbáÀ„±HGY‹›¯D,S«ñ Ìþ4jZJï5s¬KÇS×»ýÙÒŒov¸”„µCGø7¢ß K_ò_ìuͺHS‘dÁ©.P˜u$A +ùA÷º»Ž"ï\cA"üÌ©,zªÊT8© Ú¤2h˜£.ªí=i 'ñyönŠ¶ä‘ˆ‚½y±§ìœÇ|§¿Àf6+Pº«ÜvO…¨€}œñLˆ´´W]’ ?ž›µ©Uó^ú–íÁ‚Æ×7o¿YZ|ÊHÄAvª˜b?4·º{ +*R¦ԅ.æ\]2ôE”Æ¿ÓĔT£¾°M^f8;mŒU vüäûœ8`€ž0ê0ôt·×–Bàít£»¼ߣ]‚ÖTh;vIkq4^ÐÚÇ¡Ò}}¿¨4"M¶¨5\ ´f%Œà?9ÕÉè#.©2ŒÀÓ;ÚVƒ¿ÁJ¢„L‚§© Í,xš•ÝX&C؊¾–‘÷ šO’Á@oѵƬ;½… Òh„ŠkHúëL¿®­ê?!]/†4ð:cÀ@j ²¥M‚DpÌŽ@ €LfČ.ú¥è*°ÒQwϑåX?>Ên5t^óÃ5"N2ÖX :Hg´ð´—Õ§'вü.cü‰:‘Á}ÓMeJöÞ!úyuzì•Ì½’¤#kq6î±è«>¯«_uùàÌe"žŒ_?8TÊOؖÎ6šÙ${šø ªFãԑo$=Íkìm#õ궠},¬™Ó‹G=¼{ùöË HnbŒ4.Q5¦×yIhF¸ÜÀ>ob!qƳd. Ä8 +Ïv½tÂAy2›p@)ä¾zÓßéC‹‡ƒNHI@‚,æ˜ÚõÙd%ŒXà†6šìšc’c»û;­›E‡ Ž,Mæû,õvɤ% äÇ3Ä48܈D@ÄK™ò(Îç‡#x,é}~ ‘nwŸ/§†2ž­[”H Bìì!ÃÚ§¶*/¤©$—QrÆ;è¥×af)=ŋ+Ÿ¯9ªølñßs–o®A‰C׸íòe2Õ¶.Ç£}Èû~ÌOê. ê‚|/žðDÔËÅ“B]ëù]4S‹ƒçn -Š¡sF ^ÙÙ~ÁÂÂL=áäùB†#—°¥Zo²¥swQø +Щ”òiâÝv -+ý$†¸×”º#)'6–.qˆ‰iÀæpªëÊEՇîcîÅUÞ«Ak¸_²ØX@ªä¦ÿmFÚAÔâß?«ÌÇ?[L³I¹{QAÞ WÁalÆ-MàjÜ.m>! ½9=íᐯF¡÷„ZVXž†b1H”µÊ¼6B’ÀEo跙oâr´¼¦§ ÙéÀĞñ¼Ž~?´÷l4yMíœÈžÛuîÖ®z} ÖzM!¤SG©MÑU.Ÿ‡]J©re_oè%0(Ã]ÝXôLÐyôÚPê³VI:WãXތœ‰µRr¦ ¥Ð¶Z‹ aÀÚ%M1ôËu©ó#iªáÑ X.’EɈáÉIÉødÉ¢<¶^m=z¦èÔõUJ· r¹Õ®iÉ>,ÿ{í^aæõ yM B•?M˜vÊñ£g +ÅÙQ"^ØπÃë*t®à\m]ˆ55ýŸ¯áˆ³ÏK½Ü¡ +hrdnÔ êZêu3÷œz¦:k_Ðf‡œºzO”y 8¡o–Ѥˆr롤ý¤óryjËåDyV ·¬ÃED 96š—´Vguf}Ïk»JÀÊÉe&íÙ2NoóÕEä͎Û)ñt5e¿(nìü`àÝZzF=Û¶ÁíNT ˜Z /¾cñŦ¨ +r ®ÓDAA þ‘ 9ðt"@ìÀòÔÐXà‹Më6ã^8ª­¹Ì¶°ÑdÈƎ1zk¡LaO’÷‚_›¸èà0³ŽI)ÖiØaÇqx1†‡"P£9c}|ûjÛ¶¶ñÝR´= +ãü©g)½ÙäÝÓHîf§¸Æ¿ -òvÁÍuƒ-[êqÁÃ&" ½¼°ØN Eº +ä‚X j[ 1ñǏª-[ˆ_Lý9ÖÓ|ïÕLDvX»{D:»1åYÒ8Ýðë¸ÂȂO·ÄÜ ÑԊÇÅßÿ÷Ý·ÿ~ÿæ=“¦"¿îÀLãù W ?ª»¸¡Là¶ËÚb­žò>S'—`c*òìp¿ÄX€ÂÈ¡”š.b”+ècëÔ$EœCAùÔÝÌÐ#d?˜_Ó¼€¿`Ù)Àd7±¬@·Ý=7{rÖÆñe}*Þ~´†[kªüá$:û€3XÐ ‰¡&Ö#”½‚©ë±Àf)W<ãÒÁâ€s'2`ŸžN,‚Š²2Fñ¥ðêoø)X’ÝAŠWychü‚ÇNN’ßKYW$4R­@WÂ)Ö¸8N`ïÎó팢Á?hk;¡Œáœ*@N֘–n‹H݂ŸÀ±tK·4*Á”tVre=.| sºq%=• +åŸÁ +äÃríïðÑj%AŠWe6Ld.ù….€ldêÐÞäÅ­l`o‘UæO !©kKó¢l­Kkh0kÓ —Ú{u‘Û2î"yK¶]k$4­ €¡ «Áïü:| LLˆR:X4â.\ۆŠz’=E0Ý; §n|½àï6&†ÄiŒ8e‚æäž98#èjÇts½‡STp1`^˜*]?§LہßO5ŽpÅk¾'Êñ:«³bé’—K™'Õɱ˜©m®É5‹ó‚f7FÑbü¶¥:ÿ°å¾Ni¡s¥ûó«îÚõ]U:úãÆ&o>nÌ?¹§Ÿ| Iœ{í7ݍ8BÀŒ«ÜÒIù?šXÌ¡ÔJ ‚—üiBÌá-N.bÕ\ÌXºø8@²¼äú2Mðƒ+NˆXbÉ~—˞ÄEW®Ñô™E«øu¦ M>V©ÅxÑQś_ŽL™ÁÅmI ±6úCÛ`˜øÐÀrEžÁMoa™L¸ú 7*ؼadsO½½•A˝àz0W24FuvhLñ7_Ϗy»öHž FmyD&Î$‡Ð\5vu¹¾–ž)öm[S×-¤­ûÙµ;êœß“ãÀ‡bèjÈèŒÖŠÓzO^ðûå!/¸‹ïuÒqì‡õ÷×!žýr„ØmÓD¼s÷ðý¾²_©À[3J$ꚛîV‡OvWÉÀ^eÞê)ÛæÐqBÕÜÒ +øÙç#cï„~ `_ìS] ŽèSªØ{ÙØ\1¥sk”û!WdUfÁŸ!:QYñÁñ Ëþ,«”£µ v.H¨¯‡`FÑåGjqZŸ*=3x£åþÜm£;X¯í¾¿·x­P¸¥7n2k‡¦C¾wƒîM§ó[³t^¸<ȸ'–˱Q YJø¨ÉÆ"=©ÄFÕ_!À +¤‡eÒP÷ϗWð}õØ +ʟß*M°ø¶ùw÷6«âê³*( ý|Ú3º2´Nbåò?n—úèB†%ÍÓ ú;ªú9à8I*/\ºH7v`’ã+ýÖz۟]òuÕnß»p5ljž9ãžH÷¾¶u ’Ò!?aÃöV9rVÆ̶ø‹ÊØ1‡Ó0¤{òøD´–že|vчŠ²Ð½Ï™Š+[Uí`u!¹Öü6^VÛ»"ö«¶lä»êt8~©‡ü׿dñl–qÆ¢ŽṌӳ«275ñ'8fƒ&%ä`ºuÛ÷Ô[3\á29üR™ÚÌ +&„™-&¸²•b\«YUfÂ@œ0pˆB¶ºx®D0PÜg íÇå +9åWË%®u˜Ò׬'>ב-.õ§/ç5^şš[VI¼7ÜË P±w%p7bqåñ½ibÓ±Ïm Ãü‰¿¨@M`ÎÏÏèR[;Q¢Íx¥¯Æ2ëɪ“à#Xo Ï8KÔT¸g¾·\s ‰<¨¿-}Þò‹æŸ¸Áa.„6¦ÀÓÒU•ôçW]¿ñçÒÞ¡/|HçÿÀ÷Ýÿoï<† +endstream +endobj +3952 0 obj << +/Type /Page +/Contents 3953 0 R +/Resources 3951 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 3955 0 R +>> endobj +3954 0 obj << +/D [3952 0 R /XYZ -11.232 900.716 null] +>> endobj +3951 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F102 977 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +3958 0 obj << +/Length 2388 +/Filter /FlateDecode +>> +stream +xÚµY[Û6~Ÿ_! ¬ ČHŠº¤X`7›¦EKwÇÒ+Kô ;º¸"•÷×÷P$%K–Çãtöe†’HžÛw¾sHûލç{?^½^_½|Ë|/AIHBo½õB‚Âȋ1E4òÖ¹÷eñ_^ðTòåŠ0ñ±V\šá¶nÌ@Ýڏoêìu]ߙ‡Ï×®ß˜Æ(aÌìv­ö—·œ+©?ƒtìÅ =¤Zz⣀z+†’ÈÊǘÁŽQ¼xiþaê•W?¬¯~¿Â°¿ïa…(L¨%…>ñ²òê˯¾—Ã7ÐIìÝw3Ka¸ð®¯þså[Wø']âö„ýÐ(õ !¬ÓÂ-󾬘Êz‰Ùâ«þÃsc",vƒ]H¨Õîöyhø=ÈÂúb$ÖGanâ/¾O +Ž–«€2ˆÂ’°Åý2d‹Ëõɢނslc‘Pf¤¨[i¾dM-å +Äñ†W™¡-y¥¤Û¥*öÃ>N÷.<V‰á r:µ…¨îf4' ŠýÀͲ2Œ@±Ä i†·i•à¢î![­p§œ*ö߃>˜8-¼ ) +Âd ¥†K½kˆÁNmOèì o¹ŽÁCš©Î(=MšÿÆI0ý§õ‡÷æ•<€e÷ÂìÔÏ/_è!µ{f|§Ü§ÔŽªÚª°d‹ýŽ7ÊLµ_µ§äHY¼¸áo`9hšC`i@!ÊÌͳ´•VCí¦ 9Ê' ÄN,¤ÿ½ڃ&î…q8›Uޖ<…,Í£°)]¦•ìÒ.hƒÇ _ņ4€`öx*|䤠< k§D]™±!”靨nŒuÿ“í斧¹}¡љ#rÞÈ¿›WÂn`gâLMm°cždÝ6ïüÉkéñnæ *3ø*¤Ø|,ËbÚ*XìdOÁ@{êû.0Î5ՋÁë{ãT#¿µRõÔé^ªÚÅàn‰!žn5f™q~J7P˜úïºRM]ÜÃçVj'vi‰ җ%ˆ”6 Áë({fòãŠBâÖ¡ &h¢ "OCÅ[ñ`©±GÜà¡]‘f®¼ÜºÆù¦Ín­;v©óƽvWjWm¸vwž;)®î9·Ø†Tlt{‰‡ J Öhƒ}mØbL!xjö;ªwuQ%ÆÏø¶"°Ud÷2€Œ#ˆ¡[  ª4£¢ÎÒBü‘Úl7²ÝíêF™“:0x«½–6R˜GÍ@E†cà¹ü¿UjF?»•°m—ÓFh•›(wͨh="W9ý?¿F[mÀ;ßÿ™šÿñǙZ‚#äÓØa*ß¼:QLQŒ'ÅD#Ÿ%‹O:t†šˆ«~¤4[GÀk]fG†ßàSjþ•¢ªí²Í’@Âܬty}0¯Ú]Übv~ìöäfÐÅÙ7cB«ËÚM)SÑkbÙ,²š„ #G»Ùª4R-²úˆ"7oyÓԍ),B4H¦üÒUŸ8Yt%#7cÛ˜ jëÚ¼~—ê½M}0olIà•´I»¸6k7Ü<ÿ–6Û¸Ý™ÿ÷BݚYðª©;Sa™y¤h¤jÚLµM×¹¼ä@jEiÅx'¶»VFÇJ/³Â,ô’¸ìJù À®¡Úg~Oš€k É®vkB¨ò1Õ~HÛF¨?ÌÃ;žV²®&½-„2ðmbH%n š¦ƒ ~GÖ*?V  ËE\CžÈ5þS¸ÆÕõ氅UV´¹£YY—öý–§:Pö½î xáúpoÖiSì'zûéåÏoޚqݪ]«¦îNÍ¿ª-7Ü.êÚUMÌ&ý'ÚÜ@&ʈtˆPB©± ÁÌO“ +d'85øäñúóaÂt)µ‚&`ÀŒn—„s„KªT#Œ¾Š¯$4Š“:èÛxæ„ð¯¡, {èP U¸w­Så‚P¦ÍNjaAªu–SggÐ[Ôåxý Eٓ­úVÎ`!-¹ÒÔLOˆ±¾ÇØÔùIðAú'èJa›P” ‡ +mÉܾ!Š£h´-4d§7)Âq_^\ûcͤ1 +8¡› ±EÛ¢¾G‡PÁ#Š—С(>×"Ái-¤ìT‹íœã‹?‡²x%ògGßqŽäû½QpvÚȱSõ\›F§\€™3y&”m¡Ä®˜;¤bá¥+€+4·sGlŠ¢¤‰«áߖUÅ¤OLh‹±Ù<…Á1‚ÅýªmýJ˝o-qL9â´+åà4w`©…nFÇރB<9!ŸœŽQ€z«þ 6µëk‹¹T„!<ÀÜ\šè¢Ù§ÉVÜ@íŸ6*‡[®pB<Ÿ†‰™*{›6yV÷i=-³×¡îà.{(+¡Šiq>ÉëšØ'¹T€º=Îä_@º8•ǧà‘ˆýu~;GÃJýWEº‡nk.ôÔߞ6þñÝÌ~ 4ýõ\ڂgîððaò~7 Òç~^bŒI>î Ù%µè‰ŒùŠšV8ŽÏEmª ¹ê±2þö•7›ZÎ¥aÀ#½!}ã4¾t«êQs%%ŸSÊÚ]¹ëÚ©º´&ÑÅt=ÅØéúž¸£¹sF9ðs ¦ds‘’¤0”>‚œÀi/É5ÃÖ³B= °)…Rý­Ðþ±ß/dvËËôå›õ›#Ì_œé8—€HÍ¡ƒŸñM?¤sw ›e|]ËØù àg +yBP,½pçš*;¸Õœ¹}¦øðYL“‹âªÓ,_BcKƒ3Ž „j†.g~D“BØ{P +è~¸ä™:՟>âÇ)ÀÇT2ö¦;5Îÿ²ƒ©üäplç˜;F,ŠMƒcšß3Òv@õîR☨ŒaÑ·µ>îڏ•ë?üIÿß]ÊLN4DQܧ_UW7Mº»Љ¢4/ë +Ú?hLÎÔ¤r&Áç¸t¨ÊS1祬(…f' Æ7c£Ø;÷¨€\ð³Î_i]ôÕÆ&mV÷"W·36À)9 ñ‘£ÆH]t]ðJíwsœÈBD†;ð^Æ¥ì/éDe.'‡ÆþሒxbŒ4( !;ñ#ÉÜoÕÀØ>ôèßðSõŸ1C'ß +endstream +endobj +3957 0 obj << +/Type /Page +/Contents 3958 0 R +/Resources 3956 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 3955 0 R +>> endobj +3959 0 obj << +/D [3957 0 R /XYZ -16.307 900.716 null] +>> endobj +618 0 obj << +/D [3957 0 R /XYZ 56.693 656.223 null] +>> endobj +3960 0 obj << +/D [3957 0 R /XYZ 56.693 619.227 null] +>> endobj +622 0 obj << +/D [3957 0 R /XYZ 56.693 552.466 null] +>> endobj +3961 0 obj << +/D [3957 0 R /XYZ 56.693 515.47 null] +>> endobj +3962 0 obj << +/D [3957 0 R /XYZ 72.912 483.808 null] +>> endobj +3956 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F102 977 0 R /F52 695 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +3966 0 obj << +/Length 2440 +/Filter /FlateDecode +>> +stream +xÚ­YKsÜ6¾ëW°| g׃|Ó{r¼²ã-{ã]Mm¥ÊÉä`4,‘Cr$+¿>Ýh€1%Y®½ ènôãënŒç\;žóîâ§Ýŏo#ÏÉXû±³;8±ÏâÄIyÀ‚ÄÙíÏîe%E/7[?òÜ«Aö4<¨ŽÃÑ|ü§*~Rê†&¿^}Øü¾û°Ùrβ("jWÃ}%û£”CŸ;wRàÈ=öI8ۈe‰áÏy “Ôý‘܏qçÅåî⏠ô=‡;QÌâ,p’Œ³Ø󝢾øü»çìáHÀÂ,uîôÊډ¸Çü †qå\]üçÂ3ªðT‰¥fŒ{1 õ›ïGZ +»Íù¼<Ï}»á‘«“$î òJk+‰Ý»r8Ò۟w?ШÝÍ©¥ï äZ6Cÿ¦ièŠý^îéKj[Õ ´•®Õiµ…(¡¢¥È¡eÛçµÙÆ M~]¨ÊîXš9aíŽOï_‰µ)©†®Ì7¾çž¹íÑZzA#jKÓã çIÎ}ð˜Q}tÖvª•ÝPnµ'lCŸ3/áK‡ýŠx`£$¶´^®ñ‹˜q»¢l@/µ¨–\×)û`Eþ ÚDó[(ó”ь²V˜hVÕ僶ÂpÉ£UÅZ°|Ù\¯ÐÏÀdaj·°ÍÔí¾®z…ŒüÉcøÜc|¦0@Ûj3iÊB If0=Ⱥ­wʶsâ=$ø㺉X2yÇJá ãi´B;¯Tqó‡0e^4 +¦µçŽb0#‘÷{hZˆ†¹¤g ç—õ†»…rόª"6M—ktguÃIç h´ãB5ƒ(4®ž«¦º_‰ež†,ŠG7Ö¢Ðyáýý …‘CVh†œE^0’ÌÕþ~…*DFÙE¯VÀÓ n»l ’ÛÀK}PhÆ¢àq,}mµ»Üø‘{‡“ÈmE'jpÕn͇²”¥“ïÛ£l`-»•].†²fŶ°{Ջ¢”?jöîXGbJþ¢ô­,Êýy;ÓÅÅҟƽð–U ÞÕHšä744¤!oÅ©#ÇóÁ3ÈÀ Ç+a]$î-&sz#›Mè¹·e§E"ùݱìiÖ™ÔÂáT³Äz?>O=ªGƒ2$‘É—A6öýÑ,JQÑ2Rô;¢<Ó΍ô' +šhï'­( iƒ ç5C£š­ÖF“ 7Ütî\kqj\‹‹o­øOD&/Ë?å¾*ûU"—3I{-(­õ†`’Ç=dùb(UCS­3xî˺÷Av`;zE©·ª¤™÷÷u®*4kæÂ×€ˆ6Ò0®¡ÍB¨@¹Ö èwö͌°v4•&…Â'#¾´ØU× Ȝ Ðå÷ôÜËÆžªá1£œáûB½S{~fÛ ã鳌 Ùڟ‰¿R¢!x6YƒÿˆÍ +É7Tâ›X1†À ß®~µðé)1q(}fõCBí,‚öjn}l*Í-'ÍD·Ñ½ë›4FïtÈjàóM3ªW¶­µ5lCŠƒÝz"õƬ4t ` /ɼؤêriP;"T@Æg¢–FÈ»£lÐàA6­•˜è¾܀Áôr­iÕ¸y+;DÂ8âô(ZjÁC:F¦˜Oqšë‹sAÇÝӈîŒqыË/R+«(!²^Ðge(½x BDãô£"µÒÎ÷t5ª{@Ä8îšÝ¦ò4¬tÒāvjìÕh¤s'¨5E½«^š¡ZœÜ”N£±Öêc,öh%xà™ñ7Áÿ•9Æ+¼Å‹ î™uÁ„+7ÉǞ½Ä·‚n=p,è#EkWš$ À¶¼°»½ÎÍ|¢ O:QšÒ)¾èË Ï–'š²†þN †V¡öf¹åÒvà†Ö@= þAWŽM’s̓5 +ŠìïO¨°øú:—Þ¡§«îFtÐÀ˜w6Ûn¦v‹!/þFOÅþnJ^Y¿0–ü].®åÒ[°þ[iïGPú„Œ >*'®»MIú×gµ~æÀgUŒŽ‚Ì\vÁ ‚ÎܦdË?Ezz§…Zƒô0bÓ=d¡êV5X? å`ê…ϧ!ãI¸¼<ʦ‚ïì߃˜¥Iúñ§îÉhÆ´ðÕÿ<Ä·Ÿñ7ą̊üƒAnÿI€ÿôY„¿­ëÌ%ú¨íµÿëBzÎì{þ®û ‘óc— +endstream +endobj +3965 0 obj << +/Type /Page +/Contents 3966 0 R +/Resources 3964 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 3955 0 R +>> endobj +3967 0 obj << +/D [3965 0 R /XYZ -11.232 900.716 null] +>> endobj +3968 0 obj << +/D [3965 0 R /XYZ 89.4 594.066 null] +>> endobj +3969 0 obj << +/D [3965 0 R /XYZ 93.036 486.04 null] +>> endobj +626 0 obj << +/D [3965 0 R /XYZ 56.693 444.326 null] +>> endobj +3970 0 obj << +/D [3965 0 R /XYZ 56.693 407.724 null] +>> endobj +630 0 obj << +/D [3965 0 R /XYZ 56.693 377.394 null] +>> endobj +3971 0 obj << +/D [3965 0 R /XYZ 56.693 340.793 null] +>> endobj +3972 0 obj << +/D [3965 0 R /XYZ 72.912 292.384 null] +>> endobj +3964 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F102 977 0 R /F52 695 0 R /F108 3706 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +3976 0 obj << +/Length 3159 +/Filter /FlateDecode +>> +stream +xÚí\[sÛ¶~÷¯Ðä%ÒL7^rÚÎ8—6é8MNä9ÉLÓš‚-6©’TdŸ_Ò"EÑdhö´¼Ø ì.v¿],°­ÉõĚütòìâäôGnM<äÙĞ\\Ml‚lgâbŠ¨3¹XN~¾‘ð31›nMIr‘éæU’êF¾2_$Á³$ù¬>.Îg¿]ü læ#sMm‘ßF"[ ‘gò3pǸÛTrgÀÞat2çÈs Œ è¸ÓSý [ŽÐH–²%_-õ¨d›o¶¹¦¸ÍJb ÿ&‰¥›SëŽã:I…þ¼çðÄ6O +‡‡ïÆáÉ=Oôºª†ü¼g+=T#3q&qVՑ‹˜íV¡Ô'HÔÌ9wĊŠYÞ(›ž©Ÿ¿¦eœIÙ¦?©÷/•Å­ߋìð»ÕâïÅ&òƒ2œCˆYžÆÛµHÃ`V„ÁÔdÜíÌE Îp[ÌíÎq+ӏ“xþè.¿l*7Zì;ÓÏ Ú'”~6sèô?3P÷™Ô:7Jþ¨~¡Ú/ £ÀυzóZµßVÞ·8ºn·õV9HÂíåAîÖHf$úb$…—éÉ饻 ƒg6„1™K•1<-gHNǙ¾Î5R†e¦…*åãSqt£ßjËʖrIùu?<(îêó¤T'XbÔÊ@ ††!f:hbÔ‰mÅë`-ÌÃ`ùi$±ˆ¹T\m#Ý6‘Z•hϯ.ޜ›–ˆ6º¥Q 3@+CjF¿Ü¦ÉFøæé}ëk_‡R¢2H–ÂI“µn½Kâ|›&þu´—úÁ/ôHÃKéNÛ\'·õ¿H'›wA²^oãÒ /ÍïäR©¯ÛgÏLZ´Ø‰¥ˆ÷üqÄ]¬]È9f Â§U0zï¸Id\³Ä£&¼¾ñ?Ï°ŒÚÙ·i™‹ùym&:²i #›¿ûé]R™®Zcûƒ»uØC©F-ÖóƒX¯™²‡FÊÛd›6e°I°ÀÛ`·ÛÕû£–Þ´Gç$½®÷>ŞçµHcêr•!Ç{_¤~œÁ*µ®yÔ-DQU%"ã!¶JbËÚ±ÔÈ8fƒóE¤r?@ácX?ÿÐQÓh„Òñ4]¥?LÓCemÑ«k!Jðìp­ê •`ÝÐonCJ°Ju1w´x²L‚K™Ku䁁7¾=Fŵå©=R˜jA &hélÓTî«»Xåëh%÷JMC>¼’ó½’ø'‹Y¦“»×ÉAì.·œwtK€¼å°ñܲJ˜[–µK$਄3Q›he3ꅞG§]c%çc>žQªô‡e¨¬-±’»ˆYôc¥)vŠ•k‘¯’e¿h¹ŽŽä"ǘˆ8H–²ŽÒƒÍ‡×¿¼xûaQ¢ +A÷°“G‡qªYœ|=’C˜Ûã!¹J’‡Êڂd±™±F²:¶êdYè ãžïŒïcërÐÇÇ_þǏ~øît<Ãˮȧzg>ò«ô‡!¨¬-ȧ6b.ÿû ?XmãÏú$¸ë&÷pAùæ)}<…èâÈhžR¥?ÌS†ÊÚâ)âsbÿ}<%SÇ Ýaw4Õ}L*6©È _Ñ%øÑ&>_´ð×q¬«2£¹J•þ0W*ëÑ¢7Å q»(zŸŽ\õîaðd²wbðç÷^ö3†"AŒš2ÒëxÆÔé›5MŠÃBÊhy”ÌXq~ /›µ=®òSS;((´Ó‡Ûó#§Ûۈzåu¡ê) d–Ýf¹Xk6òÄ7•'«ê‹ºû$åIï!1d[å `¬Q¼ó£l…TÐAí‡î˜[Ȧüîޕ:íb²¨çâêiWyÀ©Ï+}yq®›±‰ð¦x´Ã-b[à>ãU¦kô¹úpY;fŒó›"ÎMaúwÿ‹_?ᕑÿ¦¬£™‡(¯,]£?LÍCe=ž|€#!»R8lŠ/Že®mçEÚUSÐï[’…dݧ¬‚CŸŠsÏÜ¥pàºˆòñê­5úÃð6XÖnÍ0²)ã}ۄA4¢åÕ,²‚¾†'¬•ãÕtkô‡~°¬= Oa±viq!f©o«w-²×Š­Ç ¹·Ç³»EüVfˆYöŸ’ÊÐÍLÐ~›ÊðIí֖¹‹e®ùêëmàäæéQ*Š¿§ØÉ´1I£å#Ó±ü‹šlU^û1—º!ƒ4ô“M~w»ë6Ù>–T"C2¿Ý„E·{üââi~p1î>Íb?k¼| »ìØxùVþ ÿ.kwÿÄòO–èC¥[’pꎷüÕèÓòPY§[؅ çào ×ø k22Þº[£? qCemAœí!“û'}üfÀÜÞ{㧙H³#^$Áv-âüÙVþuBú£äIz{PÔëu­…¿ñƒUŸ[(7"•¥Ñ}ÀïþMó±ZíÊ…M5ãcÜùÀœ#fw([£?Ì%ËÚãÎæ.r¸Y욁÷¨‰1Ä­ñkô‡i¨¬-‰9Èñøß/ -Î>¾SƒþÁ¡¨ÛÌÀ(…=ÌxG5úÃ|a¨¬-¾@mȵíÿ·/äÇ.S£°¿ÆþJužÃ‰<¼ AÜ︮F¼ËÚcOI`ó^üÿŒb±cµiÍîòÃÌ>PҖ †ò°{oP»éVÁ{íì)S‘%ї^7ò$‰ú¬Íï Øú|sþ^øËf}!ié’Ãh˜¬ÒÊ¡²¶ Ò¢ŠÌ}¨¼ý†Ê?•®®JŒÊ*ùA˜*éqHzô^4¦ßÐØÔÿ¹ŸûQrý¾™SO(:zï?«äAq°¤Ý35— ‹áÈáœÃ‘có<›;øÿnÌB–í}Í¿wûäZxr +endstream +endobj +3975 0 obj << +/Type /Page +/Contents 3976 0 R +/Resources 3974 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 3955 0 R +/Annots [ 3963 0 R 3973 0 R ] +>> endobj +3963 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [381.086 698.453 395.81 709.357] +/A << /S /GoTo /D (V1671_FO) >> +>> endobj +3973 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [483.555 619.791 567.925 630.695] +/A << /S /GoTo /D (V1671_EXT) >> +>> endobj +3977 0 obj << +/D [3975 0 R /XYZ -16.307 900.716 null] +>> endobj +3978 0 obj << +/D [3975 0 R /XYZ 89.4 725.356 null] +>> endobj +3979 0 obj << +/D [3975 0 R /XYZ 115.223 646.694 null] +>> endobj +3980 0 obj << +/D [3975 0 R /XYZ 108.398 587.239 null] +>> endobj +3981 0 obj << +/D [3975 0 R /XYZ 158.958 539.74 null] +>> endobj +3982 0 obj << +/D [3975 0 R /XYZ 56.693 470.78 null] +>> endobj +3983 0 obj << +/D [3975 0 R /XYZ 56.693 453.501 null] +>> endobj +3984 0 obj << +/D [3975 0 R /XYZ 56.693 422.697 null] +>> endobj +3985 0 obj << +/D [3975 0 R /XYZ 87.079 424.156 null] +>> endobj +3986 0 obj << +/D [3975 0 R /XYZ 87.079 413.197 null] +>> endobj +3987 0 obj << +/D [3975 0 R /XYZ 87.079 402.238 null] +>> endobj +3988 0 obj << +/D [3975 0 R /XYZ 87.079 391.279 null] +>> endobj +3989 0 obj << +/D [3975 0 R /XYZ 87.079 369.362 null] +>> endobj +3990 0 obj << +/D [3975 0 R /XYZ 87.079 358.403 null] +>> endobj +3991 0 obj << +/D [3975 0 R /XYZ 87.079 347.444 null] +>> endobj +3992 0 obj << +/D [3975 0 R /XYZ 87.079 336.485 null] +>> endobj +3993 0 obj << +/D [3975 0 R /XYZ 87.079 325.526 null] +>> endobj +3994 0 obj << +/D [3975 0 R /XYZ 56.693 273.059 null] +>> endobj +3995 0 obj << +/D [3975 0 R /XYZ 87.079 274.518 null] +>> endobj +3996 0 obj << +/D [3975 0 R /XYZ 87.079 263.559 null] +>> endobj +3997 0 obj << +/D [3975 0 R /XYZ 87.079 252.6 null] +>> endobj +3998 0 obj << +/D [3975 0 R /XYZ 87.079 241.642 null] +>> endobj +3999 0 obj << +/D [3975 0 R /XYZ 56.693 201.13 null] +>> endobj +4000 0 obj << +/D [3975 0 R /XYZ 87.079 202.589 null] +>> endobj +4001 0 obj << +/D [3975 0 R /XYZ 87.079 191.63 null] +>> endobj +4002 0 obj << +/D [3975 0 R /XYZ 87.079 180.671 null] +>> endobj +4003 0 obj << +/D [3975 0 R /XYZ 87.079 158.753 null] +>> endobj +4004 0 obj << +/D [3975 0 R /XYZ 87.079 147.795 null] +>> endobj +4005 0 obj << +/D [3975 0 R /XYZ 87.079 136.836 null] +>> endobj +4006 0 obj << +/D [3975 0 R /XYZ 87.079 125.877 null] +>> endobj +4007 0 obj << +/D [3975 0 R /XYZ 87.079 114.918 null] +>> endobj +4008 0 obj << +/D [3975 0 R /XYZ 87.079 103.959 null] +>> endobj +4009 0 obj << +/D [3975 0 R /XYZ 87.079 93 null] +>> endobj +3974 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F102 977 0 R /F95 923 0 R /F98 924 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +4012 0 obj << +/Length 2601 +/Filter /FlateDecode +>> +stream +xÚÕYYsÛ8~÷¯`å%TÕx3•ÙªLÆÙÍV6S{j¦*3Iܐ‡ {ý6.¬È~Û›q4úøúëöööþ~õÓÝÕõ»{9ʓ ñîv^ $õ2¢0õî +ï³ÿ‰UŒ +¶Z1ö?òž ý¸ã~èæãÏ|ûç_ôËï·VÞýŽY‚ò8Ö»ÝöÆz!?ÃéÄËàô$”§Gp|…Þ:FyjÎ'$ƒÓÌ¿ÖÿHÈ•W7wW]Ø{ċ”ä¡—æ%8ð¶õÕç?±WÀ7Eyæ}S3k/&aϕw{õï+lTUI–"œæ^åˆàD õ¾Y­CùÞäSìoAGâxFäà‹úAŒF÷¢z¡—ýqP1ý,|¨ +=cƨ~*Ƕƒèy]þ—ö%7§WôuæxÞô´lÊf¯?"¿¥­YÏ:¡'Âq« ö¿é¯eã2’èY«­ ¥k«obf LÏQ +WÓÿ‚x9íó:ÆØ¿¥÷RR¹[ÁÑ÷=k/^ÉÃ1xVÍåøWù‡zælQæZkœ¯ãµ~êæîÙÒíºg aÀšG”KsÂ]à ‘8ÓŸŠN0Æ3¯—.1ðñ®sMƒ Ea~^#o´˜ÍPo˜‰¾Óÿ˺å]O›^¿nVö‡½~‘îr¯”$Žì/³Ä›¢Xè×­Ùçì|ÓÐM{«X†É*–#Ë!„¢Œ3µ¾ØìøjÀŠ^.X+ ˆ‹`ËPœdvoƒ-£8´SXÓwý¦rìÅ(r;±4^õî£ø¡o‡þȽIŽÁ5’'kU ­4߄Œ§bgÂ8²Òt¼b?Š¾ã°§’'àqIþ-Ô큊R<¢…ðIJ0˜î©JÀ©ß0ƒ,Îô 08⏍:Ï.·pl¥;<´ÖО¡¯¬ÛÐՎûä9Âáè!ýöú -môÉDåÀ ´`™ßs=ҝ™£ F^”MϪªÜƒ½ÐCß:Ú¶ +GÕĝÕe„R_X³Š°ÿµÖ°ú82× j s™Òbp^‹ŸX[Ñ­õ&ZU‹'È²À^üußÿíõ5üq¨(Æ(Ǔûh«¿•6ꖱ*q\ðzË ›«çPo ‹$‹åí6{7R$@6F¤ EÍ´+Ê-z 'ŽPŠÓÑ *pÃH¸Ñ£þWÃ=L˜rKY¨QHQî¤ÓîXÇ,ô*Ê~J6Ú³àá@%*kWxt¹‘œVVãpç 1A8 /ÓÜϬíØnW®Üýëƒ3¬0àG>ƈ8ÐâlH¥)ʣѳ¦ˆ5É'ƃM°oooMºj€$Ð>’ã«¥91.ºÙo2ÖX¡éÀÝ*@zëòü ØxŽí4è—}Å\à áè׎ý€d¦³Ý¸® 81pÑ1(hãr]’¢hr]Ø«º– ×v@Q³l‘ä¥EK͓ +Mx"þvE€Ú ¡ß¾J£Õ sÿ:ÊAO‡Rè%5ý²‚ÌÌ,{= ˆr£ù¥u’$¢fèÀ”HEp,éß 4üM4š}ÆfÌìòöEVÿÕêgi”}V¥ÆkVތ'Žlʁ/ÅSæÝ\—.<ÉPr’%U|! !(/.Cx“'Ã(œÈ‚|QeTE’Á«„¢M_Zb°ô·f:jéæLڗêœÒ$קí;®K¿–=­Ê­>ßíàiŒ¢IwãyŠÉ)órëâ¥K£àR˜$ÇÈéàÈ18ò[¨Y`Êêeóà³<™s!KtÖځ¡06îkj3Ôv¼¥{ÀK´Ó;HD™/ï­M¼¥q‚Äo¸zˆý‚o™å•¨ðၙ&VäXñG|8ܼ ¨ýX-ï&þoÒ¶%äuõ©àzµÎCê$ÃÅõ¸Ä\Èg©çäL®çѢЂ×LA ªÙ•·6×ZDóçp±õÖèœ*|P®ÝÎRÝXÔV±oØXië1é!&6E5b„­``ĦY¨Ãà³Lρ‰cÐkŒ­ ±V– ¤‹)T•u %v]9ƒ#Ä s›Ô²’eb-ØN+ª~VoºÂ1Ž7†#Á®ÃCL¸vtlƒ»ÄN¾ƒ¦AÞS!íÆdô«÷oïÞ|øàJ +§‹Ì•*í¢ ¯²ívè'<œÏáÐèkÄ<`ã´â{‰7 +œ”ÅÅÙãðÀlÇå³ÅWï9¯\ +4!LG%Ô=g—ôË ™$(ÈQÛ,¹¨m– òÜ6ûhZ¥hƒ„2Õà¯6ÔÉú—=(Ú÷]i†í£Oµ(íØqtêK=Xt3àö¾ÙVƒ­i°·Lë©ã&Â ¹WÞ\ÖÒè3o?©OöÉæ݅½ ¥¥ŽÛò›0¿غ\, ó¨ +µÞð^[6O½$)8£ýÐK šN灡™E@™NÎyŸ|9ÿÌ#>:¹ÌBj{•e'í¬„k} ÿÀ©ÓgÈø¦¸<)ÉÐ Gœ¸‡,ò^–S µIi¦ŠóFX“ UmN}Éì—ü8Z>Yþz$¡Ö:ŒO +€—ÉW`†µŒ[·yå쑨No6«"!ñ"µAõÀ ¯t%º WeVþàÚ=†½‰{ïb‡vÝ;+¦EYúݍG«ê f‹¡’+¬_ÐÿÍà< +Šªø;á8]”j€¼UHH°¿Öl]EÀ¥’ðÉûŸ¥žY2GÜïoÙÊ6Q‡d·kh¥µÿˆÒƒ4˜¨5ÔT™˔ï'¶$HTשS÷U¯­AÐƟLöq¼T?£ÛƒÍµ‹¶ÚÆ5ïÆ8ƒÁZ\§¼I·i$º‘übÚ´Ôð¦|ržÐîÁQýCËÜ5K\=ÁÜ4-‚|z0ª6RÃÇ KYwƒîq«w=uúс°éQs@¨¤4 ½«…Ó,?¦²3ÙȚE¢’LhÛȪûe£à`í˜èâþo;(à™j#Ë×Ê¿²­ÌVnU«MΜÿÜzÚVSä> ܞw¥]&Y‹œ.û—¥jè%$ôßÉiª Ÿ¡ªgÐJ ÔÅÕzÚU%î,Ûi2ÝE5«åƒêن¶ª•#ÖXŽ_|ÏþJîrâ7²ýóÝÂÆtç–þìúéj(œäÏùåþ@[U« +endstream +endobj +4011 0 obj << +/Type /Page +/Contents 4012 0 R +/Resources 4010 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 3955 0 R +>> endobj +4013 0 obj << +/D [4011 0 R /XYZ -11.232 900.716 null] +>> endobj +634 0 obj << +/D [4011 0 R /XYZ 56.693 700.821 null] +>> endobj +4014 0 obj << +/D [4011 0 R /XYZ 56.693 664.356 null] +>> endobj +638 0 obj << +/D [4011 0 R /XYZ 56.693 288.073 null] +>> endobj +4015 0 obj << +/D [4011 0 R /XYZ 56.693 251.609 null] +>> endobj +4010 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F52 695 0 R /F93 909 0 R /F102 977 0 R /F57 739 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +4018 0 obj << +/Length 3207 +/Filter /FlateDecode +>> +stream +xÚ­ZK“㶾ϯÐ-šªL|ú;qì”íM²sH•í%B½Aó‘™ñ¯O7º‘wwfíh4ýøºÁ`sÚ›Ü}õp÷Å7q°ÉEž„Éæá¸IB‘¤›L*¡ÒÍC¹ùiû]ë¢×÷»0¶?šA÷Ô<šŽÙ_þ;2æ=uþûîûû_þ Ëì¤yµwÃs­û³ÖC¯au¹É`õDáê,ŸFj³‹EžòúRæ@1Ͷ_ÐC† μûûÃÝow蹉‘äj“æR$A¸9\î~ú%ؔð8Qžm헗M,ªÚõæÝÝ¿ïEðA‘8ÚQ.dS?‡al¹pÓ6?íâ Øþµ,u‰|FÛF߇ñö‘v))»Íˆ)fQó,­^†Ê4¢S{]‹Kñ$JÝgє¥"Ïr7¹-ºâ¢ÝÑ¢ƒÁg¼Æ®¡sD6Ž4ÌK1ƒãe¯»ª9Q6ıý´ Ñƒî†¢â–'q¿SY´}8W=¶º»TtœpÖy"TÏýٌ¬*†ž´4µ/ůN“®ìA§¶òûß½Œ·ºf+šÒ½,îÀß2ªy1±!t)槸ËD”d¸ ‘fÑKÎzåxU*béOèhÌЀو^·ø.u'Ú΀ԆJ÷k'œ(‘e±›_ CWíq·ã Ýþ†¹<Á/Å°0Ǻjü÷¨&µýœXbiT,©”aÐ,a3í8,ÅRDAÄR/2¥²‰š®È+“"μ9T—“軃h‹UýO@ýCé…Óý)ì@ÿá ¢tpôۇ¾§ MC°OœJ·ݎÓt[3Ûzé¶r‹¹}¥¼D¶}<ÃDÏ:f·@ »©uð̶I€›ÙÊI7ÎÊÃþyqª½w  7¬‹Ã™ÏóRœøkä¾ÖXÉw*Þ¡A'œËm×{w>?Y ;K"o +UcµÖ¿…uy·ƒ(aìíàͪ'IxCý©¸´°éW¹ÈÒO—KêÇê4v–øŽNQ幈ãp~Š^œCç×u½_[a ”"‹³%C±ÿäîBˆU2Y¬Ò›¥¦ô£kA¿èƹç–õçP°oØ멧ñêY5eeÕ¾*Ç¢®YY«#»y­Ë[+ó©|±Y• 4C/Ń¹´¦öÅϪ9Ôc æ n‡Çք`!Î×"©R![¶Dc§˜ö3u0µ\(ÃoiN¸=œ‹ EŠ^Å0¹m5ˆêɑbš̚׃=°B…2€3æúd·‡ñ6ßÚýô†Ϻ¡Qt+‚ÊÁ†¤Wsϱ3+š¡dJD©ZEù¶âUÓü®;ƒH O<È<°SÐGÎ ½-«CÐXõgzqë¡K¥×,4žýX g獁<ÒL$YƂa Ö¬ª,ô€áÂÛ¡3=G¼N!ø7½ÄÞÍ>ÜËlûöëyNõùð R¯»ç±y/8BkQ›aÕ ƒHä*Y=Å1é°åÂ÷NÝ ©åÄZü‚OKùøC=Çõ,¯Ô¤Àb'‡×õ­g¡ÃR‘U¼™ÿMâÁ…¦8¨A%n°Ë°Î­ãÌò5.‹þ×}¡‡ƒBòŸã¤I/ê Gìüt1àâ_ÎèÀQ¥S Z ®ÉrÊôt±åmîƒz>vê>£(ð¢X@¶‘¼NZŸGˆÐž}àÍäh¾œÈ‡ƒˆø˜xv2†È‹î-)äeŸ+ ]æÛ¶.úlêÒ*4 BAȺ (;Ë2¸ .‰‘Ù\–]ן¥DDâ§ù¨=§ éb²Fz_›ÃûOAH”÷ VÜ° Ý°Œ¡ gƒ8ÞYB²•ÊE¨˜YÌgûøuËq’‹èªXîHwÈô +iÂïÐgì4"Þ⬿ÜC£_Y Sè0›¬de²²H¤g3ü’€×î[Ìì&ùÜó}oÑ˅‡`˒ÒÁd¦ ¸ûŽù+èÑ6‚cóèöP!lDæD)fÛ§¨ -ȍÀø À ä«ð5:O¯Ñ¥.ÍÔúâac 2½ÅBC5|Ò7D!@ ðz ޏ÷ÏÄÇŔ:݃ì,¬7ÆxàÖâ·3ì²>.!X䃢H Ÿ|óÖ)‡y¢@DÑR“oóÏÏðëQ²}W<Ùj4û±m=yèÐ~¡Qð[€¦$vqtq0äÈx´5Sï0ŒD|µ^ý4”ÅP¬©w,®Y‘÷šXåS¶¯ +fÐ2LE¸\W”úXÄ°+—«d8Ýp¡Œs( &!Þäw çÊg `…V)\X˜ˆ zŒIoÆW"ˆsEŠRÎ{¡ãkPõ®Ô÷°èMéҎ8‹_¦<÷)°Od͏e€ÐÃ9ªd Wyºå³D7¡ñ…¶$#j†ÎX@Ÿ  7ÖzàŵŠ»Æ2ŸÆ 4h›qá·ã~GyS¡Ã²ä;ô›¦){°ñ Im +Sƺèhí¡7Ày47ÇoÐå‚E;\½×g*ÂUfä¡Ç{ؚ v¾ûáÛ·ü¥=t§®ê4¬Ì¡­a…®·óóÍßq{õ?)ûŸ”\T±ßwŒ÷ì ;¿ÔAêPf³­ÜõLˆŸ-ˆVw‹ø;—‘¥è#lÐA*®Ñ¦f†º",:Ð/˜<ë ·6ג“3°'ó™=>'¥išt&•óÕ½¦^–@сöӏû×Hþ;%‡þ\Œ¯æä܁«HqvKEÞîýØþ9ÙÔÌUˆâZ!ª0\q҂3ÀUCÌÉwa#ß)IøVIIˆØ¬úù4ˆ7©jU¸ì—ݹÄ3 > endobj +4019 0 obj << +/D [4017 0 R /XYZ -16.307 900.716 null] +>> endobj +4016 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F102 977 0 R /F57 739 0 R /F93 909 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +4022 0 obj << +/Length 2820 +/Filter /FlateDecode +>> +stream +xÚí]Û6ò}…à{8/sEê;h 4i›Ë¡ zÝ=4@ÓY¦-ÝÊ¢OÙMý͐CYòÊoܽ‡ÃÁ¦Èáp8_ÎÐu6Žë¼¹xusqõCà: KB:7k',Œœ˜{̋œ›•óÛüYÊ´‘— ¸ówª•i®UmmNƒß©ì•R·æãýõ—¿ßü–YpΒ 0Ø®ÛO¥lr)Û‡auîÄ°zèáê>,ùž³XÑú\¸€1ŠçW揋g^|sñï ø]‡;AÈÂÄs¢„³ÐN¶½øíw×YÁPÀü$vî4äÖ ¸Ë„B»t®/þqá+Ü£,±¸ý„q74D}"ÐTØiÎo‹Àuçß®Vre6SôÆ|ÄáE,à @êÙ«åZ-*i!Ç«¹,q{È]­2Ù4Eµ1\-ª¦­»¬-TEÌWæ/y0ÿX¬HZ·4”n¨oYËô¶acÂqÌ|ƒ˜€qÒþ )Û])·²jÓ=5jmþ%Òr_4mOøòR¸óŽ(ꪮ±›ç ®=Ÿx"@òAÏ(¹N»²eÅöÀîŠU›O°Œ»>‹Ü¨çYZ§[ÙÊú@O7uºË‹ìÁþE±0Āàq\w»ªÛ …÷fBîÜu™ M"­M7SôÇ ÔŸ@Šª,*’—4 >$˜ã„Ä?à·DkºÛÉ´n¬É¦ÔýþûŸM£R—"˜ß‘ò˜]ô?«"SV¯²؛w«‘$``Ä6­Q½wç7¹¬iJÑôK‰t5ø ’Š6ƒ‘*ƒ†;":Ë`ÿÖáÔj{HÃkÜÓxòSz{ÉQK' ÕcßË«‘€\• Ë’‹„6‚þÛÍO?‘ía«,¹M«¶Èhoí;EÓøˆÜO‹2]–r̎××ז/è:(ƒ‹¾R<Å|'v +ÕgÍvµ¬•šÚt3!ÂÞÚÊ4“¹*W(P/Œç­ǐ¶’¾þ'󝬷Ekúî›rÑôç€éÓÜÀ†2ªÍŸß6fr?˜©íÖ(Äw<_ÒZªkw]k¦,åZó]ÃåZÒÎ"OÑè@Ú Mo÷1»ƒÙa|š†½SÕ"Ë»Êè ºÔnqs ‚.+Š 'Lo#­¾§dY_¥^íëY±š}3¢rl†ûíXn˜Ã€ è;³¸—DB-×`®UfI½+ÀÓêÖ= B²XðO·_fwoqUáÏǜ¢¸`¨~ Úyµ™TXpæòþœ@’.¡‹)¿žåj+gšÃáâñÞ« Ä÷h5²¦Mëv +[ñ@Ô?‘Œªú«àÌKÂ#Ԃ¥},T×̎m~ðDŠá$Á‹’C‚Á0qø±ÏDDÆA~äWïõ¡ZùÀwRªÌÎ0‘A(Ñ%ˆþ#Z‡¬Ó҆-m–Û`Ó:üݖ¹,w‡'¯—‰˜3Ó~ŠÊc0¤ºý"-öJ5Uam¥TYjó׶èœTuµlØý¶3!ÚÇAgA@ ¸ÜDBDtH„ î ðƨ—…s‘¥ 8E¬‚ÇwGΤÛ.íl£6ˆèàÐO­K1!Ûf¿á{- /ô‘.vHĄ[ŒÁÄýþö á¤}YAè¶häç×ÁU‚9¤©– FâÀ3~?‡> ýàij‡ cˆà*¸=ìß Պ.úö=[‰GAÑ µÇÑüÂø܌äÚú ±”­ ù5¬ª´,þ°¡ÀÀçÉü´:vdÕ6W=±¤´Ü”v‡‡R'Ï©m +5JG°FóCˆZŠœa¨,( +Õ_ýq,æ¼€ë&ǦgæÁ†ÔHç@cAGÌ &Åt‚i vË€˜É™VùÐÜ`ÔÚЋ.‡­GÏ^h?Ü#"šÑd$Û¶Y–Ï´BèY)Á¨ŠHìÃô©D@¯Ô:€ì•m;gzõËT]ËÌÞhUSì/š8F4흴f2Ëg&4+fã^ÿ!3 +uJˆ6:¸hâ–XO3„×¾!Y‡/¾Ÿe¸ M-øï´{Ž\ßv 5ÔYøü¤:êïšÖ´2ä8ÍË Wm÷º +]eúÉ.cšÆIӍÚÒüej)FÖøìéUͺŒ½ð½pI­Õx3¼Ì1 + h|$<ð+SÁJᕷ/.2/îã/<˯t(Ȧñ3 ã>j2Šæ…Â^<ò‡ØUTYÙ­dcúá®[«]]Ð-dÌü6á-‚VÖ,C€ÃæދcÈƉ‰(ËìK»V«ûÅå=ùæÈÞðÚí}¯ª'p/üÄϒŒy¯Ùvâ"¢5$+ù·iz³çó9/Ï†ÕÐmãߛq¢-ô +Ç àèð#L´aàFÀ…Ё'NœZ:ëafm„mº÷á>g~Û bŽÐçâù!þÀå,~Ê +ìc'^r>±:é8:É{2}Et¦|E*þêc¿àÑj rpÚÎ_‡˜ÃpÒ¬¾¦@<[5OÀ?AÍ׳ãàyÛî`¿º:>áîîîž=í=X՛Cè+ž$É#ÔP¦{4å8ôMVÍZÕÛÃ9³SMÏsYJ÷l–1ƦeœMì>´LóXÌ©lðbm|]ù‰–3lÙC›œe3™cµ/¾¯6eÑä/)Oj¿‘õ6­èã,ۑëf/óƒüéwºóñꖭK\ñI%.Ÿñ‰4ÖAe덬öUÂcEª²!¦Rz¸¯®U]"ð¥²ó>ñ¼FA¦EÙÕòÁ‹«U·/ÑP]f·J[[=¬‡/çªý˹añ°»Ìý D-‰E6°Äõ>_`÷óâÑ<ƒÃ¾‘¦Kا¹d2œÐÛ3‡þûIG/0½ÖQ§»]ˆ¯€.ùvÏç+‹Ë"~”U…þ”è'ba`­°†C¦¶oz‹1Ùñü}Z%'[Yám¾yq¬Êö  ¬h²œk…—ªã!„YºìÐ÷­yi9=Æ1Å(³oôpjþ–V"Ïå™Ê û` ûGD÷¸`ÿJë©Ç4 £þåÍ]Q–fÙ½ÿÀ‰³ÐoÚ 7 栎Ÿä5Sxp)p$ ~Ï×$ÇhŒ™ØoÇRÖ¾!z°)X0vS5}|—|É[Íÿ_]@à +endstream +endobj +4021 0 obj << +/Type /Page +/Contents 4022 0 R +/Resources 4020 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 4034 0 R +>> endobj +4023 0 obj << +/D [4021 0 R /XYZ -11.232 900.716 null] +>> endobj +642 0 obj << +/D [4021 0 R /XYZ 56.693 530.759 null] +>> endobj +4024 0 obj << +/D [4021 0 R /XYZ 56.693 491.705 null] +>> endobj +4025 0 obj << +/D [4021 0 R /XYZ 56.693 354.275 null] +>> endobj +4026 0 obj << +/D [4021 0 R /XYZ 65.161 355.735 null] +>> endobj +4027 0 obj << +/D [4021 0 R /XYZ 65.161 344.776 null] +>> endobj +4028 0 obj << +/D [4021 0 R /XYZ 65.161 333.817 null] +>> endobj +4029 0 obj << +/D [4021 0 R /XYZ 65.161 322.858 null] +>> endobj +4030 0 obj << +/D [4021 0 R /XYZ 65.161 311.899 null] +>> endobj +4031 0 obj << +/D [4021 0 R /XYZ 65.161 300.94 null] +>> endobj +4032 0 obj << +/D [4021 0 R /XYZ 65.161 289.981 null] +>> endobj +646 0 obj << +/D [4021 0 R /XYZ 56.693 224.696 null] +>> endobj +4033 0 obj << +/D [4021 0 R /XYZ 56.693 187.699 null] +>> endobj +4020 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F102 977 0 R /F52 695 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +4037 0 obj << +/Length 2522 +/Filter /FlateDecode +>> +stream +xÚµYm“Ô6þ¾¿ÂÅ¥jgªv„%[~á.—: R!!ìæ.W[3ãà7l™…üúkY/~;,uŸ,Ûrw«ÕýôÓ²ëì×y~ñøæâá3ê:1Š87;' ({È ›Ôy³zÍsÎZ¾Þê®~®oÕpW5j úåÓ*y\UïÔÍï×?­ÿ¸ùÔl0F1¥JÚµø”óöÀ¹håkЎ´žÔîƒúÐ÷œ Eq¨õc‚Ab­ª &üòâû›‹÷ä»vh€‚Øs£À%NR\¼ùÃuRx ?ŽœÛ~fáPì"â0Νë‹_/\í +wââ`‚bŒ©´Ê÷Dq ¬"qo„ùÊy³Á®ëŽœ%-EF®^æØÉà¡ íeýT íÓj§®Û5qWÝ^ݼu]òqéÊxž•©dEÝTò͇þuÁKÑ¢©]REn¬U½%„Î §`÷‹2ËAl¬Ú®®«F¨µÍ]‰¬à­`E­ž¿zÔàYSjTVkBW·jú§ªSOVªA×ûÿø.Ýԁ–‚‰oüw1^mŠMª¤üðèå£ëßýSÍ•ºî¹6.éš­æ¦Lp)V½ÊÊ>ü"äÑ4Á2¹i•tÒi°»«¥)מͫ„åÙ_LdU©ž NÇþH'ܽz1õíÆhQ@ƒÏï€QN¢UÎ¥՞Ê-!á*PozÈ+øN¤%}€A€öyäËÃ.Ea‚ü^g˓~!ǑèÁDf^ÊkqPr³R]Û5^©¯Ñ‘YҎ¢ÎÁz®±îÀ„2[+F"9Ÿ +ÄnÍ‘õa ŸÝf¹»Õ!bR%H9\êP{ðÇz!"4œî¯V/¥ÑèÝâ¼Ö‰Ö Ox³¦t¥càæé,kU—ëp`y¿6%¬3XÈÔ堅 =c«_' ϘLÕQtE®-èDÝ ô™€¡Ÿ˜§Uy¹Æàm%Ϛuýoéàçêfß°ú%zIÙN…ä Pa µöKÁ!lcê[wf:¦€3€ægÿ³… +eº6°ìŠ-l€ß@nӇÍfdãÔ³‘ ÜYæŸ>·HâùÈ ãYF ։*g[ˆçãåÆŠ}›&,ÊJ;ü/ÞTóíóÖ]žç“ñ¾·*²¶ÍJ‰÷>Y]òrŸgía“³rß±=ߔ¬à—j&¢ÉTyè=óûÀƒWªÃ»¥zÕHâە¼óuݐ_¨™s½kê÷ù.Kô)užV72Úx¬Už_“G–4 .ÃF\†ïG1Ehí| 0ú ã ZðW$ѓ +´'6MÛB5L«jøŽƒ‰‰ R“è5k`_o“*²@=ïÁ÷ ¥|Ǻ\œ ¸yÄ&Øc·ÜàØ°_c>øæÁÜ$¤(¢Þ=’‘% TviMÀf¢ÈÚÇÒB";ÿxr=‘‡pdhp×ċ¢kJK~ÀŒÝ@4¯Ôð?ëHBy ×O¸H4\÷ªç‹Ç> QHÏ[ü3@é×ü½ü· òi€)ᓒ_Tf~ÿþ•~ăøcGŒëK²_…5Ð¥úÀËcºqÌLŽxÈqõ'.P\lŸ€å»…í!û±Eĉ¦c™Ÿ@ÑõÜ-ßge È´ •º(vœ,ã­KÝ´â’`OÿnRO»÷æés˜‡ ¹$Q_D¦Nò¶©Ë7É‚3‘±é»««Å)uˆ<̓%*©:…­cN>û¬áËÊ¥¿"jrˆÅÖíMU‰1¿ZÈMz›ËWK"}GÄÌàÛr‡ Ï¾4ð~‡D떥j HB£‰lhD_9Rš"÷©Ø¶˜©6÷\ˆ»GÁvŸT¹‰àì†&Ø67¥‰çy«Ã³`ïÖÁÜ•ƒFagkˆ¥Pa¦Sªv`2 +T•1_ÉM`¸ÂA(K†ÚÌð>g­˜hŸrZÐÜå½Âë0?çKé£Ð³—7ÀoÓl) LÝ\k½är=fŒÉsž aܽåBÓ1–»y€RçeG]ç™L|`Ý6÷Ã]ߢz„¬~ä¦ÈÈ珹¬ñr¤Šíð™ÜšT}Ò»]¾±Mùô`ñj"pÊ +ª|óI?ï×*GŠÕ¶êFúCή›¬°s!ìÈS€IJüÕ5p0Vp5ï6“-Y¯R&óTü ’eŽÃgd^eFå½¹ÓdS.Ý&Ϫrz’1a,Š´5YŸbK¤‰BI"CÝÊó“+õ Á†â5£?ÀŸ¹Ž—&µÂÞCÔ÷– *­¥ªŒƒ’x˜(O3„]÷e)ä—ÚóÇÔκ=˜Qfr>^ÜN‘‰™ôžqä(˜é]kžd†¿Ž¬™z)Œ&y_¼Ù·Ò[ŠÌ_ØÎ8@ÁÀg÷yÕ¶~è³ûŠ]…nx²ëÚBSôîj|J&¦žKXi'Cý›cgï¬f5rœµDŽçŸç›WY¢=»z¦n×0s84o¥Tj.œÝrÐr-1$˔½A³`Ζ٩$ȦppeÙB~J`C/<™QáAÞA¿f(0±úSþ1Í>,e‡Üa1—(- +;¡/%w¹ÄdM $LvùÐZBK7:IUMVMU/Çuµ–Û+"5›|šø&8/X^óbtdkƒº])»$õ5y^ÔUÙ¢þôlJ羸´¿iU +^<5'ùê·oi÷|Óò÷ݨÝM•/ÊYÛ6-çÛ¼JÞÝÏ°ßÌÁ•\ p4À–o‰ÙÜf©8HïàÁ1¦ÄôÙBÔG>òýðÎü™t?ªʼ'3²p@ÿìjËϳp0pè28KyóPÖ ÛöJs ©”½IÃÛ֜3äÐ3 ÅaÃr`Ûó +1Œº¡°>ûåÕWœ¸Á/ÛONz:J&8.9zx†ò¬|·ˆãЃ»Å«å|k·ߦ•´¯0>™qeuLªO‡rÝG‚Ó4»ǃ5lPÔ.œQRrfÉ{®C÷ rO˜i!nä™Dõä~oš‘ãØõ tqó‚y'`^-I‚æÍJÚfÛ<«ú³à%ièЍÍ;·)O·ÒÏb‹gSWÞ*ïÙ`ºëÉHÍ¢ÁÒäЍ",©RSù«9]JºVTÅä/¡­½sö¿¯ áżÁ¦è3OÃ×Úù‰Q-{ÿ,aùÿ3\äI\µýS¶'èòù¶>4ò/æÂ/`gᨵ[¢/ȧްù†àœ4c'm‹1|qšxx!´ùÑ=ÚüKù[§³—ÓVßnvèlÿøe­8‘Îw6=Ë>Žk¹þ77 +¦oD•L-X8üÔ×þ ¸å6I y2õÉҏoßE.lß=þ{ÿ ¼;æ +endstream +endobj +4036 0 obj << +/Type /Page +/Contents 4037 0 R +/Resources 4035 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 4034 0 R +>> endobj +4038 0 obj << +/D [4036 0 R /XYZ -16.307 900.716 null] +>> endobj +650 0 obj << +/D [4036 0 R /XYZ 56.693 759.068 null] +>> endobj +4039 0 obj << +/D [4036 0 R /XYZ 56.693 731.272 null] +>> endobj +4035 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F52 695 0 R /F93 909 0 R /F102 977 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +4042 0 obj << +/Length 2663 +/Filter /FlateDecode +>> +stream +xÚí\ëÛ¸ÿ¾…p(¨¾%¥à^M[Úëe È8­MÛjdɑäx·Eÿ÷’%Ù»‘VÑ^òA´D‡3¿Îp‡ÁÞÆÃÞË«¯®¯žÿQ`/D¡¤Ò»^{’"é{aˆùÞõÊ{=ûA%**Ô|Ažý5+Ua›ë,·rë>~“-¿Ê²·öÇ?_}7sý˜fA +…°Ô^•w‰*¶J•…þ ³/€Ù%Ó³s˜ÞçÌ[ún~B)PôƒÙsû Tê‘Wß^_½»"@{Äɐy~HÄÔ[î®^¿ÁÞ +¾ˆ‡w4=wž Q&¡x¯®þ~…(ð½"©hó,-S?R* Õ0ïõB`<ûrµR++€}ž-UQ åö¾Eë,+ӓðÊÌ> µ,i%Æ<;l¶ö‡hwûczk›7sŠg‡ý‘­ísEœn*Å´¦:nUj[†ÛLԜŠÙû93•ØW›\E¥ªu¹Aµ×©õ"ýåÑΐ6 +' £q®…ë‡(à0Ð+³%ÚE·h¥öåÖÁ£© Ÿ"Nƒª÷q/¸–YZæYâV $â]ä–eiµ¤u=àÇ×öGäåêÝAeÅô͝}~ÿ§ïßüíëJDÙaߑǂŠ¨ ú‰åÛ[#òÝ^OdÈ:IC„CR‹#.Áônnrõþ‚0$AB°ªï:ÏvÀ$ w*ÚÝ$Ú&YX¡Ð‚¾Æ©}&qQ¿6'³(]ٗfšÁ•ý^£$Êãèéç3 û•›Ë Þ +÷ÉzøRD;÷ª¸KËèÖ¶è]7í*sD|Ùö|v¨4Lwå ^Kßï Êâ°ßgyÙqeàêv*-$nTyT•ñ\…FOº:Yh^½u}u7 –;(–—<%G´ÅSQ› #—fšÞq.Ŭ½x@õE!!BCl“8*ÏÍpWƒN]{Sð—ˆ\€Т’Œ[Zße_•µÑ 9Ź¿ áÚ¹ÖHa¡ÔªØéu³Ð73éwÆVN ù@¶i+ûh£P ֕€»)Ðí.¹°0 ˆ¨ö9šóDûJ=“Q§žº¬ø)êýªâ¥â®Ì£´Ðì5—;ÛÚFZ4Ö¹Ú¾7F†^¼Ic=ç2JËäÎâžx}À{ ÷KpÁµB0Žt“¤-þz׍Ê2­2jŸ¸jï ÎCvÆÖ²r¤rÕFœýÆ[ì£ +»ïQbVPóö*«vš +±çóߨVï°@­zýxÙÞÃaï'>…íàÂ}½‡ë÷ûHPÚΕ·nnÚ-j—ßžO  +ÀQ» ,a¢{¥/‘¤K_`‚|ðP}fh4…4Ϭ‰gZ›Lͦoœ­ÛïœQêùƳ´yÎʎ½Î^<з²Â֘K]×î¶;Á￸†(/ãe¢ºCîa&:æÑ~o¾­³ë¾I²åÛ3žþÐñƒƒ Ç þƒAl¥t!TYÇEËÚ{(¥(tB7d'3Ð6ý‘:–Ùû ”À3ø9ísé'³å!L}âvAç˜?…Ýó²à€X0}ٍ°¨òhUñ64ëßt’+ AlrXÙ|º”Û̄’¦i¶,\Cڈ`4é|?Å@}™íc6À‡UœCfœÜU”Mj á ÅìÏ©}»Ï£%Hé,†p軵ìDf—N!u™%vîKá‹}þ´Î^<³QOce}='$* p2çä°§‡œNæ9;ôÇyÎÑÌÞë99äƔ}ØsjoØÏj˜¬º†¾x€´ ¬‡xže¶Ûg銆,áä@? GŠ¦Ûg;ôG¢e4³gò;ÇÁÚh3ˆúÎ[šã«{BªÏC†ì‚)ø×2Ë kPçB%ë3ö_ ޕ_“7½qÅ$”O‡«6ý‘¸Íì\±1B݉ݐ@£T·åÃδIùp;çqRo…S°”Ó)¼M¤ÂG3;@á4@L°G(ü­Rû +?ÆöÀ¼g÷ôœôQÉ1º+ ÂÁþtðhÓ ÑÌ€ñ ù#à±ÎÒ!þ ˆÿ}aOúõý¶zD÷¤vöÛÞÇ >Ý[‡þHfv€Æ±Dœ‰é5~Tñf;ÈÆo²dõX g!<ƒp2}wèÓ÷xfû뛅âtÞ6¥¾×Ñ.¶Nhëû?÷ùÕÅä c eé¿_<ï{>‚ѧ8a>F¾ïŽÚ.ÿ¤u’Ñ7ßg‡Á¦Ë÷$*$œ.ÒîÐiwc™½7߇ëtºõqþ!§ŒŸåáƒ\…ÂN5´ÚôGBk4³\:§HPúËáÀã¤Dԟ.WìЉ«ÑÌÀ#HH— |Úù>Óy ™.¡ëЩÃÑÌÐ!ÅHbÞN)<ƒ¼…‰éºý‘ÍìãI.«ÿ“ÎÊ)$#,œ.KëЧÄñÌöW" $ÿQJ|ÚD›ñéâý6ù‘ +ËêýXÑàQúûgÄyŠÔ™J†0u՝׍B͆’ôø©¨ùE«åüúf~ÕW—c^ ç#Êùz ]äèR¤nÑ'û²Ô¨ó |0HS!­JU®33óËU¸^­*ܧdö¥)þ…OÃ9±ÅÓðö¬0Þe©}Ú² [ü öqЮTh0È©;’€Æ>*li´OE  úØu¶Õ®‹©h€Ö]v°¥©ë‡ÆétC‰ÞÎ ž©jXÕ087Mah±ÈÄÔeèï™ã/u½€å8o6jv}VÎå†^¨ÚøI—‚dÏ\AFƒª.k5ql·h¿Ø«e¼¾«oDÔÕnÍÂm:›Ê%[^›vKd]K£:¼ïñ¥!â!Ÿîø‡‚i‰ sôý‘ûÁXfï=þ¡”À.@©”û¿«”ëkH`9bÂ3ƒý‘8ÍlŸÀ‡ç`R’}îqOß°‡„É %:ôÇÁd:f0ä„{‡þHaŒeöÜB|”5›ðŠ?Å-‡‡Í­š~Üݤˆ‡(›`걎˜øÉ O:ôG‚j4³½1ñ} îÿ¬g·½½¤Bý˜¹áoNqpUNyß ÀWÍ ™‡*äÎÖ@B.×û’¬”õ%ÁØ÷ù!Mëä`«¢•Mòši¾D oÏ.û2Œ|ºnÊ|n*畾x AV¬Ã¿(1õð®D ÷k¦osµFúp¥‡ÝÊðˆêøìr#C×ɶùó”2·º5:_ÓO•Fæú®n[¢Ï]ª§ß,ó¬(l¦†ì*5˜Ïf[ã©íao—âÕ-^Ê$"„¶“¸•Zë¬/:$NÅGý3;$«vý¿ÅY‰¾áp.º·_ÛW?pñúe•ÙŸÃIÞÙ¥ÊƵNÜ rš¸q%Ds÷lnî“wî•w™÷A˔õãþ•=ìóL[Iœ¥Q²XfÉa—.ŽñªÜj€¹ š£´‰íç̎I­ú®/ýW +#,ÃÇüO +ÿñ¿ +endstream +endobj +4041 0 obj << +/Type /Page +/Contents 4042 0 R +/Resources 4040 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 4034 0 R +>> endobj +4043 0 obj << +/D [4041 0 R /XYZ -11.232 900.716 null] +>> endobj +654 0 obj << +/D [4041 0 R /XYZ 56.693 661.367 null] +>> endobj +4044 0 obj << +/D [4041 0 R /XYZ 56.693 624.708 null] +>> endobj +4045 0 obj << +/D [4041 0 R /XYZ 56.693 566.675 null] +>> endobj +4046 0 obj << +/D [4041 0 R /XYZ 65.161 568.134 null] +>> endobj +4047 0 obj << +/D [4041 0 R /XYZ 56.693 526.737 null] +>> endobj +4048 0 obj << +/D [4041 0 R /XYZ 65.161 526.139 null] +>> endobj +4049 0 obj << +/D [4041 0 R /XYZ 56.693 470.729 null] +>> endobj +4050 0 obj << +/D [4041 0 R /XYZ 65.161 472.189 null] +>> endobj +4051 0 obj << +/D [4041 0 R /XYZ 65.161 461.23 null] +>> endobj +4052 0 obj << +/D [4041 0 R /XYZ 65.161 450.271 null] +>> endobj +4053 0 obj << +/D [4041 0 R /XYZ 65.161 439.312 null] +>> endobj +4054 0 obj << +/D [4041 0 R /XYZ 65.161 428.353 null] +>> endobj +4055 0 obj << +/D [4041 0 R /XYZ 65.161 417.394 null] +>> endobj +4056 0 obj << +/D [4041 0 R /XYZ 65.161 406.435 null] +>> endobj +4057 0 obj << +/D [4041 0 R /XYZ 56.693 362.981 null] +>> endobj +4058 0 obj << +/D [4041 0 R /XYZ 65.161 364.44 null] +>> endobj +4059 0 obj << +/D [4041 0 R /XYZ 65.161 353.481 null] +>> endobj +4060 0 obj << +/D [4041 0 R /XYZ 65.161 342.522 null] +>> endobj +4061 0 obj << +/D [4041 0 R /XYZ 65.161 331.564 null] +>> endobj +4062 0 obj << +/D [4041 0 R /XYZ 65.161 320.605 null] +>> endobj +4063 0 obj << +/D [4041 0 R /XYZ 65.161 309.646 null] +>> endobj +4064 0 obj << +/D [4041 0 R /XYZ 65.161 298.687 null] +>> endobj +4065 0 obj << +/D [4041 0 R /XYZ 56.693 231.322 null] +>> endobj +4066 0 obj << +/D [4041 0 R /XYZ 65.161 232.781 null] +>> endobj +4067 0 obj << +/D [4041 0 R /XYZ 65.161 221.822 null] +>> endobj +4068 0 obj << +/D [4041 0 R /XYZ 65.161 210.863 null] +>> endobj +4069 0 obj << +/D [4041 0 R /XYZ 65.161 199.905 null] +>> endobj +4070 0 obj << +/D [4041 0 R /XYZ 65.161 188.946 null] +>> endobj +4040 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F102 977 0 R /F93 909 0 R /F52 695 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +4073 0 obj << +/Length 1808 +/Filter /FlateDecode +>> +stream +xÚ­X]“›6}ß_Aó²öL¬ øè[“4M:I7Í:3I2 ²­ "Dv·¿¾W€„Á8ëlób,çá:;Çuþ¸xº¾xò‚ºNŒâ€Îzë¡ay¡³Îœ‹w,gI͖+BÝÅ_B±ºû¹²û¡öýŸÏEúTˆ/ÝÅ?ׯ—ŸÖ‚›Æ(¦´³v­îrVïSµþ¼c'½ûà>ô=gEQöþ1ñÀb-žt_˜úɋß×_/0Øwìбç„1FKœ´¸øðÉu2ø"@~97íÊ¡ØEÄ àwî\_ü}áö©pO¦ÄØöc„Ý  ê#!´Â<æ|XQ×]¼LÊ,ïӑä|W¬TÝe*¤d©ÊïºË›=+» €í6¾v†}¹^6[?u*+ë½P}¶&‘(6KodRõ¥Iº¯ÜÙó´»à¥ùïØiYÇÖЖïÉfüy‘Ð.Cãý¯—’m™dejÚ>eÍke…Jô( Ø'ûAŸúý4ü¦+ª¾A”è¾ë¦ª„47“Mn\ßpµï~M®x•³Ù‡°eÛ@j'ESÝ[ÌzÜ$/®¦Û"®NvxÞ¶®U5³•PàْmůíöV©È›¢¬g¢Œ"D»>;10Ͼ햚—*tïÀt©=ª_ì¡ÐóÎÛèûz(Áà†ȧ6"ÅUΪdǐ®už€¢Û"Ÿ CãÇáAzä,@ +…CF2v›ño÷vôwÆÃÛåÐõçÛ¶“«x¹;j(˜; ^•¾é6Óý–cJ¶$tqÓ]lø&ç¢E·%]ôx +,¥±vZO÷ÌAÌ2Ö'tlûñ† U¢²)6L¢í„K‰#äQ <çLû(ö‚Q3¢óíS÷p’î·?µ\ß‘ύð- ÀAè+âÓ¡Æ>F!=ÚĪeþ•OAEÐ1ÿŸ°‰„‡³Ð՞)MŠ•yw!¶¦e:=P&òËCwÈãA‡}ÆýáþZˆèÀœíAÊ;”}ƒà‘ò®˜Ï2¨ œ"Sm}Ϛ£kÉ aY9–Éd«V…ÈúkA&+@`²ž +‘qiq!ø{¬Ý¬¼·ü¹—Gô{gòț¤+^_ú<)¿ [étØ!ëž<¡ô†·S%Ðd ÓË«ý/… De–zü³½7ÇK>̑íà&çýqê ¼(žŽéq·z€û$8S]Ä9w³$î¢ÙM8~¤ox¦öOöŒïöF®&yÚ[qÐ;ÿS;cybÚò&y‘=JåÃKHûxþ\”—K-úÍ$YÈg´WE~9vk'æ£ë’œ•Iaã„Àõm³“AƒÙ§>g›£o_ý”ˆ¡ÅR6Róëeöì`h;¾„>×5 1™—I!ÀúÀõZÖj šãzN ƒ2<š`-ð™8žà>Ö>Zõ÷ù¿l|tÙ6åÁRƒí:åsH‚䉉x#²;ÔAҖçde€Ü!ãÂRðŒb  ½2øGK¸½ƒâ®ô¤é›áb+Eqz®hw³íXo¸nµ\@ï_gR²Ë%¥í֕ÂK궛´‡þގkMiµ'¬¶¾§£#‡ÝIw§)ùצí3ÇÈßÉÓï²-a"™°Üaˆë°ý¼šI÷ÓÒÙreLÁDMè¡?ï¤ÖZ{õüä›݌²V¦µdҒDŽPô¡‹Ã灐=!­Z˜¬Aòü{LfÃÜë·/‡¬<…NuNžÎD£Ï 5·l¥EΉ=8σ6ͼ ʚ*ç)³iò»Ih¥®Ý +ˆ¬I-Yðge³Ý¯s°ï +ñ]«3o÷çDˆ\{`­ 9Մ™u5ÔÞÆ3°`Éj»‡ZÉ&UdG¯†í|œßöýÙðú Re*†âÍPLOì>Øצ•/§(.:Iq˜BÒhüã#d;QÝUlFïØBµßM)d€• óS›y£îû×ð‰Ç½úrýæµ±a^$òíÄwZ×(c©ÉÀ zf¡‚æäd:Œ=lZŸõòMœo…)XK½£è[ٜ£–øÔ³bRqƒyµ˜ÂWÉ[n$F7Xyf½nì ê±ÿǓCA2åÖ>õ0©Ô£q&æÞ/û.rƒø!¯—ÿñ£ +endstream +endobj +4072 0 obj << +/Type /Page +/Contents 4073 0 R +/Resources 4071 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 4034 0 R +>> endobj +4074 0 obj << +/D [4072 0 R /XYZ -16.307 900.716 null] +>> endobj +658 0 obj << +/D [4072 0 R /XYZ 56.693 421.881 null] +>> endobj +4075 0 obj << +/D [4072 0 R /XYZ 56.693 384.108 null] +>> endobj +4071 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F93 909 0 R /F102 977 0 R /F52 695 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +4078 0 obj << +/Length 1558 +/Filter /FlateDecode +>> +stream +xÚ½XMÛ6½ûW½Ôb.?DIFOIÛ)ÒÍî¡@’ƒ,qm&²äˆT²Û_ß¡HÊúÚµw ôdQ¤†3Ã÷fƒ]€ƒ7‹W7‹«×´‰hÜÜEQ$„!7yðaù^"Ubµ¦/ÿ¨´Pöñ¶ªíƒÞ»É_ªìUU}±ƒ¿¯ß­>ÝüÛ¬ Aέµk}_µB+3 »“ Ý#fvaû8dÁš£Mìö'4‹q²¼²?„FæËů7‹¯ öq@¡hÂxCP„i>á ‡9ð…›$øÞ®<œ`DYÏEp½øk]*ð %4 máÆ+o<Œ'‘õŠÑÖ ÿUðaM0ƽdOß âÂì'rB!è˜Z[7>îƒöù#ÆônEøÒç;ui+ʗßí`»¢xÙì:cìÇ(Ù8_?RÊÇÞrpöež‹ÜzÕ»_¦µLKû¦¨²´ÿ¤ZVåÔ<`(ÜüÛ2&€;Yî¬My8֕yõ­ ì J­~lç±í`$½‘~*tuZ¦ú™Ð.UEQõ²¤„>™½ö±ƒ_²ÝÇÏ ¿;Õ\Ü®o +çÞ7ã[Z4bD¤Ú:­ÄÑ»ãN'«Šî¥t—ý ?¸OÜìQ8›?¿|wý<ÿ{èPÍñXÕúän i DËÜÐ@: Æ!|ßÚÔR¶ÛZ|›$6~íGÌqãë ԒÃ(+Y])U-nE-ÊL(øˆŒÂZ“Cíb.º3Ø;ÅÓðâ…PœË‘Ë´Ú~™>^‡‚ÒéŽ ÇZ–Àß5ˆTe!KṒƈħŸ D¤Zø½+êûáê±£5{†ŒvÉ]ä˜ÆÍ(¢q·z1‡”ðدwéáXÌZŠQē'XúÚ´ujÆTÈf睊:ä¦[èO—D×Qtj‘r3æ×B¶3‘Ïç,\‘“Õñq³$B!Þ\vÜ¿§_L31†xرӀ,-ËJ?”´˜#Fºì:pH :›Cú"ré®ûuäجŒp™Ôº–®Š‹çU¬.®ˆçZÔ®šø0‡Oa©?3¹ P؈_³—»½¯¬@ખžDzï›؁ÞÍÒ­(ÜTZ¯H²ÜM $#¨Z—E÷¦€:˜Ö÷U²G[ëp»±ªÁ^°­Ó3ì"=“ ü4=c>°ç›çHª:øWJ-Óâ&cO±mÏZ” + ê‘è3­ +mÈõb¼ÃœTº©ö‰;¯³Îhª³]ß4h`4+—:3ȪR§²l§"«˜Ík³y­´ÀqŠÃ±Ø¥ƒøíT—(3he|2 •€Äµg`ÞCO¹·OS$Šz9" SùìJ#ÌoÞv óäƒržG`֯ݧm^…Q2ûiþ¹Q]_µöžiî¿Ë\ï}|ߜxz‚úÁ©mx4\ù˜¯Ž÷z_•íïçXŒ¨þ®¥Lêl#Mà""¾–/ù/Cl‚šÍšÂX[n=JMNDþP&†5«êÚ¨Œ±Plʼ£¾¨ëªV”̧TäR´ŽÍ¨ÜW?¦n%3Û:à®D“®¡zÊÊxŒøäàZW¿ •Í{Çl£™j[ôçüH»3߁#€dHV`OOÄ6]±oπQn×Vk™ì˜d§Aƹ…0¥dntV{gZ3ºZ“ezpZ$À›^rZ3ö·ï²ëM‘(„_æ~Oò©[ywLõ~ݲqMÙ…ìwÈa(æ&•~á¯îAë ª*Ùª6» +‚¤¯5ì\LzÂcÂÜNn Yíêô¸‡+ë¤>£û€£g»‰Ì|‹7ݧ•iepþÿÿ] TßëmqVüN#²Ë< +uùx’£»5ˆ®ÿX¦!‡ñŽ˜ªjêlŽÅQˆ8 ÔE¨H‚Á«ÑB Ä­ +/C±C}㏨¢³ÿ8‹î¦ÛûÓ­­s©*42ÒA^eá†‡ ÈRášèŸÕq”ÿ¹¿ÊàR‡á–úŒÊþ, > +endstream +endobj +4077 0 obj << +/Type /Page +/Contents 4078 0 R +/Resources 4076 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 4034 0 R +>> endobj +4079 0 obj << +/D [4077 0 R /XYZ -11.232 900.716 null] +>> endobj +662 0 obj << +/D [4077 0 R /XYZ 56.693 759.068 null] +>> endobj +4080 0 obj << +/D [4077 0 R /XYZ 56.693 731.272 null] +>> endobj +666 0 obj << +/D [4077 0 R /XYZ 56.693 493.155 null] +>> endobj +4081 0 obj << +/D [4077 0 R /XYZ 56.693 456.158 null] +>> endobj +670 0 obj << +/D [4077 0 R /XYZ 56.693 214.055 null] +>> endobj +4082 0 obj << +/D [4077 0 R /XYZ 56.693 177.058 null] +>> endobj +4076 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F52 695 0 R /F93 909 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +4085 0 obj << +/Length 2617 +/Filter /FlateDecode +>> +stream +xÚµZm“Û¶þ~¿B“v椎… ’í§:®Swâ´ÍÝL3cgÆ IìQ¤’w¾þú.Þø"Aw»ý$»‹}yv!¼Ø-ðâû«×·Wß¾ex‘¡ŒS¾¸Ý.8E0ÏjªöÓÏ+–^ù›ÅË~×¢9šp‚pfé~¤ôŒKf˜\Q¶|X¼lԝþ‘Šù¾¯ïÊz‡,Ó§®³%$BŽé²µ=”UeŸ6j%K)îì«ðãRsû¹l; í6êÛ®9”ÿ]ÙԎN%¥Òܘwv%:·Z‹¾ð±æՎY«&-ß~ß]£Ên@ÝG1F‰âÝÖ~ñØô×+£ô9{kcÂ똂=‚¡Î,ÙnÇF¥½²¯Õà†ý©ƒÔNñæåSÞԝ¬»kûzJd'§0ÃزõÓmkNIÏ5V.°Iã:±–‹ò¥4ö’U“˶]æÖ`KØ* 0qóA!¢v{lU)ëâÔ¾ÖQ +vË2ÐD>Áž¶³›þxl”S‚–¶¬{/ðQYï%–¯ûƒTÆ*üt@V’%ˆ¤ƒ)6ªJX@B!§~-D­ƒèºáð†(ööïgÂR–¢”%/öÏEáe¸Ý‹ÒÛB.*gåç®jÈò§ÉÞ®Rð0íRÞMl;Qû^4y¯Ïw¢·vg½ÑX–Êún>rûæû“3 öÄ(•Ü‚¢k0¬ Â<§£ªj`Ë®ì*i-Û0$6•q0¶µ¿ÎOÜèGÌð7F+zé|åwnå7°ˆ8‚ýÝø¥G­#Q¡Õ:¢|<56uN¶´ê֑åÑÅÉb çB#d”RÄ œ;#ÛÉZ±D]“‡,2FœÖk8aSgÔ`ƒO.‡£yð±ã™nðr8|™›¸zjÐ)¸zú²£z/ +­±XÓVй·Á"ô–Qæü&:wð¸1ÙÚkT°r² —&3ŒKÿR*M"ÄSâõd¾G[½=²Ÿ¡¼©`û@P£Š£AïBÔc”]¦ìâ~”eˆ˜©× +eŠhòô¦ EYü„@ݾÌïjˆÛ!¡Fg[øüËá<Óìä¦Û?©8’¢ˆñÑßæNxÒ$Î…cí¥Jo~FO’ q^I—Ÿ u6p°õN^‡Ò <šÊ,ëB~:xÁeɐ¼Z+ &9ì;ùߦ®íÓ^T+²Ü®U¹Ûwf=7S‡2»¢…ù=„E²ìõÒŽú˜e߄ý1"¼²Ïrvöåx/ôà½A¦õõŠ¤K7¯뮇¤ld qtÃz—¾öÍù¬T4#²O²ûŠ€æãëùqÄ»‡(£ä}!Û\•&ON$GOÄ(›¤ôºwâw,¥$£&˜IÀÔÒß(BÉ&~g-äVôU‡¶U#:”W"ì8†$róÆÂb2 nx‹€l3ÎŽ£˜ Q +û¾HÌ·ålÿS|.u~bBÓxpèvŒi)DËÑÅ.‚<‚'ü7ƒ<“y5矻¹áàéÓ¡lÛANŽø—ƒûR)<OÄN~>ü‡Åù!³&Ód#Ôî9%åRl ÁƒÎD€6c/†wªéê:°fٓ®ÂÁzÚDŠ—ËOòÐ裸÷–ñhym1œ<® \×î°®íìV5‡s‘8B”óY¹P!ƒTÔTG©ºR= +ï1;ƒ «ÒELiwl5Z×µw§.¼éac7fẛ ín™E²îykã,å‘8ÇÙc?øÿ>ßÛ'#SkãøFN€9õ& ieóo°—u~ .ù=Xun«Kó~¯‰ªwÓHMÀÚe-}ÎrYòò™­Upd_½Á}ÙôíµeÞçÀ¾uéŸê'Ž9Ô€?¡B»ûŠ¬ò/%ŽÎÛ{UiÛÖ¶ì|\€_ø@넓 +j5d8‘¡÷Ó{éÝí¨ÍL•º|ø¢"ë$ vÇfîÐys8Š¼óå`ëžZ4­Ÿ›óøÜM_¤ÎüÓî×+}Šˆvwê|ïCd­1r˜±$!ÉeƞçÍagGxôOCÊö¨SŽi+ÚÀÙæ5×ĨŽÍÛ ì¦ã/fWã¸læ(ÌF•ÅNî¥(PY_¨@3Àû#„8©òƒz°±Ïç‘dq¦1dӗIóîDçfC¨Øê]·º‚5Žn±¥=¤ØAl(ÿzûþ;’WRÔýѾlíoYçJ +—}câ|?6ý¥t E–&‚9úàˆÊ--;GËMéø¢O'§¬óÏñ¨£“.õ³ûbÞ¿ù€^k¡¾a‚/´¶¾8œW+PfCB„ðÅ „˜@­ÂÛáÆFtl“È¥y¸”NgO#–ÁŠ,€¨.÷²—¦7ͤjgïU™»"Hë£éêñÂ#,Ô¬i<Ô›rS•Í²Âþ1Üùal,çƶ[ Ÿ 8$!VÕHT!šXptR"žW$MC eºÇ’ü_*’ò QíCYtû`EEIž>cÂS:ce¦«ð²¨©›…M'*½-©ÐýÇù $Peð@oû:oëæؖ!øÇD’t„Ò…ü“¾rQdŠúèˆèZû&쏵DaQc%ÔµÖý†Io×DûhÛoúcг¾hºò¾l5<èÌ pð~&¡ïºÄ @ðy¤á°¨ÙCÝ8Û7Uì¹D(áðätÇç{xizó¤ÃÙÒݧ¼óè­¬ï^ù2n–†Üh¿åÛÔ¢r Ÿž'tQÈ (A©i²¾¨Üޟq>"uÊ60„Ëi¦wn'Bé;#c$1Ԏµ%‘辇&^ÛOmނÓºkía‡6Ö´¸«æõ„+Oõ˜ùÔ>¶Py"&Nš´+HçýÀµ[ÜÖò•Ȫö»›bµ*D; ©“,©˜ åð'ȖJßoÍY»€š0ç¡"qš ùË+w{/,Ùÿp¦)ÝííÙTPå¤Qá»YU㇦¤ñ¦ð ïNÞ»+ oùJ†êr +õü_+¹$°2——îņ =^ yøçÚ¾|±Ø©òñòu¢Sáñóhû]°àÎ6!RlD+QQªp¢‹8 ·qCˆ1 àüà¿?ju; +endstream +endobj +4084 0 obj << +/Type /Page +/Contents 4085 0 R +/Resources 4083 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 4034 0 R +>> endobj +4086 0 obj << +/D [4084 0 R /XYZ -16.307 900.716 null] +>> endobj +674 0 obj << +/D [4084 0 R /XYZ 56.693 759.068 null] +>> endobj +4087 0 obj << +/D [4084 0 R /XYZ 56.693 731.272 null] +>> endobj +4083 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F52 695 0 R /F108 3706 0 R /F93 909 0 R /F102 977 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +4090 0 obj << +/Length 1429 +/Filter /FlateDecode +>> +stream +xڝW[“Û4~ϯðÎL­XòžZØB™¥-M:ÓvÇV³Ž,¹Ùô×s¤#9É®Ë/±t$ëw. ½­z?Î^¬f‹—Iè¤HYê­6^ÊHšy9H”y«Úûà¿ã-/%Ÿ, ý×Bq‰Ëèq¡vöðQ½â7óO«ŸAL@))’¹-Õ©årǹ’ú¤S/éi¤¥Ç >‹#/HH‘Yù”¥À1Ëý~ô^ÎnV³¿fø‡õ’”¤Eäe%iȼj?ûð)ôj8 H\äÞÑÜÜ{ ‹RX·Þröë,´®¿êÇ;. STê#c‰ÑÂ=ó>Iú¿iGE`þ÷Ë%,âÂW ’+$|nøœ%þñ z…GÕ®ìËJñ¾‘ª©$^k6è +æÅZšG„²D5*)IÍ+їªuè¥îYNrw¹‘(®]ð…÷âl³ØœÊu£õúlÅwRñ²Æ±ÁïÏLäõ~_Þ5݉۾<ìš +Jü¬[QÝ$"®ÀÈÚóN}‡ˆnsúLÐm‡ž£Qàÿ³ò”$aâÌRjù„é,%yQ¸[òVk¾ÑÂÊ¡UH(ÝBñ9Mü{õå;Ü:è7}3¡ÉÃ1B›ælĕz#€fw\ƒ)`E +n‚D ð‚=ºçuÍkÔHʊåÀd­S0*"RęÞÑïuHë[d$Š¿ª/…ÄcEbõMþYßw˜Úÿ¢Ç˜;õy¥LZŽP„@ðօehKÅG³Ìwۜ/"åȆØ|cCÔÉ£óňif1­¿kn lIÀÌÑO–ØñƆÿÎÊßwÜÂäЋŠK9ÊQåjà3Ü ®´ŽÐ„c©«¤5@©¾YÏÜtƗÀŒ^h¤.†Rµ%”†i½Ÿ@ÓËæÞ¸Óú EoGà;Ä_´Œ9uÈØ©}Ëîõ/¹—í {i6bOíJ›iδª.üåì|ÿÓê—[{a7tþbP‡Á²<_Ÿ ½awí$Еy”‘‚ÒD+Ð8#4ɽ ‚ì¡*¥GCðܛ¶6Ú@“ê±iÊ û! xe y­æ9h¯Òxl z—X³Ü¨íÀ@ÇÚ añ¬Ñ•æPS”P£Xv™:|»XTŸ%‘bè+Œ·œt\-@££¦N‹ZTkèî ˆêâÝÍíÍóåM`qwü®Šûë7«›%¹ßOa ÎIL/ŠIA$_8xkø!ú17JÀ)ŽxW}9ªt£Ê›—x€žjZ ¯^=k“Šm”MâäùZ„Nj¡‚/óqÌÿ >ãÌ…ÿ¶Bé›1HüŽ€=žè~„ÎnÐgr'†¶Æ“5GZ%:Ù¨  +Øö‘_¶VHŠ4Š]ü¸Öüþó‹îæåTÀ“šâø ìjc¬åÂ#êJÀÉêµm+L>p§ÝÉjl*脙P¬qqhiì5øŒB>¢üŸ—™1¨ÃCÙ¶ºè³Ô?6jgš<Ë|… +7/š¸ë9Çå‘ó;©!Fþ[‡? ïx{°—ícÞɡ玁]h[°ÞoÔÉÊØàw´Ì;{´Ìì. »µåP_7ƒµdq˜+M1ÕJ”Õnj0?Kğáò(­L쐪'رH¯ËÊNþ¥…·¹¬sù4¶AˆÚÞ&ßI çA¯«É¨SFŠ(B^鰆 'Wøv Á‹=€ÍÌ=š€B¯ _½À¹%~Î@ÍÙ@dg 4º«g u=˜©÷òdñŽÓÔ…mEOÒÚN'Úe”^#¦+Gg£0ŸP ¢|Ö +®NÄiÛórœîpðéußÐí§þÅPÑÒâÿü9úcjªM +endstream +endobj +4089 0 obj << +/Type /Page +/Contents 4090 0 R +/Resources 4088 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 4093 0 R +>> endobj +4091 0 obj << +/D [4089 0 R /XYZ -11.232 900.716 null] +>> endobj +678 0 obj << +/D [4089 0 R /XYZ 56.693 640.283 null] +>> endobj +4092 0 obj << +/D [4089 0 R /XYZ 56.693 603.286 null] +>> endobj +682 0 obj << +/D [4089 0 R /XYZ 56.693 560.436 null] +>> endobj +902 0 obj << +/D [4089 0 R /XYZ 56.693 523.44 null] +>> endobj +4088 0 obj << +/Font << /F50 691 0 R /F51 692 0 R /F102 977 0 R /F93 909 0 R /F52 695 0 R /F108 3706 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +4094 0 obj +[700] +endobj +4096 0 obj +[600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600] +endobj +4097 0 obj +[556 222 222 500 222 833 556 556 556 556 333 500 278 556 500 722] +endobj +4098 0 obj +[500 500 167 333 556 278 333 333 0 333 675 0 556 389 333 278 0 0 0 0 0 0 0 0 0 0 0 0 333 214 250 333 420 500 500 833 778 333 333 333 500 675 250 333 250 278 500 500 500 500 500 500 500 500 500 500 333 333 675 675 675 500 920 611 611 667 722 611 611 722 722 333 444 667 556 833 667 722 611 722 611 500 556 722 611 833 611 556 556 389 278 389 422 500 333 500 500 444 500 444 278 500 500 278 278 444 278 722 500 500 500 500 389 389 278 500 444 667 444 444 389] +endobj +4099 0 obj +[600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600] +endobj +4100 0 obj +[600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600] +endobj +4101 0 obj +[277.8 500 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 777.8 500 777.8] +endobj +4102 0 obj +[277.8 777.8 500 777.8 500 777.8 777.8 777.8 777.8 777.8 777.8 777.8 1000 500 500 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 1000 1000 777.8 777.8 1000] +endobj +4103 0 obj +[600 600 0 0 0 0 0 0 0 0 0 0 0 0 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 0 0 0 600 600 600 600 600 600 600 600 600 600 600 0 0 0 0 0 0 600 600 600 600 600 600 600 600 600 600 0 0 600 0 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600] +endobj +4104 0 obj +[556 556 167 333 667 278 333 333 0 333 570 0 667 444 333 278 0 0 0 0 0 0 0 0 0 0 0 0 333 278 250 333 555 500 500 1000 833 333 333 333 500 570 250 333 250 278 500 500 500 500 500 500 500 500 500 500 333 333 570 570 570 500 930 722 667 722 722 667 611 778 778 389 500 778 667 944 722 778 611 778 722 556 667 722 722 1000 722 722 667 333 278 333 581 500 333 500 556 444 556 444 333 500 556 278 333 556 278 833 556 500 556 556 444 389 333 556 500 722 500 500 444 394 220 394 520 0 0 0 333 500 500 1000 500 500 333 1000 556 333 1000 0 0 0 0 0 0 500 500 350 500] +endobj +4105 0 obj +[611 611 167 333 611 278 333 333 0 333 584 0 611 500 333 278 0 0 0 0 0 0 0 0 0 0 0 0 333 238 278 333 474 556 556 889 722 278 333 333 389 584 278 333 278 278 556 556 556 556 556 556 556 556 556 556 333 333 584 584 584 611 975 722 722 722 722 667 611 778 722 278 556 722 611 833 722 778 667 778 722 667 611 722 667 944 667 667 611 333 278 333 584 556 278 556 611 556 611 556 333 611 611 278 278 556 278 889 611 611 611 611 389 556 333 611 556 778 556 556 500] +endobj +4106 0 obj +[333 333 389 584 278 333 278 278 556 556 556 556 556 556 556 556 556 556 278 278 584 584 584 556 1015 667 667 722 722 667 611 778 722 278 500 667 556 833 722 778 667 778 722 667 611 722 667 944 667 667 611 278 278 278 469 556 222 556 556 500 556 556 278 556 556 222 222 500 222 833 556 556 556 556 333 500 278 556 500 722 500 500] +endobj +4107 0 obj +[556 556 167 333 611 278 333 333 0 333 564 0 611 444 333 278 0 0 0 0 0 0 0 0 0 0 0 0 333 180 250 333 408 500 500 833 778 333 333 333 500 564 250 333 250 278 500 500 500 500 500 500 500 500 500 500 278 278 564 564 564 444 921 722 667 667 722 611 556 722 722 333 389 722 611 889 722 722 556 722 667 556 611 722 722 944 722 722 611 333 278 333 469 500 333 444 500 444 500 444 333 500 500 278 278 500 278 778 500 500 500 500 333 389 278 500 500 722 500 500 444 480 200 480 541 0 0 0 333 500 444 1000 500 500 333 1000 556 333 889 0 0 0 0 0 0 444 444 350 500 1000 333 980 389 333 722 0 0 722 0 333 500 500 500 500 200 500 333 760 276 500 564 333 760 333 400 564 300 300 333 500 453 250 333 300 310 500 750 750 750 444 722 722 722 722 722 722 889 667 611 611 611 611 333 333 333 333 722 722 722 722 722 722 722 564 722 722 722 722 722 722 556 500 444 444 444 444 444 444 667 444 444 444 444 444] +endobj +4108 0 obj << +/Length1 1465 +/Length2 6153 +/Length3 0 +/Length 7141 +/Filter /FlateDecode +>> +stream +xڍwTÓ}Û?R"!")C›ÞFIw§4ˆÄFlcҍÒ]Ò"Ý J +¢4HH¨(ïPïçyîçÿ?ç}ÏÎÙ~W_Ÿïõ¹¾ç7¶ûüò¶H˜ +å €$ŠÚÚê`É88 áXgØßz2cG"$þÃC ƒ`q:%稍D4ܜ`!XT|O‚@â;"Ñ%ˆ;Ü -Ð@"`2E$Ê ·wÀâêüýà‚rÀââ÷ø~…ä]`h8‚hC°0\E(Ä`€„ÂaX¯¤à’rÀbQ@ ‡‡‡Ä#€DÛËpó<àX€> C»Ãl—:ØhdC8æ·Ái‡õ€ aœÂ…!0¸7„- ÀU¨ktQ0Äog­ß|€?‡ €ÿ•îOôe"8âW0 +Eº  /8Â`w†tU´°žX>a{éqÆ qñwÜbƒsøÕ: "¯€àþÁ‡¢á(,Fw¾Ä¼Lƒ;fe„­"ÒņÀbÈ.ûS‚£aPܹ{ÿ × ô@øü-ÙÁ¶v—0lÝP@#ÜÕ ¦®ôǧ"û·Î†ˆ€Äî ‰‰`®˜'ÔxYÀÐ ûe_ªqü|PHÀæ·ƒá~È|0w‹vƒùùü§áŸ °…C±˜=Aöïì85Ì›?î 0áè€.?ÿz²À1̉pöú·û¯•u•5uõyÿ@þ—QAé ðá𠊀`°àîÁïŸyþu£ÿ¥½ÿéî?2ª#쐀Ë—(pÇ÷7÷?Ôàú³7܀–ÐAâ pý›ÿA" (î üނ_!ÿ?ò_fù_ùÿß©¸9;ÿ²sývø츳סݰ¸åÐFâVñß®&°ß­ ³…»¹ü·U Á-‰<ÂGt~°°Hø·ŽQ{ÂlïñP‡ßdú{¸Îpì>¿¼xpQ ÐÙp»uÂ].ÜÌ~› Ü"b÷R†áVíŸ}(# HÛ˝@ÐhˆŽ8IàÆ-¯-Ìóç@‹ à0ûìh²ËA ‹€¸(¤‡éô{„8û/“¨ hyùáNè_:è|Ùߥâ@ÝÐh\§¿„ëòoù×Mƒy dS“H¨dˆcmHÛQµ<“ÿê°Ñvڑ© ÿp¡% ¶GyÌj)Á ;kZ³Leª¬béØ¡£àz”3ÿa×g¥ŽµÞKø€ŸUeݞÕ&nòâàÊD¢Ï!óIÊf¼§&) +·%JÐ=x÷Y¢©:Iemí{ 8(}ÿªíú˜èÁI[ªrO#´M§½³º4K‹ŽYÜøË'}l‹M¿áªÈý_¹Ÿ\ž/Ç<ŒLÕɸ£)Õ~L–àQEµØ7Ð?KÝÍò*:PÃ=hõ;{–ZY²ŸYIøj•ñlþõŸ¹%î[4>6ª7ä¶l{ž/p§Õêì8¬ìlY°q%uÞs°N²‹ñ>f¡FÍÒ*¤¡ó +Ö¢lgrÂY šúd1Æ]épµ×óŸXœ4ÂC5½¦'ºFºi¦ª›ô†pñi'HŸ—¯|ñkàxën†ßúWu +õŠ2/]÷¦Ÿ]p~/»söìW脉 ¹XšC›¡Lñ¬xHk€)µ…;<­Òè:°ásßÕ"³oáóüÝövÎiתhD,MŒ÷bݬoFáӓm0ðM=4½&FÑÛÃeéÀ·ÊsÉB«ÏYäWáÝæ"òuñõ㤀5çÙfGTH,½@k䝊™åîˆýÛåøq¶x¥:yÏOöéÞö"Ûð„ÈÜKcN¶¼Ï¶ð3:d¨zo¢²û7%Ç:ìEûò{Èñe¦ø.~È´¦êh»Èƒ†Îô…'[xhû}ÚyóéZWhÄ©—Bán«#ÚI+ºr”~ü7f¸SÑêõo$<‰i“_Ükɍæ¯ašøz­­T:D@üÙ笭=!{&ÆÝ,éë¬æíV¬6H«›ß˜ Nzƒ¯6î˜Üaýʀ¿Ò˜ùz²³| ‚эçI*äضÜiñˆÑyQ1®&³¯ä·ÿd&;¾Ç,ùzÛ×ú°ãƒÊ`ûÒëÄ`›ö–,2ˆ¯u»Cl‰Í#îWfÁÛPsNcÒ÷ZS¼{^Göd7Ò šBó9‰ùÑ ÎùÇ6í&-ÓI+²&gaoãÝu„þîb‹U,L®ªŽßÛ7%>Ù.Ð$>Äý¸/=S!ÌàñFhäɧ<>Ë›„Œïރ-$òÁPa+âåÍD4³§½Ã'àmÞÑiêñ+”_LjPÈ,¥Ó¬ç‘íž2vÔêNÌY- •^9fè÷GùyOÉWVè6iTsÎb+Þ¦³ ¨Ú½ÜÌl56ãÃÙ@ÛF¶ÆI[áüÃ"Ê) ¾åwÚ»PÍ'<³“’¼Þ#7¯šÆTÑxS8nê/xôÈ@\{mDWÁ±ê'-ÚTœ¡²°wïã¥#6íZ¥¾;jþ|<ÎîÔì|0ÏaµçÂnA•.¾Ìßœ·zË ¢5øˆqö8Ípä>Øç]à FZD^äã÷9*Ó>6†/‡ÚìˆÃ>}Í«ð‰ÔÛâŒèì$0Í_(^<9üÖ° #xcz¥Þ0ïc?ò›¾GÆø’YøíLXË6p‡4²u…ù=×é×æë~!yáصiÓüàÖ;÷v\±!‹v'~4k£IÜÕab„úã¦É^·h¤²0õ‚ŽÉº–mKÁ­T×že·†.úÈLÄóÊ«ž)º VAÃå~OQ3·l?û8Ð ËDÑD]µôP*þ.ÓÛ³½ÞM° ÛšZ.Êu4Ȓ ®Á…$™kzZäY`§§·ûöö¯ŒÞ©Ð„n¬Y‘‘íÉü|óÓ9*]ÈÃ|£ùÍà‰WaÀÔ]Ô böt£afHq@m@¶ˆžà! úì&¦~)3ÕQðÑÔX¡š@”Ë +­}ç(j©™ÅV÷zºÓ¼¼á°¢ÂϞy'ӆ–«ÁÛIIOß+Y×w}ñ°¹;ۉ|E‡á@¸bœXø8}o¡nöÂQž'ÓÚ~,\¯¬¦–”«ø³ä``µ…kˆ"Êfý­œäQ—"ž8lƒSŜ+š,ÿgèqÜq±ì0},/êkZ[«Õ^eèUê1;]“ùwøË¥¹¥nÇ ¹ÃøX'`B%g•Èþµ7c¥Ç ï?’Öð/h™?(³ù"lšc>rr¤“Qžpª ¨e3íéԊko1TcîGŒ{evÌz{/~bBå g³¢¡B¬Ã¾¬€*‹ô•5&ï–À9JÎdÆ$Õ÷F`¹†0 8¾dߨú•Íï$öâö£@M|çv¢ž®‹y,¤^dµ~5AjjÀ:Ž“›d§ÄªŸf5^HÏwŽ•ßR= j ^¦<ôjàFܒmÍ1^Òhd¸}LÌËÚÏä Í3§óž²K«  Iý`§Î3gnÇ ¯MC'4ÎÍÑöãY%U¢kYe£.QÇCþl1 ·s¶4ºÈÔ¸™Ñzq ,z" ém´ü€2Ã"N4_è¥õ<òuÏïщüŒ¸Ë$‘ü/ßȊNë¾l|CßÀ-ÅÊ5íƒ÷ðí÷Ó2Éש{G#V¯­þâùàxפ+[iSl=š}gÜw'‡­I%ja`(ªùœqcZ+QÒê™­^Š†:{ckJ—Y?×Gz:}×õ‡æô þv“Tâ|)ÏEë>ݲŸŒû{È_l=c6à#’?‘ &!ߝ”ŸèYðræ +ZÖºÒ2‚}‘ÇJ°mGóíË:i'Ãs¹1ºÓ8CZñ¸åü"]{þé”ÉW1”Õj¨5úë5âÛwHzž½¦ŽßQv4&òÉG‚ k’µÎÆD¼L4}½Æv—S¿ûN7b¯:*Øn„KWzO MwNjø·­™×¶7œ¿²>sÏ;G!ÐÁF×´MÊ2>ß0ãÇ®§§mTWÔ +zg¿ÿR„N&e Š78wÏY¿°ÉX‹ÂËmÅSߢe±âÎ~¾;a£R¾n€¥(2‚Š|y«¸$„ì¡êóÔRzÛ!ŸÕøè¬G§˜å> @+úk–]¯çš WJÐ"¯vz2k>[62ú,CÑ5ÕüéD=ORMp{WÙü?AùYӗýëëÁ¥Þ/SVŸ +‰(7Ç؋ÊȵðQqŸ%šèö“ó8T™rƆÁn¢ Œu YÂ^²oFk"W pîB ×Æw…Ú3~j§¶-9½)NEK{§/4oWºDÏÉÍ[Êÿµö¡óAëx' »>ŒÔeBɜ "¶3å?ø½ò{$9±él¢ü™˜‹¼÷Ôþç,BÛvÉ;+éþôÄ£ ¥í¨…¶ƒÔ›Í ŠªÅ×uÞåV?î^ð•h^ý&JÕ)¿p8Ñgm½Òî($Ç¿…÷ îIÀŹQ1ω(ÓÏ» +kK‰ÓñR›«÷cØQŽ½]ØP^xé<¼²P£l"§éçà¥QQÏàw̺Yk¶c¨_>ÙÃ×X5ÅÍ«ÛǷӁdJK«€¤>pX÷òµt‚r©§ULí›#g¾¯|R¡ÕáÎG Ç\%tӏIÒx¿½enfžzÐ|Žbpþ ‚”PÖ³+—%¨¨Åºàq/ܚ/"*Ç.è¯Â3ÙAžNlgŠé⟭†ù_ø9ùkÊ}þZþšbPUºÛò¹ÃÇMn§ªÌ8©˜Íxü‘Æò֑§ê…@| å½îaXƃèoŽUË*´†³mï(øØ!ÛÁŒú3Õ'»¤ú‚] N`d ïÚ#’𡵀Wʛá6ÛÑ|Š•®»]œag¦7¶Ô 2{'ÒÑ/Î4¾zsñéT†´vOXjEÛÞBÉ~™¨¬Ê²{¯8|“¸æÙd‹ Ñ*lb׉8?x¸_>•ŠkÊB{…á5%)íÁlœe`Åè{Ýä繑w^ÒÌ{¥–Þ"Ê1 ÞìçAƒÐ¯ó A'ƒ(ԓ—òßñJÐòЗÖDoϝ¢ÛZ†T•&8×eo‡ +n,V2Y'g/ˉG³¥!Êi%B S-ô±ä_(½;ªþbäyuh$Ư<ʸšˆ|ahói®Cd¥ª©ãçKÁ¤v™ç_4=]…ºŠßXaKX*27âÞùŽš|àˆ I¯)ÇËUµ& l Z.¢ëŠ$r¹XÔdÊaëÓ÷‡æê&$«?ö}xâçb’µÁÿ£A{I~Øc±ñ‹Ë‰™:ëÂ4ËÑZ%bڀø©9Ë*!”º ʯŸ§:‹žwx¨jmsår[¬0£‰k~§ßÒHèF•kFýÄþöò®"ѝçîÑÍûŽçÔx±²i¹'³ƒò,ãMk"¥‰v‹>&I5ÁÊЗµ²ÎõµPZš•s¼ûE‡{l0’‚™M~,øñG #°/ÞF*,9qöÌé¸ê³@¼1š„Ìλòäm/Áò—"1UêHÔpۛ­Þ&íãÉ'ˆ³×ìPƒ€-&¶²„œVPrÔ§i¹P¶”Fÿ%Òñ»b’×=Ý©¿ØŲäZnVKÛ+~Ϗ¯œ“=^ßúà}U2ÖÊ"± íûs¨–X Äþ$ïÚ]U|vOÕþqKÚñ& Êciqöý«?ú¶èÙ3yšDã÷OúДûlÁ¤¬°rÉõÁëc&=¥¶þ‡ªç å´¥aR¼Ây9ðJcQ¬'¼:ʸÌõZüPsÕó¤ +ªIÔgûB+^ “³f1‚®.ßÎes>i6žHúìï¶Q…uæ¾~R¢“¿=AµHÜî´µØm»èùJÝAYº/¸$¢È"Á 0Lèô£hý¦tú5SpŽ¡ò.EQ8aúùf9iu*Ùû¨Û™W‹‘~ Ó"Aa ’éùÛÀŽ°ß6ÓûyÆ/{¸6¼çG7]|Ü_>îÒÁòäýȀRá)¥× 1&[Ib&æù3³7…Y8JJ‰TJ·Ó®Í}­e¼B ¯›ËU†ycWÃÁ5{ŠVšQ»#ÈI”ƏŠ"×Üö¯Ž´YÞb“vSÞÕÛHJ%áÚR’’¬s¬îh:Y˜R_=Äвä7.œÊ×ۇ©&¾Õ1苂ö +Nülý€¦›[¾÷^ñ±¥¢BÞRôz5­ô:nÔ:e‡6ËÙµ‚KÐb®#]Ɣ­¹žªcù"[2†§þ ·ŒMÛ¹N{“Úú¾¿Á«´æ܅¬òñš&Sf&gïndú!» )»ù‡ ç$J¨o듙ÑÓr×`¢|ë<4àÙ¡‚÷¶¤4E&¡êÌ£GÞbT÷ Ð(ΰZöH§ý•·rË$ ÅiÑ퀈×)·hïÔÂ|OÓölª>ÝN'¿†Õ +­¥DøŽŒo¶ëÞæ^p}·J¥’Œ%MÑÍÅ/ö¬-jí!Šž¦øXlµÖ#}‘HuƛZ5¦+¾&ï7Dÿô!ù’—%%Ÿ´§UÌ«çFD/žt.<Õ% wT˜^“ • ù¼ªDô"/žÙüñž—RÒTÇU“b«» 6ѐ‹_njuëEʊ.8â éżäÐÈ6DÝꗗã\ó’{ù•îÓx˜8¿3 —cì…Í*´/6†‰:–¢é97mW׿ÅH·zà•÷Ç’Ÿ²ò°>QaÞIå/횩;¦~ä î/š}^g[N@¥ü(ñt€³‹6è#qoIáÑ#­YPýÿûåikÅkxA÷\a†…t%R6Eä(¶¶i~¬kh¢kÆ<ö]X@דÝ3Áó3õÇG¦Í yåƒöbšª´Vß@ul“È=ïb“àïCƒp‰>b“6ÞÂTͺ¶ŽŸ“†„ŸŸa\à ËÛ‚DÑӛ;Z‰œ&fQÝméñ€eû²Â-[™˜Èp|Í«™r§Bï~3Б{Z@÷—=áFñ‰‘ì<÷ʄ¾ Çèé42¦) m]&J”b¹»ÏŸ;T7ìù³>S‘·À;ƒK¾Né¥\0v ý¼ÆóvUòæÅÄÛ}û¯r˜AÚûÈ»¨Qà ŽîÕ+üúy\2E<Ã'¤c¥_úE"ÚÖ·[}ÕDÜ^YëÝ/8œ â¶þñ,UO¯¯qƒëçÕCáDúä:˒àù Zí…*d ‰ˆ*µì[}íRŠÅ®€ó÷Cöˏ7QvÓ ø‚s¼v‘^0¥myaKüWÍî-s-2¯fWÒz…ÎFö.¹¿"D7ØL¶ɆãN”o6öª·l‹ñª¾b=öʜ +ÿ–xE-oY»0†:äXÐ;sÎ,6¶¨«¸ŠýEqT@Îdyï©Õ`þ¨ëŠåEÛ2Ti–óñ]DⅩ[Ý G*Wÿ¡iSR¾L&Ž(K:`hâ–:áõ×h†²¥x¦Ï»5ã¸-ÇAÀÿ0)å! +endstream +endobj +4109 0 obj << +/Type /FontDescriptor +/FontName /EOEKOR+CMMI10 +/Flags 4 +/FontBBox [-32 -250 1048 750] +/Ascent 694 +/CapHeight 683 +/Descent -194 +/ItalicAngle -14 +/StemV 72 +/XHeight 431 +/CharSet (/arrowhookright/greater/less) +/FontFile 4108 0 R +>> endobj +4110 0 obj << +/Length1 1432 +/Length2 6046 +/Length3 0 +/Length 7021 +/Filter /FlateDecode +>> +stream +xڍxTTíÚ6Ò ]Ò HwHw×Ð ’3 3À ÝÒ%%Jƒ€„4JJ— ˆ‚”tˆ ßèë{ÎyÏÿ¯õ}k¯5{?w>×}_÷³÷V ±€áQGÀQ"‚ÂÒ=cKa€°°˜ °°(!‡ ƒü-'ä0ƒx"¡¸ôX¨xBìQh™ª= +m¨‡€´½`1€ˆ„´ˆ¤´°0@TXXêoC„§4@ÕÞ +è ´p’Cáîç urF¡óüýàñD¤¤$ù»”Ü žP= gr†¸¡3‚ìac +Aùý#·¬3 +å.-$äãã#hï†Dx:Éóð| (g€ ñô†€¿ ôíÝ   rLœ¡È¿ÆG”½'€À  ‰vñ‚ƒ!žtv€±–.ÀÀÿËX÷/~ÀŸâDEþî÷¯@Pøog{áæn÷ƒÂŽP` ®+ˆòEñìáà_†ö0$íoïm…Ù;  ~oÝ ®d°G#üƒ ò„º£‚H(ìF¡_aÐeVƒƒUnn8 +IøkªPO]w?¡?Íu…#|௡p°ã/`/w!S8Ôà ¢¥úÇ-"ü·Ì ‚ˆ KIHˆ‹ ˆ/ÈYèW?wÈoåo1CP€;Âàˆ† ‚:BÐ7¤½7€òô‚ü§âŸ+B +B NP8á¿££ÅÇ¿Öèþ{B}VÂhú‰„]ÿz²F3 Œ€Ãüþmþ»ÅBf–Ú*æ| ÿK©¬ŒðˆJ¤$„"""IIq@Ð?ãü«£ÿ-ÚCÿìî?"jÁ©¿@ «÷7ï?Ìàþ36<€fÐG ù pÿ›þ…Å…Aè‘ÿóüvùÿqÿW”ÿ•þÿ½#u/췞û/ƒÿGoï…ùý±@óÙ …ž =zBàÿmjùk õ `¨—ÛkµPöèQ‚;¡y. rOPøÞ_r(Rê ¡(ó_\ú»è0(D ¡¿Î´—°ðéУrEŸ-HtË~« èÉúg^58þ5‚¢â{OO{?B4Ð+q@€zVÁßß Â(´ 1àˆð$üÕX1Q€Ú áƒ8¢~©~KEBîè!Àè¡G]è_š$yyz¢•¿‚ÞÕßëßâ .Ì!@2‘./#;.ê”|6Æp—WºâR,ûcÅQœïŸ8ëâåjL{(ہkhGç+¢§æx.Æ}¾É[ÊÒ,Da¨õ¯)  }?yãa#è&$Ç­‘¦2‘ÚYa[q¥›Ï]EIöˆm¾øòüº ¹ù@jà(=#cÍb@%*tíb>²de_A [>$K¢ð´Êö2Ñ2¸Æ|M:WîH ûî·f•”3üéÓÛüþÇbÇÅ:½µ5єtTþÚ¬#iƒtÔ©ùÚ¯œÊâg*™)lt%nќKXv’K?fŠÚSżšœôUÂn6{5 Äçä +z–Žm×óL¾ Ó¶¤Å9ó×=fWæ¨cœ g֊Á +{±i˜¸ ]‹7z3ˆ²òsK]ÌÍ xÁb6_&i/ìsSED­3å`÷??S–˜ÝGÍ?\Éf(é9(ZXú¬.+^#wù¿=ë‡VY°¤ÃO·ZÞv ÷Ä!ؘ¨§ÃR,:swûvR_i‰Ÿ½#7ãU“@Õë¼GtÛò$$τ`Û»4d(JÍO²%›‰‘™¿7ÑÝÄÈÖ'°”ŽR +!#¡t=¨`zñ¡Zbô©\x‹\æýPáàÅÉ£[ª†{Édõk· {¾ãؤ8x ‰âÛèv=p¶+ÓçÒFÝK6ï¦\m)[N‡IÎ-*ÿ4 ±¥,~Xè˜ø#éÛæiÓa¡…RCìX\F÷tȚí³Q¦ÎIŒÙ¯'÷z;¹27}5›.Ï°(†5¤Ù"K`UÍÉâm*Ÿ¨ãL­ìu;N[ð={F›O¿‰XËÜ[s·ÙjÒ?tÿQ顬 +  嚏’[«Ñ å” +À&Š5 Q%þvŸ‚Ø~²)\t.ˆáìØL¸SÐù@S¼kÅþ¨%ž¼áRÃý謗ñe[=£ö ?è«$\ýþo ØÇÏBoý”ÝõÁ»›Öæ ªáz­¸±–÷–ËN¢[ȋ-“gG‹-€jGº×¢k¶¢­·kZ+š™„"w|§é¨†v¸º;¼èÛÄg—æú,LF¹jÇ¥û9­É3˜§?83Ö²a,ê74CtÉ1œE^0«8|-­™⋁«\XJK{¸ñ#½g|Ž´ùz»û, Aç0FïR,ÛAMˆQõëJ·èu²wвHJƒ¡é$V­Û /g^þؤýfDþÓ5c.“Ó=ú5{ÐK‘ûn%Šw´Œræ¶éÓü€Àµoß ƒìÅ6ÔËaX™]'÷}±«ðžO£Ò4͕Ê{jVeX?˜-Mþ$Vi¦Š0C4<^ôn+ØKSèiÈ`‘Éȯ—ù(Ï9°VVÕõ­ê{sfî)£}o#•Ìùì|CUgB:’E[þ‚Aš‘|ÒNW +šDGئ’Öг²!Çg!—²¬5¤éïÊ :‹ðý‘Â?¶g°âî_¾Ÿßšyˆh·yÏþŠ3aãäؚü>,3yý²•32òPÊêª O.«ÉF_¨=ñ æJõÁÂdà +MX§1[‘LòV敗 †q¡’øqŽ„²ùb±7|1Çd ¿&'¹~¢ƒ-j꼂ÒZwL $( vj`H±p&‹ïc.”äÖuÈ~Ü>´¸Ö8óy6 ’X¿"ãЙù½rû¨€Ñú~Eÿ9MøúFµÙ‡õñÁˆnûŠ\ëÓ-…Y~"ÌýcT,=ۙL"õÆ Ö»Ç¶ ×h{´A*Å`ƒÜg5t?'x“ÂpÞê)qÞñF¦¤áAÖV÷Àº÷<³”+‘yM“fšŸ» ½êÐû5@º ݾHþ¤ô‘Q¤uõ§< 6Žð@ȧÖ­ú¬1‰Ä‘#àû—W­Ò7ïx†:“ÔîÎo•€¹ª{7ºZ›‰ÞŠb1ô8¾&Å,t3$̼Cä6UûàŠ¾¯X—äþÄëӅDÐÈIÓ‚j³:>OW³ä]›ÎÇӓæžìox|ïA–~™ýcí%…y·)mõF®íð„)Ìp¯¸Nó'ê'Ï*PÆåCÏIÁ +Ÿê-¨±)¹#,#¢úÎ]õ͛,_ï«ÏËn)5dm»6,öâ-ís˜°ç ÆTººÞs‹lÇH'݆ºE fÞîUÜ£3Üh£®‰,ò{B˜žüÁ›…â/8åy!s_†Z(éÝˬ4½Ý÷B5gL4»¨ù(¬+MHnôP¥qÛ[ÿ`“MC"ˆ¨tø¯°ÀºI¤HéNÊë„ ¾ÀÍ:îõV³Ù¯ËñåÕ0ÉpGs*ÿ%ÏBÛ}¹l\•÷F¢-ô¥ÜÝ´½™õчtþBšü§u{D¶Æ©Þb¸'@ú}EXmß½9žþñeˉÒàJL5~lÃÛºù¥õŒÖ7(XWý¸æu‘†I˜/r\¯˜) +ÇÛø©H.u,íÂðqýCË|¡)Â#‰_ž eKœì= gfšÿÖXÕk¦í¦ ˆó?Ù¼?ÐØ]"¾qñ3ÉM ëm2süòx…ΣlÔIe˜.õ$õpþu[î-)œö “X•¥¡>Tp[jv4N‚‰wÿ±T€çĬ֣"„K­é¾Î¥¯KQ› ?îØŸƒHÝÜ˯D½Zy0UÝCÃXbaçÍ@8â´ã¸“KvÒ²s"°'"tA’P(–À«&~÷18æësDRV€µJ¥<ûO,u'ÖÉXÞgˆ6Œ—øwú?ÂöÇJÆjÇ÷“ûu| >%ºçóŠØP’„ ÎÅÇ>ïÙ­'Ò5‹ >}{suáFL³'¶æ Úd+µKi¯°}aø +ÊB¿îþú¬?‰y™†)î'h‘ŒÅ8=ö‚çëÆb“¢}ŒÒ3°ˆNa±kUÕh¼Ë§ªb|¸°ÿJL+,q¯’wí+Ì ·9ü#ghµ_¶Î[<§/îCiù ÷u=й×o•~÷9S„ê]µwáiîîµê¼Uåßꗲ½= fÀãpIøíçäÓXŽR¼µ {Òߺ6å;r¥yǖt™1Ç©{¥Ò8íÓ\dø˜¨Û…cx&?(¥9õÖéðî„Yèô`.š5sù/<8UbúÀC?8›¸Ý0kґAޛ“²¨;¾L¢½{x¼m£ +-¿¶*=’FÊ>ùØ"ÚÃú•jÉ4æ20#ë.îwq³È]Ç)Óø`XÐùÕt ÜMB.ú{¦GÜ ؋»…Ì•úZƜ´¾‘ÎKÈÄçä®Ê_ÇÿF.Ð¥JTœ\e(\2ïÛ,QÚaVmÓãyF²Ám!õr†¡Öáâ,”QþJ[<¦ £„È™ž®›ú²>çæ~| ƒhT¬«_Í +»±=ÚQš+[5¤ÞîVf6; f?’R+n£Iq‘#|d­¨ÚzàƒSkK*.v^¢~à4ÓÝpï‰rÎÖzޞRyÅJ§Çˉ£R–å×KS÷šðâ™cž§Lˆ¼:Ò¾#¨>áŸ3î/”8]ëÀa|êù¼Ì*õÓo»ÏDMõ?ïœv‡øžk°ß2D–ìLµŽßÍxU~çãD—úXN¨®>75\Ž¶æ#ë[,¼#•‚¸B›>¸}qF÷Û¸åúƒZ:{õ9µÜ|z&oÁúÖ-òuXqFCb~Ã6m¦¢¹uñäþ;×;³©8²~ùú^Äöx;%åý‚¥‡˜(ýƒ¾X˜èK²W%-ëž;z¤!ÍÆÅ_n,³àMôቸ¸9ɳœå¼6ILƒ©\W E ÒUÚ+ÎWC²ËãýÏŸw1OÑï×QÜì,Tòe€HjB›e‹‚ý¸Üö²9¦ÛaR]˜e†¾­s•êçi4®àd˓`ö—½v±n¤€ŸˆYÈkù+,¨î‡Êé_DÝêt€3%xÜq°ä–g[¸Ï»õ¨kh̵ÜO챁ñz§¹ÖCœ¬ê³Úzaý<”¨“!…zü4@-z¸¤÷‘OØÝJ¹ ;µÙʦ3=*ÿÌߕÝՕÝúÞn-5öȱ¥è²–¬]ہ'5E¦׫3½²µëŒGGóUuL[vA$)„«¸3Ïð¡`†\ÝF'W<©7ܖZ) 0»ßdìf©7¿(MâkJ7¾xºb©Éä ’Þ´Ú®9Ðâ1hdc9•KGÂOø”]½ü]–¦ê±½‚û1žßÔãV*à‡º\{xÏà€r îÙÂY‘†Î<й!X¿Ñª[kØv'6TÿȄÆiڑ`“@v&+#á*ì–Ý=ô[YMdN›«ãzå»].i8އ‡å¡ä«ú¢®ŽÅö'/mI±'!d;ÇÞ+;ݧ!:‹æùz3Kb +ï“+ôŽ­¿K›ÓÉP‘{³¤D‘eãX¬ÊàD*³¤ĕYP& W´d +YMžÇo¿BÒìa™Z¯¿ˆH“›²ˆÿyû:M¼ñu|¨g¨JÞO®6šw-ÌA«+؆¸ÕÏ äY_ãj¾è/ͼ:¹õðô|¾pˆQ7 s7¢˜Î)‰B‘bžyiøËè8Ýûp2•È,óʋ‡m»Aæò£qfVwçÈÑÕ7•à…níˆv¡4u6 SÁ:aùM\ÌS¾:†3‘ÂtlÃ3USr»a_‘ÛKû¾më•÷•¬£>WŸƒ„¢vGBÄɏŠÍVG*øªÉK^U×¼¾b’Œo0E†ç¾˜«ðÛÜîKÇ3)LP¿ÒðtZ5Åí#eOŽyœÀX—ÜԏœùI£r}þ~Áãâ¢Z\=ïen—;¨²ˆµeñ׉bø×ý<ëqë~CÌQsÚ(ƒùTúX7Á„gI5GFV]w&³ú².w¿àÿä +ßìë©¡œ'y-ÄBzõP/ä hŽ[z’\¯p½Fù ç³N¬S vEÿÖóžŠMRJń|“ê À,—ýǀN ¡NÐçâ·kÇ^ªÑùéq$A'œ¡×}÷¥¯çÊÚ7轕A|!jÝ| +DC⥱œ0©S‹V ü$Üé”@K}SZ¡•1Ÿ‚klj0 qUq³*ù\e )æj~éZR\щ9bQËñò€©”&Ÿ”ºGÖ´ìå{ýÅûº°Ë"ò=‰YŒ–N»èg…âs½T­ð¥mbTiÓ¼7nDôìCúV!‡µ©Þc=3uêaañ›q>W­ Qs)yǬ ŠW²É‹¾æS1TLsÕM[‘Ketio [Yã—Óƒ”9ÂÂÁ!+êÝxçBÌ$K +êžy„¸¤+õòÏô»!xši1ø«}ÇO‘µHßýÍYuòµõ˜yœ±}ç²Û­$&i£0Üø—¦œÌP$“`kÓr½ª;–+_ÿ裿ñ¤ÁV)Ç~a ¾ \ô鵝ŒSŽgÕY‹›a³Ù˜úîäñSJ¸ÞQm€[ƝMîç°#è½`ž«rVed7l-žÀàû×];Šaü2÷´ì€–år-‰;*Y:×*XB>uOܨðª>¿caøƒyJE÷´ø$µ…Æ7ۇàsW)S”zËR'q0[äºZºüXt`³Œ6i?‘÷Ž –µ&Vû 9\ëÃpf<›ÆcSz—Äå*ÜH¿ø#”·ï¬´Ø0•Æ끟-ÕK0[zå3¾Í7ÑÖó°ZßÏ\>Çk/UȺUu˜ ðèÞÄ8æq;)úX;–šåŒôXí„ï&ˆ¨ßf¶!Uó®&\5Èóž®el½åMDè¹aÒ²t9"¼ð‰ÊáîYÞ-«<¿‰´YvlˆHõ¢ë¬øc°‘Òžw”b@ŠŽŸ¹|÷Qìºüejí¦Ÿâ—þ›VӕKüß)ôjÊ ‚²Ždý”$+`¬œ¾ÉmG8Š1ï3ñÀE؋^ë;1zÆ0¿°e‡œsy R³Ê/ŠýnL¼ÓÛñÌföE-ÏlŽ@À+ƒäÖ:ƒ¹KQ2£òžFRß·[»ø,±†ýø§>ÊN“©«×Æ×íylï+ayGgþ2­õÙZ~³ÕÞã¼ىs÷,wÕ#z¥ˆ«Øá|ýT,3Ö;‡2>ÿÒÇÁ¶Ï³%än4x±´ðº’V´É‹0[ ’&~Á×·P‡,{pÌEOUßZö-ûó¦C¬áKúÓ£:cE¡Kÿ …ŽÞϛƒl)t5˜CRÇÿ¡>UQ|äæÕÚ9ÚÿÄLtš\Nï‚’‡J L4höù¹ô4½é‚èT‹üHìû·él¤Ý†æmO# ®¿M¥Þã5ðÿÑ&j9qeTYr^-œŸŸ LÞۑە¤È°¤Íi<»x{´Ã¯$ÖZVÏÊW¸ÏY!¶¶G +6êón¾4ikLI¥ÜŒ5+ș0OÓfÛr[0W;ÝzêYyì þ¤ï‹ê[çvæW]z’GÕc[Þ³åM8æ÷•‘r%ێo{Á\ – ­zÁØÌY€ñ¶Jé‰V¯+yýÅ)ÜÏÇ7î ¢¿C¼»/±tFàÝŒ«ÎïÉÏìK¢ c +ºß·Ó3Å+hYFíJ³Õ²Ö±[ò.H–A@†‰fœsƒº«¢iLg » Œì‚7íµ&7E§¢ñ= ®·>é+êÅïÞS›ŸHØÉl+í¦€Bm4±qøßtäPLù™æË4okjœN¬<‡}Ûdo·ÚwH{…; ;Evµ¼£ý£HY±¯‘øáÉ;Ö.¶?ßcLè‹¿¶jàµ$åÐ×ɨÄÍç ~I*J ڞ¡íÎ#&âÁëÛ“dØ0F¸ÒÂ>­DmV°ÿžuÕɋÆ}ÇDV©Çúþþ±‘z‹ÒWqÁÐ<€+/uƒ&]vc ÿ`B`n¥akʁ\q'óeMÛ×ãG ìôUçQuŸ±џ$¥ûjjݬÁfš[Þ ¶%–Rn'˜O¼ðÊ3ïÉúÈè&'H> endobj +4112 0 obj << +/Length1 1360 +/Length2 1006 +/Length3 0 +/Length 1841 +/Filter /FlateDecode +>> +stream +xڍSiTWÃmpQPà º«ÁnÖHš¥‘fDP¡¨zM—tWµÕÕ„H"ã‰ÑaDe :jd dY<ä A– '.P˜°›¸ÄDã1š©nÅ™9}Îëzßýî}ï»ï~.ŒMðáT £HƓÏEüATˆ$>$*”ñæ"ˆÇÅ%‘`p^ˆã’i5A‘þóH!4D£ ˕R$ˆÔ(ßð…þ|^â÷‚HÑþ@Œj H¹ ’"¡šãB© 4‘)güÁì'pÃÜßÏÏÇÔDJHJ)ÊÈ¡’=C ÂÈ”p ”3ŒÊŸÇÓét\T©æRtæ&w #9ˆ‡jHk!ŒÂA4ª„s긐('ÔÓ±JÆèPP$Õl–†Ä! Ø €IˆQArš5Mð3ý|.¶ÜL¶±Aš’Q £”*”4d& +b¢¸Œžñ(‰‰¨BM±ù¨%hK0Ýa¢8€²"g$ª1šP1j®šPeòŒeØN‡’x¥TB’QsŒ÷4ÄØÖxs¯œER:2g #H\fƒkT¼?‘Ä. ”ˆgh,ęÃ2!Ÿï·Ñ À]ê19ÏxL¢AMA¾f•äæ¨(±b`.!ƒì'Gj!`h Ì͙X¸ãðù'0dÀL‚äÌUga(›Þ³ƒ@zŠ°sȈñ7ûµ5œ"†9ºé­y‰±›S¶Š6Ì©žSzãɦW/dã̒»°Ül#^4Á„Æ¢ÄÌ%çU•2 +øLka›øBvfLÜfläžM±ó Ûœ¶!cþo6…)åÿyÁXå·ØáåK…i +Åm–ó?TI( 3$4&¿LاÍ-…8¡Q¾•0(k™©˜m"¡#ô%L>=I&²6Y˜Jbnô“—@PšF „/äðYãáPošTÀã’敆É2Šæ†Ï÷<Ô¸²0gAiLCÓ¬•LoȞûboò-„zˆqúz), `ç'͓µ¢5:ϱËBòQnÄk´ÇwG5­ì?øþwNײªªj)ÿ°†¤²û¶¿h[këWî!Žè‡ïsȶ{Èònð3-RqÆéÁ4‡ûx~¡­ƒ]I[µ«okºCnóŸ=E]Å1—NÝg¶ýÀ×}«Ë|»v£ÃHj}K’×Uí÷¾Üá”j#z±OÛsUfœø:Hr7œ¾k¾kä@Ùã¢g¤}§8Ï1²Êã+AÙ2/ëˆPù˜•õ—R^ÿ¥@I£™üûŸƒÜä[ýNCgËÅ›Éô–âíZó-híö<ôûOáÎØ ·±æ4ÉhcqruàýOŁƒ×}o7÷¬²þ¡&» ñXœÚíòJ[ü×;”±•gŽHíŸ8ãܼv¯tÓþºìc=ÝâÛ[¯¸S~?;<¯«àVS¯Ÿ!üoõÇVQ’þ 7üÝÛuÞ¹þøßÖsµý×¢“‹Æìñ ’ôð|§÷ª&ÉAK)ZÔ4â.Ìêª!J+Ê#÷Û¼§Ê=­Nù>Ç·:?ÐÕØL"iXùÈá¸Òè›_Äv…7Å¿Š¿QYX”„\|¢oŒçtÞ4ë³1?-yºÿbÐOmSâ +3çÂÞH½wöÝ=š žqZÞ®Î:ú1q5ݲä_Ñ{žï +Ý©ë´{vbóÑÉ ÉÂÉ牖¢÷ƒKõ¿6ÆÖ}dmï֊ÎýãdÝõâ㷼υ+ˆ2ïáÅþâ7«Ö[9í (¾ƒT֜Þ\¾w¨üzjý¦E;_ó¼6ù¤ìÑ•Ñþé:¶¯n¸<6áòýx ´=jÏj´è®ZÚY¼¢ÓéՍdÊ>úÐ_O´Ï««yÃèÊÎÖ…jhS¬NY[¡ÎÚóøÊú#Ï÷û \¦+bòÍÊÃ솺[^Ä>ÿ}ú(¹Üa­_ÀàDß­£ë/-~çKùòqWóo_—ܧò~ç”_纎WêIÙu¤D[¬ ªæWïøPy° =Kß¹ž²Rt(/OŸý2Ú1êô¬;¥òcíÈǼ%Íõ?Úàéf¢CKU¸ ¯zøé**ßõp÷›¥Ïï}”ŒÓqcX$ Y$=sóq¸.vé:ÞÀêH«+êÊeb¯!¦þ˜®¿§aÒОøíÎhŸy¼´JÝF“§Ÿžݶ캤ó§&²o®éÊÈÙWÿ´&Ùâ+û¬²-MÛK‚l?kÔyë¯önÓZ>°ZÏzO„ZmPìø¬˜’ü4‰4´r±–æÔº¸·»Z …Øù·##–,‘]Ht«l™ð8WjÆ S%½ïž ïë쬿žfoÇ3o Kÿeó_ßË +endstream +endobj +4113 0 obj << +/Type /FontDescriptor +/FontName /TPKZYA+LCIRCLE10 +/Flags 4 +/FontBBox [-2000 -2000 2040 2040] +/Ascent 0 +/CapHeight 0 +/Descent 0 +/ItalicAngle 0 +/StemV 40 +/XHeight 0 +/CharSet (/a118) +/FontFile 4112 0 R +>> endobj +4114 0 obj << +/Length1 1606 +/Length2 7713 +/Length3 0 +/Length 8530 +/Filter /FlateDecode +>> +stream +xÚ­VeT\ݒł“` ¤qww kph ‘n »qK ¸‡à4hp÷`!¸÷à.CòÍ{oÖ7ï×Ìûq׺§ªÎ®]µëœ{hÔµ8d¬  (ÎÁÃÉ- +‚-0U(D…Cê`x0 +`30ȹ€Ìá`(DÞ聬ò K//€GDD› uòpÛØÂÌ:šz,llìÿ²üXxüÃ󰶁^\AP'GþñÞ¨ච€5ؐSS7x T0+uŠ ÈÅÜ Ž°p[TÀ–  Ä°†ºþZ,¡+ðïÒ`œX20€9æ²?l¹[‚œ~»ØN G0 öðÃ6.æøCàPb逰úMàÁn ýCÈÉúáøà{S‡Âà0K°ðU]^á/žp[søïÜ0ðƒµ~ˆ´‚Z"~—ôÇ÷óà…›ƒ!0äÿË°ÜÌ=r?€9¹€ÿÐ@ÀÀ›1`¸€lÌ]¬@0ØÌöïîü«NÀÿ¨ÞÜÉÉÁãÏn蟨rÃa kNlއœ–ð‡Ü6`6×ïAy ±†x¸ÿ²[!œþás¹üióï™ay an…8x¬@ÖØ\@(ü!%€ùÿ¦2çNäÿ€Äÿÿ#òþÿÄý»FÿãÿÏóß¡@sLJøë‚<Ü0P€ +à÷ó¿bÍÁÿ&úïz ¿þ;—pó‡6È@l¤àæäþˆ)€ÝAVê`¸¥-ÀÚÜá¡Gì:+‹zÐòO<ÜÜóiۂ-í!¿›.ð— ±ú;óyþðæ’א74Ð`ûûmú'JýAu¸¶‡Ó±ÿ®CjõÏÅo YY¨;À‹ƒŸÀÁ+$ æ ñøü›l`xþµV5‡»€Ý¯JææùSø?ÿZÿ æÄjõ{J´à櫇Áú§á·Ûáâò çŸ³þPð?ÖFrYbOÿ€ZŠÚ%§¥À?‘döÉ¿îlçAí}çTX­—ã_móKY)1»©xÇYóMô®ÁcbÛévU™u­¿ý™S["h?›Â‡Ž¥#‡`ž±Iˆmí-—I!^ʎ^„ׯï*‹h†‚ܺk?‡44M +nÐ)¿5ñ¹`þ:gñ§sÍñ'¦?szìk™Tý´¿‰ðSîöãûÍó3¦î¾Þž¶ÃG«ÏÙ2¢±ÄÌI|¶iâáf.'Ֆw®\…WX[C ÞD¶Óߢp_âÝlÕ;b‰[Ùř™ƒRZ•1÷K¨.Uc¬‹å¤½7*ÙM|¨†GÕñËã‚jÙ*C_*Ù+Ä'M•ã¹‘Ÿ™w´=RÖ›Ó;àݽ¯…ályºb¨æ=a­=|ÐAÿ¶Ï‚ ¼I{:1׍œé͋ÁCˆ’¸«cÞ֍hX/¦Ç‰ž VªÔÜh<)ËpO9®`ÓÞ.ñ]îÍên>gËÆ>5²y›\­ l?éšq’ îv~ÖL®]O>´Õn¤ ¶®ƒ¹ý¤~áç}¶ìŽRþÓ¢àoÆð¦êò4dûA‡ùGaUøç‡%̽5Ýz#¤²î @¶I9™Ëþ«ëL‚·Îo™oƒŜGÞ%_îèŽG_I8?>y£Í¯¨Öä}R#F&ªå{‡áÀø‘òÅô‘ßPصþuseóq)4»0ì3¥°Lh䤢£SÎGïhf©riü;nèh àè|ctQùM‹’b­lÚ·Žá¾‰]6ªe|±q“g\½£Gôq†x¾µõ¿ÎßÒë>jŠ¢BÓ+Ÿ¸h>š¦5½âMkù.Â5ô%²Ôîqøò£X7„/W—,H5ö3ýc-§Û¯Ì$óp\>Ïèq +ãاÏ!¢MêoP¦O®Qƒ§"ß&‰i9G$OD¤ŒÐ}Vy–^Û%1“¨ ˜w/&»§»0}¿Sš/7U•kܼ©"Ÿ‹& ¿IÛ$æÁ7¿‹ð×°,HðY/V>¿[nxö¯¿ÙÊ'Ée¡?c^|âAÒëàm¸•š‚ãâíà8”AКÜåơԄ~±¦ë¡–¹K5u[vK\{¾¯w˜£êÎøA tâ>0]jýî:/¡«þ ¦¸‡ÒÑë^îÑґåË+Ã[ÉNŒ¾[ßÆnl[QåFàá»f«ø™;·ˆóMi:²´Ÿúæª`ñ¢J$XíàRȃñäZ=á$ú,d˜&¬­!\–¶ßÀÌ`÷¨Prшwì}8¹²p+WUÃ|¡uüz2S˜àÊ붗ÔŠ6ªæ2ƒ~¥Óö³7B’TÔÁ!ԓ͢>V,ì:ÁÇpzsÔûÍ;v)ÍÌ3J¦ñ»ˆ&K¨Òz5À­eíÉ4|¸À/~—¬k—·ØÂ> +Œƒô-§ÕûÿêMœô¡y$89J6°gٌ2֘$˜ÉZË$¢ì:ê´ G¾I‚Q?ɋS¢­eԃåoڑäQÁ>wwû³œª[Kâa8"ý¦ £öóNÈ\ãuÙª^hی‘¸ùZqñºyµÀ‡/û’Ð(±“Y+Û¿§Ä¸(J4?²_ ÞrÚĔ¼8‹óöM<’̍"»I·Ì +äµNëgùõÜ·ëŠëë4àÓùrW4QÔRWËødk/±¿a¾……؉¬¸€YÕyQÑl +ÔÇoæí§«'ÛÉ6zÂÐÍqgˆÜ€©”_6”°ð’ž²åä3u(òuu0þßAÒ9¸ä”\/Õ Þ[Ü-Äó„ÜGß¡]]ÉVùÈ÷¸=Ó¥Ô¢¬êäÎ/e”©[1Xù¶ËW†gêÆÊ£¢ ­ñéÊÚȾ"N2AÖ)a|ïÂÊœ‡Ñ»n×3±'f§cƗº7GC“)Â1»mFé8·Qde Egˆ]÷ä¾¹*|ßý|½«^þ³¤¾9ÏY|ÛÁž[a Ÿ7Žÿ¥‘v”1°û†t +鸪°võ§=à¥E³m©bsÏXfHù–Fç ÚâDÞ®cÏØƐÆ2‰fø0»_®ëUÞ?,f“[L.½ò0WP‚ÑtW¿Ÿ¢ü’è"0Är’[«ẩ¡´Ÿ~ošÒU¦mãà|›¿üá¤/>ïê QoUxï£¾˜ðþµMÙ /4Y©‘YQ¹4¿ 8ã;ž,BTjÁ‰3¬Ø`—WiQ) ­f-$¨° î'¿ÿð¦§dñê)°"q:Ý:7ÒcD”CÀåBÞTªb8 fÆùF6=g¿<—Ñ2rGéípQ¹3ZDÈEBnbS©¢B)cå ¾³Øw嚣[VPphueÊûÅFäÏgEÇ#a脀¥…¨jn?0(¾6?!@?cå?'ΕTÌãfŠñ‹Q +Ö÷w1nߏf¦c;ühù994úÖÆâ·^ô– +5÷M·mCÙí¦ç+?%eûüznÍRº“j+Yþi%ÓXöFŠ@ZO³4^õÍ2JïU¨®šß‡ìŸ<Óqϵi Ž–Ý­§8±×5Ç'†T?ÁQ“¯ÌRö€Þ±]üTö0€‘Ãç^Ñû¶'ìlÚ [þrô@tíuntžŽõ÷œÝæÂlóUÛ=w¶–Çb*÷—x™…‹ÇN[XRAъ#JˆÀÊˍ…ãÔ²yá¥H63»ªæɒ÷EXc/•Ä>_IÃ*.±$µ{&w±¶7ó¥9Á³ï•&’%ÑfÈE6Ò®ˆ‘;™óuè8®á3¬•ßÖÒxÛlȧ¸pç)¸ëö*9ô2N>]þŒI˜Ô•>ã³a]ávk¥ªG• ”µñ¼D[*¡GÕéÖ¦ Ä Â”=êcý9”'­K}ÑEj†˜ƒîg-&‰£=ÎÝáN“n©r=¸uH9..’ ^öûª¤·ý~Ò"ùº:2c´—¤C,náuh²!g&ïá+÷4Ûށ7ÛS#"'Ç!~Ì9ÓkÏÕsëpÍ#[y%ðzýøâ#±°¢j[íw`V7‹¨ˆ·ìåIŒí2¡ä øГ”åŽ±zð#/­kޟ&¡˜"QÛ,ë\`–qÎkQžêøž0»žCªMŠUoüÕ¯tod?ZÞ¶£Ïƒä³E™ù,¯šœËkrՌdáў’YÍ +¹_²éKìi/¥ôñäUØBW°K¼Ë ÷1>ý@?ð6­ -*ßI©VrUdγ†QüÌ'àᨅ¡cûÈ]W&C+Ö+NbR¿Õ^±œ¬ît|.³¹ÕhÕ%‘^„uò¬ksm³Û1¼`¶—!Åþ…´¨.¤­ÌWÇ8T‘,xi§dû´à)®¿eíØH»ä5݂§À׌vk‡™0p>£À\¨3õuc(hXXJMy}&yԜòÑZÆt+îµhéwhYIŽ½6߸øl“Äh@’­ò;Ï‘ælpݧ·¾ø¶#|E» gO‘­o[ÏVe˜_äc^dj]j={¦,Ü?m§šKE÷²ê¥a€ÐPVÕ¦˜·÷AñÚF–fz[¡Di˜^t7c,sÀQƒ2¢1ìl—2ýÖN\Îëc ï„Ö°§Ã…AÜ<_©‹.!å„Ñ»Û.› âîÆÌ®þÆM·“áõ³žÈë7/ÃÚ쟨=ïTié±ãj›,RK{à“’…,èÀ“ÏÈø^§Nf*KF•×·¦9ä*ôù× Èèëa®F¥Q­5ÈLjôÀ~ EW¹/AQ‘]½˜U÷…·Éƒ‘*ìu?ü®® r%ôœJuqh‰“Ûta"Í%ÁÎö”O–®¯ßi"pëÑÉ«Bð¼Q‰Ž¹ Vp;Ùæ"\Ä! -ܛRPõ!w˜„‡•¹¢þ}áüN3Üϱv>eg7ÒxùËɘ­`pv¢vÂ^˜Ðé¼ð{AþÆmÓ!¦²z€¡Xgû!J#7ã]ÚúuŒ&t)r ò¸cà͆“ć;î)‚qS4yì° +fDzq ²ÖU¿±3jà9~JÜs•W–G†KäjáY¯OÓæÎÓÑ8q¾¶X=Ï°‘T¬M}» W&ßoƒCˊÚå>±ݝ½ò¼ü@óìp-Š›f¢sqÕ©[â0£= Ýת5IFõ׌œß´žðΟ/J1ôõŠÏUˆXJä gW«/<խ؛O3 êuùeꃍøÅ/ã9Ò³ø\>´ÏV1ƒœÅÂ5”ßp†M*ÎýâÛc[óù‹jU½OÇ,5bªà7æµf!â:v߸%Œ‚W6†å)"¸ +`EgkªÜŸ¥®ÝÚ*˜ûžºN'ê±3ôarŽ¤èo ž+@ét"Gïf ]ɬoÙ ÓcUf¾Fi–Ĥ‘ÿÈVnŸìåuDò¦?íæÔ¯)œ»pbü1üÃïCÞ=ß Y]õZç€' ¹9Úº°*âõñ¬mb¯c ÂW|ã¤K +×:ÂÚóLì)‘â|Z+m +jÿ¤ð¥MK;Þӕٝ¢þº!¢‹ª•´§ú&Îª\ââ ¥ú Yõú]MÃXN°1æY0”-ܤÌÞ©!´„ýd_„»ýœ.ñéË=b+Ì° †>|pƌ`æJ˜¬èÅgZ~ü¥¡ Íb¸cόÅÞø„þ<Ú«Wx©DøøMO><­‘ÁÀÂ9Vʞo.~Sšï#“~¯«ò-õ1)[Z¼ü­0~ {q~?Ea½`®ëÒXZI*UŽR4Úþdªv‘¨.f2dú”çs©OqݓŠp¹Ké÷q«Ód^rÊW©Ÿ.¹v&Á¢wôv•o±K}ãëb»^@s +1þ1xý£àT¯ŠfcI 9Îôì+¿”þÈùjœ žeëlìÆKX^åeˆ Í,hò†’Lþ"ø2ØÒíq†aæVt@ðãñ›ÅNgS!òH;Fcý×%c +ú¦ßUü®'êÝՕå"Äø†‹©ZsãOÜԏ÷ª)›V_m™áò}_¢1ÖD^­Sý+'G%;øÇW¥Wh®St¥í#£.™ˆvëŸS‹ó“r§Ž7ؘ2¾Ëf)6ôˆ"D ¿qö7hvCö8ª‡ÙÁΎÒHAV׺ȸè@´%{#ž T)† (!ÏMêݛ㢭L«X*÷±Åíwٞdï0¥y‰Úӂ°L¤ú0|eò»õŽ…õ ˜$7È mua bâW¼aÏÄ©§øԌÚŠì“ZՍ¬I‚R;9„К›~Þ_¤8ª¡ø#5`åñŸÔø‡P¦XY¦—8à†ˆP¨R…?¶Ó ª;ÙLFKA{šÑ ¡ñró}Øvç£ÆäŠ ®fQŒèš(ój4°ãœw¿³yÚV=K?ŸŠÂ~ªCñ'Jž1§ò,Š/Hª [‹Îx¦ôHǝì.ô ´+ï‡}ƚm\ZׯœA÷†? …Oßù+&¤N·X\­­«'B$sR¡ +£wót VHzÈ`)¨ÖÂf^U±¯( jÂAÀ±Iéz8Oa££_Šå¦ô^Ç-ïý)ÌÔZ"é؉˜X7ÆEžmNaÊâì+DØА6é4OÛÊ´"(Px ±3U.©ÍܯQ¹܉S+üíðÅ(è¨îöUÊ:r.IDüã,«ÕŸòbƒýS"Þ4-ØÆX?ë%ôôÌ ª.„šC]£^]ÄæÈ,›s«j°þ^„MÀórŒ°ú8_zôi\6ÓÃÿº5ºZêê:%лrÕ¢‰ôuúÊ'¦¦ê  ¶Þårµ¿Àlmp"C¬cujwµŽS8W¬mŸékeF•¡´ü"ô…¹V¾jUV=~àg²`=&övLçsFûǶ﷍e7‰Ÿ(õRx6P¯6™Ãt)]òÈÔnpÔ(5+®…ÎÆùü7L§M! +XAîw;$óh8"Ÿ¿Ì‡LonÁLèÒ6 €»^C‰³¥I.'çË<”yë…ÂYN֏6ýý¸b”wågW ¨Êñ“xzL.r‚›ñdÇ:¶t+ ¦Ã©§;‡AÏ Éiçð”½4¨1·'IuÒ&¥&Ú)™øyåê +€§úay¶‰/ rV¯#Ýí—SýÐE¢ž×£ÝÆìz,®§o¿à¥uîšvfÌ&Ï$,†eÛæ]Õ%W+N¦¨½}⯑µ»u±´à¹%"ÃxÆAPò¢°É³4ŽP” ÊP£§ŒÂ>Ú<o Â{¿íÍçµúÌØVPg6¨¾Ø”Ræj9F5RâÜԀѰݯÕÖ£÷Ԉ¬X‚z+`L$g?¿»åSS’`GäW&ÊÎÞívF­X T魗ÉçcÆs_,¦"wL.êXÛ´]!×^„w@hq´Y›4”h“¿»û”ÙPʮٴ’©iÙÉÝ^—$‹B,õ'òºTùL»zŽx–7éL1Lí`Whä[!5RdޏÇèÈ„Q·f²9Œ¹þHe–q}X%Fu¬‰]:n£Ïgô’l¡ÝÍG£¯Oµ„×ÛN˜°-Áƒ»,ŒM㛉‚1BD8 m„«ˆùdÓ\kþÅñh#ÓmÙB©‡!lÚXNH¯¸ÆÀƒ”úÚiœÛ8Çy[±)lâљtÊÝ}Iΰ4•‰ +y,ɜݱ‹¬ž0U·íh|ƒd±ð5Ëgkô_„ôótþÜÂÚ7ÄDŒùÛöñ›Ù<‡©^„Û>¥QjÛ鮣Oô¨–假.ÊG(\¥¦øå½ü³†À®ýʀèÇz#€ïŸ5UJ ñ²äÖhð͊\ÄwÓ ‘•¼|K†˜A]˜í¦}jêEið<ÊÏ`—ç¹Øü~üç묭òågäh…ùe<+ûU/¸<9­¤d§({Ž²=’®[m7'° Ûr‰æõ:%bJDù0Nڟq¬ÐK<|¸KÎ<[W +Nyû¦÷¡(NAïXËÎΗýŒD„µÖ‡Åœ¦¡ƒo^¼aß#.eÉgVºñð¢NÙÇ·ñB¬Ÿ³l¬´^™Û#L‰ŒøĂÇE6{ü»…¹ì(bĞO¡"¿ŽÒ(±sÚDµQØä%®;ƍ¬†=ÔÏYx‰Ž¯?®Ôí,Söù"ÝTmœÛ×<ʱ©¦{¢Ó.´ˆâf|J£Ë®-¡z£‹Ÿß/üU|7yï–RPåԟOµ)#´)–wã§Î(±æܞ…ð£NF‡ =›,¯©Ã£"Ã:LciòÁªÍe÷mõQ]¯{:@!ýX«ò5éÕÛՈ€æ: ec¢› +ôÜ;•AâyAgñ-÷Ÿ3FïTÃ4½]_›0’dqÅiPm‚vÌHœÆìà±´°è7sÊÛϞp ƒ?àÓ¾u]{Q’°”@3—æbYäPN«†Ößo÷,+—É—É3Ãáé÷ëâó6ªÃë셁¥Ãní1-¿ Xb©)Êz> tå݋Qžò|å7d¢ßÖ­l6›“BQw§VêsÓ8ÇgvËØ0÷õâ»°FÍÛ³@´á‘Α÷Éú¯Ö#ú-ujêï¤Â'sÇWý‚¸˜Ç9ۖ–ï?nÐNTþš\½zŽÑ¢¥`HæçKmj‹²çGêwK2Æ<¿<Ûi´¸žºWù"ØkÑ×dòâDõS*sÇc–©Àü¥ÉÙµÐK¬úYìw0PA•}“žÞ¬ +ž'²±¨mtóяDK@ó—ÄÃYŒV_/1›/–çœnŸ>³"qn16Ü~ñ_ Ž¦™\†Û&ŸH2Ù$é~äwWÙFÝ#F[%وRTðû(žT¬G¾¸Õ=þBºLyuv™L-.°‘œš8R5S&®ErÞ#\å÷õÈyí&í—ÿRcq§SS5P T»íqçu‚ÛbLÈâõõrÒ×#Â3̝¢‘_·ÆފXŸ,њŒ:ò»5¢é·ÚGà b˜SÓè¤WÅ´Ñ¡‚7º¨ôñþˆèQIº’ýÀ{7 bËpaÔòÂnM[½´½2w_KÛ¶&ž!7}Iʽw÷´^´¢;îCËXº‡ZJmÔFIþíÒ¾o?E)ÌæÃƲ¾Ø\ìˆñ—2d–nc¶qm@©66¸”k÷v}§& ŠíQÒ°%ΰ/€âAŸn¼±#³lzpRh9ñ5î~‘ŠSmÏ92Ž?îÇ9JdL>˜Ãy¿Í3ÚJ»>E¾ÌÆ­Äi®\}½6¨Óõî›Ï)ÂÒÎî½F¤„vŒ^wUË µª>^=–ò¬©Üi5è9ˆÐÒt— ;kG‡é¢Qô'ÝÐr>¡áU¢cz#õ…†…©ð?šx¯×•tÄf1ëT +ûämÏýÙç;§ÔÌXnzïwÝp¹XÖ5@5Sù¸Nj˜‚­&ÆÝwñ¨Dúã)§¼KxxΧ5o™!~Â´™'iÀÍYÜ'½g4O¦ç×MT7·­È![¼G§m¤;Rҙ.¿Fö¾œ"TÃ>íIzßzu¤Áu‹[; ãÄ÷íéð*]ø1¡¸CûÇ7œãùBPιϤÜÇ-~lõœ&¹̈́Q»ÎI⼐ÿÒ@þ=&€u_¿œ©~™$æú”QºÒIðw¥gÿ×ůéF,`T±k!Û>i÷ٸK•‰{§öÇFß6 ã크ƒ¥›’sµÒ/ù¨ªæ~*<)ÛI9ݤ“²M´˜qÜñ+´<0˜qáumÚ¯hx§!ŒU_Ä¢žˆuہãIΜòÕP˜9êqÄ‘ˤ1…ë}šDË\)_õ¯qÇHqÚIFËÌëbÇ"”¡ã{Af`²Î–â ñÆ-|î 6@MhZ¤ ¬r¿žö8k/Ùñ®ëôfË/ç~'¸uÍM÷®cŠ°¨ò ǵWÙM«×Ùj±ínŸ¾µì2.Ðú‡Ø÷V¸½—5@B{Õã6Äî«uöú™Sï&Ó•µ8\>VŒ^ i¤*eúPˆëNPvÿÊÞmÃJW3à´[RšäUAîS…iÿ„#TKÌóÀòÜÇÇ°¥³«š8½Y²qbŠÖé›M£1Wö—ú9ôv;A%yk`ÉñA‹_cRÛÓï%>% fcr/Ä?œ#B‰“ Zn."ìKÚ¬“œ÷`TÎ1­`Õ¥| ž›8¦ù¥¼ZU²m\m#•5‹ãH«i°Ÿnú!”^K<<5à[ÑÐäZ× ïX̤6•3;ñ…·÷ðÕÇÏ (Âä_>hÆÒ(¡Îôæ +Å«{Qûáëkç٘W}—mµ¯47š¶`!¤ã_J?¢ÓH—c&ªíü¬‰î0é ÝE2ŒÆfR#¶uN¯‰î[|sÆ4±Ùˆ„n;:,}µAWÍXêÑfM-mÐ ß+/b&œo#º°›ñµxä÷󀾿™µbdí“^gQ¸ó›ÀgVÁ²µÕPÐ$k7QՔ­êt9Ã[Ã`ú +endstream +endobj +4115 0 obj << +/Type /FontDescriptor +/FontName /DQDZYQ+NimbusMonL-Bold +/Flags 4 +/FontBBox [-43 -278 681 871] +/Ascent 623 +/CapHeight 552 +/Descent -126 +/ItalicAngle 0 +/StemV 101 +/XHeight 439 +/CharSet (/a/b/c/d/e/hyphen/i/k/l/n/o/p/r/s/t/u/w/x/z) +/FontFile 4114 0 R +>> endobj +4116 0 obj << +/Length1 1624 +/Length2 7166 +/Length3 0 +/Length 7996 +/Filter /FlateDecode +>> +stream +xÚ­tuXÔm·.!¤”Ô tww7(90300Ìà0”4ÒRÒ!-(RÒHƒ Ýꋄt7C }Ï·¿}½gÿµÏ÷ÇÌõ{Ö½Ö½îÏÃÎbh§B8€ÕpŸ¿ 4@êæà顇€ëò)#` pˆ²³« Á@W¢ÀÒ 0  +v „¤¤¤Ù*w_$ÔÉà23¶à~ü˜÷ߖß.ß!w‘P'8€ãîà C¸»á¨;Šÿu   @9ƒ( P10|¢¥¯àÒÐ7h€á`$0ô¼+Å  uÃ=ÀÜ €ý}8"à èïÒ<ø︔<@€‡;Øzöq»ÿ†xî`¤ÔÃãîõ8!pÔ]Pîóýpg‡ þrG"î<Üî°;2C„Êà uGªÿ­å DýÎí½ƒȝ'áèù»¤?ØÍŠBáØõ;—‚z¸Ã€¾w¹ïÈܑÐ?2<= p§+à ÁN@$ö𸣹ãþݝ× øoÕÝÝa¾¢¼þKå†Aø …„ïr:¢îr;Aá„¿—E A„ÿ¶ƒ<Ýÿ…y‘Äõ{g¸ïDA8ÌCô¨»”®ÿݔùÿsCþŒø?2àÿÈxÿÿ†ûÏý·Küÿ{ŸÿI­î ƒéÝîàïGp÷Ê º€ßï à÷CóÌüÿÄÝ 0ßÿ!꟎࿕þ&û'¦…ÞµC ît7>!a~Á¿ÍPu¨dE9: @Ø]·þØÍà 0…ƒï¦ú§¡wA‚‚ÿÀL¡Ž®ðßíûÃAÿÔ~7¨?ÊtÍM5ôôÿOoëOû@™úºƒÿ7…ô_‡ß<ÊÊ€Ÿ¸€OXB )*” +ø2þ¡ú÷YˆBB}V‚ü‚‚B€»ÿýþ}²ùÜú½3&( t·fÿeø ;z"‘wÓýsóïŠþ×ùσÁ>`GÂo3G™0—ô¬ TM^ߐªUW‡v_¸{i­iQAðD{PzÔ¢Ô;ûëÊpþ#Ò7M¾Ó[î¿V´yVû;¨aœí©à½|†VîÎò-WClKïgl[ÄúíOé.Ü{*.h¾º4ddl[rË8Ò"‚ÄßGs³z?`;s' tL«yEÕJöƒ¢ªpk›#y}ÆÙ3𹯷ý§s…þqî+v Màë-–”¯=ò¤ÖñçÒK“d™§- +áOéümO¬uÿz³Ñ@ä’dO g´iãï½cºÐK€”«(úoxê淈`?=’«ÅKù9)k¯;48_‰É[);k§"ˆù «‡jó„F=Š<¿¤9 ˸È@h1†i¯°ü‹}5žCÆ{íO¬ûX‡øÎTŽç¡=‡\ÏeKDHîÛPb+O†ŠÕ¤‹Y2¬ô­‚‡Ùi˜ÉCîÉÞhøí°˜"³²:%ŸÍFx6‘’µçš1"Ƙ—KUɍ Êdo>ŠcºØÈ>öVëߊ–ŒæbºÝ¥}DïDžþ¡oL{關Oô¯{?ØÇ)”•ÎD†›¾\nÏ\U^:û½%’™ßh<ú^ÌmoLõ•2ê\ºZûHïÂÇKXhÍx–Üö#u¾ühUÒИÉ;&! ·÷%ÅÀ¶«‘}3z݄ãz!ãCގyÂ%‡ÝŒ‚¥©ñXv· +¥h¼%ÖÅüø²_vD8œ_#CöY*èD"ÑfÌ;‹fCω–“_›$^iÒ+*U§/°¤Ø&:óퟖ ¢ET.ÑÔF–r¤ ( ªæ›p”ˍÍ!צ¦&yð@Ù!¸;´™)%Z¿ªû¶¡Rkaú~÷ &@!C•5m;¢Œ÷*Îüؔ]túàÈñRWîRÂ_kTobÔøÊÊÿ¸qŠäg^["uó}%5Áóɱ¯'ÄAEx‰\¹RªåIúqVt„Ç7—¸?ߐ?½]ÿêoŸöJ¢"&ÁÌSÌÚ¬=/l½¾¦™tÿÿ6Ýg\jË)šó} ˜k &S-mŠQ”s‰>YìŸb5UÏ7$XlTZ>ùTõ3œ*NítC=cü•Ùú>_g7T‚B„;TK]_¢äüˆm3ƒÊ¢µ¨u7ÞŶÿâ¥ynOÀj=‚ü)û}>'¢.ü’êÐwGxÝ Tè3`³7cœFûK¨5*Iù™.t¨Å­8ê'»V—"ιä#úOúVüíî”Íe«¾P`Þ߶¢˜ê ¿º +fŸøk&ƒùBޟ ÎHLê¹÷Ä_`’)æƶ³Øp?W`¾êD̲(2@Ýäu/ÑR1þªÕ쒞YA³\eøe%ç›Ê²nýlÌzþ#9«tyoá£ÜÇ⣕|ß¹f„zŸ´^ñŸª©$®gD }Ÿ| ù«„£ïEm¿‰8ÛV”’OÐN„‚¥óeû;³Øɗg"3˜S,Ô§xÇ  w7bhuòý€â®yK)íWk÷5ê«E90|8#óSƒ€DØ7‘)œE–­¾³û¼µ«–uö÷„¸{9‘õE°Ø]ÒCÈCÌ(cðùY6§ë?·Þ†ÓËëöÐ*öZÆ͸uOꞁǀZ¤ñnö#®z6E%~qÔ”¯uƤmøža™bøj!–k5¼Da&ŒVîÈRÂÝkYhД­¤æ´}ªë;8£*tJÇ?9ôPqe­ò òf–Ãj×ÆŸá—xaÝ3¦Å>ĉ>¸ÍcÄàQJy›E´TrFu`䪕¡¼ +¿JŅòu8Ø|Bž–ÿt÷*8“ƒ-ùõ|ýˆµåFsš9"Šåì³ZM§ÉËøáS[i2ÍjèÛôM³‡¹ÌÙW¡]ÙrsøõÅFU]a)׏&jVm¬ò³…Šƒm¿¥4*õo¼Gbl>HâÀ9©#˜±Ÿuéz7Fò÷ã8V®ë¬¡JqÏõFNx”lÄUÇKQp,å^ÿj|Ö΍Ö6yíÜ¿¢Z ʚµ +pOÚ}ÛÁîç-áó¥å†_“ìélNà„…MÕW- eô…nnñ8ƒoDå!WölÙg ¯ 1Uï'¿ÚÉƐLNïôý.µ4DÅsúâË +sPÐb¹sÀ7JŠ"¦î…Ú±µ]ýRNR97•÷à>áOBGy¸!«> +‰•Ä[Z«&¹?«²¬\ø¿:åªèºŠìMJ!²%ê[>\\¸´¿£ÿ"ÿلƒ6žû¦Koº¤â…´NÉb-h ûxž¨W¨§òWÓ-תØÌméÚõÈk¶Ðb¢‰ñ_ÅmAk†j|¹Ò"sÅ +uEV·ËS#³ÜŽŠ. )ùÚ4µäñ†e?f'çÊɑoôUŸr=<²hÿuùéz=#ZœñÍ컗iYßÛU®Œµì ͏Õď™ýÑ߶Z›R‰¦z9¼\G|Ý{Hw:'¿d†S6¾lè²0Ycrú®¿±uËZ›qtK ÖæF.4$^•±Í*eH‹‰ñh ü=oLí·5 +óÏ4Òê£%1+9B™)>L’n $Þû¹6;¸§E–2‰-B+¶”¤÷Ã^zä@5̓¥ãg²±Ml'6ÚNB Ӂ¬ãjV¾ý©Ög2á-ˆ·»Ë°žF4Ë5/!ai¶N|ëÛMôš:¼Hèœ.L䀹û6ÍWr•_­t~Ùٙœ\'­sº‘T@˜ ÁXc¤aEi2àºN9sÎK?>ïƒO)Vª×ºß"Á.#;A²Ò<õÈ^šÙFƒ4R¬–çPÌ>7øçM›¶ƒÔ’èß1v¤Œ„¹èË*]Â)¥@-=›Í3­.ÌäCsSÅCH¶&Ï FCÌ4‡¹Ÿ¸X×_Œw°çËèJ³cýÉËØSO¸áj®òí%ÊÂà({œi_ +!^IuM+& [h܊Ó1îÛÔG׶PŠÝHzzŠ½ú\Aebwɔ6,$¯¸°½ÂA7šóñE÷ÃØ-ß4Rn«òƑÃUH-Hr® Í§î@‚{—L¾ BáA脱!yŠ„/:ª…T ºK·##Î.Ì­Þ_ÄrÃ6uy‰.¦¤»ó|Ǩª<#0 p£ãÜMڒÿLi¿©™‰EÈüÚAï{ëMà8÷̋Õ’5ü^ïmÎùq“ËÅâlP÷›¾Æ÷m‡¨ü8¦§¹|öVckšÔÐ42‹Kf}Ñ®¼ECz´•®iÊÖhV~‹vXV՝Š‰ þF¤fã¢^HÝ"m«çÊï½Vb϶x¥lrùþ†¼°Ãޙ6qpUùUm+óҚ6½œ)J»:¾>´ÏÆyê:`ä_Eo[Z€®qÓêÖOÈU('wøñ´HJð¦3«e®ê ’FÆàgoÕà·uô‡’ýp|ðž­ò+6îjUÅ h9cù†e9]r×#•VÖ +í!ÉMR³5`2¾Í—7tè\քlD}ÀØ3µ.!¶L+C¢Û­êÇq™v}þ¯‹ _—æ–JªI"LìÄ8)å¦åÇ$ßèìœïQØûœb3\=²Ú{@A~„!¿[b h²ëkZâ!"-ÃûÅOÄ|_0ÀtÅ÷»¢”Æí­°µ¶w ÜôªÍx^5;µ-.ªÜéuð&ÐF˜tð”QôŸ”|U³KƒØÍþ-#ºÃD\Lr$› 9¶akÿâ/ˆ?ñ .¬TÝz/èXµfŒ™óv ôÅ«°÷:Vxqm^ȨJª³œ{_LãÁìdcú˜/P—>ç}jqóܘ˜Iqªå‹ ö1Nm¦HTž+}8åóšáù ´t?ÙÏ#0z…¯kq&Ãt\þe´Bƒ¨b£{½ƒ‚džZ¡“Ë#ù)*/{Û¢a·aÞKõ¡® LÕgÍé1+ŠyÎVbÎs}ߗÁÛ·llÂÊɒ è,XLyë꞊ ¨$Ö§3U$ÉòJmY’šg¨E «uO˜H€R0òq[&|›eˆl¾t¹cñøe*¨«ã§b¶i™°¸<‘¢Ï{Œ‰ +®,oeÕÐÉ1]#/µ!ë•/%ãxVÑÔS‰‚ŒˆWgž›¿²¥–a÷ћÎu½Å_»¶éX›pæUhÖt³Pr⬇ðÙ°¼W©œnì˜0dxj£qïÎsfÑTSy@ð>Añ™Ï¦:0#-ߚ=ú4ú +ÊþHK(ÅñŒ,¥XúoàuCJþ…¢X ˜3t“ò™L‚ŒºaÝð¯³(4ÍÖð‹M7ßç‰S1¤È“|L´M? LrÅÁ£2y_–)Dè©|­}ã)˜8#1¼ÔwU¥=Æke +àŸì ¬í۝£xáÖøÈñíŽâ +‘”Õt¢nѵ~¢¤£% Ž\l×ìݱ´§ÏfÉt, • :Mo°Ó+K¨ +p9>T­?¹­ìì]0¾)Âd h,ÕÒÉñ-)nšÓøÀ;p#ošÐEÄØjãz²ÇzÁYxõjöìäV„åŠAƙl“u–šB‡Qô¥˜”Y¨xxàõëɇ˜Qþ‰Õ59Ó̱ôÜIWv¥rú^?:&‚¡”Oü +‰âÅ ±†ìÀنõÏ0„Ö¬¾G‘­I–{ᲈá·bÇÒ®)k2Æ$°­˜*¸}ƒýµ…êˆ2‹Ý,±]•ùäÅq<ªéH³ýèä1©g/ê's›àÓ(b•¦üÅ0µ •ð•¾rS ÁËI_%õô‘Ý\Yã³³¢‘]önP«njq¯GÃÔëW*õé6.¢SÒBp­9ªO¡?õcäeʗz/Ø(³o“®s„)˜ÛwftńîÙý¥A!¨ÁZlÑÓqHGN}ØßÈi¹Âȼºå¢KþöÐ((¢Ôª-‚èæÑÖRc,«AÁ¢gÓ͖Í8ñ˜˜½­…´mN£÷_ayÅÁŸÏx/íEuæݓœ)éDh«¹çŒN)¢Ý£©¢Dø-q 3(צŒ¹fíÚ! ý3ôùýûçrr0¿ +ŽJE-;v,Y hô¤…”٘8™Cÿ5·CgEµ°!6\ÔÎdµÏ àû²¥ºŠk.½PÍ@ê8±ˆ^ýrndÄ2œXÎoN½<èMÏz#½ô²~^VGíт™qPj|Œž·^õõùì.*—9ß=X±@¼_mhÀuôŸî…ëD}Ÿæês݊&3F+g¯ã°È(F¯GáÒÞߜ¾÷%B2µßcã A#>¸Y±ÏìûÒ:ؽVÖ¬~òÓ¶s.̾yŸð‡¨ ƒü[gã nD$I— …û緥絷~~&Zòe[‡s$=Eː¯ã¶OÔ#Cüݘ"kuöH©GHJQ-þ+)6™ITëp×`ëÅ'Bºí$ëß…¯Çô0!škÓ †y7P ûò¾C¾švÃÓ¿xu×ìç˜'•9:·'/ég&¯ãÔ¸õó“’,G­Ê®Rrî¼ÖÛïTmxsBá—rèO/,ÜZ ¸ÖúÕø±ý¡•Ytæ³ö«7Îä½°ùo0ŠÜ¸-#šÚ~^ò K¾ƒJÊT†EPò€ÿ܏üÛ&-oÜ{:c†Ï›µE|®š;@)ð¥ËÃÝSŒ$€äËÛE «WŠ¥ŽÑ*ó©=[;ìZä<÷%Ýù[—€TUêç'¤"½âe+®i…8|žÞÎåçú¼^ZDêmpR¹xô±ë#ƒ¡$>©÷©~X»9!ÃÌ ¤vh}3ÚCíàž¯„ê8å §,yä´O×Õ_¼À¸ÍD²r––âs+—>e`/cÝÊÑ”ø°>Y9~“dh]K§Ð‡Y×ýü¡1’ìvÞ®(æ8ÏR "H³ôk‚dT2ûY1”Ô¡9úðÝΦ!U™^Ið[ÀÜu8ÿ“HÑa"ž3„{%éœÁ8xJ°°ŽdÕ㯠7óµ`\ÛÐS¯¶œ¯ôÊ;ې*JVÉWÖ¾h}õ…xº%jœ0.²»''m©2Ólfðýušr0¦WÃ|ØæÏl1ïÎâNÞ~Òô‹1‘‚=¿(6Š>lQëþ,”äáF¿ % >ʃ¿Þ»b‰¯8‹z¶KPk͏=(,_ªUÜÇ_–ÀÃÈ{0žÁR¯¶Ûl6(­_íwN7#–\•óc·<i¡} +ãä1yFûºU*Ґê†.Û©vÜoÚfR®ß-ö­¦i±3‡Nj…_Ym™=ˆãi9G©q¼+£{j¯¦pAY (¸a’+S“³vútCµIÈ}„ýîÀ±¦Ù%yûµ†W ½Ç¸QÞ ë@Ê?iöûLYDñ³F˜‚ñùg9‡…¼_´ˆ],įO•½â-§eéَËOðAtoÇ@"h‰‚6F®YƒËu2/²ÎÅf+̯À–1þ“Í„ Êæ¢øQô¿Þ§yÝN^=•ÖìÄa¥»V;Ð.ï„lu‹\üÈgá>Ž2U²né_j~õÁAõM’x׸‡¼Ð¶<Ïó`i‹ G5i>„$©8ØcÊ>¯²SNìqÌ Û‰1—•·Yåñ4¯^̹T–+÷’Þ?_­íMSÙGó´:›l¬â}–+aŠ?üd—’7ÿ‡ö“‡h<¯ôÆâÅNŠ¡3h™Òt|ÈûKîáf+Ìh‘žç¾ ã܅'¶LмñÓg/¸L,Ì[K&ÜVr>`7¼uÏì$¼7Y“Èl»ló$×d߂œý`Ðm¸°è̸–ߦ߹_u™µkk_"¨h`škkKôdW1X®Ø(ò~æNÙeŒžX7a•£½áP!MɌDí4n§§?5ÀŽ¶Zð«ø°k§r šÂ>hùî€2<áԗ}ͪçÇÒ}oOS"_°éUƒ&G$G6ÄæùÔ׸äŽ~‚4®º“3/Ç,»D²ôÚëT<Ð5T‡Ýs¯7 ,ŠÈ/¢5p*Ûy»œ29Pã·­0‰ŒÅb›‚ŸD> endobj +4118 0 obj << +/Length1 1612 +/Length2 19759 +/Length3 0 +/Length 20600 +/Filter /FlateDecode +>> +stream +xÚ¬»c”e]³%œv¥Í“V¥Ui۶͓¶*mÛ¶••v¥mÛ¶ºž÷íÛ·ÇýúûÓ}œ1öŠˆ5cFÌXkìýã+(Ó šLŀvÎtLôŒ\9K[#'Y  ’©¹ ௑ Žœ\ØÑÔÐÙh'bèlÊP75ˆ˜˜™Lœœœpäa ½‡£¥¹…3€JUIš–öûZþ yü‡çïN'Ks;ÅßWS ½­©ó_ˆÿëÊ¦¦g S€™¥)@X^ASRN@%.§ +7µ3u4´(¸ÙXd,MíœL©f@G€Í¿c ‰å?¥9ÑÿÅtœìM-ÿn3u76µÿÇõ`oêhkéäô÷`é0w4´sþÛg ÀÒÎØÆÅäífÀ²wþ°ýëû ¦trv2v´´wüͪ "öožÎ†Îÿäv²üëÍþFš]þ)é_¾¿0½Î†–vNgSwçr™L,ìm =þæþ fïhù/.N–væÿÉà;ÀÑÔÜÐÑÄÆÔÉé/Ì_ìºóŸuþ·ê íím<þµø¯¨ÿÅÁÒÙÉÔƌŽ‰ùoNc翹Í-íàþI;3 €‰ñßvûÿð¹š:þ«ATÿÌ õ_†&@;€‰©ƒÐùoJÕÿÊôÿ}"ÿ7Hüß"ð‹¼ÿoâþWþ·Cüÿzžÿ+´˜‹œ¡íßø÷ø{Ã2€îCÇÿO¸¡­¥Çÿaà T7ý7ÉÿIgÿÍ´3ÿ+#=㿍–Nb–î¦& +–ÎÆ3C›¿ú—]ÕÎÄÔÑÆÒÎô¯¢ÿj&€Ž‰‘ñ¿øT,,­íþi=Û¿]¦v&ÿ•ü_‘þEA^KVFE˜ö¿Þ©ÿŠRø«½³Š‡ý_bÿ³Y ÉÿZüƒ!$txÑý=tÌ,ö¿ 01ùü²ý †é?ײ†ÎŽ–îí¿%32ý«ðÿùûϕ3šü3+ÊΆv&Çëþq»8:þUõ_'þoÁÿ±þ× ›šº›í,¹ƒ¬Ò2ӝë°r‡ÆE´ûz˜À‡‚íKUŠ +ük€Ý~iaۜ•ïµÁôM“\Ÿí §öûR4#=˜6”Ý)¦—ùø>¤Ô½(´ z¥ßÒÏÔ£¼®æe¶ ´ØÕvÆ•ôJÞ¡&;Xa®ž¨ýI] üÑÉí}Sb1~#7 ÖžžQ$?=RŒ vß@öîãÑæÄ’sbù&Ÿ'9{8Þ7B¾ºr¸íp+"WÓŸ%µEùŒ8]i +6{A…p´Xa“§Ï(úå 8—+çb2çû-Š5SOö51ÞLô¯`›`ÉÙ¨·[Ñu·Œ ¿gÁ´šó²¯Äð¹—í»G²îÙ5 ÷,F°ï’ôÜü"‘0æ:wùm“ã׳ +Z ãf$–á[tWÎ,x{'ã¸ÆbxÚcú£„é±l\¼¾yË»;'Žzž¡Z:îVæá;lˆ¼©·7›ƒ?‡¼ Àcßqh ÷».ø :;Èô†pzZ²uZÊ×ïŽV¿Þs}B¡À8tijvßY²Ó}Å1>Öìl!ÚÕH«­]¬l¬Ba$”äהË÷“/ðÝ6VǽïM±ªæSÔµ?ð­[–ë/Q­Û+Ãþuö>àØl¤‚>°û͸ݜÚ90^bËcBD@·¥˜µT¿¾âËGÒå4B=¢ß^d -9Omxeg|‹—>˜F֝'QáÀU½ÑujxÊ÷‡3ú~ÖKwy…è‰êOzëŸNUzúÓצ›·3¬ÓMÊLš}ÝH-É)áGdz؟Y©\¡UˆÁ\*tm9^I"Õ")µ-)]ˆµ£žBØjõ=¿^´õËBÍâɪÙӚEôŠ§~É)ºË)‰1pQòn#å/s[E!zÔNܘ·ûÒ-¥´1ÍMSǟĭ߮u€P¼ä+ö8B˜Æ|ï)~?&W“»šŽù¾–ò°%>»Nõ«„9@Uxú±xTŒñ¥¤ºÁD„¯uú±?ŒGÍðÞ¯S¯1Á…ÞØË eõœ]~¬`z¦¡­å“ó6 <²X„½%Ï+–Ü&Õ»ŸÞOØtDuƒlá.ð¦Â]íý‚B>p‚кvÄ©m +aι<µEpV̤ó“óɋ$‘,ioßÄMÿ̸—¼ð(au’‹»õ!tw²˜óhÇЂaø/ò¸vãÇÿԁœVÔ¬w—[›>6,Òͅ²‹úMüùPb%ó¼T¿ëÏ3Õ;úNәG‰Ï‚*Îï÷ýR£:ë +Yßhm·ËæWiàшÌç ‚ª÷)ËÃB"ŽYÎÚÁ¬Á²Þ¹=fdêŽ[#«nõ¦²$P‹¤‚Aóy.Äþ3Ñ +ÒCHè$kã4º¸éàÀ*TG’—Nb¼ÆÐ@™T[Ú¤F¹Ø){œ§S <‚”©²haØ¿vqä¤0eçdo31êª-2Þ{ºfä3"g6<ºr–›ç´g,1Æ^åפ÷4BšèýVŒË4‚ù‚Œ9ónÚ2oì– +8;Þï¢C¤ +¹J€|{75þã_5uÞ:rM̼ª@†š Úù³®#n!æjƯQù:—¸º)i”šraw.՟ÎIàˊXˆ'Ë{î'Üj'»G³jù6r¬›Z§‡LûýŒ§/¨ß¶ÊO<¾Â‡ºïɬ\zM’Ž<¹GÁ΂Ÿ•ã‰ö}Ás+×y;ÄÓ$±‘oLx1@ñ!/ð&ÝQø¥@–93b±¬ÕèÇkX-½K\5#H-mÔE1™ÉË\ý–"„}©Kw <Ò͝Ä蜥ažo[EŸ ÛPÒ΄isSÆ,Ö)¨BÉ5‡‚·RÙ P„¤šó8‚ÍfÁm€î}ø4…IÓî+xÄHÍņ-T÷}„-WàS.Ûí‚Ò֗‹tµæ–¨=W™¯õ¼:yÀÁ¡b+ÜhH$fŒüz—ŽüsUº×¦9e&²_îy¦4]/ê2Šl)@…ú«qÔIöŽ”êbÒ´Út9¿Â~A˜ÊfI|†çœ†çÏÛlµÔsCc2YÁçnÈdUz]v[«¼Ø…êÈU'¿Êcm%n:-ÆN÷^Ë{‹«eEG¹Œˆ6?ZvéÝã÷ºÚëioÅ₌öWˆ€“õ:á){y¬ÎÞW"_Ãä‹o ùöˆ_º–Ncð%nåõ%to¾òu—¡ÆD¢­È3?ƒºƒ·ð¿„V6Š„ábÒ@ÐYÕå•)‰[‹m±¢Ì!é±%g:X(˜üò»l‘_+yz}ÃͧÒɹø•°ÎÊ^km0Âç-¿ú5²Ú +õ7ž‹õ÷EôösƲ{y2E^•LBàí˜`T¦Îµ_PøVâA+(oËß­••'†¿x‘ŒM“‚›ÊÉâ^ó;d6©ÍTúKYåÀì`Loü»ý’”‡oìñ8¨å—òj.RæÛ-%ôãïÃ0 —$Óƒþ“ƒ¡‘ãÍ/9µ‰©’œÀê֊'›fcªG®nûÎõC¥wJß D:u¤pó +o»¦7\Ȑ—OÞ_o•¦—Ø?¬ˆŽ3'A4‰‹ÔÈs»·_ZϺ^AæÌ<Å.ˆ,¿ñetL‹9¶7Zñ%›)Bjw=-í»…yÓ:“ftõ֒2­SóÕ=ƒíH£š¯é +±Ë,hC×hØÐbCѦëLå ü>žP¢A’íõ²J( \ +OôñB©p—뮹P?ݺEç6m`G/m–ªggÔâhaºT+³â¹y Ÿ}¢$]7éamº¿¤«Ùö¶Ä‚»^Øo}cŸ§Þ˜Ëñ7¡cñKP*‰½ã²ñæIœš½Éó¯ûÊ`HÊúr¹Oö×7Ú6¡œïhÉ ƒ]f\kxw9Läû ž +ƒó«}R?%K0mžŸÌVìíЊú›„é|6·Ü¼uá7Ü3‘KÆÚzljIÄ>LJl€¿*ž)¡Šã—~ÁÎiS°}½”B¯Šô¸/ÇÄ44ï>OijÎk`’¬˜’Õ¦¶SQ3ØainCì’ëvl—‚øª‚ŠÔ²y2O0ïI|ÐÌ÷"°L3¿ƒ}E„{KKë°¥ÓÛTDŒšY)!Ò§a˽7çÐ)ËÊE6ã¤Æį'솦éæ×dÛ FÑsCrðïZ‚šÊâºK +cþϺÖCÀá¤ÝV£LZÆ4‡ßÊø¤c]gz§¡I[%ýMj·œº [?Jv_ͦn*P¨ïß(ñasÙ¼#͟]ƒ¿júŽ¡‡ÜÌEID:¤œê€q±.ºþ‘ͺàf:•Ì6É'¸~"rüR*+IÍýq”âb$sя,GuÓ¦³G¤'ۓ¦ôÐä%?EKԘt_6:éï[‘1¿¼±ŒYíµYø“PÜñ{]>§y÷º‘>ÎCë ¹¨n«i³¾8´©® aÔª©·~kz(Ú åì+ ó’³ÀýX +ë痆çT?H&'ˆ~ÌM;>•C茸´#äúŸÄæù<·¨w\þn_‰â‘(Êm5¥¹þŠ?»c™ZÂÙì¡{´«ÅRLž@û@ž°ÚHÛ ‹c æ#3J´I@ÚAgöÔ¥„Šr<™‡œ@ÄÚY±_á/9ìýÐÊÅ[+^½‹Ìç=8·%j¹/†Þ+,‰ï*ªoI ÁëNç¹êkL“G{êrX r]ÀðûàƒÓ°j©˜éŒWÁ9ÿS¬Ý · Ôx·Þvá¾Éi¨Cߍ†‚äKDUÇÖ.²þ.ɟž:AB^È7Ôõ€&XSÛ~ÔÙz7}0_݌Òk¤YoM-‚´<ºq<~Ü ';ÈEHÑxFûS绪¨çé,qÞe‚ ,.C‹sU^ågþAÃ!ÂÞmð>ødÀ†ÚµtÜÈçPJÁvK®ÃRi!ЪhêÊÜW¦[ï²3Gv­HVüZˆ‘d$â/ +¦^V ¹ÙIÝÆ_ÉÃÏã<÷vgI`}¯^ëH=2Š0y±¶À¬c¢m uÐáÝ-MUßu÷,¾hÜñ®â ƒüt-ü3 ïo*d/¢]®ê–ñpü¦/³eÖBٞ0ÁÛ|-Ý¼ÁïLވM'è +ÿ™Ü•º‡v‘ºG?ÑkË«.E›KÓ\mƒ©Åy†IŽö{× ËdÉbp—–º¬=¦l‚ÍIȺž¶l+ û&˜Ï5!'<ü"–QK >SwÇHƌ¦ÅYwÈï6-îŸ?faN]–åU}Î8WބÙOªp&ìä@–S*k'rm6ü©Z +„¢”}ï ê> ¥8Ð;nòylrE$¹CØ^%ê(W“Yq†ÖÁ´ïè.¤ÕÆH›IË/o£ -ý)¯kuPîwxÂèÇ$¾-_„¤Öî’D]µ†HüuÉyѦH»© {Ã`…'«BtJù(P<&ß" ÁàÒm½^æ¼úµüî©i‰FRn,Uê×ÝÆÖʐ,)É+â|ì¦uø:5r³y1#yt«KbŠðÎÀóÄýÁ!m„פ1&äžÅ5»Tö1ÃÌ64oŒm ݍ÷9dÆC©ÉÚÍbŽ· +ÕÉ&€HÕSŠž>ù€D•*4"LSQŸ#ŽºÞvYNp7·À˜íI>ñÖNoPu´|µŒÅ¦+êXüMY25mN3÷\”šèV­¢ª”0ˆŒÔ­>/4jÄ7â^0F3*¹ÀÞ.ˆ`ƒ²A6g[DYŽîJg*õùܺ†~N! ëVB‘Gé£ê B£iˆ@ñ|¾™‘†Þ¦òV»^؛_U֫ljà ¿œänûCN®ä@þ§˜l¤Ñ¹bÒêtdL0 ,ôJšä” íÌÎñføý•f€ùB]å£Ëêi_VŠˆ¿Ò¤öNgÇ~ŽˆӘE~ˆ¡K¡BdÀòt3ñk)ԏà§7³F“guÀdqYõ‘ž7)žÂ3֋TIbvÍmË'¸‰›9,²ëÉ#B\óÞ°Ú¼PŽÖ4,¸ïÎ꽍”u׸äw«_øA+Äb¿}í‰Æ]o¯üÆ~kwªq×.ïÑü2'*‡J+—L +M/|ë¡/± Õb- 㠉È}Ûí#_«a[Is^H¬ÜàèQ3½ÙˆFÜsÏv7t]• ./€€“Q¸¦Ð• §µ×ˆö;ÊñĦÿ-[û½8±u$ Ÿöw,íMæìŒ)ƒ^ÃoÛÁ÷W̝{BlŸLPYuƒ"/»ÄÈzRb®CÒzLÄbº+£“~–K4!ÝäÛÛðµSîìjⓦËUÚ]ïî¥Ú´Nø36j¬Ý¨à6q£ä¤´ÞõNçžÏ¼­ŸË…‹Ò£föbԛ·›Q%]Õ\-)áÞÕôÀúÃÈd́Ñ\]· 'ÕßU'[óç†&A¥ZÁjÙÇ~»ü(—{rدi]ɵ`p5ìlù¶¶ŠúDºó!WZYÝo©Iñ’¾³̚$öî̋«Ûo•œìÛå~Úéh€ÝU2š>Ó§4"tö(ñ|×_ Åÿp§¡ÆN’à6ËÈ»meŠ®}NxÐvá(v5ü¨ü$ ¬'Û½õïq´ƒ”iÜ¥ t2aí–ÏT‘Aõ9â³{ñäSúà +¶¡ªÝÒ ”ƒ¿Û!€öŽd ¼Æÿ9O۔H­kÓ¸MÈ´ž½?wý–ÊêhÙÏ¢óè}¸)¤Ã`äó˜’=}œÈEŽþE—¦ΒÿŠBöx¼Ú¾9vÚo¹Dè*âÕCÖÜEíâ»EjÞK•ÀœäȦÄ|_déÿð¬Ößx^JZø…nºD&q$%Í1Ø«ãÒ;PÊCB5½oRèß·ÝËqZôV J•ð²) ÍIÄ«p,ðNÞ¿H41ÚögEÄûáXÔ©ÄՁµ1B)1V#pa;Õ!pUQêêޛø+­°dá1ÔÅ=®À… o܃¤(S[ö§Û1ô b¦ÍÚ*gÒdf®ðåjI©ÇTÁ»KXÿª¸ÝÌŬ](º¼}§Ž‘ÆáӃ×`s/”q1MÓ°hH @—J4l`ÒîÅä—Pµ¬iÒvژ;f³·µLœ8¾{¶µm ÂÌ¡ï`+ýZî¬wA>¤¾¸ÁPIç–QGˏm Ôžviy7^i7w¿ùÛóìicœT¬çêó-«ä¯§ ÑP4 ö‹=/f¿¬îæ±x¦RÛÓ^–žùonE’ ¨Ø¸4;¼å¾j—B§ÛŠøý5®)\i#›Êù`—ÙIÔ¬^¸EQ×ÞÓå…R>MQ„jŒö»5™J‘büû:ù§ ‹ƒ¯ÖâN?èèý‹v†Ûž³\K8A¶ÆKŸ^3úyö–†ávMpg´©bÌgä(šÚÜWa1S~±Sü"“R³åF¢ôS¯Ž!«4k<ìšç©á÷l† +~Bg7³™à›ƒô<¿½&^L|hÓNZ¼ðםïÓ²«Á]‰q«ŽÜGÌÝ{†u8ˆh¨|B«*_Öp’;AGjs#ÈÂ¥¤ÖÙ*ì +æ![:²tê_2t¶ +jëÛ+ BgR•¥6„å  $òߺ§e£–ëL:ô€˜ƒÒ‹= „—B$W°o¨¢ö3²Y`"+çOPþ]´¼h퇄±¿‰èñƒ4–£ôâØ"¿ š0Våo|Ñ@¯ÂfâÄÞ>:‚pø"1N2+gh DHea–¡÷œÏ&Ï=á]ˆ~„ÂIYˆã—”VeÎ|ÕB¾Ê²Hßìޗ½ÅÜ õ¿LÕ#]ÃæËO0Í-Æçi0ŠÎ*ÃӅýz£øsÚ &o¾”¼{Pºi"  “gÕÐz‡œ§àÈÊ#AJ„eWIc@¶ÑÅ<¦)Ø#y§E¼)ÏaËÿM4Ã¥™%‹•¥Lé ž¯BN"K‚qUõ£§1¿wVCœ/B¼Ê¾OäÞ ˆ%ˆêôÛS*|(Ä_er(ÊlÔÓ88Ás@Ø&éjžî¨<‹V†­öÁ-½¼Žô™áðGò +D_Ó®+„u8phãh“ô\ Æ9ºMf +sš$ˆ€|è]]œs‚⨠ý=“y»´«7š^¥E,ËÎ wÀ؝ÿm:'›©^²7ìŽþ›döÃK0::µ[»{¤èB† ó£õic0í‹Oo“‚ŽÇ3¼°ž¬ÈŽ±ë¨ ֏¯A¬íêçû· åÖ,Oý‡ÑHcH ;ƒÅiò‘f'ž”¢Ó]BéÅ —ž¤Œ$!Ö\&D-ÅÄc1}º YµæÉ'h~·fRã½›|O,ñJ΁=މLßtPs‘ÒáζÝ@0λ£º=›¼ø¢Òô|OºSXXö8•uµdÒ|iÁ—ÙI­`ÓаˆÎkØI%TCE§Üa^VhOWÚ»[ ‹Ùz1zù4.?Q ÏVùªÇÝ êYÕÄÍüÈî'HJöJÄhß'wÐC £Žg}àÿä»;ìâö¯ú‡w|?ôŹàX¢ìJ|SíðíÇzœ€Óõ†w3C:¬ÃxAjŒ]µO‘¯xËÓPSÂg\C &x;:f&ØkŒÄv€Éæ÷:æ:ûí&î½®+ªO]¡œDÄƱ|Q ̙øÕ õ»@R© íÁîØü¬pcô ,³C +àvf͌ÀùÁý*ÜÒ';ä ¤$ø­r¸qZ…g.œäÇ×IÌÑÙÊ©ùÒ+4SG[íÜëÛÁ«•NZaÏ¿‰!ÊW>¡H½¥š³ÿÔd)#¤™Â™©Øì¾³Üm!ÁÃKÁCŠTڗ…¥ß ÚM +Ÿ1Œ"X­ãMÀZdŒBÐ|àõõɶœl6A8(Ÿ§•Ï¹`¨Í¥QŸ;cÈ*"ÒoX;]‘œ2Ј,ß%èü“0‡ìyÕ'Ú=,&\0œÎkÅñ²TÞZ|;ÓBÓaOö÷w’LÂÙ^¡–ûœ›!¬B:«(b¿<î;Ø|ug¶. äÊák›g,ÃaøT šôZA)"&EÂb;B³¸üÇí¾€äBŹ„o\¹08Æ_Çt¨Z ªJæ +Іá{Z?«cŸÇ2\ÇꀤÎO䘰sx¬p”J@,‘ߝyÞÚ6¿Òö®SÌHg‰—‘j.ñg)Æ ó“Íø߸PÙ¯Ž¡ût´ޅiôyGN`ÄŠc™„oo@h–èQæûZÇ{Ã(=k 0ùÀ4|ìÎB¡öÔ‘× ‡¹ý>Ý + æ['ÅU|öqkUÔ^î¦(ˆd-]_g• +aòє‰÷ÄÆû6ÌãÛœY« °º®oCð]§ãÉîõ~„+ÓÖnÛ¬ÅÐD•¨–8/f'NñÜGÂît™:`*â…|¹jάn¸'J¡‘ÝБE7ÃúِÈ’Þ—ïIÌ +¶>¨´š’äçy¯i6iç[î"Lõ èîϟQ¼7Ñ\^‘µ?X¤¿ó2Àµ¾·Uov%‘¤rmÛ±â!iÝbÃqÁˆ;#R Þmõ¹!`dSùE/¯ð)&!‚d±"ñ¶ÂáI9òN²ú¢h[#p^xYî#ìLt¸lKtͦÚƨc‚ AÚèQ{…-É9+Uÿ¶¬ßËâ õ[ tGßæ\æ”åS46ü)KÐÄjŠÐ:¼È5S²0ïD^C׼īšs©ðŸ+&¹“®{–ã?.`°Âõ @ôÉjï­øXÊ3zÐü¨“ƒÔ¿²‘Ϋ€}¬ÇapÞd@õԌÜ]-'â`‚\\ƾb V=7ò˃¹©3r'¶1Ï]Üaxý¨.RL³`#²HOW nည’ß°|„ïì:&žåó2§¯¯qu,yB4ÎnyŒ¡óÀöUº„ɬPšz½TmîÉmp&i…O–W•‚Ýb¶ÜZ@uÁ«òµ‘ò`ý5}ÙraÁý~«bãWâ(ñYcË¡&>ìŠî&mkÜÕ¿iÿ,ÄQ6Aþ Ž )&›™à4)TÂà·/Gœ&ÜÀs'֜P5†h¡­¹ôµŸ¨™mc‘Y<¤{Yº9-ÆàšÛtY¹N¢‡;;ìü ¢OiÃÊ~žDÖ>_‘‹v=ˆ`³]A4°}æ½7Dњ@«̧.}êÄâH´'è±óà³bCyÖÁŽñ¿W3Í!¯ëŒJcÞMw}ÕzÑn¨Ô}…Eñ¢* +ˆ‚pöîÃ/Ÿ6ù>ŠÚ’Žz„n>ø3»Ž…ÇÑ ~[¹U TÚÜØøµÇkß =ÚOЧÓul´LôîÙGÍâ©›hç;‹²fU½§w‘¥½À[ý9gû“-IGusÁŠÔ‹69ö’–fã sýaÔÃï™ç*0Z6B(¡sîŽtKùÄ{՘å4o0 ýÛáu^²É% +*É nLcs_øª ª>ùµäxëÕ¬ßôS˜‹|Y†¾*1HìÖüH)Sd•£WͶìøÆBV­s~YõýÅݕeÉiefpÔB >ô‹ð9"k¡¢²;icGdv X\{?nx­è®ÑAöuZh_æ{FÀÅdáµÙ |P$§¬T%µèÇÄGLx#¹I˜I™±î}ÑoÓC¿u?òú£+ø`o@EŸHG”>w†ëùxZMlÜJ°öˆ9ð³öÓ ¿âŽpfâŠ@Ÿ§qŠv0D *?ùìAjt°×£"¶0Á«{ÿ/6 y×;¨‡:þ&Hz®³xÒÓ $Ð]UÔfèþý‡!=ÏOÙ%­ŸIÇ‘1P_ÕïՈFȺúÛÅ;¬Pöœö"Ñ]o¹ËÄho橃d¹á +¬¶$.nD<¦a´/¤¹à•˜,_†…Aμš}j'gf¡·ºÓZÂ.Ù-e >î¼n±N㟓¨¼U¨aå4ôýØ'ï"ówœV 9aú !•{oÏöRð$¤ìjÐÝKDÅìuà3›¢;otá`yºc ÔX¥×`F©_ZB„ÿüîHdü²O…Aö¾…)¼cJȽ;@¨Iâ—ÉÆw-3Ú9™âžŒÕ·ïq¶ +ɼO:RNcg÷í‹Fb«#‚AvþÝ{úåZ›Ñb쪻ÓÂ]Ðb}»Î¸1Ø@3ÞÙÙ\œZ—S.ê"ºŸúõt^ùŽëÛ @£îy܄¼‡ÏÛô;ct‡ôq¾C†A’8ž•ûÑDjSjë6Rë‰Öø\ÇüYó€³ê°ÑóRðïrT ɽۖÞJ«¶UýU3gw·ˆ“‡A™+r&ž¥îu3ijV#½#=¿—híU>>ªZò'ÓSz~²ô™5ØòA÷ŒùFáà~Ua7è¦èmó›}ݧËág_ý旦•–—îXÊ|ïþ_˜m1€'ü-/<,xí¼N¤dzƒåÓ6¯PY T?fŠÎ9¡.L³Cn½Ÿ¯nÓHj‚ÏWòº¯…Ž¿¥ƒ“sgƑuá ÞpJÀϛFì"&èŠdáý=¶X]îäû4*…N»ÖÒG¢äÄq4™„ÁOÎýFiŽ ¤T¼ëCXr3¦21©¨Ø/9jêÔ=ŽNlWW 3xý¸PîÆb-xŸÿЛŠ›°ÑEr­V½Éí܃Ê4y)P¡%Áܯ½ hüÌÁ–MìõgDdÂZ§Den0ž‘-q¼Y¸[f&xÕ*TžÍ^HÛ»¹kÙc,Þc +y«>ä—ï«ñ…i=­ÃüÙ«H`›‹$,Ý…«†Ê´Ô¨‰R\7ÊÉÁÖÞ>xÖÀÝçö(Œ^¹È:Çи·üŸôSÁeU8@V¢"-/'šÖGªÏ§Ý£HÍoLáá.S§øÕ Ú> +ðAÑô(,Ñ¡ u´R Žª¥©ʫ퉾ú_ÖCK/uk (x¿·Ÿfµ®í!€ø$vTëmMÌnßDÅ2GĄè2‹7)š%¹. +‹£I½É+“øíÊÞooÝH‚¼ÃF{ +¾!Y­\¸IS:W…;¿b˜×Ã#LH€…ÑêEl6ä\«héýÜ0aƓqM ü–=¢)ðáܬœOµµ×²²„¿ ÝeþnUÛ^q†J…É;ÍÏÇpÀ‰x蟕õA~ïÞ¤9 „;TFܱv¥‚ùÚZ]ÉA¨Ú=Ô´(p‹——oY¢ìKûA¾8mIÛ)NDxœE $ƒrýè Š£y‚|–§oD„À§øçO†µä•l,Ô ¶[ÙùUÆÖå–C­¼$: Ôý »ù®- •%Á+É·Àª×çfÛßÀÛ)"õB±|Wuü]½Ò?Äëƒ1÷•jXȕrvþ¸Í²P*ֆw ¹ÞŸc{œñINX|Vêû¹í()æÁܦ¼¨ž<™g§!V ¡áülðߪÓ:¹&¼&[”µŒxðÒsôœÖ„䯑»pòâVñû²/nÙê"‹¤0¬>¸k +H<ŠE5Z“$¥” óژrzŸ=w¯Î ]³È~· @Í&¸<}Fuò.þœ¦¬Åé\Ýy3È݊5<Ügr¬"áÏTc¿±K¶7Iª8ÿ@}cÕÉZ•ÑÛ$#Cá¯ì ,½þqRc€L³xËÒD©ž±Iµº?ôy¢ò7Àßð©Ì°iâóÉ$Š/ÞmŽ%b]70CœŒk.—?;§-aድQ+D:‰©ÊˆöÉ lP\5Í-R­“ád eÇÌ.<¹~`EZX÷tkSþc˜ÈúéqèG±W3ç´cŒ"DÁc«LçF—üÐ#ß­Yø0{WQØñÅJL­Cõp¢ «ÏOØþkÜbyå0¸OCo#×ð¼|ŠÇxlèÃÚ +yiáêùZý×]ðŒÁN¥ò{ ¨Û=©fÍ8ÉÀ>¬æöóʦ¤ß+k~¢2ŝ?šÖ¾V>ÅØÊÔLË¾ì… Zx‚!jMÏ¢¼Dõ@”tG %XÂódš áǯÆ. UÆ­¥j'fT2º×³-^O¡>ÖÛövíY—W<Û¿¬²±û^„ñŒ"ûÊûGð³ ¬MÿôAbÀ΋ÃR+ÊláÓ'‰†3HƒÅõÛDMÖ¯Tˆ4†I@ùÑ,­KŠ3ÙLÂ4ƚô>@ç +º 5GÌYc~×ö<á.~æ¥/GύO0™]T2ÌҜÈl«Òn‰ïðàd¢>}¬3“ Þ«¿{ߏM_Ÿ¤¤¦í‰´©Êì]¶TçxŸI#hžCƒÕSóÇÞ^OG@³Ž½0ûΆJÃ^nX»A ±Ýª·r¼Ú +£´Q ì§öqÕP9_7h‘d%*aÏàeŒ¥¿àG +òôÎNŒáG@6:ã'ï§sÐvyW'm©®t;*.yF>ÊDÐ Únы܅?»Ôô¥‰<¢kʤãÕ^ªišnSW •†£Ú„צV?Ÿ^m¸œ‰CÓ%€ßÛ½çGkR—Ù°^ÔÊ1¸C)ìyÿH´n¾ÉYÒ¢åuŒ|ƒœ´6Õpªû8Bª<¹:pxy /ŸñR¿nÉL ¯?҇=JHx¥'Ýa=ÝÄĘúF2½Bma|o䱜{JNuYjXŸex¬Ëkvä՚¦½àÞ8©±ÂéC–`ƒoB51ÿûlömeèäU.p-äïËÁŽ-¾ö×*úéÆOÄØĽR¤Òüt ³Äk[  ¯0³Ñ­‚÷ ÐCxÞ³Ïêþ‹Õ Is²òµR=âã}.)ÉA/ËÄi²—àGêžaÛæ8”N u"Q»2¦üîa :k.œvÃÎ ‰•ÿ^ÞBV%Ùò4xiE‰½±–É›û]:o p͛m-EÔÐSxÑIÆ­u-…ÑM­E²h(}*”£‡·´A`A—,Raå™_²å¬¯cí|5$Ðʇz IcðÛ}2zþb¢šãWċïÈB˜¨Ÿÿ¢ßöW<ÃFʂ®Oí¢ï«‡Q× +8–0c&íf~³—v´¦ wvº‘ïcÔáÍZ·Û–=54]wdp*á§>…4…hh>ô! ’­ÄÀûï(CæcAs¿¦Ž]ÄQjg!—ñJË_ÀL¹,÷'r+sá0#¯µ™©Ö5ÞÁ)Ïå§i Vݾ5p íçšB7pUp_ŹO‘0ØB +Ғlz N¡ºúû”´…•ÙNkY ’­^òô×÷œ~ÒC‡i3ãŸ,¨R2¿À}ÜHô†Ë¿“Z+¿)ê>JDÌíóU=ŽÄE=·äšõó|óf<Œm•V86ê¹õñèÁâ:5ŒKðá’r|ÃH#‰…Ͻr¶ÏɼðɪÅnÏ**]3Í +g½ø£™1^ËÁE?ƒ14P°JO·Ö;ßëT>iE‘,²‰¸Q¼‚ipØèÆD¸x Šª à&ÁjC-q4\šŠ%”®fSJIzµNöâ4å7 +† VNËzÑgè!˜Ä¿[Bä‘i|æà5éΡ¦ÌрæC×ZúÃKe¼Œ”¾³—ÙÊÚé+kv0àáyCìŌéÝø§Zς­ñ0:ÆÓ¦GY…EP;×öñ aŸ¸ÒõhJoÑL=›ƒÙ½že……Á»Êr–2^bkU­âïV(—žêñR§’bc6îWQ¬®šÁºr½ ‘†8J1ýÙgåY•¥\$¢øµç_{oê‡ËÏç6Ë{uÛÝ°£’Éî*Ø£q䡬¸n…£­ÚòuY ͘0U$Û…í¢”¦˜ÊÙÅHÝ̈¶Ì®Šº“ÎOp‰d×~J¼Ý‚ûcåãÐ`±߁/y8 ]õ²F–¶¹ÍÑ:>Ýöéø¡ð½£2Á’gü]¹º—ô來C§z`Ü}´’‹(‘£Ã²pFà!²5=Ç­aŽ@à`‰Ÿ){Ñ$kTȁ§ÇPхÃtßYkë×Ù<=ü€B »ÑùÈú'ÈEê•JŒ>ýW´wÚ¹#誤=፶t×ÉüRIn¸±ÿm?xWVC6S~ 29|êý˜ç‡Ã +ù +g·ÓíP‡¹»ùÄ1¶\Ôù‡Ð ¿cÚ=›gAY†.ô†œÅ Y`֍õÕ(›.ahØ0Â=ž)¼léÓ߯¢ ··8.á¼eŒÞ²¬ÊŽíÙӌòÈ5«¤pQÖ“Ú†–]+kâ±¥CS4¼¶4Ïy‚?ޜå]q½ðAáV´èºïN$; £1šM­jëÊÐþ`‹‹¿Ÿ„VpºfÚ'µsA/ò½¬F”>ÿá#”Ú/_íÁ®Š @xOŠìÌR˜Ñ/Ñ@_ÄaÐk²“ Lmë…å[8Nq{ŞãîØÝü½øÛÂ"bu4þL¤¬0¦?Cƒ†lF6Præ’ClGþ¾B œg»‘¢í*¥}º­Ú#&žV§”hߺÑ;§÷ó'³¢ÐΟ¥?NQ(CЇyvܗ5„zÊ—¯¼¯l_ß{èôª¤ ÈzÕD¸`?H¼¬P"–»…+,m…tâSOŸ™6æ ¶·ÈÈ*í¸¢)Xq’ôAæŽ?q¤‘À !;K˜ÖÇu%*ôÐ>ˆ¶1`JnË,­1ÝL$ÖâFìüüJ +‚”iä:WwêðSGã[®&t8¾Ê&Û Î„ ¥nŸLS‘ä{ †«T5,S™ ÒQö +#8÷Y[ï%*&ÉàId³±/fzn‰SÎxÎåÝ÷…}ŒÓ›ñv“ªë† k.3š³åZR°ª +ü$UâQø´¨ì6tIþnPõk[B[„tÅ6Ôj“» ä\˜²̗²y… ÍþÐpÊhò/X+àß#B±Ýý¤{ÒÛؘ[߃¯J‰%“,vÛäNq’ÈÅö!ڝYò_  un™`qiBbîLi÷h˜ÑIÕpÜa½x+áÒ9eã‡ÏáŠ-ðR"9-ĺòñð[篸Šm0J·jô%q9’ +¿RH‹}%ՙÈR ²ÅÏRàbÊ-Rd>jÀa~OŸÂn6­Í¶̞ûU}àŽyvƒX½y\_žãAn(c_ë³#㙨ÇwÒb—úÖ÷¸7]G¸ÈT®ÀZf +}P¥’ßù›áÄïW Ó$™Zè7•ð‚}iߊñ¡õãT¬¹›ï…àï7L D·Ä +y(åºßð}¶/ÖMof9ôƏÜÇaÊoíï²þj¶Yñ4MžtŸaª¢Û 뎖cÏngj¯œ‚°—&Ÿ½¨ä­ êßå5ˆäý‹÷ãº%ÚÐ9NüC¾sf‡+ª¹AQ‰Ed<¡ŠôMÞ[¤d†§–m¹øªQOD–‘Lï£_j*03pˆ9øÈýxšy¿$× yµWÄùal¨<%eòÉw8ä»õՑÖ> +Öý‡ú©jŸ­CENBÉYs‹ž"(5ë®úWòu¬Ô~½É’?øzûK5‹¶¯-~ ѝlï"›ëPùӐ[²‹ºË³³·›GNü¨èl$÷|DWM”רBÁ +ŨËØ`=¯á{ý×Ø28JTÆÜ¥ *qð2l TI^èS—c_;ƒEmrN*ö{7Úe-š€Ö …/aÆn«æáå?þq?Øàæli#Å]ŸB¬a¬¨?Ý;vvóm:ëî{ÈdQ-þÊž6_ŒŸ~qíUeô!”sSN:¹£å•}æëÝ9V6Zö@”Ž!´×)òCÛ>g÷SøÂÏG9Óèkë«S(ÎÞܘUÃO¾ó°ú|i¡ËÊX˜GŸKŠ Õ,Äýø}y¢cŒMÃßp)µpÁ{ â½b¬›EJ2HxŽOQ|G¡zGªûŸ@~Œ±!ö‚‘Á<Þ$NÿÐÑ`;‚ô­ßßÕÁ• †áŠã)*vAÌ%ì j쵨ROüxK@v~fW6qîÔëô®3(âMØ÷4¿gbÆ4kwJJ\!]8Q©-u#7ÓU¬âÀbø2Ù=óiòñ)z³–J»ÇšÂ)kc‘/¼ö–rÔ¡r¿×ìm(¼‘äg Š¢´)yà8)") –ÖÌ:„ËÖ àÈ îúqô ZcðËR¦“2²æ¥Ï—Š.r˜SI‹ðá°Åšöהʥ¡N¡ÌX³¯¯]þÚ2ºf´«]Ýõâ€9\®Üލ +Y6¾5äÁHh=/Ò#ŸgÏ5Ópè>Í9¯|BQ ¹§äŒÌÉ-Ê#&8{‡–)ä]$¦O˜Ç^òjGU®ŽlU_ûʲ¶àn®­’YìOHÑyF/Aû¶âˆ²r2h!ݼ긧™à{KÑ}¨ê©Â?+@t_¿Ëx/ä9„§P1Ïj–âyv8‹«cÔikŒ¤ÖMWê0C8"çÞՐý©šòDS•àßûZÞZ¿ž.u}U¹!ȇœŽN°Tlì«ù¤TÀ¯~Óá6®–‹õ:QXÜHt¨žðäøÁU늅ªdQr .PN€1ʤê?7ƒrà M^ž)2NIWseçÏ]‰òCS¶NUþöñ;wª—¬ÓY áùNW÷ªÅu + +/n‰2+g >"F5:$P£çø@Eލ~yöDÅЛw^´z%áK±'“’‚!£€ÍମÚ9H ¢ÚVÞ,} +Új¿(XytyZ¼üZ 9À¢(<” >Û<«*ºɊ„‚SäL·?Ô¢èÞCË_ùšYºëu…f ¦êgƒS‰lgœ` gRi9üë b¤mՃfùx:nš¤ZaFGãëWk^§Èñ¶5‹ÃÅH,çˆx•|,ÁóYƒC9iÿtL³SF:KªVP(ÿÑq<Ǜ1ŸÞ<¯Íh¶XžÄ!úC’'Ža¾gøCïÀ‹ôÄyELÕË +ËOÃ$œ¨?ùޛëˆí¶g}§ê²†Í%øw ø2 PÓê« +¤“ìóýºn†+|Ø͆=Æ!Þb62ÖFòŠ«f`ö7:fæËð©øn¨o…z’Yξ˨àwšg8µÐôù +¹ðâ 2¿äHxN ¢Özàõ}ŸÒ‘¿ Øâù…&Zò¶êTV­êòJŒmE|6ÏôÚFΝfkÝ+_LüE´îrh›Ã guXÍ +kU½°:/Áû Ð>òz¯–nÏv˘̠“À; žªNaàtC:ç«]%SFNPžØUåñ˜&ÎØÝHjË«¬ÁßÕMeÐÏä ãÞé冥.cªm¹«ÇpþF.Ò}AåÙ_¥ñ]Sñ(‰g« ˜ìÀ DI¼º®”"„?Ï°JÚ¥Br„¨§9(”ð×$®¡§hÓL S¡²È”›â½^đ<¥n¬ûôŸÛÓújMĊß×Bèå±ßCvˆƒÞÆ÷‚û×):r²”KÖçÙ<ûÇé3Z^̒1Qò5¨u¾uuN´h‹ÅÐõF çüN´ùËÖ úOˆ¤ô¨=é\-o‘@ëxƒ¥ã4Y˜;›,ʎa,:FªÆ.A_–€ÕýÙñ‰.ô§Ú՝nê¨a¡aÁ ŦƒQ_Û¤IÔ;-´­æ öÀ¢Qéopf™O6"C<—Fí„2»ŸŠÁ>–HÈR_VÐ4‰¯5ûŒÎcƒ–ïÙôÌuªN")£¹Fµ½y¤®É(A0ÂËž¦Ÿp{T¶‡gtEìL$ Š£knð¶Œu¹EãƑ£þ@ç)mMÂx-ʧū©W¨ŠàÊz-à€¦ŸüdR«ºÇ«e!ÚqÂó³ÍÞ#ä3„Ξë"œUqD œMýÞ\8³„è½^÷ˆˆžÖ÷4I9îåË¢Þ՚ìÕ"©O$î)´Ò´ÊŠãt͜ï]±EÓþﺈàÌù{g +ÓSç,ºgÁŽª’p®‹à§-ó&:~b»6d9Gû¡·˜O²N©&Î€HrñYCºÛ6 Õb'5³¥YŽ ffÄ=èEGÔ’Oýž”·onE×>Gw/]å¯ C/9â­Ò䋁y¼Ri›¾U²Ò­Ûc|‰t«¨ +›ë¯8hîM›CEÕ¥RzÐ.¡&{šÉyÑŒºj8þHÁ榙Èø‡Þʽò•‘×z2PRr‘z˜ñ¼Ä¸"†þjE5T'܏ŽFkzµF21ÜÔ9Kþk¶;öZE`{ !«Œ 6B®×ÄK®¢dàcLBëa÷îúšÿv÷äEšZï³=²lå _lj Û-V§.2…'oxèøÂc†.%>ˆ;jèC4U4ÙZâ¬ÝWˆ¶É„ù'oWàs¢Ôð ¿óÅæ,ªàS"ì±a|Æï/49_ÊfÅKƒ¾$¢±)€å´q羃UYçv´Ýöɚù!Zý:0Æì»'M3½•íA¤SÊØ¢×!Gi\˜Krb:üúǭߐý<ÒÄx…ó1œ6h§¦ã¥ôFˆ*¼†äles°>ì$Êf³Ídf:Y°'"v?Eb؀*jÞ*L¥Je0&׶`æáË?hĉAøåaÅU›ªüì¯Á¯`Ñc€)°ŒþН –(ú)ò'ܳ +êgùÄ,×wÏSU^·>š!A=G»6S¤HÅ +V«CßR7Dr=/ w¬„s¢†±Ah"˜äÀæòáê“i8£`ê·DV&=ÛZ!m·ft'-ç.ªx[…« ý‡´˜ºbmp·ÅŸ([NŸêaü8÷~ª$И +ó‘SLý¬¾¸¸ ¿‹ðÙ[¡ñ£—ìæ+1'":÷ûÞã†3'‡)€jNq 噟oÓÓøÀ% @±Xn f: ý2üi°3ƒ$KfÞÅíý½`gÕ6H‰¥hx…y +Ðow——êži¢ø|ˆäæuâð4ƳËÈ{w;[»&vg…¹X1 ™ºÑкžÉžeZÿÓœI'çüñ¿w‘²{Þ¦ý'ß)šË-Oeþ)¯oõÁò4 LV‡]FÞ¼xl@Q/”åçø>D£(æP+¤—Ù .Èc`ß;öۃ¯ZfòùÚáÎ7g{”ç>åŠì媀 ]Œ}˜0(§´}˜žI” ð4±±-jGF _`¶í†rÒR8æu½kŸµ©-á +å¢#oڝ\^ Ë³ƒ¹/ƒYKæaÇÉ6m]>Ïú/è@iHÌ;ð ¸Ëëúú†¢#½]¨¸Çœä“C‡×*͔¤,?#}¥íK®fA‡_ô-~á~JÞ/›îs2h’¢ä'°?ÇöîT^y¨A¶ö8M&òO ¹2V>Þ¹º§7Ç<¿{/F3²b½Û×­.ÊÙºJ2¡×e®weâ½ì1΂Ï^Q݄¢¸*#núEž.5qZŸÀ_<ãѱþ@V˳ޥÆ&ãi}¬ŠÝ·›¨© åƒ~^þ·Tìê@;tXµ¢[¢'p7®Åˆ}GóEé^òØó3±ôs¸•jÞÚvæ+Ùmnµ8CoÅ¿wm²Fh z¥Èx宦û$ª€P©ù}턨k‘=ÄE ÝjËá~ISÎäÖ[=©»IÁØoÙ @萡~f»þÙÅyŵ0³¦;9¾õeyd$”ù_L7úz +ô°¡IÆú•£6RmŸé`Ö°ÃÅ.¤Q‰É¬­°|Y†sóÜa´*è8 °%ˆ Ð$²,ÏOfT@*ºB§”v›{žD€fxxÇ¢êbÎXåj~/³ýÐQ!;5]B˜Cн‡åÊÔÿÏôó§W“ƒ.Cì~Jb(f3}yX:¦¿­¦åG=m€-ˆc>hË£«„í›ÐæþäoX',Ù½֑üã‹ig +z…6ˆãªÝ†ë[ÜBuyà]Oo0¸«rnq¦f_ðX>8¡³œbLO³Ù‡¼Kb’Ã"«& +!Ktöæ¡•¬váâaïS°äqPà>Rè `pªm›ý€v®SñH?·Hž[M!%¿¿Þ:£Ï¢-/ æ!½š°+#l +ሜS‘ÿ[…U¥q5ÀE›‡æêlà°þ#÷Á –²X­~[€ëè ã¡Á bò8i™ÐÍWèªh‹§›áwR3l¶ 䗌µ·BZn„Ô‹Ñp¯Üç,’%ß cˆ¯N´S>:eç{¶ÍŸªAÂÙª íÒãxrf„,V_A% +™",e:Á— +œ]u(èM²:ïk×þ†~¬‹f4 ®sʓîqÙ§=CÈj¬ôöôˆ>Rö~“ê*ròKes\„œ$•þÛ `„‚¤ +‹ýÁß­w†ª_H†A ÏA92™ä݃S!Ýìⴇ0QÀ7 Jˆ]ùîY‚¹“Ã)³øýCç«ÎDm-ҏÛUl—`Ç]-иˆo7Õìæ Ä`ôl7L$$Ÿ ä¶M±L/í¿J¡Uz¼•v¸èÏY·0q<@Ñ·ámD<4{é¥e©\JÇDQ`[`ÚãGùÚÍïA–Y®*Yvíû‰– kÐG«‚ìÃÔ¹Kýä¨N6Xå=|Ÿ|%s6ê캭4µ‚ߺ»°[ŠJ"yY å8Xzڋ”âvžê\õr»yŸ21ڃk4 ‹Zåj%eÙݜñ—3[iGI¶%)ÅåŽKò"tÓö9ÆÄMŠê˜Ý¦>{‚KC:@à¨mp¥îó‚Nw`+=SI ¸aYV¸ŸæØàÝoó&t7Yå+¥WÍ}¾i¥'2ɋݴŽ‘D³ñ–X¦F7Ê>ö øÅ©[¯·ß&rÙzZ5W4m˜â»åVûߍ¢òÙ ´ß¬)i›ÚÆ°F×@ÏQZŠ}…a˜o¹Ì٘Sq~ª„Ã„Å aß0†eìgæĎ³«Ý$º ÊE@È •á½:ó=gÍ6…e»z=‹à,„I©™¥tûݪõô„qeƒ*àb10¿ Ý©8HÙbÊ4νúPŒì¤ˆ!ö}ø¯éé:ò9ªÓVèȁ¹ßÎÅÊ;Uþ[¸èÊpµÑY‹ó 4"ÃÚnLȲ])*Émü˜Ú‡gæÎm€†9ÖË_Rƒ™ßÄ߅2B?C½øÞ6F¥[®c±Oîæ³ÛÒP[ƒe~Ã\Ú>‹°ëTß%bæF€M‚ËPAðó _gKÝ&ÀTÓÆô„=·Ã2}µ…±¶plxrj¦Q +Ö½‡é½ó<šl lA˜\>g¥ç¾¨eTãþÖT‚Gù+~O]Ã]2&/¶Ò4>Çÿ/é]/2sO~°Ê{µè_æ8¦Úgh¨­¤ƒÇ«ÃBX‹%›Véî.=\Û>X§V%1Wg ,³HP÷íLw`çø°]™¡A“Çn±h|÷ÓftÓÃpei;eåùeKz4ÀŽnœ  ^Kw’ ¯‡A"nÝ*i¿á€Ò;™-uD«ŒwB¨ä§v$c|ˆä¸%©9UÆX%ØB½Ýhmc%H Y&M†>äq´H@“ŸÍ(ÓÍ­µ¢à+ç2Ð?Nˆ™ïS h4q¾¥s‹.;…1í¸Ø÷TI ?Š—i&h‰Mñ#2æ°Ef¹gyœ¯áG&àlRZQ$&æ±bö ˆÍ©ÆUr±qÚY=VʲÁIŒ” 8é‘õùÖÙ_næc +Rq„Ôž§Íºè¼»4ÖtANÁÉ`›oíÈùCØÃä}tÅ-¦gÞçæÅi4¿gž5I‰;|'‡‰Í0„4…ã +šg¦äðÏÜ5½ +jí?èUý8ó¡´á²ïQ®•‰„Ö¥€\ϹɊ w”>baú­—öØIZò±"0ŒGèBvõÚh3Tŧ1"5ï.€Üº÷Çb³¾´ß@²r2!H¸½–ÞüÛÝۛ7õô1­'$Îε,†&P|zf«è# +áòWJ„ù´~• ÿ܇MB]ρSZcã²k¬ªÙ w·`P°kƒ“S»/Í>Xm\•oz± ¬@²LæÏËÌß~©Öa»¿w$)†‰ÅAt º"²&<ÿ¾MŸWƒfš¸œq$+ѧ¢ò +endstream +endobj +4119 0 obj << +/Type /FontDescriptor +/FontName /OZMLTC+NimbusMonL-Regu +/Flags 4 +/FontBBox [-12 -237 650 811] +/Ascent 625 +/CapHeight 557 +/Descent -147 +/ItalicAngle 0 +/StemV 41 +/XHeight 426 +/CharSet (/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/a/acute/ampersand/aring/asciitilde/asterisk/at/b/backslash/bar/braceleft/braceright/bracketleft/bracketright/c/caron/colon/comma/d/dollar/e/eacute/eight/equal/exclam/f/five/four/g/greater/h/hyphen/i/j/k/l/less/m/n/nine/numbersign/o/one/p/parenleft/parenright/percent/period/plus/q/question/quotedbl/quoteright/r/s/scaron/semicolon/seven/six/slash/t/three/two/u/underscore/v/w/x/y/z/zero) +/FontFile 4118 0 R +>> endobj +4120 0 obj << +/Length1 1630 +/Length2 9604 +/Length3 0 +/Length 10449 +/Filter /FlateDecode +>> +stream +xÚ­weTœk–5î\ ÷Â=8Á]ƒ‚P8EáÁÝÝÝ]‚{€\C 8 Np ¹wº{Vók¦T­÷9ûœ}dŸ÷YUôÔêZì’Žf YG(;S  +¶7suQqtPf×Y¹ª™Ù/=½4d +;:ȘBAÂ=@dàæp ¡Ñ¤ÊO.9GÝ5hùYqw«:ä·#Š‰Hb•Ï'óslñtM—Kïýf"%ܓßqÓ!¼Â"šü›¨¿›)[/,³:[nGp*ÝDón\ÖV44ÝÌ èI€óî7ý{fþ<#íL/¦XŠ#«V +JóÜ•[“ã¯gÏ®¹ÉaÞµÀßoö ŽìM,µŒÎªÃ¨ ÚΒÏô¿ 2X§âîÓ2›Tçܞʰ—¤jÜx¶ñØ)Ç&£ây÷Ó3£š%0™ê•Ž¯Ë0€y À쬮þ=ÿ©Ý¾Ji’*Í,¥y{_ÅÖ¼¿!YkVh&*ÜM±Ð‘ä–]Û¶ u w3"胈TkÆ0­§·°¤ý0¶ º!:rÈh|Èz‰Ø4s6Iì[7*úØÊÁɹ½˜õ):ûÇÎÅ= íjrþŠŠá—êÊUÆ{O÷7l±¹û¥4×æ0­Ù†Œ¼n)çþ8¶¿{– +_fñ 5­… +îŸÑ—kÏoá| öæxŸ(i³7dٞ‚ÿ^Ô?¯ðYöD58oôh’%ώkƒdq/Ÿ ‹&çÊZs“¿Á³&ª™Ø*U±”cÿû<ºüyŸ“]„£âõ„@3*Œ?q3«‚¡YŠÄ˱®f¾³¶ôÖX9"è\κŠ ++W²¿:)ÿjJ£ÔêÇxq†Áyóg¢Ç‘×&&)gïl iñmN»Å¹IZÏ=îdºÏd‡Ü}đÀ4òìR“õ +¿ÞGØæúM`:ÿÇ`8՟Údï¹hÆduZê +!ó:H 7üÀ½ôÚÆd˞•†+›Ü óN…–ü]þ{$Qûh-õHÏþu¨ʶê)£<ÇÊ/£{Š³N^ƒoçÇ¢­,ê1ÁDnvU•'0ôSþ©â—x¢ý×VJêQêíé“÷‰=~E„™ýž¨%Õ¦Æ|Ù0ƒž'^‡=êMÿã|Úô—qK[OØ®¸ÌuñÂç¦ÍÄhaüŽ=¾vTæ7½ãg±²ÈÜ6%%T²–Vh=6é4Ï%ßwcU)ý™Ö_-ÚQ¹fÚz~ç¯ +cz÷ïʅ­µO˜žÈ8toËÌ‚l)y*ÆÏÝÔQ5ºeEaX6y*#·§·©{…˜$c¿ÛÑÈi5w9º ÓnàÓ%nw²ÓeéÄ%ÔbYô:ÝpFē܆ý´ùڊiô;ëü††\ÍzÜnQßîåيCrýï¨I‘<@ž—eŸ<£©4voø‘oÌù{ÓRmP’-D÷“$IÇè“jÌ÷ ŸÁsÒhï{»¶€=°Ú¤Û×(ƒ†©Û‚›m±½”›Øk,·U–€u”=Ѭ»’K~Zazhû«ò ‡h$ ,XC ‰6:ëѽXxë‡W˜™hœ[ÝxfïˆÔ ;Î-¾µà&YÎô&¡3/YR#ºüc46r3a{K‚_jÇ̑֨®år‰M‹?€yªß|ý ÕDLÌùßt5\…ˆñ/£PX¨ŽÎ`YÍXéfm䗀 5Ú°Y´•xC6±±–—ÞÁ{«À}Ԙ­F᫁?é£\ґ»¦²¼äBÊ'hî™JNòÙÕ?ô#vE”œnhÓá®È"š8ÂäˆóR%É||^¿Ue²_.íþ'¡‘3~˜aœ47íqcOd˙„zòSǁVõ€V†nª±Mäg³5ÞÍÒ<œxŸ 5÷zzû¯Ïi'NÌ3©'¥×¹« ý˜èô»ë•u—͆/&sƒEåFE†ß]½Ö6Z§ì](™ÈGàj”¬—2p,¨IýS´úéÌoB5~›Â1–&:PÓö„©yڝô‡Ê$“†)7¢‘4û{ˆÂ"´±à“¬ÉÇÀ …nvÞ8À¹Sž]o´Ø„ø:JªÞ£ ƒ†æ©ÞŠ‘òë#ά|RàÄF¹GŠÉ@°°W­psåʂÜC)<Ž¾à¼¢“þçC{bþqv¼ÄÉô³yi™•šøcá½ó)wö½ø¹˜7ˆj5öFlï+‡çõ!<Š¬æj1¬Ò' +"úx?´oÖ_eýäÑkÂ(”Ö™kg€G¾²¹u«gÕþ°i·â~;þáç;ðñ;”û˒~©ä@ù‡Û«[.ÅÐ}Œåâˤ-$&œºš‘ Åà-‹¥Ó[­·búG^¤—ÀŸ®žœ²¡!pYGkk”” dú„N!1¬»§=ä,º¢-/…ÉèŸIÏT|€KLþÑBÁÏÊ°Äa`™™€W»ÉOŸú摍®]x|ß“Z]ú[3«i’óëÊ Ì «v±Ü÷¼É¦ýåɶ­\©ýw۞짟vž"llïúIÛûEãçѨ³|›ª/¥ü?-ŽHX1ÁþÖJ´]ÊJiÖÞ<`k®7© +CO³axCU¾ΆˆÎ•çUò˜á‹b™2'ʆø!| w³ÆT™‰n‰‡ªè/Ëå`smWrgoݧôŽ•e¬ð´ÚÑÿn•`ý·I®¾*xOÈí4³ÒeªðºŒ©¾¶Qeb³,ê\®»Cw{ŸEPö$–l$ð o‚·'“6ð]€J¹ÿ=X󅱼蠻÷ë3 ?G?›ó.öç„DM—~‰·ùl +-iË:™ ]ͽE$„Š ï;Âê9FLâÃ|Œ¨Zíáþ”Yì˜Cñ”2gî +¨"M½H`æ±ußw_[Û1  ¸‚Qy“ÿQ&E_ç¦Óœ"2œûÑQ”ÚÄã6¤à«!{“fåè +Ý鯆qÔt&\UC´yòüUÅL·ý>€Èv䗣™ÔÝé6 m6†h8燉•ï•-`{¼p!¿oõy+ˆ„¦€–+ òu<ÜÒOÉAW®Sµ—Œc +…W{°eh¦g˜V^ñoQ´Þßãî °£XeÍñÛ® ¶Qq=JÑ®¥ñÙÏԇoYågwØà€µS5SòÝ?ß.7o#½!œöõ„sFóH3Ýu4ß Ò¶‰ûN^Øosùî|֗.綣#£ÿ®éÜ­OŽ¬-0Ûݤ§ïX–+{ïWbhí¶‚om†ÞÞøŠ®Ýb\g‰¥·×œ€NŠ¦ +ÍàÛ6AȄwΘ W¶ç.÷c&´ O>L­Cp«ÐÀŲ§ÿ镴Í«£nƒê 4⏥q‹GR2ðFpçò+æ,Y¬<(#’ÐƹSÈ[-ք +l²Ôàw‘6 ´òEÑ1 ÄBY +DFD}Ó¿˜w姮š®YÒ́¥,5 3ïìö¹_‰ë‰®Y+Km9S©fæjò¢¡šRÖ; ÊÐËð)úS"mŠWG‚J¸ÝGËD ‘,¦ÐUJ#3Õd$44;©úܜs‡åZì?kÝyҚν®U2ž¯îfÇõ=·{7ݬ +p­OÈF„Ö|ðÕw»÷•a¼Ï÷W8ïÒº.úr†ºº¾Œ,\çÒM\ìa^`?©VÁ¼GX{w²·~3ß«*‹ÚúýýÅ|÷VxèÏ gλ矤â|-ՁzóÊÎR +Š {u½&xß]C -1G³ßWF‡YZD¦¦i)æïšªø ^åa½º=¹ðÝw“Ñ5O{núÖ®”l}µIÖ9àTI +%1X¿ÞZßò^â +ÎÈiùÝ·ïe_-0K¯MùlÄ#w±ü³ž‹ôf[Ÿ_¼gߘÙ\•½ªÈðl¯Ò=@`‘©‰ïÉR”-Þ£ >Ú[1`õ’é"ÔÒ+Â!Õió{]?Ž¸¼Û™9{e¨v¸%ÈcÂû vgm’$K#az~Û3·ßñÎ¨ Lᬠ+ÏCkÐáïÞïö(Ú`¤MC%Âm»9YË–„•J貒‰idiv‰>ÿ4ìK®‹¯úy|ÓÉW;p]M@š=¯kÉÄ{E¤>D÷´Àfhhp„ôI¾ÓÓSb¥.˳ ¬ŒõÅ®býY·­µ±‰{¯È/j‰"à³¼™¿é$ÑË$æÊO‰Œôï1ŠD¥£Ênu°vÏ]e\¬FÛ®Î\ÚáÉ6÷Ï»Éeï!M ƒóÝÈ_¦4 GL­‹ Úéux¿yíÄKcú÷‚UEmS\BÏåìhÍÔPƒCE~žLY+}S6ÓãrØùŠRþL,ø…Ì~ÓO[õ3onœ¾bËÉûÞ^áVA’^ä¾€@£Þވ ø¡C¶†V²“ÅÄ}+ð¹Ô=Ú¯ãTyá²Ý]÷½ùè`²;p,ê|çX™íäÁ/PìÁEú@ç a[¼@üùEßÏƓñ|J¶‚” Šx‘Ãh¤òJȯ•c‡ -|OM‘2îé^SÕ¹o,oïÂáaãK”AÝä”õ+°5q㶑²3ìê"‰©ñÐ[±MâºúÌc‡ñA +Øiúºk$²Yú¦K1’ӏã¤FþÑSáF(¨ÑeDwG4ÝEÆtåΙ訪RsJ°´vFÂbV˜ââd"¸Øi+3ª¾³Î ;æîSòl.ue<Ñb¥»ôWø1’úC¼ŸN ½ 6ý©ú‘ó6±Î]cB‡oèE$h¾"<¬™ùÈݬ[Mĸ5NÉ%mºLs_uœ­N=×sˆ0ÛÂx¿màÿ€ÐûéDÑp³uz?ò³,)k21„£åé÷,œÿ°ˆ{ig@åçñÃ}ÕǪ…›öî3¶ä՗Âò¢ƒ=RÍъ†ë×4:MW¯wR…â0mG©¶?vÃAà›HÅóNËEFDÑf +þI x™:£Y¶†(Cá"’¤!$ú’Pƒza"žL­xlbl`ó*…±Ûè3@')Wü÷<Ê‚jåê§â™Žk"T¢á’€¶@òFéžcv§R{æÔ5cXHý×R)nùØâv5£ +ñe|Î/5²„±M¼¨]Š5ojz ëvŒâTù+õa¾Ãß̳™¢JŠmîӐÇjì¯B<ª'`Ç·Ð¥•{!߂Øh™ã7Èúè$Õ{;1w¾ždHΫÄ4ÆwÁ¦êZè:þ¼_×Ö +Ùl?Ë8¨Ä9+|³4W„Ž¦_ž&¡‚&iðé€ û ‘™–^_mó¬ã:,o¼#ZhëDŽ«DBOƒD¯òv؇^Ñp‰4Ûõ%’ÔºÕŽhò‚m]‡ž—$èü¤%~xK¿IšŠx¾+ˆ ™^=V°ÇèÎdÜ+†(Rü¸'á̾Ì~{bú ž}»/Q#IêAVèÂD ì6Zd¿-Xe]ɦ¼MH£M½Â¢ã$~±Ã=¯ÿéëpù«Bv9ÆÍ#æŽEïT¤yù£±¸r¢–†8¼ÊU¨döÓôŸÞù'éЯnýøp〱¾FJ¤®â}žú däáLÌPœ‚ƒoœ<‹nû]QƑo'9Ž¯[ Ë]«SX+Ooû㯱?òÏÞh«Ãs—©áS„y\$ „6ÐWÎØÚú|Á”9ôI2-Q¥ä8šhù¡´Òªlp÷ÞBæIŽyT )¶z+›ÊD•Ä}-ÇjšÏµúö•tÑO*þÒ.?X–\xòÎWŠS…0ÎÐaE`d¤³òsúyYæŽerõA¢[Ô++›œ:ö%P]䬟c¡x¨Óùc»wSÐÛ +íla|ov©%È·a—Ù:-‚ ñú¨FC¿–ßë›x~±ÉÚ²¨gG&t-Çò)Ȁ„W²^x•›°0‹£ôdÚ=ç‹ÐʇÜãÔϕj…C3,<¨ø´ƒX +«ùþÌ´õ§û¸}´½†£š±vïaE/³MTdx­*Dß­,«ÌlûÔTö.iýG¢«"tôè£Ûf §ÛWÉÙ¤0ÙüÔ%/õîB¨¸>²i¯Q}}FºHµ¿)™`"J¸ÝÄ ‡¹¾¡ìƋA_· ;•WMmó’ÈR1&ÂÁ.Fo×ËvövûENøÑzæ¹vYÇ|m€þ9:÷øÌýÄpŠÉ5]”ÙšM·39ZĂ1²ó#šœYÉ·°\“Ð,ãÖ«WÆQ³ÚKçnZ“™«÷Õ¯T‹(~}š .fNeïé©2Ë9ÿí Y,ªþî+‚ŸKtD9®Úb%d7pÇ, ÖæÈ~=³9©ã·Î@5Ã¾mÙÝ ãsZýœ³ï¶ïEH™Í–Á‡—±1v›Å±¢0€ÃÊôÀ]‹Çk6:ûŽ$Ó¸Ûp%þ„V€»ø1¡J6È?P›uÜ\·(å‡w" ñü‘o5{NµËZž¸Š>ïñµ?V·à£ô¸š~ÓÅû›²«mæì°RÙ» ôÈj¸Ó^8ñ¦ê¦ÃÎI=±N6”r¼]2‹¹&ú~÷Œí¬ãF éšó1­Ý¶Vžì·å¢µÌìænµ쳨‹>œ(ûW%Ñ~_¬/¶ýLx;¬lH0,3šB4¡­Êy=š†ÄʽÝjN¯Ÿýãå8ùr TÛõ’¥Yt҈…A¾ ¤Žfz„_1ÐVI>àkO®Ÿ„¾ù¢ô¶Ž§Jþý ëÇ)ýY͕ˆB –¹úl74ûÁbGL`cx +GŒ,%‘«r±ÚÂÒþö=ULݖ£\ñ¨QÎ%=ŠëÿÚk™â!ᾙM(#—Jª'ú±/CÝhû8Pv˜r:ÚØí.ô¤ùD ÔÐ$J÷Ñr/2•‚ë ·_•œ;ù„c|Ɩ>ꤛ0ó±ìòAuÜeìo„_¶´f€¢¬+´†J“m™B§®~>ÜX¨’²§²zšÕÁ`U¥¸¨ˆÐÂõ± µ| ¿¨<Œ¬9ëEËáÌPÂZæm2ü ÍãG¥íQÇ4‹ŸK¢,§B8½5>CËgöáÇ¥reòwGó³{拌Ü;>ÑÖ]ÁýCŒx†{ñËcp&:d„Eß&Ñ&5»%ºÔß̂1R@œvë«ix†0úoü²j¸êG4q@bÎqßùß P¤¥mÂTW=ê„L“Ž…¹”sì ÿ Ÿ9„=£Mñb'};4¡HíES+1•£ú-á`~<¡Túü:ÝkhǺüyœ]¯óé„ »±fN*^ ›z¨0`ÌSšé'ö<&Ñ¢ýütä½oHçgïk}•‘ú!#Ÿýq؊Ó\ފôà¨&%„9B.òN¶³UKÑÛ# ï›÷Ț‡¿Ò¤é¤ºÃwIbÏôÐEË5BÛ=¢ÖÇP­-Ê#>êrq§€J(`™à»ò @R¿€d½Ü2þ>÷„÷õnäÉ{ã¸+Ÿã[ÝC[ :}RlÞ¦ié̚aèªúéÊhºfüݍUè*“€Ì«ùùm£?\ø)^çï+ÍZàÞ¶kMÀœiI Ýb‹“EH«³»_žTG´@-!èñFËÍ ¤¯jøÀâ—!¦àû%Bk¹X=Î ~R—Þ:Æߒ~ãFm;PƒÖ²ç*·{hU^~u&9… +kAì–ŽÏfÒ.¦n"%C{ÊÃíl!4[ž¿¦¸ÅàL94ÉÛr™$Áª‘?™Bƒr„~!µÑÌû…‘tRx}n?? T¬1Î5qñ¬Ñx2¼o¬yË4îXž¬Y/ijy‰–æ¬×ËG”ãʂ«¹†Ò¿L×Ýßt¶¦Tïwg«v£þeÇ‚díéÛ{\»MW,™ÚòªúÈ+W»U‹7^ªÞùe®ǧû0q°†™Kãˆ.a½ÄÖ·¨¬Ø†éÈ]׈lK% Cٟ‘}”Ï}Ýýá~»j¿æ(-¥dNäÄÌK¶¢žÆ@¬g®J{ZÓ8)½b2˼1»Ï`”?,O¦™Ü™H…‰v|3;sƒõEonAY–tCڔ­üCï!¦¥ïÎ"8ÿ‘£|ÇwpQo랇*…¢Xƒ÷ì]ƒdU7üP¾´Ê`Ýýý*É +\+½WŒî¶{“ pA²ÝC]°[ú&ç´)ØõZjËrtÍ=«~…i;RFÁ‘÷IgÈÓ9C“Ô¯xw²Kbˆ¼$’-¯`£ëZîÄHùéóÝàÑ»IÄb¦D¢2ÒP±Ž*…Íùµ¯+íD1åꮞWg`oÒ(K$à}S<‚3»ÎR4WZkjeŸ2ž°{Íñ¤ ®*öF*apðÉåŠÂ ®‚²à‚»æíÞV‰(š¨îaú`™àcj7ÖÙ֍õÞÔW$s¹Œw4¹ˆì_c¼´6Üè‹:ȊÃ0³[ÑuGy½'Á}[ç^B4ørÅòÈ-˦6\eٌåÎb«0>&éw¥·!êm9ëD§HÒ~ϱ䤾̸~ÚÒ¤â…M,l6=båßVŸ-S2΋ѽýÖ¤„­ âQ¨¿/È@ácl¨ Jª—ZŸ·Úù¢ž~ן‰m“›&÷Í´®F//#½¢¯¥Tnõþ¡]Œ`ìÎt;ö}ïá¬mc¹i ¼6ËÖþó3~s¶ñY9Êožµùò•™+oö‚˜u¾íE¾ÐíÄhâÙºÀo¦Øsa|ø¨k\§OIýmx‚nèhº8>Ƅ*ù¥Œ–‚¦Oñ®Ü»éªy3]ò"ùd’¾"‡³¸×5SŸ-òØz¸^{i,ål|ÉJ³Ózېq\ ·€1ºûñšL+¼ +‘K¿Eõ'*Êi+«³@ý›à:Z’/f5gC$q¯®]é>\~¥5ü¦pº.Յ¯Ú:³í‰ ž-Ö¿é!Z¯ üYÜìdÝYÙ>ythèP˜TÓ¤~P Ü<뾪€ö/Íñ²ñژ½Þ$ƑqSÌÆôÛãÖü<ü]è×[j{˜]aÄy¥êÃÖ"lj ݞgp"9ðófÌؚD8ߑdIËxû¦V Õž‹²]\s_‰óÄÿ—Qqï35(ÛM;ª™ŽLH£Õ/½Pí(ËÖÅ~¾ÐMtªÖ‹£ Æcý!²3ußÁ^9´¢h<ŒÄߦ³>½å=,˂KÅöÁ„}=yïo«ŸŠ–9Fcæ×ψ=áYÙKgâ[©7Çö Š7QŽq?4ž/ò_-xpô'“ž„PÞÝ:Æ+?6·„w±º07¡åI<žm¼!rí-ó‡®b*'­ÜÚسÑ°1JcõR´:¨¸:/¸¶IÙ8R†ùÒd7„»m†‹²%¿Ôˆ¥šŠ3=ÖËiÈúÏË+ù™–KPÚ\ö}kß¡ÑxO±ê-’\Z5÷ù°¸øå$Ÿ äË!tõa‰E¡ÕÄqãÌ}TIB0=:Â&Æ\ÛÇÀû”áï£ Ÿ.ò¶@ú1-OŽHuè½ù:´J¶(¥:ðydô(”V‘vº{à!É¢~“X¹ÈWtÎ݃Xë•ÄÈùšç{+Yô+‰õ«ä¥‹6¸Q¬[Ka Þ·¿Àܬºp¡½üÂ|*#zÁwõÂvƒÆ¹ŽÎ¯>?ô?1åÊ­g­sƒ¹·S©ÃããʍÙŽ, 9ŽsœšÉµ‰¨D´ ¹Rjl}JµÚð÷òùbÒ¼‰%¿ÝQˆumcêÞãÃúN^"8¢ªã û61§¤Æ‚·Œ¨®™˜Ú€(>žÜ3}}çxÊ7ä;ŒÛ;eÍô ?½»~Øm±,q¬&¥/ԓª àÉ>^ÅЊøãuž” c͚ôË­¾s(‹¨ ֭Łk²ë\šJ’̺…4æ2Uu1tÅzÜ»–|7ªòs4ڋ«DvÓNdGs1ÒNøéø4ÄúÜf iS®)Ê=Ðx]²oâ`8‹²Ðñ¨æƒnßµ{ü¨Ô&^ÆôáÖE ÊL‡ª<ž]Yóœ\Zl¦ , +£(JD¹G“˜—”Ô²ñl¾p™‹¡×V«Có%ÂÜÔç`’êºyj(ºo”Ëõa#M˜FsðÒ2ÊМ¨4ÅÈÍÉ':ðDØt»Þª?êÔåÆ,n)näÆ$Û;›qP®&€Ÿ…“{}ý£ºÈÃ;Ï»§]'Ä˜Ú pYÜ9 ۜWæ=IÑ˜Oѯmü§©Æ¤‡9˜½[v¾ÇÝ¡î˜Jÿ†AJéªé&)ĈzXà°ðf˜Ð°eÊtiø½sõ—/Õm%uØ,ó|ã,ÖTº9ѴRëkDQ…À»¯zcBÎqÌL ¸•c¹°ƒ©V6mßB|&–¬ø³Fq\…«Ô¯6—4¼æ>Ÿ˜‚¯«aø¿î§²&ð¬ßÏûÍ>²[œ÷Þþ?FªÙ` +endstream +endobj +4121 0 obj << +/Type /FontDescriptor +/FontName /CFFDXI+NimbusMonL-ReguObli +/Flags 4 +/FontBBox [-61 -237 774 811] +/Ascent 625 +/CapHeight 557 +/Descent -147 +/ItalicAngle -12 +/StemV 43 +/XHeight 426 +/CharSet (/N/V/a/asterisk/b/c/d/dollar/e/f/g/h/hyphen/i/j/k/l/m/n/o/one/p/period/q/r/s/t/two/u/v/w/x/y/z/zero) +/FontFile 4120 0 R +>> endobj +4122 0 obj << +/Length1 1608 +/Length2 10628 +/Length3 0 +/Length 11456 +/Filter /FlateDecode +>> +stream +xÚ­veT]ے5Npw;¸»»»»;8ÈÁœà\ƒ;ÁÝ=@p î.÷¾~ýz¼¯u÷=Æ^UµfͪYkíMK©¡Í*iãb”sCX9Ù8„j g+OmK° +«”‹“ àÍȋLK+í´„€\À2– @hZ¸¸œ‚‚‚È´iW_w=À «¥ÏÈÌÌò/Ë_!+ßzÞvz€ìÀº·/ “‹«3 yƒøoÔ{ ÀäH«k*ªÉäÕtò@0ÐÝÒ  ái岨€¬` #ÀÖÅàôÀÚlú«4¶7,I€%ÀÃh zÛô±ºþåb¸ݝAoïÀÎÝ yëÄ[;yÚüEàÍnëò7!Ww—·ç7ߘ†‹ÄÃÚä +¼eՐ‘ûOˆ½%ä¯Ü 77ÀÅö-ÒÆÅÚó¯’þö½Á¼y!– °ôü•Ë +°y¸:Yú¾å~suýMÃÓ¶û€;ÐÎÒÝÆ èáñó†ýWwþU'à¿Toéêêäû÷n—¿£þ“ât²eCæäzËi yËm#³ÿ5(Š`['Ç?ì6ž®ÿôyÝÿnÃ_3ÃøFÂÒÆìä °Ú"³«¹@ÞRþg*³ý߉ü ñÿ‰Àÿ'òþïÄýwþË!þߞ燖ótrR³t~€\0€·Æ øëŽùÿb-AN¾ÿMô¿êÿÁð¿Q„X¾µAl÷&Ç?Œ 9ÐF±¶ØZ:½õèo».Øèîß´ü»VN^Þóé؃¬Á5OðolóïÌßäù›7»œ¡¶¬– +ó¿ß¦Gi¼©Ññu}#öu¨ºØüçâ/ ))€+'?7€•›ƒÿí°qpyþ›|qþk­j qùŒßŠæàü»ôÿxþµ2ý7Y°µ‹Í_s¢ ±Û¼Öþr[{º»¿)ú÷i+ùŸë¿‡ôZ#/λX ‡9¤f¤AªrúGeŒ»;9aû?ºÕêä®téJX,³xúñ‘­n\è¥ÙwîÀõy[‰ig°߉¾#xò4€š±ë;Ö +]+?óN(»YZÚ¡~´ßé¬Êœ‡ÞÎƨ¦–YáÙx+·û»Ó[Æ`j¯ïÁ¸47®èÖ_kbñÚ0ë °«òé÷ooè{‡úû:ÎỶI˜³c‘h…- “(“ ¾îWµÖÏÞ¬•BY‰Ç(­»ØîРtÒÀíH’HÙŸ˜¦Šr¯}¶nX +œ•Þ#þ£Ä5NVmêÓÖ>ÄR7Ø2ið֖"*Ïçy,¶bo å§L¿M¯³³tþTGK‹ ß+òåV*ÒÆauÖÎÿÃwä×iÚì¤@‡^®4nêý'R/$;]ƒJy¢§?“o§wÎ/ªÙg¼.¦ú“â(¬2Y–ÀfŸNh«j›èoÔÕ¯ÅÝmkØ6£ƒ¤牐F²±òž^¶bR>yíY¦ÔqSI\¿ÖœDõ +’lÆlH¬—ç4éô†lî´*'_aŸË1߃ < ³8ø^gBùⓅ;Ô8Œü‡Bm¥jf‚0nÄwQγÛĿЎ(>GÍõ­9)]ÒNúœ—ò‚‹ FÆÜèJÁíd>ÙYHt“˜g f–dáä"FÈöûiä°õ§âm¿3—ÈeCÔA̗?{êÏ-Ï=}A{È Åg‹úâCÀßð­åÆíÎl·*ê¸pÔ9ÕbKaú5V +Ã&ù3w)U% 8cäß´u¢·PPB18üûo^Ùós>;F·¨TMñ-!Š—u ¶`).’J±ËKeK4ÁpAÛ-æ<$Åݗõ`RPþ¼é¿Àë30 çF(ñµ •÷tµ~•ì{ÚøŽt`„î½ô+I؃б+ö¡cÌ ¿çs½šªü‚$T»Š‡ÎþQvȂdº€³˜ŒKíËA܁8ßMÄùtßDªù~º|Ûª,"m3!-”|¥:&5|$0FhýçÏè¤Ôg^©$‚ñ¶SåÃÛµãápÐ$Ü´4ë1•D#—±s‘lô4Xž£·r¬ 1fëñ‡Ó´g]ë0+j»Ô¡& +©Á™´ E_BΰÿHeDÃxë²b6ß¼c×ûӜ"ö"mý•ü@´eõÛËSP÷x†e|K<)ŀ„NRJ©×&°úJç%E‚¡yTgûL¹¥0¾”³; }(£Ld²{ûBÊ´BuE‹Y×ç Ô2$0Ž +_ÍÓèd ¦št ¶ ßòíüº«-~‘s‘GžÓ çcÁÆ (™‰¹KS¶oâ +«¸> Ö[êt¾18eò ô8v 8?ÉsIJ]¥öcD&¬  ½¿ú~p(lµiוH¯k(üÃÊa&ñUí +éj1öÏ~ùñ2KŒg)VdeÃÇ«3V@ˆÒ|ëV/ŸòT¿z&AÜ +džW ¡°íkp´a¿í9v¹’îÀjË–@×&͜ QKw¡Göú»£ÐCr +[’À“0&uÎàO¤«¥é–«Ó«VMG›ËS¿£¶BÒ{þ”Ž€ñ ©•è$øú¡ýä~$çêK~ÜuÂ'?¦HkRtș(ÇQd}§ì E%›åzÔâ‡F@x çh6Z„žª¹O_V¾‡:êÜ(¡š_ë=+ŸŠƒñÜ1óò”8°Ôa™sÞÊ5Ñ°5 ê¦èÔ} /sì>/£÷½×K½p\Ûܦ¨Xص—¶)wÓWgµÓ܆»Õ¡ÈÑS¨u34&û•ÛÀêØ)ó‚2}*õ¹ú‡ÀXGb¦ö2ƒI8èKL „Á¯tø=%<äõ³3´®Ú¶óËùFáY×]¸nQNNÊü±‰ãÑê'}ՑjÚa_Ól¯R^ +FΗƒødˆ +þ¼ÀéÙÄF„æü¨ˆ×Bü&­ìV©(]Ê"´nx‚§ìt"•å;Ýõí»áCRFÑØ&Ý «ˆa<Èõ#|ñï_ÉÛ¼[îa¨‘aŸÂÔNîe#GcHS£À™¿E¡ŠU÷;£òÏDî>³´ò7Ò£a¦Ú½Ü`;£¢7$­JÆÒ¦ìžM–¯…{r¾©”i¡°ÅŸ¾gÔâ +5ãØ:æEýSá›A_DŒÂ.¼ ˆ˜!«-ÂNkO¬=/qïTÇ +‚oÏÖ`lH;¤ÝúΓ;¬¢ª¶=¬ý¡ÿ0ÚI6‚*r‚I+Q½ÑKWïఅz*èÃMÞLá!FP›p<ڞ.ĨNgõ8ÿ‹íCmnðlRÓØQöwŽÇd´ëgÒç˦ª>‡\ü(èÒÂ8Cqªn3pÉôªkSkâèؾät3u]ªÿèsW/ÔÎÌéÄwhÁ ¤ Qú‡#S8’¬8»Þ>þGB@ ñô®› + æö‚¯ FµÚRéÆí—kÐ`“ÚîV¢½5}ÛNp±ý=Þº&NöÄ&ÓP“œƒiÞgò<úëí +™XJWó¡Q€Í ۙxÒoJҚ‘¤ïž4ùݚ!V—YºêJ¬¤Íô6PìF?wùóà’C¡´ŒµmØ1çßñ &‹?ºŽcT«£3Üz'Nz°ÐÛ!ï6`²;u¾x™3=Ŭ§~°±ÓÒ¿1¶G?ºrÛR›ƒãÆᵟSƒò>;çÏy×"Ø:$fD­–ƒÜÜÞDDåVw…ZÜé7¿d”…ïu=Xáˆôþ•ê±Ê„¡,úvÞg1ÞÔ[D&`ŘΊt¬OOö{·†zoœWÊÎ%O҉úӅu‘ XS¬Ô„Ã-0¸AÍ “‚ †K7=“õé² K&*|žÓ¹‚ùŽþ×5¾ú¤Ç£ª¯k¯[§xó«³2Ֆéƒ:£¸2•E‘S°âûòX ¢Ña†¤]c0ªŸ!ä¬n\¼Rªõ[“(ÿ´÷÷îk,P‡ óx˜E3Øc9‡¤þÊꙏ±-7í`<Q¶S5½à¹Îބq¡LäžPh"a!"ò´,Y9åèÛNhIcÿ +L¬[ + g‚¨§öp“Ý„küÀÀ $¢»-‰’ +¶›X°áÓ]¸Ô°+@jÜå„äOÆʚ™‹}XÁTúQ»k:×Vq‰Ð!eXÖŒ Sÿ¸“þ*瀺ڟ´íáÕ©šïCžç*éé`·§Ñý؏4=¯µñ*D†1(×€¸ìûSÈS–ùͪÐ+VèAÖû¸¯EsØéï´¶¿¸9@« l±Ô'îº eáHÙëÀ_ú| }hôS× †¯ïus¥Òý)Õ9 BÊû•p'DeÓû4Ûꛭ/¤³ß•´, üN3"ëtà«tP~¸* +ù>PÉÔH"IŸŽ•EëÒôÁëW;CÍ +~7³ÊôÖâÛ/¾U +¯MuQºéÝU´´ˆIÁºÝr»ø×±õNy[æݼÈO}Êþ…<}]»e%µv=»ä¦,¦ÌïËo¿ºÕm „s›'á1¥+äTMoØ~Î[X’ôsj öM,Á§‡jKǓ-è6]¼bë€ìk«k @ð§2“KC3¬ºüJ;V×Çg¿¬G1h<^蘼iòŸú ¹=ÇHŠ²lå}6Nî´»²^u’“öª¾0ç’Z““ê÷ä˶eºÉÊõä «Ü¿D€È߅š“vèÀÊ%Äß #TOåéH›«‚ô½«¬iü'Ï4a~¶y:’lÇ» BY9áYTOç«°Ë1!V¥ŠJÈÏ.Y´r +Pü`êהh4[«|r=pæ«LÚL¯³™ÚG.¤Œ“ü£2*6ªëŽ'cr˜ùpêè'Jî͑$•!œpíÀåŠñ’\·*û).%lç";¥_óg7Iì:;¼ÒÇÎó´ÑVm8óÁ* º~yúDî]Mïy¡¤‡4>>¨!ü06hSȷߜü·Iç¯ØNb\Ú¹B-ñÕ\/e»]‘N±™‚.؝ÌïþVg¦jÀÔȏŸØÚ+š¢½®©#KÅàE³ëۈ`…›>µÓœ3úî°Ìz¥‡8Þ‘°ÇmWrìâ?)ÌO¨4‡L‹£;ÁëíCˆ'ÖùP°L¯×WˆË¿°Ë&çÆ&ô¤R€8ö®j™Ø¯~ d¤oÁL¡¦ÒÚÛ×9PÅÊÏ$®¨ÖÐ&K~¹W;^òTü<†Ö7²è†ôg{Ûjç3£ÈT› ÔBÓÈ\šÂÞüŽmæ˟>Ãl›Z™i©›Rج¢Oše[tXÆèñäqñ' â\Ëǔ ¢»Âï?$÷Á¯‹À:À¦¼P/ù†¿Ç‰›yF 5³é«¦æÄ]gcKŽ‚¥YTÀü3¬cy1!YÜq*ôE¬oéazʎíæˊR-uŒñ¬X*ç¹C^¤z¬Í‹Dˆœ1ØÒò~r?*2‚ŒÜ%}rs¾úŸÇêgÄ®S¤J6uQ8†ídQx»<5Ää¬~þu,NöÂuçúþÈå­,–èL$ñK'¨0m›v×Hh(´]õZ‹'7ëX}.ÃљjdîdŠ66í(Z²’¼P›ºSv䇏4Ùuïø~õn ©‡ª~ÚHtIù܈ÉXìÃJùD]ÈìLWPeÈQLaZa¢‹TL|!~ƒ:™e×;éªÐv©àË×Cú­¥_c 1f¶•S®èçzŽD”K•DHa\xÅ|*u;SŠPöîƒÛD’‚"ö|¯P©36­ @R .(¬È(¯ËZMV5 lØK®Ô ÝÎ2U)Ûé-½6´/ƒpùSõ9üÊ3íòßþÀ)š|\¯Ó×Z:PR¶ƒ€ôªå‘ãyv>­1ßõ¯ÚqǤÙÍS+ËÌ·@.Ö¬é!Œüç7Xè{¶cSÐ嚦!ë"ž¬òýþ5üÜòB+¶‡òK OÄ=˜‘GçÛêÐAó•…=ÇùŠ5LÜæ{S.aµ­[;‡%ýþœÝù2ïÁ<¬%óaï£Zv}y‡ùO°úâ9ϳ¬dE-ÎØÆ) µ88]ºQYÝ}ž¿b`Ì JHf5¶)œŠ9UƵå#æ(úaÔ²ý5+qwBD›„æ¹ÅÂßw¾”k’e„).7B¶úyt~ÔàW¦ åSú½O3„[L ƒB;^d•Š°“¤h‰¦ù†y¨“õʑ^¼rýpßVÍn`[|°½¸®b<ÈÔj7RÕIE4Ã}¾ˆö,L>›r×nðVuøCtÄ¿všy¸ÚR%bçÚQ~¹[P‹ò®ƒ W$—´Ç“×!ØIþJÁ&ÔÞÛýmà'B±QžÍʞ~¶!ãnC ²™‚žÙS{—Þ‹‘/íUláÞ ¯¥~Ý«ŠgJ&€;!9ƉU‚z1ËD +&¸~£á¢#ô)žS8fƒ¼Qã#uoÌ)”øø¡ý¨Ç:Ñç€éùgv%©|8p„óŸ(žÉš¯ù#‘ì;ƒ‚O6}¾äÝûbÔ³¨Pqå+ñ›ô‰mņ *ª¬R‹ý*±ýbÛ@¬åz c.[”Q¸^ø*‹Äfø᭎ĻûZ)?æ (d0‹}ŒeÖ×Íû¼¾A„WÛ-m¢Šå)²}A¢3ÖzÎÎE·"Àß7\;@ÕJ±'Á¦7‹’ob!³s¿ÞÑ~"¢¤x§™Þ³b¬†Y~î¯Éz‘ç¿¢ðr8N¢VÒ0 +۔[ƒ>%-b?‰{E ùÚÏ­G)»}ÌÕ«áӈW|IY…TòÀò•äèQê̐xòͨÍÖï§âȜg.’ýHEßçýYõáãu¶¿|ôò½S?f¶³kš&HAtƒÓ@)(”ѯHUfy÷i¾ò+›æ5ºaÚW™ST2_©ÿž?ì)钮|Nœœ=…êʼn\ë裰ÈòØ ¨÷|IýpàhbU„f¢'Ä秒ȭ7ŒRžÞ6U½6ë¤3.^¾³ÝD;¨|‘f®¢Sm•ób¯/)[£ƒ–»œîÀŒ_nçØe¢¸ú¦¦¢¤u²„É çV-V÷÷ÀæOª½Ô(¹1vPªœ+ßuhSÀÃÛ|~Þñ;ŽWZÏ>Œ`ôr; … , ìé®\: +´)~Ÿ1åÖíJŽA]8†{^\’âúøÝ .íqõÝ%pXY»Uñ%žº³Þ Uo“ùoÿžûÙVL¿)Ú wq¼–CÖZ³#‰éK¢5çOÊ߼⹯bpÃöU ?4Âh¯\èJ§µòè™S<{²}=Á=—z8ðøp÷È9±Æàå„ì{…x®\÷8v²¹‚ ²%cu:Àž×†Ô ãħ=òsá ®áé–Óš`àÃâaþ÷gB“àšh“AÛ­Y2±§N jhyîFÁ:¡‘[eñ‹u¡¢bQ»ªpƙe1Õ©;f>/Vgâº÷T5õ ®Dš=è[Q¡JISöAÓ,NA{äšÂÒÉýȌtÓ4Át¯/§ugÆ2(#Ï-½ +?ÇÝÃfó3èR1ŠßuÈ}}”‚ ÌÄF Þ]3'·Å"砒Úc¹EUy+Í'r¬hų‹b˵ìu煖f`)¨f¹  67‡bÿfËꎎµ_$´Ih +¤¿/ì-W +Ó»…RŠgn™ëyÙÑÀüb;·Í“Ù²|ñQŽÚh~ŠEíp©F¬\²3㼋hLŸŒ-Â¥{t¶`AŠñÚe2ë[`o‰&1ýN“\­ÙhWÀ×¢çÀ¯wðª:|UZ<ÏPÁz”Ú-A\Z„qûÔã8»ûNü£È&.1f.¿ÒuÎõþ¦É»Ê{ßµ Bã3åqĄ÷LžÁÈÄIÁÄÈ gu2¿cëzÐmÖñ®œ’8©2b.f†XU¶s÷žk·óó+øƲö †ÍË\5$îPòØסÊø^¨‡Æ0÷ zTiƒi qb©-©1 vf‹SÞÃpe>©¯”Ap' G<ÞA]'P p|¬ ˆ‡[5Y°€Ù•Œ‘R{–°ÓEaW-µ¨hÝ.†OjUžÑîMö? +¹~?J#6 bZîEk[ž¦ÝçâLXÝ@ýžxþLbŒ‰Àߏþþw½Ï=V…Ö*9㉊_Ž:ô¼ZceeÂ2pã:‘¬âL”æ÷zió€t¿& …äü Oæ*3D ”#;Õˆeñ<2<Ø×ú(t©ßs+TZ_?ü:à0qÓÆX$"\÷ÅsNö@ã:º@ÔA¬1|ºÝ°Á‹*Ò6Íãú©²Ä Ü.¬`2¡ü€É‰Æ;ëfˆßhùÂ¥ó‡ Zó،,ûbaøÏõô Òꁕ/ÙtPÊÇcÅ_k2«ÄgÂoö=íŒ÷Á%y)/V“µôC¬îR¶¥ÚUl]rvßDo¸UóqČâAÙÄ£=ÐWa³„”ê2Ñ#9¥Îo.(œÖÀ5¢  +šéN‹–²åA·a·ëƒRþVôŸi:(ÄՋèÒÅÏlí!‡DÁˆ¤(ȨEŸ›ÅW ¢ ‹=—|ÔÁa²½:ñý$3¡|¢]&lÙÚ_Ÿe(ÇnÎËî "F?~ðòðmÇ*4iwgqî®#²€ õ¡—V0`kdõdz–»w;þpoæ¼ôâÃͧ©Zqù­Lkõ'|Œ)QÄM\dÃX„V±Uz·Çê“xNDõœÌ¡wø™r}²8?gÔjYVQäP­7ç‚!Ã9£A<;åtÔ2^=kÂí-Çh>`€ÐÚàìÈm„¡_là~69­|^3¶l±´Ëb_æiµ wl·©B |W]ú9'k­)‡X=a)±!èÚQ–0—óz™4½‚A©d¶g¶A•s‰òË,Ó(áãê؜Ÿ6ª.šÕª´^Ú/J¶‚F”¨ß„\5ï‚Uܪ¨»~ècÂHåëp¼–gŠ"#‘:†Q}ŸªŠ«Á¦y»¾¡ìøè ?׌ñ=ûbø{%Àüe䃎 ™VÃ`Ú³›3tG­ªN "‹‚ÐšÒÌår;úå<¥âïûC/Ãﮯ'^¯ ÐRûàî£÷¤˜È*šyü'Ò½0Pñ\Øs»£Yqš”cÔ +^*n¡í³µ¯PïvœÊEH䮇Þ1Ü@56Ñy>zðT12ÖH ¾|S_ +‘?ÚòoòâÕÙ~çsúböY\ÃhÞVÛ$#Ÿø˜2óçŽÐœ {O÷z˜U¡AêkÞõ6&Z†ãÝÞ^ëj8pÛ¤ +#š–FˆÒ0cáGñ·\k$òO‚få +Àá>§÷7ÒóÊå~ÚH¾SÈÒ¿òp?òLDÓš®¾à^ž>3Pcí«¶ìÌï$æ/$-±×p!ÝǗä¬]ãǒUŽ:ó¹1fÂ65 L¢NúS¸°@IDõP#ßëx$#Ç|DâÃbï0s–Ù(Ò?BOU*Ù¨ð8WÝùJ‹/®uœo"jæÏXì©*eл³Nôçá0ý²h!¹+1q¯ VíÎuíœÚ¤'±81Û`‚_ª”û¤–!_…EIf­¸Ø„ ²&$q–ØrÂÂóU~ñWf@Ðð¶ÕŽœ€ÓcÁmö:­Þ'øQ qX ª²!YÀm‹ë×™Ü â°ÆB²ü£ biNtì1û¼ÿ‡{Zô%{s¾Ðv«Ãý œ¨—Í$[öþ5» æ²>&Cn3Be¹d´J®–¤„ËÖ‚r0Ál聍!Tڄ¶ŠÊLOBۋQ£‚ +ùsTfxñ:ÇéÁg:ÄG³+ˁ±Üž‰ ŠT3/”hQÓÒ1¶'¬Óñ©Ÿ[®|Wbø’5®˜P îóχéFr¸Ç-!>Á*N:Z[J‚ë·žëìjb†_ŒCj“ô&¶³ƒM´ÃQÖ4nÈGt9Bzù9æL¤ê’…Æž Hz8R)!âIJ×õf… ©v™q +Áìaìï¾uðX¾GIêå—m +Š°¼~ì°y4d‹þY>9ƨ¹.ŸÀ(Ïø[ɵmå¡S Ö.£HpŸR Aª°Rø8\D>Srlô Ãî5U*Ðu@µÜxK@|"0óä.§ä„ÂÅ.wÞ4…KK4Wqóésܻ֐1H ûEªˆøzÜé,íuå<ŽMÑ­j !›¾ÛR'sՏÒn}]Z˜šNûböÔôVÎYXIÏÖfâÇ å÷—5c«årßo}åªãŠ¬#æ "2Éù`~Bg|ëé“ô4€¬¶‰ºj¦CØP‚Á–)²Ù¬Ö[“Ä-êªTª¥é±ÚcÅ`ÃlV›a¶5ΩêtýÐÎìÞñúH<%B:ãàúMҩց…Z Šºl_`.·{ïÓI‘Õ<¦7È­ +ØDCþ1½ Ÿ•ÊD&ídhÉøŽ¡z/hH‚cæd=ûCô›C£Ì^CÏ·lIý%pŒgïÚëŒÔe|ÀVŸ} +Êæ44”Ž=aÌ]Ð0x,»MM;A@EÐ×´Û}û;-¥v­Í ûSò Z¡'éJ!Ú:EÈ@iLFD²¦w)~ºt©v#â­^¿ñûR¾Yw‚ <›°rëH…‹Üê TC\—Œ&Ȟõayïx`¥¹û®#zE½Ù—~¶<ñ~6Øà ^pÂà'Súþ¸ÁÏ<~¯˜mjÖ!ÁiÖڕ¥±~¤SõKÈRmŸ¨ñ] +«°w²?,qøñÇT)éF +UO”óô5g3äÎj} @þyæQ0mÉԍYmBó¡-irŠÑЧì£Eíp©ªÄ8 ø VµŽèšëéÂeGD뿔¦yF~} ÔŒ¹ú±to¾íÓ2ý n ßé&Í7 +^§$è`~Ñm1¥„;”ã:‹É]rù60+MuBå›.ɺ2äV›… ÓúÊþªQÜÕÇEÍTÄs|Áíùçîœ4!Ò¹ç@/.²5¼2AÕµõ™Z£q™ª[? +,Æö´7Æy\]ËšøÕ²aS#ÆHƗhû˜†¸T0óHü„­ê‹\'ùh‡/µiÔ΍Ííº“Y‡µÏÿdu§]4;@;4«]Œ5 ãìÝ’`ø0N[ð€b–ÁqZÞ.Qò$Fi—M{%át±$_Œ´‰0–«n¨¢î–ØN¹ŠÝY°¥®ÕM©æÖ ’Ø–+'3oªl³ qñÌ —)?ûÄ>¢+[3c£yކO²è/©×jÛ¯"ìûè¹H¸°xz2­ÞVöa]ËoCqwû2ÓøЫPq;™QŸª(½ó†Qh`5Jž‰‘<Ӛ»êpøƒ;íC>²§£ÎÎ î¹ÌÔÝxÊ^l8ňۖ÷7®åµÎƒˆWFÔCFçoÀ|áë2±ÅØG‡r¦™ê\øÏf] i|ÜÀbU¹l˜äÅtF^îUªš´M]ÅÚ ++®îÖ"ÕÏHb¹åºDí}]h¸*É€Ÿ³p!{4V¼Q¶Ð1Åê4Z‡ï8 – D”eàOÇ.PŠåñ ýÚn¼Ô‚\œ_Nj” NýåcfOGÍòUÄèëJA¸ÃåŸ QRöe5êun5Xˆ¬ò(“n}„Î ¡cƒVÎXzZÁ¤ÓºW–p ha¤Ø¨a§ Ÿ*Wº™á6¿ùoô˜Ž7¶ŸÐeû(FҖ¸x™ƒÛª ïz]Š¿´NûrÒà +ð0ð…8*qŠ\Oû®ç3$ŒqsV„ÏÛz:âÔ}}Ž¡¯å•E¬œ£íœ=tفÁSØB͍€D>k}*&_]\v7ÈåmäÙêu@¡›úiVþ󱇫BÊ\'Xiú“Ѻ)Ò/,uÚu/Êíœ{yÉôè?ôƒø¶èÕÏDf'`>œ^ +O/q®‹1ÔM)“qݕ|UERùžSƦèögcMrµ­ú)V=ãÐyËÓפì5•ÿ2±®Ù™¬Ý ¦8…0qñ©TQŸ=#ØX’!Á3 +º‡´“{&õ¦ºlS“JkqÊÁρXÁCÊF¶Bº-ҍ—+߽ӁA´³REï+ìr[¬{ãûԊÜx5 ˜w£–Æýª5ß´’ôdÜ´Ä|6}îÐ'+Mþ<²¤Mi¹½ât•pڛŒ’d"Ý(³É‚‰­kçßô(^=[,¥½úƒÔxéÑ5nß´ö[U‚ŽÜ1ԗRÿ|aª¥éh™¸ǝ!-·ž‘¸ƒCc€lxMwã,l‘”Õù‚-sï ­®ÄOï¦|³(Ðl5+j¯q,f÷JþÙñž¿þZÛ¹£QûêÄ;a[4-ßxÂOûBâåÐ'ÁÑ¿*°Øä¡)3üëò‰&]4øácNJ¤ðMídAgÓ¨½`µYçiaÆ: Y1Տô^ â²c£š;Ì,3r¼þÔ.‚,ú  DzµŒ°5CÛ,äØN¨'w õJÒ‘'¾]ý׋0›•E[ä±MJ~ …{ùr¶Åï"Ê©‚cMädÚï_¾JhÝ2¤Q¹nÀfV*sj+²sjd!OkØs]㥷Z~-ó0Í«n=Øø`qYÄxUó^¡áë—QB…C•ià—ì°Kï+h<®(Lj%dq—~£bϝ…ËBcêü°1'C5ґôDzò¢åʖuÀÍF9ªJ{Ûu·0:D/qŠÈû¹WIOó2žczƒ²ë€i´<è¦ô×ó¹ŸßÙ°ÿô”û ë_Á“ å(ßEõl$Þ±#d큩×̧ù ğS¹¶$¸¥_¬Š.ɛ“šá˜¢ó*éx/ü +WÎU,íT JKªˆ{Ĝض#];.¡%Û£&£­ ŠÚ̟ìÔí’f f­ýUßÔ×~Œ+Ú-g3 +RäBÂíÛu—gT‹&÷ëCó§í¿÷ÜùÃ0zþØ&<¸Ó_ag]Ë_óÁD¥FÕµž6Û|À+›v£I躋ïÔÎxEævIõ ?øäµx¾-'ª/ßLX‹ƒ"bÎ߈þ%f¶»þSC*è•|i~¾x¤åÖÇM^Ÿ¦&ŒžÇHY®o£Þ¿wKBà>üõJÇ,qîZ]·?6Sìï՗F³Ÿ-¿göèAÈl™Õï|r'·vnr…R7ûùuÄ^pi“ĵ†Â!°oQט±fU?Ž…ý5íÁjCƒûhMJ£ÐVQí½!¸o‘.„âªÎWÍ^ï(…8Ž¤£fÔØæ‰&hiz/haݛag†(ï_¬÷¨ê'ñ9ceó9¾ùùʯœ-ƒôý‚³ÏÿZ.½R +endstream +endobj +4123 0 obj << +/Type /FontDescriptor +/FontName /FYSERL+NimbusSanL-Bold +/Flags 4 +/FontBBox [-173 -307 1003 949] +/Ascent 722 +/CapHeight 722 +/Descent -217 +/ItalicAngle 0 +/StemV 141 +/XHeight 532 +/CharSet (/A/B/C/D/E/F/G/H/J/L/M/N/O/P/R/S/T/W/X/a/b/c/colon/d/e/eight/f/fi/five/four/g/h/hyphen/i/k/l/m/n/nine/o/one/p/period/r/s/seven/six/t/three/two/u/v/x/y/z/zero) +/FontFile 4122 0 R +>> endobj +4124 0 obj << +/Length1 1166 +/Length2 6149 +/Length3 0 +/Length 6914 +/Filter /FlateDecode +>> +stream +xÚuSu\”ÛºQº[rè†Aº»»;``˜Aº»»‘Aº†F:¤Q@@@i¤äâÞwŸ}Ï>çþ¾?¾µžç]o<ëYLtÚz\2vp°"æÁÅË hB\l<Ýõ@0u.]°ƒ'àa21éC< àÿ 970ȇɃ<x}GO€È ð àŠ…ExÖ@¾¿án¢m7ˆ Ü  ö»A!°Jnëé†yèyººB!`;]°;ÜÓÍì. +°èì?«äாnG«®ç߯ˆˆÀÆ÷/ v‡8ÀÌ /0îú»ÒC +%0 ìöдÝïXm{‚Äã÷¸VGWQW{øãv·ç†=xØU€ÙÉÁ]~'pÇü­™<Ä lû0”/Ï?us†Á½aþÿÛC`vŒdçéÊcƒ<÷«Èÿoð„ù7æöŸE€Ïà簏­#Ïï’ú¾®à?HÞß0fèï +w؃ îà@ˆ=øá‡éïò<Ü<Áþÿ—ø÷&//Àbë°;<\ÃßÙ`°ýŸ{ ‡Ä`äyÀßß¿Vj‡A}ÿ×¹€<êÊÚjÊÿœý_Q²²ð‡”\¼Bü®gÂNyÈ("À÷όÿÒâ/þ@µAÿíøwJ˜= òç8:þ5’ØÍýÁ›Ö?lÌø÷üšpˆ-Àú·úÀ×<üxÿ«¥þÿ¯Æúg EO(ôUXÿ”ð ‡;@ð[(Èí?ÂA.¨ï9ðÏ@#ðŸîÿò¨x€ [˜ô_2AÜ!>`;mˆ‡­ãŸvùKe»?Þ!Xîùý’\¼¼ÿàô!¶Î0°»ûÃ]üAavÿ(©³…ÛA`=W‚Üìþü¦m=ÝÜäùã‚Îþµ·‡<4û€m1—á¶bNMW 2”Þ\_ßó½4¸¸÷¤åÇL„"oq?ê×$w®¢ä/9Î,×w”¬3CÑ@AŽJ¡THòv‘íâF#$Š$|¤KqÈÝ,®)Š}ŒÎ:}|G‘š@ž]´'ç;¤|DW}aÂ$)7I¨' ¦¾2ÝÙ}®…JISý²Ckw‘M„ôgØw-ehŽ(êüh·<Ð),:KµçÍÌ5‹ª)֛ÃK¢Ú.Bë…ÅYàù(%L¦cJ“*!Ñîɞg?»Ô¤»‘{9ËãŠYvNy&°~}eŸÇF%OO¥^ÅÆ%'Ÿ +Pw[²E§Ì](èšaÅþÈ%³>°©÷¦[ó«*,f ÷TGSú¼¹rÕ6ñlüC×G¸ý©ƒEBÄ0qgÛÀu®á¢ Ùê¬Åø¶—\·ÚÆÖR£9 ’U0¼>=ÌKþf?@EϪïeŽ R2‚ßID¦Lü¨ÅšÜ]—R†N»_H½3¥wdùÒù §võŀÿŠ­ÛZA¸zYçkɽ²ÒMØbK:$v¹W–‹V#žÆ·j3QèÉ»£w}Ô%ÌÚtُ »0£bô|WÉüý›¹Ûkq³ÑkÝÊf;ú…Iª5tY šûN`¤.^.”†ÅÈ.6± e¥XYioa3þê&Vo-¦5XÿÕª ¤8!»”E©¬>œçWd° ´Ú(ƒ)9f+<„Râ{lü°Tc.‰Ú¹aŸµê™_¥Í Í MC–Æ´»õnÏæKÉhWÎUì½P˜ô+v‡ ô¦>4jÇׂP)æ rõq«¼YÔÕ©¬ÈâÔv2ë ܸ„#‰×ÒéXG½ÚÜK›ÏMãBbªvÛ0ŽZ8}Ü°òšŸ‰*.£zµ£í﷊r¿/ŸÞ¼¦î§^%o2}0¥¬€ñâK˜÷ªµ=qÀÛøX@I݂qãðòf˜A:ï!Ž¨*4‰çªó…‡v +–p†Ä´áù¯½ .w¹ŒRuºk›nÝZ¦€Ú¿C2ã(œÃˆ¾µÛ™ž¨Œ^9q¥á%©˜nçq¨#v„-pG‡ò¨Úﲆ†™,Ç·rP»…ÝÀ,¾FfOXš90"“B?•Ë盻dʑä6C¯DŸZ"àñsýŅ†OW øÒõÎÇz‚UôSRJC”ûf›+e㬧”{žÏû±çÂ’ÙÂøøYÑi1Θ»:'U=$¶ÅüÂ3/˜‚KDZ7±F…˜èŠ.‹¥ñ™ÙHòNj÷×Å3|äò× Ôã¹/ÍÜôÞùDŸT2Ì­uÅzE8ž`eJw½úòTæåm:*.çh,B’¨Ý¸wÝ´>õ'×¹ÚIÜ;}Dkߣ«@ëïH]‹×ú,tW¼‰‘–¬Wdz²Ü b¦Mbß̧J•{›@•‹þ‚Ö'R³ö"Oj¡8`…àæ“DíݝU^YÎmŸb—Ž~žñ|õ|?Ï®wIýÖ,A5¾r,Á½„Èï zÐQ*¯´;÷.Ä[V‘Ï ֖諧½bäIŽº-ä g“rÈYˆ'h}yŠoìò~s¹Âp¦*ÂDŸW‹˜]ÓÚ)N)A|¸̈́AŽ[º›˜Cx/[õ÷£é=–©†8uF+_Îí +ŽgŒ ë¶Öîé9¦6"N>u5+™[®1ô&¢´º[lÉkÞ¸t.EÇFÈx1bòä&GÞa§‹Ær_ÿóUCS—A’‘„1>Û¢{’uºÈqRt+D«Ë3˜&ô¤Y>oȼժÅAßM+p%ƈŒÄü>K'Ë;Bˆ’r²¼A hÒ÷ÿ¤ “¬r§²pkBžkT;ó6âdŽ¼ô?™iÊ("˜#­ÛѰԒ1é¹n_¶fd·YØÏ©š0°a ™,µ¼î—îÓi7|bTùóÍ*0˜"²Ýó%*õà +Ž(Â%_U@:Œ•Öš—œÍ s–èZ8ÒiOª6>ÖΓ½å-.q±m¿\;¿>ÍgÎÆêOg^r¬góQzãf£Z‹­8‹§£V^o¥»#á#šÎ89LdÊIr +<Êƕµ8U™VVtc§Å]£îslæB|S3GSŠwÄ=(uKà0ú1“y2m ®Uµz6|ØÂHšC·՘ӳCÉ6¥BG››!‹BTΉ£¥kíMª¾'ðµÿÅfa"é\qŒRºY—›áÂíä¶#È*ÃSDÛ¦û¼‘š-ÇB+œ-…‚Z[&Ø&ù®Ì3 ß4íÓ6XÚy*'"8¼«Ám®½Ž˜²kî fïKò€>áçäÅæjÛék 3Œ2áOôã{h~MË ͳî¼WYöýMùˆô—Ùš0ÝWv!a÷^R¿sqN¨¸µÖºéʘ÷–ö1ÙZÓÝòtÔ<¥úséÁuŸœ€»ƒ*’{‹: •¼OîµÀ¯«Z×ý¬9Á¶+̘tôÏøcbÙ)ÍMN»K¬¹Ø,TÜß~ªMb);,}Çy—,w‘úójZOô|€NµåÛ,º"åÑy…75jè]»5ÞÓ + ¦áS‘0ö×ºiÈÀ¨à+ ¶xG¾m³a°­ž”ñÞagÔo*ƒè^b"óOԍ„IG‘D ¡â]Ì:žT”–gUsÏ[üxó½>:,½ 'Á+½Àenú‘r?Ì«xyŒ'õF èÍj|ñÝÜ¢Bž„·žz b EÊ'‹ +ám»v³ÂR‹¼-z½Û†ò$€³f,bb,ˆ¦?Aä8y¨YUDB=u…ÈÉ¢íJE·¿S¢Dšy† ’Ïׂ%1)ý^ÿ»Ük‡áÁ€Øe“Ù•æÄè³éE2âǐ[™hœÂÅG嚥vaY§Ås}BLÇ´_ ³(\A#{É?Å÷ƒXÜSÀæÒyWaÊ v«BQÕjÁõ0ÉqníˆÚÊònΣRÂ¥†GFÓJŒÆ£lhúõۏ=Ä)JÐZxʶJëÚØ]PÄÕD_âxFV(pb0¢D +(Ó®fd+Œ‹·_‰s½øòEEkr\ r¤E… ýÙ8’ÙJ3ýêéu]¦íÀI‰ dÄcbmªûðìî'3ê+t·‹‚c<ÐfûÏȂŠÎ_[Æ)û¼D UÄÜÏ;i·Š³é:›Åø5ÚoÖªrÎz¢Ò»%"šŽÍt–Ãó¿ózþè}5ƒƒoôk^àK†ÖÚLÃusêTè£ëÛÇ¥ª«!ž¶éŸKüâ¿Ï‘¢‹g´Hß~G ìÎvDÍ +Ç5¤‰íÜ}®Ä}ñÎG&)1ÃEß(íãÛH{¯ˆ»yÒ"hãÍ Ôy'ǖ|±ÏŸýñäžÇŽ³ÉÓe±2EP‹tÃȏÔßjG†06¿їše¥5ªQãq6u ë¼²ï&M&t ö¦ÆäG‹_ežÿd(ùÑÀ§æp½5/œÇ¥Lø…vkSŸ³Â­ ޓ€ñ­'Nà©EÄ!DiáÔ4Ч-ô­Ùbá ì·*ÅfÉyh‡ÞMÕÙìâo9U”6ŽzOR%}œWeÆ"¤ÂLŽ”¼•%•ò…\r]Ɖ=jNBeŒyßL½Gω$¹a—òVzšO¶Ò…·~,§:¦ñÑ~ïàçlD˜TÔ±’'»–p„§è‰–s"²2ì{…Œ!–¨¢#þ-kÜ©Ä´Œ€’Kѹԡû>ë’|£¯B=„”)Æü‘§ UØýÚ"—Áî"vª,Eëú|½œ3ðè&+M€“sÖY öÍ̍òíÝÙÒýE¡¼úÞÄ&ÅK ­8’·o+9˜ ÇüD)ÃóBÛ4bŽ¥·5O"ï¾ÿ ÷ óó—~®Zþõ3Q`ȝυ"U9˜ËO†9E)A™ »2ï®òéiÜkœÁŒãè9Ð Ú£«{Ѳ€gRÓûêÔ $¸@J5#Óìޓ^t¹áPpÎS‰jù›ú@ߺ5àP㾆}R7ÿþöM(‰SVýBçø‡Nýþ“#"éƧ¼BŸ¦³3¦Xx>úuF[%5²*±»”Ñçk¸8’¥ˆq÷@œ¶u½ÝT õa6ŒÇ3Ü:ñì•|8ÕYF‚™uõeõíó0w]æÁÏ󄙌•jVáY¤däSœD®þI~K{vµÅ RøŸb‘ {»ÅsuH杔V&ÒljÈ2Øfæóu~Ý*Œ†B7ܝçËð9¯|Îã™GDz7”ü`Oêb’7S Jëˆ|±L¢Zô [«h©Û^]v0À£{Í߂‘ dQӠųÖ8ƒG ë&I¼/žÖ¥º§­Å®ä-ÑbŸ?Ô}ï£kPµÂ‚4¹Ã`³IƒÝè—ÙãöužkۙŒ«Éñ‹8Þz–†°ÞþW9Ý0§©‚0œí–›ÓןøeêZ‘³‘ñ™Ä¯2Õ·£~e9_„7ýÞn`~ è³¤ÒÝcû\þ¶¸—!ËcÁ“™ƒÑUžÓ‘r®ã€ÑVG7Ô*րUçT) yäˆ=V^ „¸™Oñc¾9îÜöåˆä9>À¤·"ý„z>¿[4âÜ*ή%Æ6Z”èÓȔâ}L=’Ž]´tûÞèm7CÊVŒ¼”Ó"nƱZˆp-O#⠂Mš¿É^‚7“>z\×Qä{ro©¯¾Ò֑̔{—óˆüÓÚÛëp–ä Íab߆ÅA4t~ZRã:â±®ÝdÔpóeØ7ªžŽm©öagfÔi®€6»$O +ƒäb•»“iT±ŠcTõQ¿ž¥‹qþä6¿ÛÕk²_ø‹=2+ Ì5sb(éº-õHòn¦bìýE63(• { ¶ KQ¿ïEÒô×S–>"t½øH ÝH†Â˜yM–zjŽÄÜö!&íS£íÃ÷ß% T©È=­ œÂ®'ïD(ÈašV!#X(mÓ®›dû2/pŸÕ†ŠÆعrgIÜx¤êë¯En[Ŏú±ª £žd@•V”“-æ‘u\»]­(ovH g€MÓ:t¬[¾Ž8wl涏½ªÊ'\<&!k" '€íÔÞ7~Aö/@i ¼ˆ‹wIî#³HòÝvL£=ŠÿنþÓð©#Å +ˆº9Y+è2ò(`RÝä,²‘p˜:À®Ç€8®Ü¨q#,34IÉ 94¼È¤z{#ÚÐÇ%¡|TQEíµÎS6º<Ü»¶‘º ³S’¢JÅ:~Ëܙ_♆*¼zé*D‘˜¶a2t;ýCª<4(á†uØF¦’ûf¾;•9˜ŒÄ~XçCÈþn‡8M°Cy^¦·”¯m Æùú×1o†Ìý—æÒêëº*ë(S¤t÷1¥¸Ê­£û ´ùžZœWù1K!Y²]ùsEè"›°Eñz¿–/Mý|?9ìT*Œû†ËúáƒcqíÉ¢#9ºý·.$G¿ÕbÛuÖÖÍ®—¯Wú½^`zV_a,£qÂWî+è9beƒš‚è|OVhk_ûàHºvh( ,©•Ûž˜T"icžIܤ>2· î,‹óK²ðE§°q£®1ðçæT¢ýRÎÊƙäÅŠnŸÞ™k&¢;PÍ~ÈÅ þ°—qõ‹÷€§P’"D4w¯«Úÿ6–ÏÂÆrV—mÑeX®7m.Í wÝu«c9¨ÄûE¿GtðuÍ&9ºûž~랥a"ÁÂû–]ð×îˆX·É†|+æ<Ê4b|$2ÚëBÆ´v’åÒ ëGs|!´wž‡Ç†gk§+jË`~ù´ +O/R¿µ\2nŽ×—¶ÎkD§`=-w{÷E×Þæ#*.ú(Ÿ³³„(;‘˜óÚôD–.¼*ÀO,Èv„€`7L½­—Ó©,Ö»!h—ï¾ó”ÛÒAƒá`‰áí3éæ|ûôIÎt!×uÖªláǛŸeÚ¡¾<流ë!æÝ=õ|K:tÓ«}ҒUïÍS_ ñ³V¿•Ö^µ^ÂBÞWÛ<ËOä9<¼Ò®ÿP$܆ñNϗÌIªž±:)êBkò-ú|)ï ¸f9Ë'j>8\Àzþ‹¸GX¡­ÜgsÞò;¾m#²©ä\ø㲛ÛiÝBÓ+MGéôÆQ Ú×*tEâ£ãúkÈíkQñ{šMÌ;Èì5q7j:}•7V +¸ò¢uèTßÁ1÷̙Ò-ô*vÞOñ¤E$çÛÆB6ÊéÄZ£*î%ðÕ5å½P¯’p±Å¦‹OL$·9®XQ6_^‘׳³Ø¼8x\”³_Êl]®÷՜Œ“t¤j$üŠªcÙ]6ìÑÐw«Â“zeóñ¦·yª’Cªð q'b?ãæ‚xÂp‹ëòð}½¶þ•qûÒt6n!œ_æImó+zÿ‹Üæ‰DJUõÄË֔9à½ì©&áCü[ùVñ¼ýf] +M¼,Üæö­˜Òó´Bvõ÷Ý'«7¹ÐDžNq°0?®ïgÖ]ñ”Â\·I{#,Í{eKűzœßÕ^4"JZÈg^×>íZI EhJy¿(˜ —ö2ÍLc’ªDI‚¶eÕ +mØ=͗HëvÉYËCø +SpqϨ¾ÒñяÌàq>SÀÍdYz÷͌4¦Õ\‰…1:QÅre«ô•„~¯»eÓØÒ ’®Ôëw¯Ñ³Tê*uµÍ³§â¶úÁÂ/Z¢[Êô!‚4ñ)›ìƒ ‚p£—uºš{ÓÞx4å’ù(ø«”)½ë˜{míLìé®á£ûìh“¸Üá]d©ÕϙKÊvB›µ&r½ð¤T׋Vûç‰n÷mÊØhæ~®wfÃ9 ›l¤ó¥O(¡ç[•]³á¹šŠFgIkðk"¹|Áי@ ¹FGé÷–=“ÜšD‘ˆâ•¤ûšy¿ž;Ä䇾 æyÿxWu$‰AíýÙ[&ïÐWF +ٟEHYÙk×÷é2]KŠ³’|:}„ë•¿¦h*Û¯ ­EY°Ñ×Cˊ?}§s.šàŵ½fèeA¨›tv$ä*À³¸'Ž©†æр|ŒÛ[Ÿé÷ ÷—:Öo19H6œS«J =g²Â™Ô;4Oßö¾Ü›¹¢0Þ5ÉÇW ~O´BïÎMaï÷£<õ²)uq%YÀ„ö¨|»öc\‡%hù͔å+'¢ÿ2K¼ +endstream +endobj +4125 0 obj << +/Type /FontDescriptor +/FontName /LHPKHM+NimbusSanL-Regu +/Flags 4 +/FontBBox [-174 -285 1001 953] +/Ascent 712 +/CapHeight 712 +/Descent -213 +/ItalicAngle 0 +/StemV 85 +/XHeight 523 +/CharSet (/C/O/T/a/b/c/d/e/eight/f/five/four/g/h/i/l/m/n/nine/o/one/p/parenleft/parenright/period/r/s/seven/six/slash/t/three/two/u/v/y/zero) +/FontFile 4124 0 R +>> endobj +4126 0 obj << +/Length1 1199 +/Length2 2227 +/Length3 0 +/Length 2969 +/Filter /FlateDecode +>> +stream +xÚmSy½>÷ûûï9ßsÎ÷wjµ‡§ž-a&W£ÆnPhãIbºêmi¼\&$ +åqà¢.О ’¸Ìt q>^t@ ±C4€AãÐf8c´àŒ6úé³q€ +…w d3 ¦r€É¼PÉõä±X ¤l90M98€*¨pñ̀=̊bC4:ÐòÞ¼U[GG÷·ƒÅb ¨Ÿàr X+8„ƒ ˜µM@á2A¶ pʂ¯•„§@܅¶-:—Ë°¨$P`ÓçPõ™ ×@[P,žI±‡C8ˆý 6H4e°˜†!L8‚½(D…˜”ïíQx,o&Æ7:ü 0!~Ûh 0A¢±h3 ÀH2Ý`!µW übÌ$&%6š³*‰Ác!*(ø!¢9¤pà²y`lôÿÿ¾!0€‘¹@H<Éov¤þ¸H\6 ø£õÑh €^ø~K™Œ¨ßîn¤P0°u!zû8é,Öÿ/O;;X@«‡15ô ͌ FÐ'ÖÄèOÖ_züÔâ»ÕƒýS+ú7åF&°?Zhù³­pÍÌ* õ}´µó»Á\ˆ Z¿Ç(m‚Là‡Yt¼þ…/:dæpä1ߕÑú! Є¸ ª0‹³  Dþ¿(R(ĈZ$îOÇ­à…ø‡îOø»-“Æ=Œá#Äq„"AŠÄ%ÓÌÎO¹)ßô€9Њ BL0`^tˆÂ9Á£|‡@&古x&¦@LàÉŒ(‰MùeX€É<6[ Ó÷—Äþ¼S!A‰  ’=]0Ù<1¸<ñ¿Ô¡7øШ~ƒ÷ô¤$Tî+²ÓS†¨mRçïRªïqùt%[>ãMDú6dnbšç'œÔÙCMÖq -' q'¯n/J-äi,YŸµüܺ»_{ŽbÈcY3ix¤ïÀ™{õZ¥s7Ñî$dø{8ؔxfçxíæX¶­Þt€¤GÙU6ç/s˜PªCÈí MÇ¯Y–W IHÃQB9ÖӪݣ»ûƒ¦×«$n+]Áƒ13$|kqÞ åŒF™Åú¦&ïÜ+Š°ŒÍqHÜh”ž>3 •¢%ä—UäÓ~hS%'\nD뽧¾ûz™Î +℧¥)]ªocpºù½:×FN6áaÍø©Àýã©¡å"ϧ„Ûân¨¢ò€V(ÖåIJûïn^½E9Sb\ƈvGZ Gö¦G­údù:í„M˜ÙžÈ3W§Da…vSÄÅ×:3Þ&Ö©}y&”›®Š¸Fâ¸Fmçý5ÍqšVºwíJ?örùJG;ÎèÅ`F©Qï?¿^Û˜B%…µ)ț6™›¿n̸þ‚áS4k›‡A\©k£MYÙ~y“my}¡¨w¼Ä¡ºŠÇ9·+ù‘j¸Ð÷.–Þt»3k{>¾ÆCŸ +,úµ6䝷¾ºVþpx„ý±VòqÏ]6ßfõvÁ=ÉI1(¶Òߎý sün«ÀÀú¦C敊CÖ !t™Ö»Œºõ®ºfÑBù9i0o.¥ÿBU°¼ä2ÔåÖ¯:*kŠDQÊ:RÓ*âÁôq …î;ù3¸¥È·.˜ömÏ Q…8^ÆlQudŸL<*¹uàޛves0êÛ&ÝRqanŠEйŸ {ÌÏÆ 6Ϙ—m5ˆäµx]vë“MîDÙÒ +Õ +ˆ[ª:r5G…éc!ÅS7JÅLЗ/?wÁ“Œï˜´—sÎú–4ðiùgËó"‡ÞIFúó‡ÆðÞqp?DW¬±=ôòÊ(—QHC¨T[3?êß$ +W<»ÿZI’pjsö4jy”ïµÝ¯D-V8užö"–mžäÍ!9¡Î·[íXÍOž iÔ|²p A:Ô êÜzÚqeïiÿwj±Œ«­ò(ë"ç̈Š$cL§sÌç£mGªPϸûŸL*£–R ü(ÊN÷~ÛÔUÿހhÃ;¢å›dþlɾ•ŠJç±u*U_W®s®Òu~›oüãµÅ>™=š.–ú­«ï‡è ¡eõ»¢³s¼Î=OÙ³o¸óøTY%fðƒò«æ¼ú*öUMôD{…vƒ>;¥.TÈïÛÓY*{% ޅ8sáÃ=ZÿÞWŕLj_"cř M®´#äÎó…SÕ·HÎ+€¥%~îTe¹Iæá´©>æ< éÇ/ê‰v,Á —Êûmß}oÝwݶƒ(Ÿx‰]š/ϊ™•¯û/º¿Á~ +endstream +endobj +4127 0 obj << +/Type /FontDescriptor +/FontName /AJQUXG+NimbusSanL-ReguItal +/Flags 4 +/FontBBox [-178 -284 1108 953] +/Ascent 712 +/CapHeight 712 +/Descent -213 +/ItalicAngle -12 +/StemV 88 +/XHeight 523 +/CharSet (/h/i/n/t/w) +/FontFile 4126 0 R +>> endobj +4128 0 obj << +/Length1 1626 +/Length2 15301 +/Length3 0 +/Length 16145 +/Filter /FlateDecode +>> +stream +xÚ­¸ct%\·%ÛvNl;©Ø¶ÛVŶmÛ¶];©'v=ïÛ·oûõ÷§ûþ8cœ½0×\k®½Ç‡‚DI•AØÌÁ(á`ïÊÀÂÈÌ P°²3qsQq°Spà‘cšYþÚ9à((DÆ®VöbÆ®@^€&Ð 4°²Xxxxà(¢Ž^ÎV–®juM::úÿ´ü0ñúÏßL+ {åß/î@[G; ½ë_ˆÿëDU àj ˜[Ù¢ŠJÚÒ +’jIu€$Ðèll Pr3±µ2ÈY™í]€4sg€í¿S{3«Zsaü‹%ì0¸8M­þ¦=MŽÿ¸èŽ@g;+—¿ßV. gc{׿3puXٛں™ýCà¯ÝÜá_„þFØýõýSrpqu1u¶rtü­ª$&ñož®–Æ®ÿÔv±úë8˜ÿ4s0uû§¥ùþÂüõº[Ù»\ž®ÿÔ2̬\m½þÖþ æèlõ/n.Vöÿɀà ´0v6³º¸ü…ù‹ýÏtþ³OÀÿÖ½±££­×¿²þõ¿8X¹ºmÍáXXÿÖ4uý[ÛÂÊŽéŸ]‘¶7w°0ÿÛnææø>w ó¿DýÏÎÐü%alæ`oë0šÃ1)8¸þ-  þ¿S™ñ¿Oäÿ‰ÿ[þo‘÷ÿMÜÿªÑÿv‰ÿ_ïó…–p³µU0¶û»ÿ~cc{Àßw øç¡q³ûÿ¤ÛYÙzýÿ%ý×hMà¿ÙŠ8ؚýWŸ´«ñߑÛ[ü•…™‘ùßF+ +O ™’•«©%ÀÜØöï¼þeW·7:ÛZÙÿêú¯‘X˜™ÿ‹OÍÒÊÔÆþ8þíڛýWú¥úy&Eq-qIºÿÃãú¯@¥¿Kàªæåø—ÛÿlEÞÁìþqðø0°prØØYþÞ½¿„x8™ýþ%ÿÄòŸgycWg+O€îß¾™YþÕýÿüüçIÿ¿ÀˆÛ›:˜ý³6ª®Æöf7íþq›º9;ÿø_—ÿo×ÿqþ×΁ž@S¸õS¾ëŒìL×ìü±1Ý¡ð±PÇòfµ’¢À:‡þ€Œˆ=žj£÷úPƖ9ÞÏN¯åsǏ_2´GX¶TýiÀëB?2šÁ"ÔmÊn.º£`&ƒrÄÌ ÍŸß?åv!t8™5Žög”U ÊÞ¡çºÙœa~?Ó’¹b?9"ù›¦7Åcö ´€ 5Ÿ_P&Ÿ>?QLŽößBþ§ˋ‡¥à3ÆöO='Iqõ2r~h6ý„|uçrQŸtsԑYeL4kíʒ7¯Ý¦ Èf¦«ÕbÜ_®¯{º·“OÕ֏±{*Sv«?]j”t‚hY&iNÈ"©„|UOxŽmu…Ÿ<~‚[àbæ`j€”a«i蠎´@<a †¨õdO˜ôægåH/ j4ñçPx0É:Šö> žòŠ„ñ\Ahgy¯ÝM ›@m”jU}ƒ¹%Žoé^uÙ¥ +ÏÈã•+àÙð¦¾Ù™0Ï/@ƒzàKL¢™ÔŠ«Ý3áŞ(}"-~ßÉçe¨[8Ý°†õ‚Þ³ÚXÁÈ<ÚIÓz°¨aØþâÇÿZýŽË8ý”àgé¢Ýñ§²(°š5Øð‘ùMœŸ°ÊQÙqš–Çb“ Ë ƒ–là$ÛµÀÓ:ˆ=¼•ºoEY<žžQp•žqFô“qS²‰ÖõMž]Ñj-µàdS-Ø+ȍ?»—`T1Ê¿Üiai§Eц0'êò؆±‡O¨Ã—3@ˆâ¡¥Æ2Ð ½7¦?'R튑@kqN+‘NhIEÈÇJŠÍà +Ö`;!ÃvákQ_Ê«}¤á;_‚õ' 31<¾XÆj iC#½%'õÔG¨×§ÁÜEЮ ¹.çÝæ°Cöý3ë?íOßvŸ@ô?uâ[}sêw͹$á§÷ª™ÄJF›²Ïn£-iC ?Íû'˜Ók¦ì²Êš•[o·¯YTñž§º(ÞØMk}ñ„lA™4£xÐyðh a/`vy"'æ­ ‡'Ц]U°y$Yãó Ò68?oà‘ uô‹¨n0¹ä9–ô‘<Šòx²=¨ÂîÁ¦ƒ:ØoçkKU…ê²}è¾6¯$|áô`햘ù%2ÝÏ}Ó×HgÿJ·t•™+?r€¯€^ ¼ñ„ì‹>C{ ¯0Y'PúÕØÚ]ï)9Ò#ÏKfaÑF‡I?hÙܙr ¸FÊs <`Úþ&¯èxe:ÍhŠ³¸xõ…€jã"«Òü¢ô Õísm•“4êÝ1'ºRĬ«1¦A~ +¦[i†H·°ã7hlîæSش׿®—u&;OnŽ>¥²S?M Fà-«Û'üÂäÛbXWjÛ ©oʨ_¤aUƒóör‚üŽ½ZŸž&C‰"t‹³1ú@2f,S®²ž·Ï^}66S ćß{À$±Ï”‰×6kA½„CiÜÈäVc1f¬Q³7FÌÑrïþêÌb¥K?MÀñX-Ž®0¦‡×|-¤jâ`Lz6]dC-SΨµZ GBëã»¼¿®[ü²)aės˜æ +Ãð#íë¡uikb]ö&¤þç£m%ÃJ¤@Û}=t³åÌýõD뷚¯Â‰SͪkNsýß ++¦Å0°L%¿ ?o5Síx¡ SFŠªË4†6¾q†æ °ª3á¿ Y>yà/~DÑykãœ@à&…vêe{rµKµ›z»FâªnláñƒÜŽÈÌŊ(a¸nÝ jÉBL.&WO½ÝC±Œ~¼…ÇJÍ®+ä%ÈmÇŽR%üâ~ČIƒ“·ÏDT5̢ÒhÀ®½äNé‵SÇ”£¢Î êb¯ˆ_õÀsñýñÝðV†ñ6·Þ÷b„šÊñ«o¢Ç©-ˆ­8º-/¢è§<¨+¸WéœTjñÞ"áÊï‰åY×y)!ˆ´üþ•l‡‚Ü̃¤ªdÜ4“)/üÛzÀGï‘b– +šFé)¹„„ƒÁ£Ð•ˆ:ušþéIòú£VÑWã€TŸ|•Z'’ë;1S-ˆ*83•1þæl&Pou¾¸Å‚[(5zf‰8Š„¡þÆß8kàØ +¿v­ÚF4L­ÌŽ>v¢:¥n¥í8^ØõÄÄÅ'àwˆ­]&3€%Â#Òü½0Yú°/í«­×U°C됁º7/Â+S£Ýd˜ŽI³i`Fu1?ۋ”dtÚò)[¢ éƒj‡œ¹©xõ«(ïÒ±ÈÇÕJ¶a#ÊUIüÅ^Œk‹Âοšû)KÕÂù«“"‰Å¡‰KüÚ~/×v³.+Åvלj¤x =Wël%÷Êù=ø¶ sfÿ…jH“ëÈ)o’zˆ†=§š~5~ÃÐ „ OË<±}†Ö‰-MÌ|Øú’}mMßù°rþïXL@ÿ” ÎöÊ"Šá^$[eËè4ñŽRbyëë¯S"L¦¾Ó¯hÙIÁxY:Å%k6Æ(ûÜn€´¾º;‚ ê˨¥\`ÓB6Š©ÂŒ‹u‰-B*eÎW‡fSöÑ@¡ìY|?Ŧösa,j *a‚íNÍߣœÊYÉú˜ý:†¢'7©|7} m¯@ÔÏË~6kGbäø–-%¿pK-•ª[ý÷PV@쨫 +²ˆXÈÌ>jùŽÈ2Ýw rôÇÛÕBRvT >k7ÎI.œÅ.y^Œ÷©:Ôo6ßÈèVš!åÚ%v¦CrJ'z#+iO%ljÖFX:Š.°Dû`>Üi™®Ì›4¾B2MêúDéEÑ.JR¯þ/ã#ˆ!;Sg`ÓZ¡‡Yr¿´pòƒô+!è÷™[F©(AÒoKñ㢲5s®!/éåصµ•¨ãñ®?ý+éÔ³óò-…¶%¦Wºl¥KÄc9vóuíqW< ¬hR g ԏgÛíµ¦¨¸AM!dE˜ Æ;É'¿QϊTû¬—*ùj\OP5·:€P §>[ø„Cê³Û1ZË©Â_?øjH´¨jÇáÈpülkÆâc‡A%s'î[‡V]GïW5·’º²3ýÍݞ–\´Z¡üik-ÞlÉÎÀ@ã–\4)ÿžu„Vçs‡'|ãݵ:ÍØ;ŀÿœc³1zLÌÅڋ kúzÝ)ƒþ󣤠°~ƂÁ70A¨ã²GJ1HPß¹6@&>¤z‚¾_Õ»8)DŒêþ'e˜ßˆAFÖ2ìà'X((XYÜ`À Š•J@HqepđÙ¤kÙÀ¼w„|ú‡ulËâÏú‡IˆÁlW +éªjbfdÚ%Άû ^UUÔO»~÷îà’È]pJ¡Q;C…c.û0ñ«…2¥3½>kÁ¹~–w†j‹&7OÂ7|o¶ä}’X¶RêE•c!›Žñݕj rP7´C´ %ºõÚ ¡{2 `ôdH–ÚÃj÷­>¬ß Å1,‚`}’M‹ÿL³‘»}}/³/É  n°`ŽpP¸0aúy…±Æ´!©Ø“Öjaòü1PX +«â>Ý›\P»Ç¯88óژ6$M´r_V͹`?%Þ]e”>Ю—¾Yùý›öµCžÿ-Øa{ù×zÙés oF»^8¯ ›aw(¦ˆM ë´ J§ Ñì¸lÑ*øÖ½]¤|>+¿¢`‚ªž´¼ÃWzÄ[éµNàõ¶M&u¦6Ȟ*Ԟ™¥éÔocU7ÈQ!=kÖ³Š[ ]2•9R%3ôãh:® :}©ÌÔ3å¶H±Ðõ¼· žÁ"•³»X(MÛõóÚÃs:¢ßïÇkmÝEºHËóíò^Vw8éG8™ÛE¨Sž !¡ÄŸµÓÀ‡S–à °o­oâ®4¯†WÜ õ»ïCÝe‰~$Ê&¤ïTç–0ÑÔ1§>íθòÁ–‡«ŽÍVêþ3涿Xæ€çJ@Ϭ¡´ÎsY€o_‹*ºÈá{ݓº« õ’-@œ鎿ݱ"ë&„×A^ϱ{Öi\²µ¯‹ëyçb„`ˆÞÁ¾¥­2Sÿ°+#:K¯$ÐÁGò{œïä"|¤jã@ÉCqj›x‹~pv YU÷+Ɠø0¤µÚÏãÜkÊís§¬K4ëˆú ÕleyÔGJ·SnW•cÿøÕÈü&•XW—Èžcæ}gµæ¬~5ÊéàÐåʑʀÓ.½`؋WS~/)¦ÜÕ±_©}FìMóã« Ê䊘Y1˜‡/]…Ò:-š¯OØßÁ_ü'ÊՕ…GÕ&Þ¬ê.ö\žBvxMò»k™ÑX²MBîoÒÏÜ£ÊËäfÈ]ɘ¸k«ùJµì‚ j÷F—Ï4«{ú™ÌòJvz=Ã¥ñ‡p. $A™o¿yq?{DÒ ÅWqȕ<{鯢‡Qjv¹<çß‹7I¢·š¥ôÜañ}-;pú2|žnD½ žJ4"âc‡Ó-% “¶A=dÀ˜ãV§sK§îSŒý¾˜¦ž°==dEˆ£PtqغèNE»ÃÞraïWAô£ðLÌ&šj*„ßûHÝm +'}=Êð¼K9L çyÑ°m¦†kô…„©ÝqZSWTrÚëŒxý.¥ÝÞ`%X‚÷Æööš„ÃáÄ|?'X®5y&Ñ +ãÜï&àÛÒ ÜÐ05öç]cÚ¤R¸û"7”úk¼2ûdhp‰žƒÐ¡-+™$ÒĈæSÊÃéÛ&µÏ×ÐLø”9*t:¯À•ÆԐI<ؖÇDz€ ä(}勤¥À8?ÿ‰j=£K‰Ö·íÎ/8÷Ÿè¢¢w_cÚ]¹”PqKìï)À°‹O.֏*"vI;×1œ8|€å£¡Xϯ¥T«t¿räJVñ÷ž«fšû žø¼ZV¯ Ý`˜|ºLÖ=Á-:ê„Ü%i¤ƒÑ!™D¥nªZ[#–Œéàòý’Ր"¸Ò‰ÜæŸWåÌ¢r{»¬=¿Is¥ô£)1B¼«@)˜.@ށ‹„–8ÅæòÖ¤gTÃøñÁˆömŏ¨È¾âïL”4ëL3n¬4œ")T@ÚÙtXLipÜ㚫 Œ¾…ÕNIׇ½šþù>sG_†Ûȶ.5õ„h–AIQ!BÎì-k1›ÞkÙ±úͽ¼¦Þ•Xû¬!v7ÝfW/ÍRڋµ•B‘”sLÅ\)S÷_Èaà.D‹ózÒüv҅nÇÙ2RÛG–dÓ¾šó  È(Z¬í%Xs}ùejò£üù— æ݄ U’º"=EOý\·´Š÷ZhȑluÍU©a=œ ¬vÊ¥ ‡ +îÁ5úò +'ÃzòËz5Ød +Æ7X +<äƒ_¬ÈT{ÔÄâCø½[õ;7{ˆ“’¥MdôĬ«-B:쎾¼â³jX3}2[ˆ{PIP5¨ëÈÅ;Áóú`hA_F +_±µÁEaÞfÐ'‘G ÞC.MíÉ êe + MíeH·®øÞ-W¬ó>À +`>’JV-LÎD˜h¿’‹ÐvÔï⒨®¥i Æ¸3´@%¡¯dV¶ ÿÞÞ³“µ^»Å<í=ó«^з5¶o뒥)öóýr³*U!Áþ˜dŸKwÙÿj"åòÚ>ÜÓz‚Œ ¡ŽÈî=5$ í½aïÛñØ÷#„¾~4DÐAj½t’ õrÿ~‚—'<€F%é,¿¶‚6ôÅÁ(Á I=³/’\Èc¶hJ",6ÞÉwâ¬U”§pmá‘TãXÛ!˜œ—Gx$ÖÁ +&ñìÙqøЎŽ/ˆþ ˆ@T[‘k²$‹éDp„ Sy9õ¨¸×Ü?O±~pùîa鸞4†‹pëÐý¨É?ìÔVœ¡ßxðü2j¦8ïd×GWd!6ôÐpëû«ëdîjÏ5y–Û…a<ŽõƩ狪k€‹öàûü¹Vó…´óºŠŽÐLÂùhÐ%yL['–¨J>37‘Yʕ…QNå-)Í¢I üüÅý\]›¥•¾¯!š·Äy/¤2Õi1ÎöãýpO›äìyWÀ +džA çðñ6îr;_Mµpt +Ȋ‡“¯$&R9“:ÍXê2âÅpP@“¢Lß.Û󃝆QU§4ò¬?ŠäÃ!<äYä¤ìj¸-5µúLåËmØöY^ÍỘüiv½©R©…ñı§†Ö÷5klHv:DúF;ñs–H9ßoÎådÖ4 &ûä% /[;2>'f5ªÖ~=…<:z?l4.ì1{yI˜+Ö}y”ԁ Æå S£ Imd•Úʺ¡gVÌÑSÜ8Ð濍^ZO¯&LÚ͸4Ñ}cÎr??Ùfj֛= ÂjÛ0ƒ>0êpÞÓiýµùeƒF„ЂHʼmK¶‡_±p½5ÅòûN«¢Gì6î7eáµNÚ–Ÿþ´“ÎýÞ7¹-¾iìËaʚˆ:Š§Å›Dä¢m@+;®¸q;;÷EÇÅÒºj$oњ‡Z²„ø1uI;ÆßG¾m—S“¢àÈÇnÈÛ±IÇæ=ÃL¯9ß +:HejÑú3+ÔÉÊÈÞ3ùA³œ+étœÂ dêÅb{ZðÓÖU‹Ð&ßOÈ8©:ÓCoÖ2§ÅùVC2bÊTnM©ÔܲKBzÄ ®ŸG„€JƒGUî¼4T?¢ËR@‰Ä,xO¿pcj•£DÕHÆ„û<Ù‹+ؘÅL–~ìôÎAór¢ã-А±Šó_j U}ð½Þ„÷ ÕÔRëÃĦ¼ˆµäÃã.­ 7÷©Fßâµ7à Ӟ<ƒÕìïõ9åí½Ø9k¦›ìâöoºá­_Z¬ ðw¯õÁfX?C"µkBxe|õn 8эõL8"ÞŽª¡Éñ]ˆÚ̘ˆp-–tË(nޝ+Ss_”Þ‘()‡z5ÒB4Æ笚ɕrDŠ ›.ÄH˜£|ȏWè3ì,ïÂäø/aés“Kêo—>Ço¢{=œäÒËpmQð¤å^«kX&¹„PR$fîI®¥óƒíbÉ(Y>fW¬ƒçÑr³@ĐŗƒñKúãîÖb['GÒ±U}ÄDq"oŸÔр_ 8ª­5©§ì(§:­m†·› òš„½sî1ùŒ T6-Kõû”@ÎB'žHC/¨]+”<†ó¨l‘±d$àÁН<‘¶Üj¦–KáP›ò€¶'áoñ˜ÀÕ ‹¾åÂtl†°ŽŒz²?¾nÎíÙx¢°ÑA‡÷`’PÉk'3°cèO^Aá}“§Ïï…5 )à¤âÂâÏ4 E*æZîÔàÇG¾Ó «DgúãÒ*VÞUˆ½“),ov£ÑËÉ#Ú$V¿u ìžTÖï6·(o¨lŽr•±1˜’Ø8=lЙ.¯Ãuvƒ¢k<^¥7ý§øû‡}½cÒQª©ÕÜ"K|˜çvjp’àÔ偕¸}§Äû0ܕ𡋾Q+mýO‹¢-Ä{· Ö=ô’”>›<ô-¹ç”_„F3#Ó.°Òâ&Èôø‰‡‚ocýAß=õ,+ªòÑÎPøÞ + E?›Qžü7<˜g5[‰ÅŒý¿?×4âdõX"ŽuCNҖðÄO·jÿ3¶ Á-9T)å +ȶÍGHlU¶¹)á«ä˜)Fú©óBiE;ëttNŒ€M/D^:¢Ôõ M^}‚ò>;.EØE“š&¸§Àa\|0G7€aÛn¥ïsLÏÆžB@û d> &­ï‘K1 Rõ’°U{Ýr¦ÍNã‘Tg7%ÌÊu_Éñúݟ +0PNò±ôKdI/Ø +áxÉ/ÝÀpÈfù¬ÞÀig»¿žÀJÉd^ø]’,Ó¢·äÒ|¹¨Ëâº7dM#õ˜ƒšøT8 ë;Ù+ÓW~˜”tÔ^Ïw3 Í']K¤ËGC…e¨”þ’QØFL¤éÑá(ÖÉë±öÞ}á(-ñ¸ì†1Ãcyäo}°®Oϔ³V}†¼ñ*PØ'†‹$ª¿Ý +GsÞP +**’k6Û±ˆªç¶SYÁí¦hpC"Ϭ¹w7HƒižT5"©š˜òm‚ÞþH#tµ+…4΋šWünó9`‘RZBl³÷‹1iâËæ©áæàyób«£Bf)Y•r:iÀhW‚äP) +ƒ&tÀ7v˜\ ³ØwÃù·· ÕûÕåt³XǬ¢É¡¦CYòa,ͨp)‰ Dæõmnìҗ7òè@Àú[ž\ž€^ÏSøe—À”žùî!’ªœ—ԐûßòÚ34öW@«Rqu~^’ÚÉÕ¶pò».Žgý°¯ƒ&¢´ù5̦=N·†K»¼Á‰TÂ4{Ȕ+Åeʚ»D›!K^hþÁ~LO$ÀH×qÿe¸¥86ißÓ÷Qƒ™gúƬÅ{×zd֛ƒT÷ÎR $,ÓÏÕÙ¦?·j?…f¾8ƒ\¼º 32þr­óeg(âãCIõÄK⼔¸ÚÇÐ@þ§èû>U‘Ãk~¸€ 'û|%y“úy2m¹,ÿX¹Šk¦¿§`Ðë©#*ø^”Ñ v)¹i(AßE OrñN5W5㛔ۂÆ%@_º¶]µg7?aW—-Tˆã zg +4¬DéOH®®ÿâƸ۔‘“Úq‡+:ó^4ì5ˆ>À„ÇÕÎÃBC‰Ýo³‡.‡~š¸âà weå,Õ#@V©|†¢ÕØW¾ðˆ®ù Dsý(>ÕBtľZ¬“çO (¹ƒÕ˜PøÑç0Z²×IáÍü‚%¥ª¾b?òB/Œˆ¼3!Ù¿J™„Ôå•N;ncpÏ;#nøÇê-Ñ-K93á—Ýññ*¾é_»Ù“8årÓBèQ #A·&S“Ò_«aõÇÖ¤Ù½o©ÆH”Ü7રCä̻璊&á³.bLý¿jàÖ ºŽô øêüöO!Å#7ÛØÙÀ*žùÕî/ÿ ƒ,¾«9Á\‚-# †·¥™xÏ¥ å—'¦­¥ùO'½¤§5\J¸Ÿ¡N(ÈßÄ0 Єï;Ò¿«[·|Æ/+ŽCy$6³·¦¦Àj„¯¸ìÃÞnñ(gg0«LÆÜ®Åc*|8±²ª#Ï|{‘<„e½Œ\­cTq׆ë‘0ËíeÌ +WF¹ +ßÒÒ7Nyw§l«íʆº“ÁÉÓ,hôlgµ4ª§å £ŠæWW‘úµéª¸‡=BO4¾}÷` ÂXä– †zbxؑ*ZÚD +®ðD…ÌdÖ³wï¦ÒêfxÂzÞU€/Ž½¯Ñm•ª ) ÈŠ˜<_©Ô¿Q~ӗ™"Â:&ôÌi–¸Ø ëoCízµ˜ëN{¨>¬÷À”ÊÞ[¥žéÍzÑZ²`0¿ZæÖ Mþ¼êÄY “Cußf¨W F‘Ð’¢‰q„È´)šd×ù”áƒc+`Ÿ¶ÕÀÐíZ%3£Vª¾ªƒ6Mn~4¦3²|ÖÂ<âí¦ØhŽxÃ'¿;šou2ÿ†‘ì»ñëåçjð6õȹÒÞiAù9‹´äS&n n¶Í­ÖŠµ¤tÐQ ò3aV2Du%:Ìêøƒ—+È”}҃uf}ÜõA3©× eFÍR; O“/õùONVsî*O–ʇÜÃ…hû±ñ1…nâ¤U]“Þ +0@BAóˆ^rý{x–éÀÆÙæb׬íÛÉC„ðõ+H߈LÏCT#uÑ®êÓ©ê8øo¨5Ððµlâë 9veŸY&4±‚!—o9œ#-9ÉÔôÐóf>Ú،àO|¯¤™!FA|Ilq8¶‹Ÿ0æëÛ§fÛgOkw6¤Š¹[Þi'Úõå’*§Œ§ÓrÊílkóB‰#5£zl¿xpûEac•”LîÕZ¸¢-¯Î¡VÈºE¨LCZ(>²0éaèýªËZ¡ÎuÏ{p¦±Þ¯#³EÞMŒmßÅã¨i”nû…л¸G" IIêÜ€5m¤´× +ô”ÌNgH´°b p?×l³o‚žb^‘úӏÚ-Kͯ™ŠÑnM¥à¤Xڋ/Æë6ï,Ò´îP|ý‚B#æ‚WaœY܎!„H4ÓÀÜÛujÕlŒÇÇã\Å.ÐJ IïÔ4 †¸·ÞÔ¦™ >HóËz4Uǖjhå¼ó‡j!q Ô¯ü^t€睇Z5÷Ãւ;ùñþFBO "”RWö…~°uѵAЪKélú +aŒHq‘U|ÿ»õ|º¶A´óçPϯÇÐÌnƒ—PõäÉûg¯B7ïžíJ¹å6Äý¾Ý‰oÖi2×;–×\Læ¡àV¿OVäÊSñzz“’g° ¼3 ûàÌxV4‘?ŒUº=ÿi8GÞà*Ì<€)4Áˌ·V½S³´$?lA“ËÛ¸´Z …O!°‹`¨rf›Î¯róÃ`N{&êHfH «Yâ¨PE-RêÍHDǙƒA–´i£UÇbÛTµÒ™¡ó!˞a·ðÄfP*f}Kô€PáÄy疎49|Î^>6¯!! vûÁZVî60œZcؐÂI½–½˜ð"2÷ؚßøu(1¾CÈ]q Ü¯Æ .ãòÐä Ã3p}HŠLÂñ'è¡£üyp…@uknèDޚ}GwX¦Æ‚t„¥„üôMZææ£*ºQîyªê­´Jÿ›õ`Í—ýQ´x"¨B*Yv%4*·Š½VÍ|\ïžW5¦P™~ ±i©\4}ëd'ä3†èþ †”-Ôsl™ÃÞDúDwiF¶ºÕ jg6¿|þÓ"|a.­“ÞÞºOìÉTÚûËR߯mDØgë·6AWØulh̏cDEÜQ‰´n‰]64ê¾íßf¸LŸãNrr#ëÞR€Šz{ðª¢Ù– Ek¸Žæ»E©9‰´'eôd¨ƒ\Ô~yFz—äi÷ý­Ò®ðý8EèÄ.Ïê]ÒdzÔ- Ö1„Yaäîn +`Ï$•Î»ÛETfq~²rO°áe$Ç&¨ÛÖÍþÊx|?%}ö7I4U}q´ÉF„6 ’®òèÂ"¡þDˆ|UuàË=>¶ŠJ)¾ã-¡¡G‚“£\¿+Ù$Ã'ÁC60m–uõ&ÌöDs +o i‘Ó7ê®Ä¶U¯2e\…l+³x‘hË7Ë©0j%Èþj¦Š¶lGéåÉUÆ"Çl5þ> ¤Ë'Cþ­Ï '»p÷Œt”úˆR+ÈŒõü­å‹#—ø >F°ÕÅÿì°¡…Wã¦U{Àd[p!úg߶-\ DÔ¹¿?wG%%øí¿Ø!Î|svr–‹oAwÕ%¨ìLÇÁ¸®¹s%ÝþƒmZj«SšÿUàuž^P|‰j#æņ+f՜‰Ûq,/¹Í;󡪭%l³¹C^œ.ÕÒÙ$ž·U DqŠì葒ÜÙu—·Ïք›Bùzç(Y4¨\WGy®àT`“ªÊ02›Èf£K—\„ûåH±ù¦M©´TïœQ`™'÷g¹À(ybpg ùŒ­‹§pÞ³Ò'6ÅØRgGá~¡‡NBdŽDÓïC;QAP¢íÿ¦F1>}}÷KT]«Ó²;ÎC1~= eŽÑ¦8Oܳ +ÜÒfËð*AÄ؝‚¹?â°¼ oä¼Rn ÿáXº¯@2œÛV4åËäcgOÛ4–>½Ö®}C}vªZÎ+ÍtjUn°ò‰mÉôgŒ|©`¾A¨TX<×;Áx)ý;lAê¨ä%¢8£3glGcA¦ú9v6QX쫃Y é5úµ"« ¦y»0Ì 9~:—Ý›iD EÔñ§–>Q‘|L׍œR•IêÔt[]âñ´E¬1¼J2Om’j=4Ÿ†U¾ƒ™aX–‚~®#ƒíÛ9}0=Yb»3†ŽŠ‚p_;ÿN[™Žl¢½GuHRçâ‚>|G‹”fÕó·Pïô5JÒë*MRg±òdz’>J Y¨;¹ç4ø¬Á‹ ï:iBðâHEtâƒPr™”,ªñ=3P«Qˆê¡0³­lÅDV¾Î¼£M7+-ŽR×ÇNlX2ê«Iz‘ÿ +}$^ÿmâ}¹<5o/¬Ú÷ÃÀþeIÉâ<ŽæÙ,~kŸÝƒÉaÓT¬ ÷>hóÕ„ $H*Ë t3ë8nJ_Ec^XSóRrÿêj¦2ícŸj>üÀêí™=8§xÝvÀKbëüD„?|7Ƥn-vk4g³(HôÃNõݙ"C€UsÖ28ԉˆÞjyÝ;bÔnj>kÍò²R8•|¿ºwÇd}é*¡å4ºŽlã&ËmFñ<ñ +2èÂ9úPJ2ÝÿٗA’ýÓŸˆÃC£ó´5Dº˜¼(: 2¹¶ÙžÂÙî0ž\•‰ ¥±ÂY§EWL·â{lÂ:-eypNƒ(LjKf‡âƒ¦ãĹ ¹,ӛM&­ÆýN0Á9=<„˽Ž3W%Ö:³Æ¸o}Q¾ÖÈo–÷öÁŒۄ„xߖ=CįÒ5¯aæqñ‰ÂSp‘%`5^……'Tµ©e¿Ùµ¹Æ(¦ÎûÛ«ê‘è¯éž,!l±  +Õw$îFÓÊ°«|\ö/Ù¼>ö 2#=ôÈé͂ôë·§‹r<Ä­}éöõ˜@ž>7Ϲ/™燛 ܳR}Ù·+qÉØ_òö³ižúj;ӊàNõÍՍÖýÁš$ÇwlƒÞ,2{HÙê··åFW›è^ ¾¤ &Æ#IÅR²îqˆ2~˜æ R È\æR×}‚Ó£éZ}·R2«,ø£³}õk¡ËBT{–ubkÜÆyIÿé×ÚCGß | Ûðôžª6>z¥ê¦~¥•±!ŸaIBç#OAôF¢)§óÛÏ~‚‚ܠߧ­LoÙ?b ²Ìq°© ÏÇˏŒÜ¼;É<¦¢2#S7c„,fKœ%WºfåeO­³N?K¬EÀ]_6 ’[9Iè.m¨èög 2G& k‹øIFËLi-–Ë^ÞÀCλ`wxE¿,%`‰nˆæ4_ë«F«¡ˆsÑÚc®{O6Þq’á.Nšà}2|Ù¼•¶äÂ?xҝ~- ±‚7L›PÍ µDŠ­ÎØ!˜Õ¼[¬›Žòé™ Ômäùú¸=ԟAl¤Uu’¹$È×\…5³}=?":Ô0'YÉZÏkÄÝc°¹±bÊõ©$¤€Æ)Ùöt›MøJ5‚$r? ¯ˆ^§[vx…Ô‘âY…*_½ôR My58øán¾¥5Ì :*'ˎí/øô÷öú®iÒ­Á¦ƒÃß°¥…åSs<’¨uR>– +¯oŒ&-¦œæòûxßjmßзˆÙŒmxUâDô}ç?®0ÚÞØ5O‚·´fïA_„ãú¾¥]"uÓ5ƒg·T‹6*Îöä~œ#¯Ž¿„’ˆ<µ¾Ã{[W/ôcŸM€ÿ{*EºÀ©ô¸}’ò /›gÀcƒ8§ì4I4àÆ&w<þˆá`íêH¯²?œ-6TtZ‘ŒiZ~¤øMZí}öåÚ'º¾£ËEWÒ=e츆æw\Ù ƒ)×3¦h!]ð-‡…zî6Ǿ`:ÎÂjâ]%š`- ñ‰.g[ŽOÔО¨„¡—‘4é ›ð÷§¿X¸\’ZéΆ5 , ²&r7 ‡nY¬k÷O¨ùæ‚CÊ:Ê6[EŠî7«¸t²1äŽ;]ÕÚÖ¢ñ4^(;}4nEK¯dÓEŸpZöžaw«”Ém¸Ô£B#¹ ·±¥^LrÇÕD„¤ŠÂ{ +®ãòFÙdьS¡ÞÀ\Q*œ Žœ'¡-².jn‘þ'‡ -ç:¹Ló‚?ÌVÉ¦Ù’^Ž.‹BW¬Z= +î}S`¸…ˆwç:БI¿®Œ2ºc²¾,¢ñX)„õÐè mø Õ…ÆVxô¤³k0'g¡Îœ­OQUzµP!KL‹åÅ?ŠÁ‡%®éídúQ²{˜{ïãcvÒ!ÍòaÙçƐn?믖%@\Õu¦øó!P£­7Gþü!ªø¹ns®$›ô$´Ô×_R#g­PRike'¢µ­Å;+kô1eßä#Þ'ӛ⍄ˆ,È#õèi3«6è\¦p¦L/ÄíðÕ Ëž¶h$Mæé{Sax˜žâ%ÌD(÷â£õ€ÑqçvyAÍ†[hÒ»ìH¡Ú„»“ÿµ{0Ib“ä~Rž1‰A¹]«#‡Ì[d·­šî+jûƒj8m{†æµ–(ðÔ8B<2Ê{Au«$5©PïÿÅÍ˔è-POô¥ßì )°ÒòkR¯Ëî°*æTå¯ óÓdôîBÄßs´I,÷èñš¨<QՅ–dÐéz÷/ó•3–yþ…ºË$¨îP9×£QŠ!¬šÀQ¹nÂזÑÅÙî6K˜ÿJÄS!9¦zÿË´ÃJy4ž¡¤%QÕöwndý{T)ÅøY‹FbœTÈݗŒs-%Dëªd¬§»8¢[Ⳝ·^!Ê-·TW R‹6|dDayˆ˜™[2÷¹ü™šf ²¸‹ÝøV;ÜÒÕ`ÁˆhXÕ쳇†}05͖:WbŸ#óä{÷ÓoóBíIéV),ÔleYhé9s–EšÚ +DæìÐÓQL"3Íòµ¯Gj'!õg}ø?„ú‡Ê]GËb£µý^üeÚD+÷K¦E~XïÕßh?>ÕpcÉÀ­bhŝ±P.£È ¸Év •Ø›œˆ·ñnY«Deƒ<x‡>‹‡j—b¿ vHŸmkr¯ pû=!ª:±¿/9# 4çñþà\ªvRÏ•T}2³¼½Àîí-O¡Ã!$èo™+Ýg ˜ªh¶>$˜ãøÅ“Ûʘ!²¯Äc =Fy÷M‡JG\P¡jø…ù¼_âz/Ñ8Áþá0ÙXàÀMŒÈÈøåa8Qp…Íùº]yõi”þòa»}»ÐjÃΓ…=™±a2%\Š¼üˆm“(®¯–R€ÙÉeʧã&ŽŸpûå~1.A͆‰V9'¨1+òΒ!$"G›L8Oìà÷“‚ê¶O—Нô±¼{9ú¤ß¸è(î;¡gÄõ7_ªôtsEnY±lYRTýMëx©€ÊÊ +Žã¡Œ(îþ•PÁÁ¥0âí8 ]ò;È$Ù&3ÇÎø}Ó0[¡ýdŠL³súîৠºy”3Ýó•¡À>æô´Ëüþo’«ÌLUSõäaú9*·ø¬ó[S + æñ2é¬ý‚Ú¶ÑÕ@kÓ áÓô7q­„ÎÓý4žü}2"ÃÕ¯q£Í/— +à'½¡Žu8» ÜewœÅu_.ô¥%7"º2ÿÄ ®öî ê 1«üåYو2a“ÉQ}Å[Öïû?©‚i½ÁÞ®Mîrxº3œÒò3´ÂM*ݜHí§ÃAzJÇÏFö¿s‡1ØÛÒ¥x÷M¾q¥w‹ñé£êtbù•˜`M†I +M~·Šù¨iÅüôEi»%~ðˆÜæŸG+Ü7@&ëûpoÜ%zã×úV7Ús£é µ$†™!î,ÑB)ÂÉ28(O÷¾po‘Ëþ1ƒTŸ172(0IéàŒmöˆ"JeºØ·Øc˜¾Ž [>Û:q’·ùÌóp úÂ2@)=©]lm‘º&\àÂüÍÒ¯ĔV[ð0”ÑóÓeBª'€u_ø×ÞÚÍ÷ /Ӆ¨=­ +`ì¾ÅGjÿoV¿"¤kIîhhóΧۙ­ Îj;k7éüD¾ôE2mB?êµvöè~3ãR0~˅E™ÂÌûz(jÉÐ ¢¹T_EúˆÒ¬DØð Ú©<~”g†ä›0isÞx®9BÍ..>¯!£’bµB‰b™ÐV2eƒA­ˆã@ÛIr°b±±KR_Bšö·0_½€ñ½_ÕÊkÄ2Љ¼åÖjˆÙDp\Â^‹B£?‚NÞ²¶…OR¾¬ ¨c«îGÈq$ɼ ¥ÝYeævmMNIPËOÜõ$†iô¯˜_+w¢S<"Ë;I§tUùn/ M¸'y[iÚ¨m3)+™óE˃2_¦ß©D>§’]Íâ¾YŘa:”ÏѪHQ»„Jfû½2žgûŸ:TŽûÞàh"d{v1Ð]™ÿü݁7€•ß°E2BýZžÊ6A©kY®ü,?ò8?’D½¹è ?üˆ®^©¶×620—'³ÀõŠË wwÂ}¤é²óýÇD‘bͯ‹Ô|]íí­~ViÏâøÃ"†©Q©óxÖÙfé٘ҝõ¥e„ ^_2 ZZÐ@k® M\Öზ;bVz_¶&‹¡[]éL ;ÁTÛPÖ`‚ÎØwvÒ2p"ËDÄâylyԍBï’v#™¢®tÂ8Ôéö©jôã¸ÁôßƌIŒÈ«‘QQh΋‰@#˜±î ¾B¦»ÖD¥€Ç­‡ïI#UúÙ[©ï0Ï=é PPúHŸ¬' +«KV´Ýëف¶å©N†žôG¿n <<7†YR +2àVé ‰ùº¹_x" qôÌë̑'âÚﱿáÂv¹*¯9G¬W +S¸]Þ1ï‘P:†db8Ëý›îê"5 àšú³©7X¬ã‰É²ßnš§Ý[Ù&èÒö•½Ž+Æèt„ðGöì—Àª¿ñ©œ?M.¼pED1¤5µ„¨rgŒí¸ðµÝhÔ7WˆÊ»X1RŠ­æܯÐS¯"%xx®Ju¼ðPÈVþNaVcû•tÓДàAŸhÒ kPîNJZ$8Kpʼnʧ9Ý•¢õ:Â.&ø“k›n±ž@!Bú8ú4ú=\ÒøÔÿ'®ŒÔåR¢;i8š\O7ÙSü‹(=`gbgeíW»ˆÑóBWٚ™7c;Ôÿ.¶P +endstream +endobj +4129 0 obj << +/Type /FontDescriptor +/FontName /OEXEGJ+NimbusRomNo9L-Medi +/Flags 4 +/FontBBox [-168 -341 1000 960] +/Ascent 690 +/CapHeight 690 +/Descent -209 +/ItalicAngle 0 +/StemV 140 +/XHeight 461 +/CharSet (/A/B/C/D/E/F/G/H/I/L/M/N/O/P/Q/R/S/T/U/V/W/X/a/b/c/colon/comma/d/e/eight/endash/f/fi/five/four/g/h/hyphen/i/k/l/m/n/nine/o/one/p/parenleft/parenright/period/q/r/s/seven/six/t/three/two/u/v/w/x/y/z/zero) +/FontFile 4128 0 R +>> endobj +4130 0 obj << +/Length1 1630 +/Length2 20369 +/Length3 0 +/Length 21212 +/Filter /FlateDecode +>> +stream +xÚ¬¸ctem·&œ¤bT’Š½c۶특“ìTl[Û¶m'Û¨ØVÅþêyß>}zœ¯ûO÷ù±ÆX÷Ä5qÍ{Ž½9±’*½°©­1PÂÖƉž™‰ ²6vvT±µV°å–£Wš;þÊÙáÉÉE€FN [1#' @h +šXXÌÜÜÜðäQ[;w¹…€J]E“š––î?%ÿ˜ŒÝÿCó×Ódn øûâ´²µ³Ú8ý…ø¿vTN@€È +UTҒVPI*¨$6@#+€’³±È 2Ú8©f¶«&¶6¦ Jsdø‹%ì08ÚM@݀n&@»Tt; ƒ5ÈÑñï;ä0w0²qúÛ'[ÈÆÄÊÙôŸþÊÍlÿ•ƒí_ 뿺¿`J¶ŽNŽ& ;'ÀߨJbÿÎÓÉÂÈéŸØŽ ¿j€­Ù_KS[çJú—î/Ì_­“ÈÆàtsú'–1` +r´³2rÿû/˜è_i8;‚lÌÿ3:€ÐÜÈÁÔ +èèøæ/ö?ÝùÏ:ÿKõFvvVîÿò¶ý—ÕÿÌää´2c€gfùÓÄéols <ã?³"mcf `fú·ÜÔÙî?t.@‡5ˆêŸ™¡þ›„‘©­•;ÀhϨ`ëô7$€êÿŽe†ÿ>’ÿ(þo!ø¿…Þÿ7rÿ+GÿË%þ½ÏÿZÂÙÊJÁÈúïü{Çþ.#Àß=ü³h¬Œþ>FÖ +÷ÿ“×µÖþ;Ýÿ˜´“Ñ߶ۘÿ¥†‰éßB£È hªr2±˜YýíÙ¿äê6¦@+ ð/·ÿj+€ž™‰é¿èÔ,@&?lþ!ýß* é­à/]ÿʟQü»¶¤”0íÿfÁþËPéï 8©¹ÛýÍíT#okú?ÿÀˆˆØº<é™9¸ô,\Ìïß߄¸Yؼÿ7!ÿÄüŸgy#'@çoÝLÌÿªþ<ÿyÒû/0â6&¶¦ÿŒŽª“‘éßiûŸ‚Ô&ÎIþ×ø[õœÿ5÷@ Ð~uÉք7È25#Í©+ghBL§¿—ùËP°]IƒZa¾_µmojØ6w…á[M0CãÏG›ûâ©Ýû¾ ÍÁH/¦eO2ð2ߛ”º/uƒ¢ƒ“ö €Q¿)íL3ÒójAn R›ƒIã`gBYE¿ø š`ªƒÕöê‘ڏÔ%ߝìÁIJ} F'J#طڂÓ3Š„ãÇʁÑá¡Áž¨¾}<Úì8r^#,Ÿ¤SâD'wC‡»“¨NÇÊÅÌÍjÔuW¼×%g"²ûèm4æ´ VBóOað=&¡%ãY×ËЄh–Âx:¢1Ñi5ýºÎ%鳎ßçõ<©?2V¸£A‡K’©¤…웨TBR Ú!q¦RL\(iÊZüӜlu¸‚äâ_#„jýFËw„Š¢ô;œ¼ aù»ÁªÔRÕe)Ññƒ¾ÐG1º†ßÙó1 iY†ÐœE>À¼¨”±E îòáB$o4bŠ”OZVÎ ­BÁ¦6Ew¡Ö¸Ê^¾à„¢JmX7ñDJçßzÝ&é·ôètu§Š³ Í Nõ7ÊïÀº7 iIu_€•Ê D+äú°%iŸ½]0®ll¤Ó‰8ÖÝ®ÀËlIÎè çØMä%È<\±aîR¸ªç%!…¸…ÿø:=XûMfüހќÉêD¦ú;\=€·C;[Ǭþ)/\Ü"ÆxeÇWîmrFôBÃ"±Âu=·Í.‚‚ÜnÎËÅ%c167§ +ƒt¯‹pñ=ȹ·É3 Kk¶H×®!Ín}Ú:s-9Ö¢ÐøLjI5f2$8šÚ¤@—r“ ^™[Ž‹›ÚÍ¹Låq[ ¹f$¯¬mO•¤)iÅ÷A_©ú"¹,±*vkkÿRƒ`·:G ”·@;tæû|%Va0%@3÷Ýw1ä[á‹Bͧ*4¨pV¸© +¶APö®²4„i®ÂoÈ֚‹‡xEúܪg±ýK6VG7&ÛN¤°ûŸ˜5s>KZ8såB#¦Ï…¾5iàWSñˆ ƒ×úuAKi¿æ“å¢^£Ë+Å°9«?Õ [Ë$¾7 ¾žW-Ž­¿ö_ŸÊS;EÁs ¯ÚŽqAM¢''eùŠ×jH²O‘&ûnšbÔ³ÎpAª”±Ÿ{w¶U·2O_ÎR)â¿Éϧ~¬×D‡ÌŒVëÿ$Jü(¦5ͅŽ‚m•àñt¿ãxÀ‰üÐ3Ѕ³_7ª{ À»Ù¦‹ë“>ë3é5›ìáóÿtÈWmntí—1f`sÜÁúrLOHÜN’ŽŽRñBl/Jƒ[r¨]©²`ð4<ȦR d°j^/ '6®-Ža×&÷ãú¥JïžåÀÕ® $ëm-»ctáØZ´h´Ó)ýuÇw’߁]† ø ΟÎXD>£7ö7-ùxŒJkP®ÓÀ€ +Æ ô€0MË5…|7Œ¡±ËÓQ’VòŸÖj¡µ¶G4“ŸùO_»Fº,l-Ã`~í9T¬„¼Eך!$ìz£^B +æÔU­€)¹ò ¦/¶lß Ê>½F{c.^ö°¼¿R%g@o4@s³3qJ±o‚Ô¥¹n’AGÚŒöç(á ÷²i߃ßuÍ>‡UTÀ³m"æôÆ %ôú¯:BŸ,U +7Ù-/¿¶c˜k±À7Þî•*ÈnÛñÒD›þv:2mvûvšÎU %ôvÓÚPösŽòçmWð–hg«ÚB ‹üÙ ê´-©.óË,nMAX4Ê=jòÕ²ö#T}Ù¨E +*±îh šƒ@Årt4Hûøþ0>Í¥SÞø`4oTDݖàÈGTÎ7 wè6ÉÜ“=¿Û¾Äw8¾óìy.í‹@è†òo9®^ÏÁÔJÙÇÆòñb`åVœ +-ß9iqC÷Ç¿55!12“4QºÊ8U0Ï;cþ &¾0ã~Æš¶«AÍyVç~·cú>NÕË“çeôÛƂ#Ìã¦ôeÂås w5UÊ_‘p×"Í`ÂÑ1Ë£Á< 6Ù,¤ÁBhފœãg>âô»ÃN[™äÇx%’ í6ê/+×ݹ° Y¤ù³L)'ŸE=ˆMÊå¿{ª}"ª°ÉғB­_ú®ÎMh‰(~{Ñ Rs ­ş©µä7‘SÎr6)ñŸÊŠtelá½A”2E`øâO2|àß92;Œ#WB"èðùnäjN$v3 XûN†îØWäÍŠNâf¯Ï:%àÜᤱzh;BLºóóíg®lRY¿5`¡ø­l1­ŒQyÐB"Ú? +´A‰Ôžý)ƒ•`s-žžÌ‰ %fp~y¸IÖa) b³…¹âø¦Ê—oÙ7/‰¬[ÈxڞÐK›xW“Õ ôÿ–$¹!.x‰–gn,²Ë| Ýˆš"g,/ÿÕKMm×Jtʛ…*+੒Õ^4™XŽ#u®8!òzšþ6|_y„Ü>^ô×/:9ç&¿RâbæÙúÌ/ÆÎ1ÿZN5=ƒ4s‡CbÆÇðAtBkö²žXbO¶7Nك²5€õ^‡Mï-¢úq‡ª÷,a7Wš}·Ó¬çÚ´í‹s{Žïøóv”%hွó²_ä-\Ҁ«%ô´ár‰n;=U+ÞÌJ¼ŒEH°°ˆA#N{ñ³¬0_¨çº~’íܖüìbÿ(Ӂc1Ú5ýõ‚¿I¬,´=kÍ3߉Èl)ÐV]ó.ˆ†ßa¨^ž3ʐÇç*f`ØXà9¼BÈÂí§E ËEÈjÏÎB'3œâ{kÒ þçìÈ |ö¾Ð–?VˆNً²\½z[!¿sBŒ”DÐë|p0Э$oS5f b_-ܸò cBMŸ†ä"‘ûY=x9)–9¢‰:¤À‹š#jì«ÂL˽Q“+*±ÃBú>Ielª®d}ÉMP 3Äûy9¢Ù[°¨~­·ÉÕ5Áñu@7Z9äá›iðßUmÐOãp3—j³_ä›fD`:öuÛä­óÛñ z+âß­Á•†ÙùÎ[—#ùH=­5bâäþt,Å´¦…t‰vfóðÅLD‹§ñi9ÝN]w¤ïÿ)]6Û=©Uvç"HnVR„VÜG¤Ñl…À:ñÓrË£ÝÈ«éø>üô¦IÊY74ä€Lo‰Ò8æNÅM{Þ#= ›¦x¹²V¿x…¦ [׸•V>§¸²tÄ¼‘7Î\Ž/{Mâ›ôÆ"oñم¤8’%‘^‘¾ sdÁÚ¥ýÒIíþŸPúººÔ´ð½iwθPÀþõ,hp»·é[¨3nšÛnóɹª–»nmh C}DfZó|š«²qaPB†Ç +J3<âð3ã؏qâý%ÑÀIŸVœçwەo¾Ü9™× IA|éõà}%ÐÆX[0G4 ìIeR“µ¾½:ÑádªO¤žÇß÷8»„ƒ5¶~¬å.1·–?YèWžv tfŸ*vG¬¼1iùÁOð|֝t ûP±Ó¶_(9µ&oŒ—0ð­zόüÍ(feã¼·pH¿KtÜ=_‹M !/­32oê1o³uþÜ×'}˜ü=ΝÃ÷õÔÆ:zÞa‹ÖnlåyÃ%`þ »+úI +ô¶nÌM»T™ïH­.ô“,’ÁkœsÖ¬œ´n]c¨AÄñŽ(LŠþºtÖ!ÅÔÕAUk´X‚Ô-†=uÝÞ£'áäÀØ£Dý á­qÑˑ>Oa`Cäö%B‰—~®CE«¡„'”JÓ¼ÔHs€‚YHp›óÊìZFD]8æ ›hü $QÈAZ•K·Üµ÷'R{W1"W睱‰³;ï2^CÞÁGò¦Á;÷_ºJ|¹¨Åï;å0õ }}ÿҞ?"L¯Mþ{"…¾?ü1Œ©µ|¸ó"s¢… Ý *õ¦B_ߤœ«Ê7Ǻ —E æ1DtÓ÷ +üÌÆÝJa†j©7QÌBsD¥¦ö/bW"£ ÷ºYâÅ)­_YcSΤ uýM4•+£\ÚØ·Õ£Š2¡´§à9ÖM ý‰¾J\Mãn©û—°\°NNGñ{‚ÁÇ[œµ€«Ä5Ó8QŸx$ƒÆ9­ +ò×#:󌫀lؾZh­NXMÆKÃ7ð¯xCµÒò›<ÑÃgraqydÊnÞ£•{Úô|¼„©9É ç „"‡Âϊ·ŠéÞ2¯}%žŠRžûS¡m§´NŸz»+F¯AÙ¦Ãå™rÎKI–ºéùgÖ?§ýÊÌjôdÜÀuäLö’6}ä"w£™ØѬ0L7Úfw÷…_K§˜Û9》l—úMVàKAä6sÔò_óÆ؇lVÍ&É Ó¿DµJö–çˆMrâ]fx]Q™ºYƗ ciéðiur4Oœ7ό9Ò ºß—tŸs¦ÈZ ?Ÿ¨ì pjöaÞ9É Úf¬³|2¦8.MÕTšÇ÷¹ÙœO”ã´HÀ¦9¢wîÀa[.è>9MÀ°Á7|ëØ~pEɀ;‹‰Øž´Û‰â«iƒ_ÅûÌïL<ÛëŠÝ^ŸI`5X)üž ¸áíeat´Íoó¸õ“$ ‘"L`p9ün„`¡u¹% +þ´.,ºzEԂê¹6.¯Em9ž‹xqçlÜ­ê"Â&.±¿-XݯÒâ_èe€*œ,\]±Ñ µÚnc°öBíT;]C®‰!r’ÊãWŽþ™1|¼¯ÈÛË/E7wj¯ÿMÿ.¼Ýø“äX‚øû µâšYŒÉM3{¾e¾ñ‹·&òÊzù%RplW{ÙÇU¤òËkÙÅÉa»­dïY׺åðZyc’ó7÷¢þ ¹ßÚ“ kª˜mÞ¼¨ +ËSHx²Îä¼ÀûªNã¢èH’ŸîÐ;{äù‘¿dÐ +ų9HYQíÊbjÐñü÷³ Øïññ®$+`' Ž¬}Ø@ç³hj…ɸU;D‚ª»ÔY öæÞ9”™ZB +PˆÜ_|ùº–pà |S8—™IÀ4Xc»¡ÅóBóüžî¯Ó0‰áöGÁq~´Ñ¬»ô‚JB/ÍÁÜW'à…,:‹yÎØgAJ€r+ñJӟVàÚ¾_þÁ‘é– íé…ߌ*”„ï¶Jq ^©SÂDsŀ3}ʍÙ)¢Ã² êÃ+is<µGA2 .Ó1>ãù2rñÄæ:gé:ۜ/o Ô;WÈ55Ìw³NÕ™Ý Ü £²¶úCUNfQ…1: #aöËK\Å0Ep‹{rßõ¸‡¼ãbQŠdâÊ·aJ/ôu•Åû¦v·D¡¢<ž×¹nÀ&VGð3§ýæú!ÒaWh›tPY¾/ ^RÚ +_‚Ðs–®îEóÑS^( Zr¦SÓj1cÔOà ¼£ÄøËr>ú âAô«ÊYöغ}CiLõøÿø9ŒÕêë-hûðH-MÅY’Ç»0Ï Á"/–ºßÞg¾A:·ÔR˜¦Œ!ÊYÉä +Sê:ZeXõ óóÙ7Š0Ä_/W[ÖQZ;5tž¨öTé]\“04¤KaڝÃ&yÂnä)† ‰Os$(s^~cÃr'››ŸBZj³yý-}PÏ¡º -€ˆaߤĩÉ~F,IL¢òrÇ»r„™Ñ`<·Gå×l™Yñ½:«@Ë5U-éú„¯àÍùt«VRçNòÖQ¿1§tŸ„D‡°Ïpµ¦Ôºú¨kô±!#m>æÅ=ê4ï¢1ΚKîéE¬üИifóX掕`”õL»å° ±ºÇɓ×BÂbèáDÛa}ãŒXã- ±Ô³­ì•3ÇWó㌃/1ùèМmKg‰”ÁQÎoŔ¹¯¿‡-óº€4#ûºRðeëßgœ-RZzî¥6áùyzì¾±¿Â«ðšËNtÈÍÌ·¾àR†Ê•y˜‡DU¾cÍś•ð”D.ôéqSIù*ÛîܯP™3•yÐ#öö÷ϳ“Ñ“þj ¿fïõÛü4L„׼᧘Ø6/ ÉL=u#YH5 Ópۋp°·_h #Ø:w%ÉU‰¸ÓÁPK‡…Ò±`ëµÂu™Ðí/uH˜DÎÁMR`±ˆé‚ØàILaç£ærynŸú¢±õ‹¿‰í ¹¦)"UQ⍬YÛ9.4¤Ï½6‘:K¾”s»\ƒc©šˆTN†ó6"<¦^Œ"´þîU ªòCp ªÏ”(ôë,Jóju ¨½çùqxæïӄ }L«cHäO{峊•_D·gRpÒ5«Í­©f‹\JO„#“;ßÕځ=H$Äpsžgfåî†.äÇé;+*¹]$‘aÚq|dÊ¥}†=þ¨œÛqˆ÷É)M¾Ã4Ù¬Y•3¦°Xߚ38~VùzAdÛI€ab¸’ýíÐál·7TŠ2AKMYXÔâ¸E€5ƒ‰“îo¡²øK¹ÌóÕ"¿£ÚˆÑqª÷#Øz…aބ­ó™b üÜP¤ÚvÛñ(–`÷• ,%l”Ö×ÓÓÅÌm‚ê^)âMҗ ªÏo(ø· ØOabä,–¿dñ_/*ŽDã͂?•h»7VéÙld†Vp`£”†N­°fr­!FCàNà#­+¬_X6“˜³S4PÝû{¯!ÛÅ=vÓ7$²p¶É=àˆX®¦aÜÀhÞ"1¦£z§­‡éh=aÚ&Rè µuä%Ú¢‘e7LJut¾CZ¤¢=Ö†¶”ÌÍë4k顒B9ŠXš@m CŽ¬ñyÏNî CY ’õc¨~ö~7¼ÈW70ƒÍNye9 –Þ0¼Ä«Ý(9PèfÞý¥3ó8œþDVÕKÓBŠ9öâ÷¢­Ò²®¶Rs[±æäÊåØåSèŲä ap‘€.ë½clMWTA¸©yPñsçcmÐS‡þ؉•V?NPBÍpâªcîR´_úR«…ÜU‰:.%Ý°}¼`ÉÛH^푲6Ҏ¶ÏßpÍ>è¡è¢þ ë{ßŏù;þ…¥©5sV1}£E—ó¬Z8ϜIÌÖhRWïù‘&Š£Ò»ÊšµàA;³=òEKî'a¹¬nkd‡9£ø :„‘;ìŒâÚÇàïÚÁ¤¹ôZxŠG¨AŠÕyµÎÚ±?šçòžßËm<|Gñnn 5E2H?6ŸA»âCHEOg ø玒})H'v3Z•â\bC>enc-j ‰še…™+Äà›G‡X9âÀûË3kLÚ·ÝÌ@øuËÐÒóÇΟ»Å–àÜ͝!zå‘ ã`¯•¤†”Ô~ßsљéb2Z‡¯f§1‰~ñŽ°õ-Ôdk«Å]fÊÎ"ݒ–¯ßo’º&Ï*ìéáaŽýð1\ÞÇ +jކ †Wp~åC9«>+ÏÁpߛĤa¢ø·r|k8£ì_QE~4‘™¯jÑ´³&ÛnœÇÀ×W^üˆÉŒóÀ¬Tk°³‡ÙPQӈ˜O=”ÃÑíÑ¢Ðnsú'çÁüžyu…XQ–)_°½~°Ñvö@µr}¡Œ>ÖE;ü`” +ÌιCü­Œ›¬‰“¶\2ÐŒêÏ9þԺυ¥„#¢–àªi¬È‹RÍ;dʬ…/øÞïüæv?!è–5U4M ˆÉmýj(z2Tþ›MgñhËÐül†ˆs¨ÿB +Äù,†7bŽãÿý1µøö59­|V;Wd"¦·”Ù+Ýç:@Üùe¾_šUEˆ4}ýELçv-ª’^iË@ÜÖ²ðCÜ{m§6šòìøF:€cÀ³Çç´IP¶þ›¥Ím´Zü] œÅ•s®Àl„ÙH¸9j¢u òŒ‰y}.ááXT=yƒFóü®ƯŸg d¢´„fúEá¾ M²µ +ýyO@>š6‚mÝç?Röa%í/Êl ¢¶¡´OÏáÛ¿º59™q°Üú¡Ê†ÛÛò|Ú¦è| 10 ½¼;'°Rã ¢òþ°´_ÚÁFfS$';ß߶ Ǜ¨hEcËí²/pÌ{3w^¤ZRbàiHÔª®1NÊCâÙT©¢X¡a ×ÖÐƬ2Ø9±Û8»EЌšM[> …#"̏ÇGS)(Qà7K7mò—ž¼§‡ïùa„Ü6¬êÏ¿¶˜ôO˜îþæ`®ðK?R?ÀZ[ä;ù¨¥W1ÒIø\ŽŒ±&k¨ÕRd8‹d\¤S7ó.ÿb‚*¬.Çjrï@> ëøH®`à75€öILÀ…ª-G0NgFá¾ÔŸ+_Us-R³ÍëO¡$¦ŠÀ +§©þ*àÏvë0x¬÷vààîãÀâ×˾Ёõü¥ƒþvÁY k=èÞ¦¯QÿrÉÄ£¡;É!id¾ÍoèÁ0ç?!rs&‡¹n‘eg(dW}VqÞo¼É¯b¤ë Æ3.†§ñï‘ n°šNåéSßöĤ'túâãÉ¢}Aä¬eȇAùQEƲ ?ƒÊo½ñE jUÍBXä@e%í*î >:°¿2ÍaŸ¾ÉE2+X?…_Wk€ä“ £xù^ξvú1BÍ_zð+dqWQI)ëœ\àØh-¤Ž>\‹–üÁ“=Ô<»# Èӊ >yG0¬ (¯´ËXڔ8Θ‰ïÆO-5qA­º‡î.®“!º`~A4ÔF*ú‘ª¨n“ðèÊÄQq‹ë¬°³ÃmT¹I-•ñíFzOŸQ‹€¼ +ü\ŽÙ?‹~¸A÷Ïêõ]|>5º`÷‘>þÏ©?º¹¦¼õ…–ú¬Ôos¥ö.L±NÈnDÀ3Ù2€ý¹ˆ(š{'¶X›,Š êts‘ž¿:jÛ?æYÝ LKß3õÚSÈz_=ÉÀ¼ èˆL+V\¼ Æô¤¦Yjü¢3}kõ· ¤>d`C[\ôöÊÙ ÓM†œ!n'â÷Ê^½—àá¸jñiëN¾$d “³£ö§ü™œh ьrÐl€}¨¢_:sÒ1-ñÂs´ øêŽîþÝTD8[v¨w½hÛÙÎ6êØ4ì 8‘ÆLO 9M°Ž”¯†ëwBœåÐcAµJ³Ž_çuzó=±$[Nfàýxo%Iãi®™pI4M¸sGxÉÉfEäÄd³lˁÛa ˜ös zw âìLß7ârÊ?„oføp,ô‚¡K²§ð +š."˜É Ìà:¼…— ‹B“”—ò¿V©-Ñ8ç†X;4ƒ‡¤Éž™g›ZÝ]ò_ã.CU&4’ôÈç&º—CÍ ÆÇUÓ(º®Õ]ù€‹³šºKF_ëý˜x1Ž]¦hõŒ¨*ߺýµÕ$Æڗ-e‰ð ©fµƒ“8Y1î]S»ÏîíÈÒв ˆò›ýq‡)‰5dCá 8sîR·r5D®n†4jç×+ 3®ˆ¡¼Îß¾Ýó35`edÿ6ÂMÉ|±:&S ”ÕÍp9c[æ6W[¸¤± Ëì¶O_óÜî_ÚÔª£AZ?LP›~±Ô¨‰¸w»Øš]„‡$Œbéê²³=•E‡Ã 5יnˆRqú‚ªHFãÊÚ"¸ã?oßß6²ö”¤G +46¡/h)PF%Âװͦ质›ÉÐõUÑiX.f ¡¦e~†¬T”¶éMq½ÔËä0Ô¸ôÜV$ú)7Ð<F™Üü£C?]?ìµ» «p©Ày"·ðÖ©:¹›¼oüʒ›gP…?Þ¡Ø%-AŽ´Ëßà#"š?UlÅD¿¢/GûI’. +è"ÞõçªÔŒÔÌç%tP›×uÛ­~WCÉËÞu·oºŒL5½$¨'¸XÜ«)‡Ê;P{:4¿S3–…AÅӞî­Ô&/µɊåmÕöÑöéÑýÙsòD-ù +††ióѹÐß "sFÎ*š=;ÁÐèÎÅ3÷v Õx…êf¬Wê ¿x𰟼\ÚÊÃYÀsŠñãŽà_²¨& ~ÇЌKí<á ÷2Áf¶3÷~SÀ`úÕÒe*ézð‰ujüòÙÆåã§Uà a¦ƒ`$8¶œœ’:Œ½žÈÝågŒøKån&SìØa(Aٚ( -—“WJ¶Ç—ýº¹ÞૂÊVØR«Â.âÍBðᯄy¨óügnà'€LƓ޵p×e–ûÁ“-ȁôÌ¡¥Ç‡àrÄVb¸æ¼×‡ƒýÞÀ™ò¥>á*lÈpÈ ÇÒ¬W–wŒGéC`e,iŽdÿ²üqHÀIhä ƒX«GâiH5Ì´òÅÚ7†·”]-`ØóœEO™°‡h5-Ú¥¥“°Ÿ¤~«v0$%‰Ì’¼p'ìL@¬%R‰Ùê³}oL5Zk¬´é"Û|È[^Š¹„[ù…£†qñˆ¤;(áJ´4F뼤i¶›ˆ +b~T0]Ë!´Â9’¡ª”wEd@á^Ñù¸FGHÿ4 hÈ>¦ð?>Ç×jžiä±ÿkCw­ô_âÊá½2ý¶£Ën]ŋùF4$·.ªf¨ðGÿ¦Èö*uJ󺌘(¼¾ ¸ãb®«@ÌpÜNš@t—¡“A-¢Ô?„ &›•@²ìÍGÏQûLî‡É7G²z©Ðà¤ã/ˋgŽK¾ûS0 œº†§%[ù(®tAji@¿âûôÕXHëù•|¾#ëÈÈR\³©“úîIÊø¿üTw€í‚•+Øÿ0S¤_+\8 + +'·Éó̈́'®«VfTÿҒlD«Rw¸PÃÀø®)Xé¸!åZo4ê»~€‰¿¼,JtYëV ' ;Þ:vqKÑ'Ë?ª‹-öÐî—ÈIºœß= Zòh‰â›žOB³ß"ò/t.˜tÝz–G û"XˆyLѬƒØ…¿X@å­É«ý> §c˜Èþ¶Ö~çf×'®GU«ïVE2"y¨.ðƒDLQÏM!»E¯lÍ^aDºTØAòþŸ“`—(!ñAV¹ a;¦->Fþ×g"»ÐK"S½Ý²ˆÊa‰! +½(²ÌM‘n†:¯ðüru¹=0® Ô½{ÏïfG…¸†Û <Ñ=9¥Žyï àã¨)_kË>îñŽ÷AµÔ F:;îâ‚Cþ!0*à¦Eëoçô%ïMTËÅ®JCÒ+¬ëzÆïB*kf(±ê\Y“©y‘Üėúö¹Ñ¬"r8)óÇ/E@f|U——;þÊì¿ÞŠš _ùSnÊoM³ŸGNI¾¿}×Žæáޜ­.¬Å…F¾l~ieiJeNæé`'u ïiζ}<(áÖúJD¹ÊeõhY'—÷ˆVzj9íµ•‡4ôt֖œ-¢ iºÜ9ò›ÉW¨²z'È|úÞJþ²Ø®©+?¿)jMêo|Ú¦=¦Yp–Yv5ª<±Ø¶¥îŽ¥Ôƒõ ÈˆúîQ€·Ò3™…cˆ‚¸®…'JùƒD8›Œù{ÿZ$VbåÕ!س{ùçZ¹‹Y…®äPV:C lã׀a6¼#ºJ"8s}X±?¦ÍãàD,πð¸‹6ï›4µ,5¼Õ¹o¸§!:J/h0û6‰µh2bMO‚¹Ê<*}FJ™­“‡¼Ó—ý2NçMfà*blq”!l(ß,…AÏ EX¾,Ú{®{¾¾¿mÉè†ñ6l.¦X‘ñf»$¤ã&ª¦uÅZï¿áÅ<^­ó8›Ëín \eÜÓ"®÷Á¾±8:a¬á©« ÍÏU§  ¢ïao³"}(èßáÔ­ë?ˆjºníó"wci¢¸`aäƒûàæ»àþљi>‹w0ƒØö$Ýþõ°4ëŽp'„³©é2sÏÍ_CÞOŸÍ2¨n‰ôÐÛfk³± ‘=£÷‘ª¥Ì$ ®FÒ%`ûЕŒ®aÞñ¤å0DS˜Â‹eg»ôu4]a/—•ž¹Å_Û*õà縫êºìԐL !ݗtyÓ%Ü~ÙýI Y;_ø{ko*š…ш©}Í­ÔßôfÔ+¿ÈW³,Ô>’E-8Ó;% ·ªë´ç–øU·:!õ(û^ù~?_t›¢ v¤•Iˆw;ºŽUˆ ânqyx¿`øpl:ùÇ;6VÓFÏ=»±ÕìÃàŠÁ¼÷V’ à§HʦD†Èùí`Ôbå5 +f ͼFóæò}(”„e€ ~—ÇhKtÝ/oÌkâ:ÞȂ…k÷…ZkW÷b…kéP n¯2Õ¥ù¼P0»ï°Ëߌù”¼ÍO„ìLHžùѝ–‹`¶Ý† +èÎ`GL2f"=ÕõˆMªS§°Ä½øØ©ª,dL×O¤Oc⮍ÅyÂøêé÷}>î{˜ês«ˆX EÆìv²hwjÕ\䬚¨~¨~é˜iÛa§\¢#—\ñq¼üQªú¾ ákáÔ8'+ÌÒÓ•œúñF—™Š×ˆ¡*(I±%Ü%·4¼‡UèêV5 xø/nûHPiÒ {tTf«YáüI#Ñ7¡Dl&«¹ŽØig`i½þ.ëå[gALµESè_ËEŒî÷^+‚»m*.Džv vüٍsûÆ·#Iðh¬6oŒz ϧ÷QCŠF5Ó«#Ē¬è’¹ïä€2Š +\#­ |)ž±üššo8—F…~ášäYõë>z€CÇÈöàò‡ßbýQñîõ/ÝCU’B§…¬z™ ò1¨óôdS³ìQÿ¶ljQªe¸õn)õ@ñU—:NUêÚ¸Ìnªziºè…AgI«feýt/ƒqŽçû!Þ ¶Êy–…¥§Tw¸[ uRíz¨<sï'|×ƒ'omª:þÚ~³o f._5üB?4ý²ÿ º¨¸ïßKå<$í’N+ß¿©yÓú†*˜'Ü^Ž…>ú*9F6wîªT;Wâ(¨ ¿dï3š0¢Eºí·åÞ¥lÒf“/šó¼±é:ëUgÊCÿ¶Ý^j²j¶2C¿ÓC=ÀÁrFÐā–@Œ´ŒwԍT8~ÏqêÂ5¯b8D9ß-¥iÖ ˽IåH ”#ÕÃTLˆËÒJ´±{/&t¢U+èÚ]“¾êíOö’%ÿù’y‚ƒ‚³=0"µ¤Èe÷é=f:™Mþ°¬„ ³a@øȉØÍVTžvšpËH{wiþÍ rC[sYDJâ¯ÚÔeæ´]¸bGÊÓVÓd’Bó6YÓlŒ@@,îAž\XX[†VEK!w%ßdÅ\F»®txL `}PÆ ~ ¨Ì|!‚gTˆž&c¢Íyž{£Oéú[gK"0°n-ÔM6Có©Q5i؅ºæê̏ˆó;Ø/â‚[Y/'G–ÈÎú¦°Y¾Âr ›2Û©¼%©ß÷x›v (ÑYcìK­?ÚgO • 1ó]þÈ@íEÝp²`YÏ1ŠŠ ªõ|Ï íïT³*”ÈSNjFH¹ph؜PÁúɖ¹BËR¥œd} Ö¶ +1]#@n‚¿Ý=Ø¾Q0!×-FÌ{ÀҖ½Ü=áüSÌÃëš[³;²VïÚ¾úÛïq‚\Ԅ;¹%Ø>Gü±„8j?;‡´Xx9õÆ8MlC‘³}µ@8ó>ß{Šò}Â:ŒE›'ûãŽ1?8g„µvGó®ž÷ÂÁØ÷3"aW㜖]²I†rª~´~°óvaü”½5ÎùÆU{6q ª"MÃV)¿’èx‰ú‘œ×!Õ9Î;4éNU£5\ AŽ˜3 +±Örjk¥›Ç#øgbf8¸j‰ +é>ê;;¾¦4~_,\Ü8„ -Íþ ›æå·tÒqMsŒbÌb³ B[òrþçÒIBŽeDG$×BJP);Õt¤;ãÂ74B‰–YûoôÕßó[¨ÄLŠ•ë9°ÑÏ©ÑúÙÁA !;ÁÚÍ)]¢gFMMãu>(:€QÌj*ëîa¶ãx¾ÊO´5)¯‡zšÅáèW¾>åöë>ró$—'7o¡èMÜQmåëp è€Ê\ùPµ~„ÃÛ rftRq]>qËã8Ýês¿KE#$¦¥§^æùºˆÖՏô~Vª\¨¤ÔĊ¨äÓÆê¹äOÛtûy â6åoP]äÉÞ5¨ÞĘ́ß~2¢ìϯ‚ÿ" ‡/q^:¯µºxÿÁûÙû:-àÿ%]"oƎ4Ná! ÜÚ¼Æ%¨ØsP#úÍf•^‡N"ýheï÷Õ>¬ÄdY#1l ðÀ¢–ü šü¦óÍ\{w¡†—&ƒÞÊ3ã¡¢Œ2CY*âr>µ²Š”=ù `L|ϐðÇc™a¬3’‰AÄøu¬¸ç.ȅŽ~A¸‘è—žcÀcÞ¸§ç゚œ@pӕ¨ 8Ù˽T˜ðM$±µõE¶êZʋa/gÀþS½¨p˜WÈV{ÍøPÚÍa_«ÈÙÝ4mO|é3a‹^2B8õäØFèC59ðM8J®.ì+mÀ×Pñ×áBþ²àSÃþmãß“Ç͌.8çÙzÊV –è…C ëè)sFÓ·Ã46tóÎÔS>xŸ¶¢`öî·qµ 1.Du¡­:FÆ6¿'ªÞWlYV±ŽT$žÿæp=3¾»vÏë> ³ÙZ0w,˜fÂ-y)ß<ÿæúüúöMÚ@IÉü6S\cöøþj¯2ÜGR­br]UK™¾÷Q­¥ÊñæؐãðƒN;áYò=£`Zè§S˜­­TïL|µÂE؇T3?£±i½S¼cð{OL_ç ïy~`+rx¡-Mp¤4=®ûÝ6Å7HECüßGý´¾ÖvŽ×TMr¼Ñ:vPÈù²†¨áÈÉ34;èø†5 «e(j‹bÇqÞÐ~/½„DéQ%lףȚ6Xû¤ôÏëÖ"b%Àòñ²ãÎw´V·‚ÒqpUÕh¦rQ±{9àª8i0€Þ +tÑBþa +%jM<½õ4imÅÕȲ}Äö$š™+¢¥ÝKëÌk³f‹¢ñÞÀB Ç`è¢yPQE’3åà磞¨!6£ÔŸóülsÞCtmq ›Zþ¹ùlÃÄ*\ÂØõ9¿.¿^þnͨ4;EJò™3@ÛE³8u$2³;üú!WR(Ó©5rÌô + AñdÕʂÊû‰.Ñê¼ÏÛӋz“¨>¿Q•Y¯‰iÆQBO`6^,âbúF½ÈjT)G„BFbJEób3qHWQ²½C ‘óŦ +žHª5ÞÐj 3ý? Bʒ֦¢q˯d°wé_ጥrU²b=.Jú9­½4"ňCV5õlÕ"îÁN¢ØjC¥ÅYËGª,§žŠ Û¿`Ÿçzgà +ÿçÊeƒ¯í°&o¹@íވàçVð5‘•ÐR»&»À™ôê7úRðé9þ˜Ý>¤®ó +÷ç‹oÚ¯ô†uJ§ŸW„üÐáÅ7z9DÅwV£§´øÌ3ù^6†ÜI”àÇÑM6fOõ½×þü*>ç ª`¶´ÙÜM²dF:Èhe+$ìBm¶‰¸„úÌþù3¬Xpæ>iT¯Ž‘îC\‡ À Ï°ˆ›{»‡¤V•lÜýFÕÊòyD³r?¸êiÁLD?h×BèÝ!æ«*KR»ˆ…b"ûI†£ÊÍzŽ¾¸e˜+Ì©ÍÈîï'He%Î`O‡Ë9Ý?Æœ?æ'‘åk5iKWú‰Ó.4MÉ4µIYPâƒÎ4‰_ ÖÕüÿÓ,îmÿLs\DË)ô¦ql… ‡y>º‚˜zÑÚc¢¹/®7Ì ƒ3v›ù†-+¾å•4щîÃæÝéüÌRŸs•ê`kjà·#S:,(nµØN/,;ƒ(ïÎ[Ôö*[Þž¿·ý%óØáô™o +RŒ7YÒ×ÞeÅ<³°Áœ=9Èõà³× …: J}&⩦+@¢‚D—?µèx3UrGM"ñ:ׄ%%H‚[‚©0è™ìrW~EȑƒgE¡j°“¿ö¨·½êöt̂„ÄMÍ@#žY³Qåž/cj½¬œYF^‘{(ïp¿ë¤B +óíå®‚ÜÃhê7yQÓù˜}N¦eæéÌHè^x‘£ ûô 0_@ˆŒo†ÊÖ"ùzÜ'a‹q⷏1G†a¢;Õäújg©§Ë´ô4n¥Œó4ŽXà$YÄ$³Y¯¨ïó¼Òs)"ú¹ +‚Ä^@‡ãoâ ±«dü‹KdÉb ÏK.ç<ÂéŎÉë‡[¹ý▖…å¹;ăôÌtMPžï¬t瀖ê\s{I6¶"hV¼\œ˜ŠÓí³Ò훻ÔF{Ԕh³ªçøÃ`® ViÀìgc…ËaÛK­Ý)t”ü’'|㎏иoþ(·æÓÓò¬8»„}‡*‘“›$ðÌXšRò‹s%tÀ²¹°ãæ:µ TÝ+mŸ^C±ÇZ¤µCiÚۙþÖCÁÝ°¦åÉo`R,JnKÑá}à ZVmìÚ]֒’“²þÉ<*U¸øËVߖ6‡\6Ûöéú¯Ÿ½¨þÜ´¶˜\åÀÿ`BÙCmtâÊYæ?P­(TV¬1T ­ZXÇo¾P¨S³/8øá…ßÓÒÁy‚³Ëö0mµÛñ99ÑÿBxAd©ª2†P҈{3\‡* aœžÆ/ÃA†|4Yýžkx,ýÐKZÒ¨ %†TŒ±,XÓm›×øBp[¾ªOÏÍ +xŽ;ªÌd"§Ì®@ë òµÈaÚ5%‘'ö€Ò90÷Îê’O9ÐþZ‚RÏŸ¨’OýN?|š}ímƒìT§In¢ùG}¿;‡c{ö4lAnЁÄa_™°øUŽýÊËCX®æŒØìÔêSÊwÙT N‰VVõ%P·s¹F/ùþš//ÜVìU˜xkØ«¬ Ø»Œ9í4=h›áö ¼û·®³ký€œ$IÊ­0£%k %FÐ=ž’©8÷º1±×AEÆ Á^w]N_×/ÄqmüKTï4e#ÓÊe|n~Ý .ÙÕÝJjÚæªÛN=ôÆz}¹ø¨Fû‡²à‚P¥¶á¸$µ§PÇÄ>ËWÿ²½þ¡Ì® Ÿ¾Xs’è²kÙvX áï3—š‡îd&~n‘ÌÄ]ácLϪ ¯9ò# Îv9†Ø–sÑQû:‘gk5`GãÚFŸ 6¿«ò˜o©ì¨FïBaT%’cî]% øùä›`O ê´b ý¼ý…ªA‚‡Ra¦Å+c ඔ4;Ø>RŒ–` ÓD‰±Í³ÙAÎæ{ú?I wŽ0(èúÎÞÃÄ},£×双My%žÀ³/¥h¯ŸsP_DX¬œ’ù·ÈHzïkƃ°ÙRþ"­^†`•óëø<õ¦ŒÌêWi3¤Õ;à ¸vÑêƒÇb;R¼çºÍC­X«£E2š mŸèƒ±Æ íT +Áqe@6 +„oݖ5µ˜_6#®Iì|ÂZ1ü¸ä!*D´‘ G) ;1üŽ@0ۛ ÐwTV¡6Ox/Êœ¤´wo…tiۏÄÿ¬2§‚q +¸Ÿ+ªr®¨Ùº\¶ëŸ;í̧ž6΁\ lñKž-LúÔ8ÿrQÒ£]Ë÷l ˜a#ŽS'ڙä”ÙáۈԞ+€bw¤itë²Ü÷Åý÷XÍúrÿ¼¬z h9á"Þ±–?%eEYL@Vç}Í|ÝKȑi(¬؃Dó֗ö}EþəÁgOËIi½W%š.ËÖ¥¯öú‰«Ú +m0‡ñüÊ3ÜüW@H݌ô÷—cx/‡@5óƆƒmÞM²P¡q—Æ +“t§ò8/ÜïŸa˜ž7·Mö1ð [Ÿ²çêltÆÐFû•G0éÇç×_ÁÇþ +EÞ.ßûpOŽt ¿mq÷”$§iûÚZ¼ƒè Ë·fÝùz)6wû‡Cå•t¥k+ìùÜn ‰h¡`Ü­55Žð €Ô— ê§ðÃ077oGC¬rÝPèH«úP‰jfyòuø¯=w½+ð«Ù¾„üŲ+2ÿ2åa)àR¦ÁEg‹% k¤_Óç³ÎDkGÈ(”v·o37ÍGà‘ùƒ*Zx¾Aá˜;½ÝÌü1 E÷Jr×ékìk†»åxåûF¯¾[ÀùÏzÅ%ܺ¸02­P°3Ó·Ö"!siÈEµ•KP^å@ñº€Šx_v~?9|1ýse +½ÿtÆì ‡Ñ6"ÑÛÕ éq(9™QFà¦ìÇÂgå5¯hlBã¼1 þlˆé­F•‡Lþ×ÀQqòËGò&8f(±âWٚ0œ­F¡^BdÙuzpMµ÷3N2‰–¨[6lÿȹä$„=Š”F19›T8ÚÓÚì>F™ƒàÒµór¾6~Âÿ>‡¯y“j¿0¼Ú(“÷‹4"zõÙÀf„¼=»W£GxÒÍxä %¼´·ÆåŒÀuÐÖ­tm²v§Ž=\ò‚~»óÌ_g^«·:’ìچŽt”ú¤‹åUË Aò*ó´î°DBÚmKšÄé¯ðR‡†ùGZ\dÿû­âH.`o›¶¬xé€ÌIüƒ £Ë0Œ‰l’šÑ-Y™$H†ò{:Í>QAy‡ú3õUw¿¼ñ ðZ6KŒn;8'è1¶Çhîû|Ÿ„¼I' +jê 2ûR´†fwÅ¡iù.ö5b _…üýû|4)€L,ä3zöjjà à™ِÌ~#¿¼ÙÙH삪ËÊDK2ßMg¼…jL©ŸÚµWâ‹Ii˜Eiâ7­ø{Ž”bóTåÄ]./óZÜ°Ùt}ó7$‚“À÷¾”ˆjÂI‡¦g=F: ϊîj¾!?î¢õ½aâsÆг¢Mz}`ˆÀ溂“ôû>`”~4U6}{^#b¦ÜD¹Ôº)Y¾÷˜Æ`:¶"ΫDupw‹¦hâ³m%®ÿ`pڥà œ´þwìòAýÁã¥G +¦ÿ‘‰ñ<ŠÞ• ZÄ"|¸{än–³7.÷ЅÜx%ˑ»¢"‡¦GU©û)<Ä"w®NYrˆxà¸ï?VŠ.C©Qæb7å|©\ù Î0ßâ [Ya§Hö•ÙºBFn>¤lßS(d)Øp4 Û[i ЌãB"C¸=zÂg½|êAQÅîy¼Pó¤Ÿø„¦ºòß`º¶Ú—ÚLÆøIÅûÚ j>ǜ¹èÈL""Ü ±)š4V)hèäšH•¦T @.‹7¹cW¯œAõZô÷Ëðm͑qëõ“+øwŸ–kßZŠüh@N¸‘¨sÍeGu:Ø0`O8Õ%X¶Dxbˆõ¬/çâÑ#ÉQ»Yw-G¸uß±™aÁetÊŸ©Íµ[ey[ó;ÊÃûâxGì+ħmä|I“ÿÙjJ´lÂ{C†Üõ^ùœ–ÛïÃ>W»ˆ¥kŽiŸé©.²N#¼eh—º„ +E‚9µGÝ`q­·qX'Ç=ðÕ³¯¾Î*á­#ñ8DªNŒ3dþÿԒó‚æ¤Ò±‰:²KèßkDp Š§JÑjX‹9p8õç*ð× ´'°!4„¬Z +Ÿ’Þ.ÓàWyŽb%yŽ ½%´ U—R¼õÈ°ÂË£äR‰ó‰óæ7Âvçiúá±É[õ͇&?-¹Ñ¼}wK‘–§ŸñƎ^x«<®%κ†O6¤,f}àõ!R¤d±Ô„ѵȂI¨e8E²˜ýN !ÝEc˜Sø—‡U\°ýššnµB{—óƤ^’¤?Š±"SdŒ2á2vr0¾—1lҝãÕè舽5‰Ó/VîÕvà’§(7PÜó¨¥4ҟh7æ"ÇÙéÕn‰ÎOpwmû <Ãðüóý¥ý‘>&V>ìMEvˆ$~ýˆ£ùTœÚeO‰Ó<|.ûō\,OÈûj=š'æ G¸ÏÙZÊ(§¥Šò ,š¶3·Öß3 Ý/Pój‰ð‘k êL£yùM™M=p0‚øˆëGP/öÂùzvw†Æ,'ÿS|Î$¾«‡D}Zƒšw9‘Å©¦(Gá΋üôCBžã[ïµÞÐ÷vMÀ¢·,"¶l§4¨®§÷Çh®i˜'û}@ +çSÐndJWQZHtdö¬EKm92zÐ,. Ö~,´ Aìý«Þðt9Rs—ï’I–¡²ó¦XVD ¿rðÐ[B ©?šb®Ïd°g¨;҆5 ^CÝã;T¦vIµ›ÚìÀ‡½6÷Ö¯êË·I …PëÞÙ¦K•0úEÀˆP%-¦Ì*dýó¨Ý­`&„Ž¥3¨Šj:,;ö×LáSô] ÿõßb*Å6‰?¹;> endobj +4132 0 obj << +/Length1 1647 +/Length2 12086 +/Length3 0 +/Length 12939 +/Filter /FlateDecode +>> +stream +xÚ­weTܒ-Ü]B qîîNp'Xš4Þ¸ww'¸{p‚ÜÝݝÁßwçΝuߛ?óæG÷êS»jWÕÙuj­¦&WQg3³5JÛÚ@˜Ø˜YùJ k'G5[k%[>&5 …“Ä xø©©%€Æ­¤1ÈК$¦vv25@ÂÖÎÍda ÐiªiÓ300þËò— ÀÄíŸÈ[¤#ÈÂ@óööµ³Ú@Þ(þǁê@ b ˜ƒÀ@€„²Š®œ’ €NFI ´:¼5¡âd™@¦@G =ÀÜÖþÇ`jkcú«5Gæ7.1G€1ÀÑh +z ºšíþ‚v@k£ãÛoÈ`á`ly»ˆ-dc +v2û«€7»¹íßÙ9ؾyX¿aod*¶ŽGSð–UERúuB,!åv½Á[ó7O3[S§¿Zú{£yC!Æ Gè +ù+— `r´»½å~#³sý]†“#ÈÆâ_0€Æf` £ãÍ÷_·ó¯>ÿ¥{c;;°ÛßѶ{ýg ˆ#lΌÌÆþ–Óò–ÛdƒÌò×¼È٘ÛØXÿa7s²û'æ tøû‚èþšú·"ŒÍlmÀn3 92‹’-ä-%€î¦2óÿžÈÿ ÿ¯ü¿"ïÿŸ¸ÿ®ÑyÄÿ¿ïùß©¥À`%cë·øǞ¼-cÀÛ®(þZ6`cÀ_ dú…[ƒÀnÿ]ð¿{kÿQõpþ;üb6o +1±q1sýà r”¹ÍT@SK€¹1øíòþ¶kژÀ à›Èßï[+ë¿a– Ó¯6©Áõhcöï=¼éöw,ºJòŠŸdþ›mû·³ÊÛT@4Ü쀀ÿȤ­hköŸ‡¿¨ÄÅm]LlÜ|&vÖ·ÇøöùØ9½þiÿ&bû×YÑârè±2³²²Þ¾ÿùù×Éàßh¤lLmÍþš#uˆ±ÙÛèý§á/ØÔÉÁáMñ¿·Á[çÿ<ÿý€@W )ò✭©@€UJz*¤š »DR¯û'l ]QF~žo¥m§OJÈ_ٗ§ª@æú1þ—f·Ù#»çù»ƒ?ñÁ´IÀ³\/Jú®<¬UšV†Ýo,†Eh©ÇÚç3 +ëï>s³jínŽ¨ª>Ákåp@<¿£÷¥tÎóÅ¥úm‡îmš\×†Y…]ýýè˜&þàî7m﯁þ¾ÎK¸®÷ YÑHÔÆމGä ·/7u¦/pœyœP\ÐjGDF@¶0{C'çÿ ÞLÐ)„¤ó¼üñź:¶]¤«ã‰À£æ³ª=§¶÷tà“)µ¤ʦ¶ÿØø¦6¶ÈxØY‹KBÆÄN8Ù7º_òj[ÿŒ}%Æÿ­l|*d:Û&Þ`‚š*ÉË¥ÐßzHË_Õê×É ¡0š:œnèJ ©b½Óá²ä«3z¢áuœÞa’àU$hŠ‚+!SÝÍÈFј”N…>Ì㊙p…[í2#ÿB]ó;?(=_\ |„}#Åa ôecïzl!qâö +`Ýh6ßÔè † +p\Ì,É÷`ƒY&Ê?,¯ÙAŠµòéwåÉÅÏsk×˲#§þóþ¿Õ™Hµ6ñ››VçÞ`¤%e±pSr® ɺ÷l@4¶ñ¿”s МbHM³”Çzσ³Re›€»û…%‡ ‘²AW|Ž"A_i20™.BÙÛGï=“ SD_=a¯Tip%ŸgEœ+„(y{¾Løq«8„…‘R?«ê +ÌÔ5¬I5¢v©@Ži/ ++»ÜkÜU„÷Ùp­v’òq6< 2‰EB2Z_F¼ýŒñ²úZUÍ0àþ­š„@쬦»VjÔä㧭§ÐÖ98ÔJï!Z†)—M:ú6éD¬P±Í¾ èUi'×áÓ©Üii˜ôwž#õ`̸di4±&'Âbý__é›ÓÞ«Ì­¼ü‚ÇKá¨öYŽº<Àš±&?lZþҜ#Ïï¸ëµŽ¾ÌÏèjþËw[P¬%÷ܑ+¯-#`r£ƒvN˜¡Ñtßd€ÿ£)ΘÔæ¨óÚs÷Ny•ÿ~þ=E)›fZ¬÷û>izfI.GãMþ^7—o^˜WT·²âæK¶¿°ÂÝÐë#­¹lzÐKK/.4FVup+ƒ`Eð>uEþ¢EõP"k8I'òâVžraH;ƒåי; /5ÇÕ½hUôýØ$úфˆU ԆƒÙÛi«+Ù^ä-îh§ÙãaÖ<¿XS:YD¤œ„Å€*·x˜Z4ŸI#ߟêQµÙÄÐÙ1r½O¢Ñy™i8줲ÝöŽ/³ µ[X2wJÝ'´ó­T>¶Âq‡qLu~Ƕ¬êEœ ª¸ÊCu‚c‘~n`7oªþÖç]h^|wá샂Mû}“‘ƒ­+UÍbȅBw¦a!4/"S¢Ôh·@ð­9TÙï}ÿü¤hðçÙ =¯â^®¼(ê…QÕMR—ÚØùBòqÚª5ÝㄻìAC ­÷‚Žìä§"\Žd‰X4rä9Ôµo#£°¿)ÝݨG/šûSm€oCtErZRÓ¨2ËÿÀ¶þŒ•Ó†¸X5{VA}¥Ÿfbä QêWØïÙ±¾Ž{wK{¶yUÆ*®A".d¢H*%O?M…Ø~Ì÷1™|à׃ŠÚ -LFx>Áç­#UÍã4œn¥v7="·ƒ™Óâéc…üv‡?¢æjïg(UKAS }'q%·«Ò´Œ® Þ²·b>$Å%¦$£Fñe€m°KñËLäæ3,Ïï9ìœc $þœ¶©Í}¨SDnýV+R‡®Q«üT¼iUY^Y*h—&™èÙ/ðW6„šEkíeq¤Lú}—âH‡2·<,‰œ]jžáôûõö¡&é± )¥¸;s-|R=…h¤_úÕ/نåg•«$rwMwJÛòBHæ“w~%æåÍ5íD©w>$Š“Ÿ…„ñOn´cV3QQvèFÈ°»Ë•6…Šïh9~\×+Ëîmâ·ÿEɕÎ;±ïØŒZ—ÐŚXåå¶+ɤkëK­ét)ÿ†”wÈõ¯™ÔH3¸•r3‹ª)ƒ +„Õ›¾Øg_¾{‡úeqÄ]±ÚkÊ.ò sÄļgÁ§!ã)|–µ»€Û6…c¡<]ï֕¦îy£Û%è`Grl7ëÀþR^sr-Š\2áì¡®Ni[Ôd».nj”Mï$†Ø3}ÊTiñ÷ÕݽÌtŒ:Ž–’PVž1=̼TׇLµ;tÜ!L$`@-±µleS(w¼U릢`ãƒãÆEóÎçÎ(ík<¡?‰ë¹ >P—PeÊ°òسæ…×K<9™Üí¾â„T@u¡ yJÃi+Jä +Cÿ@cr«Ï€8 J”à]YÊOû ö_•˜‘ÃwmOè_‘ôóš@ÇŸE{+ãÿñ”HÎׄ1qNµ‡7©jf?æ%íK½µšàœ-çm!´·r9 +zi†ö†ùÓ÷J[ +ì\UMˆ@²>kà’öçô X ëËفÑV>èõŽÏ‚W©‰–¥Ò%áG0ÄÑ ‹Ê‚} kqV¸2&5#ÄqµS:y‚© ü؋+Ÿ¬à—/–‰–0E9+H&ͤ°iáÇ0“+rƒöÅ8Q0õì36."Ý;VW\EW¤ï`Þi¸¢“ ð«É¬ px8x}É˨‘uËí°w4J5HÒªxœýÖ6bXÄo©±µÒ¨‚Š/‘,­”[‰ –hÇ7ÁÂZ,$€_qaM‹)ošÛŠ½ÿØà{f–9ïë¤Ù2Ijm–Bƒ€zôô{" ¬“ŒêH®VÜ*ۃJfUéDZj3sL ¤÷%ÄÁ– ñÇUXMŒÊÄù¦|Æ!Eê¿Ea¬Ù–IÌý€šVšû]Í÷è…l–®¹—†¶Ýx冡à[R ìdŸ8èxŒFï±2õÊbØÍwúÀü‹u¬«žçPꑂŸÐù~P°7“02Z‹n”dòÒ œkbâõºZF\kTÃY͕mÁök6Üú迎-陠Ô#èCoK÷2pçÖpŽ"\sFÄ6§vQÜÄÂᗠYº¢rnåa*H^Íw÷gá!‡}c:oäÁ¥p0…ÒŸµ‹c~_›îŒ@›b²C´Ïš»KãêQnÁ5ø,ÆÎåÙt+¶­‘§1`@òÀƒU$Ia?ïØWtVˆü“ເÞé©-rKN;ˆ˜¯Y¤%ÔûìCvû@r¥ª[üS7†ÓG'W-RY€±bq^µç•š:ÕÅڄ•KH ¢f›£ÃäÏ´Žp’a,î“óŸZ÷؛2ä®mËâWœ{õÌ=3&Çý¼bjxMÛð]ˆŸQ0¿ò‰¡ûS; ']õ6?a8¶gæëy#j +¿_O›4yÑZÑhĨbW”`w­ãý>kö3´ûšÏxüÅÛ­í`nâk–oÀق9uâñ‹<9aX›rA&ˆº¡ˆ¯°›h‚IXdûŒ*½÷c„™Ôð÷°jTßšFt±^&îÙtÕ@%\ǒÀäJàZRɧV¸ŒõŸï|¨dÃià?%ЇãÕ\*²-OÅ@&ØÛÈÃOgÄvO“¬EÅߊ6$ |ï HÀ•3§ ⎯Û=¯WxÜ©Ìj ­vÚWjÓ_þ„Ì\šk]DŠ%#úú[ã[6é͉ßÝ"oÔ§WÁOäÔ(ܕ¦qʯ 1ˆôiª[žTg[—;R|ÀQ ÆLT<°|Âé·Q÷u Ĭ¿îâ¾Áîa8¿óÔm*¼ÑãÀ“®Կñ½ßԈ@RGß]=úT‡å_®„¹ÞsX«ºü€Ð‘¼ØLɺ€§GLq2øÕ _„ô>2ÜÓsIàö ¢uc½Aÿ½yܑ7— }V5ìWî¦Bې¯¼è¾¤¬EÁfQÚë Px-òNºgë.±²êÇ(ÇD,½œrðÒËÀ@DxYÈl&ƒÆ]*R!_qïqñ©ö’´M¤dDZÍÐ/ßÈ|GgWÕRÉdÍ2ܸ™j®÷®ò:ó‡R×[l“­p„bKŒ•yAG›F¦^ޘ0-–úë2ä“Ô†u÷ÇN׊ð?“¢ñ~ ¢f³¿QG ºnNe-ùÒ]1éñzâƒ/î7§ó½pÊÑÓãü„·KtoCNŒé°²Éá®ë+ž´KcÅõ!‰ÄŒŽ±nEu~ü‰Ä*éy]Ú¼IÞY5×Ýú=ª_ (UTMS*À •«x8C§böúwÞhU@f7F"3¼y¹£Û~­#ÐAÎÝR·5|ôó¤j…Ÿ{I<÷ŽPel“¬%†W&)µe(Ä¥°–.äì)!-iŸ.1el+e22f€+ÂʯŽ©T:¦ÿœû‘]3MVz*¦Ã5)2]¸½yª‹èüs]r¢öÈÓ1ü8ðž“Ôj‡%@c>¥¨•Ñ¨ä£O(üJ᯾ǟ +\ä+,±Xن CeÀ‘*VÙۂ˩æPùé!ü¡Mãm Ÿáuh}øÓi? …÷¬Ç f¦?E}‘%Á¥ôÊ£9‚‹óÐñå Úk˜ðn…Q¿Ñk\£¤<íÍõ*ò 32sÈîãÄx7 qŒY"°ÃyVË\R¹±âû¶ÕvÊ´*eà#tFƂô|´h¦›Ü‡¾>Ö×:~l Š‰ß”“oÎ b>ȖÈVbÿuÖÿ£}S&O5`tINçáW(cì(EŠŽbx÷¢Gòàg5ÏçríŸ"óÉ,ˆ¼ -µ—Œþiõ + JqáËñ2Gf›7ÜÂFZå\¾÷œr£=[ø–³ ÎoÕÁxt¹§šÛ—“J«å>°¶ÒÆa`"2‡c#\Zí‘Úa•¸ŒZã_)Ä(‘g(pc7ŠUáÅï›`Ÿq˜}>\47ë‡w¿,NuZ ‹µ˜˜_¯-T4qÃ䙪nP×r@–Q×ÌýU€+jïØGß5hm`>÷©–7æïUŠÐ5Œp‘R Ú<òL¦­²=½—á> ´ÝŸBAĶà•#a ~Ü*msàÌêÛX™?6ó~ìÿ0IR_ó9Zñ³=¤šçS¢?{w ŸWNi•¶ b×üï9øm™Nn’ +–‚挬‹Ù•;B•„z4ìôB£ å\?úsÛ&˜[ýé%Þ `ÉÝ@ÞÕ48±L'ÃL¾7â:AûˆkoÃqw2 PÿŽqn‘«eÏ­)* ˜|áNþ0“Žm€™¥  ëƉ1ŒpÑ û^=——îÞ;4$QŠl±þ‡—Ém– +‚ ªÇ veùÔÒ´ž-úï.ô½:o·BÉåCk£&Ê/ߣÇÃZË-Fº~+É=@\YO‰%¨P›âŒ(歋±‹î‘놣léZ7ñBbvyˆŽlQîD+zü›éóLêÅ_Ó+Î:¼>„¦©^±#ÎîŽ^w +óTðVóF–hX2•"7— Õ­|BH Õ)÷TOî/FŸŸª8f¸>|eçWÉ;÷™/ë,Žö¦§ô…¡‹4㔝”Š¡ úؔîَ&Šù§öœ#;¼kG®00ìÊʏH³Ï*%OÆúÒF:|¢1B.u€ô³Ú‹ARu­u“M?"•~TŸiŠ)cáçâømâ3b6ãôˆ_º3ÑòFäԙ ÄÔ­ãۗd,*ÇTwÞP~Õ!n×$ô=£Ý(´­ æW({‘>Ãs¯ô¹WýÅ«ê§ù™yjowh{ø*8ëÒüµ|èKA¶#*3¢ŽhŠoŠŽ†¬3‰©¶±£Kô`†õ×ω2ç&±(We“íÕ¹¹n{jLú”§F®r5R?ZãµÙôôK“–ǤU‘ŠŒ¾&ˆw!Ž +!§¡3~‡ã®qxûú>óÏ µƒþºúd îËàÖ%·Œ¯y/± ³dŠG&«êQ ­þ§¾’eð-Ë'üXº‚oÚì,ƒ·i_ -`U[.X”ḡšçé'©*ç`#«Ãí«DÏ6o)PÂ,A>ók‡õíÄ*L“Q&·UÊwV@Íè ن~™ »ÄÒ͸Á‡G›Dn5‹§¨ô€ ‰ê˜ùêNYڇ»üôúó§‹ÆIù´tåU6cð šßSºΎNò”¦ÄþJ®^°½jãK'JÎ Ók3Iy +íÈæñØKc*(«ÙÐ¥ò¦µ€«QN±õ£] A³`ËÆ Hʧ0y<‰›_TLþ— ïVÉ®Á±ßlO¯9°Ñ¿aö'…¢“@Í]$ÍAØ3úŸ_¦ÅnÈV¶駅Åðsœ,VU›¾Q_t¦åÛBùcZHå[UsÍ¥÷Dª^mé´ÓÔe€3â¤ï×ÿD¹•¤U›Ð&n Û¹²&’x´©X•6ֈx}Œ]'•ÌÞ™ÑJòçǹK"é¶&3®Ã¦ó9ËäòÞ?ؼձq ÇtF¦E}ààdÃë5ڟÛ¡9œtá¼¢Ÿ°“dËW ©Ò’ "Ððã)폞ƒ§‰–•»XÜ£RӂF·OmÐgúø§LS?}G8à‰¾«§P­£")'‹ÔRb4†^,’E\¾Š¨ ,ÀUP¼ßpp8¾ýIŸŠÃ›ÕøÛ®Åhù¾çx{V…¸߀dû«‡­=yáiŠ2T[ÝZÄ +#‰õ¶Ê&æßq®¨ڝ·ï· zp ž©Lž;ý8<o|aÛ8j"קÍc1’æG!;_úº¦»5iÏIo,æí͕êÎKˆâ9àꥑ€4п9%bTéfÀ u_®G8Pfªõû12@$CÆ1àNTáŒHfÐFZv›ôj‘¸”]P‰Û 3u +GòÄeuyÉPöٍJ@HǬ¸’6åÀü:Ü3ŠHYƒöÁ+*Ø ßÌÒX”mÑüÝْÒʘBšÕïڐB +Ëë¶Uù¹-À,9XCËLnµüIïb.Ao˜$‡f†äR³oL¬ý¡žQ*Žò:y1þûÌr™¾î|™tJØi) ¹¨öNDW»Zӕ1ÀŸÍ¸ê“ž…ƒÙÇm‚:mäüuž’ƒ\53js†jQϼ) _ cW¹5‘=«ÌR›.ÓKÏì¢óoBH«úÇØTnw +$+Q%"8VRRìo¨Év¥Zp›P'364¨9Pò¦ô¬fÁ@Þ.…Cžƒ½ÅésÑè•{ÝÏûÁ¶öY4ècKB¤àéUˑG=â Ž&?LGûÕ\I£Lã ù.Êîô¤Æù{ØÞûþ¯F^)K….¥Æ"+ÔdÊBÔp­Dr>gŽg€ú>}—G«¿¢ ¹LRÜz©ù¾çmԍï\ñãí +]Ë8·—õÐ 4—ÏÑi2*—4ʈa¥¦,˜Ÿ¶™¡ª¢ÈÚ”è@¯˜7ï› J4ɤsÁ7][ÌÑ< 6žšÁ«?§øCÖ[S5¡Ù¬ÕüOñT­ŒL‡|¯Ï60¤\„ºßùmý„ÒKÚe©  Ê鶴n©qý5·¹¬êGP€ZDÌ?LM €ÊW_v‚,J™†?øeòJ>‘–Wyèýl=¬åô;ŒHò«±H9b.þºqT¿U+:{“#Q?w›V®ÔÿdèÙÙsåEî,2 ñ`-Q0Pù3Õü™¾`TñÆ9d ֳ㠳Ÿcôn/Œ#¾9ԝmˆù:RAv ¬GÚ÷n’.x¿OÇñ“Ñ‹ «»Fy·eTq6DkV˜0‡ÜMÉåQh*CïêîÕeùη[1‚‘ºÚj^9.åOcL d4Bô¯}ï°êFP6óª+ø‰ÁØóEq`ïQm‡³Þëkù1ewƒ„öòYSqÇ@€'•ÇΉá,}p?Z@•J´ïÀ³LÌhŸÖÕ×`ú}ãƒs®ã±‰Å¯:}BÓmýÈíÖG/ó؅Â'¯¼O“¯É8õzjkn)t*«î.Èô«×í8 ×ÌÄÙ±lhöJ³d(\±gß]öw­ƒûœ‚Îò‰Œ_q„$=âÌÔª~—Zº×K.îø…Çe¹peôÿLëKMœŠí¿ž"k-Èÿ™^†5ŒBÌrƒ´Ž²V”ÿy¶ðÝîÑç$ãhۑñÚi„Ë´¥‚Š'Õ¾ú&yÌæ4…:¤ªFÀ÷ɀ’0mþnEG¨ªP´|^„7[—4Ú=º!ÍëCayÖ15c=ÑÄn!Ó +Uc­­`‘Y¤¡rO9É=îصï‘^»˜à#´!ˆ:ÛN]X”yç~@÷7ÓÁH^é9Q&@5̱±©&Ÿc9Ÿ„ ¶+ÊOiŽ À‘J Aà½í™A»57üÛ¹£)qqÉ¥Û1œMVÒ›þf3fÜ>9Ÿv¸¹M[ :êî­(ÆG½`ÂEcuœ3ôu8%£P"F»8žÂ>׫m¥åò²væÄÃ3yTµÍÝ;‡›Ÿ Ÿ,5Ê$}ÔÙC(җqé½×ñÕH菼ۣe?^KxꬋF ¢¸Ä†Ó° ã8YÜšäÁ|ŠÎGäoN}Q‘G9ùPòìu5À`l§OKjð8ñn¦}*û=.VµÛ7GvX}ºm·9_¿¶nj«3§~Güðäšâ;ŠNRŸS¸ŸX2V¿¡þPar§Êúè¤<¹!¶KK6HK †½+ãï¾ZúÒŒöW˜èg”vÐËz£$+sÞ¶9>€±œ”º¾Š¯2¿îPaÚ4Š§-¾g‰ÙV¸NþDª*)ËґÍÔæ›×œtӎ„ï‘ÝÆrèjØ¡m˜a Jà¬]húî’T·9 Û¿+ÌD¶L7€ïJeq2ʔpä¾öÙõ=”Ôº¶Aâ?|o7¤jÙà·‰*cœ¢ZZxf 3u÷_œýÖ‘c¼Ø xU•yÏágÝ¿÷‘·Ñkÿ5*BGûy6s{´J\qógó¡•ËŸ\¼á^Œ š_5™î +¿bzá1P¶ómŽ÷ðýŽúƵîãNLMÿ1DŽ ìñÍ@Ãq§*À撒˜É +Œ¹Â|xg óåpVìGS Gk¼²åZkÑÈN`¡w/C"}y<¿R6_Þz=lŸ®bi9­DÚĦÒÌ5MŽ¨Ã¨¹ZàW'e¢@×ÃÀœT¬ÜÄl`ïÞôÑõØ}¨N-å¡]L»Û!·RæjCy{? vPÉ7î+ÁâëîºNàÛʬ™‚}صÛR´èÝ6ÍI6… M˜“»Ñ¯ªÁ%óÆÃg¾lƒðxºÏԛ aùb±í¹ÜŠý†êo_Ëì2sbù|ÍH$¼‘3ng^øhùÈ -˜}jK‘¦g•¤ã^‚9ý¯-×Óî«õ\HB ð÷Úq¬ ìˆ÷w ‰3†aã ؚi„Jh¨j²Èk«2T£»p`"%eÙejÈÏ#š>ÅЛ³àÖø®ª)Iºbƒƒ¾í´lіVÂؤ•*Qèӑe¼D~8³¥© =µí±Ö¢¸Ke¥˜ÜQäV¸o“öO“ðÙlEQºf’CÏ#½ãë_Yˆ͒ºðw"˜1UYöàÅápÉÌs3)a%Œ.nV ŠñÓeÕ>0…»FÒF‘øú‡þ‚áé… ÂHnmWÓßÒð›ax &êÓ²Zƒ÷˜|ò¾æè¶Ø{Ó_ؾõ9³48ž²]†™ßîÙô¦¼ŠËRSÔ-ˆìÀˆ…Øƪ”s7%͔ýNî³d‘ß½X¿ç´3|ÆÅà<,È©øW6; {­ŽqOHS…”]`ÏVIØ D›gƒßóžO‘…zz)Ld ÷«xâ@ࢶœ‹•¬” }φÖÁ’øpø¸Îa± ðÊënðªÿòiâýW^!ó3pdrê—ÎÅ üT~IàÊcùÔјײãö5+¬'ýUB§ÒO-Wãô/èñQ­®(†ø'®ªÃMÓz£i\CƲV²Q Èõ(ÜâânS3íb="¼¾É6–P]÷`vù¹:QoMæ©òh&0æ0›³„`[éæ¤Ñ/q«l*nøºbØޝEjÕ@oLl^«{V’ÅíÊTX§.ó$“*«Ôçt#ðØRÂðIƒ¥{–;Ö:k™m9Ǫ‘Jé½ Ùi-#ûN s<6ôFÅ.Z Ê2ÓÁ‡/2;h)gOØdÐ~ÑUÞä4vÿ +ûÙÀL·žÌr¤0aY0Ê çp*ðà VYð–ùc Îè´Tt°ŒKØû“ç¤n«ñ'N«Ä¢4剛­ ç[sBÄák¿æù Ä!cŠ²Àß –ÇÖúCëÁóù9A‚½àvV–YP­åÁÊxúõðtœM§féMV£û¢Õ¿½»ºü~ï1ìwl>ÇCéDToâyZ‹ÅGT{`ohxÅkÐùk#´“ ➀ž§> endobj +4095 0 obj << +/Type /Encoding +/Differences [2/fi/fl 16/caron 30/grave 33/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright 95/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde 147/quotedblleft/quotedblright/bullet/endash/emdash 154/scaron 180/acute 229/aring 233/eacute 235/edieresis] +>> endobj +924 0 obj << +/Type /Font +/Subtype /Type1 +/BaseFont /EOEKOR+CMMI10 +/FontDescriptor 4109 0 R +/FirstChar 45 +/LastChar 62 +/Widths 4101 0 R +>> endobj +923 0 obj << +/Type /Font +/Subtype /Type1 +/BaseFont /VOYJCW+CMSY10 +/FontDescriptor 4111 0 R +/FirstChar 1 +/LastChar 32 +/Widths 4102 0 R +>> endobj +3911 0 obj << +/Type /Font +/Subtype /Type1 +/BaseFont /TPKZYA+LCIRCLE10 +/FontDescriptor 4113 0 R +/FirstChar 118 +/LastChar 118 +/Widths 4094 0 R +>> endobj +3200 0 obj << +/Type /Font +/Subtype /Type1 +/BaseFont /DQDZYQ+NimbusMonL-Bold +/FontDescriptor 4115 0 R +/FirstChar 45 +/LastChar 122 +/Widths 4099 0 R +/Encoding 4095 0 R +>> endobj +3713 0 obj << +/Type /Font +/Subtype /Type1 +/BaseFont /LVTGMN+NimbusMonL-BoldObli +/FontDescriptor 4117 0 R +/FirstChar 46 +/LastChar 120 +/Widths 4096 0 R +/Encoding 4095 0 R +>> endobj +909 0 obj << +/Type /Font +/Subtype /Type1 +/BaseFont /OZMLTC+NimbusMonL-Regu +/FontDescriptor 4119 0 R +/FirstChar 16 +/LastChar 233 +/Widths 4103 0 R +/Encoding 4095 0 R +>> endobj +977 0 obj << +/Type /Font +/Subtype /Type1 +/BaseFont /CFFDXI+NimbusMonL-ReguObli +/FontDescriptor 4121 0 R +/FirstChar 36 +/LastChar 122 +/Widths 4100 0 R +/Encoding 4095 0 R +>> endobj +695 0 obj << +/Type /Font +/Subtype /Type1 +/BaseFont /FYSERL+NimbusSanL-Bold +/FontDescriptor 4123 0 R +/FirstChar 2 +/LastChar 122 +/Widths 4105 0 R +/Encoding 4095 0 R +>> endobj +692 0 obj << +/Type /Font +/Subtype /Type1 +/BaseFont /LHPKHM+NimbusSanL-Regu +/FontDescriptor 4125 0 R +/FirstChar 40 +/LastChar 121 +/Widths 4106 0 R +/Encoding 4095 0 R +>> endobj +3707 0 obj << +/Type /Font +/Subtype /Type1 +/BaseFont /AJQUXG+NimbusSanL-ReguItal +/FontDescriptor 4127 0 R +/FirstChar 104 +/LastChar 119 +/Widths 4097 0 R +/Encoding 4095 0 R +>> endobj +739 0 obj << +/Type /Font +/Subtype /Type1 +/BaseFont /OEXEGJ+NimbusRomNo9L-Medi +/FontDescriptor 4129 0 R +/FirstChar 2 +/LastChar 150 +/Widths 4104 0 R +/Encoding 4095 0 R +>> endobj +691 0 obj << +/Type /Font +/Subtype /Type1 +/BaseFont /EXZGHA+NimbusRomNo9L-Regu +/FontDescriptor 4131 0 R +/FirstChar 2 +/LastChar 235 +/Widths 4107 0 R +/Encoding 4095 0 R +>> endobj +3706 0 obj << +/Type /Font +/Subtype /Type1 +/BaseFont /YNJMKH+NimbusRomNo9L-ReguItal +/FontDescriptor 4133 0 R +/FirstChar 2 +/LastChar 122 +/Widths 4098 0 R +/Encoding 4095 0 R +>> endobj +696 0 obj << +/Type /Pages +/Count 6 +/Parent 4134 0 R +/Kids [686 0 R 736 0 R 775 0 R 816 0 R 859 0 R 886 0 R] +>> endobj +901 0 obj << +/Type /Pages +/Count 6 +/Parent 4134 0 R +/Kids [898 0 R 904 0 R 931 0 R 962 0 R 979 0 R 1007 0 R] +>> endobj +1075 0 obj << +/Type /Pages +/Count 6 +/Parent 4134 0 R +/Kids [1044 0 R 1077 0 R 1111 0 R 1146 0 R 1183 0 R 1227 0 R] +>> endobj +1285 0 obj << +/Type /Pages +/Count 6 +/Parent 4134 0 R +/Kids [1260 0 R 1287 0 R 1314 0 R 1335 0 R 1350 0 R 1359 0 R] +>> endobj +1433 0 obj << +/Type /Pages +/Count 6 +/Parent 4134 0 R +/Kids [1397 0 R 1435 0 R 1473 0 R 1508 0 R 1546 0 R 1587 0 R] +>> endobj +1662 0 obj << +/Type /Pages +/Count 6 +/Parent 4134 0 R +/Kids [1623 0 R 1664 0 R 1704 0 R 1732 0 R 1764 0 R 1801 0 R] +>> endobj +1839 0 obj << +/Type /Pages +/Count 6 +/Parent 4135 0 R +/Kids [1833 0 R 1841 0 R 1872 0 R 1909 0 R 1952 0 R 1974 0 R] +>> endobj +2039 0 obj << +/Type /Pages +/Count 6 +/Parent 4135 0 R +/Kids [1998 0 R 2041 0 R 2089 0 R 2124 0 R 2158 0 R 2201 0 R] +>> endobj +2291 0 obj << +/Type /Pages +/Count 6 +/Parent 4135 0 R +/Kids [2247 0 R 2293 0 R 2328 0 R 2366 0 R 2413 0 R 2461 0 R] +>> endobj +2545 0 obj << +/Type /Pages +/Count 6 +/Parent 4135 0 R +/Kids [2504 0 R 2547 0 R 2597 0 R 2647 0 R 2698 0 R 2744 0 R] +>> endobj +2826 0 obj << +/Type /Pages +/Count 6 +/Parent 4135 0 R +/Kids [2782 0 R 2828 0 R 2860 0 R 2887 0 R 2931 0 R 2987 0 R] +>> endobj +3060 0 obj << +/Type /Pages +/Count 6 +/Parent 4135 0 R +/Kids [3024 0 R 3062 0 R 3096 0 R 3119 0 R 3163 0 R 3190 0 R] +>> endobj +3239 0 obj << +/Type /Pages +/Count 6 +/Parent 4136 0 R +/Kids [3205 0 R 3241 0 R 3277 0 R 3316 0 R 3359 0 R 3396 0 R] +>> endobj +3492 0 obj << +/Type /Pages +/Count 6 +/Parent 4136 0 R +/Kids [3437 0 R 3494 0 R 3553 0 R 3585 0 R 3623 0 R 3657 0 R] +>> endobj +3708 0 obj << +/Type /Pages +/Count 6 +/Parent 4136 0 R +/Kids [3685 0 R 3710 0 R 3716 0 R 3722 0 R 3728 0 R 3734 0 R] +>> endobj +3749 0 obj << +/Type /Pages +/Count 6 +/Parent 4136 0 R +/Kids [3742 0 R 3754 0 R 3761 0 R 3767 0 R 3771 0 R 3778 0 R] +>> endobj +3793 0 obj << +/Type /Pages +/Count 6 +/Parent 4136 0 R +/Kids [3786 0 R 3795 0 R 3800 0 R 3806 0 R 3810 0 R 3814 0 R] +>> endobj +3822 0 obj << +/Type /Pages +/Count 6 +/Parent 4136 0 R +/Kids [3818 0 R 3824 0 R 3828 0 R 3832 0 R 3837 0 R 3841 0 R] +>> endobj +3849 0 obj << +/Type /Pages +/Count 6 +/Parent 4137 0 R +/Kids [3845 0 R 3851 0 R 3855 0 R 3859 0 R 3863 0 R 3870 0 R] +>> endobj +3882 0 obj << +/Type /Pages +/Count 6 +/Parent 4137 0 R +/Kids [3877 0 R 3885 0 R 3892 0 R 3896 0 R 3903 0 R 3936 0 R] +>> endobj +3955 0 obj << +/Type /Pages +/Count 6 +/Parent 4137 0 R +/Kids [3952 0 R 3957 0 R 3965 0 R 3975 0 R 4011 0 R 4017 0 R] +>> endobj +4034 0 obj << +/Type /Pages +/Count 6 +/Parent 4137 0 R +/Kids [4021 0 R 4036 0 R 4041 0 R 4072 0 R 4077 0 R 4084 0 R] +>> endobj +4093 0 obj << +/Type /Pages +/Count 1 +/Parent 4137 0 R +/Kids [4089 0 R] +>> endobj +4134 0 obj << +/Type /Pages +/Count 36 +/Parent 4138 0 R +/Kids [696 0 R 901 0 R 1075 0 R 1285 0 R 1433 0 R 1662 0 R] +>> endobj +4135 0 obj << +/Type /Pages +/Count 36 +/Parent 4138 0 R +/Kids [1839 0 R 2039 0 R 2291 0 R 2545 0 R 2826 0 R 3060 0 R] +>> endobj +4136 0 obj << +/Type /Pages +/Count 36 +/Parent 4138 0 R +/Kids [3239 0 R 3492 0 R 3708 0 R 3749 0 R 3793 0 R 3822 0 R] +>> endobj +4137 0 obj << +/Type /Pages +/Count 25 +/Parent 4138 0 R +/Kids [3849 0 R 3882 0 R 3955 0 R 4034 0 R 4093 0 R] +>> endobj +4138 0 obj << +/Type /Pages +/Count 133 +/Kids [4134 0 R 4135 0 R 4136 0 R 4137 0 R] +>> endobj +4139 0 obj << +/Type /Outlines +/First 3 0 R +/Last 683 0 R +/Count 37 +>> endobj +683 0 obj << +/Title 684 0 R +/A 681 0 R +/Parent 4139 0 R +/Prev 679 0 R +>> endobj +679 0 obj << +/Title 680 0 R +/A 677 0 R +/Parent 4139 0 R +/Prev 675 0 R +/Next 683 0 R +>> endobj +675 0 obj << +/Title 676 0 R +/A 673 0 R +/Parent 4139 0 R +/Prev 671 0 R +/Next 679 0 R +>> endobj +671 0 obj << +/Title 672 0 R +/A 669 0 R +/Parent 4139 0 R +/Prev 667 0 R +/Next 675 0 R +>> endobj +667 0 obj << +/Title 668 0 R +/A 665 0 R +/Parent 4139 0 R +/Prev 663 0 R +/Next 671 0 R +>> endobj +663 0 obj << +/Title 664 0 R +/A 661 0 R +/Parent 4139 0 R +/Prev 659 0 R +/Next 667 0 R +>> endobj +659 0 obj << +/Title 660 0 R +/A 657 0 R +/Parent 4139 0 R +/Prev 655 0 R +/Next 663 0 R +>> endobj +655 0 obj << +/Title 656 0 R +/A 653 0 R +/Parent 4139 0 R +/Prev 651 0 R +/Next 659 0 R +>> endobj +651 0 obj << +/Title 652 0 R +/A 649 0 R +/Parent 4139 0 R +/Prev 647 0 R +/Next 655 0 R +>> endobj +647 0 obj << +/Title 648 0 R +/A 645 0 R +/Parent 4139 0 R +/Prev 643 0 R +/Next 651 0 R +>> endobj +643 0 obj << +/Title 644 0 R +/A 641 0 R +/Parent 4139 0 R +/Prev 639 0 R +/Next 647 0 R +>> endobj +639 0 obj << +/Title 640 0 R +/A 637 0 R +/Parent 4139 0 R +/Prev 635 0 R +/Next 643 0 R +>> endobj +635 0 obj << +/Title 636 0 R +/A 633 0 R +/Parent 4139 0 R +/Prev 631 0 R +/Next 639 0 R +>> endobj +631 0 obj << +/Title 632 0 R +/A 629 0 R +/Parent 4139 0 R +/Prev 627 0 R +/Next 635 0 R +>> endobj +627 0 obj << +/Title 628 0 R +/A 625 0 R +/Parent 4139 0 R +/Prev 623 0 R +/Next 631 0 R +>> endobj +623 0 obj << +/Title 624 0 R +/A 621 0 R +/Parent 4139 0 R +/Prev 619 0 R +/Next 627 0 R +>> endobj +619 0 obj << +/Title 620 0 R +/A 617 0 R +/Parent 4139 0 R +/Prev 595 0 R +/Next 623 0 R +>> endobj +615 0 obj << +/Title 616 0 R +/A 613 0 R +/Parent 595 0 R +/Prev 611 0 R +>> endobj +611 0 obj << +/Title 612 0 R +/A 609 0 R +/Parent 595 0 R +/Prev 607 0 R +/Next 615 0 R +>> endobj +607 0 obj << +/Title 608 0 R +/A 605 0 R +/Parent 595 0 R +/Prev 603 0 R +/Next 611 0 R +>> endobj +603 0 obj << +/Title 604 0 R +/A 601 0 R +/Parent 595 0 R +/Prev 599 0 R +/Next 607 0 R +>> endobj +599 0 obj << +/Title 600 0 R +/A 597 0 R +/Parent 595 0 R +/Next 603 0 R +>> endobj +595 0 obj << +/Title 596 0 R +/A 593 0 R +/Parent 4139 0 R +/Prev 591 0 R +/Next 619 0 R +/First 599 0 R +/Last 615 0 R +/Count -5 +>> endobj +591 0 obj << +/Title 592 0 R +/A 589 0 R +/Parent 4139 0 R +/Prev 551 0 R +/Next 595 0 R +>> endobj +587 0 obj << +/Title 588 0 R +/A 585 0 R +/Parent 551 0 R +/Prev 583 0 R +>> endobj +583 0 obj << +/Title 584 0 R +/A 581 0 R +/Parent 551 0 R +/Prev 579 0 R +/Next 587 0 R +>> endobj +579 0 obj << +/Title 580 0 R +/A 577 0 R +/Parent 551 0 R +/Prev 575 0 R +/Next 583 0 R +>> endobj +575 0 obj << +/Title 576 0 R +/A 573 0 R +/Parent 551 0 R +/Prev 571 0 R +/Next 579 0 R +>> endobj +571 0 obj << +/Title 572 0 R +/A 569 0 R +/Parent 551 0 R +/Prev 567 0 R +/Next 575 0 R +>> endobj +567 0 obj << +/Title 568 0 R +/A 565 0 R +/Parent 551 0 R +/Prev 563 0 R +/Next 571 0 R +>> endobj +563 0 obj << +/Title 564 0 R +/A 561 0 R +/Parent 551 0 R +/Prev 559 0 R +/Next 567 0 R +>> endobj +559 0 obj << +/Title 560 0 R +/A 557 0 R +/Parent 551 0 R +/Prev 555 0 R +/Next 563 0 R +>> endobj +555 0 obj << +/Title 556 0 R +/A 553 0 R +/Parent 551 0 R +/Next 559 0 R +>> endobj +551 0 obj << +/Title 552 0 R +/A 549 0 R +/Parent 4139 0 R +/Prev 531 0 R +/Next 591 0 R +/First 555 0 R +/Last 587 0 R +/Count -9 +>> endobj +547 0 obj << +/Title 548 0 R +/A 545 0 R +/Parent 531 0 R +/Prev 543 0 R +>> endobj +543 0 obj << +/Title 544 0 R +/A 541 0 R +/Parent 531 0 R +/Prev 539 0 R +/Next 547 0 R +>> endobj +539 0 obj << +/Title 540 0 R +/A 537 0 R +/Parent 531 0 R +/Prev 535 0 R +/Next 543 0 R +>> endobj +535 0 obj << +/Title 536 0 R +/A 533 0 R +/Parent 531 0 R +/Next 539 0 R +>> endobj +531 0 obj << +/Title 532 0 R +/A 529 0 R +/Parent 4139 0 R +/Prev 495 0 R +/Next 551 0 R +/First 535 0 R +/Last 547 0 R +/Count -4 +>> endobj +527 0 obj << +/Title 528 0 R +/A 525 0 R +/Parent 495 0 R +/Prev 523 0 R +>> endobj +523 0 obj << +/Title 524 0 R +/A 521 0 R +/Parent 495 0 R +/Prev 519 0 R +/Next 527 0 R +>> endobj +519 0 obj << +/Title 520 0 R +/A 517 0 R +/Parent 495 0 R +/Prev 515 0 R +/Next 523 0 R +>> endobj +515 0 obj << +/Title 516 0 R +/A 513 0 R +/Parent 495 0 R +/Prev 511 0 R +/Next 519 0 R +>> endobj +511 0 obj << +/Title 512 0 R +/A 509 0 R +/Parent 495 0 R +/Prev 507 0 R +/Next 515 0 R +>> endobj +507 0 obj << +/Title 508 0 R +/A 505 0 R +/Parent 495 0 R +/Prev 503 0 R +/Next 511 0 R +>> endobj +503 0 obj << +/Title 504 0 R +/A 501 0 R +/Parent 495 0 R +/Prev 499 0 R +/Next 507 0 R +>> endobj +499 0 obj << +/Title 500 0 R +/A 497 0 R +/Parent 495 0 R +/Next 503 0 R +>> endobj +495 0 obj << +/Title 496 0 R +/A 493 0 R +/Parent 4139 0 R +/Prev 463 0 R +/Next 531 0 R +/First 499 0 R +/Last 527 0 R +/Count -8 +>> endobj +491 0 obj << +/Title 492 0 R +/A 489 0 R +/Parent 463 0 R +/Prev 487 0 R +>> endobj +487 0 obj << +/Title 488 0 R +/A 485 0 R +/Parent 463 0 R +/Prev 483 0 R +/Next 491 0 R +>> endobj +483 0 obj << +/Title 484 0 R +/A 481 0 R +/Parent 463 0 R +/Prev 479 0 R +/Next 487 0 R +>> endobj +479 0 obj << +/Title 480 0 R +/A 477 0 R +/Parent 463 0 R +/Prev 475 0 R +/Next 483 0 R +>> endobj +475 0 obj << +/Title 476 0 R +/A 473 0 R +/Parent 463 0 R +/Prev 471 0 R +/Next 479 0 R +>> endobj +471 0 obj << +/Title 472 0 R +/A 469 0 R +/Parent 463 0 R +/Prev 467 0 R +/Next 475 0 R +>> endobj +467 0 obj << +/Title 468 0 R +/A 465 0 R +/Parent 463 0 R +/Next 471 0 R +>> endobj +463 0 obj << +/Title 464 0 R +/A 461 0 R +/Parent 4139 0 R +/Prev 431 0 R +/Next 495 0 R +/First 467 0 R +/Last 491 0 R +/Count -7 +>> endobj +459 0 obj << +/Title 460 0 R +/A 457 0 R +/Parent 431 0 R +/Prev 455 0 R +>> endobj +455 0 obj << +/Title 456 0 R +/A 453 0 R +/Parent 431 0 R +/Prev 451 0 R +/Next 459 0 R +>> endobj +451 0 obj << +/Title 452 0 R +/A 449 0 R +/Parent 431 0 R +/Prev 447 0 R +/Next 455 0 R +>> endobj +447 0 obj << +/Title 448 0 R +/A 445 0 R +/Parent 431 0 R +/Prev 443 0 R +/Next 451 0 R +>> endobj +443 0 obj << +/Title 444 0 R +/A 441 0 R +/Parent 431 0 R +/Prev 439 0 R +/Next 447 0 R +>> endobj +439 0 obj << +/Title 440 0 R +/A 437 0 R +/Parent 431 0 R +/Prev 435 0 R +/Next 443 0 R +>> endobj +435 0 obj << +/Title 436 0 R +/A 433 0 R +/Parent 431 0 R +/Next 439 0 R +>> endobj +431 0 obj << +/Title 432 0 R +/A 429 0 R +/Parent 4139 0 R +/Prev 367 0 R +/Next 463 0 R +/First 435 0 R +/Last 459 0 R +/Count -7 +>> endobj +427 0 obj << +/Title 428 0 R +/A 425 0 R +/Parent 367 0 R +/Prev 423 0 R +>> endobj +423 0 obj << +/Title 424 0 R +/A 421 0 R +/Parent 367 0 R +/Prev 419 0 R +/Next 427 0 R +>> endobj +419 0 obj << +/Title 420 0 R +/A 417 0 R +/Parent 367 0 R +/Prev 415 0 R +/Next 423 0 R +>> endobj +415 0 obj << +/Title 416 0 R +/A 413 0 R +/Parent 367 0 R +/Prev 411 0 R +/Next 419 0 R +>> endobj +411 0 obj << +/Title 412 0 R +/A 409 0 R +/Parent 367 0 R +/Prev 407 0 R +/Next 415 0 R +>> endobj +407 0 obj << +/Title 408 0 R +/A 405 0 R +/Parent 367 0 R +/Prev 403 0 R +/Next 411 0 R +>> endobj +403 0 obj << +/Title 404 0 R +/A 401 0 R +/Parent 367 0 R +/Prev 399 0 R +/Next 407 0 R +>> endobj +399 0 obj << +/Title 400 0 R +/A 397 0 R +/Parent 367 0 R +/Prev 395 0 R +/Next 403 0 R +>> endobj +395 0 obj << +/Title 396 0 R +/A 393 0 R +/Parent 367 0 R +/Prev 391 0 R +/Next 399 0 R +>> endobj +391 0 obj << +/Title 392 0 R +/A 389 0 R +/Parent 367 0 R +/Prev 387 0 R +/Next 395 0 R +>> endobj +387 0 obj << +/Title 388 0 R +/A 385 0 R +/Parent 367 0 R +/Prev 383 0 R +/Next 391 0 R +>> endobj +383 0 obj << +/Title 384 0 R +/A 381 0 R +/Parent 367 0 R +/Prev 379 0 R +/Next 387 0 R +>> endobj +379 0 obj << +/Title 380 0 R +/A 377 0 R +/Parent 367 0 R +/Prev 375 0 R +/Next 383 0 R +>> endobj +375 0 obj << +/Title 376 0 R +/A 373 0 R +/Parent 367 0 R +/Prev 371 0 R +/Next 379 0 R +>> endobj +371 0 obj << +/Title 372 0 R +/A 369 0 R +/Parent 367 0 R +/Next 375 0 R +>> endobj +367 0 obj << +/Title 368 0 R +/A 365 0 R +/Parent 4139 0 R +/Prev 327 0 R +/Next 431 0 R +/First 371 0 R +/Last 427 0 R +/Count -15 +>> endobj +363 0 obj << +/Title 364 0 R +/A 361 0 R +/Parent 327 0 R +/Prev 359 0 R +>> endobj +359 0 obj << +/Title 360 0 R +/A 357 0 R +/Parent 327 0 R +/Prev 355 0 R +/Next 363 0 R +>> endobj +355 0 obj << +/Title 356 0 R +/A 353 0 R +/Parent 327 0 R +/Prev 351 0 R +/Next 359 0 R +>> endobj +351 0 obj << +/Title 352 0 R +/A 349 0 R +/Parent 327 0 R +/Prev 347 0 R +/Next 355 0 R +>> endobj +347 0 obj << +/Title 348 0 R +/A 345 0 R +/Parent 327 0 R +/Prev 343 0 R +/Next 351 0 R +>> endobj +343 0 obj << +/Title 344 0 R +/A 341 0 R +/Parent 327 0 R +/Prev 339 0 R +/Next 347 0 R +>> endobj +339 0 obj << +/Title 340 0 R +/A 337 0 R +/Parent 327 0 R +/Prev 335 0 R +/Next 343 0 R +>> endobj +335 0 obj << +/Title 336 0 R +/A 333 0 R +/Parent 327 0 R +/Prev 331 0 R +/Next 339 0 R +>> endobj +331 0 obj << +/Title 332 0 R +/A 329 0 R +/Parent 327 0 R +/Next 335 0 R +>> endobj +327 0 obj << +/Title 328 0 R +/A 325 0 R +/Parent 4139 0 R +/Prev 323 0 R +/Next 367 0 R +/First 331 0 R +/Last 363 0 R +/Count -9 +>> endobj +323 0 obj << +/Title 324 0 R +/A 321 0 R +/Parent 4139 0 R +/Prev 243 0 R +/Next 327 0 R +>> endobj +319 0 obj << +/Title 320 0 R +/A 317 0 R +/Parent 243 0 R +/Prev 315 0 R +>> endobj +315 0 obj << +/Title 316 0 R +/A 313 0 R +/Parent 243 0 R +/Prev 311 0 R +/Next 319 0 R +>> endobj +311 0 obj << +/Title 312 0 R +/A 309 0 R +/Parent 243 0 R +/Prev 307 0 R +/Next 315 0 R +>> endobj +307 0 obj << +/Title 308 0 R +/A 305 0 R +/Parent 243 0 R +/Prev 303 0 R +/Next 311 0 R +>> endobj +303 0 obj << +/Title 304 0 R +/A 301 0 R +/Parent 243 0 R +/Prev 299 0 R +/Next 307 0 R +>> endobj +299 0 obj << +/Title 300 0 R +/A 297 0 R +/Parent 243 0 R +/Prev 295 0 R +/Next 303 0 R +>> endobj +295 0 obj << +/Title 296 0 R +/A 293 0 R +/Parent 243 0 R +/Prev 291 0 R +/Next 299 0 R +>> endobj +291 0 obj << +/Title 292 0 R +/A 289 0 R +/Parent 243 0 R +/Prev 287 0 R +/Next 295 0 R +>> endobj +287 0 obj << +/Title 288 0 R +/A 285 0 R +/Parent 243 0 R +/Prev 283 0 R +/Next 291 0 R +>> endobj +283 0 obj << +/Title 284 0 R +/A 281 0 R +/Parent 243 0 R +/Prev 279 0 R +/Next 287 0 R +>> endobj +279 0 obj << +/Title 280 0 R +/A 277 0 R +/Parent 243 0 R +/Prev 275 0 R +/Next 283 0 R +>> endobj +275 0 obj << +/Title 276 0 R +/A 273 0 R +/Parent 243 0 R +/Prev 271 0 R +/Next 279 0 R +>> endobj +271 0 obj << +/Title 272 0 R +/A 269 0 R +/Parent 243 0 R +/Prev 267 0 R +/Next 275 0 R +>> endobj +267 0 obj << +/Title 268 0 R +/A 265 0 R +/Parent 243 0 R +/Prev 263 0 R +/Next 271 0 R +>> endobj +263 0 obj << +/Title 264 0 R +/A 261 0 R +/Parent 243 0 R +/Prev 259 0 R +/Next 267 0 R +>> endobj +259 0 obj << +/Title 260 0 R +/A 257 0 R +/Parent 243 0 R +/Prev 255 0 R +/Next 263 0 R +>> endobj +255 0 obj << +/Title 256 0 R +/A 253 0 R +/Parent 243 0 R +/Prev 251 0 R +/Next 259 0 R +>> endobj +251 0 obj << +/Title 252 0 R +/A 249 0 R +/Parent 243 0 R +/Prev 247 0 R +/Next 255 0 R +>> endobj +247 0 obj << +/Title 248 0 R +/A 245 0 R +/Parent 243 0 R +/Next 251 0 R +>> endobj +243 0 obj << +/Title 244 0 R +/A 241 0 R +/Parent 4139 0 R +/Prev 207 0 R +/Next 323 0 R +/First 247 0 R +/Last 319 0 R +/Count -19 +>> endobj +239 0 obj << +/Title 240 0 R +/A 237 0 R +/Parent 207 0 R +/Prev 235 0 R +>> endobj +235 0 obj << +/Title 236 0 R +/A 233 0 R +/Parent 207 0 R +/Prev 231 0 R +/Next 239 0 R +>> endobj +231 0 obj << +/Title 232 0 R +/A 229 0 R +/Parent 207 0 R +/Prev 227 0 R +/Next 235 0 R +>> endobj +227 0 obj << +/Title 228 0 R +/A 225 0 R +/Parent 207 0 R +/Prev 223 0 R +/Next 231 0 R +>> endobj +223 0 obj << +/Title 224 0 R +/A 221 0 R +/Parent 207 0 R +/Prev 219 0 R +/Next 227 0 R +>> endobj +219 0 obj << +/Title 220 0 R +/A 217 0 R +/Parent 207 0 R +/Prev 215 0 R +/Next 223 0 R +>> endobj +215 0 obj << +/Title 216 0 R +/A 213 0 R +/Parent 207 0 R +/Prev 211 0 R +/Next 219 0 R +>> endobj +211 0 obj << +/Title 212 0 R +/A 209 0 R +/Parent 207 0 R +/Next 215 0 R +>> endobj +207 0 obj << +/Title 208 0 R +/A 205 0 R +/Parent 4139 0 R +/Prev 203 0 R +/Next 243 0 R +/First 211 0 R +/Last 239 0 R +/Count -8 +>> endobj +203 0 obj << +/Title 204 0 R +/A 201 0 R +/Parent 4139 0 R +/Prev 199 0 R +/Next 207 0 R +>> endobj +199 0 obj << +/Title 200 0 R +/A 197 0 R +/Parent 4139 0 R +/Prev 151 0 R +/Next 203 0 R +>> endobj +195 0 obj << +/Title 196 0 R +/A 193 0 R +/Parent 151 0 R +/Prev 191 0 R +>> endobj +191 0 obj << +/Title 192 0 R +/A 189 0 R +/Parent 151 0 R +/Prev 187 0 R +/Next 195 0 R +>> endobj +187 0 obj << +/Title 188 0 R +/A 185 0 R +/Parent 151 0 R +/Prev 183 0 R +/Next 191 0 R +>> endobj +183 0 obj << +/Title 184 0 R +/A 181 0 R +/Parent 151 0 R +/Prev 179 0 R +/Next 187 0 R +>> endobj +179 0 obj << +/Title 180 0 R +/A 177 0 R +/Parent 151 0 R +/Prev 175 0 R +/Next 183 0 R +>> endobj +175 0 obj << +/Title 176 0 R +/A 173 0 R +/Parent 151 0 R +/Prev 171 0 R +/Next 179 0 R +>> endobj +171 0 obj << +/Title 172 0 R +/A 169 0 R +/Parent 151 0 R +/Prev 167 0 R +/Next 175 0 R +>> endobj +167 0 obj << +/Title 168 0 R +/A 165 0 R +/Parent 151 0 R +/Prev 163 0 R +/Next 171 0 R +>> endobj +163 0 obj << +/Title 164 0 R +/A 161 0 R +/Parent 151 0 R +/Prev 159 0 R +/Next 167 0 R +>> endobj +159 0 obj << +/Title 160 0 R +/A 157 0 R +/Parent 151 0 R +/Prev 155 0 R +/Next 163 0 R +>> endobj +155 0 obj << +/Title 156 0 R +/A 153 0 R +/Parent 151 0 R +/Next 159 0 R +>> endobj +151 0 obj << +/Title 152 0 R +/A 149 0 R +/Parent 4139 0 R +/Prev 131 0 R +/Next 199 0 R +/First 155 0 R +/Last 195 0 R +/Count -11 +>> endobj +147 0 obj << +/Title 148 0 R +/A 145 0 R +/Parent 131 0 R +/Prev 143 0 R +>> endobj +143 0 obj << +/Title 144 0 R +/A 141 0 R +/Parent 131 0 R +/Prev 139 0 R +/Next 147 0 R +>> endobj +139 0 obj << +/Title 140 0 R +/A 137 0 R +/Parent 131 0 R +/Prev 135 0 R +/Next 143 0 R +>> endobj +135 0 obj << +/Title 136 0 R +/A 133 0 R +/Parent 131 0 R +/Next 139 0 R +>> endobj +131 0 obj << +/Title 132 0 R +/A 129 0 R +/Parent 4139 0 R +/Prev 91 0 R +/Next 151 0 R +/First 135 0 R +/Last 147 0 R +/Count -4 +>> endobj +127 0 obj << +/Title 128 0 R +/A 125 0 R +/Parent 91 0 R +/Prev 123 0 R +>> endobj +123 0 obj << +/Title 124 0 R +/A 121 0 R +/Parent 91 0 R +/Prev 119 0 R +/Next 127 0 R +>> endobj +119 0 obj << +/Title 120 0 R +/A 117 0 R +/Parent 91 0 R +/Prev 115 0 R +/Next 123 0 R +>> endobj +115 0 obj << +/Title 116 0 R +/A 113 0 R +/Parent 91 0 R +/Prev 111 0 R +/Next 119 0 R +>> endobj +111 0 obj << +/Title 112 0 R +/A 109 0 R +/Parent 91 0 R +/Prev 107 0 R +/Next 115 0 R +>> endobj +107 0 obj << +/Title 108 0 R +/A 105 0 R +/Parent 91 0 R +/Prev 103 0 R +/Next 111 0 R +>> endobj +103 0 obj << +/Title 104 0 R +/A 101 0 R +/Parent 91 0 R +/Prev 99 0 R +/Next 107 0 R +>> endobj +99 0 obj << +/Title 100 0 R +/A 97 0 R +/Parent 91 0 R +/Prev 95 0 R +/Next 103 0 R +>> endobj +95 0 obj << +/Title 96 0 R +/A 93 0 R +/Parent 91 0 R +/Next 99 0 R +>> endobj +91 0 obj << +/Title 92 0 R +/A 89 0 R +/Parent 4139 0 R +/Prev 51 0 R +/Next 131 0 R +/First 95 0 R +/Last 127 0 R +/Count -9 +>> endobj +87 0 obj << +/Title 88 0 R +/A 85 0 R +/Parent 51 0 R +/Prev 83 0 R +>> endobj +83 0 obj << +/Title 84 0 R +/A 81 0 R +/Parent 51 0 R +/Prev 79 0 R +/Next 87 0 R +>> endobj +79 0 obj << +/Title 80 0 R +/A 77 0 R +/Parent 51 0 R +/Prev 75 0 R +/Next 83 0 R +>> endobj +75 0 obj << +/Title 76 0 R +/A 73 0 R +/Parent 51 0 R +/Prev 71 0 R +/Next 79 0 R +>> endobj +71 0 obj << +/Title 72 0 R +/A 69 0 R +/Parent 51 0 R +/Prev 67 0 R +/Next 75 0 R +>> endobj +67 0 obj << +/Title 68 0 R +/A 65 0 R +/Parent 51 0 R +/Prev 63 0 R +/Next 71 0 R +>> endobj +63 0 obj << +/Title 64 0 R +/A 61 0 R +/Parent 51 0 R +/Prev 59 0 R +/Next 67 0 R +>> endobj +59 0 obj << +/Title 60 0 R +/A 57 0 R +/Parent 51 0 R +/Prev 55 0 R +/Next 63 0 R +>> endobj +55 0 obj << +/Title 56 0 R +/A 53 0 R +/Parent 51 0 R +/Next 59 0 R +>> endobj +51 0 obj << +/Title 52 0 R +/A 49 0 R +/Parent 4139 0 R +/Prev 35 0 R +/Next 91 0 R +/First 55 0 R +/Last 87 0 R +/Count -9 +>> endobj +47 0 obj << +/Title 48 0 R +/A 45 0 R +/Parent 35 0 R +/Prev 43 0 R +>> endobj +43 0 obj << +/Title 44 0 R +/A 41 0 R +/Parent 35 0 R +/Prev 39 0 R +/Next 47 0 R +>> endobj +39 0 obj << +/Title 40 0 R +/A 37 0 R +/Parent 35 0 R +/Next 43 0 R +>> endobj +35 0 obj << +/Title 36 0 R +/A 33 0 R +/Parent 4139 0 R +/Prev 3 0 R +/Next 51 0 R +/First 39 0 R +/Last 47 0 R +/Count -3 +>> endobj +31 0 obj << +/Title 32 0 R +/A 29 0 R +/Parent 3 0 R +/Prev 27 0 R +>> endobj +27 0 obj << +/Title 28 0 R +/A 25 0 R +/Parent 3 0 R +/Prev 23 0 R +/Next 31 0 R +>> endobj +23 0 obj << +/Title 24 0 R +/A 21 0 R +/Parent 3 0 R +/Prev 19 0 R +/Next 27 0 R +>> endobj +19 0 obj << +/Title 20 0 R +/A 17 0 R +/Parent 3 0 R +/Prev 15 0 R +/Next 23 0 R +>> endobj +15 0 obj << +/Title 16 0 R +/A 13 0 R +/Parent 3 0 R +/Prev 11 0 R +/Next 19 0 R +>> endobj +11 0 obj << +/Title 12 0 R +/A 9 0 R +/Parent 3 0 R +/Prev 7 0 R +/Next 15 0 R +>> endobj +7 0 obj << +/Title 8 0 R +/A 5 0 R +/Parent 3 0 R +/Next 11 0 R +>> endobj +3 0 obj << +/Title 4 0 R +/A 1 0 R +/Parent 4139 0 R +/Next 35 0 R +/First 7 0 R +/Last 31 0 R +/Count -7 +>> endobj +4140 0 obj << +/Names [(Doc-Start) 693 0 R (Item.1) 3899 0 R (Item.10) 3945 0 R (Item.11) 3946 0 R (Item.12) 3947 0 R (Item.13) 3948 0 R] +/Limits [(Doc-Start) (Item.13)] +>> endobj +4141 0 obj << +/Names [(Item.14) 3949 0 R (Item.15) 3950 0 R (Item.16) 3982 0 R (Item.17) 3983 0 R (Item.2) 3900 0 R (Item.3) 3901 0 R] +/Limits [(Item.14) (Item.3)] +>> endobj +4142 0 obj << +/Names [(Item.4) 3939 0 R (Item.5) 3940 0 R (Item.6) 3941 0 R (Item.7) 3942 0 R (Item.8) 3943 0 R (Item.9) 3944 0 R] +/Limits [(Item.4) (Item.9)] +>> endobj +4143 0 obj << +/Names [(V1.71.0) 3757 0 R (V1.71.0_Common) 3758 0 R (V1.71.0_Extensions) 3759 0 R (V1.71.0_FO) 3764 0 R (V1.71.0_HTML) 3765 0 R (V1.71.0_Highlighting) 3774 0 R] +/Limits [(V1.71.0) (V1.71.0_Highlighting)] +>> endobj +4144 0 obj << +/Names [(V1.71.0_Manpages) 3775 0 R (V1.71.0_Params) 3776 0 R (V1.71.0_Tools) 3781 0 R (V1.71.1) 3737 0 R (V1.71.1_Common) 3738 0 R (V1.71.1_FO) 3739 0 R] +/Limits [(V1.71.0_Manpages) (V1.71.1_FO)] +>> endobj +4145 0 obj << +/Names [(V1.71.1_HTML) 3740 0 R (V1.71.1_Highlighting) 3745 0 R (V1.71.1_Manpages) 3746 0 R (V1.71.1_Params) 3747 0 R (V1.71.1_Profiling) 3748 0 R (V1.72.0) 3705 0 R] +/Limits [(V1.71.1_HTML) (V1.72.0)] +>> endobj +4146 0 obj << +/Names [(V1.72.0_Common) 3714 0 R (V1.72.0_FO) 3719 0 R (V1.72.0_HTML) 3720 0 R (V1.72.0_Manpages) 3725 0 R (V1.72.0_Params) 3726 0 R (V1.72.0_Roundtrip) 3732 0 R] +/Limits [(V1.72.0_Common) (V1.72.0_Roundtrip)] +>> endobj +4147 0 obj << +/Names [(V1.72.0_Template) 3731 0 R (V1.73.0) 3199 0 R (V1.73.0_Common) 3226 0 R (V1.73.0_Eclipse) 3568 0 R (V1.73.0_FO) 3256 0 R (V1.73.0_Gentext) 3201 0 R] +/Limits [(V1.72.0_Template) (V1.73.0_Gentext)] +>> endobj +4148 0 obj << +/Names [(V1.73.0_HTML) 3319 0 R (V1.73.0_Highlighting) 3653 0 R (V1.73.0_JavaHelp) 3573 0 R (V1.73.0_Lib) 3663 0 R (V1.73.0_Manpages) 3413 0 R (V1.73.0_Params) 3588 0 R] +/Limits [(V1.73.0_HTML) (V1.73.0_Params)] +>> endobj +4149 0 obj << +/Names [(V1.73.0_Profiling) 3660 0 R (V1.73.0_Roundtrip) 3579 0 R (V1.73.0_Tools) 3667 0 R (V1.73.0_XSL-Saxon) 3673 0 R (V1.73.0_XSL-Xalan) 3688 0 R (V1.73.1) 3111 0 R] +/Limits [(V1.73.0_Profiling) (V1.73.1)] +>> endobj +4150 0 obj << +/Names [(V1.73.1_Eclipse) 3176 0 R (V1.73.1_FO) 3117 0 R (V1.73.1_Gentext) 3112 0 R (V1.73.1_HTML) 3133 0 R (V1.73.1_HTMLHelp) 3172 0 R (V1.73.1_JavaHelp) 3180 0 R] +/Limits [(V1.73.1_Eclipse) (V1.73.1_JavaHelp)] +>> endobj +4151 0 obj << +/Names [(V1.73.1_Manpages) 3166 0 R (V1.73.1_Params) 3193 0 R (V1.73.1_Roundtrip) 3184 0 R (V1.73.2) 3110 0 R (V1.74.0) 1972 0 R (V1.74.0_Common) 2011 0 R] +/Limits [(V1.73.1_Manpages) (V1.74.0_Common)] +>> endobj +4152 0 obj << +/Names [(V1.74.0_Eclipse) 2818 0 R (V1.74.0_Epub) 2754 0 R (V1.74.0_Extensions) 3065 0 R (V1.74.0_FO) 2105 0 R (V1.74.0_Gentext) 1977 0 R (V1.74.0_HTML) 2230 0 R] +/Limits [(V1.74.0_Eclipse) (V1.74.0_HTML)] +>> endobj +4153 0 obj << +/Names [(V1.74.0_HTMLHelp) 2812 0 R (V1.74.0_JavaHelp) 2838 0 R (V1.74.0_Manpages) 2353 0 R (V1.74.0_Params) 2890 0 R (V1.74.0_Profiling) 3027 0 R (V1.74.0_Roundtrip) 2844 0 R] +/Limits [(V1.74.0_HTMLHelp) (V1.74.0_Roundtrip)] +>> endobj +4154 0 obj << +/Names [(V1.74.0_Slides) 2875 0 R (V1.74.0_Tools) 3033 0 R (V1.74.0_Website) 2883 0 R (V1.74.0_XSL-Saxon) 3073 0 R (V1.74.0_XSL-Xalan) 3084 0 R (V1.74.0_XSL-libxslt) 3099 0 R] +/Limits [(V1.74.0_Slides) (V1.74.0_XSL-libxslt)] +>> endobj +4155 0 obj << +/Names [(V1.74.1) 1838 0 R (V1.74.2) 1837 0 R (V1.74.3) 1836 0 R (V1.75.0) 1348 0 R (V1.76.0) 976 0 R (V1.76.1) 965 0 R] +/Limits [(V1.74.1) (V1.76.1)] +>> endobj +4156 0 obj << +/Names [(V1.76.1_Common) 908 0 R (V1.76.1_Epub) 925 0 R (V1.76.1_Extensions) 956 0 R (V1.76.1_FO) 914 0 R (V1.76.1_HTML) 920 0 R (V1.76.1_Params) 953 0 R] +/Limits [(V1.76.1_Common) (V1.76.1_Params)] +>> endobj +4157 0 obj << +/Names [(V1.76.1_Webhelp) 940 0 R (V1560) 4087 0 R (V1570) 4082 0 R (V1580) 4081 0 R (V1591) 4080 0 R (V1592) 4075 0 R] +/Limits [(V1.76.1_Webhelp) (V1592)] +>> endobj +4158 0 obj << +/Names [(V1601) 4044 0 R (V1610) 4039 0 R (V1641) 4033 0 R (V1650) 4024 0 R (V1661) 4015 0 R (V1670) 4014 0 R] +/Limits [(V1601) (V1670)] +>> endobj +4159 0 obj << +/Names [(V1671) 3971 0 R (V1671_EXT) 3981 0 R (V1671_FO) 3972 0 R (V1671_HELP) 3979 0 R (V1671_HTML) 3978 0 R (V1671_MAN) 3980 0 R] +/Limits [(V1671) (V1671_MAN)] +>> endobj +4160 0 obj << +/Names [(V1672) 3970 0 R (V1680) 3961 0 R (V1680_FO) 3962 0 R (V1680_HTML) 3968 0 R (V1680_images) 3969 0 R (V1681) 3960 0 R] +/Limits [(V1672) (V1681)] +>> endobj +4161 0 obj << +/Names [(V1690) 3880 0 R (V1690_COMMON) 3881 0 R (V1690_FO) 3888 0 R (V1690_HELP) 3889 0 R (V1690_HTML) 3890 0 R (V1690_MAN) 3883 0 R] +/Limits [(V1690) (V1690_MAN)] +>> endobj +4162 0 obj << +/Names [(V1691) 3875 0 R (V1700) 3792 0 R (V1700_Common) 3798 0 R (V1700_Extensions) 3803 0 R (V1700_FO) 3804 0 R (V1700_HTML) 3821 0 R] +/Limits [(V1691) (V1700_HTML)] +>> endobj +4163 0 obj << +/Names [(V1700_Manpages) 3835 0 R (V1700_Params) 3848 0 R (V1700_Profiling) 3866 0 R (V1700_Tools) 3873 0 R (V1700_WordML) 3874 0 R (V1701) 3782 0 R] +/Limits [(V1700_Manpages) (V1701)] +>> endobj +4164 0 obj << +/Names [(V1701_FO) 3783 0 R (V1701_HTML) 3789 0 R (V1701_HTMLHelp) 3790 0 R (V1701_Params) 3791 0 R (VOlder) 4092 0 R (cocnt.1) 3910 0 R] +/Limits [(V1701_FO) (cocnt.1)] +>> endobj +4165 0 obj << +/Names [(cocnt.2) 3915 0 R (cocnt.3) 3917 0 R (cocnt.4) 3919 0 R (cocnt.5) 3921 0 R (cocnt.6) 3923 0 R (current) 907 0 R] +/Limits [(cocnt.2) (current)] +>> endobj +4166 0 obj << +/Names [(dot0) 902 0 R (lstlisting.-1) 910 0 R (lstlisting.-10) 938 0 R (lstlisting.-100) 1198 0 R (lstlisting.-101) 1200 0 R (lstlisting.-102) 1207 0 R] +/Limits [(dot0) (lstlisting.-102)] +>> endobj +4167 0 obj << +/Names [(lstlisting.-103) 1230 0 R (lstlisting.-104) 1232 0 R (lstlisting.-105) 1236 0 R (lstlisting.-106) 1243 0 R (lstlisting.-107) 1249 0 R (lstlisting.-108) 1253 0 R] +/Limits [(lstlisting.-103) (lstlisting.-108)] +>> endobj +4168 0 obj << +/Names [(lstlisting.-109) 1255 0 R (lstlisting.-11) 941 0 R (lstlisting.-110) 1257 0 R (lstlisting.-111) 1263 0 R (lstlisting.-112) 1265 0 R (lstlisting.-113) 1268 0 R] +/Limits [(lstlisting.-109) (lstlisting.-113)] +>> endobj +4169 0 obj << +/Names [(lstlisting.-114) 1272 0 R (lstlisting.-115) 1274 0 R (lstlisting.-116) 1276 0 R (lstlisting.-117) 1278 0 R (lstlisting.-118) 1281 0 R (lstlisting.-119) 1283 0 R] +/Limits [(lstlisting.-114) (lstlisting.-119)] +>> endobj +4170 0 obj << +/Names [(lstlisting.-12) 943 0 R (lstlisting.-120) 1291 0 R (lstlisting.-121) 1294 0 R (lstlisting.-122) 1296 0 R (lstlisting.-123) 1298 0 R (lstlisting.-124) 1301 0 R] +/Limits [(lstlisting.-12) (lstlisting.-124)] +>> endobj +4171 0 obj << +/Names [(lstlisting.-125) 1303 0 R (lstlisting.-126) 1306 0 R (lstlisting.-127) 1308 0 R (lstlisting.-128) 1311 0 R (lstlisting.-129) 1318 0 R (lstlisting.-13) 945 0 R] +/Limits [(lstlisting.-125) (lstlisting.-13)] +>> endobj +4172 0 obj << +/Names [(lstlisting.-130) 1321 0 R (lstlisting.-131) 1325 0 R (lstlisting.-132) 1327 0 R (lstlisting.-133) 1330 0 R (lstlisting.-134) 1332 0 R (lstlisting.-135) 1339 0 R] +/Limits [(lstlisting.-130) (lstlisting.-135)] +>> endobj +4173 0 obj << +/Names [(lstlisting.-136) 1341 0 R (lstlisting.-137) 1343 0 R (lstlisting.-138) 1346 0 R (lstlisting.-139) 1354 0 R (lstlisting.-14) 947 0 R (lstlisting.-140) 1356 0 R] +/Limits [(lstlisting.-136) (lstlisting.-140)] +>> endobj +4174 0 obj << +/Names [(lstlisting.-141) 1362 0 R (lstlisting.-142) 1365 0 R (lstlisting.-143) 1367 0 R (lstlisting.-144) 1369 0 R (lstlisting.-145) 1371 0 R (lstlisting.-146) 1373 0 R] +/Limits [(lstlisting.-141) (lstlisting.-146)] +>> endobj +4175 0 obj << +/Names [(lstlisting.-147) 1376 0 R (lstlisting.-148) 1378 0 R (lstlisting.-149) 1388 0 R (lstlisting.-15) 949 0 R (lstlisting.-150) 1391 0 R (lstlisting.-151) 1394 0 R] +/Limits [(lstlisting.-147) (lstlisting.-151)] +>> endobj +4176 0 obj << +/Names [(lstlisting.-152) 1400 0 R (lstlisting.-153) 1402 0 R (lstlisting.-154) 1406 0 R (lstlisting.-155) 1410 0 R (lstlisting.-156) 1413 0 R (lstlisting.-157) 1418 0 R] +/Limits [(lstlisting.-152) (lstlisting.-157)] +>> endobj +4177 0 obj << +/Names [(lstlisting.-158) 1422 0 R (lstlisting.-159) 1424 0 R (lstlisting.-16) 951 0 R (lstlisting.-160) 1426 0 R (lstlisting.-161) 1428 0 R (lstlisting.-162) 1431 0 R] +/Limits [(lstlisting.-158) (lstlisting.-162)] +>> endobj +4178 0 obj << +/Names [(lstlisting.-163) 1438 0 R (lstlisting.-164) 1441 0 R (lstlisting.-165) 1443 0 R (lstlisting.-166) 1445 0 R (lstlisting.-167) 1448 0 R (lstlisting.-168) 1450 0 R] +/Limits [(lstlisting.-163) (lstlisting.-168)] +>> endobj +4179 0 obj << +/Names [(lstlisting.-169) 1452 0 R (lstlisting.-17) 954 0 R (lstlisting.-170) 1454 0 R (lstlisting.-171) 1464 0 R (lstlisting.-172) 1467 0 R (lstlisting.-173) 1470 0 R] +/Limits [(lstlisting.-169) (lstlisting.-173)] +>> endobj +4180 0 obj << +/Names [(lstlisting.-174) 1476 0 R (lstlisting.-175) 1478 0 R (lstlisting.-176) 1480 0 R (lstlisting.-177) 1483 0 R (lstlisting.-178) 1486 0 R (lstlisting.-179) 1488 0 R] +/Limits [(lstlisting.-174) (lstlisting.-179)] +>> endobj +4181 0 obj << +/Names [(lstlisting.-18) 957 0 R (lstlisting.-180) 1490 0 R (lstlisting.-181) 1492 0 R (lstlisting.-182) 1495 0 R (lstlisting.-183) 1497 0 R (lstlisting.-184) 1500 0 R] +/Limits [(lstlisting.-18) (lstlisting.-184)] +>> endobj +4182 0 obj << +/Names [(lstlisting.-185) 1502 0 R (lstlisting.-186) 1504 0 R (lstlisting.-187) 1511 0 R (lstlisting.-188) 1514 0 R (lstlisting.-189) 1517 0 R (lstlisting.-19) 959 0 R] +/Limits [(lstlisting.-185) (lstlisting.-19)] +>> endobj +4183 0 obj << +/Names [(lstlisting.-190) 1519 0 R (lstlisting.-191) 1522 0 R (lstlisting.-192) 1525 0 R (lstlisting.-193) 1529 0 R (lstlisting.-194) 1531 0 R (lstlisting.-195) 1535 0 R] +/Limits [(lstlisting.-190) (lstlisting.-195)] +>> endobj +4184 0 obj << +/Names [(lstlisting.-196) 1539 0 R (lstlisting.-197) 1541 0 R (lstlisting.-198) 1543 0 R (lstlisting.-199) 1549 0 R (lstlisting.-2) 912 0 R (lstlisting.-20) 967 0 R] +/Limits [(lstlisting.-196) (lstlisting.-20)] +>> endobj +4185 0 obj << +/Names [(lstlisting.-200) 1551 0 R (lstlisting.-201) 1555 0 R (lstlisting.-202) 1557 0 R (lstlisting.-203) 1559 0 R (lstlisting.-204) 1562 0 R (lstlisting.-205) 1564 0 R] +/Limits [(lstlisting.-200) (lstlisting.-205)] +>> endobj +4186 0 obj << +/Names [(lstlisting.-206) 1566 0 R (lstlisting.-207) 1573 0 R (lstlisting.-208) 1575 0 R (lstlisting.-209) 1577 0 R (lstlisting.-21) 971 0 R (lstlisting.-210) 1580 0 R] +/Limits [(lstlisting.-206) (lstlisting.-210)] +>> endobj +4187 0 obj << +/Names [(lstlisting.-211) 1582 0 R (lstlisting.-212) 1584 0 R (lstlisting.-213) 1591 0 R (lstlisting.-214) 1594 0 R (lstlisting.-215) 1598 0 R (lstlisting.-216) 1601 0 R] +/Limits [(lstlisting.-211) (lstlisting.-216)] +>> endobj +4188 0 obj << +/Names [(lstlisting.-217) 1603 0 R (lstlisting.-218) 1606 0 R (lstlisting.-219) 1608 0 R (lstlisting.-22) 974 0 R (lstlisting.-220) 1610 0 R (lstlisting.-221) 1615 0 R] +/Limits [(lstlisting.-217) (lstlisting.-221)] +>> endobj +4189 0 obj << +/Names [(lstlisting.-222) 1618 0 R (lstlisting.-223) 1620 0 R (lstlisting.-224) 1626 0 R (lstlisting.-225) 1628 0 R (lstlisting.-226) 1632 0 R (lstlisting.-227) 1636 0 R] +/Limits [(lstlisting.-222) (lstlisting.-227)] +>> endobj +4190 0 obj << +/Names [(lstlisting.-228) 1638 0 R (lstlisting.-229) 1641 0 R (lstlisting.-23) 983 0 R (lstlisting.-230) 1643 0 R (lstlisting.-231) 1648 0 R (lstlisting.-232) 1652 0 R] +/Limits [(lstlisting.-228) (lstlisting.-232)] +>> endobj +4191 0 obj << +/Names [(lstlisting.-233) 1655 0 R (lstlisting.-234) 1660 0 R (lstlisting.-235) 1667 0 R (lstlisting.-236) 1670 0 R (lstlisting.-237) 1674 0 R (lstlisting.-238) 1677 0 R] +/Limits [(lstlisting.-233) (lstlisting.-238)] +>> endobj +4192 0 obj << +/Names [(lstlisting.-239) 1681 0 R (lstlisting.-24) 985 0 R (lstlisting.-240) 1685 0 R (lstlisting.-241) 1689 0 R (lstlisting.-242) 1691 0 R (lstlisting.-243) 1693 0 R] +/Limits [(lstlisting.-239) (lstlisting.-243)] +>> endobj +4193 0 obj << +/Names [(lstlisting.-244) 1695 0 R (lstlisting.-245) 1697 0 R (lstlisting.-246) 1699 0 R (lstlisting.-247) 1707 0 R (lstlisting.-248) 1710 0 R (lstlisting.-249) 1712 0 R] +/Limits [(lstlisting.-244) (lstlisting.-249)] +>> endobj +4194 0 obj << +/Names [(lstlisting.-25) 987 0 R (lstlisting.-250) 1715 0 R (lstlisting.-251) 1717 0 R (lstlisting.-252) 1719 0 R (lstlisting.-253) 1721 0 R (lstlisting.-254) 1723 0 R] +/Limits [(lstlisting.-25) (lstlisting.-254)] +>> endobj +4195 0 obj << +/Names [(lstlisting.-255) 1726 0 R (lstlisting.-256) 1729 0 R (lstlisting.-257) 1736 0 R (lstlisting.-258) 1738 0 R (lstlisting.-259) 1740 0 R (lstlisting.-26) 989 0 R] +/Limits [(lstlisting.-255) (lstlisting.-26)] +>> endobj +4196 0 obj << +/Names [(lstlisting.-260) 1742 0 R (lstlisting.-261) 1744 0 R (lstlisting.-262) 1746 0 R (lstlisting.-263) 1748 0 R (lstlisting.-264) 1750 0 R (lstlisting.-265) 1752 0 R] +/Limits [(lstlisting.-260) (lstlisting.-265)] +>> endobj +4197 0 obj << +/Names [(lstlisting.-266) 1755 0 R (lstlisting.-267) 1757 0 R (lstlisting.-268) 1759 0 R (lstlisting.-269) 1761 0 R (lstlisting.-27) 991 0 R (lstlisting.-270) 1768 0 R] +/Limits [(lstlisting.-266) (lstlisting.-270)] +>> endobj +4198 0 obj << +/Names [(lstlisting.-271) 1771 0 R (lstlisting.-272) 1773 0 R (lstlisting.-273) 1780 0 R (lstlisting.-274) 1783 0 R (lstlisting.-275) 1787 0 R (lstlisting.-276) 1789 0 R] +/Limits [(lstlisting.-271) (lstlisting.-276)] +>> endobj +4199 0 obj << +/Names [(lstlisting.-277) 1792 0 R (lstlisting.-278) 1796 0 R (lstlisting.-279) 1798 0 R (lstlisting.-28) 993 0 R (lstlisting.-280) 1804 0 R (lstlisting.-281) 1806 0 R] +/Limits [(lstlisting.-277) (lstlisting.-281)] +>> endobj +4200 0 obj << +/Names [(lstlisting.-282) 1808 0 R (lstlisting.-283) 1811 0 R (lstlisting.-284) 1813 0 R (lstlisting.-285) 1815 0 R (lstlisting.-286) 1818 0 R (lstlisting.-287) 1820 0 R] +/Limits [(lstlisting.-282) (lstlisting.-287)] +>> endobj +4201 0 obj << +/Names [(lstlisting.-288) 1822 0 R (lstlisting.-289) 1825 0 R (lstlisting.-29) 995 0 R (lstlisting.-290) 1829 0 R (lstlisting.-291) 1845 0 R (lstlisting.-292) 1847 0 R] +/Limits [(lstlisting.-288) (lstlisting.-292)] +>> endobj +4202 0 obj << +/Names [(lstlisting.-293) 1849 0 R (lstlisting.-294) 1851 0 R (lstlisting.-295) 1854 0 R (lstlisting.-296) 1856 0 R (lstlisting.-297) 1858 0 R (lstlisting.-298) 1861 0 R] +/Limits [(lstlisting.-293) (lstlisting.-298)] +>> endobj +4203 0 obj << +/Names [(lstlisting.-299) 1864 0 R (lstlisting.-3) 915 0 R (lstlisting.-30) 997 0 R (lstlisting.-300) 1866 0 R (lstlisting.-301) 1876 0 R (lstlisting.-302) 1878 0 R] +/Limits [(lstlisting.-299) (lstlisting.-302)] +>> endobj +4204 0 obj << +/Names [(lstlisting.-303) 1885 0 R (lstlisting.-304) 1892 0 R (lstlisting.-305) 1894 0 R (lstlisting.-306) 1899 0 R (lstlisting.-307) 1912 0 R (lstlisting.-308) 1921 0 R] +/Limits [(lstlisting.-303) (lstlisting.-308)] +>> endobj +4205 0 obj << +/Names [(lstlisting.-309) 1923 0 R (lstlisting.-31) 1000 0 R (lstlisting.-310) 1925 0 R (lstlisting.-311) 1927 0 R (lstlisting.-312) 1938 0 R (lstlisting.-313) 1941 0 R] +/Limits [(lstlisting.-309) (lstlisting.-313)] +>> endobj +4206 0 obj << +/Names [(lstlisting.-314) 1943 0 R (lstlisting.-315) 1945 0 R (lstlisting.-316) 1947 0 R (lstlisting.-317) 1956 0 R (lstlisting.-318) 1958 0 R (lstlisting.-319) 1961 0 R] +/Limits [(lstlisting.-314) (lstlisting.-319)] +>> endobj +4207 0 obj << +/Names [(lstlisting.-32) 1002 0 R (lstlisting.-320) 1967 0 R (lstlisting.-321) 1978 0 R (lstlisting.-322) 1980 0 R (lstlisting.-323) 1982 0 R (lstlisting.-324) 1984 0 R] +/Limits [(lstlisting.-32) (lstlisting.-324)] +>> endobj +4208 0 obj << +/Names [(lstlisting.-325) 1986 0 R (lstlisting.-326) 1989 0 R (lstlisting.-327) 1991 0 R (lstlisting.-328) 1993 0 R (lstlisting.-329) 2001 0 R (lstlisting.-33) 1004 0 R] +/Limits [(lstlisting.-325) (lstlisting.-33)] +>> endobj +4209 0 obj << +/Names [(lstlisting.-330) 2005 0 R (lstlisting.-331) 2007 0 R (lstlisting.-332) 2009 0 R (lstlisting.-333) 2012 0 R (lstlisting.-334) 2016 0 R (lstlisting.-335) 2018 0 R] +/Limits [(lstlisting.-330) (lstlisting.-335)] +>> endobj +4210 0 obj << +/Names [(lstlisting.-336) 2020 0 R (lstlisting.-337) 2024 0 R (lstlisting.-338) 2027 0 R (lstlisting.-339) 2063 0 R (lstlisting.-34) 1010 0 R (lstlisting.-340) 2068 0 R] +/Limits [(lstlisting.-336) (lstlisting.-340)] +>> endobj +4211 0 obj << +/Names [(lstlisting.-341) 2070 0 R (lstlisting.-342) 2073 0 R (lstlisting.-343) 2075 0 R (lstlisting.-344) 2078 0 R (lstlisting.-345) 2080 0 R (lstlisting.-346) 2092 0 R] +/Limits [(lstlisting.-341) (lstlisting.-346)] +>> endobj +4212 0 obj << +/Names [(lstlisting.-347) 2096 0 R (lstlisting.-348) 2098 0 R (lstlisting.-349) 2101 0 R (lstlisting.-35) 1013 0 R (lstlisting.-350) 2106 0 R (lstlisting.-351) 2108 0 R] +/Limits [(lstlisting.-347) (lstlisting.-351)] +>> endobj +4213 0 obj << +/Names [(lstlisting.-352) 2110 0 R (lstlisting.-353) 2112 0 R (lstlisting.-354) 2115 0 R (lstlisting.-355) 2117 0 R (lstlisting.-356) 2119 0 R (lstlisting.-357) 2121 0 R] +/Limits [(lstlisting.-352) (lstlisting.-357)] +>> endobj +4214 0 obj << +/Names [(lstlisting.-358) 2127 0 R (lstlisting.-359) 2129 0 R (lstlisting.-36) 1015 0 R (lstlisting.-360) 2131 0 R (lstlisting.-361) 2133 0 R (lstlisting.-362) 2136 0 R] +/Limits [(lstlisting.-358) (lstlisting.-362)] +>> endobj +4215 0 obj << +/Names [(lstlisting.-363) 2138 0 R (lstlisting.-364) 2140 0 R (lstlisting.-365) 2142 0 R (lstlisting.-366) 2144 0 R (lstlisting.-367) 2146 0 R (lstlisting.-368) 2148 0 R] +/Limits [(lstlisting.-363) (lstlisting.-368)] +>> endobj +4216 0 obj << +/Names [(lstlisting.-369) 2151 0 R (lstlisting.-37) 1017 0 R (lstlisting.-370) 2154 0 R (lstlisting.-371) 2161 0 R (lstlisting.-372) 2163 0 R (lstlisting.-373) 2165 0 R] +/Limits [(lstlisting.-369) (lstlisting.-373)] +>> endobj +4217 0 obj << +/Names [(lstlisting.-374) 2167 0 R (lstlisting.-375) 2169 0 R (lstlisting.-376) 2172 0 R (lstlisting.-377) 2178 0 R (lstlisting.-378) 2180 0 R (lstlisting.-379) 2182 0 R] +/Limits [(lstlisting.-374) (lstlisting.-379)] +>> endobj +4218 0 obj << +/Names [(lstlisting.-38) 1019 0 R (lstlisting.-380) 2186 0 R (lstlisting.-381) 2231 0 R (lstlisting.-382) 2233 0 R (lstlisting.-383) 2235 0 R (lstlisting.-384) 2237 0 R] +/Limits [(lstlisting.-38) (lstlisting.-384)] +>> endobj +4219 0 obj << +/Names [(lstlisting.-385) 2240 0 R (lstlisting.-386) 2250 0 R (lstlisting.-387) 2252 0 R (lstlisting.-388) 2257 0 R (lstlisting.-389) 2262 0 R (lstlisting.-39) 1021 0 R] +/Limits [(lstlisting.-385) (lstlisting.-39)] +>> endobj +4220 0 obj << +/Names [(lstlisting.-390) 2264 0 R (lstlisting.-391) 2266 0 R (lstlisting.-392) 2273 0 R (lstlisting.-393) 2286 0 R (lstlisting.-394) 2288 0 R (lstlisting.-395) 2296 0 R] +/Limits [(lstlisting.-390) (lstlisting.-395)] +>> endobj +4221 0 obj << +/Names [(lstlisting.-396) 2298 0 R (lstlisting.-397) 2300 0 R (lstlisting.-398) 2302 0 R (lstlisting.-399) 2305 0 R (lstlisting.-4) 918 0 R (lstlisting.-40) 1023 0 R] +/Limits [(lstlisting.-396) (lstlisting.-40)] +>> endobj +4222 0 obj << +/Names [(lstlisting.-400) 2307 0 R (lstlisting.-401) 2309 0 R (lstlisting.-402) 2311 0 R (lstlisting.-403) 2314 0 R (lstlisting.-404) 2319 0 R (lstlisting.-405) 2321 0 R] +/Limits [(lstlisting.-400) (lstlisting.-405)] +>> endobj +4223 0 obj << +/Names [(lstlisting.-406) 2323 0 R (lstlisting.-407) 2325 0 R (lstlisting.-408) 2331 0 R (lstlisting.-409) 2333 0 R (lstlisting.-41) 1026 0 R (lstlisting.-410) 2337 0 R] +/Limits [(lstlisting.-406) (lstlisting.-410)] +>> endobj +4224 0 obj << +/Names [(lstlisting.-411) 2344 0 R (lstlisting.-412) 2348 0 R (lstlisting.-413) 2354 0 R (lstlisting.-414) 2356 0 R (lstlisting.-415) 2359 0 R (lstlisting.-416) 2361 0 R] +/Limits [(lstlisting.-411) (lstlisting.-416)] +>> endobj +4225 0 obj << +/Names [(lstlisting.-417) 2363 0 R (lstlisting.-418) 2369 0 R (lstlisting.-419) 2372 0 R (lstlisting.-42) 1029 0 R (lstlisting.-420) 2390 0 R (lstlisting.-421) 2392 0 R] +/Limits [(lstlisting.-417) (lstlisting.-421)] +>> endobj +4226 0 obj << +/Names [(lstlisting.-422) 2395 0 R (lstlisting.-423) 2397 0 R (lstlisting.-424) 2399 0 R (lstlisting.-425) 2402 0 R (lstlisting.-426) 2405 0 R (lstlisting.-427) 2416 0 R] +/Limits [(lstlisting.-422) (lstlisting.-427)] +>> endobj +4227 0 obj << +/Names [(lstlisting.-428) 2418 0 R (lstlisting.-429) 2422 0 R (lstlisting.-43) 1031 0 R (lstlisting.-430) 2425 0 R (lstlisting.-431) 2428 0 R (lstlisting.-432) 2449 0 R] +/Limits [(lstlisting.-428) (lstlisting.-432)] +>> endobj +4228 0 obj << +/Names [(lstlisting.-433) 2455 0 R (lstlisting.-434) 2464 0 R (lstlisting.-435) 2467 0 R (lstlisting.-436) 2471 0 R (lstlisting.-437) 2476 0 R (lstlisting.-438) 2483 0 R] +/Limits [(lstlisting.-433) (lstlisting.-438)] +>> endobj +4229 0 obj << +/Names [(lstlisting.-439) 2486 0 R (lstlisting.-44) 1034 0 R (lstlisting.-440) 2489 0 R (lstlisting.-441) 2491 0 R (lstlisting.-442) 2497 0 R (lstlisting.-443) 2501 0 R] +/Limits [(lstlisting.-439) (lstlisting.-443)] +>> endobj +4230 0 obj << +/Names [(lstlisting.-444) 2507 0 R (lstlisting.-445) 2512 0 R (lstlisting.-446) 2518 0 R (lstlisting.-447) 2523 0 R (lstlisting.-448) 2527 0 R (lstlisting.-449) 2530 0 R] +/Limits [(lstlisting.-444) (lstlisting.-449)] +>> endobj +4231 0 obj << +/Names [(lstlisting.-45) 1037 0 R (lstlisting.-450) 2533 0 R (lstlisting.-451) 2536 0 R (lstlisting.-452) 2538 0 R (lstlisting.-453) 2540 0 R (lstlisting.-454) 2542 0 R] +/Limits [(lstlisting.-45) (lstlisting.-454)] +>> endobj +4232 0 obj << +/Names [(lstlisting.-455) 2550 0 R (lstlisting.-456) 2552 0 R (lstlisting.-457) 2554 0 R (lstlisting.-458) 2558 0 R (lstlisting.-459) 2561 0 R (lstlisting.-46) 1040 0 R] +/Limits [(lstlisting.-455) (lstlisting.-46)] +>> endobj +4233 0 obj << +/Names [(lstlisting.-460) 2565 0 R (lstlisting.-461) 2567 0 R (lstlisting.-462) 2569 0 R (lstlisting.-463) 2572 0 R (lstlisting.-464) 2600 0 R (lstlisting.-465) 2627 0 R] +/Limits [(lstlisting.-460) (lstlisting.-465)] +>> endobj +4234 0 obj << +/Names [(lstlisting.-466) 2629 0 R (lstlisting.-467) 2634 0 R (lstlisting.-468) 2639 0 R (lstlisting.-469) 2641 0 R (lstlisting.-47) 1048 0 R (lstlisting.-470) 2650 0 R] +/Limits [(lstlisting.-466) (lstlisting.-470)] +>> endobj +4235 0 obj << +/Names [(lstlisting.-471) 2654 0 R (lstlisting.-472) 2660 0 R (lstlisting.-473) 2663 0 R (lstlisting.-474) 2665 0 R (lstlisting.-475) 2668 0 R (lstlisting.-476) 2671 0 R] +/Limits [(lstlisting.-471) (lstlisting.-476)] +>> endobj +4236 0 obj << +/Names [(lstlisting.-477) 2675 0 R (lstlisting.-478) 2706 0 R (lstlisting.-479) 2708 0 R (lstlisting.-48) 1050 0 R (lstlisting.-480) 2712 0 R (lstlisting.-481) 2716 0 R] +/Limits [(lstlisting.-477) (lstlisting.-481)] +>> endobj +4237 0 obj << +/Names [(lstlisting.-482) 2720 0 R (lstlisting.-483) 2725 0 R (lstlisting.-484) 2734 0 R (lstlisting.-485) 2736 0 R (lstlisting.-486) 2739 0 R (lstlisting.-487) 2747 0 R] +/Limits [(lstlisting.-482) (lstlisting.-487)] +>> endobj +4238 0 obj << +/Names [(lstlisting.-488) 2750 0 R (lstlisting.-489) 2755 0 R (lstlisting.-49) 1053 0 R (lstlisting.-490) 2757 0 R (lstlisting.-491) 2759 0 R (lstlisting.-492) 2761 0 R] +/Limits [(lstlisting.-488) (lstlisting.-492)] +>> endobj +4239 0 obj << +/Names [(lstlisting.-493) 2763 0 R (lstlisting.-494) 2765 0 R (lstlisting.-495) 2768 0 R (lstlisting.-496) 2813 0 R (lstlisting.-497) 2819 0 R (lstlisting.-498) 2821 0 R] +/Limits [(lstlisting.-493) (lstlisting.-498)] +>> endobj +4240 0 obj << +/Names [(lstlisting.-499) 2823 0 R (lstlisting.-5) 921 0 R (lstlisting.-50) 1055 0 R (lstlisting.-500) 2831 0 R (lstlisting.-501) 2833 0 R (lstlisting.-502) 2839 0 R] +/Limits [(lstlisting.-499) (lstlisting.-502)] +>> endobj +4241 0 obj << +/Names [(lstlisting.-503) 2845 0 R (lstlisting.-504) 2847 0 R (lstlisting.-505) 2849 0 R (lstlisting.-506) 2851 0 R (lstlisting.-507) 2853 0 R (lstlisting.-508) 2855 0 R] +/Limits [(lstlisting.-503) (lstlisting.-508)] +>> endobj +4242 0 obj << +/Names [(lstlisting.-509) 2857 0 R (lstlisting.-51) 1057 0 R (lstlisting.-510) 2863 0 R (lstlisting.-511) 2865 0 R (lstlisting.-512) 2867 0 R (lstlisting.-513) 2869 0 R] +/Limits [(lstlisting.-509) (lstlisting.-513)] +>> endobj +4243 0 obj << +/Names [(lstlisting.-514) 2871 0 R (lstlisting.-515) 2873 0 R (lstlisting.-516) 2876 0 R (lstlisting.-517) 2881 0 R (lstlisting.-518) 2884 0 R (lstlisting.-519) 2891 0 R] +/Limits [(lstlisting.-514) (lstlisting.-519)] +>> endobj +4244 0 obj << +/Names [(lstlisting.-52) 1059 0 R (lstlisting.-520) 2893 0 R (lstlisting.-521) 2895 0 R (lstlisting.-522) 2897 0 R (lstlisting.-523) 2899 0 R (lstlisting.-524) 2902 0 R] +/Limits [(lstlisting.-52) (lstlisting.-524)] +>> endobj +4245 0 obj << +/Names [(lstlisting.-525) 2923 0 R (lstlisting.-526) 2927 0 R (lstlisting.-527) 2934 0 R (lstlisting.-528) 2937 0 R (lstlisting.-529) 2961 0 R (lstlisting.-53) 1061 0 R] +/Limits [(lstlisting.-525) (lstlisting.-53)] +>> endobj +4246 0 obj << +/Names [(lstlisting.-530) 2982 0 R (lstlisting.-531) 2984 0 R (lstlisting.-532) 2990 0 R (lstlisting.-533) 2994 0 R (lstlisting.-534) 2997 0 R (lstlisting.-535) 3000 0 R] +/Limits [(lstlisting.-530) (lstlisting.-535)] +>> endobj +4247 0 obj << +/Names [(lstlisting.-536) 3002 0 R (lstlisting.-537) 3004 0 R (lstlisting.-538) 3006 0 R (lstlisting.-539) 3008 0 R (lstlisting.-54) 1063 0 R (lstlisting.-540) 3010 0 R] +/Limits [(lstlisting.-536) (lstlisting.-540)] +>> endobj +4248 0 obj << +/Names [(lstlisting.-541) 3012 0 R (lstlisting.-542) 3014 0 R (lstlisting.-543) 3016 0 R (lstlisting.-544) 3018 0 R (lstlisting.-545) 3020 0 R (lstlisting.-546) 3028 0 R] +/Limits [(lstlisting.-541) (lstlisting.-546)] +>> endobj +4249 0 obj << +/Names [(lstlisting.-547) 3030 0 R (lstlisting.-548) 3034 0 R (lstlisting.-549) 3037 0 R (lstlisting.-55) 1065 0 R (lstlisting.-550) 3039 0 R (lstlisting.-551) 3044 0 R] +/Limits [(lstlisting.-547) (lstlisting.-551)] +>> endobj +4250 0 obj << +/Names [(lstlisting.-552) 3047 0 R (lstlisting.-553) 3050 0 R (lstlisting.-554) 3055 0 R (lstlisting.-555) 3066 0 R (lstlisting.-556) 3068 0 R (lstlisting.-557) 3071 0 R] +/Limits [(lstlisting.-552) (lstlisting.-557)] +>> endobj +4251 0 obj << +/Names [(lstlisting.-558) 3074 0 R (lstlisting.-559) 3077 0 R (lstlisting.-56) 1067 0 R (lstlisting.-560) 3080 0 R (lstlisting.-561) 3082 0 R (lstlisting.-562) 3085 0 R] +/Limits [(lstlisting.-558) (lstlisting.-562)] +>> endobj +4252 0 obj << +/Names [(lstlisting.-563) 3088 0 R (lstlisting.-564) 3091 0 R (lstlisting.-565) 3093 0 R (lstlisting.-566) 3100 0 R (lstlisting.-567) 3103 0 R (lstlisting.-568) 3106 0 R] +/Limits [(lstlisting.-563) (lstlisting.-568)] +>> endobj +4253 0 obj << +/Names [(lstlisting.-569) 3108 0 R (lstlisting.-57) 1071 0 R (lstlisting.-570) 3113 0 R (lstlisting.-571) 3115 0 R (lstlisting.-572) 3122 0 R (lstlisting.-573) 3128 0 R] +/Limits [(lstlisting.-569) (lstlisting.-573)] +>> endobj +4254 0 obj << +/Names [(lstlisting.-574) 3130 0 R (lstlisting.-575) 3134 0 R (lstlisting.-576) 3137 0 R (lstlisting.-577) 3145 0 R (lstlisting.-578) 3149 0 R (lstlisting.-579) 3151 0 R] +/Limits [(lstlisting.-574) (lstlisting.-579)] +>> endobj +4255 0 obj << +/Names [(lstlisting.-58) 1073 0 R (lstlisting.-580) 3156 0 R (lstlisting.-581) 3159 0 R (lstlisting.-582) 3167 0 R (lstlisting.-583) 3173 0 R (lstlisting.-584) 3177 0 R] +/Limits [(lstlisting.-58) (lstlisting.-584)] +>> endobj +4256 0 obj << +/Names [(lstlisting.-585) 3181 0 R (lstlisting.-586) 3185 0 R (lstlisting.-587) 3194 0 R (lstlisting.-588) 3197 0 R (lstlisting.-589) 3202 0 R (lstlisting.-59) 1080 0 R] +/Limits [(lstlisting.-585) (lstlisting.-59)] +>> endobj +4257 0 obj << +/Names [(lstlisting.-590) 3208 0 R (lstlisting.-591) 3210 0 R (lstlisting.-592) 3212 0 R (lstlisting.-593) 3214 0 R (lstlisting.-594) 3216 0 R (lstlisting.-595) 3218 0 R] +/Limits [(lstlisting.-590) (lstlisting.-595)] +>> endobj +4258 0 obj << +/Names [(lstlisting.-596) 3220 0 R (lstlisting.-597) 3222 0 R (lstlisting.-598) 3224 0 R (lstlisting.-599) 3227 0 R (lstlisting.-6) 926 0 R (lstlisting.-60) 1083 0 R] +/Limits [(lstlisting.-596) (lstlisting.-60)] +>> endobj +4259 0 obj << +/Names [(lstlisting.-600) 3231 0 R (lstlisting.-601) 3234 0 R (lstlisting.-602) 3244 0 R (lstlisting.-603) 3246 0 R (lstlisting.-604) 3253 0 R (lstlisting.-605) 3257 0 R] +/Limits [(lstlisting.-600) (lstlisting.-605)] +>> endobj +4260 0 obj << +/Names [(lstlisting.-606) 3259 0 R (lstlisting.-607) 3262 0 R (lstlisting.-608) 3264 0 R (lstlisting.-609) 3266 0 R (lstlisting.-61) 1085 0 R (lstlisting.-610) 3268 0 R] +/Limits [(lstlisting.-606) (lstlisting.-610)] +>> endobj +4261 0 obj << +/Names [(lstlisting.-611) 3270 0 R (lstlisting.-612) 3272 0 R (lstlisting.-613) 3274 0 R (lstlisting.-614) 3280 0 R (lstlisting.-615) 3282 0 R (lstlisting.-616) 3284 0 R] +/Limits [(lstlisting.-611) (lstlisting.-616)] +>> endobj +4262 0 obj << +/Names [(lstlisting.-617) 3289 0 R (lstlisting.-618) 3292 0 R (lstlisting.-619) 3295 0 R (lstlisting.-62) 1089 0 R (lstlisting.-620) 3298 0 R (lstlisting.-621) 3301 0 R] +/Limits [(lstlisting.-617) (lstlisting.-621)] +>> endobj +4263 0 obj << +/Names [(lstlisting.-622) 3303 0 R (lstlisting.-623) 3305 0 R (lstlisting.-624) 3307 0 R (lstlisting.-625) 3311 0 R (lstlisting.-626) 3313 0 R (lstlisting.-627) 3320 0 R] +/Limits [(lstlisting.-622) (lstlisting.-627)] +>> endobj +4264 0 obj << +/Names [(lstlisting.-628) 3323 0 R (lstlisting.-629) 3330 0 R (lstlisting.-63) 1092 0 R (lstlisting.-630) 3333 0 R (lstlisting.-631) 3336 0 R (lstlisting.-632) 3339 0 R] +/Limits [(lstlisting.-628) (lstlisting.-632)] +>> endobj +4265 0 obj << +/Names [(lstlisting.-633) 3342 0 R (lstlisting.-634) 3348 0 R (lstlisting.-635) 3362 0 R (lstlisting.-636) 3365 0 R (lstlisting.-637) 3372 0 R (lstlisting.-638) 3374 0 R] +/Limits [(lstlisting.-633) (lstlisting.-638)] +>> endobj +4266 0 obj << +/Names [(lstlisting.-639) 3376 0 R (lstlisting.-64) 1095 0 R (lstlisting.-640) 3378 0 R (lstlisting.-641) 3380 0 R (lstlisting.-642) 3382 0 R (lstlisting.-643) 3384 0 R] +/Limits [(lstlisting.-639) (lstlisting.-643)] +>> endobj +4267 0 obj << +/Names [(lstlisting.-644) 3386 0 R (lstlisting.-645) 3388 0 R (lstlisting.-646) 3393 0 R (lstlisting.-647) 3399 0 R (lstlisting.-648) 3401 0 R (lstlisting.-649) 3405 0 R] +/Limits [(lstlisting.-644) (lstlisting.-649)] +>> endobj +4268 0 obj << +/Names [(lstlisting.-65) 1097 0 R (lstlisting.-650) 3408 0 R (lstlisting.-651) 3414 0 R (lstlisting.-652) 3420 0 R (lstlisting.-653) 3426 0 R (lstlisting.-654) 3429 0 R] +/Limits [(lstlisting.-65) (lstlisting.-654)] +>> endobj +4269 0 obj << +/Names [(lstlisting.-655) 3433 0 R (lstlisting.-656) 3440 0 R (lstlisting.-657) 3466 0 R (lstlisting.-658) 3470 0 R (lstlisting.-659) 3473 0 R (lstlisting.-66) 1099 0 R] +/Limits [(lstlisting.-655) (lstlisting.-66)] +>> endobj +4270 0 obj << +/Names [(lstlisting.-660) 3489 0 R (lstlisting.-661) 3497 0 R (lstlisting.-662) 3519 0 R (lstlisting.-663) 3522 0 R (lstlisting.-664) 3529 0 R (lstlisting.-665) 3569 0 R] +/Limits [(lstlisting.-660) (lstlisting.-665)] +>> endobj +4271 0 obj << +/Names [(lstlisting.-666) 3571 0 R (lstlisting.-667) 3574 0 R (lstlisting.-668) 3576 0 R (lstlisting.-669) 3580 0 R (lstlisting.-67) 1101 0 R (lstlisting.-670) 3582 0 R] +/Limits [(lstlisting.-666) (lstlisting.-670)] +>> endobj +4272 0 obj << +/Names [(lstlisting.-671) 3589 0 R (lstlisting.-672) 3591 0 R (lstlisting.-673) 3593 0 R (lstlisting.-674) 3596 0 R (lstlisting.-675) 3598 0 R (lstlisting.-676) 3600 0 R] +/Limits [(lstlisting.-671) (lstlisting.-676)] +>> endobj +4273 0 obj << +/Names [(lstlisting.-677) 3603 0 R (lstlisting.-678) 3607 0 R (lstlisting.-679) 3609 0 R (lstlisting.-68) 1103 0 R (lstlisting.-680) 3615 0 R (lstlisting.-681) 3620 0 R] +/Limits [(lstlisting.-677) (lstlisting.-681)] +>> endobj +4274 0 obj << +/Names [(lstlisting.-682) 3626 0 R (lstlisting.-683) 3628 0 R (lstlisting.-684) 3630 0 R (lstlisting.-685) 3632 0 R (lstlisting.-686) 3634 0 R (lstlisting.-687) 3636 0 R] +/Limits [(lstlisting.-682) (lstlisting.-687)] +>> endobj +4275 0 obj << +/Names [(lstlisting.-688) 3638 0 R (lstlisting.-689) 3641 0 R (lstlisting.-69) 1106 0 R (lstlisting.-690) 3643 0 R (lstlisting.-691) 3645 0 R (lstlisting.-692) 3647 0 R] +/Limits [(lstlisting.-688) (lstlisting.-692)] +>> endobj +4276 0 obj << +/Names [(lstlisting.-693) 3651 0 R (lstlisting.-694) 3654 0 R (lstlisting.-695) 3661 0 R (lstlisting.-696) 3664 0 R (lstlisting.-697) 3668 0 R (lstlisting.-698) 3674 0 R] +/Limits [(lstlisting.-693) (lstlisting.-698)] +>> endobj +4277 0 obj << +/Names [(lstlisting.-699) 3677 0 R (lstlisting.-7) 928 0 R (lstlisting.-70) 1108 0 R (lstlisting.-700) 3682 0 R (lstlisting.-701) 3689 0 R (lstlisting.-702) 3695 0 R] +/Limits [(lstlisting.-699) (lstlisting.-702)] +>> endobj +4278 0 obj << +/Names [(lstlisting.-703) 3698 0 R (lstlisting.-704) 3703 0 R (lstlisting.-705) 3906 0 R (lstlisting.-706) 3984 0 R (lstlisting.-707) 3994 0 R (lstlisting.-708) 3999 0 R] +/Limits [(lstlisting.-703) (lstlisting.-708)] +>> endobj +4279 0 obj << +/Names [(lstlisting.-709) 4025 0 R (lstlisting.-71) 1114 0 R (lstlisting.-710) 4045 0 R (lstlisting.-711) 4047 0 R (lstlisting.-712) 4049 0 R (lstlisting.-713) 4057 0 R] +/Limits [(lstlisting.-709) (lstlisting.-713)] +>> endobj +4280 0 obj << +/Names [(lstlisting.-714) 4065 0 R (lstlisting.-72) 1116 0 R (lstlisting.-73) 1119 0 R (lstlisting.-74) 1121 0 R (lstlisting.-75) 1124 0 R (lstlisting.-76) 1126 0 R] +/Limits [(lstlisting.-714) (lstlisting.-76)] +>> endobj +4281 0 obj << +/Names [(lstlisting.-77) 1130 0 R (lstlisting.-78) 1132 0 R (lstlisting.-79) 1134 0 R (lstlisting.-8) 934 0 R (lstlisting.-80) 1136 0 R (lstlisting.-81) 1138 0 R] +/Limits [(lstlisting.-77) (lstlisting.-81)] +>> endobj +4282 0 obj << +/Names [(lstlisting.-82) 1140 0 R (lstlisting.-83) 1142 0 R (lstlisting.-84) 1149 0 R (lstlisting.-85) 1151 0 R (lstlisting.-86) 1153 0 R (lstlisting.-87) 1155 0 R] +/Limits [(lstlisting.-82) (lstlisting.-87)] +>> endobj +4283 0 obj << +/Names [(lstlisting.-88) 1157 0 R (lstlisting.-89) 1164 0 R (lstlisting.-9) 936 0 R (lstlisting.-90) 1166 0 R (lstlisting.-91) 1170 0 R (lstlisting.-92) 1173 0 R] +/Limits [(lstlisting.-88) (lstlisting.-92)] +>> endobj +4284 0 obj << +/Names [(lstlisting.-93) 1175 0 R (lstlisting.-94) 1177 0 R (lstlisting.-95) 1187 0 R (lstlisting.-96) 1189 0 R (lstlisting.-97) 1191 0 R (lstlisting.-98) 1194 0 R] +/Limits [(lstlisting.-93) (lstlisting.-98)] +>> endobj +4285 0 obj << +/Names [(lstlisting.-99) 1196 0 R (lstnumber.-1.1) 911 0 R (lstnumber.-10.1) 939 0 R (lstnumber.-100.1) 1199 0 R (lstnumber.-101.1) 1201 0 R (lstnumber.-101.2) 1202 0 R] +/Limits [(lstlisting.-99) (lstnumber.-101.2)] +>> endobj +4286 0 obj << +/Names [(lstnumber.-101.3) 1203 0 R (lstnumber.-101.4) 1204 0 R (lstnumber.-101.5) 1205 0 R (lstnumber.-101.6) 1206 0 R (lstnumber.-102.1) 1208 0 R (lstnumber.-102.10) 1217 0 R] +/Limits [(lstnumber.-101.3) (lstnumber.-102.10)] +>> endobj +4287 0 obj << +/Names [(lstnumber.-102.11) 1218 0 R (lstnumber.-102.12) 1219 0 R (lstnumber.-102.13) 1220 0 R (lstnumber.-102.14) 1221 0 R (lstnumber.-102.15) 1222 0 R (lstnumber.-102.16) 1223 0 R] +/Limits [(lstnumber.-102.11) (lstnumber.-102.16)] +>> endobj +4288 0 obj << +/Names [(lstnumber.-102.17) 1224 0 R (lstnumber.-102.18) 1225 0 R (lstnumber.-102.2) 1209 0 R (lstnumber.-102.3) 1210 0 R (lstnumber.-102.4) 1211 0 R (lstnumber.-102.5) 1212 0 R] +/Limits [(lstnumber.-102.17) (lstnumber.-102.5)] +>> endobj +4289 0 obj << +/Names [(lstnumber.-102.6) 1213 0 R (lstnumber.-102.7) 1214 0 R (lstnumber.-102.8) 1215 0 R (lstnumber.-102.9) 1216 0 R (lstnumber.-103.1) 1231 0 R (lstnumber.-104.1) 1233 0 R] +/Limits [(lstnumber.-102.6) (lstnumber.-104.1)] +>> endobj +4290 0 obj << +/Names [(lstnumber.-104.2) 1234 0 R (lstnumber.-104.3) 1235 0 R (lstnumber.-105.1) 1237 0 R (lstnumber.-105.2) 1238 0 R (lstnumber.-105.3) 1239 0 R (lstnumber.-105.4) 1240 0 R] +/Limits [(lstnumber.-104.2) (lstnumber.-105.4)] +>> endobj +4291 0 obj << +/Names [(lstnumber.-105.5) 1241 0 R (lstnumber.-106.1) 1244 0 R (lstnumber.-106.2) 1245 0 R (lstnumber.-106.3) 1246 0 R (lstnumber.-106.4) 1247 0 R (lstnumber.-107.1) 1250 0 R] +/Limits [(lstnumber.-105.5) (lstnumber.-107.1)] +>> endobj +4292 0 obj << +/Names [(lstnumber.-107.2) 1251 0 R (lstnumber.-107.3) 1252 0 R (lstnumber.-108.1) 1254 0 R (lstnumber.-109.1) 1256 0 R (lstnumber.-11.1) 942 0 R (lstnumber.-110.1) 1258 0 R] +/Limits [(lstnumber.-107.2) (lstnumber.-110.1)] +>> endobj +4293 0 obj << +/Names [(lstnumber.-111.1) 1264 0 R (lstnumber.-112.1) 1266 0 R (lstnumber.-113.1) 1269 0 R (lstnumber.-114.1) 1273 0 R (lstnumber.-115.1) 1275 0 R (lstnumber.-116.1) 1277 0 R] +/Limits [(lstnumber.-111.1) (lstnumber.-116.1)] +>> endobj +4294 0 obj << +/Names [(lstnumber.-117.1) 1279 0 R (lstnumber.-118.1) 1282 0 R (lstnumber.-119.1) 1284 0 R (lstnumber.-12.1) 944 0 R (lstnumber.-120.1) 1292 0 R (lstnumber.-121.1) 1295 0 R] +/Limits [(lstnumber.-117.1) (lstnumber.-121.1)] +>> endobj +4295 0 obj << +/Names [(lstnumber.-122.1) 1297 0 R (lstnumber.-123.1) 1299 0 R (lstnumber.-124.1) 1302 0 R (lstnumber.-125.1) 1304 0 R (lstnumber.-126.1) 1307 0 R (lstnumber.-127.1) 1309 0 R] +/Limits [(lstnumber.-122.1) (lstnumber.-127.1)] +>> endobj +4296 0 obj << +/Names [(lstnumber.-128.1) 1312 0 R (lstnumber.-129.1) 1319 0 R (lstnumber.-13.1) 946 0 R (lstnumber.-130.1) 1322 0 R (lstnumber.-131.1) 1326 0 R (lstnumber.-132.1) 1328 0 R] +/Limits [(lstnumber.-128.1) (lstnumber.-132.1)] +>> endobj +4297 0 obj << +/Names [(lstnumber.-133.1) 1331 0 R (lstnumber.-134.1) 1333 0 R (lstnumber.-135.1) 1340 0 R (lstnumber.-136.1) 1342 0 R (lstnumber.-137.1) 1344 0 R (lstnumber.-138.1) 1347 0 R] +/Limits [(lstnumber.-133.1) (lstnumber.-138.1)] +>> endobj +4298 0 obj << +/Names [(lstnumber.-139.1) 1355 0 R (lstnumber.-14.1) 948 0 R (lstnumber.-140.1) 1357 0 R (lstnumber.-141.1) 1363 0 R (lstnumber.-141.2) 1364 0 R (lstnumber.-142.1) 1366 0 R] +/Limits [(lstnumber.-139.1) (lstnumber.-142.1)] +>> endobj +4299 0 obj << +/Names [(lstnumber.-143.1) 1368 0 R (lstnumber.-144.1) 1370 0 R (lstnumber.-145.1) 1372 0 R (lstnumber.-146.1) 1374 0 R (lstnumber.-147.1) 1377 0 R (lstnumber.-148.1) 1379 0 R] +/Limits [(lstnumber.-143.1) (lstnumber.-148.1)] +>> endobj +4300 0 obj << +/Names [(lstnumber.-148.2) 1380 0 R (lstnumber.-148.3) 1381 0 R (lstnumber.-148.4) 1382 0 R (lstnumber.-148.5) 1383 0 R (lstnumber.-148.6) 1384 0 R (lstnumber.-148.7) 1385 0 R] +/Limits [(lstnumber.-148.2) (lstnumber.-148.7)] +>> endobj +4301 0 obj << +/Names [(lstnumber.-148.8) 1386 0 R (lstnumber.-148.9) 1387 0 R (lstnumber.-149.1) 1389 0 R (lstnumber.-149.2) 1390 0 R (lstnumber.-15.1) 950 0 R (lstnumber.-150.1) 1392 0 R] +/Limits [(lstnumber.-148.8) (lstnumber.-150.1)] +>> endobj +4302 0 obj << +/Names [(lstnumber.-150.2) 1393 0 R (lstnumber.-151.1) 1395 0 R (lstnumber.-152.1) 1401 0 R (lstnumber.-153.1) 1403 0 R (lstnumber.-153.2) 1404 0 R (lstnumber.-153.3) 1405 0 R] +/Limits [(lstnumber.-150.2) (lstnumber.-153.3)] +>> endobj +4303 0 obj << +/Names [(lstnumber.-154.1) 1407 0 R (lstnumber.-154.2) 1408 0 R (lstnumber.-154.3) 1409 0 R (lstnumber.-155.1) 1411 0 R (lstnumber.-155.2) 1412 0 R (lstnumber.-156.1) 1414 0 R] +/Limits [(lstnumber.-154.1) (lstnumber.-156.1)] +>> endobj +4304 0 obj << +/Names [(lstnumber.-156.2) 1415 0 R (lstnumber.-156.3) 1416 0 R (lstnumber.-156.4) 1417 0 R (lstnumber.-157.1) 1419 0 R (lstnumber.-157.2) 1420 0 R (lstnumber.-157.3) 1421 0 R] +/Limits [(lstnumber.-156.2) (lstnumber.-157.3)] +>> endobj +4305 0 obj << +/Names [(lstnumber.-158.1) 1423 0 R (lstnumber.-159.1) 1425 0 R (lstnumber.-16.1) 952 0 R (lstnumber.-160.1) 1427 0 R (lstnumber.-161.1) 1429 0 R (lstnumber.-162.1) 1432 0 R] +/Limits [(lstnumber.-158.1) (lstnumber.-162.1)] +>> endobj +4306 0 obj << +/Names [(lstnumber.-163.1) 1439 0 R (lstnumber.-163.2) 1440 0 R (lstnumber.-164.1) 1442 0 R (lstnumber.-165.1) 1444 0 R (lstnumber.-166.1) 1446 0 R (lstnumber.-166.2) 1447 0 R] +/Limits [(lstnumber.-163.1) (lstnumber.-166.2)] +>> endobj +4307 0 obj << +/Names [(lstnumber.-167.1) 1449 0 R (lstnumber.-168.1) 1451 0 R (lstnumber.-169.1) 1453 0 R (lstnumber.-17.1) 955 0 R (lstnumber.-170.1) 1455 0 R (lstnumber.-170.2) 1456 0 R] +/Limits [(lstnumber.-167.1) (lstnumber.-170.2)] +>> endobj +4308 0 obj << +/Names [(lstnumber.-170.3) 1457 0 R (lstnumber.-170.4) 1458 0 R (lstnumber.-170.5) 1459 0 R (lstnumber.-170.6) 1460 0 R (lstnumber.-170.7) 1461 0 R (lstnumber.-170.8) 1462 0 R] +/Limits [(lstnumber.-170.3) (lstnumber.-170.8)] +>> endobj +4309 0 obj << +/Names [(lstnumber.-170.9) 1463 0 R (lstnumber.-171.1) 1465 0 R (lstnumber.-171.2) 1466 0 R (lstnumber.-172.1) 1468 0 R (lstnumber.-172.2) 1469 0 R (lstnumber.-173.1) 1471 0 R] +/Limits [(lstnumber.-170.9) (lstnumber.-173.1)] +>> endobj +4310 0 obj << +/Names [(lstnumber.-174.1) 1477 0 R (lstnumber.-175.1) 1479 0 R (lstnumber.-176.1) 1481 0 R (lstnumber.-176.2) 1482 0 R (lstnumber.-177.1) 1484 0 R (lstnumber.-177.2) 1485 0 R] +/Limits [(lstnumber.-174.1) (lstnumber.-177.2)] +>> endobj +4311 0 obj << +/Names [(lstnumber.-178.1) 1487 0 R (lstnumber.-179.1) 1489 0 R (lstnumber.-18.1) 958 0 R (lstnumber.-180.1) 1491 0 R (lstnumber.-181.1) 1493 0 R (lstnumber.-181.2) 1494 0 R] +/Limits [(lstnumber.-178.1) (lstnumber.-181.2)] +>> endobj +4312 0 obj << +/Names [(lstnumber.-182.1) 1496 0 R (lstnumber.-183.1) 1498 0 R (lstnumber.-183.2) 1499 0 R (lstnumber.-184.1) 1501 0 R (lstnumber.-185.1) 1503 0 R (lstnumber.-186.1) 1505 0 R] +/Limits [(lstnumber.-182.1) (lstnumber.-186.1)] +>> endobj +4313 0 obj << +/Names [(lstnumber.-186.2) 1506 0 R (lstnumber.-187.1) 1512 0 R (lstnumber.-187.2) 1513 0 R (lstnumber.-188.1) 1515 0 R (lstnumber.-188.2) 1516 0 R (lstnumber.-189.1) 1518 0 R] +/Limits [(lstnumber.-186.2) (lstnumber.-189.1)] +>> endobj +4314 0 obj << +/Names [(lstnumber.-19.1) 960 0 R (lstnumber.-190.1) 1520 0 R (lstnumber.-190.2) 1521 0 R (lstnumber.-191.1) 1523 0 R (lstnumber.-191.2) 1524 0 R (lstnumber.-192.1) 1526 0 R] +/Limits [(lstnumber.-19.1) (lstnumber.-192.1)] +>> endobj +4315 0 obj << +/Names [(lstnumber.-192.2) 1527 0 R (lstnumber.-192.3) 1528 0 R (lstnumber.-193.1) 1530 0 R (lstnumber.-194.1) 1532 0 R (lstnumber.-194.2) 1533 0 R (lstnumber.-194.3) 1534 0 R] +/Limits [(lstnumber.-192.2) (lstnumber.-194.3)] +>> endobj +4316 0 obj << +/Names [(lstnumber.-195.1) 1536 0 R (lstnumber.-195.2) 1537 0 R (lstnumber.-195.3) 1538 0 R (lstnumber.-196.1) 1540 0 R (lstnumber.-197.1) 1542 0 R (lstnumber.-198.1) 1544 0 R] +/Limits [(lstnumber.-195.1) (lstnumber.-198.1)] +>> endobj +4317 0 obj << +/Names [(lstnumber.-199.1) 1550 0 R (lstnumber.-2.1) 913 0 R (lstnumber.-20.1) 968 0 R (lstnumber.-20.2) 969 0 R (lstnumber.-200.1) 1552 0 R (lstnumber.-200.2) 1553 0 R] +/Limits [(lstnumber.-199.1) (lstnumber.-200.2)] +>> endobj +4318 0 obj << +/Names [(lstnumber.-200.3) 1554 0 R (lstnumber.-201.1) 1556 0 R (lstnumber.-202.1) 1558 0 R (lstnumber.-203.1) 1560 0 R (lstnumber.-203.2) 1561 0 R (lstnumber.-204.1) 1563 0 R] +/Limits [(lstnumber.-200.3) (lstnumber.-204.1)] +>> endobj +4319 0 obj << +/Names [(lstnumber.-205.1) 1565 0 R (lstnumber.-206.1) 1567 0 R (lstnumber.-206.2) 1568 0 R (lstnumber.-206.3) 1569 0 R (lstnumber.-206.4) 1570 0 R (lstnumber.-206.5) 1571 0 R] +/Limits [(lstnumber.-205.1) (lstnumber.-206.5)] +>> endobj +4320 0 obj << +/Names [(lstnumber.-206.6) 1572 0 R (lstnumber.-207.1) 1574 0 R (lstnumber.-208.1) 1576 0 R (lstnumber.-209.1) 1578 0 R (lstnumber.-209.2) 1579 0 R (lstnumber.-21.1) 972 0 R] +/Limits [(lstnumber.-206.6) (lstnumber.-21.1)] +>> endobj +4321 0 obj << +/Names [(lstnumber.-210.1) 1581 0 R (lstnumber.-211.1) 1583 0 R (lstnumber.-212.1) 1585 0 R (lstnumber.-213.1) 1592 0 R (lstnumber.-213.2) 1593 0 R (lstnumber.-214.1) 1595 0 R] +/Limits [(lstnumber.-210.1) (lstnumber.-214.1)] +>> endobj +4322 0 obj << +/Names [(lstnumber.-214.2) 1596 0 R (lstnumber.-214.3) 1597 0 R (lstnumber.-215.1) 1599 0 R (lstnumber.-215.2) 1600 0 R (lstnumber.-216.1) 1602 0 R (lstnumber.-217.1) 1604 0 R] +/Limits [(lstnumber.-214.2) (lstnumber.-217.1)] +>> endobj +4323 0 obj << +/Names [(lstnumber.-217.2) 1605 0 R (lstnumber.-218.1) 1607 0 R (lstnumber.-219.1) 1609 0 R (lstnumber.-22.1) 975 0 R (lstnumber.-220.1) 1611 0 R (lstnumber.-220.2) 1612 0 R] +/Limits [(lstnumber.-217.2) (lstnumber.-220.2)] +>> endobj +4324 0 obj << +/Names [(lstnumber.-220.3) 1613 0 R (lstnumber.-220.4) 1614 0 R (lstnumber.-221.1) 1616 0 R (lstnumber.-221.2) 1617 0 R (lstnumber.-222.1) 1619 0 R (lstnumber.-223.1) 1621 0 R] +/Limits [(lstnumber.-220.3) (lstnumber.-223.1)] +>> endobj +4325 0 obj << +/Names [(lstnumber.-224.1) 1627 0 R (lstnumber.-225.1) 1629 0 R (lstnumber.-225.2) 1630 0 R (lstnumber.-225.3) 1631 0 R (lstnumber.-226.1) 1633 0 R (lstnumber.-226.2) 1634 0 R] +/Limits [(lstnumber.-224.1) (lstnumber.-226.2)] +>> endobj +4326 0 obj << +/Names [(lstnumber.-226.3) 1635 0 R (lstnumber.-227.1) 1637 0 R (lstnumber.-228.1) 1639 0 R (lstnumber.-228.2) 1640 0 R (lstnumber.-229.1) 1642 0 R (lstnumber.-23.1) 984 0 R] +/Limits [(lstnumber.-226.3) (lstnumber.-23.1)] +>> endobj +4327 0 obj << +/Names [(lstnumber.-230.1) 1644 0 R (lstnumber.-230.2) 1645 0 R (lstnumber.-230.3) 1646 0 R (lstnumber.-230.4) 1647 0 R (lstnumber.-231.1) 1649 0 R (lstnumber.-231.2) 1650 0 R] +/Limits [(lstnumber.-230.1) (lstnumber.-231.2)] +>> endobj +4328 0 obj << +/Names [(lstnumber.-231.3) 1651 0 R (lstnumber.-232.1) 1653 0 R (lstnumber.-232.2) 1654 0 R (lstnumber.-233.1) 1656 0 R (lstnumber.-233.2) 1657 0 R (lstnumber.-233.3) 1658 0 R] +/Limits [(lstnumber.-231.3) (lstnumber.-233.3)] +>> endobj +4329 0 obj << +/Names [(lstnumber.-233.4) 1659 0 R (lstnumber.-234.1) 1661 0 R (lstnumber.-235.1) 1668 0 R (lstnumber.-235.2) 1669 0 R (lstnumber.-236.1) 1671 0 R (lstnumber.-236.2) 1672 0 R] +/Limits [(lstnumber.-233.4) (lstnumber.-236.2)] +>> endobj +4330 0 obj << +/Names [(lstnumber.-236.3) 1673 0 R (lstnumber.-237.1) 1675 0 R (lstnumber.-237.2) 1676 0 R (lstnumber.-238.1) 1678 0 R (lstnumber.-238.2) 1679 0 R (lstnumber.-238.3) 1680 0 R] +/Limits [(lstnumber.-236.3) (lstnumber.-238.3)] +>> endobj +4331 0 obj << +/Names [(lstnumber.-239.1) 1682 0 R (lstnumber.-239.2) 1683 0 R (lstnumber.-239.3) 1684 0 R (lstnumber.-24.1) 986 0 R (lstnumber.-240.1) 1686 0 R (lstnumber.-240.2) 1687 0 R] +/Limits [(lstnumber.-239.1) (lstnumber.-240.2)] +>> endobj +4332 0 obj << +/Names [(lstnumber.-240.3) 1688 0 R (lstnumber.-241.1) 1690 0 R (lstnumber.-242.1) 1692 0 R (lstnumber.-243.1) 1694 0 R (lstnumber.-244.1) 1696 0 R (lstnumber.-245.1) 1698 0 R] +/Limits [(lstnumber.-240.3) (lstnumber.-245.1)] +>> endobj +4333 0 obj << +/Names [(lstnumber.-246.1) 1700 0 R (lstnumber.-246.2) 1701 0 R (lstnumber.-246.3) 1702 0 R (lstnumber.-247.1) 1708 0 R (lstnumber.-247.2) 1709 0 R (lstnumber.-248.1) 1711 0 R] +/Limits [(lstnumber.-246.1) (lstnumber.-248.1)] +>> endobj +4334 0 obj << +/Names [(lstnumber.-249.1) 1713 0 R (lstnumber.-249.2) 1714 0 R (lstnumber.-25.1) 988 0 R (lstnumber.-250.1) 1716 0 R (lstnumber.-251.1) 1718 0 R (lstnumber.-252.1) 1720 0 R] +/Limits [(lstnumber.-249.1) (lstnumber.-252.1)] +>> endobj +4335 0 obj << +/Names [(lstnumber.-253.1) 1722 0 R (lstnumber.-254.1) 1724 0 R (lstnumber.-255.1) 1727 0 R (lstnumber.-255.2) 1728 0 R (lstnumber.-256.1) 1730 0 R (lstnumber.-257.1) 1737 0 R] +/Limits [(lstnumber.-253.1) (lstnumber.-257.1)] +>> endobj +4336 0 obj << +/Names [(lstnumber.-258.1) 1739 0 R (lstnumber.-259.1) 1741 0 R (lstnumber.-26.1) 990 0 R (lstnumber.-260.1) 1743 0 R (lstnumber.-261.1) 1745 0 R (lstnumber.-262.1) 1747 0 R] +/Limits [(lstnumber.-258.1) (lstnumber.-262.1)] +>> endobj +4337 0 obj << +/Names [(lstnumber.-263.1) 1749 0 R (lstnumber.-264.1) 1751 0 R (lstnumber.-265.1) 1753 0 R (lstnumber.-265.2) 1754 0 R (lstnumber.-266.1) 1756 0 R (lstnumber.-267.1) 1758 0 R] +/Limits [(lstnumber.-263.1) (lstnumber.-267.1)] +>> endobj +4338 0 obj << +/Names [(lstnumber.-268.1) 1760 0 R (lstnumber.-269.1) 1762 0 R (lstnumber.-27.1) 992 0 R (lstnumber.-270.1) 1769 0 R (lstnumber.-271.1) 1772 0 R (lstnumber.-272.1) 1774 0 R] +/Limits [(lstnumber.-268.1) (lstnumber.-272.1)] +>> endobj +4339 0 obj << +/Names [(lstnumber.-272.2) 1775 0 R (lstnumber.-272.3) 1776 0 R (lstnumber.-272.4) 1777 0 R (lstnumber.-272.5) 1778 0 R (lstnumber.-272.6) 1779 0 R (lstnumber.-273.1) 1781 0 R] +/Limits [(lstnumber.-272.2) (lstnumber.-273.1)] +>> endobj +4340 0 obj << +/Names [(lstnumber.-273.2) 1782 0 R (lstnumber.-274.1) 1784 0 R (lstnumber.-274.2) 1785 0 R (lstnumber.-274.3) 1786 0 R (lstnumber.-275.1) 1788 0 R (lstnumber.-276.1) 1790 0 R] +/Limits [(lstnumber.-273.2) (lstnumber.-276.1)] +>> endobj +4341 0 obj << +/Names [(lstnumber.-276.2) 1791 0 R (lstnumber.-277.1) 1793 0 R (lstnumber.-277.2) 1794 0 R (lstnumber.-277.3) 1795 0 R (lstnumber.-278.1) 1797 0 R (lstnumber.-279.1) 1799 0 R] +/Limits [(lstnumber.-276.2) (lstnumber.-279.1)] +>> endobj +4342 0 obj << +/Names [(lstnumber.-28.1) 994 0 R (lstnumber.-280.1) 1805 0 R (lstnumber.-281.1) 1807 0 R (lstnumber.-282.1) 1809 0 R (lstnumber.-282.2) 1810 0 R (lstnumber.-283.1) 1812 0 R] +/Limits [(lstnumber.-28.1) (lstnumber.-283.1)] +>> endobj +4343 0 obj << +/Names [(lstnumber.-284.1) 1814 0 R (lstnumber.-285.1) 1816 0 R (lstnumber.-286.1) 1819 0 R (lstnumber.-287.1) 1821 0 R (lstnumber.-288.1) 1823 0 R (lstnumber.-289.1) 1826 0 R] +/Limits [(lstnumber.-284.1) (lstnumber.-289.1)] +>> endobj +4344 0 obj << +/Names [(lstnumber.-289.2) 1827 0 R (lstnumber.-29.1) 996 0 R (lstnumber.-290.1) 1830 0 R (lstnumber.-290.2) 1831 0 R (lstnumber.-291.1) 1846 0 R (lstnumber.-292.1) 1848 0 R] +/Limits [(lstnumber.-289.2) (lstnumber.-292.1)] +>> endobj +4345 0 obj << +/Names [(lstnumber.-293.1) 1850 0 R (lstnumber.-294.1) 1852 0 R (lstnumber.-295.1) 1855 0 R (lstnumber.-296.1) 1857 0 R (lstnumber.-297.1) 1859 0 R (lstnumber.-297.2) 1860 0 R] +/Limits [(lstnumber.-293.1) (lstnumber.-297.2)] +>> endobj +4346 0 obj << +/Names [(lstnumber.-298.1) 1862 0 R (lstnumber.-298.2) 1863 0 R (lstnumber.-299.1) 1865 0 R (lstnumber.-3.1) 916 0 R (lstnumber.-3.2) 917 0 R (lstnumber.-30.1) 998 0 R] +/Limits [(lstnumber.-298.1) (lstnumber.-30.1)] +>> endobj +4347 0 obj << +/Names [(lstnumber.-300.1) 1867 0 R (lstnumber.-300.2) 1868 0 R (lstnumber.-300.3) 1869 0 R (lstnumber.-300.4) 1870 0 R (lstnumber.-301.1) 1877 0 R (lstnumber.-302.1) 1879 0 R] +/Limits [(lstnumber.-300.1) (lstnumber.-302.1)] +>> endobj +4348 0 obj << +/Names [(lstnumber.-302.2) 1880 0 R (lstnumber.-302.3) 1881 0 R (lstnumber.-302.4) 1882 0 R (lstnumber.-302.5) 1883 0 R (lstnumber.-303.1) 1886 0 R (lstnumber.-303.2) 1887 0 R] +/Limits [(lstnumber.-302.2) (lstnumber.-303.2)] +>> endobj +4349 0 obj << +/Names [(lstnumber.-303.3) 1888 0 R (lstnumber.-303.4) 1889 0 R (lstnumber.-303.5) 1890 0 R (lstnumber.-304.1) 1893 0 R (lstnumber.-305.1) 1895 0 R (lstnumber.-305.2) 1896 0 R] +/Limits [(lstnumber.-303.3) (lstnumber.-305.2)] +>> endobj +4350 0 obj << +/Names [(lstnumber.-305.3) 1897 0 R (lstnumber.-305.4) 1898 0 R (lstnumber.-306.1) 1900 0 R (lstnumber.-306.2) 1901 0 R (lstnumber.-306.3) 1902 0 R (lstnumber.-306.4) 1903 0 R] +/Limits [(lstnumber.-305.3) (lstnumber.-306.4)] +>> endobj +4351 0 obj << +/Names [(lstnumber.-306.5) 1904 0 R (lstnumber.-306.6) 1905 0 R (lstnumber.-306.7) 1906 0 R (lstnumber.-306.8) 1907 0 R (lstnumber.-307.1) 1913 0 R (lstnumber.-307.2) 1914 0 R] +/Limits [(lstnumber.-306.5) (lstnumber.-307.2)] +>> endobj +4352 0 obj << +/Names [(lstnumber.-307.3) 1915 0 R (lstnumber.-307.4) 1916 0 R (lstnumber.-307.5) 1917 0 R (lstnumber.-307.6) 1918 0 R (lstnumber.-307.7) 1919 0 R (lstnumber.-307.8) 1920 0 R] +/Limits [(lstnumber.-307.3) (lstnumber.-307.8)] +>> endobj +4353 0 obj << +/Names [(lstnumber.-308.1) 1922 0 R (lstnumber.-309.1) 1924 0 R (lstnumber.-31.1) 1001 0 R (lstnumber.-310.1) 1926 0 R (lstnumber.-311.1) 1928 0 R (lstnumber.-311.2) 1929 0 R] +/Limits [(lstnumber.-308.1) (lstnumber.-311.2)] +>> endobj +4354 0 obj << +/Names [(lstnumber.-311.3) 1930 0 R (lstnumber.-311.4) 1931 0 R (lstnumber.-311.5) 1932 0 R (lstnumber.-311.6) 1933 0 R (lstnumber.-311.7) 1934 0 R (lstnumber.-311.8) 1935 0 R] +/Limits [(lstnumber.-311.3) (lstnumber.-311.8)] +>> endobj +4355 0 obj << +/Names [(lstnumber.-311.9) 1936 0 R (lstnumber.-312.1) 1939 0 R (lstnumber.-312.2) 1940 0 R (lstnumber.-313.1) 1942 0 R (lstnumber.-314.1) 1944 0 R (lstnumber.-315.1) 1946 0 R] +/Limits [(lstnumber.-311.9) (lstnumber.-315.1)] +>> endobj +4356 0 obj << +/Names [(lstnumber.-316.1) 1948 0 R (lstnumber.-316.2) 1949 0 R (lstnumber.-316.3) 1950 0 R (lstnumber.-317.1) 1957 0 R (lstnumber.-318.1) 1959 0 R (lstnumber.-318.2) 1960 0 R] +/Limits [(lstnumber.-316.1) (lstnumber.-318.2)] +>> endobj +4357 0 obj << +/Names [(lstnumber.-319.1) 1962 0 R (lstnumber.-319.2) 1963 0 R (lstnumber.-319.3) 1964 0 R (lstnumber.-319.4) 1965 0 R (lstnumber.-32.1) 1003 0 R (lstnumber.-320.1) 1968 0 R] +/Limits [(lstnumber.-319.1) (lstnumber.-320.1)] +>> endobj +4358 0 obj << +/Names [(lstnumber.-320.2) 1969 0 R (lstnumber.-320.3) 1970 0 R (lstnumber.-320.4) 1971 0 R (lstnumber.-321.1) 1979 0 R (lstnumber.-322.1) 1981 0 R (lstnumber.-323.1) 1983 0 R] +/Limits [(lstnumber.-320.2) (lstnumber.-323.1)] +>> endobj +4359 0 obj << +/Names [(lstnumber.-324.1) 1985 0 R (lstnumber.-325.1) 1987 0 R (lstnumber.-325.2) 1988 0 R (lstnumber.-326.1) 1990 0 R (lstnumber.-327.1) 1992 0 R (lstnumber.-328.1) 1994 0 R] +/Limits [(lstnumber.-324.1) (lstnumber.-328.1)] +>> endobj +4360 0 obj << +/Names [(lstnumber.-328.2) 1995 0 R (lstnumber.-328.3) 1996 0 R (lstnumber.-329.1) 2002 0 R (lstnumber.-329.2) 2003 0 R (lstnumber.-329.3) 2004 0 R (lstnumber.-33.1) 1005 0 R] +/Limits [(lstnumber.-328.2) (lstnumber.-33.1)] +>> endobj +4361 0 obj << +/Names [(lstnumber.-330.1) 2006 0 R (lstnumber.-331.1) 2008 0 R (lstnumber.-332.1) 2010 0 R (lstnumber.-333.1) 2013 0 R (lstnumber.-333.2) 2014 0 R (lstnumber.-333.3) 2015 0 R] +/Limits [(lstnumber.-330.1) (lstnumber.-333.3)] +>> endobj +4362 0 obj << +/Names [(lstnumber.-334.1) 2017 0 R (lstnumber.-335.1) 2019 0 R (lstnumber.-336.1) 2021 0 R (lstnumber.-336.2) 2022 0 R (lstnumber.-336.3) 2023 0 R (lstnumber.-337.1) 2025 0 R] +/Limits [(lstnumber.-334.1) (lstnumber.-337.1)] +>> endobj +4363 0 obj << +/Names [(lstnumber.-337.2) 2026 0 R (lstnumber.-338.1) 2028 0 R (lstnumber.-338.10) 2037 0 R (lstnumber.-338.11) 2038 0 R (lstnumber.-338.12) 2044 0 R (lstnumber.-338.13) 2045 0 R] +/Limits [(lstnumber.-337.2) (lstnumber.-338.13)] +>> endobj +4364 0 obj << +/Names [(lstnumber.-338.14) 2046 0 R (lstnumber.-338.15) 2047 0 R (lstnumber.-338.16) 2048 0 R (lstnumber.-338.17) 2049 0 R (lstnumber.-338.18) 2050 0 R (lstnumber.-338.19) 2051 0 R] +/Limits [(lstnumber.-338.14) (lstnumber.-338.19)] +>> endobj +4365 0 obj << +/Names [(lstnumber.-338.2) 2029 0 R (lstnumber.-338.20) 2052 0 R (lstnumber.-338.21) 2053 0 R (lstnumber.-338.22) 2054 0 R (lstnumber.-338.23) 2055 0 R (lstnumber.-338.24) 2056 0 R] +/Limits [(lstnumber.-338.2) (lstnumber.-338.24)] +>> endobj +4366 0 obj << +/Names [(lstnumber.-338.25) 2057 0 R (lstnumber.-338.26) 2058 0 R (lstnumber.-338.27) 2059 0 R (lstnumber.-338.28) 2060 0 R (lstnumber.-338.29) 2061 0 R (lstnumber.-338.3) 2030 0 R] +/Limits [(lstnumber.-338.25) (lstnumber.-338.3)] +>> endobj +4367 0 obj << +/Names [(lstnumber.-338.30) 2062 0 R (lstnumber.-338.4) 2031 0 R (lstnumber.-338.5) 2032 0 R (lstnumber.-338.6) 2033 0 R (lstnumber.-338.7) 2034 0 R (lstnumber.-338.8) 2035 0 R] +/Limits [(lstnumber.-338.30) (lstnumber.-338.8)] +>> endobj +4368 0 obj << +/Names [(lstnumber.-338.9) 2036 0 R (lstnumber.-339.1) 2064 0 R (lstnumber.-339.2) 2065 0 R (lstnumber.-339.3) 2066 0 R (lstnumber.-339.4) 2067 0 R (lstnumber.-34.1) 1011 0 R] +/Limits [(lstnumber.-338.9) (lstnumber.-34.1)] +>> endobj +4369 0 obj << +/Names [(lstnumber.-34.2) 1012 0 R (lstnumber.-340.1) 2069 0 R (lstnumber.-341.1) 2071 0 R (lstnumber.-341.2) 2072 0 R (lstnumber.-342.1) 2074 0 R (lstnumber.-343.1) 2076 0 R] +/Limits [(lstnumber.-34.2) (lstnumber.-343.1)] +>> endobj +4370 0 obj << +/Names [(lstnumber.-343.2) 2077 0 R (lstnumber.-344.1) 2079 0 R (lstnumber.-345.1) 2081 0 R (lstnumber.-345.2) 2082 0 R (lstnumber.-345.3) 2083 0 R (lstnumber.-345.4) 2084 0 R] +/Limits [(lstnumber.-343.2) (lstnumber.-345.4)] +>> endobj +4371 0 obj << +/Names [(lstnumber.-345.5) 2085 0 R (lstnumber.-345.6) 2086 0 R (lstnumber.-345.7) 2087 0 R (lstnumber.-346.1) 2093 0 R (lstnumber.-346.2) 2094 0 R (lstnumber.-346.3) 2095 0 R] +/Limits [(lstnumber.-345.5) (lstnumber.-346.3)] +>> endobj +4372 0 obj << +/Names [(lstnumber.-347.1) 2097 0 R (lstnumber.-348.1) 2099 0 R (lstnumber.-348.2) 2100 0 R (lstnumber.-349.1) 2102 0 R (lstnumber.-349.2) 2103 0 R (lstnumber.-349.3) 2104 0 R] +/Limits [(lstnumber.-347.1) (lstnumber.-349.3)] +>> endobj +4373 0 obj << +/Names [(lstnumber.-35.1) 1014 0 R (lstnumber.-350.1) 2107 0 R (lstnumber.-351.1) 2109 0 R (lstnumber.-352.1) 2111 0 R (lstnumber.-353.1) 2113 0 R (lstnumber.-353.2) 2114 0 R] +/Limits [(lstnumber.-35.1) (lstnumber.-353.2)] +>> endobj +4374 0 obj << +/Names [(lstnumber.-354.1) 2116 0 R (lstnumber.-355.1) 2118 0 R (lstnumber.-356.1) 2120 0 R (lstnumber.-357.1) 2122 0 R (lstnumber.-358.1) 2128 0 R (lstnumber.-359.1) 2130 0 R] +/Limits [(lstnumber.-354.1) (lstnumber.-359.1)] +>> endobj +4375 0 obj << +/Names [(lstnumber.-36.1) 1016 0 R (lstnumber.-360.1) 2132 0 R (lstnumber.-361.1) 2134 0 R (lstnumber.-361.2) 2135 0 R (lstnumber.-362.1) 2137 0 R (lstnumber.-363.1) 2139 0 R] +/Limits [(lstnumber.-36.1) (lstnumber.-363.1)] +>> endobj +4376 0 obj << +/Names [(lstnumber.-364.1) 2141 0 R (lstnumber.-365.1) 2143 0 R (lstnumber.-366.1) 2145 0 R (lstnumber.-367.1) 2147 0 R (lstnumber.-368.1) 2149 0 R (lstnumber.-368.2) 2150 0 R] +/Limits [(lstnumber.-364.1) (lstnumber.-368.2)] +>> endobj +4377 0 obj << +/Names [(lstnumber.-369.1) 2152 0 R (lstnumber.-369.2) 2153 0 R (lstnumber.-37.1) 1018 0 R (lstnumber.-370.1) 2155 0 R (lstnumber.-370.2) 2156 0 R (lstnumber.-371.1) 2162 0 R] +/Limits [(lstnumber.-369.1) (lstnumber.-371.1)] +>> endobj +4378 0 obj << +/Names [(lstnumber.-372.1) 2164 0 R (lstnumber.-373.1) 2166 0 R (lstnumber.-374.1) 2168 0 R (lstnumber.-375.1) 2170 0 R (lstnumber.-375.2) 2171 0 R (lstnumber.-376.1) 2173 0 R] +/Limits [(lstnumber.-372.1) (lstnumber.-376.1)] +>> endobj +4379 0 obj << +/Names [(lstnumber.-376.2) 2174 0 R (lstnumber.-376.3) 2175 0 R (lstnumber.-376.4) 2176 0 R (lstnumber.-376.5) 2177 0 R (lstnumber.-377.1) 2179 0 R (lstnumber.-378.1) 2181 0 R] +/Limits [(lstnumber.-376.2) (lstnumber.-378.1)] +>> endobj +4380 0 obj << +/Names [(lstnumber.-379.1) 2183 0 R (lstnumber.-379.2) 2184 0 R (lstnumber.-379.3) 2185 0 R (lstnumber.-38.1) 1020 0 R (lstnumber.-380.1) 2187 0 R (lstnumber.-380.10) 2196 0 R] +/Limits [(lstnumber.-379.1) (lstnumber.-380.10)] +>> endobj +4381 0 obj << +/Names [(lstnumber.-380.11) 2197 0 R (lstnumber.-380.12) 2198 0 R (lstnumber.-380.13) 2199 0 R (lstnumber.-380.14) 2204 0 R (lstnumber.-380.15) 2205 0 R (lstnumber.-380.16) 2206 0 R] +/Limits [(lstnumber.-380.11) (lstnumber.-380.16)] +>> endobj +4382 0 obj << +/Names [(lstnumber.-380.17) 2207 0 R (lstnumber.-380.18) 2208 0 R (lstnumber.-380.19) 2209 0 R (lstnumber.-380.2) 2188 0 R (lstnumber.-380.20) 2210 0 R (lstnumber.-380.21) 2211 0 R] +/Limits [(lstnumber.-380.17) (lstnumber.-380.21)] +>> endobj +4383 0 obj << +/Names [(lstnumber.-380.22) 2212 0 R (lstnumber.-380.23) 2213 0 R (lstnumber.-380.24) 2214 0 R (lstnumber.-380.25) 2215 0 R (lstnumber.-380.26) 2216 0 R (lstnumber.-380.27) 2217 0 R] +/Limits [(lstnumber.-380.22) (lstnumber.-380.27)] +>> endobj +4384 0 obj << +/Names [(lstnumber.-380.28) 2218 0 R (lstnumber.-380.29) 2219 0 R (lstnumber.-380.3) 2189 0 R (lstnumber.-380.30) 2220 0 R (lstnumber.-380.31) 2221 0 R (lstnumber.-380.32) 2222 0 R] +/Limits [(lstnumber.-380.28) (lstnumber.-380.32)] +>> endobj +4385 0 obj << +/Names [(lstnumber.-380.33) 2223 0 R (lstnumber.-380.34) 2224 0 R (lstnumber.-380.35) 2225 0 R (lstnumber.-380.36) 2226 0 R (lstnumber.-380.37) 2227 0 R (lstnumber.-380.38) 2228 0 R] +/Limits [(lstnumber.-380.33) (lstnumber.-380.38)] +>> endobj +4386 0 obj << +/Names [(lstnumber.-380.39) 2229 0 R (lstnumber.-380.4) 2190 0 R (lstnumber.-380.5) 2191 0 R (lstnumber.-380.6) 2192 0 R (lstnumber.-380.7) 2193 0 R (lstnumber.-380.8) 2194 0 R] +/Limits [(lstnumber.-380.39) (lstnumber.-380.8)] +>> endobj +4387 0 obj << +/Names [(lstnumber.-380.9) 2195 0 R (lstnumber.-381.1) 2232 0 R (lstnumber.-382.1) 2234 0 R (lstnumber.-383.1) 2236 0 R (lstnumber.-384.1) 2238 0 R (lstnumber.-384.2) 2239 0 R] +/Limits [(lstnumber.-380.9) (lstnumber.-384.2)] +>> endobj +4388 0 obj << +/Names [(lstnumber.-385.1) 2241 0 R (lstnumber.-385.2) 2242 0 R (lstnumber.-385.3) 2243 0 R (lstnumber.-385.4) 2244 0 R (lstnumber.-385.5) 2245 0 R (lstnumber.-386.1) 2251 0 R] +/Limits [(lstnumber.-385.1) (lstnumber.-386.1)] +>> endobj +4389 0 obj << +/Names [(lstnumber.-387.1) 2253 0 R (lstnumber.-387.2) 2254 0 R (lstnumber.-387.3) 2255 0 R (lstnumber.-387.4) 2256 0 R (lstnumber.-388.1) 2258 0 R (lstnumber.-388.2) 2259 0 R] +/Limits [(lstnumber.-387.1) (lstnumber.-388.2)] +>> endobj +4390 0 obj << +/Names [(lstnumber.-388.3) 2260 0 R (lstnumber.-388.4) 2261 0 R (lstnumber.-389.1) 2263 0 R (lstnumber.-39.1) 1022 0 R (lstnumber.-390.1) 2265 0 R (lstnumber.-391.1) 2267 0 R] +/Limits [(lstnumber.-388.3) (lstnumber.-391.1)] +>> endobj +4391 0 obj << +/Names [(lstnumber.-391.2) 2268 0 R (lstnumber.-391.3) 2269 0 R (lstnumber.-391.4) 2270 0 R (lstnumber.-391.5) 2271 0 R (lstnumber.-391.6) 2272 0 R (lstnumber.-392.1) 2274 0 R] +/Limits [(lstnumber.-391.2) (lstnumber.-392.1)] +>> endobj +4392 0 obj << +/Names [(lstnumber.-392.10) 2283 0 R (lstnumber.-392.11) 2284 0 R (lstnumber.-392.12) 2285 0 R (lstnumber.-392.2) 2275 0 R (lstnumber.-392.3) 2276 0 R (lstnumber.-392.4) 2277 0 R] +/Limits [(lstnumber.-392.10) (lstnumber.-392.4)] +>> endobj +4393 0 obj << +/Names [(lstnumber.-392.5) 2278 0 R (lstnumber.-392.6) 2279 0 R (lstnumber.-392.7) 2280 0 R (lstnumber.-392.8) 2281 0 R (lstnumber.-392.9) 2282 0 R (lstnumber.-393.1) 2287 0 R] +/Limits [(lstnumber.-392.5) (lstnumber.-393.1)] +>> endobj +4394 0 obj << +/Names [(lstnumber.-394.1) 2289 0 R (lstnumber.-394.2) 2290 0 R (lstnumber.-395.1) 2297 0 R (lstnumber.-396.1) 2299 0 R (lstnumber.-397.1) 2301 0 R (lstnumber.-398.1) 2303 0 R] +/Limits [(lstnumber.-394.1) (lstnumber.-398.1)] +>> endobj +4395 0 obj << +/Names [(lstnumber.-398.2) 2304 0 R (lstnumber.-399.1) 2306 0 R (lstnumber.-4.1) 919 0 R (lstnumber.-40.1) 1024 0 R (lstnumber.-40.2) 1025 0 R (lstnumber.-400.1) 2308 0 R] +/Limits [(lstnumber.-398.2) (lstnumber.-400.1)] +>> endobj +4396 0 obj << +/Names [(lstnumber.-401.1) 2310 0 R (lstnumber.-402.1) 2312 0 R (lstnumber.-402.2) 2313 0 R (lstnumber.-403.1) 2315 0 R (lstnumber.-403.2) 2316 0 R (lstnumber.-403.3) 2317 0 R] +/Limits [(lstnumber.-401.1) (lstnumber.-403.3)] +>> endobj +4397 0 obj << +/Names [(lstnumber.-403.4) 2318 0 R (lstnumber.-404.1) 2320 0 R (lstnumber.-405.1) 2322 0 R (lstnumber.-406.1) 2324 0 R (lstnumber.-407.1) 2326 0 R (lstnumber.-408.1) 2332 0 R] +/Limits [(lstnumber.-403.4) (lstnumber.-408.1)] +>> endobj +4398 0 obj << +/Names [(lstnumber.-409.1) 2334 0 R (lstnumber.-409.2) 2335 0 R (lstnumber.-409.3) 2336 0 R (lstnumber.-41.1) 1027 0 R (lstnumber.-41.2) 1028 0 R (lstnumber.-410.1) 2338 0 R] +/Limits [(lstnumber.-409.1) (lstnumber.-410.1)] +>> endobj +4399 0 obj << +/Names [(lstnumber.-410.2) 2339 0 R (lstnumber.-410.3) 2340 0 R (lstnumber.-410.4) 2341 0 R (lstnumber.-410.5) 2342 0 R (lstnumber.-410.6) 2343 0 R (lstnumber.-411.1) 2345 0 R] +/Limits [(lstnumber.-410.2) (lstnumber.-411.1)] +>> endobj +4400 0 obj << +/Names [(lstnumber.-411.2) 2346 0 R (lstnumber.-411.3) 2347 0 R (lstnumber.-412.1) 2349 0 R (lstnumber.-412.2) 2350 0 R (lstnumber.-412.3) 2351 0 R (lstnumber.-412.4) 2352 0 R] +/Limits [(lstnumber.-411.2) (lstnumber.-412.4)] +>> endobj +4401 0 obj << +/Names [(lstnumber.-413.1) 2355 0 R (lstnumber.-414.1) 2357 0 R (lstnumber.-414.2) 2358 0 R (lstnumber.-415.1) 2360 0 R (lstnumber.-416.1) 2362 0 R (lstnumber.-417.1) 2364 0 R] +/Limits [(lstnumber.-413.1) (lstnumber.-417.1)] +>> endobj +4402 0 obj << +/Names [(lstnumber.-418.1) 2370 0 R (lstnumber.-418.2) 2371 0 R (lstnumber.-419.1) 2373 0 R (lstnumber.-419.10) 2382 0 R (lstnumber.-419.11) 2383 0 R (lstnumber.-419.12) 2384 0 R] +/Limits [(lstnumber.-418.1) (lstnumber.-419.12)] +>> endobj +4403 0 obj << +/Names [(lstnumber.-419.13) 2385 0 R (lstnumber.-419.14) 2386 0 R (lstnumber.-419.15) 2387 0 R (lstnumber.-419.16) 2388 0 R (lstnumber.-419.17) 2389 0 R (lstnumber.-419.2) 2374 0 R] +/Limits [(lstnumber.-419.13) (lstnumber.-419.2)] +>> endobj +4404 0 obj << +/Names [(lstnumber.-419.3) 2375 0 R (lstnumber.-419.4) 2376 0 R (lstnumber.-419.5) 2377 0 R (lstnumber.-419.6) 2378 0 R (lstnumber.-419.7) 2379 0 R (lstnumber.-419.8) 2380 0 R] +/Limits [(lstnumber.-419.3) (lstnumber.-419.8)] +>> endobj +4405 0 obj << +/Names [(lstnumber.-419.9) 2381 0 R (lstnumber.-42.1) 1030 0 R (lstnumber.-420.1) 2391 0 R (lstnumber.-421.1) 2393 0 R (lstnumber.-421.2) 2394 0 R (lstnumber.-422.1) 2396 0 R] +/Limits [(lstnumber.-419.9) (lstnumber.-422.1)] +>> endobj +4406 0 obj << +/Names [(lstnumber.-423.1) 2398 0 R (lstnumber.-424.1) 2400 0 R (lstnumber.-424.2) 2401 0 R (lstnumber.-425.1) 2403 0 R (lstnumber.-425.2) 2404 0 R (lstnumber.-426.1) 2406 0 R] +/Limits [(lstnumber.-423.1) (lstnumber.-426.1)] +>> endobj +4407 0 obj << +/Names [(lstnumber.-426.2) 2407 0 R (lstnumber.-426.3) 2408 0 R (lstnumber.-426.4) 2409 0 R (lstnumber.-426.5) 2410 0 R (lstnumber.-426.6) 2411 0 R (lstnumber.-427.1) 2417 0 R] +/Limits [(lstnumber.-426.2) (lstnumber.-427.1)] +>> endobj +4408 0 obj << +/Names [(lstnumber.-428.1) 2419 0 R (lstnumber.-428.2) 2420 0 R (lstnumber.-428.3) 2421 0 R (lstnumber.-429.1) 2423 0 R (lstnumber.-429.2) 2424 0 R (lstnumber.-43.1) 1032 0 R] +/Limits [(lstnumber.-428.1) (lstnumber.-43.1)] +>> endobj +4409 0 obj << +/Names [(lstnumber.-43.2) 1033 0 R (lstnumber.-430.1) 2426 0 R (lstnumber.-430.2) 2427 0 R (lstnumber.-431.1) 2429 0 R (lstnumber.-431.10) 2438 0 R (lstnumber.-431.11) 2439 0 R] +/Limits [(lstnumber.-43.2) (lstnumber.-431.11)] +>> endobj +4410 0 obj << +/Names [(lstnumber.-431.12) 2440 0 R (lstnumber.-431.13) 2441 0 R (lstnumber.-431.14) 2442 0 R (lstnumber.-431.15) 2443 0 R (lstnumber.-431.16) 2444 0 R (lstnumber.-431.17) 2445 0 R] +/Limits [(lstnumber.-431.12) (lstnumber.-431.17)] +>> endobj +4411 0 obj << +/Names [(lstnumber.-431.18) 2446 0 R (lstnumber.-431.19) 2447 0 R (lstnumber.-431.2) 2430 0 R (lstnumber.-431.20) 2448 0 R (lstnumber.-431.3) 2431 0 R (lstnumber.-431.4) 2432 0 R] +/Limits [(lstnumber.-431.18) (lstnumber.-431.4)] +>> endobj +4412 0 obj << +/Names [(lstnumber.-431.5) 2433 0 R (lstnumber.-431.6) 2434 0 R (lstnumber.-431.7) 2435 0 R (lstnumber.-431.8) 2436 0 R (lstnumber.-431.9) 2437 0 R (lstnumber.-432.1) 2450 0 R] +/Limits [(lstnumber.-431.5) (lstnumber.-432.1)] +>> endobj +4413 0 obj << +/Names [(lstnumber.-432.2) 2451 0 R (lstnumber.-432.3) 2452 0 R (lstnumber.-432.4) 2453 0 R (lstnumber.-432.5) 2454 0 R (lstnumber.-433.1) 2456 0 R (lstnumber.-433.2) 2457 0 R] +/Limits [(lstnumber.-432.2) (lstnumber.-433.2)] +>> endobj +4414 0 obj << +/Names [(lstnumber.-433.3) 2458 0 R (lstnumber.-433.4) 2459 0 R (lstnumber.-434.1) 2465 0 R (lstnumber.-434.2) 2466 0 R (lstnumber.-435.1) 2468 0 R (lstnumber.-435.2) 2469 0 R] +/Limits [(lstnumber.-433.3) (lstnumber.-435.2)] +>> endobj +4415 0 obj << +/Names [(lstnumber.-435.3) 2470 0 R (lstnumber.-436.1) 2472 0 R (lstnumber.-436.2) 2473 0 R (lstnumber.-436.3) 2474 0 R (lstnumber.-436.4) 2475 0 R (lstnumber.-437.1) 2477 0 R] +/Limits [(lstnumber.-435.3) (lstnumber.-437.1)] +>> endobj +4416 0 obj << +/Names [(lstnumber.-437.2) 2478 0 R (lstnumber.-437.3) 2479 0 R (lstnumber.-437.4) 2480 0 R (lstnumber.-437.5) 2481 0 R (lstnumber.-437.6) 2482 0 R (lstnumber.-438.1) 2484 0 R] +/Limits [(lstnumber.-437.2) (lstnumber.-438.1)] +>> endobj +4417 0 obj << +/Names [(lstnumber.-438.2) 2485 0 R (lstnumber.-439.1) 2487 0 R (lstnumber.-439.2) 2488 0 R (lstnumber.-44.1) 1035 0 R (lstnumber.-44.2) 1036 0 R (lstnumber.-440.1) 2490 0 R] +/Limits [(lstnumber.-438.2) (lstnumber.-440.1)] +>> endobj +4418 0 obj << +/Names [(lstnumber.-441.1) 2492 0 R (lstnumber.-441.2) 2493 0 R (lstnumber.-441.3) 2494 0 R (lstnumber.-441.4) 2495 0 R (lstnumber.-441.5) 2496 0 R (lstnumber.-442.1) 2498 0 R] +/Limits [(lstnumber.-441.1) (lstnumber.-442.1)] +>> endobj +4419 0 obj << +/Names [(lstnumber.-442.2) 2499 0 R (lstnumber.-442.3) 2500 0 R (lstnumber.-443.1) 2502 0 R (lstnumber.-444.1) 2508 0 R (lstnumber.-444.2) 2509 0 R (lstnumber.-444.3) 2510 0 R] +/Limits [(lstnumber.-442.2) (lstnumber.-444.3)] +>> endobj +4420 0 obj << +/Names [(lstnumber.-444.4) 2511 0 R (lstnumber.-445.1) 2513 0 R (lstnumber.-445.2) 2514 0 R (lstnumber.-445.3) 2515 0 R (lstnumber.-445.4) 2516 0 R (lstnumber.-445.5) 2517 0 R] +/Limits [(lstnumber.-444.4) (lstnumber.-445.5)] +>> endobj +4421 0 obj << +/Names [(lstnumber.-446.1) 2519 0 R (lstnumber.-446.2) 2520 0 R (lstnumber.-446.3) 2521 0 R (lstnumber.-446.4) 2522 0 R (lstnumber.-447.1) 2524 0 R (lstnumber.-447.2) 2525 0 R] +/Limits [(lstnumber.-446.1) (lstnumber.-447.2)] +>> endobj +4422 0 obj << +/Names [(lstnumber.-447.3) 2526 0 R (lstnumber.-448.1) 2528 0 R (lstnumber.-448.2) 2529 0 R (lstnumber.-449.1) 2531 0 R (lstnumber.-449.2) 2532 0 R (lstnumber.-45.1) 1038 0 R] +/Limits [(lstnumber.-447.3) (lstnumber.-45.1)] +>> endobj +4423 0 obj << +/Names [(lstnumber.-45.2) 1039 0 R (lstnumber.-450.1) 2534 0 R (lstnumber.-450.2) 2535 0 R (lstnumber.-451.1) 2537 0 R (lstnumber.-452.1) 2539 0 R (lstnumber.-453.1) 2541 0 R] +/Limits [(lstnumber.-45.2) (lstnumber.-453.1)] +>> endobj +4424 0 obj << +/Names [(lstnumber.-454.1) 2543 0 R (lstnumber.-454.2) 2544 0 R (lstnumber.-455.1) 2551 0 R (lstnumber.-456.1) 2553 0 R (lstnumber.-457.1) 2555 0 R (lstnumber.-457.2) 2556 0 R] +/Limits [(lstnumber.-454.1) (lstnumber.-457.2)] +>> endobj +4425 0 obj << +/Names [(lstnumber.-457.3) 2557 0 R (lstnumber.-458.1) 2559 0 R (lstnumber.-458.2) 2560 0 R (lstnumber.-459.1) 2562 0 R (lstnumber.-459.2) 2563 0 R (lstnumber.-459.3) 2564 0 R] +/Limits [(lstnumber.-457.3) (lstnumber.-459.3)] +>> endobj +4426 0 obj << +/Names [(lstnumber.-46.1) 1041 0 R (lstnumber.-46.2) 1042 0 R (lstnumber.-460.1) 2566 0 R (lstnumber.-461.1) 2568 0 R (lstnumber.-462.1) 2570 0 R (lstnumber.-462.2) 2571 0 R] +/Limits [(lstnumber.-46.1) (lstnumber.-462.2)] +>> endobj +4427 0 obj << +/Names [(lstnumber.-463.1) 2573 0 R (lstnumber.-463.10) 2582 0 R (lstnumber.-463.11) 2583 0 R (lstnumber.-463.12) 2584 0 R (lstnumber.-463.13) 2585 0 R (lstnumber.-463.14) 2586 0 R] +/Limits [(lstnumber.-463.1) (lstnumber.-463.14)] +>> endobj +4428 0 obj << +/Names [(lstnumber.-463.15) 2587 0 R (lstnumber.-463.16) 2588 0 R (lstnumber.-463.17) 2589 0 R (lstnumber.-463.18) 2590 0 R (lstnumber.-463.19) 2591 0 R (lstnumber.-463.2) 2574 0 R] +/Limits [(lstnumber.-463.15) (lstnumber.-463.2)] +>> endobj +4429 0 obj << +/Names [(lstnumber.-463.20) 2592 0 R (lstnumber.-463.21) 2593 0 R (lstnumber.-463.22) 2594 0 R (lstnumber.-463.23) 2595 0 R (lstnumber.-463.3) 2575 0 R (lstnumber.-463.4) 2576 0 R] +/Limits [(lstnumber.-463.20) (lstnumber.-463.4)] +>> endobj +4430 0 obj << +/Names [(lstnumber.-463.5) 2577 0 R (lstnumber.-463.6) 2578 0 R (lstnumber.-463.7) 2579 0 R (lstnumber.-463.8) 2580 0 R (lstnumber.-463.9) 2581 0 R (lstnumber.-464.1) 2601 0 R] +/Limits [(lstnumber.-463.5) (lstnumber.-464.1)] +>> endobj +4431 0 obj << +/Names [(lstnumber.-464.10) 2610 0 R (lstnumber.-464.11) 2611 0 R (lstnumber.-464.12) 2612 0 R (lstnumber.-464.13) 2613 0 R (lstnumber.-464.14) 2614 0 R (lstnumber.-464.15) 2615 0 R] +/Limits [(lstnumber.-464.10) (lstnumber.-464.15)] +>> endobj +4432 0 obj << +/Names [(lstnumber.-464.16) 2616 0 R (lstnumber.-464.17) 2617 0 R (lstnumber.-464.18) 2618 0 R (lstnumber.-464.19) 2619 0 R (lstnumber.-464.2) 2602 0 R (lstnumber.-464.20) 2620 0 R] +/Limits [(lstnumber.-464.16) (lstnumber.-464.20)] +>> endobj +4433 0 obj << +/Names [(lstnumber.-464.21) 2621 0 R (lstnumber.-464.22) 2622 0 R (lstnumber.-464.23) 2623 0 R (lstnumber.-464.24) 2624 0 R (lstnumber.-464.25) 2625 0 R (lstnumber.-464.26) 2626 0 R] +/Limits [(lstnumber.-464.21) (lstnumber.-464.26)] +>> endobj +4434 0 obj << +/Names [(lstnumber.-464.3) 2603 0 R (lstnumber.-464.4) 2604 0 R (lstnumber.-464.5) 2605 0 R (lstnumber.-464.6) 2606 0 R (lstnumber.-464.7) 2607 0 R (lstnumber.-464.8) 2608 0 R] +/Limits [(lstnumber.-464.3) (lstnumber.-464.8)] +>> endobj +4435 0 obj << +/Names [(lstnumber.-464.9) 2609 0 R (lstnumber.-465.1) 2628 0 R (lstnumber.-466.1) 2630 0 R (lstnumber.-466.2) 2631 0 R (lstnumber.-466.3) 2632 0 R (lstnumber.-466.4) 2633 0 R] +/Limits [(lstnumber.-464.9) (lstnumber.-466.4)] +>> endobj +4436 0 obj << +/Names [(lstnumber.-467.1) 2635 0 R (lstnumber.-467.2) 2636 0 R (lstnumber.-467.3) 2637 0 R (lstnumber.-467.4) 2638 0 R (lstnumber.-468.1) 2640 0 R (lstnumber.-469.1) 2642 0 R] +/Limits [(lstnumber.-467.1) (lstnumber.-469.1)] +>> endobj +4437 0 obj << +/Names [(lstnumber.-469.2) 2643 0 R (lstnumber.-469.3) 2644 0 R (lstnumber.-469.4) 2645 0 R (lstnumber.-47.1) 1049 0 R (lstnumber.-470.1) 2651 0 R (lstnumber.-470.2) 2652 0 R] +/Limits [(lstnumber.-469.2) (lstnumber.-470.2)] +>> endobj +4438 0 obj << +/Names [(lstnumber.-470.3) 2653 0 R (lstnumber.-471.1) 2655 0 R (lstnumber.-471.2) 2656 0 R (lstnumber.-471.3) 2657 0 R (lstnumber.-471.4) 2658 0 R (lstnumber.-471.5) 2659 0 R] +/Limits [(lstnumber.-470.3) (lstnumber.-471.5)] +>> endobj +4439 0 obj << +/Names [(lstnumber.-472.1) 2661 0 R (lstnumber.-472.2) 2662 0 R (lstnumber.-473.1) 2664 0 R (lstnumber.-474.1) 2666 0 R (lstnumber.-474.2) 2667 0 R (lstnumber.-475.1) 2669 0 R] +/Limits [(lstnumber.-472.1) (lstnumber.-475.1)] +>> endobj +4440 0 obj << +/Names [(lstnumber.-475.2) 2670 0 R (lstnumber.-476.1) 2672 0 R (lstnumber.-476.2) 2673 0 R (lstnumber.-476.3) 2674 0 R (lstnumber.-477.1) 2676 0 R (lstnumber.-477.10) 2685 0 R] +/Limits [(lstnumber.-475.2) (lstnumber.-477.10)] +>> endobj +4441 0 obj << +/Names [(lstnumber.-477.11) 2686 0 R (lstnumber.-477.12) 2687 0 R (lstnumber.-477.13) 2688 0 R (lstnumber.-477.14) 2689 0 R (lstnumber.-477.15) 2690 0 R (lstnumber.-477.16) 2691 0 R] +/Limits [(lstnumber.-477.11) (lstnumber.-477.16)] +>> endobj +4442 0 obj << +/Names [(lstnumber.-477.17) 2692 0 R (lstnumber.-477.18) 2693 0 R (lstnumber.-477.19) 2694 0 R (lstnumber.-477.2) 2677 0 R (lstnumber.-477.20) 2695 0 R (lstnumber.-477.21) 2696 0 R] +/Limits [(lstnumber.-477.17) (lstnumber.-477.21)] +>> endobj +4443 0 obj << +/Names [(lstnumber.-477.22) 2701 0 R (lstnumber.-477.23) 2702 0 R (lstnumber.-477.24) 2703 0 R (lstnumber.-477.25) 2704 0 R (lstnumber.-477.26) 2705 0 R (lstnumber.-477.3) 2678 0 R] +/Limits [(lstnumber.-477.22) (lstnumber.-477.3)] +>> endobj +4444 0 obj << +/Names [(lstnumber.-477.4) 2679 0 R (lstnumber.-477.5) 2680 0 R (lstnumber.-477.6) 2681 0 R (lstnumber.-477.7) 2682 0 R (lstnumber.-477.8) 2683 0 R (lstnumber.-477.9) 2684 0 R] +/Limits [(lstnumber.-477.4) (lstnumber.-477.9)] +>> endobj +4445 0 obj << +/Names [(lstnumber.-478.1) 2707 0 R (lstnumber.-479.1) 2709 0 R (lstnumber.-479.2) 2710 0 R (lstnumber.-479.3) 2711 0 R (lstnumber.-48.1) 1051 0 R (lstnumber.-48.2) 1052 0 R] +/Limits [(lstnumber.-478.1) (lstnumber.-48.2)] +>> endobj +4446 0 obj << +/Names [(lstnumber.-480.1) 2713 0 R (lstnumber.-480.2) 2714 0 R (lstnumber.-480.3) 2715 0 R (lstnumber.-481.1) 2717 0 R (lstnumber.-481.2) 2718 0 R (lstnumber.-481.3) 2719 0 R] +/Limits [(lstnumber.-480.1) (lstnumber.-481.3)] +>> endobj +4447 0 obj << +/Names [(lstnumber.-482.1) 2721 0 R (lstnumber.-482.2) 2722 0 R (lstnumber.-482.3) 2723 0 R (lstnumber.-482.4) 2724 0 R (lstnumber.-483.1) 2726 0 R (lstnumber.-483.2) 2727 0 R] +/Limits [(lstnumber.-482.1) (lstnumber.-483.2)] +>> endobj +4448 0 obj << +/Names [(lstnumber.-483.3) 2728 0 R (lstnumber.-483.4) 2729 0 R (lstnumber.-483.5) 2730 0 R (lstnumber.-483.6) 2731 0 R (lstnumber.-483.7) 2732 0 R (lstnumber.-483.8) 2733 0 R] +/Limits [(lstnumber.-483.3) (lstnumber.-483.8)] +>> endobj +4449 0 obj << +/Names [(lstnumber.-484.1) 2735 0 R (lstnumber.-485.1) 2737 0 R (lstnumber.-485.2) 2738 0 R (lstnumber.-486.1) 2740 0 R (lstnumber.-486.2) 2741 0 R (lstnumber.-486.3) 2742 0 R] +/Limits [(lstnumber.-484.1) (lstnumber.-486.3)] +>> endobj +4450 0 obj << +/Names [(lstnumber.-487.1) 2748 0 R (lstnumber.-487.2) 2749 0 R (lstnumber.-488.1) 2751 0 R (lstnumber.-488.2) 2752 0 R (lstnumber.-488.3) 2753 0 R (lstnumber.-489.1) 2756 0 R] +/Limits [(lstnumber.-487.1) (lstnumber.-489.1)] +>> endobj +4451 0 obj << +/Names [(lstnumber.-49.1) 1054 0 R (lstnumber.-490.1) 2758 0 R (lstnumber.-491.1) 2760 0 R (lstnumber.-492.1) 2762 0 R (lstnumber.-493.1) 2764 0 R (lstnumber.-494.1) 2766 0 R] +/Limits [(lstnumber.-49.1) (lstnumber.-494.1)] +>> endobj +4452 0 obj << +/Names [(lstnumber.-494.2) 2767 0 R (lstnumber.-495.1) 2769 0 R (lstnumber.-495.10) 2778 0 R (lstnumber.-495.11) 2779 0 R (lstnumber.-495.12) 2780 0 R (lstnumber.-495.13) 2785 0 R] +/Limits [(lstnumber.-494.2) (lstnumber.-495.13)] +>> endobj +4453 0 obj << +/Names [(lstnumber.-495.14) 2786 0 R (lstnumber.-495.15) 2787 0 R (lstnumber.-495.16) 2788 0 R (lstnumber.-495.17) 2789 0 R (lstnumber.-495.18) 2790 0 R (lstnumber.-495.19) 2791 0 R] +/Limits [(lstnumber.-495.14) (lstnumber.-495.19)] +>> endobj +4454 0 obj << +/Names [(lstnumber.-495.2) 2770 0 R (lstnumber.-495.20) 2792 0 R (lstnumber.-495.21) 2793 0 R (lstnumber.-495.22) 2794 0 R (lstnumber.-495.23) 2795 0 R (lstnumber.-495.24) 2796 0 R] +/Limits [(lstnumber.-495.2) (lstnumber.-495.24)] +>> endobj +4455 0 obj << +/Names [(lstnumber.-495.25) 2797 0 R (lstnumber.-495.26) 2798 0 R (lstnumber.-495.27) 2799 0 R (lstnumber.-495.28) 2800 0 R (lstnumber.-495.29) 2801 0 R (lstnumber.-495.3) 2771 0 R] +/Limits [(lstnumber.-495.25) (lstnumber.-495.3)] +>> endobj +4456 0 obj << +/Names [(lstnumber.-495.30) 2802 0 R (lstnumber.-495.31) 2803 0 R (lstnumber.-495.32) 2804 0 R (lstnumber.-495.33) 2805 0 R (lstnumber.-495.34) 2806 0 R (lstnumber.-495.35) 2807 0 R] +/Limits [(lstnumber.-495.30) (lstnumber.-495.35)] +>> endobj +4457 0 obj << +/Names [(lstnumber.-495.36) 2808 0 R (lstnumber.-495.37) 2809 0 R (lstnumber.-495.38) 2810 0 R (lstnumber.-495.39) 2811 0 R (lstnumber.-495.4) 2772 0 R (lstnumber.-495.5) 2773 0 R] +/Limits [(lstnumber.-495.36) (lstnumber.-495.5)] +>> endobj +4458 0 obj << +/Names [(lstnumber.-495.6) 2774 0 R (lstnumber.-495.7) 2775 0 R (lstnumber.-495.8) 2776 0 R (lstnumber.-495.9) 2777 0 R (lstnumber.-496.1) 2814 0 R (lstnumber.-496.2) 2815 0 R] +/Limits [(lstnumber.-495.6) (lstnumber.-496.2)] +>> endobj +4459 0 obj << +/Names [(lstnumber.-496.3) 2816 0 R (lstnumber.-496.4) 2817 0 R (lstnumber.-497.1) 2820 0 R (lstnumber.-498.1) 2822 0 R (lstnumber.-499.1) 2824 0 R (lstnumber.-499.2) 2825 0 R] +/Limits [(lstnumber.-496.3) (lstnumber.-499.2)] +>> endobj +4460 0 obj << +/Names [(lstnumber.-5.1) 922 0 R (lstnumber.-50.1) 1056 0 R (lstnumber.-500.1) 2832 0 R (lstnumber.-501.1) 2834 0 R (lstnumber.-501.2) 2835 0 R (lstnumber.-501.3) 2836 0 R] +/Limits [(lstnumber.-5.1) (lstnumber.-501.3)] +>> endobj +4461 0 obj << +/Names [(lstnumber.-501.4) 2837 0 R (lstnumber.-502.1) 2840 0 R (lstnumber.-502.2) 2841 0 R (lstnumber.-502.3) 2842 0 R (lstnumber.-502.4) 2843 0 R (lstnumber.-503.1) 2846 0 R] +/Limits [(lstnumber.-501.4) (lstnumber.-503.1)] +>> endobj +4462 0 obj << +/Names [(lstnumber.-504.1) 2848 0 R (lstnumber.-505.1) 2850 0 R (lstnumber.-506.1) 2852 0 R (lstnumber.-507.1) 2854 0 R (lstnumber.-508.1) 2856 0 R (lstnumber.-509.1) 2858 0 R] +/Limits [(lstnumber.-504.1) (lstnumber.-509.1)] +>> endobj +4463 0 obj << +/Names [(lstnumber.-51.1) 1058 0 R (lstnumber.-510.1) 2864 0 R (lstnumber.-511.1) 2866 0 R (lstnumber.-512.1) 2868 0 R (lstnumber.-513.1) 2870 0 R (lstnumber.-514.1) 2872 0 R] +/Limits [(lstnumber.-51.1) (lstnumber.-514.1)] +>> endobj +4464 0 obj << +/Names [(lstnumber.-515.1) 2874 0 R (lstnumber.-516.1) 2877 0 R (lstnumber.-516.2) 2878 0 R (lstnumber.-516.3) 2879 0 R (lstnumber.-516.4) 2880 0 R (lstnumber.-517.1) 2882 0 R] +/Limits [(lstnumber.-515.1) (lstnumber.-517.1)] +>> endobj +4465 0 obj << +/Names [(lstnumber.-518.1) 2885 0 R (lstnumber.-519.1) 2892 0 R (lstnumber.-52.1) 1060 0 R (lstnumber.-520.1) 2894 0 R (lstnumber.-521.1) 2896 0 R (lstnumber.-522.1) 2898 0 R] +/Limits [(lstnumber.-518.1) (lstnumber.-522.1)] +>> endobj +4466 0 obj << +/Names [(lstnumber.-523.1) 2900 0 R (lstnumber.-523.2) 2901 0 R (lstnumber.-524.1) 2903 0 R (lstnumber.-524.10) 2912 0 R (lstnumber.-524.11) 2913 0 R (lstnumber.-524.12) 2914 0 R] +/Limits [(lstnumber.-523.1) (lstnumber.-524.12)] +>> endobj +4467 0 obj << +/Names [(lstnumber.-524.13) 2915 0 R (lstnumber.-524.14) 2916 0 R (lstnumber.-524.15) 2917 0 R (lstnumber.-524.16) 2918 0 R (lstnumber.-524.17) 2919 0 R (lstnumber.-524.18) 2920 0 R] +/Limits [(lstnumber.-524.13) (lstnumber.-524.18)] +>> endobj +4468 0 obj << +/Names [(lstnumber.-524.19) 2921 0 R (lstnumber.-524.2) 2904 0 R (lstnumber.-524.20) 2922 0 R (lstnumber.-524.3) 2905 0 R (lstnumber.-524.4) 2906 0 R (lstnumber.-524.5) 2907 0 R] +/Limits [(lstnumber.-524.19) (lstnumber.-524.5)] +>> endobj +4469 0 obj << +/Names [(lstnumber.-524.6) 2908 0 R (lstnumber.-524.7) 2909 0 R (lstnumber.-524.8) 2910 0 R (lstnumber.-524.9) 2911 0 R (lstnumber.-525.1) 2924 0 R (lstnumber.-525.2) 2925 0 R] +/Limits [(lstnumber.-524.6) (lstnumber.-525.2)] +>> endobj +4470 0 obj << +/Names [(lstnumber.-525.3) 2926 0 R (lstnumber.-526.1) 2928 0 R (lstnumber.-526.2) 2929 0 R (lstnumber.-527.1) 2935 0 R (lstnumber.-527.2) 2936 0 R (lstnumber.-528.1) 2938 0 R] +/Limits [(lstnumber.-525.3) (lstnumber.-528.1)] +>> endobj +4471 0 obj << +/Names [(lstnumber.-528.10) 2947 0 R (lstnumber.-528.11) 2948 0 R (lstnumber.-528.12) 2949 0 R (lstnumber.-528.13) 2950 0 R (lstnumber.-528.14) 2951 0 R (lstnumber.-528.15) 2952 0 R] +/Limits [(lstnumber.-528.10) (lstnumber.-528.15)] +>> endobj +4472 0 obj << +/Names [(lstnumber.-528.16) 2953 0 R (lstnumber.-528.17) 2954 0 R (lstnumber.-528.18) 2955 0 R (lstnumber.-528.19) 2956 0 R (lstnumber.-528.2) 2939 0 R (lstnumber.-528.20) 2957 0 R] +/Limits [(lstnumber.-528.16) (lstnumber.-528.20)] +>> endobj +4473 0 obj << +/Names [(lstnumber.-528.21) 2958 0 R (lstnumber.-528.22) 2959 0 R (lstnumber.-528.23) 2960 0 R (lstnumber.-528.3) 2940 0 R (lstnumber.-528.4) 2941 0 R (lstnumber.-528.5) 2942 0 R] +/Limits [(lstnumber.-528.21) (lstnumber.-528.5)] +>> endobj +4474 0 obj << +/Names [(lstnumber.-528.6) 2943 0 R (lstnumber.-528.7) 2944 0 R (lstnumber.-528.8) 2945 0 R (lstnumber.-528.9) 2946 0 R (lstnumber.-529.1) 2962 0 R (lstnumber.-529.10) 2971 0 R] +/Limits [(lstnumber.-528.6) (lstnumber.-529.10)] +>> endobj +4475 0 obj << +/Names [(lstnumber.-529.11) 2972 0 R (lstnumber.-529.12) 2973 0 R (lstnumber.-529.13) 2974 0 R (lstnumber.-529.14) 2975 0 R (lstnumber.-529.15) 2976 0 R (lstnumber.-529.16) 2977 0 R] +/Limits [(lstnumber.-529.11) (lstnumber.-529.16)] +>> endobj +4476 0 obj << +/Names [(lstnumber.-529.17) 2978 0 R (lstnumber.-529.18) 2979 0 R (lstnumber.-529.19) 2980 0 R (lstnumber.-529.2) 2963 0 R (lstnumber.-529.20) 2981 0 R (lstnumber.-529.3) 2964 0 R] +/Limits [(lstnumber.-529.17) (lstnumber.-529.3)] +>> endobj +4477 0 obj << +/Names [(lstnumber.-529.4) 2965 0 R (lstnumber.-529.5) 2966 0 R (lstnumber.-529.6) 2967 0 R (lstnumber.-529.7) 2968 0 R (lstnumber.-529.8) 2969 0 R (lstnumber.-529.9) 2970 0 R] +/Limits [(lstnumber.-529.4) (lstnumber.-529.9)] +>> endobj +4478 0 obj << +/Names [(lstnumber.-53.1) 1062 0 R (lstnumber.-530.1) 2983 0 R (lstnumber.-531.1) 2985 0 R (lstnumber.-532.1) 2991 0 R (lstnumber.-532.2) 2992 0 R (lstnumber.-532.3) 2993 0 R] +/Limits [(lstnumber.-53.1) (lstnumber.-532.3)] +>> endobj +4479 0 obj << +/Names [(lstnumber.-533.1) 2995 0 R (lstnumber.-533.2) 2996 0 R (lstnumber.-534.1) 2998 0 R (lstnumber.-534.2) 2999 0 R (lstnumber.-535.1) 3001 0 R (lstnumber.-536.1) 3003 0 R] +/Limits [(lstnumber.-533.1) (lstnumber.-536.1)] +>> endobj +4480 0 obj << +/Names [(lstnumber.-537.1) 3005 0 R (lstnumber.-538.1) 3007 0 R (lstnumber.-539.1) 3009 0 R (lstnumber.-54.1) 1064 0 R (lstnumber.-540.1) 3011 0 R (lstnumber.-541.1) 3013 0 R] +/Limits [(lstnumber.-537.1) (lstnumber.-541.1)] +>> endobj +4481 0 obj << +/Names [(lstnumber.-542.1) 3015 0 R (lstnumber.-543.1) 3017 0 R (lstnumber.-544.1) 3019 0 R (lstnumber.-545.1) 3021 0 R (lstnumber.-545.2) 3022 0 R (lstnumber.-546.1) 3029 0 R] +/Limits [(lstnumber.-542.1) (lstnumber.-546.1)] +>> endobj +4482 0 obj << +/Names [(lstnumber.-547.1) 3031 0 R (lstnumber.-547.2) 3032 0 R (lstnumber.-548.1) 3035 0 R (lstnumber.-548.2) 3036 0 R (lstnumber.-549.1) 3038 0 R (lstnumber.-55.1) 1066 0 R] +/Limits [(lstnumber.-547.1) (lstnumber.-55.1)] +>> endobj +4483 0 obj << +/Names [(lstnumber.-550.1) 3040 0 R (lstnumber.-550.2) 3041 0 R (lstnumber.-550.3) 3042 0 R (lstnumber.-550.4) 3043 0 R (lstnumber.-551.1) 3045 0 R (lstnumber.-551.2) 3046 0 R] +/Limits [(lstnumber.-550.1) (lstnumber.-551.2)] +>> endobj +4484 0 obj << +/Names [(lstnumber.-552.1) 3048 0 R (lstnumber.-552.2) 3049 0 R (lstnumber.-553.1) 3051 0 R (lstnumber.-553.2) 3052 0 R (lstnumber.-553.3) 3053 0 R (lstnumber.-553.4) 3054 0 R] +/Limits [(lstnumber.-552.1) (lstnumber.-553.4)] +>> endobj +4485 0 obj << +/Names [(lstnumber.-554.1) 3056 0 R (lstnumber.-554.2) 3057 0 R (lstnumber.-554.3) 3058 0 R (lstnumber.-554.4) 3059 0 R (lstnumber.-555.1) 3067 0 R (lstnumber.-556.1) 3069 0 R] +/Limits [(lstnumber.-554.1) (lstnumber.-556.1)] +>> endobj +4486 0 obj << +/Names [(lstnumber.-556.2) 3070 0 R (lstnumber.-557.1) 3072 0 R (lstnumber.-558.1) 3075 0 R (lstnumber.-558.2) 3076 0 R (lstnumber.-559.1) 3078 0 R (lstnumber.-559.2) 3079 0 R] +/Limits [(lstnumber.-556.2) (lstnumber.-559.2)] +>> endobj +4487 0 obj << +/Names [(lstnumber.-56.1) 1068 0 R (lstnumber.-56.2) 1069 0 R (lstnumber.-56.3) 1070 0 R (lstnumber.-560.1) 3081 0 R (lstnumber.-561.1) 3083 0 R (lstnumber.-562.1) 3086 0 R] +/Limits [(lstnumber.-56.1) (lstnumber.-562.1)] +>> endobj +4488 0 obj << +/Names [(lstnumber.-562.2) 3087 0 R (lstnumber.-563.1) 3089 0 R (lstnumber.-563.2) 3090 0 R (lstnumber.-564.1) 3092 0 R (lstnumber.-565.1) 3094 0 R (lstnumber.-566.1) 3101 0 R] +/Limits [(lstnumber.-562.2) (lstnumber.-566.1)] +>> endobj +4489 0 obj << +/Names [(lstnumber.-566.2) 3102 0 R (lstnumber.-567.1) 3104 0 R (lstnumber.-567.2) 3105 0 R (lstnumber.-568.1) 3107 0 R (lstnumber.-569.1) 3109 0 R (lstnumber.-57.1) 1072 0 R] +/Limits [(lstnumber.-566.2) (lstnumber.-57.1)] +>> endobj +4490 0 obj << +/Names [(lstnumber.-570.1) 3114 0 R (lstnumber.-571.1) 3116 0 R (lstnumber.-572.1) 3123 0 R (lstnumber.-572.2) 3124 0 R (lstnumber.-572.3) 3125 0 R (lstnumber.-572.4) 3126 0 R] +/Limits [(lstnumber.-570.1) (lstnumber.-572.4)] +>> endobj +4491 0 obj << +/Names [(lstnumber.-572.5) 3127 0 R (lstnumber.-573.1) 3129 0 R (lstnumber.-574.1) 3131 0 R (lstnumber.-574.2) 3132 0 R (lstnumber.-575.1) 3135 0 R (lstnumber.-575.2) 3136 0 R] +/Limits [(lstnumber.-572.5) (lstnumber.-575.2)] +>> endobj +4492 0 obj << +/Names [(lstnumber.-576.1) 3138 0 R (lstnumber.-576.2) 3139 0 R (lstnumber.-576.3) 3140 0 R (lstnumber.-576.4) 3141 0 R (lstnumber.-576.5) 3142 0 R (lstnumber.-576.6) 3143 0 R] +/Limits [(lstnumber.-576.1) (lstnumber.-576.6)] +>> endobj +4493 0 obj << +/Names [(lstnumber.-576.7) 3144 0 R (lstnumber.-577.1) 3146 0 R (lstnumber.-577.2) 3147 0 R (lstnumber.-577.3) 3148 0 R (lstnumber.-578.1) 3150 0 R (lstnumber.-579.1) 3152 0 R] +/Limits [(lstnumber.-576.7) (lstnumber.-579.1)] +>> endobj +4494 0 obj << +/Names [(lstnumber.-579.2) 3153 0 R (lstnumber.-579.3) 3154 0 R (lstnumber.-579.4) 3155 0 R (lstnumber.-58.1) 1074 0 R (lstnumber.-580.1) 3157 0 R (lstnumber.-580.2) 3158 0 R] +/Limits [(lstnumber.-579.2) (lstnumber.-580.2)] +>> endobj +4495 0 obj << +/Names [(lstnumber.-581.1) 3160 0 R (lstnumber.-581.2) 3161 0 R (lstnumber.-582.1) 3168 0 R (lstnumber.-582.2) 3169 0 R (lstnumber.-582.3) 3170 0 R (lstnumber.-582.4) 3171 0 R] +/Limits [(lstnumber.-581.1) (lstnumber.-582.4)] +>> endobj +4496 0 obj << +/Names [(lstnumber.-583.1) 3174 0 R (lstnumber.-583.2) 3175 0 R (lstnumber.-584.1) 3178 0 R (lstnumber.-584.2) 3179 0 R (lstnumber.-585.1) 3182 0 R (lstnumber.-585.2) 3183 0 R] +/Limits [(lstnumber.-583.1) (lstnumber.-585.2)] +>> endobj +4497 0 obj << +/Names [(lstnumber.-586.1) 3186 0 R (lstnumber.-586.2) 3187 0 R (lstnumber.-587.1) 3195 0 R (lstnumber.-587.2) 3196 0 R (lstnumber.-588.1) 3198 0 R (lstnumber.-589.1) 3203 0 R] +/Limits [(lstnumber.-586.1) (lstnumber.-589.1)] +>> endobj +4498 0 obj << +/Names [(lstnumber.-59.1) 1081 0 R (lstnumber.-59.2) 1082 0 R (lstnumber.-590.1) 3209 0 R (lstnumber.-591.1) 3211 0 R (lstnumber.-592.1) 3213 0 R (lstnumber.-593.1) 3215 0 R] +/Limits [(lstnumber.-59.1) (lstnumber.-593.1)] +>> endobj +4499 0 obj << +/Names [(lstnumber.-594.1) 3217 0 R (lstnumber.-595.1) 3219 0 R (lstnumber.-596.1) 3221 0 R (lstnumber.-597.1) 3223 0 R (lstnumber.-598.1) 3225 0 R (lstnumber.-599.1) 3228 0 R] +/Limits [(lstnumber.-594.1) (lstnumber.-599.1)] +>> endobj +4500 0 obj << +/Names [(lstnumber.-599.2) 3229 0 R (lstnumber.-599.3) 3230 0 R (lstnumber.-6.1) 927 0 R (lstnumber.-60.1) 1084 0 R (lstnumber.-600.1) 3232 0 R (lstnumber.-600.2) 3233 0 R] +/Limits [(lstnumber.-599.2) (lstnumber.-600.2)] +>> endobj +4501 0 obj << +/Names [(lstnumber.-601.1) 3235 0 R (lstnumber.-601.2) 3236 0 R (lstnumber.-601.3) 3237 0 R (lstnumber.-601.4) 3238 0 R (lstnumber.-602.1) 3245 0 R (lstnumber.-603.1) 3247 0 R] +/Limits [(lstnumber.-601.1) (lstnumber.-603.1)] +>> endobj +4502 0 obj << +/Names [(lstnumber.-603.2) 3248 0 R (lstnumber.-603.3) 3249 0 R (lstnumber.-603.4) 3250 0 R (lstnumber.-603.5) 3251 0 R (lstnumber.-603.6) 3252 0 R (lstnumber.-604.1) 3254 0 R] +/Limits [(lstnumber.-603.2) (lstnumber.-604.1)] +>> endobj +4503 0 obj << +/Names [(lstnumber.-604.2) 3255 0 R (lstnumber.-605.1) 3258 0 R (lstnumber.-606.1) 3260 0 R (lstnumber.-606.2) 3261 0 R (lstnumber.-607.1) 3263 0 R (lstnumber.-608.1) 3265 0 R] +/Limits [(lstnumber.-604.2) (lstnumber.-608.1)] +>> endobj +4504 0 obj << +/Names [(lstnumber.-609.1) 3267 0 R (lstnumber.-61.1) 1086 0 R (lstnumber.-61.2) 1087 0 R (lstnumber.-61.3) 1088 0 R (lstnumber.-610.1) 3269 0 R (lstnumber.-611.1) 3271 0 R] +/Limits [(lstnumber.-609.1) (lstnumber.-611.1)] +>> endobj +4505 0 obj << +/Names [(lstnumber.-612.1) 3273 0 R (lstnumber.-613.1) 3275 0 R (lstnumber.-614.1) 3281 0 R (lstnumber.-615.1) 3283 0 R (lstnumber.-616.1) 3285 0 R (lstnumber.-616.2) 3286 0 R] +/Limits [(lstnumber.-612.1) (lstnumber.-616.2)] +>> endobj +4506 0 obj << +/Names [(lstnumber.-616.3) 3287 0 R (lstnumber.-616.4) 3288 0 R (lstnumber.-617.1) 3290 0 R (lstnumber.-617.2) 3291 0 R (lstnumber.-618.1) 3293 0 R (lstnumber.-618.2) 3294 0 R] +/Limits [(lstnumber.-616.3) (lstnumber.-618.2)] +>> endobj +4507 0 obj << +/Names [(lstnumber.-619.1) 3296 0 R (lstnumber.-619.2) 3297 0 R (lstnumber.-62.1) 1090 0 R (lstnumber.-62.2) 1091 0 R (lstnumber.-620.1) 3299 0 R (lstnumber.-620.2) 3300 0 R] +/Limits [(lstnumber.-619.1) (lstnumber.-620.2)] +>> endobj +4508 0 obj << +/Names [(lstnumber.-621.1) 3302 0 R (lstnumber.-622.1) 3304 0 R (lstnumber.-623.1) 3306 0 R (lstnumber.-624.1) 3308 0 R (lstnumber.-624.2) 3309 0 R (lstnumber.-624.3) 3310 0 R] +/Limits [(lstnumber.-621.1) (lstnumber.-624.3)] +>> endobj +4509 0 obj << +/Names [(lstnumber.-625.1) 3312 0 R (lstnumber.-626.1) 3314 0 R (lstnumber.-627.1) 3321 0 R (lstnumber.-627.2) 3322 0 R (lstnumber.-628.1) 3324 0 R (lstnumber.-628.2) 3325 0 R] +/Limits [(lstnumber.-625.1) (lstnumber.-628.2)] +>> endobj +4510 0 obj << +/Names [(lstnumber.-628.3) 3326 0 R (lstnumber.-628.4) 3327 0 R (lstnumber.-628.5) 3328 0 R (lstnumber.-628.6) 3329 0 R (lstnumber.-629.1) 3331 0 R (lstnumber.-629.2) 3332 0 R] +/Limits [(lstnumber.-628.3) (lstnumber.-629.2)] +>> endobj +4511 0 obj << +/Names [(lstnumber.-63.1) 1093 0 R (lstnumber.-630.1) 3334 0 R (lstnumber.-630.2) 3335 0 R (lstnumber.-631.1) 3337 0 R (lstnumber.-631.2) 3338 0 R (lstnumber.-632.1) 3340 0 R] +/Limits [(lstnumber.-63.1) (lstnumber.-632.1)] +>> endobj +4512 0 obj << +/Names [(lstnumber.-632.2) 3341 0 R (lstnumber.-633.1) 3343 0 R (lstnumber.-633.2) 3344 0 R (lstnumber.-633.3) 3345 0 R (lstnumber.-633.4) 3346 0 R (lstnumber.-633.5) 3347 0 R] +/Limits [(lstnumber.-632.2) (lstnumber.-633.5)] +>> endobj +4513 0 obj << +/Names [(lstnumber.-634.1) 3349 0 R (lstnumber.-634.2) 3350 0 R (lstnumber.-634.3) 3351 0 R (lstnumber.-634.4) 3352 0 R (lstnumber.-634.5) 3353 0 R (lstnumber.-634.6) 3354 0 R] +/Limits [(lstnumber.-634.1) (lstnumber.-634.6)] +>> endobj +4514 0 obj << +/Names [(lstnumber.-634.7) 3355 0 R (lstnumber.-634.8) 3356 0 R (lstnumber.-634.9) 3357 0 R (lstnumber.-635.1) 3363 0 R (lstnumber.-635.2) 3364 0 R (lstnumber.-636.1) 3366 0 R] +/Limits [(lstnumber.-634.7) (lstnumber.-636.1)] +>> endobj +4515 0 obj << +/Names [(lstnumber.-636.2) 3367 0 R (lstnumber.-636.3) 3368 0 R (lstnumber.-636.4) 3369 0 R (lstnumber.-636.5) 3370 0 R (lstnumber.-636.6) 3371 0 R (lstnumber.-637.1) 3373 0 R] +/Limits [(lstnumber.-636.2) (lstnumber.-637.1)] +>> endobj +4516 0 obj << +/Names [(lstnumber.-638.1) 3375 0 R (lstnumber.-639.1) 3377 0 R (lstnumber.-64.1) 1096 0 R (lstnumber.-640.1) 3379 0 R (lstnumber.-641.1) 3381 0 R (lstnumber.-642.1) 3383 0 R] +/Limits [(lstnumber.-638.1) (lstnumber.-642.1)] +>> endobj +4517 0 obj << +/Names [(lstnumber.-643.1) 3385 0 R (lstnumber.-644.1) 3387 0 R (lstnumber.-645.1) 3389 0 R (lstnumber.-645.2) 3390 0 R (lstnumber.-645.3) 3391 0 R (lstnumber.-645.4) 3392 0 R] +/Limits [(lstnumber.-643.1) (lstnumber.-645.4)] +>> endobj +4518 0 obj << +/Names [(lstnumber.-646.1) 3394 0 R (lstnumber.-647.1) 3400 0 R (lstnumber.-648.1) 3402 0 R (lstnumber.-648.2) 3403 0 R (lstnumber.-648.3) 3404 0 R (lstnumber.-649.1) 3406 0 R] +/Limits [(lstnumber.-646.1) (lstnumber.-649.1)] +>> endobj +4519 0 obj << +/Names [(lstnumber.-649.2) 3407 0 R (lstnumber.-65.1) 1098 0 R (lstnumber.-650.1) 3409 0 R (lstnumber.-650.2) 3410 0 R (lstnumber.-650.3) 3411 0 R (lstnumber.-650.4) 3412 0 R] +/Limits [(lstnumber.-649.2) (lstnumber.-650.4)] +>> endobj +4520 0 obj << +/Names [(lstnumber.-651.1) 3415 0 R (lstnumber.-651.2) 3416 0 R (lstnumber.-651.3) 3417 0 R (lstnumber.-651.4) 3418 0 R (lstnumber.-651.5) 3419 0 R (lstnumber.-652.1) 3421 0 R] +/Limits [(lstnumber.-651.1) (lstnumber.-652.1)] +>> endobj +4521 0 obj << +/Names [(lstnumber.-652.2) 3422 0 R (lstnumber.-652.3) 3423 0 R (lstnumber.-652.4) 3424 0 R (lstnumber.-652.5) 3425 0 R (lstnumber.-653.1) 3427 0 R (lstnumber.-653.2) 3428 0 R] +/Limits [(lstnumber.-652.2) (lstnumber.-653.2)] +>> endobj +4522 0 obj << +/Names [(lstnumber.-654.1) 3430 0 R (lstnumber.-654.2) 3431 0 R (lstnumber.-654.3) 3432 0 R (lstnumber.-655.1) 3434 0 R (lstnumber.-655.2) 3435 0 R (lstnumber.-656.1) 3441 0 R] +/Limits [(lstnumber.-654.1) (lstnumber.-656.1)] +>> endobj +4523 0 obj << +/Names [(lstnumber.-656.10) 3450 0 R (lstnumber.-656.11) 3451 0 R (lstnumber.-656.12) 3452 0 R (lstnumber.-656.13) 3453 0 R (lstnumber.-656.14) 3454 0 R (lstnumber.-656.15) 3455 0 R] +/Limits [(lstnumber.-656.10) (lstnumber.-656.15)] +>> endobj +4524 0 obj << +/Names [(lstnumber.-656.16) 3456 0 R (lstnumber.-656.17) 3457 0 R (lstnumber.-656.18) 3458 0 R (lstnumber.-656.19) 3459 0 R (lstnumber.-656.2) 3442 0 R (lstnumber.-656.20) 3460 0 R] +/Limits [(lstnumber.-656.16) (lstnumber.-656.20)] +>> endobj +4525 0 obj << +/Names [(lstnumber.-656.21) 3461 0 R (lstnumber.-656.22) 3462 0 R (lstnumber.-656.23) 3463 0 R (lstnumber.-656.24) 3464 0 R (lstnumber.-656.25) 3465 0 R (lstnumber.-656.3) 3443 0 R] +/Limits [(lstnumber.-656.21) (lstnumber.-656.3)] +>> endobj +4526 0 obj << +/Names [(lstnumber.-656.4) 3444 0 R (lstnumber.-656.5) 3445 0 R (lstnumber.-656.6) 3446 0 R (lstnumber.-656.7) 3447 0 R (lstnumber.-656.8) 3448 0 R (lstnumber.-656.9) 3449 0 R] +/Limits [(lstnumber.-656.4) (lstnumber.-656.9)] +>> endobj +4527 0 obj << +/Names [(lstnumber.-657.1) 3467 0 R (lstnumber.-657.2) 3468 0 R (lstnumber.-657.3) 3469 0 R (lstnumber.-658.1) 3471 0 R (lstnumber.-658.2) 3472 0 R (lstnumber.-659.1) 3474 0 R] +/Limits [(lstnumber.-657.1) (lstnumber.-659.1)] +>> endobj +4528 0 obj << +/Names [(lstnumber.-659.10) 3483 0 R (lstnumber.-659.11) 3484 0 R (lstnumber.-659.12) 3485 0 R (lstnumber.-659.13) 3486 0 R (lstnumber.-659.14) 3487 0 R (lstnumber.-659.15) 3488 0 R] +/Limits [(lstnumber.-659.10) (lstnumber.-659.15)] +>> endobj +4529 0 obj << +/Names [(lstnumber.-659.2) 3475 0 R (lstnumber.-659.3) 3476 0 R (lstnumber.-659.4) 3477 0 R (lstnumber.-659.5) 3478 0 R (lstnumber.-659.6) 3479 0 R (lstnumber.-659.7) 3480 0 R] +/Limits [(lstnumber.-659.2) (lstnumber.-659.7)] +>> endobj +4530 0 obj << +/Names [(lstnumber.-659.8) 3481 0 R (lstnumber.-659.9) 3482 0 R (lstnumber.-66.1) 1100 0 R (lstnumber.-660.1) 3490 0 R (lstnumber.-660.2) 3491 0 R (lstnumber.-661.1) 3498 0 R] +/Limits [(lstnumber.-659.8) (lstnumber.-661.1)] +>> endobj +4531 0 obj << +/Names [(lstnumber.-661.10) 3507 0 R (lstnumber.-661.11) 3508 0 R (lstnumber.-661.12) 3509 0 R (lstnumber.-661.13) 3510 0 R (lstnumber.-661.14) 3511 0 R (lstnumber.-661.15) 3512 0 R] +/Limits [(lstnumber.-661.10) (lstnumber.-661.15)] +>> endobj +4532 0 obj << +/Names [(lstnumber.-661.16) 3513 0 R (lstnumber.-661.17) 3514 0 R (lstnumber.-661.18) 3515 0 R (lstnumber.-661.19) 3516 0 R (lstnumber.-661.2) 3499 0 R (lstnumber.-661.20) 3517 0 R] +/Limits [(lstnumber.-661.16) (lstnumber.-661.20)] +>> endobj +4533 0 obj << +/Names [(lstnumber.-661.21) 3518 0 R (lstnumber.-661.3) 3500 0 R (lstnumber.-661.4) 3501 0 R (lstnumber.-661.5) 3502 0 R (lstnumber.-661.6) 3503 0 R (lstnumber.-661.7) 3504 0 R] +/Limits [(lstnumber.-661.21) (lstnumber.-661.7)] +>> endobj +4534 0 obj << +/Names [(lstnumber.-661.8) 3505 0 R (lstnumber.-661.9) 3506 0 R (lstnumber.-662.1) 3520 0 R (lstnumber.-662.2) 3521 0 R (lstnumber.-663.1) 3523 0 R (lstnumber.-663.2) 3524 0 R] +/Limits [(lstnumber.-661.8) (lstnumber.-663.2)] +>> endobj +4535 0 obj << +/Names [(lstnumber.-663.3) 3525 0 R (lstnumber.-663.4) 3526 0 R (lstnumber.-663.5) 3527 0 R (lstnumber.-663.6) 3528 0 R (lstnumber.-664.1) 3530 0 R (lstnumber.-664.10) 3539 0 R] +/Limits [(lstnumber.-663.3) (lstnumber.-664.10)] +>> endobj +4536 0 obj << +/Names [(lstnumber.-664.11) 3540 0 R (lstnumber.-664.12) 3541 0 R (lstnumber.-664.13) 3542 0 R (lstnumber.-664.14) 3543 0 R (lstnumber.-664.15) 3544 0 R (lstnumber.-664.16) 3545 0 R] +/Limits [(lstnumber.-664.11) (lstnumber.-664.16)] +>> endobj +4537 0 obj << +/Names [(lstnumber.-664.17) 3546 0 R (lstnumber.-664.18) 3547 0 R (lstnumber.-664.19) 3548 0 R (lstnumber.-664.2) 3531 0 R (lstnumber.-664.20) 3549 0 R (lstnumber.-664.21) 3550 0 R] +/Limits [(lstnumber.-664.17) (lstnumber.-664.21)] +>> endobj +4538 0 obj << +/Names [(lstnumber.-664.22) 3551 0 R (lstnumber.-664.23) 3556 0 R (lstnumber.-664.24) 3557 0 R (lstnumber.-664.25) 3558 0 R (lstnumber.-664.26) 3559 0 R (lstnumber.-664.27) 3560 0 R] +/Limits [(lstnumber.-664.22) (lstnumber.-664.27)] +>> endobj +4539 0 obj << +/Names [(lstnumber.-664.28) 3561 0 R (lstnumber.-664.29) 3562 0 R (lstnumber.-664.3) 3532 0 R (lstnumber.-664.30) 3563 0 R (lstnumber.-664.31) 3564 0 R (lstnumber.-664.32) 3565 0 R] +/Limits [(lstnumber.-664.28) (lstnumber.-664.32)] +>> endobj +4540 0 obj << +/Names [(lstnumber.-664.33) 3566 0 R (lstnumber.-664.34) 3567 0 R (lstnumber.-664.4) 3533 0 R (lstnumber.-664.5) 3534 0 R (lstnumber.-664.6) 3535 0 R (lstnumber.-664.7) 3536 0 R] +/Limits [(lstnumber.-664.33) (lstnumber.-664.7)] +>> endobj +4541 0 obj << +/Names [(lstnumber.-664.8) 3537 0 R (lstnumber.-664.9) 3538 0 R (lstnumber.-665.1) 3570 0 R (lstnumber.-666.1) 3572 0 R (lstnumber.-667.1) 3575 0 R (lstnumber.-668.1) 3577 0 R] +/Limits [(lstnumber.-664.8) (lstnumber.-668.1)] +>> endobj +4542 0 obj << +/Names [(lstnumber.-668.2) 3578 0 R (lstnumber.-669.1) 3581 0 R (lstnumber.-67.1) 1102 0 R (lstnumber.-670.1) 3583 0 R (lstnumber.-671.1) 3590 0 R (lstnumber.-672.1) 3592 0 R] +/Limits [(lstnumber.-668.2) (lstnumber.-672.1)] +>> endobj +4543 0 obj << +/Names [(lstnumber.-673.1) 3594 0 R (lstnumber.-673.2) 3595 0 R (lstnumber.-674.1) 3597 0 R (lstnumber.-675.1) 3599 0 R (lstnumber.-676.1) 3601 0 R (lstnumber.-676.2) 3602 0 R] +/Limits [(lstnumber.-673.1) (lstnumber.-676.2)] +>> endobj +4544 0 obj << +/Names [(lstnumber.-677.1) 3604 0 R (lstnumber.-677.2) 3605 0 R (lstnumber.-677.3) 3606 0 R (lstnumber.-678.1) 3608 0 R (lstnumber.-679.1) 3610 0 R (lstnumber.-679.2) 3611 0 R] +/Limits [(lstnumber.-677.1) (lstnumber.-679.2)] +>> endobj +4545 0 obj << +/Names [(lstnumber.-679.3) 3612 0 R (lstnumber.-679.4) 3613 0 R (lstnumber.-679.5) 3614 0 R (lstnumber.-68.1) 1104 0 R (lstnumber.-68.2) 1105 0 R (lstnumber.-680.1) 3616 0 R] +/Limits [(lstnumber.-679.3) (lstnumber.-680.1)] +>> endobj +4546 0 obj << +/Names [(lstnumber.-680.2) 3617 0 R (lstnumber.-680.3) 3618 0 R (lstnumber.-680.4) 3619 0 R (lstnumber.-681.1) 3621 0 R (lstnumber.-682.1) 3627 0 R (lstnumber.-683.1) 3629 0 R] +/Limits [(lstnumber.-680.2) (lstnumber.-683.1)] +>> endobj +4547 0 obj << +/Names [(lstnumber.-684.1) 3631 0 R (lstnumber.-685.1) 3633 0 R (lstnumber.-686.1) 3635 0 R (lstnumber.-687.1) 3637 0 R (lstnumber.-688.1) 3639 0 R (lstnumber.-688.2) 3640 0 R] +/Limits [(lstnumber.-684.1) (lstnumber.-688.2)] +>> endobj +4548 0 obj << +/Names [(lstnumber.-689.1) 3642 0 R (lstnumber.-69.1) 1107 0 R (lstnumber.-690.1) 3644 0 R (lstnumber.-691.1) 3646 0 R (lstnumber.-692.1) 3648 0 R (lstnumber.-692.2) 3649 0 R] +/Limits [(lstnumber.-689.1) (lstnumber.-692.2)] +>> endobj +4549 0 obj << +/Names [(lstnumber.-692.3) 3650 0 R (lstnumber.-693.1) 3652 0 R (lstnumber.-694.1) 3655 0 R (lstnumber.-695.1) 3662 0 R (lstnumber.-696.1) 3665 0 R (lstnumber.-696.2) 3666 0 R] +/Limits [(lstnumber.-692.3) (lstnumber.-696.2)] +>> endobj +4550 0 obj << +/Names [(lstnumber.-697.1) 3669 0 R (lstnumber.-697.2) 3670 0 R (lstnumber.-697.3) 3671 0 R (lstnumber.-697.4) 3672 0 R (lstnumber.-698.1) 3675 0 R (lstnumber.-698.2) 3676 0 R] +/Limits [(lstnumber.-697.1) (lstnumber.-698.2)] +>> endobj +4551 0 obj << +/Names [(lstnumber.-699.1) 3678 0 R (lstnumber.-699.2) 3679 0 R (lstnumber.-699.3) 3680 0 R (lstnumber.-699.4) 3681 0 R (lstnumber.-7.1) 929 0 R (lstnumber.-70.1) 1109 0 R] +/Limits [(lstnumber.-699.1) (lstnumber.-70.1)] +>> endobj +4552 0 obj << +/Names [(lstnumber.-700.1) 3683 0 R (lstnumber.-701.1) 3690 0 R (lstnumber.-701.2) 3691 0 R (lstnumber.-701.3) 3692 0 R (lstnumber.-701.4) 3693 0 R (lstnumber.-701.5) 3694 0 R] +/Limits [(lstnumber.-700.1) (lstnumber.-701.5)] +>> endobj +4553 0 obj << +/Names [(lstnumber.-702.1) 3696 0 R (lstnumber.-702.2) 3697 0 R (lstnumber.-703.1) 3699 0 R (lstnumber.-703.2) 3700 0 R (lstnumber.-703.3) 3701 0 R (lstnumber.-703.4) 3702 0 R] +/Limits [(lstnumber.-702.1) (lstnumber.-703.4)] +>> endobj +4554 0 obj << +/Names [(lstnumber.-704.1) 3704 0 R (lstnumber.-705.1) 3907 0 R (lstnumber.-705.10) 3922 0 R (lstnumber.-705.11) 3924 0 R (lstnumber.-705.12) 3925 0 R (lstnumber.-705.13) 3926 0 R] +/Limits [(lstnumber.-704.1) (lstnumber.-705.13)] +>> endobj +4555 0 obj << +/Names [(lstnumber.-705.14) 3927 0 R (lstnumber.-705.15) 3928 0 R (lstnumber.-705.16) 3929 0 R (lstnumber.-705.17) 3930 0 R (lstnumber.-705.18) 3931 0 R (lstnumber.-705.19) 3932 0 R] +/Limits [(lstnumber.-705.14) (lstnumber.-705.19)] +>> endobj +4556 0 obj << +/Names [(lstnumber.-705.2) 3908 0 R (lstnumber.-705.20) 3933 0 R (lstnumber.-705.21) 3934 0 R (lstnumber.-705.3) 3909 0 R (lstnumber.-705.4) 3912 0 R (lstnumber.-705.5) 3913 0 R] +/Limits [(lstnumber.-705.2) (lstnumber.-705.5)] +>> endobj +4557 0 obj << +/Names [(lstnumber.-705.6) 3914 0 R (lstnumber.-705.7) 3916 0 R (lstnumber.-705.8) 3918 0 R (lstnumber.-705.9) 3920 0 R (lstnumber.-706.1) 3985 0 R (lstnumber.-706.2) 3986 0 R] +/Limits [(lstnumber.-705.6) (lstnumber.-706.2)] +>> endobj +4558 0 obj << +/Names [(lstnumber.-706.3) 3987 0 R (lstnumber.-706.4) 3988 0 R (lstnumber.-706.5) 3989 0 R (lstnumber.-706.6) 3990 0 R (lstnumber.-706.7) 3991 0 R (lstnumber.-706.8) 3992 0 R] +/Limits [(lstnumber.-706.3) (lstnumber.-706.8)] +>> endobj +4559 0 obj << +/Names [(lstnumber.-706.9) 3993 0 R (lstnumber.-707.1) 3995 0 R (lstnumber.-707.2) 3996 0 R (lstnumber.-707.3) 3997 0 R (lstnumber.-707.4) 3998 0 R (lstnumber.-708.1) 4000 0 R] +/Limits [(lstnumber.-706.9) (lstnumber.-708.1)] +>> endobj +4560 0 obj << +/Names [(lstnumber.-708.10) 4009 0 R (lstnumber.-708.2) 4001 0 R (lstnumber.-708.3) 4002 0 R (lstnumber.-708.4) 4003 0 R (lstnumber.-708.5) 4004 0 R (lstnumber.-708.6) 4005 0 R] +/Limits [(lstnumber.-708.10) (lstnumber.-708.6)] +>> endobj +4561 0 obj << +/Names [(lstnumber.-708.7) 4006 0 R (lstnumber.-708.8) 4007 0 R (lstnumber.-708.9) 4008 0 R (lstnumber.-709.1) 4026 0 R (lstnumber.-709.2) 4027 0 R (lstnumber.-709.3) 4028 0 R] +/Limits [(lstnumber.-708.7) (lstnumber.-709.3)] +>> endobj +4562 0 obj << +/Names [(lstnumber.-709.4) 4029 0 R (lstnumber.-709.5) 4030 0 R (lstnumber.-709.6) 4031 0 R (lstnumber.-709.7) 4032 0 R (lstnumber.-71.1) 1115 0 R (lstnumber.-710.1) 4046 0 R] +/Limits [(lstnumber.-709.4) (lstnumber.-710.1)] +>> endobj +4563 0 obj << +/Names [(lstnumber.-711.1) 4048 0 R (lstnumber.-712.1) 4050 0 R (lstnumber.-712.2) 4051 0 R (lstnumber.-712.3) 4052 0 R (lstnumber.-712.4) 4053 0 R (lstnumber.-712.5) 4054 0 R] +/Limits [(lstnumber.-711.1) (lstnumber.-712.5)] +>> endobj +4564 0 obj << +/Names [(lstnumber.-712.6) 4055 0 R (lstnumber.-712.7) 4056 0 R (lstnumber.-713.1) 4058 0 R (lstnumber.-713.2) 4059 0 R (lstnumber.-713.3) 4060 0 R (lstnumber.-713.4) 4061 0 R] +/Limits [(lstnumber.-712.6) (lstnumber.-713.4)] +>> endobj +4565 0 obj << +/Names [(lstnumber.-713.5) 4062 0 R (lstnumber.-713.6) 4063 0 R (lstnumber.-713.7) 4064 0 R (lstnumber.-714.1) 4066 0 R (lstnumber.-714.2) 4067 0 R (lstnumber.-714.3) 4068 0 R] +/Limits [(lstnumber.-713.5) (lstnumber.-714.3)] +>> endobj +4566 0 obj << +/Names [(lstnumber.-714.4) 4069 0 R (lstnumber.-714.5) 4070 0 R (lstnumber.-72.1) 1117 0 R (lstnumber.-72.2) 1118 0 R (lstnumber.-73.1) 1120 0 R (lstnumber.-74.1) 1122 0 R] +/Limits [(lstnumber.-714.4) (lstnumber.-74.1)] +>> endobj +4567 0 obj << +/Names [(lstnumber.-74.2) 1123 0 R (lstnumber.-75.1) 1125 0 R (lstnumber.-76.1) 1127 0 R (lstnumber.-76.2) 1128 0 R (lstnumber.-76.3) 1129 0 R (lstnumber.-77.1) 1131 0 R] +/Limits [(lstnumber.-74.2) (lstnumber.-77.1)] +>> endobj +4568 0 obj << +/Names [(lstnumber.-78.1) 1133 0 R (lstnumber.-79.1) 1135 0 R (lstnumber.-8.1) 935 0 R (lstnumber.-80.1) 1137 0 R (lstnumber.-81.1) 1139 0 R (lstnumber.-82.1) 1141 0 R] +/Limits [(lstnumber.-78.1) (lstnumber.-82.1)] +>> endobj +4569 0 obj << +/Names [(lstnumber.-83.1) 1143 0 R (lstnumber.-83.2) 1144 0 R (lstnumber.-84.1) 1150 0 R (lstnumber.-85.1) 1152 0 R (lstnumber.-86.1) 1154 0 R (lstnumber.-87.1) 1156 0 R] +/Limits [(lstnumber.-83.1) (lstnumber.-87.1)] +>> endobj +4570 0 obj << +/Names [(lstnumber.-88.1) 1158 0 R (lstnumber.-88.2) 1159 0 R (lstnumber.-88.3) 1160 0 R (lstnumber.-88.4) 1161 0 R (lstnumber.-88.5) 1162 0 R (lstnumber.-88.6) 1163 0 R] +/Limits [(lstnumber.-88.1) (lstnumber.-88.6)] +>> endobj +4571 0 obj << +/Names [(lstnumber.-89.1) 1165 0 R (lstnumber.-9.1) 937 0 R (lstnumber.-90.1) 1167 0 R (lstnumber.-90.2) 1168 0 R (lstnumber.-91.1) 1171 0 R (lstnumber.-91.2) 1172 0 R] +/Limits [(lstnumber.-89.1) (lstnumber.-91.2)] +>> endobj +4572 0 obj << +/Names [(lstnumber.-92.1) 1174 0 R (lstnumber.-93.1) 1176 0 R (lstnumber.-94.1) 1178 0 R (lstnumber.-94.2) 1179 0 R (lstnumber.-94.3) 1180 0 R (lstnumber.-94.4) 1181 0 R] +/Limits [(lstnumber.-92.1) (lstnumber.-94.4)] +>> endobj +4573 0 obj << +/Names [(lstnumber.-95.1) 1188 0 R (lstnumber.-96.1) 1190 0 R (lstnumber.-97.1) 1192 0 R (lstnumber.-97.2) 1193 0 R (lstnumber.-98.1) 1195 0 R (lstnumber.-99.1) 1197 0 R] +/Limits [(lstnumber.-95.1) (lstnumber.-99.1)] +>> endobj +4574 0 obj << +/Names [(page.1) 906 0 R (page.10) 1185 0 R (page.100) 3839 0 R (page.101) 3843 0 R (page.102) 3847 0 R (page.103) 3853 0 R] +/Limits [(page.1) (page.103)] +>> endobj +4575 0 obj << +/Names [(page.104) 3857 0 R (page.105) 3861 0 R (page.106) 3865 0 R (page.107) 3872 0 R (page.108) 3879 0 R (page.109) 3887 0 R] +/Limits [(page.104) (page.109)] +>> endobj +4576 0 obj << +/Names [(page.11) 1229 0 R (page.110) 3894 0 R (page.111) 3898 0 R (page.112) 3905 0 R (page.113) 3938 0 R (page.114) 3954 0 R] +/Limits [(page.11) (page.114)] +>> endobj +4577 0 obj << +/Names [(page.115) 3959 0 R (page.116) 3967 0 R (page.117) 3977 0 R (page.118) 4013 0 R (page.119) 4019 0 R (page.12) 1262 0 R] +/Limits [(page.115) (page.12)] +>> endobj +4578 0 obj << +/Names [(page.120) 4023 0 R (page.121) 4038 0 R (page.122) 4043 0 R (page.123) 4074 0 R (page.124) 4079 0 R (page.125) 4086 0 R] +/Limits [(page.120) (page.125)] +>> endobj +4579 0 obj << +/Names [(page.126) 4091 0 R (page.13) 1289 0 R (page.14) 1316 0 R (page.15) 1337 0 R (page.16) 1352 0 R (page.17) 1361 0 R] +/Limits [(page.126) (page.17)] +>> endobj +4580 0 obj << +/Names [(page.18) 1399 0 R (page.19) 1437 0 R (page.2) 933 0 R (page.20) 1475 0 R (page.21) 1510 0 R (page.22) 1548 0 R] +/Limits [(page.18) (page.22)] +>> endobj +4581 0 obj << +/Names [(page.23) 1589 0 R (page.24) 1625 0 R (page.25) 1666 0 R (page.26) 1706 0 R (page.27) 1734 0 R (page.28) 1766 0 R] +/Limits [(page.23) (page.28)] +>> endobj +4582 0 obj << +/Names [(page.29) 1803 0 R (page.3) 964 0 R (page.30) 1835 0 R (page.31) 1843 0 R (page.32) 1874 0 R (page.33) 1911 0 R] +/Limits [(page.29) (page.33)] +>> endobj +4583 0 obj << +/Names [(page.34) 1954 0 R (page.35) 1976 0 R (page.36) 2000 0 R (page.37) 2043 0 R (page.38) 2091 0 R (page.39) 2126 0 R] +/Limits [(page.34) (page.39)] +>> endobj +4584 0 obj << +/Names [(page.4) 981 0 R (page.40) 2160 0 R (page.41) 2203 0 R (page.42) 2249 0 R (page.43) 2295 0 R (page.44) 2330 0 R] +/Limits [(page.4) (page.44)] +>> endobj +4585 0 obj << +/Names [(page.45) 2368 0 R (page.46) 2415 0 R (page.47) 2463 0 R (page.48) 2506 0 R (page.49) 2549 0 R (page.5) 1009 0 R] +/Limits [(page.45) (page.5)] +>> endobj +4586 0 obj << +/Names [(page.50) 2599 0 R (page.51) 2649 0 R (page.52) 2700 0 R (page.53) 2746 0 R (page.54) 2784 0 R (page.55) 2830 0 R] +/Limits [(page.50) (page.55)] +>> endobj +4587 0 obj << +/Names [(page.56) 2862 0 R (page.57) 2889 0 R (page.58) 2933 0 R (page.59) 2989 0 R (page.6) 1046 0 R (page.60) 3026 0 R] +/Limits [(page.56) (page.60)] +>> endobj +4588 0 obj << +/Names [(page.61) 3064 0 R (page.62) 3098 0 R (page.63) 3121 0 R (page.64) 3165 0 R (page.65) 3192 0 R (page.66) 3207 0 R] +/Limits [(page.61) (page.66)] +>> endobj +4589 0 obj << +/Names [(page.67) 3243 0 R (page.68) 3279 0 R (page.69) 3318 0 R (page.7) 1079 0 R (page.70) 3361 0 R (page.71) 3398 0 R] +/Limits [(page.67) (page.71)] +>> endobj +4590 0 obj << +/Names [(page.72) 3439 0 R (page.73) 3496 0 R (page.74) 3555 0 R (page.75) 3587 0 R (page.76) 3625 0 R (page.77) 3659 0 R] +/Limits [(page.72) (page.77)] +>> endobj +4591 0 obj << +/Names [(page.78) 3687 0 R (page.79) 3712 0 R (page.8) 1113 0 R (page.80) 3718 0 R (page.81) 3724 0 R (page.82) 3730 0 R] +/Limits [(page.78) (page.82)] +>> endobj +4592 0 obj << +/Names [(page.83) 3736 0 R (page.84) 3744 0 R (page.85) 3756 0 R (page.86) 3763 0 R (page.87) 3769 0 R (page.88) 3773 0 R] +/Limits [(page.83) (page.88)] +>> endobj +4593 0 obj << +/Names [(page.89) 3780 0 R (page.9) 1148 0 R (page.90) 3788 0 R (page.91) 3797 0 R (page.92) 3802 0 R (page.93) 3808 0 R] +/Limits [(page.89) (page.93)] +>> endobj +4594 0 obj << +/Names [(page.94) 3812 0 R (page.95) 3816 0 R (page.96) 3820 0 R (page.97) 3826 0 R (page.98) 3830 0 R (page.99) 3834 0 R] +/Limits [(page.94) (page.99)] +>> endobj +4595 0 obj << +/Names [(page.i) 690 0 R (page.ii) 738 0 R (page.iii) 777 0 R (page.iv) 818 0 R (page.v) 861 0 R (page.vi) 888 0 R] +/Limits [(page.i) (page.vi)] +>> endobj +4596 0 obj << +/Names [(page.vii) 900 0 R (releasenotes) 694 0 R (rnV1.76.0_Common) 999 0 R (rnV1.76.0_Eclipse) 1242 0 R (rnV1.76.0_Epub) 1186 0 R (rnV1.76.0_FO) 1047 0 R] +/Limits [(page.vii) (rnV1.76.0_FO)] +>> endobj +4597 0 obj << +/Names [(rnV1.76.0_Gentext) 982 0 R (rnV1.76.0_HTML) 1094 0 R (rnV1.76.0_Manpages) 1169 0 R (rnV1.76.0_Params) 1248 0 R (rnV1.76.0_XSL-Xalan) 1267 0 R (rnV1.76.1_FO) 966 0 R] +/Limits [(rnV1.76.0_Gentext) (rnV1.76.1_FO)] +>> endobj +4598 0 obj << +/Names [(rnV1.76.1_HTML) 970 0 R (rnV1.76.1_Params) 973 0 R (rn_V1.75.0_Common) 1375 0 R (rn_V1.75.0_Epub) 1735 0 R (rn_V1.75.0_FO) 1430 0 R (rn_V1.75.0_Gentext) 1353 0 R] +/Limits [(rnV1.76.1_HTML) (rn_V1.75.0_Gentext)] +>> endobj +4599 0 obj << +/Names [(rn_V1.75.0_HTML) 1590 0 R (rn_V1.75.0_HTMLHelp) 1767 0 R (rn_V1.75.0_Highlighting) 1817 0 R (rn_V1.75.0_Manpages) 1725 0 R (rn_V1.75.0_Params) 1770 0 R (rn_V1.75.0_XSL-Saxon) 1824 0 R] +/Limits [(rn_V1.75.0_HTML) (rn_V1.75.0_XSL-Saxon)] +>> endobj +4600 0 obj << +/Names [(rn_V1.75.0_XSL-Xalan) 1828 0 R (rn_V1.75.1) 1323 0 R (rn_V1.75.1_Epub) 1338 0 R (rn_V1.75.1_FO) 1324 0 R (rn_V1.75.1_HTML) 1329 0 R (rn_V1.75.1_Params) 1345 0 R] +/Limits [(rn_V1.75.0_XSL-Xalan) (rn_V1.75.1_Params)] +>> endobj +4601 0 obj << +/Names [(rn_V1.75.2) 1270 0 R (rn_V1.75.2_Common) 1280 0 R (rn_V1.75.2_Epub) 1305 0 R (rn_V1.75.2_FO) 1290 0 R (rn_V1.75.2_Gentext) 1271 0 R (rn_V1.75.2_HTML) 1293 0 R] +/Limits [(rn_V1.75.2) (rn_V1.75.2_HTML)] +>> endobj +4602 0 obj << +/Names [(rn_V1.75.2_Manpages) 1300 0 R (rn_V1.75.2_Profiling) 1310 0 R (rn_V1.75.2_XSL-Saxon) 1317 0 R (rn_V1.75.2_XSL-Xalan) 1320 0 R (section.1) 2 0 R (section.10) 242 0 R] +/Limits [(rn_V1.75.2_Manpages) (section.10)] +>> endobj +4603 0 obj << +/Names [(section.11) 322 0 R (section.12) 326 0 R (section.13) 366 0 R (section.14) 430 0 R (section.15) 462 0 R (section.16) 494 0 R] +/Limits [(section.11) (section.16)] +>> endobj +4604 0 obj << +/Names [(section.17) 530 0 R (section.18) 550 0 R (section.19) 590 0 R (section.2) 34 0 R (section.20) 594 0 R (section.21) 618 0 R] +/Limits [(section.17) (section.21)] +>> endobj +4605 0 obj << +/Names [(section.22) 622 0 R (section.23) 626 0 R (section.24) 630 0 R (section.25) 634 0 R (section.26) 638 0 R (section.27) 642 0 R] +/Limits [(section.22) (section.27)] +>> endobj +4606 0 obj << +/Names [(section.28) 646 0 R (section.29) 650 0 R (section.3) 50 0 R (section.30) 654 0 R (section.31) 658 0 R (section.32) 662 0 R] +/Limits [(section.28) (section.32)] +>> endobj +4607 0 obj << +/Names [(section.33) 666 0 R (section.34) 670 0 R (section.35) 674 0 R (section.36) 678 0 R (section.37) 682 0 R (section.4) 90 0 R] +/Limits [(section.33) (section.4)] +>> endobj +4608 0 obj << +/Names [(section.5) 130 0 R (section.6) 150 0 R (section.7) 198 0 R (section.8) 202 0 R (section.9) 206 0 R (subsection.1.1) 6 0 R] +/Limits [(section.5) (subsection.1.1)] +>> endobj +4609 0 obj << +/Names [(subsection.1.2) 10 0 R (subsection.1.3) 14 0 R (subsection.1.4) 18 0 R (subsection.1.5) 22 0 R (subsection.1.6) 26 0 R (subsection.1.7) 30 0 R] +/Limits [(subsection.1.2) (subsection.1.7)] +>> endobj +4610 0 obj << +/Names [(subsection.10.1) 246 0 R (subsection.10.10) 282 0 R (subsection.10.11) 286 0 R (subsection.10.12) 290 0 R (subsection.10.13) 294 0 R (subsection.10.14) 298 0 R] +/Limits [(subsection.10.1) (subsection.10.14)] +>> endobj +4611 0 obj << +/Names [(subsection.10.15) 302 0 R (subsection.10.16) 306 0 R (subsection.10.17) 310 0 R (subsection.10.18) 314 0 R (subsection.10.19) 318 0 R (subsection.10.2) 250 0 R] +/Limits [(subsection.10.15) (subsection.10.2)] +>> endobj +4612 0 obj << +/Names [(subsection.10.3) 254 0 R (subsection.10.4) 258 0 R (subsection.10.5) 262 0 R (subsection.10.6) 266 0 R (subsection.10.7) 270 0 R (subsection.10.8) 274 0 R] +/Limits [(subsection.10.3) (subsection.10.8)] +>> endobj +4613 0 obj << +/Names [(subsection.10.9) 278 0 R (subsection.12.1) 330 0 R (subsection.12.2) 334 0 R (subsection.12.3) 338 0 R (subsection.12.4) 342 0 R (subsection.12.5) 346 0 R] +/Limits [(subsection.10.9) (subsection.12.5)] +>> endobj +4614 0 obj << +/Names [(subsection.12.6) 350 0 R (subsection.12.7) 354 0 R (subsection.12.8) 358 0 R (subsection.12.9) 362 0 R (subsection.13.1) 370 0 R (subsection.13.10) 406 0 R] +/Limits [(subsection.12.6) (subsection.13.10)] +>> endobj +4615 0 obj << +/Names [(subsection.13.11) 410 0 R (subsection.13.12) 414 0 R (subsection.13.13) 418 0 R (subsection.13.14) 422 0 R (subsection.13.15) 426 0 R (subsection.13.2) 374 0 R] +/Limits [(subsection.13.11) (subsection.13.2)] +>> endobj +4616 0 obj << +/Names [(subsection.13.3) 378 0 R (subsection.13.4) 382 0 R (subsection.13.5) 386 0 R (subsection.13.6) 390 0 R (subsection.13.7) 394 0 R (subsection.13.8) 398 0 R] +/Limits [(subsection.13.3) (subsection.13.8)] +>> endobj +4617 0 obj << +/Names [(subsection.13.9) 402 0 R (subsection.14.1) 434 0 R (subsection.14.2) 438 0 R (subsection.14.3) 442 0 R (subsection.14.4) 446 0 R (subsection.14.5) 450 0 R] +/Limits [(subsection.13.9) (subsection.14.5)] +>> endobj +4618 0 obj << +/Names [(subsection.14.6) 454 0 R (subsection.14.7) 458 0 R (subsection.15.1) 466 0 R (subsection.15.2) 470 0 R (subsection.15.3) 474 0 R (subsection.15.4) 478 0 R] +/Limits [(subsection.14.6) (subsection.15.4)] +>> endobj +4619 0 obj << +/Names [(subsection.15.5) 482 0 R (subsection.15.6) 486 0 R (subsection.15.7) 490 0 R (subsection.16.1) 498 0 R (subsection.16.2) 502 0 R (subsection.16.3) 506 0 R] +/Limits [(subsection.15.5) (subsection.16.3)] +>> endobj +4620 0 obj << +/Names [(subsection.16.4) 510 0 R (subsection.16.5) 514 0 R (subsection.16.6) 518 0 R (subsection.16.7) 522 0 R (subsection.16.8) 526 0 R (subsection.17.1) 534 0 R] +/Limits [(subsection.16.4) (subsection.17.1)] +>> endobj +4621 0 obj << +/Names [(subsection.17.2) 538 0 R (subsection.17.3) 542 0 R (subsection.17.4) 546 0 R (subsection.18.1) 554 0 R (subsection.18.2) 558 0 R (subsection.18.3) 562 0 R] +/Limits [(subsection.17.2) (subsection.18.3)] +>> endobj +4622 0 obj << +/Names [(subsection.18.4) 566 0 R (subsection.18.5) 570 0 R (subsection.18.6) 574 0 R (subsection.18.7) 578 0 R (subsection.18.8) 582 0 R (subsection.18.9) 586 0 R] +/Limits [(subsection.18.4) (subsection.18.9)] +>> endobj +4623 0 obj << +/Names [(subsection.2.1) 38 0 R (subsection.2.2) 42 0 R (subsection.2.3) 46 0 R (subsection.20.1) 598 0 R (subsection.20.2) 602 0 R (subsection.20.3) 606 0 R] +/Limits [(subsection.2.1) (subsection.20.3)] +>> endobj +4624 0 obj << +/Names [(subsection.20.4) 610 0 R (subsection.20.5) 614 0 R (subsection.3.1) 54 0 R (subsection.3.2) 58 0 R (subsection.3.3) 62 0 R (subsection.3.4) 66 0 R] +/Limits [(subsection.20.4) (subsection.3.4)] +>> endobj +4625 0 obj << +/Names [(subsection.3.5) 70 0 R (subsection.3.6) 74 0 R (subsection.3.7) 78 0 R (subsection.3.8) 82 0 R (subsection.3.9) 86 0 R (subsection.4.1) 94 0 R] +/Limits [(subsection.3.5) (subsection.4.1)] +>> endobj +4626 0 obj << +/Names [(subsection.4.2) 98 0 R (subsection.4.3) 102 0 R (subsection.4.4) 106 0 R (subsection.4.5) 110 0 R (subsection.4.6) 114 0 R (subsection.4.7) 118 0 R] +/Limits [(subsection.4.2) (subsection.4.7)] +>> endobj +4627 0 obj << +/Names [(subsection.4.8) 122 0 R (subsection.4.9) 126 0 R (subsection.5.1) 134 0 R (subsection.5.2) 138 0 R (subsection.5.3) 142 0 R (subsection.5.4) 146 0 R] +/Limits [(subsection.4.8) (subsection.5.4)] +>> endobj +4628 0 obj << +/Names [(subsection.6.1) 154 0 R (subsection.6.10) 190 0 R (subsection.6.11) 194 0 R (subsection.6.2) 158 0 R (subsection.6.3) 162 0 R (subsection.6.4) 166 0 R] +/Limits [(subsection.6.1) (subsection.6.4)] +>> endobj +4629 0 obj << +/Names [(subsection.6.5) 170 0 R (subsection.6.6) 174 0 R (subsection.6.7) 178 0 R (subsection.6.8) 182 0 R (subsection.6.9) 186 0 R (subsection.9.1) 210 0 R] +/Limits [(subsection.6.5) (subsection.9.1)] +>> endobj +4630 0 obj << +/Names [(subsection.9.2) 214 0 R (subsection.9.3) 218 0 R (subsection.9.4) 222 0 R (subsection.9.5) 226 0 R (subsection.9.6) 230 0 R (subsection.9.7) 234 0 R] +/Limits [(subsection.9.2) (subsection.9.7)] +>> endobj +4631 0 obj << +/Names [(subsection.9.8) 238 0 R (summary_V1.74.1_Epub) 1891 0 R (summary_V1.74.1_FO) 1853 0 R (summary_V1.74.1_Gentext) 1844 0 R (summary_V1.74.1_HTML) 1875 0 R (summary_V1.74.1_Highlighting) 1966 0 R] +/Limits [(subsection.9.8) (summary_V1.74.1_Highlighting)] +>> endobj +4632 0 obj << +/Names [(summary_V1.74.1_Manpages) 1884 0 R (summary_V1.74.1_Params) 1955 0 R (summary_V1.74.1_Roundtrip) 1937 0 R] +/Limits [(summary_V1.74.1_Manpages) (summary_V1.74.1_Roundtrip)] +>> endobj +4633 0 obj << +/Kids [4140 0 R 4141 0 R 4142 0 R 4143 0 R 4144 0 R 4145 0 R] +/Limits [(Doc-Start) (V1.72.0)] +>> endobj +4634 0 obj << +/Kids [4146 0 R 4147 0 R 4148 0 R 4149 0 R 4150 0 R 4151 0 R] +/Limits [(V1.72.0_Common) (V1.74.0_Common)] +>> endobj +4635 0 obj << +/Kids [4152 0 R 4153 0 R 4154 0 R 4155 0 R 4156 0 R 4157 0 R] +/Limits [(V1.74.0_Eclipse) (V1592)] +>> endobj +4636 0 obj << +/Kids [4158 0 R 4159 0 R 4160 0 R 4161 0 R 4162 0 R 4163 0 R] +/Limits [(V1601) (V1701)] +>> endobj +4637 0 obj << +/Kids [4164 0 R 4165 0 R 4166 0 R 4167 0 R 4168 0 R 4169 0 R] +/Limits [(V1701_FO) (lstlisting.-119)] +>> endobj +4638 0 obj << +/Kids [4170 0 R 4171 0 R 4172 0 R 4173 0 R 4174 0 R 4175 0 R] +/Limits [(lstlisting.-12) (lstlisting.-151)] +>> endobj +4639 0 obj << +/Kids [4176 0 R 4177 0 R 4178 0 R 4179 0 R 4180 0 R 4181 0 R] +/Limits [(lstlisting.-152) (lstlisting.-184)] +>> endobj +4640 0 obj << +/Kids [4182 0 R 4183 0 R 4184 0 R 4185 0 R 4186 0 R 4187 0 R] +/Limits [(lstlisting.-185) (lstlisting.-216)] +>> endobj +4641 0 obj << +/Kids [4188 0 R 4189 0 R 4190 0 R 4191 0 R 4192 0 R 4193 0 R] +/Limits [(lstlisting.-217) (lstlisting.-249)] +>> endobj +4642 0 obj << +/Kids [4194 0 R 4195 0 R 4196 0 R 4197 0 R 4198 0 R 4199 0 R] +/Limits [(lstlisting.-25) (lstlisting.-281)] +>> endobj +4643 0 obj << +/Kids [4200 0 R 4201 0 R 4202 0 R 4203 0 R 4204 0 R 4205 0 R] +/Limits [(lstlisting.-282) (lstlisting.-313)] +>> endobj +4644 0 obj << +/Kids [4206 0 R 4207 0 R 4208 0 R 4209 0 R 4210 0 R 4211 0 R] +/Limits [(lstlisting.-314) (lstlisting.-346)] +>> endobj +4645 0 obj << +/Kids [4212 0 R 4213 0 R 4214 0 R 4215 0 R 4216 0 R 4217 0 R] +/Limits [(lstlisting.-347) (lstlisting.-379)] +>> endobj +4646 0 obj << +/Kids [4218 0 R 4219 0 R 4220 0 R 4221 0 R 4222 0 R 4223 0 R] +/Limits [(lstlisting.-38) (lstlisting.-410)] +>> endobj +4647 0 obj << +/Kids [4224 0 R 4225 0 R 4226 0 R 4227 0 R 4228 0 R 4229 0 R] +/Limits [(lstlisting.-411) (lstlisting.-443)] +>> endobj +4648 0 obj << +/Kids [4230 0 R 4231 0 R 4232 0 R 4233 0 R 4234 0 R 4235 0 R] +/Limits [(lstlisting.-444) (lstlisting.-476)] +>> endobj +4649 0 obj << +/Kids [4236 0 R 4237 0 R 4238 0 R 4239 0 R 4240 0 R 4241 0 R] +/Limits [(lstlisting.-477) (lstlisting.-508)] +>> endobj +4650 0 obj << +/Kids [4242 0 R 4243 0 R 4244 0 R 4245 0 R 4246 0 R 4247 0 R] +/Limits [(lstlisting.-509) (lstlisting.-540)] +>> endobj +4651 0 obj << +/Kids [4248 0 R 4249 0 R 4250 0 R 4251 0 R 4252 0 R 4253 0 R] +/Limits [(lstlisting.-541) (lstlisting.-573)] +>> endobj +4652 0 obj << +/Kids [4254 0 R 4255 0 R 4256 0 R 4257 0 R 4258 0 R 4259 0 R] +/Limits [(lstlisting.-574) (lstlisting.-605)] +>> endobj +4653 0 obj << +/Kids [4260 0 R 4261 0 R 4262 0 R 4263 0 R 4264 0 R 4265 0 R] +/Limits [(lstlisting.-606) (lstlisting.-638)] +>> endobj +4654 0 obj << +/Kids [4266 0 R 4267 0 R 4268 0 R 4269 0 R 4270 0 R 4271 0 R] +/Limits [(lstlisting.-639) (lstlisting.-670)] +>> endobj +4655 0 obj << +/Kids [4272 0 R 4273 0 R 4274 0 R 4275 0 R 4276 0 R 4277 0 R] +/Limits [(lstlisting.-671) (lstlisting.-702)] +>> endobj +4656 0 obj << +/Kids [4278 0 R 4279 0 R 4280 0 R 4281 0 R 4282 0 R 4283 0 R] +/Limits [(lstlisting.-703) (lstlisting.-92)] +>> endobj +4657 0 obj << +/Kids [4284 0 R 4285 0 R 4286 0 R 4287 0 R 4288 0 R 4289 0 R] +/Limits [(lstlisting.-93) (lstnumber.-104.1)] +>> endobj +4658 0 obj << +/Kids [4290 0 R 4291 0 R 4292 0 R 4293 0 R 4294 0 R 4295 0 R] +/Limits [(lstnumber.-104.2) (lstnumber.-127.1)] +>> endobj +4659 0 obj << +/Kids [4296 0 R 4297 0 R 4298 0 R 4299 0 R 4300 0 R 4301 0 R] +/Limits [(lstnumber.-128.1) (lstnumber.-150.1)] +>> endobj +4660 0 obj << +/Kids [4302 0 R 4303 0 R 4304 0 R 4305 0 R 4306 0 R 4307 0 R] +/Limits [(lstnumber.-150.2) (lstnumber.-170.2)] +>> endobj +4661 0 obj << +/Kids [4308 0 R 4309 0 R 4310 0 R 4311 0 R 4312 0 R 4313 0 R] +/Limits [(lstnumber.-170.3) (lstnumber.-189.1)] +>> endobj +4662 0 obj << +/Kids [4314 0 R 4315 0 R 4316 0 R 4317 0 R 4318 0 R 4319 0 R] +/Limits [(lstnumber.-19.1) (lstnumber.-206.5)] +>> endobj +4663 0 obj << +/Kids [4320 0 R 4321 0 R 4322 0 R 4323 0 R 4324 0 R 4325 0 R] +/Limits [(lstnumber.-206.6) (lstnumber.-226.2)] +>> endobj +4664 0 obj << +/Kids [4326 0 R 4327 0 R 4328 0 R 4329 0 R 4330 0 R 4331 0 R] +/Limits [(lstnumber.-226.3) (lstnumber.-240.2)] +>> endobj +4665 0 obj << +/Kids [4332 0 R 4333 0 R 4334 0 R 4335 0 R 4336 0 R 4337 0 R] +/Limits [(lstnumber.-240.3) (lstnumber.-267.1)] +>> endobj +4666 0 obj << +/Kids [4338 0 R 4339 0 R 4340 0 R 4341 0 R 4342 0 R 4343 0 R] +/Limits [(lstnumber.-268.1) (lstnumber.-289.1)] +>> endobj +4667 0 obj << +/Kids [4344 0 R 4345 0 R 4346 0 R 4347 0 R 4348 0 R 4349 0 R] +/Limits [(lstnumber.-289.2) (lstnumber.-305.2)] +>> endobj +4668 0 obj << +/Kids [4350 0 R 4351 0 R 4352 0 R 4353 0 R 4354 0 R 4355 0 R] +/Limits [(lstnumber.-305.3) (lstnumber.-315.1)] +>> endobj +4669 0 obj << +/Kids [4356 0 R 4357 0 R 4358 0 R 4359 0 R 4360 0 R 4361 0 R] +/Limits [(lstnumber.-316.1) (lstnumber.-333.3)] +>> endobj +4670 0 obj << +/Kids [4362 0 R 4363 0 R 4364 0 R 4365 0 R 4366 0 R 4367 0 R] +/Limits [(lstnumber.-334.1) (lstnumber.-338.8)] +>> endobj +4671 0 obj << +/Kids [4368 0 R 4369 0 R 4370 0 R 4371 0 R 4372 0 R 4373 0 R] +/Limits [(lstnumber.-338.9) (lstnumber.-353.2)] +>> endobj +4672 0 obj << +/Kids [4374 0 R 4375 0 R 4376 0 R 4377 0 R 4378 0 R 4379 0 R] +/Limits [(lstnumber.-354.1) (lstnumber.-378.1)] +>> endobj +4673 0 obj << +/Kids [4380 0 R 4381 0 R 4382 0 R 4383 0 R 4384 0 R 4385 0 R] +/Limits [(lstnumber.-379.1) (lstnumber.-380.38)] +>> endobj +4674 0 obj << +/Kids [4386 0 R 4387 0 R 4388 0 R 4389 0 R 4390 0 R 4391 0 R] +/Limits [(lstnumber.-380.39) (lstnumber.-392.1)] +>> endobj +4675 0 obj << +/Kids [4392 0 R 4393 0 R 4394 0 R 4395 0 R 4396 0 R 4397 0 R] +/Limits [(lstnumber.-392.10) (lstnumber.-408.1)] +>> endobj +4676 0 obj << +/Kids [4398 0 R 4399 0 R 4400 0 R 4401 0 R 4402 0 R 4403 0 R] +/Limits [(lstnumber.-409.1) (lstnumber.-419.2)] +>> endobj +4677 0 obj << +/Kids [4404 0 R 4405 0 R 4406 0 R 4407 0 R 4408 0 R 4409 0 R] +/Limits [(lstnumber.-419.3) (lstnumber.-431.11)] +>> endobj +4678 0 obj << +/Kids [4410 0 R 4411 0 R 4412 0 R 4413 0 R 4414 0 R 4415 0 R] +/Limits [(lstnumber.-431.12) (lstnumber.-437.1)] +>> endobj +4679 0 obj << +/Kids [4416 0 R 4417 0 R 4418 0 R 4419 0 R 4420 0 R 4421 0 R] +/Limits [(lstnumber.-437.2) (lstnumber.-447.2)] +>> endobj +4680 0 obj << +/Kids [4422 0 R 4423 0 R 4424 0 R 4425 0 R 4426 0 R 4427 0 R] +/Limits [(lstnumber.-447.3) (lstnumber.-463.14)] +>> endobj +4681 0 obj << +/Kids [4428 0 R 4429 0 R 4430 0 R 4431 0 R 4432 0 R 4433 0 R] +/Limits [(lstnumber.-463.15) (lstnumber.-464.26)] +>> endobj +4682 0 obj << +/Kids [4434 0 R 4435 0 R 4436 0 R 4437 0 R 4438 0 R 4439 0 R] +/Limits [(lstnumber.-464.3) (lstnumber.-475.1)] +>> endobj +4683 0 obj << +/Kids [4440 0 R 4441 0 R 4442 0 R 4443 0 R 4444 0 R 4445 0 R] +/Limits [(lstnumber.-475.2) (lstnumber.-48.2)] +>> endobj +4684 0 obj << +/Kids [4446 0 R 4447 0 R 4448 0 R 4449 0 R 4450 0 R 4451 0 R] +/Limits [(lstnumber.-480.1) (lstnumber.-494.1)] +>> endobj +4685 0 obj << +/Kids [4452 0 R 4453 0 R 4454 0 R 4455 0 R 4456 0 R 4457 0 R] +/Limits [(lstnumber.-494.2) (lstnumber.-495.5)] +>> endobj +4686 0 obj << +/Kids [4458 0 R 4459 0 R 4460 0 R 4461 0 R 4462 0 R 4463 0 R] +/Limits [(lstnumber.-495.6) (lstnumber.-514.1)] +>> endobj +4687 0 obj << +/Kids [4464 0 R 4465 0 R 4466 0 R 4467 0 R 4468 0 R 4469 0 R] +/Limits [(lstnumber.-515.1) (lstnumber.-525.2)] +>> endobj +4688 0 obj << +/Kids [4470 0 R 4471 0 R 4472 0 R 4473 0 R 4474 0 R 4475 0 R] +/Limits [(lstnumber.-525.3) (lstnumber.-529.16)] +>> endobj +4689 0 obj << +/Kids [4476 0 R 4477 0 R 4478 0 R 4479 0 R 4480 0 R 4481 0 R] +/Limits [(lstnumber.-529.17) (lstnumber.-546.1)] +>> endobj +4690 0 obj << +/Kids [4482 0 R 4483 0 R 4484 0 R 4485 0 R 4486 0 R 4487 0 R] +/Limits [(lstnumber.-547.1) (lstnumber.-562.1)] +>> endobj +4691 0 obj << +/Kids [4488 0 R 4489 0 R 4490 0 R 4491 0 R 4492 0 R 4493 0 R] +/Limits [(lstnumber.-562.2) (lstnumber.-579.1)] +>> endobj +4692 0 obj << +/Kids [4494 0 R 4495 0 R 4496 0 R 4497 0 R 4498 0 R 4499 0 R] +/Limits [(lstnumber.-579.2) (lstnumber.-599.1)] +>> endobj +4693 0 obj << +/Kids [4500 0 R 4501 0 R 4502 0 R 4503 0 R 4504 0 R 4505 0 R] +/Limits [(lstnumber.-599.2) (lstnumber.-616.2)] +>> endobj +4694 0 obj << +/Kids [4506 0 R 4507 0 R 4508 0 R 4509 0 R 4510 0 R 4511 0 R] +/Limits [(lstnumber.-616.3) (lstnumber.-632.1)] +>> endobj +4695 0 obj << +/Kids [4512 0 R 4513 0 R 4514 0 R 4515 0 R 4516 0 R 4517 0 R] +/Limits [(lstnumber.-632.2) (lstnumber.-645.4)] +>> endobj +4696 0 obj << +/Kids [4518 0 R 4519 0 R 4520 0 R 4521 0 R 4522 0 R 4523 0 R] +/Limits [(lstnumber.-646.1) (lstnumber.-656.15)] +>> endobj +4697 0 obj << +/Kids [4524 0 R 4525 0 R 4526 0 R 4527 0 R 4528 0 R 4529 0 R] +/Limits [(lstnumber.-656.16) (lstnumber.-659.7)] +>> endobj +4698 0 obj << +/Kids [4530 0 R 4531 0 R 4532 0 R 4533 0 R 4534 0 R 4535 0 R] +/Limits [(lstnumber.-659.8) (lstnumber.-664.10)] +>> endobj +4699 0 obj << +/Kids [4536 0 R 4537 0 R 4538 0 R 4539 0 R 4540 0 R 4541 0 R] +/Limits [(lstnumber.-664.11) (lstnumber.-668.1)] +>> endobj +4700 0 obj << +/Kids [4542 0 R 4543 0 R 4544 0 R 4545 0 R 4546 0 R 4547 0 R] +/Limits [(lstnumber.-668.2) (lstnumber.-688.2)] +>> endobj +4701 0 obj << +/Kids [4548 0 R 4549 0 R 4550 0 R 4551 0 R 4552 0 R 4553 0 R] +/Limits [(lstnumber.-689.1) (lstnumber.-703.4)] +>> endobj +4702 0 obj << +/Kids [4554 0 R 4555 0 R 4556 0 R 4557 0 R 4558 0 R 4559 0 R] +/Limits [(lstnumber.-704.1) (lstnumber.-708.1)] +>> endobj +4703 0 obj << +/Kids [4560 0 R 4561 0 R 4562 0 R 4563 0 R 4564 0 R 4565 0 R] +/Limits [(lstnumber.-708.10) (lstnumber.-714.3)] +>> endobj +4704 0 obj << +/Kids [4566 0 R 4567 0 R 4568 0 R 4569 0 R 4570 0 R 4571 0 R] +/Limits [(lstnumber.-714.4) (lstnumber.-91.2)] +>> endobj +4705 0 obj << +/Kids [4572 0 R 4573 0 R 4574 0 R 4575 0 R 4576 0 R 4577 0 R] +/Limits [(lstnumber.-92.1) (page.12)] +>> endobj +4706 0 obj << +/Kids [4578 0 R 4579 0 R 4580 0 R 4581 0 R 4582 0 R 4583 0 R] +/Limits [(page.120) (page.39)] +>> endobj +4707 0 obj << +/Kids [4584 0 R 4585 0 R 4586 0 R 4587 0 R 4588 0 R 4589 0 R] +/Limits [(page.4) (page.71)] +>> endobj +4708 0 obj << +/Kids [4590 0 R 4591 0 R 4592 0 R 4593 0 R 4594 0 R 4595 0 R] +/Limits [(page.72) (page.vi)] +>> endobj +4709 0 obj << +/Kids [4596 0 R 4597 0 R 4598 0 R 4599 0 R 4600 0 R 4601 0 R] +/Limits [(page.vii) (rn_V1.75.2_HTML)] +>> endobj +4710 0 obj << +/Kids [4602 0 R 4603 0 R 4604 0 R 4605 0 R 4606 0 R 4607 0 R] +/Limits [(rn_V1.75.2_Manpages) (section.4)] +>> endobj +4711 0 obj << +/Kids [4608 0 R 4609 0 R 4610 0 R 4611 0 R 4612 0 R 4613 0 R] +/Limits [(section.5) (subsection.12.5)] +>> endobj +4712 0 obj << +/Kids [4614 0 R 4615 0 R 4616 0 R 4617 0 R 4618 0 R 4619 0 R] +/Limits [(subsection.12.6) (subsection.16.3)] +>> endobj +4713 0 obj << +/Kids [4620 0 R 4621 0 R 4622 0 R 4623 0 R 4624 0 R 4625 0 R] +/Limits [(subsection.16.4) (subsection.4.1)] +>> endobj +4714 0 obj << +/Kids [4626 0 R 4627 0 R 4628 0 R 4629 0 R 4630 0 R 4631 0 R] +/Limits [(subsection.4.2) (summary_V1.74.1_Highlighting)] +>> endobj +4715 0 obj << +/Kids [4632 0 R] +/Limits [(summary_V1.74.1_Manpages) (summary_V1.74.1_Roundtrip)] +>> endobj +4716 0 obj << +/Kids [4633 0 R 4634 0 R 4635 0 R 4636 0 R 4637 0 R 4638 0 R] +/Limits [(Doc-Start) (lstlisting.-151)] +>> endobj +4717 0 obj << +/Kids [4639 0 R 4640 0 R 4641 0 R 4642 0 R 4643 0 R 4644 0 R] +/Limits [(lstlisting.-152) (lstlisting.-346)] +>> endobj +4718 0 obj << +/Kids [4645 0 R 4646 0 R 4647 0 R 4648 0 R 4649 0 R 4650 0 R] +/Limits [(lstlisting.-347) (lstlisting.-540)] +>> endobj +4719 0 obj << +/Kids [4651 0 R 4652 0 R 4653 0 R 4654 0 R 4655 0 R 4656 0 R] +/Limits [(lstlisting.-541) (lstlisting.-92)] +>> endobj +4720 0 obj << +/Kids [4657 0 R 4658 0 R 4659 0 R 4660 0 R 4661 0 R 4662 0 R] +/Limits [(lstlisting.-93) (lstnumber.-206.5)] +>> endobj +4721 0 obj << +/Kids [4663 0 R 4664 0 R 4665 0 R 4666 0 R 4667 0 R 4668 0 R] +/Limits [(lstnumber.-206.6) (lstnumber.-315.1)] +>> endobj +4722 0 obj << +/Kids [4669 0 R 4670 0 R 4671 0 R 4672 0 R 4673 0 R 4674 0 R] +/Limits [(lstnumber.-316.1) (lstnumber.-392.1)] +>> endobj +4723 0 obj << +/Kids [4675 0 R 4676 0 R 4677 0 R 4678 0 R 4679 0 R 4680 0 R] +/Limits [(lstnumber.-392.10) (lstnumber.-463.14)] +>> endobj +4724 0 obj << +/Kids [4681 0 R 4682 0 R 4683 0 R 4684 0 R 4685 0 R 4686 0 R] +/Limits [(lstnumber.-463.15) (lstnumber.-514.1)] +>> endobj +4725 0 obj << +/Kids [4687 0 R 4688 0 R 4689 0 R 4690 0 R 4691 0 R 4692 0 R] +/Limits [(lstnumber.-515.1) (lstnumber.-599.1)] +>> endobj +4726 0 obj << +/Kids [4693 0 R 4694 0 R 4695 0 R 4696 0 R 4697 0 R 4698 0 R] +/Limits [(lstnumber.-599.2) (lstnumber.-664.10)] +>> endobj +4727 0 obj << +/Kids [4699 0 R 4700 0 R 4701 0 R 4702 0 R 4703 0 R 4704 0 R] +/Limits [(lstnumber.-664.11) (lstnumber.-91.2)] +>> endobj +4728 0 obj << +/Kids [4705 0 R 4706 0 R 4707 0 R 4708 0 R 4709 0 R 4710 0 R] +/Limits [(lstnumber.-92.1) (section.4)] +>> endobj +4729 0 obj << +/Kids [4711 0 R 4712 0 R 4713 0 R 4714 0 R 4715 0 R] +/Limits [(section.5) (summary_V1.74.1_Roundtrip)] +>> endobj +4730 0 obj << +/Kids [4716 0 R 4717 0 R 4718 0 R 4719 0 R 4720 0 R 4721 0 R] +/Limits [(Doc-Start) (lstnumber.-315.1)] +>> endobj +4731 0 obj << +/Kids [4722 0 R 4723 0 R 4724 0 R 4725 0 R 4726 0 R 4727 0 R] +/Limits [(lstnumber.-316.1) (lstnumber.-91.2)] +>> endobj +4732 0 obj << +/Kids [4728 0 R 4729 0 R] +/Limits [(lstnumber.-92.1) (summary_V1.74.1_Roundtrip)] +>> endobj +4733 0 obj << +/Kids [4730 0 R 4731 0 R 4732 0 R] +/Limits [(Doc-Start) (summary_V1.74.1_Roundtrip)] +>> endobj +4734 0 obj << +/Dests 4733 0 R +>> endobj +4735 0 obj << +/Type /Catalog +/Pages 4138 0 R +/Outlines 4139 0 R +/Names 4734 0 R +/PageMode/UseOutlines/PageLabels<>7<>]>> +/OpenAction 685 0 R +>> endobj +4736 0 obj << +/Author()/Title(Release Notes for the DocBook XSL Stylesheets)/Subject()/Creator(DBLaTeX-0.3)/Producer(pdfTeX-1.40.10)/Keywords() +/CreationDate (D:20101101131526-07'00') +/ModDate (D:20101101131526-07'00') +/Trapped /False +/PTEX.Fullbanner (This is pdfTeX, Version 3.1415926-1.40.10-2.2 (TeX Live/MacPorts 2009_6) kpathsea version 5.0.0) +>> endobj +xref +0 4737 +0000000000 65535 f +0000000015 00000 n +0000054077 00000 n +0000747653 00000 n +0000000060 00000 n +0000000099 00000 n +0000054197 00000 n +0000747583 00000 n +0000000149 00000 n +0000000173 00000 n +0000054560 00000 n +0000747499 00000 n +0000000223 00000 n +0000000244 00000 n +0000054981 00000 n +0000747413 00000 n +0000000295 00000 n +0000000318 00000 n +0000055222 00000 n +0000747327 00000 n +0000000369 00000 n +0000000392 00000 n +0000058133 00000 n +0000747241 00000 n +0000000443 00000 n +0000000469 00000 n +0000058984 00000 n +0000747155 00000 n +0000000520 00000 n +0000000545 00000 n +0000059223 00000 n +0000747082 00000 n +0000000596 00000 n +0000000625 00000 n +0000061859 00000 n +0000746957 00000 n +0000000671 00000 n +0000000711 00000 n +0000061980 00000 n +0000746883 00000 n +0000000762 00000 n +0000000783 00000 n +0000062283 00000 n +0000746796 00000 n +0000000834 00000 n +0000000857 00000 n +0000062525 00000 n +0000746722 00000 n +0000000908 00000 n +0000000933 00000 n +0000062766 00000 n +0000746596 00000 n +0000000979 00000 n +0000001019 00000 n +0000065039 00000 n +0000746522 00000 n +0000001070 00000 n +0000001096 00000 n +0000066136 00000 n +0000746435 00000 n +0000001147 00000 n +0000001172 00000 n +0000074054 00000 n +0000746348 00000 n +0000001223 00000 n +0000001244 00000 n +0000079227 00000 n +0000746261 00000 n +0000001295 00000 n +0000001318 00000 n +0000089039 00000 n +0000746174 00000 n +0000001369 00000 n +0000001396 00000 n +0000093094 00000 n +0000746087 00000 n +0000001447 00000 n +0000001470 00000 n +0000099414 00000 n +0000746000 00000 n +0000001521 00000 n +0000001547 00000 n +0000099852 00000 n +0000745913 00000 n +0000001598 00000 n +0000001623 00000 n +0000102973 00000 n +0000745839 00000 n +0000001674 00000 n +0000001702 00000 n +0000103222 00000 n +0000745711 00000 n +0000001748 00000 n +0000001788 00000 n +0000103345 00000 n +0000745637 00000 n +0000001839 00000 n +0000001865 00000 n +0000103973 00000 n +0000745548 00000 n +0000001916 00000 n +0000001942 00000 n +0000106471 00000 n +0000745457 00000 n +0000001994 00000 n +0000002016 00000 n +0000106721 00000 n +0000745365 00000 n +0000002068 00000 n +0000002092 00000 n +0000107223 00000 n +0000745273 00000 n +0000002144 00000 n +0000002172 00000 n +0000107598 00000 n +0000745181 00000 n +0000002224 00000 n +0000002248 00000 n +0000107972 00000 n +0000745089 00000 n +0000002300 00000 n +0000002329 00000 n +0000110011 00000 n +0000744997 00000 n +0000002381 00000 n +0000002410 00000 n +0000110262 00000 n +0000744919 00000 n +0000002462 00000 n +0000002491 00000 n +0000110513 00000 n +0000744787 00000 n +0000002538 00000 n +0000002579 00000 n +0000110637 00000 n +0000744708 00000 n +0000002631 00000 n +0000002653 00000 n +0000111012 00000 n +0000744615 00000 n +0000002705 00000 n +0000002729 00000 n +0000113998 00000 n +0000744522 00000 n +0000002781 00000 n +0000002805 00000 n +0000114501 00000 n +0000744443 00000 n +0000002857 00000 n +0000002883 00000 n +0000114752 00000 n +0000744309 00000 n +0000002930 00000 n +0000002971 00000 n +0000117916 00000 n +0000744230 00000 n +0000003023 00000 n +0000003050 00000 n +0000121605 00000 n +0000744137 00000 n +0000003102 00000 n +0000003128 00000 n +0000127625 00000 n +0000744044 00000 n +0000003180 00000 n +0000003202 00000 n +0000149247 00000 n +0000743951 00000 n +0000003254 00000 n +0000003278 00000 n +0000164547 00000 n +0000743858 00000 n +0000003330 00000 n +0000003358 00000 n +0000168101 00000 n +0000743765 00000 n +0000003410 00000 n +0000003434 00000 n +0000172537 00000 n +0000743672 00000 n +0000003486 00000 n +0000003514 00000 n +0000172788 00000 n +0000743579 00000 n +0000003566 00000 n +0000003592 00000 n +0000177813 00000 n +0000743486 00000 n +0000003644 00000 n +0000003676 00000 n +0000178313 00000 n +0000743393 00000 n +0000003729 00000 n +0000003758 00000 n +0000178626 00000 n +0000743314 00000 n +0000003811 00000 n +0000003840 00000 n +0000181410 00000 n +0000743220 00000 n +0000003887 00000 n +0000003928 00000 n +0000181535 00000 n +0000743126 00000 n +0000003975 00000 n +0000004016 00000 n +0000181659 00000 n +0000742993 00000 n +0000004063 00000 n +0000004104 00000 n +0000184350 00000 n +0000742914 00000 n +0000004156 00000 n +0000004183 00000 n +0000184977 00000 n +0000742821 00000 n +0000004235 00000 n +0000004257 00000 n +0000189090 00000 n +0000742728 00000 n +0000004309 00000 n +0000004333 00000 n +0000189718 00000 n +0000742635 00000 n +0000004385 00000 n +0000004413 00000 n +0000190221 00000 n +0000742542 00000 n +0000004465 00000 n +0000004489 00000 n +0000195658 00000 n +0000742449 00000 n +0000004541 00000 n +0000004570 00000 n +0000200090 00000 n +0000742356 00000 n +0000004622 00000 n +0000004648 00000 n +0000200843 00000 n +0000742277 00000 n +0000004700 00000 n +0000004732 00000 n +0000201282 00000 n +0000742143 00000 n +0000004780 00000 n +0000004821 00000 n +0000204020 00000 n +0000742064 00000 n +0000004874 00000 n +0000004901 00000 n +0000208631 00000 n +0000741971 00000 n +0000004954 00000 n +0000004980 00000 n +0000219712 00000 n +0000741878 00000 n +0000005033 00000 n +0000005055 00000 n +0000235761 00000 n +0000741785 00000 n +0000005108 00000 n +0000005132 00000 n +0000251684 00000 n +0000741692 00000 n +0000005185 00000 n +0000005213 00000 n +0000301635 00000 n +0000741599 00000 n +0000005266 00000 n +0000005290 00000 n +0000307996 00000 n +0000741506 00000 n +0000005343 00000 n +0000005371 00000 n +0000308436 00000 n +0000741413 00000 n +0000005424 00000 n +0000005451 00000 n +0000312000 00000 n +0000741320 00000 n +0000005504 00000 n +0000005532 00000 n +0000312440 00000 n +0000741227 00000 n +0000005586 00000 n +0000005615 00000 n +0000316317 00000 n +0000741134 00000 n +0000005669 00000 n +0000005695 00000 n +0000316881 00000 n +0000741041 00000 n +0000005749 00000 n +0000005776 00000 n +0000320353 00000 n +0000740948 00000 n +0000005830 00000 n +0000005856 00000 n +0000336809 00000 n +0000740855 00000 n +0000005910 00000 n +0000005939 00000 n +0000337249 00000 n +0000740762 00000 n +0000005993 00000 n +0000006018 00000 n +0000341140 00000 n +0000740669 00000 n +0000006072 00000 n +0000006102 00000 n +0000341705 00000 n +0000740576 00000 n +0000006156 00000 n +0000006185 00000 n +0000342458 00000 n +0000740483 00000 n +0000006239 00000 n +0000006268 00000 n +0000345230 00000 n +0000740404 00000 n +0000006322 00000 n +0000006353 00000 n +0000345985 00000 n +0000740310 00000 n +0000006401 00000 n +0000006442 00000 n +0000346109 00000 n +0000740177 00000 n +0000006490 00000 n +0000006525 00000 n +0000346234 00000 n +0000740098 00000 n +0000006578 00000 n +0000006605 00000 n +0000346610 00000 n +0000740005 00000 n +0000006658 00000 n +0000006680 00000 n +0000350765 00000 n +0000739912 00000 n +0000006733 00000 n +0000006757 00000 n +0000354462 00000 n +0000739819 00000 n +0000006810 00000 n +0000006838 00000 n +0000354902 00000 n +0000739726 00000 n +0000006891 00000 n +0000006919 00000 n +0000355216 00000 n +0000739633 00000 n +0000006972 00000 n +0000006999 00000 n +0000355530 00000 n +0000739540 00000 n +0000007052 00000 n +0000007080 00000 n +0000355844 00000 n +0000739447 00000 n +0000007133 00000 n +0000007162 00000 n +0000359482 00000 n +0000739368 00000 n +0000007215 00000 n +0000007241 00000 n +0000359921 00000 n +0000739234 00000 n +0000007289 00000 n +0000007324 00000 n +0000360046 00000 n +0000739155 00000 n +0000007377 00000 n +0000007404 00000 n +0000364049 00000 n +0000739062 00000 n +0000007457 00000 n +0000007483 00000 n +0000368142 00000 n +0000738969 00000 n +0000007536 00000 n +0000007558 00000 n +0000377318 00000 n +0000738876 00000 n +0000007611 00000 n +0000007635 00000 n +0000388532 00000 n +0000738783 00000 n +0000007688 00000 n +0000007716 00000 n +0000407545 00000 n +0000738690 00000 n +0000007769 00000 n +0000007796 00000 n +0000407922 00000 n +0000738597 00000 n +0000007849 00000 n +0000007877 00000 n +0000408357 00000 n +0000738504 00000 n +0000007930 00000 n +0000007959 00000 n +0000411577 00000 n +0000738411 00000 n +0000008012 00000 n +0000008038 00000 n +0000418012 00000 n +0000738318 00000 n +0000008092 00000 n +0000008124 00000 n +0000420706 00000 n +0000738225 00000 n +0000008178 00000 n +0000008207 00000 n +0000420957 00000 n +0000738132 00000 n +0000008261 00000 n +0000008284 00000 n +0000421271 00000 n +0000738039 00000 n +0000008338 00000 n +0000008363 00000 n +0000421709 00000 n +0000737946 00000 n +0000008417 00000 n +0000008446 00000 n +0000426342 00000 n +0000737867 00000 n +0000008500 00000 n +0000008529 00000 n +0000427475 00000 n +0000737734 00000 n +0000008577 00000 n +0000008612 00000 n +0000430489 00000 n +0000737655 00000 n +0000008665 00000 n +0000008691 00000 n +0000432257 00000 n +0000737562 00000 n +0000008744 00000 n +0000008766 00000 n +0000432382 00000 n +0000737469 00000 n +0000008819 00000 n +0000008843 00000 n +0000434633 00000 n +0000737376 00000 n +0000008896 00000 n +0000008924 00000 n +0000434758 00000 n +0000737283 00000 n +0000008977 00000 n +0000009003 00000 n +0000436686 00000 n +0000737190 00000 n +0000009056 00000 n +0000009084 00000 n +0000436811 00000 n +0000737111 00000 n +0000009137 00000 n +0000009166 00000 n +0000439093 00000 n +0000736978 00000 n +0000009214 00000 n +0000009249 00000 n +0000439218 00000 n +0000736899 00000 n +0000009302 00000 n +0000009328 00000 n +0000439343 00000 n +0000736806 00000 n +0000009381 00000 n +0000009403 00000 n +0000439468 00000 n +0000736713 00000 n +0000009456 00000 n +0000009480 00000 n +0000441450 00000 n +0000736620 00000 n +0000009533 00000 n +0000009565 00000 n +0000441575 00000 n +0000736527 00000 n +0000009618 00000 n +0000009646 00000 n +0000441700 00000 n +0000736434 00000 n +0000009699 00000 n +0000009725 00000 n +0000441825 00000 n +0000736355 00000 n +0000009778 00000 n +0000009807 00000 n +0000444965 00000 n +0000736222 00000 n +0000009855 00000 n +0000009890 00000 n +0000445090 00000 n +0000736143 00000 n +0000009943 00000 n +0000009969 00000 n +0000445214 00000 n +0000736050 00000 n +0000010022 00000 n +0000010052 00000 n +0000447346 00000 n +0000735957 00000 n +0000010105 00000 n +0000010127 00000 n +0000447471 00000 n +0000735864 00000 n +0000010180 00000 n +0000010204 00000 n +0000451590 00000 n +0000735771 00000 n +0000010257 00000 n +0000010289 00000 n +0000451715 00000 n +0000735678 00000 n +0000010342 00000 n +0000010370 00000 n +0000451839 00000 n +0000735585 00000 n +0000010423 00000 n +0000010449 00000 n +0000453811 00000 n +0000735506 00000 n +0000010502 00000 n +0000010527 00000 n +0000453934 00000 n +0000735373 00000 n +0000010575 00000 n +0000010610 00000 n +0000454058 00000 n +0000735294 00000 n +0000010663 00000 n +0000010685 00000 n +0000456354 00000 n +0000735201 00000 n +0000010738 00000 n +0000010762 00000 n +0000456479 00000 n +0000735108 00000 n +0000010815 00000 n +0000010843 00000 n +0000456604 00000 n +0000735029 00000 n +0000010896 00000 n +0000010922 00000 n +0000456728 00000 n +0000734896 00000 n +0000010970 00000 n +0000011005 00000 n +0000459539 00000 n +0000734817 00000 n +0000011058 00000 n +0000011084 00000 n +0000462070 00000 n +0000734724 00000 n +0000011137 00000 n +0000011167 00000 n +0000462195 00000 n +0000734631 00000 n +0000011220 00000 n +0000011242 00000 n +0000473835 00000 n +0000734538 00000 n +0000011295 00000 n +0000011319 00000 n +0000483096 00000 n +0000734445 00000 n +0000011372 00000 n +0000011400 00000 n +0000493832 00000 n +0000734352 00000 n +0000011453 00000 n +0000011479 00000 n +0000506265 00000 n +0000734259 00000 n +0000011532 00000 n +0000011561 00000 n +0000508474 00000 n +0000734166 00000 n +0000011614 00000 n +0000011639 00000 n +0000508599 00000 n +0000734087 00000 n +0000011692 00000 n +0000011718 00000 n +0000508724 00000 n +0000733993 00000 n +0000011766 00000 n +0000011800 00000 n +0000511978 00000 n +0000733860 00000 n +0000011848 00000 n +0000011882 00000 n +0000512103 00000 n +0000733781 00000 n +0000011935 00000 n +0000011961 00000 n +0000515184 00000 n +0000733688 00000 n +0000012014 00000 n +0000012036 00000 n +0000515309 00000 n +0000733595 00000 n +0000012089 00000 n +0000012113 00000 n +0000515434 00000 n +0000733502 00000 n +0000012166 00000 n +0000012190 00000 n +0000520384 00000 n +0000733423 00000 n +0000012243 00000 n +0000012266 00000 n +0000540735 00000 n +0000733329 00000 n +0000012314 00000 n +0000012348 00000 n +0000540860 00000 n +0000733235 00000 n +0000012396 00000 n +0000012430 00000 n +0000544005 00000 n +0000733141 00000 n +0000012478 00000 n +0000012512 00000 n +0000544130 00000 n +0000733047 00000 n +0000012560 00000 n +0000012594 00000 n +0000553236 00000 n +0000732953 00000 n +0000012642 00000 n +0000012676 00000 n +0000553361 00000 n +0000732859 00000 n +0000012724 00000 n +0000012758 00000 n +0000560316 00000 n +0000732765 00000 n +0000012806 00000 n +0000012840 00000 n +0000560944 00000 n +0000732671 00000 n +0000012888 00000 n +0000012922 00000 n +0000563986 00000 n +0000732577 00000 n +0000012970 00000 n +0000013004 00000 n +0000567169 00000 n +0000732483 00000 n +0000013052 00000 n +0000013086 00000 n +0000571133 00000 n +0000732389 00000 n +0000013134 00000 n +0000013168 00000 n +0000573211 00000 n +0000732295 00000 n +0000013216 00000 n +0000013250 00000 n +0000573336 00000 n +0000732201 00000 n +0000013298 00000 n +0000013332 00000 n +0000573461 00000 n +0000732107 00000 n +0000013380 00000 n +0000013414 00000 n +0000576584 00000 n +0000732013 00000 n +0000013462 00000 n +0000013496 00000 n +0000578548 00000 n +0000731919 00000 n +0000013544 00000 n +0000013578 00000 n +0000578673 00000 n +0000731839 00000 n +0000013626 00000 n +0000013669 00000 n +0000014089 00000 n +0000014208 00000 n +0000014840 00000 n +0000013722 00000 n +0000014656 00000 n +0000728003 00000 n +0000727473 00000 n +0000014718 00000 n +0000014779 00000 n +0000727300 00000 n +0000728360 00000 n +0000016222 00000 n +0000016374 00000 n +0000016530 00000 n +0000016686 00000 n +0000016843 00000 n +0000017000 00000 n +0000017157 00000 n +0000017314 00000 n +0000017471 00000 n +0000017623 00000 n +0000017780 00000 n +0000017937 00000 n +0000018094 00000 n +0000018246 00000 n +0000018403 00000 n +0000018560 00000 n +0000018717 00000 n +0000018874 00000 n +0000019030 00000 n +0000019186 00000 n +0000019342 00000 n +0000019498 00000 n +0000019654 00000 n +0000019805 00000 n +0000019961 00000 n +0000020117 00000 n +0000020273 00000 n +0000020429 00000 n +0000020584 00000 n +0000020740 00000 n +0000020896 00000 n +0000021052 00000 n +0000022703 00000 n +0000022854 00000 n +0000023009 00000 n +0000023164 00000 n +0000023320 00000 n +0000023476 00000 n +0000021270 00000 n +0000015835 00000 n +0000014974 00000 n +0000021208 00000 n +0000727827 00000 n +0000023627 00000 n +0000023783 00000 n +0000023939 00000 n +0000024094 00000 n +0000024249 00000 n +0000024404 00000 n +0000024560 00000 n +0000024716 00000 n +0000024872 00000 n +0000025028 00000 n +0000025185 00000 n +0000025342 00000 n +0000025492 00000 n +0000025643 00000 n +0000025794 00000 n +0000025950 00000 n +0000026106 00000 n +0000026262 00000 n +0000026418 00000 n +0000026574 00000 n +0000026730 00000 n +0000026886 00000 n +0000027042 00000 n +0000027194 00000 n +0000027351 00000 n +0000027508 00000 n +0000027665 00000 n +0000027822 00000 n +0000027979 00000 n +0000028135 00000 n +0000029873 00000 n +0000030029 00000 n +0000030186 00000 n +0000030344 00000 n +0000028352 00000 n +0000022284 00000 n +0000021381 00000 n +0000028290 00000 n +0000030502 00000 n +0000030660 00000 n +0000030818 00000 n +0000030976 00000 n +0000031133 00000 n +0000031291 00000 n +0000031449 00000 n +0000031607 00000 n +0000031765 00000 n +0000031917 00000 n +0000032069 00000 n +0000032226 00000 n +0000032382 00000 n +0000032539 00000 n +0000032696 00000 n +0000032853 00000 n +0000033010 00000 n +0000033167 00000 n +0000033323 00000 n +0000033480 00000 n +0000033632 00000 n +0000033789 00000 n +0000033946 00000 n +0000034102 00000 n +0000034259 00000 n +0000034416 00000 n +0000034573 00000 n +0000034730 00000 n +0000034887 00000 n +0000035043 00000 n +0000035201 00000 n +0000035359 00000 n +0000035517 00000 n +0000035675 00000 n +0000035831 00000 n +0000037498 00000 n +0000037649 00000 n +0000036049 00000 n +0000029430 00000 n +0000028450 00000 n +0000035987 00000 n +0000037805 00000 n +0000037962 00000 n +0000038118 00000 n +0000038274 00000 n +0000038431 00000 n +0000038587 00000 n +0000038743 00000 n +0000038894 00000 n +0000039051 00000 n +0000039207 00000 n +0000039363 00000 n +0000039520 00000 n +0000039676 00000 n +0000039832 00000 n +0000039989 00000 n +0000040141 00000 n +0000040298 00000 n +0000040454 00000 n +0000040611 00000 n +0000040767 00000 n +0000040923 00000 n +0000041080 00000 n +0000041236 00000 n +0000041392 00000 n +0000041543 00000 n +0000041700 00000 n +0000041857 00000 n +0000042014 00000 n +0000042171 00000 n +0000042323 00000 n +0000042480 00000 n +0000042637 00000 n +0000042794 00000 n +0000042951 00000 n +0000043108 00000 n +0000043266 00000 n +0000043424 00000 n +0000043581 00000 n +0000044897 00000 n +0000043799 00000 n +0000037047 00000 n +0000036147 00000 n +0000043737 00000 n +0000045049 00000 n +0000045202 00000 n +0000045360 00000 n +0000045518 00000 n +0000045676 00000 n +0000045833 00000 n +0000045991 00000 n +0000046144 00000 n +0000046296 00000 n +0000046449 00000 n +0000046602 00000 n +0000046754 00000 n +0000046907 00000 n +0000047060 00000 n +0000047213 00000 n +0000047366 00000 n +0000047519 00000 n +0000047672 00000 n +0000047825 00000 n +0000047977 00000 n +0000048130 00000 n +0000048279 00000 n +0000048432 00000 n +0000048647 00000 n +0000044574 00000 n +0000043897 00000 n +0000048585 00000 n +0000050409 00000 n +0000050626 00000 n +0000050842 00000 n +0000051058 00000 n +0000051216 00000 n +0000051378 00000 n +0000051593 00000 n +0000051739 00000 n +0000051948 00000 n +0000050214 00000 n +0000048745 00000 n +0000051886 00000 n +0000728478 00000 n +0000578735 00000 n +0000055587 00000 n +0000053896 00000 n +0000052046 00000 n +0000054015 00000 n +0000054136 00000 n +0000054255 00000 n +0000726948 00000 n +0000054316 00000 n +0000054377 00000 n +0000054438 00000 n +0000054499 00000 n +0000054620 00000 n +0000054680 00000 n +0000054739 00000 n +0000054800 00000 n +0000054861 00000 n +0000054922 00000 n +0000055040 00000 n +0000055101 00000 n +0000055162 00000 n +0000726299 00000 n +0000726154 00000 n +0000055282 00000 n +0000055343 00000 n +0000055404 00000 n +0000055465 00000 n +0000055526 00000 n +0000059588 00000 n +0000057587 00000 n +0000055724 00000 n +0000057706 00000 n +0000057768 00000 n +0000057829 00000 n +0000057890 00000 n +0000057951 00000 n +0000058012 00000 n +0000058073 00000 n +0000058193 00000 n +0000058254 00000 n +0000058313 00000 n +0000058374 00000 n +0000058435 00000 n +0000058496 00000 n +0000058557 00000 n +0000058618 00000 n +0000058679 00000 n +0000058740 00000 n +0000058801 00000 n +0000058862 00000 n +0000058923 00000 n +0000059044 00000 n +0000059105 00000 n +0000059162 00000 n +0000059283 00000 n +0000059344 00000 n +0000059405 00000 n +0000059466 00000 n +0000059527 00000 n +0000062887 00000 n +0000061678 00000 n +0000059725 00000 n +0000061797 00000 n +0000061919 00000 n +0000062040 00000 n +0000062101 00000 n +0000062162 00000 n +0000062223 00000 n +0000062343 00000 n +0000062404 00000 n +0000062465 00000 n +0000062584 00000 n +0000062644 00000 n +0000062705 00000 n +0000062826 00000 n +0000727122 00000 n +0000066628 00000 n +0000064858 00000 n +0000063051 00000 n +0000064977 00000 n +0000065099 00000 n +0000065160 00000 n +0000065221 00000 n +0000065282 00000 n +0000065343 00000 n +0000065404 00000 n +0000065465 00000 n +0000065526 00000 n +0000065587 00000 n +0000065648 00000 n +0000065709 00000 n +0000065770 00000 n +0000065831 00000 n +0000065892 00000 n +0000065953 00000 n +0000066014 00000 n +0000066075 00000 n +0000066196 00000 n +0000066257 00000 n +0000066318 00000 n +0000066380 00000 n +0000066442 00000 n +0000066504 00000 n +0000066566 00000 n +0000071451 00000 n +0000069188 00000 n +0000066765 00000 n +0000069310 00000 n +0000069374 00000 n +0000069437 00000 n +0000069500 00000 n +0000069563 00000 n +0000069626 00000 n +0000069689 00000 n +0000069752 00000 n +0000069815 00000 n +0000069878 00000 n +0000069941 00000 n +0000070004 00000 n +0000070067 00000 n +0000070130 00000 n +0000070193 00000 n +0000070256 00000 n +0000070319 00000 n +0000070382 00000 n +0000070445 00000 n +0000070508 00000 n +0000070570 00000 n +0000070633 00000 n +0000070696 00000 n +0000070759 00000 n +0000070822 00000 n +0000070885 00000 n +0000070948 00000 n +0000071011 00000 n +0000071074 00000 n +0000071137 00000 n +0000071200 00000 n +0000071263 00000 n +0000071326 00000 n +0000071388 00000 n +0000075875 00000 n +0000073867 00000 n +0000071576 00000 n +0000073990 00000 n +0000074115 00000 n +0000074178 00000 n +0000074241 00000 n +0000074304 00000 n +0000074366 00000 n +0000074429 00000 n +0000074492 00000 n +0000074554 00000 n +0000074617 00000 n +0000074680 00000 n +0000074743 00000 n +0000074806 00000 n +0000074869 00000 n +0000074932 00000 n +0000074995 00000 n +0000075058 00000 n +0000075121 00000 n +0000075184 00000 n +0000075247 00000 n +0000075310 00000 n +0000075371 00000 n +0000075434 00000 n +0000075497 00000 n +0000075560 00000 n +0000075623 00000 n +0000075686 00000 n +0000075749 00000 n +0000075812 00000 n +0000728597 00000 n +0000080293 00000 n +0000078160 00000 n +0000076013 00000 n +0000078283 00000 n +0000078347 00000 n +0000078410 00000 n +0000078473 00000 n +0000078536 00000 n +0000078599 00000 n +0000078661 00000 n +0000078723 00000 n +0000078786 00000 n +0000078849 00000 n +0000078912 00000 n +0000078975 00000 n +0000079038 00000 n +0000079101 00000 n +0000079164 00000 n +0000079288 00000 n +0000079351 00000 n +0000079413 00000 n +0000079476 00000 n +0000079539 00000 n +0000079602 00000 n +0000079665 00000 n +0000079728 00000 n +0000079791 00000 n +0000079852 00000 n +0000079915 00000 n +0000079978 00000 n +0000080041 00000 n +0000080104 00000 n +0000080167 00000 n +0000080230 00000 n +0000084805 00000 n +0000082667 00000 n +0000080431 00000 n +0000082790 00000 n +0000082854 00000 n +0000082917 00000 n +0000082980 00000 n +0000083043 00000 n +0000083106 00000 n +0000083169 00000 n +0000083232 00000 n +0000083295 00000 n +0000083358 00000 n +0000083421 00000 n +0000083484 00000 n +0000083547 00000 n +0000083610 00000 n +0000083672 00000 n +0000083735 00000 n +0000083798 00000 n +0000083861 00000 n +0000083924 00000 n +0000083987 00000 n +0000084050 00000 n +0000084113 00000 n +0000084176 00000 n +0000084239 00000 n +0000084302 00000 n +0000084365 00000 n +0000084427 00000 n +0000084490 00000 n +0000084553 00000 n +0000084616 00000 n +0000084679 00000 n +0000084742 00000 n +0000089918 00000 n +0000087595 00000 n +0000084930 00000 n +0000087718 00000 n +0000087782 00000 n +0000087845 00000 n +0000087908 00000 n +0000087971 00000 n +0000088034 00000 n +0000088096 00000 n +0000088159 00000 n +0000088222 00000 n +0000088285 00000 n +0000088348 00000 n +0000088411 00000 n +0000088474 00000 n +0000088536 00000 n +0000088599 00000 n +0000088662 00000 n +0000088725 00000 n +0000088788 00000 n +0000088851 00000 n +0000088914 00000 n +0000088977 00000 n +0000089100 00000 n +0000089163 00000 n +0000089226 00000 n +0000089289 00000 n +0000089352 00000 n +0000089415 00000 n +0000089478 00000 n +0000089541 00000 n +0000089604 00000 n +0000089667 00000 n +0000089730 00000 n +0000089793 00000 n +0000089855 00000 n +0000095668 00000 n +0000092907 00000 n +0000090056 00000 n +0000093030 00000 n +0000093155 00000 n +0000093218 00000 n +0000093281 00000 n +0000093344 00000 n +0000093407 00000 n +0000093470 00000 n +0000093533 00000 n +0000093594 00000 n +0000093657 00000 n +0000093720 00000 n +0000093781 00000 n +0000093844 00000 n +0000093907 00000 n +0000093970 00000 n +0000094033 00000 n +0000094096 00000 n +0000094159 00000 n +0000094222 00000 n +0000094285 00000 n +0000094348 00000 n +0000094410 00000 n +0000094473 00000 n +0000094536 00000 n +0000094598 00000 n +0000094661 00000 n +0000094724 00000 n +0000094787 00000 n +0000094850 00000 n +0000094913 00000 n +0000094976 00000 n +0000095039 00000 n +0000095102 00000 n +0000095164 00000 n +0000095227 00000 n +0000095290 00000 n +0000095353 00000 n +0000095416 00000 n +0000095479 00000 n +0000095542 00000 n +0000095605 00000 n +0000100606 00000 n +0000098473 00000 n +0000095806 00000 n +0000098596 00000 n +0000098660 00000 n +0000098723 00000 n +0000098786 00000 n +0000098849 00000 n +0000098912 00000 n +0000098975 00000 n +0000099037 00000 n +0000099100 00000 n +0000099163 00000 n +0000099226 00000 n +0000099289 00000 n +0000099351 00000 n +0000099474 00000 n +0000099537 00000 n +0000099600 00000 n +0000099663 00000 n +0000099726 00000 n +0000099789 00000 n +0000099913 00000 n +0000099976 00000 n +0000100039 00000 n +0000100102 00000 n +0000100165 00000 n +0000100228 00000 n +0000100291 00000 n +0000100354 00000 n +0000100417 00000 n +0000100480 00000 n +0000100543 00000 n +0000104349 00000 n +0000102535 00000 n +0000100744 00000 n +0000102658 00000 n +0000102722 00000 n +0000102785 00000 n +0000102848 00000 n +0000102910 00000 n +0000103034 00000 n +0000103097 00000 n +0000103160 00000 n +0000103283 00000 n +0000103406 00000 n +0000103469 00000 n +0000103532 00000 n +0000103595 00000 n +0000103658 00000 n +0000103721 00000 n +0000103784 00000 n +0000103847 00000 n +0000103910 00000 n +0000104034 00000 n +0000104097 00000 n +0000104160 00000 n +0000104223 00000 n +0000104286 00000 n +0000728722 00000 n +0000108222 00000 n +0000106284 00000 n +0000104487 00000 n +0000106407 00000 n +0000106533 00000 n +0000106596 00000 n +0000106659 00000 n +0000106783 00000 n +0000106846 00000 n +0000106909 00000 n +0000106972 00000 n +0000107035 00000 n +0000107097 00000 n +0000107160 00000 n +0000107284 00000 n +0000107346 00000 n +0000107409 00000 n +0000107472 00000 n +0000107535 00000 n +0000107658 00000 n +0000107720 00000 n +0000107783 00000 n +0000107846 00000 n +0000107909 00000 n +0000108034 00000 n +0000108097 00000 n +0000108159 00000 n +0000111387 00000 n +0000109824 00000 n +0000108360 00000 n +0000109947 00000 n +0000110073 00000 n +0000110136 00000 n +0000110199 00000 n +0000110324 00000 n +0000110387 00000 n +0000110450 00000 n +0000110574 00000 n +0000110698 00000 n +0000110761 00000 n +0000110824 00000 n +0000110887 00000 n +0000110949 00000 n +0000111074 00000 n +0000111136 00000 n +0000111198 00000 n +0000111261 00000 n +0000111324 00000 n +0000114877 00000 n +0000113811 00000 n +0000111512 00000 n +0000113934 00000 n +0000114060 00000 n +0000114123 00000 n +0000114186 00000 n +0000114249 00000 n +0000114312 00000 n +0000114375 00000 n +0000114438 00000 n +0000114563 00000 n +0000114626 00000 n +0000114689 00000 n +0000114814 00000 n +0000118293 00000 n +0000117729 00000 n +0000115042 00000 n +0000117852 00000 n +0000117978 00000 n +0000118041 00000 n +0000118104 00000 n +0000118167 00000 n +0000118230 00000 n +0000122985 00000 n +0000120599 00000 n +0000118432 00000 n +0000120722 00000 n +0000120786 00000 n +0000120849 00000 n +0000120912 00000 n +0000120975 00000 n +0000121038 00000 n +0000121101 00000 n +0000121164 00000 n +0000121227 00000 n +0000121290 00000 n +0000121353 00000 n +0000121416 00000 n +0000121479 00000 n +0000121542 00000 n +0000121667 00000 n +0000121730 00000 n +0000121793 00000 n +0000121855 00000 n +0000121917 00000 n +0000121980 00000 n +0000122043 00000 n +0000122106 00000 n +0000122169 00000 n +0000122232 00000 n +0000122295 00000 n +0000122357 00000 n +0000122420 00000 n +0000122483 00000 n +0000122546 00000 n +0000122609 00000 n +0000122672 00000 n +0000122735 00000 n +0000122797 00000 n +0000122860 00000 n +0000122922 00000 n +0000127875 00000 n +0000125552 00000 n +0000123110 00000 n +0000125675 00000 n +0000125739 00000 n +0000125802 00000 n +0000125865 00000 n +0000125928 00000 n +0000125991 00000 n +0000126053 00000 n +0000126116 00000 n +0000126179 00000 n +0000126242 00000 n +0000126305 00000 n +0000126368 00000 n +0000126431 00000 n +0000126494 00000 n +0000126557 00000 n +0000126620 00000 n +0000126681 00000 n +0000126744 00000 n +0000126807 00000 n +0000126870 00000 n +0000126933 00000 n +0000126996 00000 n +0000127058 00000 n +0000127121 00000 n +0000127184 00000 n +0000127247 00000 n +0000127310 00000 n +0000127373 00000 n +0000127436 00000 n +0000127499 00000 n +0000127562 00000 n +0000127687 00000 n +0000127750 00000 n +0000127812 00000 n +0000728847 00000 n +0000132332 00000 n +0000130008 00000 n +0000127987 00000 n +0000130131 00000 n +0000130195 00000 n +0000130258 00000 n +0000130321 00000 n +0000130384 00000 n +0000130447 00000 n +0000130510 00000 n +0000130572 00000 n +0000130635 00000 n +0000130698 00000 n +0000130761 00000 n +0000130823 00000 n +0000130886 00000 n +0000130949 00000 n +0000131012 00000 n +0000131075 00000 n +0000131138 00000 n +0000131201 00000 n +0000131264 00000 n +0000131327 00000 n +0000131390 00000 n +0000131453 00000 n +0000131516 00000 n +0000131579 00000 n +0000131642 00000 n +0000131705 00000 n +0000131767 00000 n +0000131830 00000 n +0000131893 00000 n +0000131956 00000 n +0000132019 00000 n +0000132081 00000 n +0000132144 00000 n +0000132207 00000 n +0000132270 00000 n +0000136991 00000 n +0000134855 00000 n +0000132431 00000 n +0000134978 00000 n +0000135042 00000 n +0000135105 00000 n +0000135168 00000 n +0000135231 00000 n +0000135294 00000 n +0000135357 00000 n +0000135420 00000 n +0000135483 00000 n +0000135546 00000 n +0000135608 00000 n +0000135671 00000 n +0000135734 00000 n +0000135797 00000 n +0000135860 00000 n +0000135922 00000 n +0000135985 00000 n +0000136048 00000 n +0000136111 00000 n +0000136174 00000 n +0000136237 00000 n +0000136299 00000 n +0000136362 00000 n +0000136425 00000 n +0000136488 00000 n +0000136550 00000 n +0000136613 00000 n +0000136676 00000 n +0000136739 00000 n +0000136802 00000 n +0000136865 00000 n +0000136928 00000 n +0000141680 00000 n +0000139358 00000 n +0000137116 00000 n +0000139481 00000 n +0000139545 00000 n +0000139608 00000 n +0000139671 00000 n +0000139734 00000 n +0000139796 00000 n +0000139859 00000 n +0000139922 00000 n +0000139983 00000 n +0000140046 00000 n +0000140108 00000 n +0000140171 00000 n +0000140234 00000 n +0000140297 00000 n +0000140360 00000 n +0000140423 00000 n +0000140486 00000 n +0000140549 00000 n +0000140612 00000 n +0000140675 00000 n +0000140738 00000 n +0000140801 00000 n +0000140864 00000 n +0000140927 00000 n +0000140990 00000 n +0000141053 00000 n +0000141116 00000 n +0000141179 00000 n +0000141241 00000 n +0000141304 00000 n +0000141367 00000 n +0000141430 00000 n +0000141493 00000 n +0000141555 00000 n +0000141618 00000 n +0000146710 00000 n +0000144200 00000 n +0000141792 00000 n +0000144323 00000 n +0000144387 00000 n +0000144450 00000 n +0000144513 00000 n +0000144576 00000 n +0000144639 00000 n +0000144702 00000 n +0000144764 00000 n +0000144827 00000 n +0000144890 00000 n +0000144953 00000 n +0000145015 00000 n +0000145078 00000 n +0000145141 00000 n +0000145204 00000 n +0000145267 00000 n +0000145329 00000 n +0000145392 00000 n +0000145455 00000 n +0000145518 00000 n +0000145581 00000 n +0000145643 00000 n +0000145706 00000 n +0000145769 00000 n +0000145832 00000 n +0000145895 00000 n +0000145958 00000 n +0000146021 00000 n +0000146083 00000 n +0000146146 00000 n +0000146209 00000 n +0000146272 00000 n +0000146334 00000 n +0000146397 00000 n +0000146460 00000 n +0000146523 00000 n +0000146586 00000 n +0000146647 00000 n +0000151321 00000 n +0000149060 00000 n +0000146809 00000 n +0000149183 00000 n +0000149309 00000 n +0000149372 00000 n +0000149435 00000 n +0000149498 00000 n +0000149561 00000 n +0000149624 00000 n +0000149687 00000 n +0000149749 00000 n +0000149812 00000 n +0000149875 00000 n +0000149938 00000 n +0000150001 00000 n +0000150063 00000 n +0000150126 00000 n +0000150189 00000 n +0000150252 00000 n +0000150314 00000 n +0000150377 00000 n +0000150440 00000 n +0000150503 00000 n +0000150566 00000 n +0000150629 00000 n +0000150692 00000 n +0000150755 00000 n +0000150818 00000 n +0000150880 00000 n +0000150943 00000 n +0000151006 00000 n +0000151069 00000 n +0000151132 00000 n +0000151195 00000 n +0000151258 00000 n +0000156259 00000 n +0000153807 00000 n +0000151446 00000 n +0000153930 00000 n +0000153994 00000 n +0000154057 00000 n +0000154120 00000 n +0000154183 00000 n +0000154246 00000 n +0000154308 00000 n +0000154371 00000 n +0000154434 00000 n +0000154497 00000 n +0000154560 00000 n +0000154623 00000 n +0000154686 00000 n +0000154749 00000 n +0000154812 00000 n +0000154874 00000 n +0000154937 00000 n +0000155000 00000 n +0000155063 00000 n +0000155126 00000 n +0000155189 00000 n +0000155252 00000 n +0000155315 00000 n +0000155378 00000 n +0000155441 00000 n +0000155504 00000 n +0000155567 00000 n +0000155630 00000 n +0000155693 00000 n +0000155756 00000 n +0000155818 00000 n +0000155881 00000 n +0000155944 00000 n +0000156007 00000 n +0000156070 00000 n +0000156133 00000 n +0000156196 00000 n +0000728972 00000 n +0000161207 00000 n +0000158757 00000 n +0000156371 00000 n +0000158880 00000 n +0000158944 00000 n +0000159007 00000 n +0000159070 00000 n +0000159133 00000 n +0000159196 00000 n +0000159258 00000 n +0000159321 00000 n +0000159384 00000 n +0000159447 00000 n +0000159510 00000 n +0000159573 00000 n +0000159636 00000 n +0000159699 00000 n +0000159762 00000 n +0000159825 00000 n +0000159888 00000 n +0000159951 00000 n +0000160014 00000 n +0000160077 00000 n +0000160140 00000 n +0000160201 00000 n +0000160264 00000 n +0000160327 00000 n +0000160390 00000 n +0000160453 00000 n +0000160515 00000 n +0000160578 00000 n +0000160641 00000 n +0000160704 00000 n +0000160767 00000 n +0000160830 00000 n +0000160893 00000 n +0000160955 00000 n +0000161018 00000 n +0000161081 00000 n +0000161144 00000 n +0000164985 00000 n +0000163230 00000 n +0000161319 00000 n +0000163353 00000 n +0000163417 00000 n +0000163480 00000 n +0000163543 00000 n +0000163606 00000 n +0000163669 00000 n +0000163732 00000 n +0000163794 00000 n +0000163857 00000 n +0000163920 00000 n +0000163983 00000 n +0000164045 00000 n +0000164108 00000 n +0000164171 00000 n +0000164234 00000 n +0000164297 00000 n +0000164360 00000 n +0000164423 00000 n +0000164484 00000 n +0000164609 00000 n +0000164672 00000 n +0000164734 00000 n +0000164797 00000 n +0000164860 00000 n +0000164923 00000 n +0000169926 00000 n +0000167914 00000 n +0000165123 00000 n +0000168037 00000 n +0000168163 00000 n +0000168226 00000 n +0000168289 00000 n +0000168352 00000 n +0000168415 00000 n +0000168478 00000 n +0000168541 00000 n +0000168604 00000 n +0000168667 00000 n +0000168730 00000 n +0000168793 00000 n +0000168856 00000 n +0000168919 00000 n +0000168982 00000 n +0000169045 00000 n +0000169108 00000 n +0000169171 00000 n +0000169234 00000 n +0000169297 00000 n +0000169360 00000 n +0000169423 00000 n +0000169486 00000 n +0000169548 00000 n +0000169611 00000 n +0000169674 00000 n +0000169737 00000 n +0000169800 00000 n +0000169863 00000 n +0000174733 00000 n +0000172350 00000 n +0000170064 00000 n +0000172473 00000 n +0000172599 00000 n +0000172662 00000 n +0000172725 00000 n +0000172850 00000 n +0000172912 00000 n +0000172975 00000 n +0000173038 00000 n +0000173101 00000 n +0000173164 00000 n +0000173227 00000 n +0000173290 00000 n +0000173353 00000 n +0000173416 00000 n +0000173477 00000 n +0000173540 00000 n +0000173603 00000 n +0000173666 00000 n +0000173728 00000 n +0000173791 00000 n +0000173854 00000 n +0000173917 00000 n +0000173980 00000 n +0000174043 00000 n +0000174106 00000 n +0000174169 00000 n +0000174232 00000 n +0000174295 00000 n +0000174358 00000 n +0000174421 00000 n +0000174484 00000 n +0000174545 00000 n +0000174608 00000 n +0000174671 00000 n +0000178939 00000 n +0000176808 00000 n +0000174845 00000 n +0000176931 00000 n +0000176995 00000 n +0000177058 00000 n +0000177121 00000 n +0000177184 00000 n +0000177247 00000 n +0000177310 00000 n +0000177373 00000 n +0000177436 00000 n +0000177499 00000 n +0000177562 00000 n +0000177625 00000 n +0000177688 00000 n +0000177751 00000 n +0000177875 00000 n +0000177938 00000 n +0000178001 00000 n +0000178063 00000 n +0000178124 00000 n +0000178187 00000 n +0000178250 00000 n +0000178374 00000 n +0000178437 00000 n +0000178500 00000 n +0000178563 00000 n +0000178688 00000 n +0000178751 00000 n +0000178814 00000 n +0000178877 00000 n +0000181784 00000 n +0000181223 00000 n +0000179064 00000 n +0000181346 00000 n +0000181472 00000 n +0000181597 00000 n +0000181721 00000 n +0000729097 00000 n +0000186170 00000 n +0000184163 00000 n +0000181923 00000 n +0000184286 00000 n +0000184412 00000 n +0000184475 00000 n +0000184538 00000 n +0000184599 00000 n +0000184662 00000 n +0000184725 00000 n +0000184788 00000 n +0000184851 00000 n +0000184914 00000 n +0000185039 00000 n +0000185102 00000 n +0000185165 00000 n +0000185228 00000 n +0000185290 00000 n +0000185353 00000 n +0000185416 00000 n +0000185479 00000 n +0000185541 00000 n +0000185604 00000 n +0000185667 00000 n +0000185730 00000 n +0000185793 00000 n +0000185856 00000 n +0000185919 00000 n +0000185982 00000 n +0000186045 00000 n +0000186107 00000 n +0000191354 00000 n +0000188903 00000 n +0000186308 00000 n +0000189026 00000 n +0000189152 00000 n +0000189215 00000 n +0000189278 00000 n +0000189341 00000 n +0000189404 00000 n +0000189467 00000 n +0000189530 00000 n +0000189592 00000 n +0000189655 00000 n +0000189780 00000 n +0000189843 00000 n +0000189906 00000 n +0000189969 00000 n +0000190032 00000 n +0000190095 00000 n +0000190158 00000 n +0000190283 00000 n +0000190346 00000 n +0000190409 00000 n +0000190472 00000 n +0000190535 00000 n +0000190598 00000 n +0000190661 00000 n +0000190724 00000 n +0000190787 00000 n +0000190850 00000 n +0000190913 00000 n +0000190976 00000 n +0000191039 00000 n +0000191102 00000 n +0000191165 00000 n +0000191228 00000 n +0000191291 00000 n +0000196599 00000 n +0000193899 00000 n +0000191492 00000 n +0000194022 00000 n +0000194086 00000 n +0000194149 00000 n +0000194212 00000 n +0000194275 00000 n +0000194338 00000 n +0000194401 00000 n +0000194464 00000 n +0000194527 00000 n +0000194589 00000 n +0000194652 00000 n +0000194715 00000 n +0000194778 00000 n +0000194841 00000 n +0000194904 00000 n +0000194967 00000 n +0000195030 00000 n +0000195092 00000 n +0000195155 00000 n +0000195218 00000 n +0000195281 00000 n +0000195344 00000 n +0000195407 00000 n +0000195470 00000 n +0000195532 00000 n +0000195595 00000 n +0000195720 00000 n +0000195783 00000 n +0000195846 00000 n +0000195909 00000 n +0000195972 00000 n +0000196034 00000 n +0000196097 00000 n +0000196160 00000 n +0000196223 00000 n +0000196286 00000 n +0000196349 00000 n +0000196410 00000 n +0000196473 00000 n +0000196536 00000 n +0000201407 00000 n +0000199903 00000 n +0000196724 00000 n +0000200026 00000 n +0000200152 00000 n +0000200215 00000 n +0000200277 00000 n +0000200340 00000 n +0000200403 00000 n +0000200466 00000 n +0000200529 00000 n +0000200592 00000 n +0000200655 00000 n +0000200717 00000 n +0000200780 00000 n +0000200905 00000 n +0000200968 00000 n +0000201031 00000 n +0000201094 00000 n +0000201156 00000 n +0000201219 00000 n +0000201344 00000 n +0000205341 00000 n +0000203833 00000 n +0000201545 00000 n +0000203956 00000 n +0000204082 00000 n +0000204145 00000 n +0000204208 00000 n +0000204271 00000 n +0000204334 00000 n +0000204397 00000 n +0000204460 00000 n +0000204523 00000 n +0000204586 00000 n +0000204649 00000 n +0000204711 00000 n +0000204774 00000 n +0000204837 00000 n +0000204900 00000 n +0000204963 00000 n +0000205026 00000 n +0000205089 00000 n +0000205152 00000 n +0000205215 00000 n +0000205278 00000 n +0000210453 00000 n +0000207816 00000 n +0000205492 00000 n +0000207939 00000 n +0000208003 00000 n +0000208066 00000 n +0000208129 00000 n +0000208192 00000 n +0000208255 00000 n +0000208317 00000 n +0000208380 00000 n +0000208443 00000 n +0000208506 00000 n +0000208569 00000 n +0000208692 00000 n +0000208755 00000 n +0000208818 00000 n +0000208881 00000 n +0000208944 00000 n +0000209007 00000 n +0000209070 00000 n +0000209133 00000 n +0000209195 00000 n +0000209258 00000 n +0000209321 00000 n +0000209384 00000 n +0000209447 00000 n +0000209510 00000 n +0000209573 00000 n +0000209636 00000 n +0000209699 00000 n +0000209762 00000 n +0000209825 00000 n +0000209888 00000 n +0000209951 00000 n +0000210014 00000 n +0000210077 00000 n +0000210140 00000 n +0000210203 00000 n +0000210266 00000 n +0000210328 00000 n +0000210391 00000 n +0000729222 00000 n +0000216446 00000 n +0000213491 00000 n +0000210565 00000 n +0000213614 00000 n +0000213678 00000 n +0000213741 00000 n +0000213804 00000 n +0000213867 00000 n +0000213930 00000 n +0000213993 00000 n +0000214055 00000 n +0000214118 00000 n +0000214181 00000 n +0000214244 00000 n +0000214307 00000 n +0000214370 00000 n +0000214433 00000 n +0000214496 00000 n +0000214559 00000 n +0000214621 00000 n +0000214684 00000 n +0000214747 00000 n +0000214810 00000 n +0000214873 00000 n +0000214936 00000 n +0000214998 00000 n +0000215061 00000 n +0000215124 00000 n +0000215187 00000 n +0000215249 00000 n +0000215312 00000 n +0000215375 00000 n +0000215438 00000 n +0000215501 00000 n +0000215564 00000 n +0000215627 00000 n +0000215690 00000 n +0000215753 00000 n +0000215816 00000 n +0000215879 00000 n +0000215942 00000 n +0000216005 00000 n +0000216068 00000 n +0000216131 00000 n +0000216194 00000 n +0000216257 00000 n +0000216320 00000 n +0000216383 00000 n +0000220906 00000 n +0000218708 00000 n +0000216571 00000 n +0000218831 00000 n +0000218895 00000 n +0000218958 00000 n +0000219021 00000 n +0000219084 00000 n +0000219147 00000 n +0000219209 00000 n +0000219272 00000 n +0000219335 00000 n +0000219398 00000 n +0000219461 00000 n +0000219524 00000 n +0000219587 00000 n +0000219650 00000 n +0000219774 00000 n +0000219837 00000 n +0000219900 00000 n +0000219962 00000 n +0000220025 00000 n +0000220088 00000 n +0000220151 00000 n +0000220214 00000 n +0000220277 00000 n +0000220340 00000 n +0000220402 00000 n +0000220465 00000 n +0000220528 00000 n +0000220591 00000 n +0000220654 00000 n +0000220717 00000 n +0000220780 00000 n +0000220843 00000 n +0000225286 00000 n +0000223215 00000 n +0000221018 00000 n +0000223338 00000 n +0000223402 00000 n +0000223465 00000 n +0000223528 00000 n +0000223591 00000 n +0000223654 00000 n +0000223716 00000 n +0000223779 00000 n +0000223842 00000 n +0000223905 00000 n +0000223968 00000 n +0000224031 00000 n +0000224094 00000 n +0000224156 00000 n +0000224219 00000 n +0000224282 00000 n +0000224345 00000 n +0000224406 00000 n +0000224469 00000 n +0000224532 00000 n +0000224595 00000 n +0000224658 00000 n +0000224721 00000 n +0000224784 00000 n +0000224846 00000 n +0000224909 00000 n +0000224972 00000 n +0000225035 00000 n +0000225098 00000 n +0000225160 00000 n +0000225223 00000 n +0000230858 00000 n +0000228220 00000 n +0000225411 00000 n +0000228343 00000 n +0000228407 00000 n +0000228470 00000 n +0000228533 00000 n +0000228596 00000 n +0000228659 00000 n +0000228721 00000 n +0000228784 00000 n +0000228847 00000 n +0000228910 00000 n +0000228972 00000 n +0000229035 00000 n +0000229098 00000 n +0000229161 00000 n +0000229223 00000 n +0000229286 00000 n +0000229349 00000 n +0000229412 00000 n +0000229475 00000 n +0000229538 00000 n +0000229600 00000 n +0000229663 00000 n +0000229726 00000 n +0000229789 00000 n +0000229852 00000 n +0000229915 00000 n +0000229978 00000 n +0000230041 00000 n +0000230104 00000 n +0000230167 00000 n +0000230230 00000 n +0000230293 00000 n +0000230356 00000 n +0000230419 00000 n +0000230482 00000 n +0000230545 00000 n +0000230607 00000 n +0000230670 00000 n +0000230733 00000 n +0000230796 00000 n +0000236829 00000 n +0000233939 00000 n +0000230983 00000 n +0000234062 00000 n +0000234126 00000 n +0000234189 00000 n +0000234252 00000 n +0000234315 00000 n +0000234378 00000 n +0000234441 00000 n +0000234503 00000 n +0000234566 00000 n +0000234629 00000 n +0000234692 00000 n +0000234755 00000 n +0000234818 00000 n +0000234881 00000 n +0000234944 00000 n +0000235007 00000 n +0000235069 00000 n +0000235132 00000 n +0000235195 00000 n +0000235258 00000 n +0000235321 00000 n +0000235384 00000 n +0000235447 00000 n +0000235510 00000 n +0000235573 00000 n +0000235635 00000 n +0000235698 00000 n +0000235823 00000 n +0000235886 00000 n +0000235949 00000 n +0000236012 00000 n +0000236075 00000 n +0000236138 00000 n +0000236201 00000 n +0000236263 00000 n +0000236326 00000 n +0000236389 00000 n +0000236452 00000 n +0000236515 00000 n +0000236578 00000 n +0000236641 00000 n +0000236703 00000 n +0000236766 00000 n +0000242658 00000 n +0000239892 00000 n +0000236941 00000 n +0000240015 00000 n +0000240079 00000 n +0000240142 00000 n +0000240205 00000 n +0000240268 00000 n +0000240331 00000 n +0000240394 00000 n +0000240457 00000 n +0000240520 00000 n +0000240583 00000 n +0000240645 00000 n +0000240708 00000 n +0000240771 00000 n +0000240834 00000 n +0000240897 00000 n +0000240960 00000 n +0000241023 00000 n +0000241086 00000 n +0000241149 00000 n +0000241210 00000 n +0000241273 00000 n +0000241336 00000 n +0000241399 00000 n +0000241462 00000 n +0000241525 00000 n +0000241588 00000 n +0000241651 00000 n +0000241714 00000 n +0000241777 00000 n +0000241840 00000 n +0000241903 00000 n +0000241966 00000 n +0000242029 00000 n +0000242092 00000 n +0000242154 00000 n +0000242217 00000 n +0000242280 00000 n +0000242343 00000 n +0000242406 00000 n +0000242469 00000 n +0000242532 00000 n +0000242595 00000 n +0000729347 00000 n +0000247280 00000 n +0000245146 00000 n +0000242783 00000 n +0000245269 00000 n +0000245333 00000 n +0000245396 00000 n +0000245459 00000 n +0000245522 00000 n +0000245585 00000 n +0000245648 00000 n +0000245711 00000 n +0000245774 00000 n +0000245837 00000 n +0000245900 00000 n +0000245963 00000 n +0000246026 00000 n +0000246089 00000 n +0000246151 00000 n +0000246214 00000 n +0000246277 00000 n +0000246340 00000 n +0000246403 00000 n +0000246466 00000 n +0000246529 00000 n +0000246588 00000 n +0000246651 00000 n +0000246714 00000 n +0000246777 00000 n +0000246840 00000 n +0000246903 00000 n +0000246966 00000 n +0000247029 00000 n +0000247092 00000 n +0000247154 00000 n +0000247217 00000 n +0000252499 00000 n +0000250114 00000 n +0000247405 00000 n +0000250237 00000 n +0000250301 00000 n +0000250364 00000 n +0000250427 00000 n +0000250490 00000 n +0000250553 00000 n +0000250616 00000 n +0000250679 00000 n +0000250742 00000 n +0000250805 00000 n +0000250868 00000 n +0000250931 00000 n +0000250994 00000 n +0000251057 00000 n +0000251120 00000 n +0000251183 00000 n +0000251244 00000 n +0000251307 00000 n +0000251370 00000 n +0000251433 00000 n +0000251496 00000 n +0000251559 00000 n +0000251622 00000 n +0000251746 00000 n +0000251808 00000 n +0000251871 00000 n +0000251934 00000 n +0000251996 00000 n +0000252059 00000 n +0000252122 00000 n +0000252185 00000 n +0000252248 00000 n +0000252310 00000 n +0000252373 00000 n +0000252436 00000 n +0000258260 00000 n +0000255370 00000 n +0000252637 00000 n +0000255493 00000 n +0000255557 00000 n +0000255620 00000 n +0000255683 00000 n +0000255746 00000 n +0000255809 00000 n +0000255872 00000 n +0000255935 00000 n +0000255998 00000 n +0000256061 00000 n +0000256124 00000 n +0000256185 00000 n +0000256248 00000 n +0000256311 00000 n +0000256374 00000 n +0000256437 00000 n +0000256500 00000 n +0000256563 00000 n +0000256626 00000 n +0000256689 00000 n +0000256751 00000 n +0000256814 00000 n +0000256877 00000 n +0000256940 00000 n +0000257003 00000 n +0000257065 00000 n +0000257128 00000 n +0000257191 00000 n +0000257254 00000 n +0000257317 00000 n +0000257380 00000 n +0000257443 00000 n +0000257506 00000 n +0000257569 00000 n +0000257632 00000 n +0000257695 00000 n +0000257758 00000 n +0000257821 00000 n +0000257883 00000 n +0000257946 00000 n +0000258008 00000 n +0000258071 00000 n +0000258134 00000 n +0000258197 00000 n +0000264258 00000 n +0000261301 00000 n +0000258359 00000 n +0000261424 00000 n +0000261488 00000 n +0000261551 00000 n +0000261614 00000 n +0000261677 00000 n +0000261740 00000 n +0000261803 00000 n +0000261866 00000 n +0000261929 00000 n +0000261992 00000 n +0000262055 00000 n +0000262118 00000 n +0000262181 00000 n +0000262244 00000 n +0000262307 00000 n +0000262370 00000 n +0000262433 00000 n +0000262495 00000 n +0000262558 00000 n +0000262621 00000 n +0000262684 00000 n +0000262747 00000 n +0000262810 00000 n +0000262873 00000 n +0000262936 00000 n +0000262999 00000 n +0000263061 00000 n +0000263124 00000 n +0000263187 00000 n +0000263250 00000 n +0000263313 00000 n +0000263376 00000 n +0000263439 00000 n +0000263502 00000 n +0000263565 00000 n +0000263628 00000 n +0000263691 00000 n +0000263754 00000 n +0000263817 00000 n +0000263880 00000 n +0000263943 00000 n +0000264006 00000 n +0000264069 00000 n +0000264132 00000 n +0000264195 00000 n +0000269528 00000 n +0000266888 00000 n +0000264357 00000 n +0000267011 00000 n +0000267075 00000 n +0000267138 00000 n +0000267201 00000 n +0000267264 00000 n +0000267327 00000 n +0000267389 00000 n +0000267452 00000 n +0000267515 00000 n +0000267578 00000 n +0000267641 00000 n +0000267704 00000 n +0000267766 00000 n +0000267829 00000 n +0000267892 00000 n +0000267955 00000 n +0000268018 00000 n +0000268081 00000 n +0000268143 00000 n +0000268206 00000 n +0000268269 00000 n +0000268332 00000 n +0000268395 00000 n +0000268458 00000 n +0000268521 00000 n +0000268584 00000 n +0000268647 00000 n +0000268710 00000 n +0000268773 00000 n +0000268836 00000 n +0000268899 00000 n +0000268962 00000 n +0000269025 00000 n +0000269087 00000 n +0000269150 00000 n +0000269213 00000 n +0000269276 00000 n +0000269339 00000 n +0000269402 00000 n +0000269465 00000 n +0000274590 00000 n +0000272012 00000 n +0000269627 00000 n +0000272135 00000 n +0000272199 00000 n +0000272262 00000 n +0000272325 00000 n +0000272388 00000 n +0000272451 00000 n +0000272514 00000 n +0000272577 00000 n +0000272640 00000 n +0000272703 00000 n +0000272766 00000 n +0000272829 00000 n +0000272892 00000 n +0000272955 00000 n +0000273018 00000 n +0000273081 00000 n +0000273144 00000 n +0000273207 00000 n +0000273270 00000 n +0000273333 00000 n +0000273396 00000 n +0000273459 00000 n +0000273522 00000 n +0000273585 00000 n +0000273647 00000 n +0000273710 00000 n +0000273773 00000 n +0000273836 00000 n +0000273899 00000 n +0000273962 00000 n +0000274025 00000 n +0000274087 00000 n +0000274150 00000 n +0000274213 00000 n +0000274276 00000 n +0000274339 00000 n +0000274401 00000 n +0000274464 00000 n +0000274527 00000 n +0000729472 00000 n +0000280516 00000 n +0000277441 00000 n +0000274689 00000 n +0000277564 00000 n +0000277628 00000 n +0000277691 00000 n +0000277754 00000 n +0000277816 00000 n +0000277879 00000 n +0000277942 00000 n +0000278005 00000 n +0000278068 00000 n +0000278131 00000 n +0000278194 00000 n +0000278257 00000 n +0000278320 00000 n +0000278382 00000 n +0000278445 00000 n +0000278508 00000 n +0000278571 00000 n +0000278634 00000 n +0000278697 00000 n +0000278760 00000 n +0000278822 00000 n +0000278885 00000 n +0000278948 00000 n +0000279011 00000 n +0000279074 00000 n +0000279137 00000 n +0000279200 00000 n +0000279263 00000 n +0000279326 00000 n +0000279388 00000 n +0000279451 00000 n +0000279514 00000 n +0000279577 00000 n +0000279640 00000 n +0000279703 00000 n +0000279766 00000 n +0000279829 00000 n +0000279892 00000 n +0000279954 00000 n +0000280017 00000 n +0000280080 00000 n +0000280143 00000 n +0000280206 00000 n +0000280269 00000 n +0000280332 00000 n +0000280395 00000 n +0000280458 00000 n +0000286491 00000 n +0000283410 00000 n +0000280615 00000 n +0000283533 00000 n +0000283597 00000 n +0000283660 00000 n +0000283723 00000 n +0000283786 00000 n +0000283849 00000 n +0000283912 00000 n +0000283975 00000 n +0000284038 00000 n +0000284101 00000 n +0000284164 00000 n +0000284226 00000 n +0000284289 00000 n +0000284352 00000 n +0000284415 00000 n +0000284478 00000 n +0000284541 00000 n +0000284604 00000 n +0000284667 00000 n +0000284730 00000 n +0000284793 00000 n +0000284856 00000 n +0000284919 00000 n +0000284982 00000 n +0000285045 00000 n +0000285108 00000 n +0000285171 00000 n +0000285234 00000 n +0000285297 00000 n +0000285359 00000 n +0000285422 00000 n +0000285485 00000 n +0000285548 00000 n +0000285610 00000 n +0000285673 00000 n +0000285736 00000 n +0000285799 00000 n +0000285862 00000 n +0000285925 00000 n +0000285987 00000 n +0000286050 00000 n +0000286113 00000 n +0000286176 00000 n +0000286239 00000 n +0000286302 00000 n +0000286365 00000 n +0000286428 00000 n +0000292452 00000 n +0000289310 00000 n +0000286590 00000 n +0000289433 00000 n +0000289497 00000 n +0000289560 00000 n +0000289623 00000 n +0000289686 00000 n +0000289749 00000 n +0000289812 00000 n +0000289875 00000 n +0000289937 00000 n +0000290000 00000 n +0000290063 00000 n +0000290126 00000 n +0000290189 00000 n +0000290252 00000 n +0000290315 00000 n +0000290378 00000 n +0000290441 00000 n +0000290504 00000 n +0000290567 00000 n +0000290630 00000 n +0000290693 00000 n +0000290755 00000 n +0000290818 00000 n +0000290881 00000 n +0000290944 00000 n +0000291007 00000 n +0000291070 00000 n +0000291133 00000 n +0000291195 00000 n +0000291258 00000 n +0000291321 00000 n +0000291384 00000 n +0000291447 00000 n +0000291510 00000 n +0000291573 00000 n +0000291636 00000 n +0000291699 00000 n +0000291761 00000 n +0000291824 00000 n +0000291887 00000 n +0000291950 00000 n +0000292013 00000 n +0000292076 00000 n +0000292139 00000 n +0000292202 00000 n +0000292265 00000 n +0000292327 00000 n +0000292390 00000 n +0000298190 00000 n +0000295364 00000 n +0000292551 00000 n +0000295487 00000 n +0000295551 00000 n +0000295614 00000 n +0000295677 00000 n +0000295740 00000 n +0000295803 00000 n +0000295866 00000 n +0000295929 00000 n +0000295992 00000 n +0000296055 00000 n +0000296118 00000 n +0000296181 00000 n +0000296244 00000 n +0000296307 00000 n +0000296370 00000 n +0000296433 00000 n +0000296496 00000 n +0000296559 00000 n +0000296622 00000 n +0000296685 00000 n +0000296748 00000 n +0000296811 00000 n +0000296874 00000 n +0000296937 00000 n +0000297000 00000 n +0000297063 00000 n +0000297126 00000 n +0000297189 00000 n +0000297252 00000 n +0000297315 00000 n +0000297378 00000 n +0000297440 00000 n +0000297503 00000 n +0000297566 00000 n +0000297629 00000 n +0000297692 00000 n +0000297755 00000 n +0000297818 00000 n +0000297881 00000 n +0000297943 00000 n +0000298006 00000 n +0000298069 00000 n +0000298132 00000 n +0000303394 00000 n +0000301008 00000 n +0000298289 00000 n +0000301131 00000 n +0000301195 00000 n +0000301258 00000 n +0000301320 00000 n +0000301383 00000 n +0000301446 00000 n +0000301509 00000 n +0000301572 00000 n +0000301696 00000 n +0000301759 00000 n +0000301822 00000 n +0000301885 00000 n +0000301948 00000 n +0000302011 00000 n +0000302074 00000 n +0000302137 00000 n +0000302200 00000 n +0000302263 00000 n +0000302326 00000 n +0000302389 00000 n +0000302452 00000 n +0000302515 00000 n +0000302578 00000 n +0000302641 00000 n +0000302703 00000 n +0000302766 00000 n +0000302829 00000 n +0000302892 00000 n +0000302955 00000 n +0000303018 00000 n +0000303081 00000 n +0000303144 00000 n +0000303207 00000 n +0000303269 00000 n +0000303332 00000 n +0000309002 00000 n +0000306111 00000 n +0000303532 00000 n +0000306234 00000 n +0000306298 00000 n +0000306361 00000 n +0000306424 00000 n +0000306487 00000 n +0000306550 00000 n +0000306613 00000 n +0000306675 00000 n +0000306738 00000 n +0000306801 00000 n +0000306864 00000 n +0000306927 00000 n +0000306990 00000 n +0000307053 00000 n +0000307116 00000 n +0000307179 00000 n +0000307241 00000 n +0000307304 00000 n +0000307367 00000 n +0000307430 00000 n +0000307493 00000 n +0000307556 00000 n +0000307619 00000 n +0000307681 00000 n +0000307744 00000 n +0000307807 00000 n +0000307870 00000 n +0000307933 00000 n +0000308058 00000 n +0000308121 00000 n +0000308184 00000 n +0000308247 00000 n +0000308310 00000 n +0000308373 00000 n +0000308498 00000 n +0000308561 00000 n +0000308624 00000 n +0000308687 00000 n +0000308750 00000 n +0000308813 00000 n +0000308876 00000 n +0000308939 00000 n +0000729597 00000 n +0000313445 00000 n +0000311372 00000 n +0000309140 00000 n +0000311495 00000 n +0000311559 00000 n +0000311622 00000 n +0000311685 00000 n +0000311748 00000 n +0000311811 00000 n +0000311874 00000 n +0000311937 00000 n +0000312062 00000 n +0000312125 00000 n +0000312188 00000 n +0000312251 00000 n +0000312314 00000 n +0000312377 00000 n +0000312501 00000 n +0000312564 00000 n +0000312627 00000 n +0000312690 00000 n +0000312753 00000 n +0000312816 00000 n +0000312879 00000 n +0000312942 00000 n +0000313005 00000 n +0000313068 00000 n +0000313131 00000 n +0000313194 00000 n +0000313256 00000 n +0000313319 00000 n +0000313382 00000 n +0000317132 00000 n +0000315375 00000 n +0000313583 00000 n +0000315498 00000 n +0000315562 00000 n +0000315625 00000 n +0000315688 00000 n +0000315751 00000 n +0000315814 00000 n +0000315876 00000 n +0000315939 00000 n +0000316002 00000 n +0000316065 00000 n +0000316128 00000 n +0000316191 00000 n +0000316254 00000 n +0000316379 00000 n +0000316442 00000 n +0000316504 00000 n +0000316567 00000 n +0000316629 00000 n +0000316692 00000 n +0000316755 00000 n +0000316818 00000 n +0000316943 00000 n +0000317006 00000 n +0000317069 00000 n +0000322931 00000 n +0000320166 00000 n +0000317257 00000 n +0000320289 00000 n +0000320415 00000 n +0000320478 00000 n +0000320541 00000 n +0000320604 00000 n +0000320667 00000 n +0000320730 00000 n +0000320792 00000 n +0000320855 00000 n +0000320918 00000 n +0000320981 00000 n +0000321044 00000 n +0000321107 00000 n +0000321170 00000 n +0000321233 00000 n +0000321296 00000 n +0000321359 00000 n +0000321422 00000 n +0000321485 00000 n +0000321548 00000 n +0000321611 00000 n +0000321674 00000 n +0000321737 00000 n +0000321799 00000 n +0000321862 00000 n +0000321925 00000 n +0000321988 00000 n +0000322051 00000 n +0000322114 00000 n +0000322177 00000 n +0000322240 00000 n +0000322303 00000 n +0000322365 00000 n +0000322428 00000 n +0000322491 00000 n +0000322554 00000 n +0000322617 00000 n +0000322680 00000 n +0000322742 00000 n +0000322805 00000 n +0000322868 00000 n +0000329492 00000 n +0000326040 00000 n +0000323056 00000 n +0000326163 00000 n +0000326227 00000 n +0000326290 00000 n +0000326353 00000 n +0000326416 00000 n +0000326479 00000 n +0000326542 00000 n +0000326605 00000 n +0000326667 00000 n +0000326730 00000 n +0000326793 00000 n +0000326856 00000 n +0000326919 00000 n +0000326982 00000 n +0000327045 00000 n +0000327108 00000 n +0000327171 00000 n +0000327232 00000 n +0000327295 00000 n +0000327358 00000 n +0000327421 00000 n +0000327484 00000 n +0000327547 00000 n +0000327610 00000 n +0000327673 00000 n +0000327736 00000 n +0000327799 00000 n +0000327862 00000 n +0000327925 00000 n +0000327988 00000 n +0000328051 00000 n +0000328114 00000 n +0000328177 00000 n +0000328239 00000 n +0000328302 00000 n +0000328365 00000 n +0000328428 00000 n +0000328491 00000 n +0000328554 00000 n +0000328617 00000 n +0000328680 00000 n +0000328743 00000 n +0000328805 00000 n +0000328868 00000 n +0000328931 00000 n +0000328994 00000 n +0000329057 00000 n +0000329120 00000 n +0000329183 00000 n +0000329246 00000 n +0000329305 00000 n +0000329368 00000 n +0000329430 00000 n +0000334091 00000 n +0000331828 00000 n +0000329604 00000 n +0000331951 00000 n +0000332015 00000 n +0000332078 00000 n +0000332140 00000 n +0000332203 00000 n +0000332266 00000 n +0000332329 00000 n +0000332392 00000 n +0000332455 00000 n +0000332518 00000 n +0000332581 00000 n +0000332644 00000 n +0000332707 00000 n +0000332770 00000 n +0000332833 00000 n +0000332895 00000 n +0000332958 00000 n +0000333021 00000 n +0000333084 00000 n +0000333147 00000 n +0000333210 00000 n +0000333273 00000 n +0000333336 00000 n +0000333399 00000 n +0000333462 00000 n +0000333525 00000 n +0000333587 00000 n +0000333650 00000 n +0000333713 00000 n +0000333776 00000 n +0000333839 00000 n +0000333902 00000 n +0000333965 00000 n +0000334028 00000 n +0000339009 00000 n +0000336622 00000 n +0000334216 00000 n +0000336745 00000 n +0000336871 00000 n +0000336934 00000 n +0000336997 00000 n +0000337060 00000 n +0000337123 00000 n +0000337186 00000 n +0000337311 00000 n +0000337374 00000 n +0000337436 00000 n +0000337499 00000 n +0000337561 00000 n +0000337624 00000 n +0000337687 00000 n +0000337750 00000 n +0000337813 00000 n +0000337876 00000 n +0000337939 00000 n +0000338002 00000 n +0000338065 00000 n +0000338127 00000 n +0000338190 00000 n +0000338253 00000 n +0000338316 00000 n +0000338379 00000 n +0000338442 00000 n +0000338505 00000 n +0000338568 00000 n +0000338631 00000 n +0000338694 00000 n +0000338757 00000 n +0000338820 00000 n +0000338883 00000 n +0000338946 00000 n +0000729722 00000 n +0000343210 00000 n +0000340953 00000 n +0000339121 00000 n +0000341076 00000 n +0000341202 00000 n +0000341265 00000 n +0000341328 00000 n +0000341390 00000 n +0000341453 00000 n +0000341516 00000 n +0000341579 00000 n +0000341642 00000 n +0000341767 00000 n +0000341830 00000 n +0000341893 00000 n +0000341955 00000 n +0000342018 00000 n +0000342080 00000 n +0000342143 00000 n +0000342206 00000 n +0000342269 00000 n +0000342332 00000 n +0000342395 00000 n +0000342519 00000 n +0000342582 00000 n +0000342645 00000 n +0000342708 00000 n +0000342771 00000 n +0000342834 00000 n +0000342897 00000 n +0000342960 00000 n +0000343022 00000 n +0000343085 00000 n +0000343147 00000 n +0000346734 00000 n +0000345043 00000 n +0000343322 00000 n +0000345166 00000 n +0000345292 00000 n +0000345355 00000 n +0000345418 00000 n +0000345481 00000 n +0000345544 00000 n +0000345607 00000 n +0000345670 00000 n +0000345733 00000 n +0000345796 00000 n +0000345859 00000 n +0000345922 00000 n +0000346046 00000 n +0000346171 00000 n +0000346296 00000 n +0000346359 00000 n +0000346422 00000 n +0000346485 00000 n +0000346548 00000 n +0000346671 00000 n +0000352647 00000 n +0000349886 00000 n +0000346872 00000 n +0000350009 00000 n +0000350073 00000 n +0000350136 00000 n +0000350199 00000 n +0000350262 00000 n +0000350325 00000 n +0000350388 00000 n +0000350451 00000 n +0000350513 00000 n +0000350576 00000 n +0000350639 00000 n +0000350702 00000 n +0000350825 00000 n +0000350888 00000 n +0000350951 00000 n +0000351013 00000 n +0000351076 00000 n +0000351139 00000 n +0000351202 00000 n +0000351265 00000 n +0000351328 00000 n +0000351390 00000 n +0000351453 00000 n +0000351516 00000 n +0000351579 00000 n +0000351641 00000 n +0000351704 00000 n +0000351766 00000 n +0000351829 00000 n +0000351892 00000 n +0000351955 00000 n +0000352018 00000 n +0000352081 00000 n +0000352144 00000 n +0000352207 00000 n +0000352270 00000 n +0000352333 00000 n +0000352396 00000 n +0000352459 00000 n +0000352522 00000 n +0000352585 00000 n +0000356157 00000 n +0000354275 00000 n +0000352785 00000 n +0000354398 00000 n +0000354524 00000 n +0000354587 00000 n +0000354650 00000 n +0000354713 00000 n +0000354776 00000 n +0000354839 00000 n +0000354964 00000 n +0000355027 00000 n +0000355090 00000 n +0000355153 00000 n +0000355278 00000 n +0000355341 00000 n +0000355404 00000 n +0000355467 00000 n +0000355592 00000 n +0000355655 00000 n +0000355718 00000 n +0000355781 00000 n +0000355906 00000 n +0000355969 00000 n +0000356032 00000 n +0000356095 00000 n +0000359212 00000 n +0000360296 00000 n +0000359068 00000 n +0000356269 00000 n +0000359418 00000 n +0000359544 00000 n +0000359607 00000 n +0000359670 00000 n +0000359733 00000 n +0000359796 00000 n +0000359859 00000 n +0000359983 00000 n +0000726594 00000 n +0000360108 00000 n +0000360171 00000 n +0000360234 00000 n +0000364929 00000 n +0000362730 00000 n +0000360463 00000 n +0000362853 00000 n +0000362917 00000 n +0000362980 00000 n +0000363043 00000 n +0000363106 00000 n +0000363169 00000 n +0000363232 00000 n +0000363295 00000 n +0000363358 00000 n +0000363421 00000 n +0000363484 00000 n +0000363547 00000 n +0000363610 00000 n +0000363673 00000 n +0000363736 00000 n +0000363799 00000 n +0000363862 00000 n +0000363925 00000 n +0000363986 00000 n +0000364111 00000 n +0000364174 00000 n +0000364237 00000 n +0000364300 00000 n +0000364363 00000 n +0000364426 00000 n +0000364489 00000 n +0000364552 00000 n +0000364615 00000 n +0000364678 00000 n +0000364741 00000 n +0000364803 00000 n +0000364866 00000 n +0000729847 00000 n +0000369462 00000 n +0000367200 00000 n +0000365067 00000 n +0000367323 00000 n +0000367387 00000 n +0000367450 00000 n +0000367513 00000 n +0000367576 00000 n +0000367639 00000 n +0000367702 00000 n +0000367765 00000 n +0000367828 00000 n +0000367891 00000 n +0000367954 00000 n +0000368016 00000 n +0000368079 00000 n +0000368204 00000 n +0000368267 00000 n +0000368330 00000 n +0000368393 00000 n +0000368456 00000 n +0000368519 00000 n +0000368582 00000 n +0000368645 00000 n +0000368708 00000 n +0000368771 00000 n +0000368833 00000 n +0000368896 00000 n +0000368959 00000 n +0000369022 00000 n +0000369085 00000 n +0000369148 00000 n +0000369210 00000 n +0000369273 00000 n +0000369336 00000 n +0000369399 00000 n +0000374260 00000 n +0000371872 00000 n +0000369574 00000 n +0000371995 00000 n +0000372059 00000 n +0000372122 00000 n +0000372185 00000 n +0000372248 00000 n +0000372311 00000 n +0000372374 00000 n +0000372437 00000 n +0000372500 00000 n +0000372563 00000 n +0000372626 00000 n +0000372688 00000 n +0000372751 00000 n +0000372814 00000 n +0000372877 00000 n +0000372940 00000 n +0000373002 00000 n +0000373065 00000 n +0000373128 00000 n +0000373191 00000 n +0000373254 00000 n +0000373316 00000 n +0000373379 00000 n +0000373442 00000 n +0000373505 00000 n +0000373568 00000 n +0000373631 00000 n +0000373694 00000 n +0000373757 00000 n +0000373820 00000 n +0000373883 00000 n +0000373946 00000 n +0000374009 00000 n +0000374072 00000 n +0000374135 00000 n +0000374198 00000 n +0000379830 00000 n +0000377131 00000 n +0000374385 00000 n +0000377254 00000 n +0000377380 00000 n +0000377443 00000 n +0000377506 00000 n +0000377569 00000 n +0000377632 00000 n +0000377694 00000 n +0000377757 00000 n +0000377819 00000 n +0000377882 00000 n +0000377945 00000 n +0000378008 00000 n +0000378071 00000 n +0000378134 00000 n +0000378196 00000 n +0000378259 00000 n +0000378322 00000 n +0000378385 00000 n +0000378448 00000 n +0000378510 00000 n +0000378573 00000 n +0000378636 00000 n +0000378699 00000 n +0000378761 00000 n +0000378824 00000 n +0000378887 00000 n +0000378950 00000 n +0000379013 00000 n +0000379076 00000 n +0000379138 00000 n +0000379201 00000 n +0000379264 00000 n +0000379327 00000 n +0000379390 00000 n +0000379453 00000 n +0000379515 00000 n +0000379578 00000 n +0000379641 00000 n +0000379704 00000 n +0000379767 00000 n +0000384673 00000 n +0000382407 00000 n +0000379942 00000 n +0000382530 00000 n +0000382594 00000 n +0000382657 00000 n +0000382720 00000 n +0000382783 00000 n +0000382846 00000 n +0000382909 00000 n +0000382972 00000 n +0000383035 00000 n +0000383098 00000 n +0000383161 00000 n +0000383224 00000 n +0000383287 00000 n +0000383350 00000 n +0000383413 00000 n +0000383476 00000 n +0000383539 00000 n +0000383602 00000 n +0000383665 00000 n +0000383728 00000 n +0000383791 00000 n +0000383854 00000 n +0000383917 00000 n +0000383980 00000 n +0000384043 00000 n +0000384106 00000 n +0000384169 00000 n +0000384232 00000 n +0000384295 00000 n +0000384358 00000 n +0000384421 00000 n +0000384484 00000 n +0000384547 00000 n +0000384610 00000 n +0000390040 00000 n +0000387466 00000 n +0000384798 00000 n +0000387589 00000 n +0000387653 00000 n +0000387716 00000 n +0000387779 00000 n +0000387842 00000 n +0000387905 00000 n +0000387968 00000 n +0000388031 00000 n +0000388093 00000 n +0000388156 00000 n +0000388219 00000 n +0000388282 00000 n +0000388345 00000 n +0000388408 00000 n +0000388471 00000 n +0000388594 00000 n +0000388657 00000 n +0000388720 00000 n +0000388782 00000 n +0000388845 00000 n +0000388908 00000 n +0000388971 00000 n +0000389034 00000 n +0000389097 00000 n +0000389160 00000 n +0000389223 00000 n +0000389286 00000 n +0000389348 00000 n +0000389411 00000 n +0000389474 00000 n +0000389537 00000 n +0000389600 00000 n +0000389663 00000 n +0000389726 00000 n +0000389789 00000 n +0000389852 00000 n +0000389915 00000 n +0000389977 00000 n +0000396989 00000 n +0000393531 00000 n +0000390178 00000 n +0000393654 00000 n +0000393718 00000 n +0000393781 00000 n +0000393844 00000 n +0000393907 00000 n +0000393970 00000 n +0000394033 00000 n +0000394096 00000 n +0000394159 00000 n +0000394222 00000 n +0000394285 00000 n +0000394347 00000 n +0000394410 00000 n +0000394473 00000 n +0000394536 00000 n +0000394599 00000 n +0000394662 00000 n +0000394725 00000 n +0000394788 00000 n +0000394851 00000 n +0000394914 00000 n +0000394977 00000 n +0000395040 00000 n +0000395103 00000 n +0000395166 00000 n +0000395229 00000 n +0000395292 00000 n +0000395355 00000 n +0000395418 00000 n +0000395481 00000 n +0000395544 00000 n +0000395607 00000 n +0000395670 00000 n +0000395732 00000 n +0000395795 00000 n +0000395858 00000 n +0000395921 00000 n +0000395984 00000 n +0000396047 00000 n +0000396109 00000 n +0000396172 00000 n +0000396235 00000 n +0000396298 00000 n +0000396361 00000 n +0000396424 00000 n +0000396487 00000 n +0000396550 00000 n +0000396613 00000 n +0000396675 00000 n +0000396738 00000 n +0000396801 00000 n +0000396864 00000 n +0000396927 00000 n +0000729972 00000 n +0000404217 00000 n +0000400572 00000 n +0000397101 00000 n +0000400695 00000 n +0000400759 00000 n +0000400821 00000 n +0000400884 00000 n +0000400947 00000 n +0000401010 00000 n +0000401073 00000 n +0000401136 00000 n +0000401199 00000 n +0000401261 00000 n +0000401324 00000 n +0000401387 00000 n +0000401450 00000 n +0000401513 00000 n +0000401576 00000 n +0000401639 00000 n +0000401702 00000 n +0000401765 00000 n +0000401827 00000 n +0000401890 00000 n +0000401953 00000 n +0000402016 00000 n +0000402079 00000 n +0000402142 00000 n +0000402205 00000 n +0000402268 00000 n +0000402331 00000 n +0000402394 00000 n +0000402457 00000 n +0000402520 00000 n +0000402583 00000 n +0000402646 00000 n +0000402709 00000 n +0000402772 00000 n +0000402835 00000 n +0000402898 00000 n +0000402960 00000 n +0000403023 00000 n +0000403086 00000 n +0000403149 00000 n +0000403212 00000 n +0000403275 00000 n +0000403338 00000 n +0000403401 00000 n +0000403464 00000 n +0000403526 00000 n +0000403589 00000 n +0000403652 00000 n +0000403715 00000 n +0000403778 00000 n +0000403841 00000 n +0000403904 00000 n +0000403967 00000 n +0000404030 00000 n +0000404092 00000 n +0000404155 00000 n +0000408734 00000 n +0000406603 00000 n +0000404329 00000 n +0000406726 00000 n +0000406790 00000 n +0000406853 00000 n +0000406916 00000 n +0000406979 00000 n +0000407042 00000 n +0000407105 00000 n +0000407167 00000 n +0000407230 00000 n +0000407293 00000 n +0000407356 00000 n +0000407419 00000 n +0000407482 00000 n +0000407607 00000 n +0000407670 00000 n +0000407733 00000 n +0000407796 00000 n +0000407859 00000 n +0000407984 00000 n +0000408043 00000 n +0000408105 00000 n +0000408168 00000 n +0000408231 00000 n +0000408294 00000 n +0000408419 00000 n +0000408482 00000 n +0000408545 00000 n +0000408608 00000 n +0000408671 00000 n +0000413778 00000 n +0000411390 00000 n +0000408872 00000 n +0000411513 00000 n +0000411639 00000 n +0000411702 00000 n +0000411765 00000 n +0000411828 00000 n +0000411891 00000 n +0000411954 00000 n +0000412016 00000 n +0000412079 00000 n +0000412142 00000 n +0000412205 00000 n +0000412267 00000 n +0000412330 00000 n +0000412393 00000 n +0000412456 00000 n +0000412519 00000 n +0000412582 00000 n +0000412645 00000 n +0000412708 00000 n +0000412771 00000 n +0000412833 00000 n +0000412896 00000 n +0000412959 00000 n +0000413022 00000 n +0000413085 00000 n +0000413148 00000 n +0000413211 00000 n +0000413274 00000 n +0000413337 00000 n +0000413400 00000 n +0000413463 00000 n +0000413526 00000 n +0000413589 00000 n +0000413652 00000 n +0000413715 00000 n +0000418263 00000 n +0000416129 00000 n +0000413903 00000 n +0000416252 00000 n +0000416316 00000 n +0000416379 00000 n +0000416442 00000 n +0000416505 00000 n +0000416568 00000 n +0000416630 00000 n +0000416693 00000 n +0000416755 00000 n +0000416818 00000 n +0000416881 00000 n +0000416944 00000 n +0000417007 00000 n +0000417070 00000 n +0000417133 00000 n +0000417196 00000 n +0000417259 00000 n +0000417322 00000 n +0000417385 00000 n +0000417448 00000 n +0000417510 00000 n +0000417573 00000 n +0000417636 00000 n +0000417699 00000 n +0000417762 00000 n +0000417823 00000 n +0000417886 00000 n +0000417949 00000 n +0000418074 00000 n +0000418137 00000 n +0000418200 00000 n +0000422464 00000 n +0000420519 00000 n +0000418401 00000 n +0000420642 00000 n +0000420768 00000 n +0000420831 00000 n +0000420894 00000 n +0000421019 00000 n +0000421082 00000 n +0000421145 00000 n +0000421208 00000 n +0000421333 00000 n +0000421395 00000 n +0000421457 00000 n +0000421520 00000 n +0000421583 00000 n +0000421646 00000 n +0000421771 00000 n +0000421834 00000 n +0000421897 00000 n +0000421960 00000 n +0000422023 00000 n +0000422086 00000 n +0000422149 00000 n +0000422212 00000 n +0000422275 00000 n +0000422338 00000 n +0000422401 00000 n +0000427600 00000 n +0000426155 00000 n +0000422602 00000 n +0000426278 00000 n +0000426404 00000 n +0000426467 00000 n +0000426530 00000 n +0000426593 00000 n +0000426656 00000 n +0000426719 00000 n +0000426782 00000 n +0000426845 00000 n +0000426908 00000 n +0000426971 00000 n +0000427034 00000 n +0000427097 00000 n +0000427160 00000 n +0000427223 00000 n +0000427286 00000 n +0000427349 00000 n +0000427412 00000 n +0000427537 00000 n +0000728179 00000 n +0000727647 00000 n +0000730097 00000 n +0000430614 00000 n +0000430302 00000 n +0000427795 00000 n +0000430425 00000 n +0000726769 00000 n +0000430551 00000 n +0000432507 00000 n +0000432070 00000 n +0000430768 00000 n +0000432193 00000 n +0000432319 00000 n +0000432444 00000 n +0000434882 00000 n +0000434446 00000 n +0000432619 00000 n +0000434569 00000 n +0000434695 00000 n +0000434820 00000 n +0000436936 00000 n +0000436499 00000 n +0000434994 00000 n +0000436622 00000 n +0000436748 00000 n +0000436873 00000 n +0000439593 00000 n +0000438906 00000 n +0000437048 00000 n +0000439029 00000 n +0000439155 00000 n +0000439280 00000 n +0000439405 00000 n +0000439530 00000 n +0000441949 00000 n +0000441263 00000 n +0000439705 00000 n +0000441386 00000 n +0000441512 00000 n +0000441637 00000 n +0000441762 00000 n +0000441886 00000 n +0000730222 00000 n +0000444347 00000 n +0000444515 00000 n +0000444700 00000 n +0000445338 00000 n +0000444185 00000 n +0000442061 00000 n +0000444901 00000 n +0000445027 00000 n +0000445151 00000 n +0000445275 00000 n +0000447596 00000 n +0000447159 00000 n +0000445477 00000 n +0000447282 00000 n +0000447408 00000 n +0000447533 00000 n +0000449647 00000 n +0000449460 00000 n +0000447708 00000 n +0000449583 00000 n +0000451964 00000 n +0000451403 00000 n +0000449746 00000 n +0000451526 00000 n +0000451652 00000 n +0000451777 00000 n +0000451901 00000 n +0000454182 00000 n +0000453624 00000 n +0000452076 00000 n +0000453747 00000 n +0000453871 00000 n +0000453995 00000 n +0000454120 00000 n +0000456142 00000 n +0000456853 00000 n +0000455998 00000 n +0000454294 00000 n +0000456290 00000 n +0000456416 00000 n +0000456541 00000 n +0000456665 00000 n +0000456790 00000 n +0000730347 00000 n +0000459664 00000 n +0000459352 00000 n +0000456965 00000 n +0000459475 00000 n +0000459601 00000 n +0000462319 00000 n +0000461883 00000 n +0000459776 00000 n +0000462006 00000 n +0000462132 00000 n +0000462257 00000 n +0000464869 00000 n +0000464682 00000 n +0000462445 00000 n +0000464805 00000 n +0000467603 00000 n +0000467416 00000 n +0000464982 00000 n +0000467539 00000 n +0000470857 00000 n +0000470670 00000 n +0000467716 00000 n +0000470793 00000 n +0000473960 00000 n +0000473648 00000 n +0000470970 00000 n +0000473771 00000 n +0000473897 00000 n +0000730472 00000 n +0000476856 00000 n +0000476669 00000 n +0000474086 00000 n +0000476792 00000 n +0000479780 00000 n +0000479593 00000 n +0000476969 00000 n +0000479716 00000 n +0000483221 00000 n +0000482909 00000 n +0000479893 00000 n +0000483032 00000 n +0000483158 00000 n +0000486014 00000 n +0000485827 00000 n +0000483347 00000 n +0000485950 00000 n +0000490045 00000 n +0000489858 00000 n +0000486127 00000 n +0000489981 00000 n +0000493956 00000 n +0000493645 00000 n +0000490158 00000 n +0000493768 00000 n +0000493894 00000 n +0000730597 00000 n +0000497056 00000 n +0000496869 00000 n +0000494082 00000 n +0000496992 00000 n +0000499825 00000 n +0000499638 00000 n +0000497169 00000 n +0000499761 00000 n +0000502890 00000 n +0000502703 00000 n +0000499938 00000 n +0000502826 00000 n +0000506390 00000 n +0000506078 00000 n +0000503003 00000 n +0000506201 00000 n +0000506327 00000 n +0000511613 00000 n +0000511766 00000 n +0000508849 00000 n +0000508287 00000 n +0000506516 00000 n +0000508410 00000 n +0000508536 00000 n +0000508661 00000 n +0000508786 00000 n +0000512228 00000 n +0000511460 00000 n +0000508988 00000 n +0000511914 00000 n +0000512040 00000 n +0000512165 00000 n +0000730722 00000 n +0000520446 00000 n +0000515559 00000 n +0000514997 00000 n +0000512367 00000 n +0000515120 00000 n +0000515246 00000 n +0000515371 00000 n +0000515496 00000 n +0000520509 00000 n +0000520197 00000 n +0000515698 00000 n +0000520320 00000 n +0000524523 00000 n +0000524147 00000 n +0000520650 00000 n +0000524270 00000 n +0000524334 00000 n +0000524397 00000 n +0000524460 00000 n +0000529343 00000 n +0000527389 00000 n +0000524664 00000 n +0000527512 00000 n +0000527576 00000 n +0000527639 00000 n +0000527702 00000 n +0000527765 00000 n +0000527828 00000 n +0000726443 00000 n +0000527892 00000 n +0000527955 00000 n +0000528018 00000 n +0000528081 00000 n +0000528145 00000 n +0000528207 00000 n +0000528270 00000 n +0000528333 00000 n +0000528397 00000 n +0000528460 00000 n +0000528524 00000 n +0000528587 00000 n +0000528651 00000 n +0000528714 00000 n +0000528777 00000 n +0000528840 00000 n +0000528903 00000 n +0000528966 00000 n +0000529029 00000 n +0000529091 00000 n +0000529154 00000 n +0000529217 00000 n +0000529280 00000 n +0000533579 00000 n +0000532636 00000 n +0000529495 00000 n +0000532759 00000 n +0000532823 00000 n +0000532886 00000 n +0000532949 00000 n +0000533012 00000 n +0000533075 00000 n +0000533138 00000 n +0000533201 00000 n +0000533264 00000 n +0000533327 00000 n +0000533390 00000 n +0000533453 00000 n +0000533516 00000 n +0000537965 00000 n +0000537778 00000 n +0000533705 00000 n +0000537901 00000 n +0000730847 00000 n +0000541047 00000 n +0000540548 00000 n +0000538078 00000 n +0000540671 00000 n +0000540797 00000 n +0000540922 00000 n +0000540984 00000 n +0000547853 00000 n +0000544318 00000 n +0000543695 00000 n +0000541173 00000 n +0000543818 00000 n +0000543882 00000 n +0000543943 00000 n +0000544067 00000 n +0000544192 00000 n +0000544255 00000 n +0000548004 00000 n +0000550227 00000 n +0000547700 00000 n +0000544459 00000 n +0000548157 00000 n +0000548221 00000 n +0000548282 00000 n +0000548346 00000 n +0000548410 00000 n +0000548473 00000 n +0000548535 00000 n +0000548598 00000 n +0000548661 00000 n +0000548724 00000 n +0000548787 00000 n +0000548850 00000 n +0000548913 00000 n +0000548976 00000 n +0000549039 00000 n +0000549102 00000 n +0000549165 00000 n +0000549228 00000 n +0000549291 00000 n +0000549354 00000 n +0000549417 00000 n +0000549478 00000 n +0000549541 00000 n +0000549603 00000 n +0000549666 00000 n +0000549728 00000 n +0000549791 00000 n +0000549854 00000 n +0000549917 00000 n +0000549980 00000 n +0000550043 00000 n +0000550106 00000 n +0000550169 00000 n +0000553486 00000 n +0000553049 00000 n +0000550366 00000 n +0000553172 00000 n +0000553298 00000 n +0000553423 00000 n +0000557101 00000 n +0000556914 00000 n +0000553625 00000 n +0000557037 00000 n +0000561069 00000 n +0000560129 00000 n +0000557227 00000 n +0000560252 00000 n +0000560378 00000 n +0000560441 00000 n +0000560504 00000 n +0000560567 00000 n +0000560630 00000 n +0000560693 00000 n +0000560756 00000 n +0000560819 00000 n +0000560881 00000 n +0000561006 00000 n +0000730972 00000 n +0000564111 00000 n +0000563799 00000 n +0000561195 00000 n +0000563922 00000 n +0000564048 00000 n +0000568930 00000 n +0000566982 00000 n +0000564237 00000 n +0000567105 00000 n +0000567231 00000 n +0000567294 00000 n +0000567357 00000 n +0000567420 00000 n +0000567483 00000 n +0000567546 00000 n +0000567609 00000 n +0000567672 00000 n +0000567734 00000 n +0000567797 00000 n +0000567860 00000 n +0000567923 00000 n +0000567986 00000 n +0000568049 00000 n +0000568112 00000 n +0000568174 00000 n +0000568237 00000 n +0000568300 00000 n +0000568363 00000 n +0000568426 00000 n +0000568489 00000 n +0000568552 00000 n +0000568615 00000 n +0000568678 00000 n +0000568741 00000 n +0000568804 00000 n +0000568867 00000 n +0000571258 00000 n +0000570946 00000 n +0000569056 00000 n +0000571069 00000 n +0000571195 00000 n +0000573586 00000 n +0000573024 00000 n +0000571384 00000 n +0000573147 00000 n +0000573273 00000 n +0000573398 00000 n +0000573523 00000 n +0000576709 00000 n +0000576397 00000 n +0000573698 00000 n +0000576520 00000 n +0000576646 00000 n +0000578796 00000 n +0000578361 00000 n +0000576850 00000 n +0000578484 00000 n +0000578610 00000 n +0000731097 00000 n +0000578937 00000 n +0000725542 00000 n +0000578961 00000 n +0000579281 00000 n +0000579365 00000 n +0000579841 00000 n +0000580173 00000 n +0000580541 00000 n +0000580643 00000 n +0000580843 00000 n +0000581687 00000 n +0000582262 00000 n +0000582738 00000 n +0000583087 00000 n +0000583994 00000 n +0000591256 00000 n +0000591506 00000 n +0000598648 00000 n +0000598895 00000 n +0000600857 00000 n +0000601080 00000 n +0000609731 00000 n +0000610003 00000 n +0000618120 00000 n +0000618400 00000 n +0000639122 00000 n +0000639789 00000 n +0000650359 00000 n +0000650692 00000 n +0000662270 00000 n +0000662658 00000 n +0000669693 00000 n +0000670053 00000 n +0000673143 00000 n +0000673389 00000 n +0000689656 00000 n +0000690091 00000 n +0000711425 00000 n +0000712119 00000 n +0000725180 00000 n +0000731177 00000 n +0000731301 00000 n +0000731427 00000 n +0000731553 00000 n +0000731670 00000 n +0000731762 00000 n +0000747762 00000 n +0000747941 00000 n +0000748115 00000 n +0000748284 00000 n +0000748513 00000 n +0000748734 00000 n +0000748960 00000 n +0000749195 00000 n +0000749424 00000 n +0000749660 00000 n +0000749893 00000 n +0000750129 00000 n +0000750355 00000 n +0000750585 00000 n +0000750835 00000 n +0000751084 00000 n +0000751259 00000 n +0000751482 00000 n +0000751662 00000 n +0000751823 00000 n +0000752009 00000 n +0000752185 00000 n +0000752374 00000 n +0000752566 00000 n +0000752775 00000 n +0000752968 00000 n +0000753144 00000 n +0000753357 00000 n +0000753598 00000 n +0000753837 00000 n +0000754078 00000 n +0000754316 00000 n +0000754554 00000 n +0000754795 00000 n +0000755034 00000 n +0000755275 00000 n +0000755514 00000 n +0000755755 00000 n +0000755994 00000 n +0000756235 00000 n +0000756474 00000 n +0000756715 00000 n +0000756953 00000 n +0000757191 00000 n +0000757432 00000 n +0000757667 00000 n +0000757908 00000 n +0000758147 00000 n +0000758388 00000 n +0000758627 00000 n +0000758868 00000 n +0000759107 00000 n +0000759348 00000 n +0000759587 00000 n +0000759828 00000 n +0000760066 00000 n +0000760304 00000 n +0000760545 00000 n +0000760784 00000 n +0000761025 00000 n +0000761264 00000 n +0000761505 00000 n +0000761744 00000 n +0000761985 00000 n +0000762221 00000 n +0000762462 00000 n +0000762702 00000 n +0000762943 00000 n +0000763182 00000 n +0000763421 00000 n +0000763662 00000 n +0000763902 00000 n +0000764143 00000 n +0000764383 00000 n +0000764624 00000 n +0000764864 00000 n +0000765105 00000 n +0000765345 00000 n +0000765586 00000 n +0000765825 00000 n +0000766064 00000 n +0000766305 00000 n +0000766541 00000 n +0000766782 00000 n +0000767022 00000 n +0000767263 00000 n +0000767503 00000 n +0000767744 00000 n +0000767984 00000 n +0000768225 00000 n +0000768465 00000 n +0000768706 00000 n +0000768945 00000 n +0000769184 00000 n +0000769425 00000 n +0000769665 00000 n +0000769906 00000 n +0000770146 00000 n +0000770387 00000 n +0000770627 00000 n +0000770868 00000 n +0000771105 00000 n +0000771346 00000 n +0000771586 00000 n +0000771827 00000 n +0000772066 00000 n +0000772305 00000 n +0000772546 00000 n +0000772786 00000 n +0000773027 00000 n +0000773267 00000 n +0000773508 00000 n +0000773748 00000 n +0000773989 00000 n +0000774229 00000 n +0000774470 00000 n +0000774709 00000 n +0000774948 00000 n +0000775189 00000 n +0000775425 00000 n +0000775666 00000 n +0000775906 00000 n +0000776147 00000 n +0000776387 00000 n +0000776628 00000 n +0000776868 00000 n +0000777109 00000 n +0000777349 00000 n +0000777590 00000 n +0000777829 00000 n +0000778068 00000 n +0000778309 00000 n +0000778549 00000 n +0000778790 00000 n +0000779030 00000 n +0000779271 00000 n +0000779511 00000 n +0000779752 00000 n +0000779989 00000 n +0000780230 00000 n +0000780470 00000 n +0000780705 00000 n +0000780936 00000 n +0000781169 00000 n +0000781400 00000 n +0000781633 00000 n +0000781873 00000 n +0000782124 00000 n +0000782381 00000 n +0000782633 00000 n +0000782882 00000 n +0000783131 00000 n +0000783380 00000 n +0000783627 00000 n +0000783876 00000 n +0000784123 00000 n +0000784372 00000 n +0000784619 00000 n +0000784868 00000 n +0000785115 00000 n +0000785364 00000 n +0000785613 00000 n +0000785860 00000 n +0000786109 00000 n +0000786358 00000 n +0000786607 00000 n +0000786854 00000 n +0000787103 00000 n +0000787350 00000 n +0000787599 00000 n +0000787848 00000 n +0000788097 00000 n +0000788344 00000 n +0000788593 00000 n +0000788842 00000 n +0000789088 00000 n +0000789337 00000 n +0000789586 00000 n +0000789828 00000 n +0000790077 00000 n +0000790326 00000 n +0000790572 00000 n +0000790821 00000 n +0000791070 00000 n +0000791317 00000 n +0000791566 00000 n +0000791815 00000 n +0000792061 00000 n +0000792310 00000 n +0000792559 00000 n +0000792808 00000 n +0000793057 00000 n +0000793304 00000 n +0000793553 00000 n +0000793802 00000 n +0000794049 00000 n +0000794298 00000 n +0000794545 00000 n +0000794794 00000 n +0000795041 00000 n +0000795290 00000 n +0000795539 00000 n +0000795788 00000 n +0000796034 00000 n +0000796283 00000 n +0000796530 00000 n +0000796779 00000 n +0000797019 00000 n +0000797268 00000 n +0000797517 00000 n +0000797766 00000 n +0000798015 00000 n +0000798264 00000 n +0000798513 00000 n +0000798761 00000 n +0000799010 00000 n +0000799259 00000 n +0000799508 00000 n +0000799756 00000 n +0000800005 00000 n +0000800254 00000 n +0000800501 00000 n +0000800750 00000 n +0000800999 00000 n +0000801253 00000 n +0000801510 00000 n +0000801765 00000 n +0000802020 00000 n +0000802271 00000 n +0000802518 00000 n +0000802765 00000 n +0000803014 00000 n +0000803263 00000 n +0000803512 00000 n +0000803759 00000 n +0000804008 00000 n +0000804255 00000 n +0000804504 00000 n +0000804752 00000 n +0000805001 00000 n +0000805250 00000 n +0000805500 00000 n +0000805757 00000 n +0000806013 00000 n +0000806270 00000 n +0000806526 00000 n +0000806783 00000 n +0000807034 00000 n +0000807283 00000 n +0000807532 00000 n +0000807781 00000 n +0000808029 00000 n +0000808278 00000 n +0000808531 00000 n +0000808780 00000 n +0000809029 00000 n +0000809273 00000 n +0000809522 00000 n +0000809771 00000 n +0000810018 00000 n +0000810267 00000 n +0000810516 00000 n +0000810765 00000 n +0000811018 00000 n +0000811273 00000 n +0000811522 00000 n +0000811770 00000 n +0000812019 00000 n +0000812268 00000 n +0000812515 00000 n +0000812765 00000 n +0000813022 00000 n +0000813275 00000 n +0000813524 00000 n +0000813773 00000 n +0000814022 00000 n +0000814271 00000 n +0000814520 00000 n +0000814767 00000 n +0000815016 00000 n +0000815265 00000 n +0000815514 00000 n +0000815763 00000 n +0000816010 00000 n +0000816257 00000 n +0000816506 00000 n +0000816755 00000 n +0000817001 00000 n +0000817256 00000 n +0000817511 00000 n +0000817765 00000 n +0000818014 00000 n +0000818271 00000 n +0000818527 00000 n +0000818784 00000 n +0000819033 00000 n +0000819282 00000 n +0000819531 00000 n +0000819779 00000 n +0000820028 00000 n +0000820277 00000 n +0000820528 00000 n +0000820785 00000 n +0000821041 00000 n +0000821296 00000 n +0000821545 00000 n +0000821791 00000 n +0000822040 00000 n +0000822289 00000 n +0000822538 00000 n +0000822787 00000 n +0000823036 00000 n +0000823283 00000 n +0000823537 00000 n +0000823794 00000 n +0000824049 00000 n +0000824304 00000 n +0000824561 00000 n +0000824815 00000 n +0000825064 00000 n +0000825313 00000 n +0000825556 00000 n +0000825805 00000 n +0000826054 00000 n +0000826301 00000 n +0000826550 00000 n +0000826798 00000 n +0000827051 00000 n +0000827308 00000 n +0000827560 00000 n +0000827809 00000 n +0000828058 00000 n +0000828315 00000 n +0000828571 00000 n +0000828824 00000 n +0000829075 00000 n +0000829332 00000 n +0000829586 00000 n +0000829835 00000 n +0000830082 00000 n +0000830331 00000 n +0000830579 00000 n +0000830828 00000 n +0000831075 00000 n +0000831324 00000 n +0000831573 00000 n +0000831822 00000 n +0000832071 00000 n +0000832316 00000 n +0000832565 00000 n +0000832812 00000 n +0000833061 00000 n +0000833310 00000 n +0000833559 00000 n +0000833808 00000 n +0000834056 00000 n +0000834305 00000 n +0000834554 00000 n +0000834803 00000 n +0000835049 00000 n +0000835298 00000 n +0000835543 00000 n +0000835792 00000 n +0000836041 00000 n +0000836290 00000 n +0000836536 00000 n +0000836785 00000 n +0000837034 00000 n +0000837281 00000 n +0000837530 00000 n +0000837779 00000 n +0000838028 00000 n +0000838275 00000 n +0000838524 00000 n +0000838773 00000 n +0000839022 00000 n +0000839271 00000 n +0000839519 00000 n +0000839768 00000 n +0000840017 00000 n +0000840265 00000 n +0000840514 00000 n +0000840763 00000 n +0000841012 00000 n +0000841269 00000 n +0000841525 00000 n +0000841780 00000 n +0000842029 00000 n +0000842278 00000 n +0000842535 00000 n +0000842784 00000 n +0000843032 00000 n +0000843289 00000 n +0000843545 00000 n +0000843796 00000 n +0000844045 00000 n +0000844296 00000 n +0000844553 00000 n +0000844809 00000 n +0000845066 00000 n +0000845322 00000 n +0000845574 00000 n +0000845823 00000 n +0000846071 00000 n +0000846320 00000 n +0000846569 00000 n +0000846816 00000 n +0000847065 00000 n +0000847314 00000 n +0000847562 00000 n +0000847811 00000 n +0000848060 00000 n +0000848304 00000 n +0000848553 00000 n +0000848802 00000 n +0000849056 00000 n +0000849313 00000 n +0000849564 00000 n +0000849813 00000 n +0000850062 00000 n +0000850311 00000 n +0000850562 00000 n +0000850811 00000 n +0000851059 00000 n +0000851308 00000 n +0000851557 00000 n +0000851806 00000 n +0000852050 00000 n +0000852291 00000 n +0000852530 00000 n +0000852771 00000 n +0000853012 00000 n +0000853251 00000 n +0000853492 00000 n +0000853733 00000 n +0000853912 00000 n +0000854097 00000 n +0000854280 00000 n +0000854463 00000 n +0000854648 00000 n +0000854827 00000 n +0000855002 00000 n +0000855179 00000 n +0000855354 00000 n +0000855531 00000 n +0000855705 00000 n +0000855880 00000 n +0000856057 00000 n +0000856233 00000 n +0000856410 00000 n +0000856586 00000 n +0000856763 00000 n +0000856939 00000 n +0000857116 00000 n +0000857292 00000 n +0000857469 00000 n +0000857638 00000 n +0000857855 00000 n +0000858099 00000 n +0000858343 00000 n +0000858612 00000 n +0000858860 00000 n +0000859094 00000 n +0000859338 00000 n +0000859533 00000 n +0000859726 00000 n +0000859921 00000 n +0000860114 00000 n +0000860306 00000 n +0000860501 00000 n +0000860722 00000 n +0000860963 00000 n +0000861204 00000 n +0000861439 00000 n +0000861674 00000 n +0000861911 00000 n +0000862152 00000 n +0000862387 00000 n +0000862622 00000 n +0000862857 00000 n +0000863092 00000 n +0000863327 00000 n +0000863562 00000 n +0000863797 00000 n +0000864025 00000 n +0000864251 00000 n +0000864472 00000 n +0000864698 00000 n +0000864925 00000 n +0000865154 00000 n +0000865381 00000 n +0000865608 00000 n +0000865893 00000 n +0000866098 00000 n +0000866216 00000 n +0000866346 00000 n +0000866468 00000 n +0000866580 00000 n +0000866705 00000 n +0000866836 00000 n +0000866968 00000 n +0000867100 00000 n +0000867232 00000 n +0000867363 00000 n +0000867495 00000 n +0000867627 00000 n +0000867759 00000 n +0000867890 00000 n +0000868022 00000 n +0000868154 00000 n +0000868286 00000 n +0000868418 00000 n +0000868550 00000 n +0000868682 00000 n +0000868814 00000 n +0000868946 00000 n +0000869078 00000 n +0000869209 00000 n +0000869341 00000 n +0000869475 00000 n +0000869609 00000 n +0000869743 00000 n +0000869877 00000 n +0000870010 00000 n +0000870144 00000 n +0000870278 00000 n +0000870412 00000 n +0000870546 00000 n +0000870680 00000 n +0000870814 00000 n +0000870948 00000 n +0000871082 00000 n +0000871216 00000 n +0000871350 00000 n +0000871485 00000 n +0000871620 00000 n +0000871755 00000 n +0000871889 00000 n +0000872024 00000 n +0000872159 00000 n +0000872293 00000 n +0000872428 00000 n +0000872564 00000 n +0000872698 00000 n +0000872831 00000 n +0000872965 00000 n +0000873099 00000 n +0000873233 00000 n +0000873367 00000 n +0000873502 00000 n +0000873637 00000 n +0000873771 00000 n +0000873905 00000 n +0000874039 00000 n +0000874173 00000 n +0000874307 00000 n +0000874441 00000 n +0000874576 00000 n +0000874711 00000 n +0000874846 00000 n +0000874981 00000 n +0000875115 00000 n +0000875249 00000 n +0000875383 00000 n +0000875518 00000 n +0000875651 00000 n +0000875775 00000 n +0000875892 00000 n +0000876007 00000 n +0000876123 00000 n +0000876248 00000 n +0000876378 00000 n +0000876504 00000 n +0000876636 00000 n +0000876767 00000 n +0000876911 00000 n +0000877017 00000 n +0000877143 00000 n +0000877275 00000 n +0000877407 00000 n +0000877538 00000 n +0000877670 00000 n +0000877804 00000 n +0000877938 00000 n +0000878074 00000 n +0000878209 00000 n +0000878343 00000 n +0000878478 00000 n +0000878612 00000 n +0000878738 00000 n +0000878865 00000 n +0000878992 00000 n +0000879125 00000 n +0000879231 00000 n +0000879340 00000 n +0000879380 00000 n +0000879552 00000 n +trailer +<< /Size 4737 +/Root 4735 0 R +/Info 4736 0 R +/ID [ ] >> +startxref +879912 +%%EOF diff --git a/doc/help/xslt/RELEASE-NOTES.txt b/doc/help/xslt/RELEASE-NOTES.txt new file mode 100644 index 00000000..65e1d862 --- /dev/null +++ b/doc/help/xslt/RELEASE-NOTES.txt @@ -0,0 +1,8575 @@ +Release Notes for the DocBook XSL Stylesheets + +$Revision: 8934 $ $Date: 2010-11-01 13:03:14 -0700 (Mon, 01 Nov 2010) $ + +2010-11-01 + +This release-notes document is available in the following formats: HTML, PDF, +plain text; it provides a per-release list of enhancements and changes to the +stylesheets’ public APIs (user-configurable parameters) and excludes +descriptions of most bug fixes. For a complete list of all changes (including +all bug fixes) that have been made since the previous release, see the separate +NEWS (plain text) or NEWS.html files. Also available: An online hyperlinked +change history (warning: big file) of all changes made over the entire history +of the codebase. + +As with all DocBook Project “dot one plus” releases, this release aspires to be +stable (in contrast to dot-zero releases, which are experimental). + +━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + +Table of Contents + +Release Notes: 1.76.1 + + FO + HTML + Params + +Release Notes: 1.76.0 + + Gentext + Common + FO + HTML + Manpages + Epub + Eclipse + Params + XSL-Xalan + +Release Notes: 1.75.2 + + Gentext + Common + FO + HTML + Manpages + Epub + Profiling + XSL-Saxon + XSL-Xalan + +Release Notes: 1.75.1 + + FO + HTML + Epub + Params + +Release Notes: 1.75.0 + + Gentext + Common + FO + HTML + Manpages + ePub + HTMLHelp + Params + Highlighting + XSL-Saxon + XSL-Xalan + +Release Notes: 1.74.3 +Release Notes: 1.74.2 +Release Notes: 1.74.1 + + Gentext + FO + HTML + Manpages + ePub + Roundtrip + Params + Highlighting + +Release Notes: 1.74.0 + + Gentext + Common + FO + HTML + Manpages + Epub + HTMLHelp + Eclipse + JavaHelp + Roundtrip + Slides + Website + Params + Profiling + Tools + Extensions + XSL-Saxon + XSL-Xalan + XSL-libxslt + +Release Notes: 1.73.2 +Release: 1.73.1 + + Gentext + FO + HTML + Manpages + HTMLHelp + Eclipse + JavaHelp + Roundtrip + Params + +Release: 1.73.0 + + Gentext + Common + FO + HTML + Manpages + Eclipse + JavaHelp + Roundtrip + Params + Highlighting + Profiling + Lib + Tools + XSL-Saxon + XSL-Xalan + +Release: 1.72.0 + + Common + FO + HTML + Manpages + Params + Template + Roundtrip + +Release: 1.71.1 + + Common + FO + HTML + Highlighting + Manpages + Params + Profiling + +Release: 1.71.0 + + Common + Extensions + FO + HTML + Highlighting + Manpages + Params + Tools + +Release: 1.70.1 + + FO + HTML + HTMLHelp + Params + +Release: 1.70.0 + + Common + Extensions + FO + HTML + Manpages + Params + Profiling + Tools + WordML + +Release 1.69.1 +Release 1.69.0 + + Common + FO + Help + HTML + man + +Release 1.68.1 +Release 1.68.0 +Release 1.67.2 +Release 1.67.1 +Release 1.67.0 +Release 1.66.1 +Release 1.65.0 +Release 1.64.1 +Release 1.61.0 +Release 1.60.1 +Release 1.59.2 +Release 1.59.1 +Release 1.58.0 +Release 1.57.0 +Release 1.56.0 +Older releases +About dot-zero releases + +Release Notes: 1.76.1 + +The following is a list of changes that have been made since the 1.76.0 +release. + +FO + +The following changes have been made to the fo code since the 1.76.0 release. + + ● Robert Stayton: docbook.xsl; xref.xsl; fop1.xsl + + Apply patch to support named destination in fop1.xsl, per Sourceforge + bug report #3029845. + +HTML + +The following changes have been made to the html code since the 1.76.0 release. + + ● Keith Fahlgren: highlight.xsl + + Implementing handling for and : transform to and for XHTML outputs and do not use in the highliting output (per Mauritz Jeanson) + +Params + +The following changes have been made to the params code since the 1.76.0 +release. + + ● Robert Stayton: draft.mode.xml + + Change default for draft.mode to 'no'. + +Release Notes: 1.76.0 + +This release includes important bug fixes and adds the following significant +feature changes: + +Webhelp + + A new browser-based, cross-platform help format with full-text search and + other features typically found in help systems. See webhelp/docs/content/ + ch01.html for more information and a demo. + +Gentext + + Many updates and additions to translation/locales thanks to Red Hat, the + Fedora Project, and other contributors. + +Common + + Faster localization support, as language files are loaded on demand. + +FO + + Support for SVG content in imagedata added. + +HTML + + Output improved when using 'make.clean.html' and a stock CSS file is now + provided. + +EPUB + + A number of improvements to NCX, cover and image selection, and XHTML 1.1 + element choices + +The following is a list of changes that have been made since the 1.75.2 +release. + +Gentext + +The following changes have been made to the gentext code since the 1.75.2 +release. + + ● rlandmann: locale/fa.xml + + Update to Persian translation from the Fedora Project + + + ● rlandmann: locale/nds.xml + + Locale for Low German + + + ● Mauritz Jeanson: locale/ka.xml; Makefile + + Added support for Georgian based on patch #2917147. + + + ● rlandmann: locale/nl.xml; locale/ja.xml + + Updated translations from Red Hat and the Fedora Project + + + ● rlandmann: locale/bs.xml; locale/ru.xml; locale/hr.xml + + Updated locales from Red Hat and the Fedora Project + + + ● rlandmann: locale/pt.xml; locale/cs.xml; locale/es.xml; locale/bg.xml; + locale/nl.xml; loca⋯ + + Updated translations from Red Hat and the Fedora Project + + + ● rlandmann: locale/as.xml; locale/bn_IN.xml; locale/ast.xml; locale/ml.xml; + locale/te.xml; ⋯ + + New translations from Red Hat and the Fedora Project + + + ● rlandmann: locale/pt.xml; locale/ca.xml; locale/da.xml; locale/sr.xml; + locale/ru.xml; loca⋯ + + Updated translations from Red Hat and the Fedora Project + + +Common + +The following changes have been made to the common code since the 1.75.2 +release. + + ● Mauritz Jeanson: common.xsl + + Fixed bug in output-orderedlist-starting-number template (@startingnumber did not work for FO). + + + ● Mauritz Jeanson: gentext.xsl + + Added fix to catch ID also of descendants of listitem. Closes bug #2955077. + + + ● Jirka Kosek: l10n.xsl + + Stripped down, faster version of gentext.template is used when there is no localization customization. + + + ● Mauritz Jeanson: stripns.xsl + + Added fix that preserves link/@role (makes links in the reference documentation + with @role="tcg" work). + + + ● Mauritz Jeanson: l10n.xsl + + Fixed bugs related to manpages and L10n. + + + ● Jirka Kosek: entities.ent; autoidx-kosek.xsl + + Upgraded to use common entities. Fixed bug when some code used @sortas and some not for grouping/sorting of indexterms. + + + ● Jirka Kosek: l10n.xsl; l10n.dtd; l10n.xml; autoidx-kosek.xsl + + Refactored localization support. Language files are loaded on demand. Speedup is about 30%. + + + ● Jirka Kosek: l10n.xsl + + Added xsl:keys for improved performance of localization texts look up. Performance gain around 15%. + + + ● Mauritz Jeanson: titles.xsl + + Fixed bug #2912677 (error with xref in title). + + + ● Robert Stayton: olink.xsl + + Fix bug in xrefstyle "title" handling introduced with + the 'insert.targetdb.data' template. + + + ● Robert Stayton: gentext.xsl + + Fix bug in xref to equation without title to use context="xref-number" instead + of "xref-number-and-title". + + + ● Robert Stayton: labels.xsl + + Number all equations in one sequence, with or without title. + + + ● Robert Stayton: entities.ent + + Fix bug #2896909 where duplicate @sortas on indexterms caused + some indexterms to drop out of index. + + + ● Robert Stayton: stripns.xsl + + Expand the "Stripping namespace ..." message to advise users to + use the namespaced stylesheets. + + + ● Robert Stayton: stripns.xsl + + need a local version of $exsl.node.set.available variable because + this module imported many places. + + + ● Mauritz Jeanson: olink.xsl + + Added /node() to the select expression that is used to compute the title text + so that no elements end up in the output. Closes bug #2830119. + + +FO + +The following changes have been made to the fo code since the 1.75.2 release. + + ● Robert Stayton: table.xsl + + Fix bug 2979166 able - Attribute @rowheader not working + + + ● Mauritz Jeanson: inline.xsl + + Improved glossterm auto-linking by using keys. The old code was inefficient when processing documents + with many inline glossterms. + + + ● Robert Stayton: titlepage.xsl + + Fix bug 2805530 author/orgname not appearing on title page. + + + ● Mauritz Jeanson: graphics.xsl + + Added support for SVG content in imagedata (inspired by patch #2909154). + + + ● Mauritz Jeanson: table.xsl + + Removed superfluous test used when computing column-width. Closes bug #3000898. + + + ● Mauritz Jeanson: inline.xsl + + Added missing . Closes bug #2998567. + + + ● Mauritz Jeanson: lists.xsl + + Added table-layout="fixed" on segmentedlist table (required by XSL spec when proportional-column-width() is used). + + + ● Jirka Kosek: autoidx-kosek.xsl + + Upgraded to use common entities. Fixed bug when some code used @sortas and some not for grouping/sorting of indexterms. + + + ● Jirka Kosek: index.xsl + + Upgraded to use common entities. Fixed bug when some code used @sortas and some not for grouping/sorting of indexterms. + + + ● Robert Stayton: xref.xsl + + Fix bug in olink template when an olink has an id. + Add warning message with id value when trying to link + to an element that has no generated text. + + + ● Mauritz Jeanson: refentry.xsl + + Fixed bug #2930968 (indexterm in refmeta not handled correctly). + + + ● Robert Stayton: block.xsl + + fix bug 2949567 title in revhistory breaks FO transform. + + + ● Robert Stayton: glossary.xsl + + Output id attributes on glossdiv blocks so they can be added to + xrefs or TOC. + + + ● Jirka Kosek: xref.xsl + + Enabled hyphenation of URLs when ulink content is the same as link target + + + ● Robert Stayton: table.xsl + + Apply patch to turn off row recursion if no @morerows attributes present. + This will enable very large tables without row spanning to + process without running into recursion limits. + + + ● Robert Stayton: formal.xsl + + Format equation without title using table layout with equation number + next to the equation. + + + ● Robert Stayton: param.xweb; param.ent + + Add equation.number.properties. + + +HTML + +The following changes have been made to the html code since the 1.75.2 release. + + ● Mauritz Jeanson: block.xsl + + Modified acknowledgements template to avoid invalid output (